From 9c3ec76e415cd709939da617e020af13e0d98008 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期三, 18 三月 2026 11:15:50 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 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 3d60cd3..89cf71f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -870,25 +870,29 @@
                 if (crnProtocol.getLastIo().equals("I")) {
                     if (basCrnp.getInEnable().equals("Y")) {
                         log.info("杩涘叆鍏ュ簱绋嬪簭,crn:"+crn.getId());
-                        this.crnStnToLoc(crn, crnProtocol); //  鍏ュ簱
-                        crnProtocol.setLastIo("O");
-
+                        if (this.crnStnToLoc(crn, crnProtocol)){
+                            crnProtocol.setLastIo("O");
+                        }
                     } else if (basCrnp.getOutEnable().equals("Y")) {
                         log.info("杩涘叆鍑哄簱绋嬪簭,crn:"+crn.getId());
-                        this.locToCrnStn(crn, crnProtocol); //  鍑哄簱
-                        crnProtocol.setLastIo("I");
+                        if (this.locToCrnStn(crn, crnProtocol)){
+                            crnProtocol.setLastIo("I");
+                        }
+
                     }
                 }
                 // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
                 else if (crnProtocol.getLastIo().equals("O")) {
                     if (basCrnp.getOutEnable().equals("Y")) {
                         log.info("杩涘叆鍑哄簱绋嬪簭,crn:"+crn.getId());
-                        this.locToCrnStn(crn, crnProtocol); //  鍑哄簱
-                        crnProtocol.setLastIo("I");
+                        if (this.locToCrnStn(crn, crnProtocol)){
+                            crnProtocol.setLastIo("I");
+                        }
                     } else if (basCrnp.getInEnable().equals("Y")) {
                         log.info("杩涘叆鍏ュ簱绋嬪簭,crn:"+crn.getId());
-                        this.crnStnToLoc(crn, crnProtocol); //  鍏ュ簱
-                        crnProtocol.setLastIo("O");
+                        if (this.crnStnToLoc(crn, crnProtocol)){
+                            crnProtocol.setLastIo("O");
+                        }
                     }
                 }
             }
@@ -959,7 +963,7 @@
     /**
      * 鍏ュ簱  ===>>  鍫嗗灈鏈虹珯鍒板簱浣�
      */
-    public synchronized void crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol) {
+    public synchronized boolean crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol) {
         for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
             boolean flag = false;
             // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅
@@ -1002,12 +1006,12 @@
 
             // 鍫嗗灈鏈烘帶鍒惰繃婊�
             if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
-                continue;
+                return false;
             }
 
             // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
             if (wrkMastMapper.selectWorking(slave.getId()) != null) {
-                continue;
+                return false;
             }
 
             // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
@@ -1088,13 +1092,14 @@
                 }
             }
         }
+        return true;
     }
 
     /**
      * 鍑哄簱  ===>>  搴撲綅鍒板爢鍨涙満绔�
      * 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴�
      */
-    public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) {
+    public synchronized boolean locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol) {
         for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
             // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
 //            WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo());
@@ -1144,7 +1149,7 @@
                     // 鍫嗗灈鏈烘帶鍒惰繃婊�
                     if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
 //                        continue;
-                        break;
+                      return false;
                     }
 
                     // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
@@ -1195,7 +1200,7 @@
 
                     // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
                     if (wrkMastMapper.selectWorking(slave.getId()) != null) {
-                        break;
+                        return false;
 //                        return;
                     }
 
@@ -1228,6 +1233,7 @@
                 }
             }
         }
+        return true;
     }
 
 //    /**

--
Gitblit v1.9.1