From a19b1025890eb0f71b44a9d1bb948cb084d4106a Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 12 十二月 2025 16:50:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java                  |   12 ++++++++++++
 src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java |   20 --------------------
 src/main/java/com/zy/common/service/CommonService.java      |   15 ++++++++++++++-
 3 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 185f27f..2a27fa0 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -13,10 +13,12 @@
 import com.zy.asrs.service.BasCrnpService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.common.utils.RedisUtil;
+import com.zy.core.News;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.CrnModeType;
 import com.zy.core.enums.RedisKeyType;
 import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.WrkIoType;
 import com.zy.core.model.protocol.CrnProtocol;
 import com.zy.core.thread.CrnThread;
 
@@ -189,6 +191,16 @@
                 if (crnProtocol.getMode() != CrnModeType.AUTO.id) {
                     continue;
                 }
+
+                List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                        .eq("crn_no", basCrnp.getCrnNo())
+                        .eq("io_type", WrkIoType.IN.id)
+                );
+                // 妫�鏌ユ槸鍚﹁秴杩囨渶澶у叆搴撲换鍔℃暟
+                if(inWrkMasts.size() >= basCrnp.getMaxInTask()){
+                    News.info("鍫嗗灈鏈�:{} 宸茶揪鏈�澶у叆搴撲换鍔℃暟锛屽綋鍓嶄换鍔℃暟:{}", basCrnp.getCrnNo(), inWrkMasts.size());
+                    continue;
+                }
                 enabledCrnps.add(basCrnp);
             }
 
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 2e530de..0a88eec 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -264,6 +264,20 @@
             throw new CoolException("鏈壘鍒拌緭閫佺洰鏍囩珯鐐瑰彲璧拌璺緞");
         }
 
+        BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", crnNo));
+        if(basCrnp == null) {
+            throw new CoolException("鏈壘鍒板搴斿爢鍨涙満鏁版嵁");
+        }
+        List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                .eq("crn_no", crnNo)
+                .eq("io_type", WrkIoType.OUT.id)
+        );
+        // 妫�鏌ユ槸鍚﹁秴杩囨渶澶у嚭搴撲换鍔℃暟
+        if(outWrkMasts.size() >= basCrnp.getMaxOutTask()){
+            News.info("鍫嗗灈鏈�:{} 宸茶揪鏈�澶у嚭搴撲换鍔℃暟锛屽綋鍓嶄换鍔℃暟:{}", basCrnp.getCrnNo(), outWrkMasts.size());
+            throw new CoolException("鍫嗗灈鏈�:" + basCrnp.getCrnNo() + "宸茶揪鏈�澶у嚭搴撲换鍔℃暟锛屽綋鍓嶄换鍔℃暟:" + outWrkMasts.size());
+        }
+
         // 鑾峰彇宸ヤ綔鍙�
         int workNo = getWorkNo(WrkIoType.OUT.id);
         // 淇濆瓨宸ヤ綔妗�
@@ -290,7 +304,6 @@
         locMast.setLocSts("R");
         locMast.setModiTime(new Date());
         locMastService.updateById(locMast);
-
         return true;
     }
 
diff --git a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
index 5bac05c..4bfb1ff 100644
--- a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
@@ -115,16 +115,6 @@
             return;
         }
 
-        List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
-                .eq("crn_no", basCrnp.getCrnNo())
-                .eq("io_type", WrkIoType.IN.id)
-        );
-        // 妫�鏌ユ槸鍚﹁秴杩囨渶澶у叆搴撲换鍔℃暟
-        if(inWrkMasts.size() >= basCrnp.getMaxInTask()){
-            News.info("鍫嗗灈鏈�:{} 宸茶揪鏈�澶у叆搴撲换鍔℃暟锛屽綋鍓嶄换鍔℃暟:{}", basCrnp.getCrnNo(), inWrkMasts.size());
-            return;
-        }
-
         Integer crnNo = basCrnp.getCrnNo();
 
         for (StationObjModel stationObjModel : inStationList) {
@@ -209,16 +199,6 @@
         List<StationObjModel> outStationList = basCrnp.getOutStationList$();
         if(outStationList.isEmpty()){
             News.info("鍫嗗灈鏈�:{} 鍑哄簱绔欑偣鏈缃�", basCrnp.getCrnNo());
-            return;
-        }
-
-        List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
-                .eq("crn_no", basCrnp.getCrnNo())
-                .eq("io_type", WrkIoType.OUT.id)
-        );
-        // 妫�鏌ユ槸鍚﹁秴杩囨渶澶у嚭搴撲换鍔℃暟
-        if(outWrkMasts.size() >= basCrnp.getMaxOutTask()){
-            News.info("鍫嗗灈鏈�:{} 宸茶揪鏈�澶у嚭搴撲换鍔℃暟锛屽綋鍓嶄换鍔℃暟:{}", basCrnp.getCrnNo(), outWrkMasts.size());
             return;
         }
 

--
Gitblit v1.9.1