From 511d4ceb774ce6ccc1827545a205ba55a0ff26c0 Mon Sep 17 00:00:00 2001
From: czkh <czkh@163.com>
Date: 星期一, 01 十二月 2025 09:06:14 +0800
Subject: [PATCH] #1
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 41 insertions(+), 13 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 74ec644..7a828be 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -60,7 +60,6 @@
*/
@Slf4j
@Service("mainService")
-@Transactional
public class MainServiceImpl {
public static final long COMMAND_TIMEOUT = 5 * 1000;
@@ -864,7 +863,14 @@
// }
// 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
- if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getModeType() == CrnModeType.AUTO && crnProtocol.getForkPos() == 0 && crnProtocol.getTaskNo() == 0 && crnProtocol.getTaskNoTwo() == 0) {
+ if (
+ crnProtocol.getStatusType() == CrnStatusType.IDLE
+ && crnProtocol.getModeType() == CrnModeType.AUTO
+ && crnProtocol.getForkPos() == 0
+ && crnProtocol.getTaskNo() == 0
+ && crnProtocol.getStatusTypeTwo() == CrnStatusType.IDLE
+ && crnProtocol.getForkPosTwo() == 0
+ && crnProtocol.getTaskNoTwo() == 0) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽爢鍨涙満鍏ュ嚭搴撲綔涓氫笅鍙�");
if (crnProtocol.getLoaded() == 0 && crnProtocol.getLoadedTwo() == 0) {
//News.error("宸ヤ綅1鏃犵墿锛屽伐浣�2鏃犵墿");
@@ -1206,6 +1212,15 @@
if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("P")) {
News.error("" + mark + " - 2" + " - 2" + " - 鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts());
continue;
+ }
+ //鑾峰彇娴呭簱浣嶄俊鎭�
+ if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
+ String shallowLoc1 = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
+ LocMast locMast = locMastService.selectById(shallowLoc1);
+ if (shallowLoc1 != null && (locMast.getLocSts().equals("P") || locMast.getLocSts().equals("Q") || locMast.getLocSts().equals("R") || locMast.getLocSts().equals("S"))) {
+ News.error(wrkMast.getSourceLocNo() + "瀵瑰簲鐨勬祬搴撲綅涓篜/Q/R/S锛屾殏鏃朵笉鍑烘繁搴撲綅");
+ continue;
+ }
}
// 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
@@ -2006,11 +2021,6 @@
return;
}
- // 鍫嗗灈鏈烘帶鍒惰繃婊�
- if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
- return;
- }
-
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
if (wrkMastMapper.selectWorking(slave.getId()) != null) {
return;
@@ -2042,7 +2052,20 @@
}
}
-
+ if (crnStation == 0) {
+ return;
+ }else if(crnStation == 1) {
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+ return;
+ }
+ }else if(crnStation == 2) {
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusTypeTwo().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNoTwo() != 0) {
+ return;
+ }
+ }else {
+ }
News.warnNoLog("" + mark + " - 3" + " - 3" + " - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}", wrkMast.getWrkNo().shortValue(), sourceSta.getRow1().shortValue(), sourceSta.getBay1().shortValue(), sourceSta.getLev1().shortValue(), sta.getRow1().shortValue(), sta.getBay1().shortValue(), sta.getLev1().shortValue());
@@ -2093,16 +2116,21 @@
}
// 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
- if ((System.currentTimeMillis() - crnProtocol.getLastCommandTime()) < 1000 * 60) {
+ if (crnProtocol.getTaskNo() == 9999) {
+ crnThread.setResetFlag(true);
+ continue;
+ }
+
+ if ((System.currentTimeMillis() - crnProtocol.getLastCommandTime()) < 1000 * 6) {
News.error("" + mark + " - 0" + " - 鍫嗗灈鏈烘寚浠ょ瓑寰呯‘璁ゅ畬鎴愯繃蹇紓甯革紝浠诲姟鍙�:" + crnProtocol.getTaskNo());
continue;
}
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔锛屼换鍔″彿:" + crnProtocol.getTaskNo());
- if (crnProtocol.getTaskNo() == 9999) {
- crnThread.setResetFlag(true);
- continue;
- }
+// if (crnProtocol.getTaskNo() == 9999) {
+// crnThread.setResetFlag(true);
+// continue;
+// }
// 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
if (wrkMast == null) {
--
Gitblit v1.9.1