From e4279da0f49517ada6e25a978e5df60f7c1e6997 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 07 四月 2026 09:45:51 +0800
Subject: [PATCH] #入库任务限制控制进输送

---
 src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java |   52 +++++++++++++++++++++++-----------------------------
 1 files changed, 23 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java b/src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java
index 24bb2dc..7ebb4c9 100644
--- a/src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java
+++ b/src/main/java/com/zy/core/utils/station/StationRegularDispatchProcessor.java
@@ -4,13 +4,11 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.zy.asrs.domain.enums.NotifyMsgType;
+import com.zy.asrs.entity.BasCrnp;
 import com.zy.asrs.entity.BasDevp;
 import com.zy.asrs.entity.BasStation;
 import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.service.BasDevpService;
-import com.zy.asrs.service.BasStationService;
-import com.zy.asrs.service.WrkAnalysisService;
-import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.*;
 import com.zy.asrs.utils.NotifyUtils;
 import com.zy.common.entity.FindCrnNoResult;
 import com.zy.common.service.CommonService;
@@ -64,20 +62,8 @@
     private StationCommandDispatcher stationCommandDispatcher;
     @Autowired
     private StationDispatchLoadSupport stationDispatchLoadSupport;
-
-    public void stationInExecute() {
-        try {
-            List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
-            for (BasDevp basDevp : basDevps) {
-                List<StationObjModel> stationList = basDevp.getBarcodeStationList$();
-                for (StationObjModel entity : stationList) {
-                    stationInExecute(basDevp, entity);
-                }
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
+    @Autowired
+    private BasCrnpService basCrnpService;
 
     public void stationOutExecuteFinish(StationObjModel stationObjModel) {
         try {
@@ -106,17 +92,6 @@
             }
 
             completeOutboundStationRun(stationObjModel, stationThread, wrkMast, matchedByRecentArrival);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    public void checkTaskToComplete() {
-        try {
-            List<WrkMast> wrkMasts = wrkMastService.list(new QueryWrapper<WrkMast>().eq("wrk_sts", WrkStsType.STATION_RUN_COMPLETE.sts));
-            for (WrkMast wrkMast : wrkMasts) {
-                checkTaskToComplete(wrkMast);
-            }
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -296,6 +271,25 @@
             return;
         }
 
+        Integer crnNo = wrkMast.getCrnNo();
+        BasCrnp basCrnp = basCrnpService.getOne(new QueryWrapper<BasCrnp>().eq("crn_no", crnNo));
+        if (basCrnp == null) {
+            News.taskInfo(wrkMast.getWrkNo(), "{}宸ヤ綔,鏈壘鍒板爢鍨涙満鏁版嵁", wrkMast.getWrkNo());
+            return;
+        }
+
+        int maxInTask = 3;
+        if (basCrnp.getMaxInTask() != null) {
+            maxInTask = basCrnp.getMaxInTask();
+        }
+
+        long count = wrkMastService.count(new QueryWrapper<WrkMast>().eq("crn_no", crnNo).eq("wrk_sts", WrkStsType.INBOUND_STATION_RUN));
+        if(count >=  maxInTask) {
+            News.taskInfo(wrkMast.getWrkNo(), "{}宸ヤ綔,鍫嗗灈鏈哄埌杈句换鍔′笂闄愶紝绋嶅悗鎵ц", wrkMast.getWrkNo());
+            stationProtocol.setSystemWarning(wrkMast.getWrkNo() + "宸ヤ綔,鍫嗗灈鏈哄埌杈句换鍔′笂闄愶紝绋嶅悗鎵ц");
+            return;
+        }
+
         String locNo = wrkMast.getLocNo();
         FindCrnNoResult findCrnNoResult = commonService.findCrnNoByLocNo(locNo);
         if (findCrnNoResult == null) {

--
Gitblit v1.9.1