From 5320ce66cf18a6646de2b85b18cf4b7085ede98a Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期一, 10 十一月 2025 15:38:51 +0800
Subject: [PATCH] #1

---
 src/main/java/com/zy/asrs/service/WrkMastService.java          |    2 ++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java    |   39 ++++++++++++++++++++++-----------------
 src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java |    5 +++++
 src/main/java/com/zy/asrs/mapper/WrkMastMapper.java            |    7 +++++--
 4 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 3c4accb..ff288c2 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -114,9 +114,12 @@
 
     WrkMast selectByWrkNo(@Param("wrkNo")Integer wrkNo);
 
-    @Select("select count(*) from asr_wrk_mast where io_type = 1 and io_type = 10 and io_type = 53 and io_type = 54 and io_type = 57;")
+    @Select("select count(*) from asr_wrk_mast where io_type = 1 OR io_type = 10 OR io_type = 53 OR io_type = 54 OR io_type = 57;")
     Integer selectIn();
 
-    @Select("select count(*) from asr_wrk_mast where io_type = 101 and io_type = 103 and io_type = 104 and io_type = 107 and io_type = 110;")
+    @Select("select count(*) from asr_wrk_mast where io_type = 101 OR io_type = 103 OR io_type = 104 OR io_type = 107 OR io_type = 110;")
     Integer selectOut();
+
+    @Select("select count(*) from asr_wrk_mast where wrk_sts = 11 OR wrk_sts = 12;")
+    Integer selectOutCount();
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkMastService.java b/src/main/java/com/zy/asrs/service/WrkMastService.java
index dffd150..8eb262f 100644
--- a/src/main/java/com/zy/asrs/service/WrkMastService.java
+++ b/src/main/java/com/zy/asrs/service/WrkMastService.java
@@ -20,4 +20,6 @@
     Integer selectIn();
 
     Integer selectOut();
+
+    Integer selectOutCount();
 }
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 10a268e..877f51e 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -139,6 +139,7 @@
                 // 灏哄妫�娴嬪紓甯�
                 boolean back = false;
                 String errMsg = "";
+                Integer outCount=wrkMastService.selectOutCount();
                 if (staProtocol.isFrontErr()) {
                     errMsg = "鍓嶈秴闄�";
                     back = true;
@@ -165,6 +166,10 @@
                 }
                 if (!back && staProtocol.isBarcodeErr()) {
                     errMsg = "鎵爜澶辫触";
+                    back = true;
+                }
+                if (!back && outCount > 0) {
+                    errMsg = "褰撳墠涓哄嚭搴撴椂娈�,鍏ュ簱鏆傚仠";
                     back = true;
                 }
 
@@ -1179,28 +1184,28 @@
                 } else {
                     staProtocol = staProtocol.clone();
                 }
-                StaProtocol staProtocol1 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 1):devpThread.getStation().get(crnStn.getStaNo() - 1);
+//                StaProtocol staProtocol1 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 1):devpThread.getStation().get(crnStn.getStaNo() - 1);
 //                StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() - 1);
 //                StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() + 1);
-                if (staProtocol1 == null) {
-                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
-                    break;
-                } else {
-                    staProtocol1 = staProtocol1.clone();
-                }
-                StaProtocol staProtocol2 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 2):devpThread.getStation().get(crnStn.getStaNo());
+//                if (staProtocol1 == null) {
+//                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
+//                    break;
+//                } else {
+//                    staProtocol1 = staProtocol1.clone();
+//                }
+//                StaProtocol staProtocol2 = staProtocol.getSiteId()==101?devpThread.getStation().get(crnStn.getStaNo() + 2):devpThread.getStation().get(crnStn.getStaNo());
 //                StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() - 2);
 //                StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() + 2);
-                if (staProtocol2 == null) {
-                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
-                    break;
-                } else {
-                    staProtocol2 = staProtocol2.clone();
-                }
+//                if (staProtocol2 == null) {
+//                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
+//                    break;
+//                } else {
+//                    staProtocol2 = staProtocol2.clone();
+//                }
                 //鍑哄叆鍙h緭閫佺嚎鍙厑璁稿瓨鍦ㄤ竴涓墭鐩�
-                if(staProtocol.isLoading() || staProtocol1.isLoading() || staProtocol2.isLoading() || staProtocol.getWorkNo() != 0 || staProtocol1.getWorkNo() != 0 || staProtocol2.getWorkNo() != 0) {
-                    break;
-                }
+//                if(staProtocol.isLoading() || staProtocol1.isLoading() || staProtocol2.isLoading() || staProtocol.getWorkNo() != 0 || staProtocol1.getWorkNo() != 0 || staProtocol2.getWorkNo() != 0) {
+//                    break;
+//                }
 
 //            // 鍏ュ嚭搴撴ā寮忓垽鏂�
 //            if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
index 1cf5fd1..ee8cc15 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkMastServiceImpl.java
@@ -46,4 +46,9 @@
     public Integer selectOut() {
         return this.baseMapper.selectOut();
     }
+
+    @Override
+    public Integer selectOutCount() {
+        return this.baseMapper.selectOutCount();
+    }
 }

--
Gitblit v1.9.1