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