From 53332ecb0edc651bae91f1e7a74a795d76d87cb2 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 04 三月 2026 17:18:07 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/utils/StationOperateProcessUtils.java |   16 ----------------
 src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java     |   17 +++++++++++++++++
 2 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
index ebf1408..85dd39c 100644
--- a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
@@ -54,6 +54,8 @@
     private CommonService commonService;
     @Autowired
     private NotifyUtils notifyUtils;
+    @Autowired
+    private StationOperateProcessUtils stationOperateProcessUtils;
 
     public synchronized void crnIoExecute() {
         Object systemConfigMapObj = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
@@ -258,6 +260,21 @@
             return false;
         }
 
+        int stationMaxTaskCount = 30;
+        Object systemConfigMapObj = redisUtil.get(RedisKeyType.SYSTEM_CONFIG_MAP.key);
+        if (systemConfigMapObj != null) {
+            try {
+                HashMap<String, String> systemConfigMap = (HashMap<String, String>) systemConfigMapObj;
+                stationMaxTaskCount = Integer.parseInt(systemConfigMap.getOrDefault("stationMaxTaskCountLimit", "30"));
+            } catch (Exception ignore) {}
+        }
+
+        int currentStationTaskCount = stationOperateProcessUtils.getCurrentStationTaskCount();
+        if (stationMaxTaskCount > 0 && currentStationTaskCount >= stationMaxTaskCount) {
+            News.warn("杈撻�佺珯鐐逛换鍔℃暟閲忚揪鍒颁笂闄愶紝宸插仠姝换鍔′笅鍙戙�傚綋鍓嶄换鍔℃暟={}锛屼笂闄�={}", currentStationTaskCount, stationMaxTaskCount);
+            return false;
+        }
+
         Integer crnNo = basCrnp.getCrnNo();
 
         List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
diff --git a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
index c486e32..72d192f 100644
--- a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
@@ -808,11 +808,6 @@
                 }
             }
         }
-
-        if (config.stationMaxTaskCount > 0 && currentStationTaskCount >= config.stationMaxTaskCount) {
-            News.warn("杈撻�佺珯鐐逛换鍔℃暟閲忚揪鍒颁笂闄愶紝宸插仠姝㈢珯鐐逛换鍔′笅鍙戙�傚綋鍓嶄换鍔℃暟={}锛屼笂闄�={}", currentStationTaskCount, config.stationMaxTaskCount);
-            return true;
-        }
         return false;
     }
 
@@ -939,15 +934,6 @@
         }
         config.loopModeEnable = parseBoolean(loopModeValue, config.loopModeEnable);
 
-        String stationMaxTaskCountValue = getConfigValue(systemConfigMap, "stationMaxTaskCountLimit");
-        if (isBlank(stationMaxTaskCountValue)) {
-            stationMaxTaskCountValue = getConfigValue(systemConfigMap, "stationMaxTaskCount");
-        }
-        if (isBlank(stationMaxTaskCountValue)) {
-            stationMaxTaskCountValue = getConfigValue(systemConfigMap, "conveyorStationTaskLimit");
-        }
-        config.stationMaxTaskCount = parseInt(stationMaxTaskCountValue, config.stationMaxTaskCount);
-
         return config;
     }
 
@@ -1022,8 +1008,6 @@
         private double circleMaxLoadLimit = 0.8d;
         // 鏄惁鍚敤缁曞湀妯″紡锛堜粎鍚敤鏃舵墠鐢熸晥鎵胯浇闄愬埗锛�
         private boolean loopModeEnable = false;
-        // 绔欑偣鏈�澶т换鍔℃暟閲忎笂闄愶紝0琛ㄧず涓嶉檺鍒�
-        private int stationMaxTaskCount = 30;
     }
 
     private static class LoadGuardState {

--
Gitblit v1.9.1