From 98d120bd0633e4e0717d584cae5514132a18516b Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期四, 18 十二月 2025 13:36:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java |   45 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index f84672c..fd191c6 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -13,21 +13,18 @@
 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;
 
+import java.lang.reflect.Field;
 import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.*;
 
 public class Utils {
 
@@ -143,6 +140,11 @@
 
     //鑾峰彇鍏ュ簱浠诲姟鍙敤鎺�
     public static List<Integer> getInTaskEnableRow() {
+        return getInTaskEnableRow(new ArrayList<>());
+    }
+
+    //鑾峰彇鍏ュ簱浠诲姟鍙敤鎺�
+    public static List<Integer> getInTaskEnableRow(List<Integer> excludeCrnList) {
         List<Integer> list = new ArrayList<>();
         try {
             RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
@@ -194,6 +196,19 @@
                 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;
+                }
+                if (excludeCrnList.contains(basCrnp.getCrnNo())) {
+                    continue;
+                }
                 enabledCrnps.add(basCrnp);
             }
 
@@ -212,4 +227,20 @@
         }
         return list;
     }
+
+
+    public static Map<String, Object> convertObjectToMap(Object obj) {
+        Map<String, Object> map = new HashMap<>();
+        Class<?> clazz = obj.getClass();
+        Field[] fields = clazz.getDeclaredFields();
+        for (Field field : fields) {
+            field.setAccessible(true);
+            try {
+                map.put(field.getName(), field.get(obj));
+            }catch (Exception e){
+                e.printStackTrace();
+            }
+        }
+        return map;
+    }
 }

--
Gitblit v1.9.1