From ad79ba405b2d1ac96423f88f4e8a76c584b9d38a Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 09 二月 2026 15:57:06 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java |   73 +++++++++++++++++++++++++++++++-----
 1 files changed, 62 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index f2c7d43..0cf04f8 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -195,8 +195,14 @@
 
             if (currentCircleTaskCrnNo != null) {
                 currentCircleTaskCrnNo = currentCircleTaskCrnNo + 1;
-                BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>().eq("crn_no", currentCircleTaskCrnNo));
-                List<WrkMast> currentCrnTask = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", currentCircleTaskCrnNo));
+                BasCrnp basCrnp = basCrnpService.selectOne(new EntityWrapper<BasCrnp>()
+                        .eq("crn_no", currentCircleTaskCrnNo)
+                        .eq("in_enable", "Y")
+                        .eq("status", 1)
+                );
+                List<WrkMast> currentCrnTask = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                        .eq("crn_no", currentCircleTaskCrnNo)
+                );
                 if (currentCrnTask.size() <= 1) {
                     if (basCrnp != null) {
                         List<List<Integer>> rowList = basCrnp.getControlRows$();
@@ -230,9 +236,6 @@
 
             List<BasCrnp> enabledCrnps = new ArrayList<>();
             for (BasCrnp basCrnp : baseList) {
-                if (hasConfig && !allowedCrnNos.contains(basCrnp.getCrnNo())) {
-                    continue;
-                }
                 CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
                 if (crnThread == null) {
                     continue;
@@ -274,12 +277,21 @@
 
             enabledCrnps.sort(Comparator.comparingInt(o -> map.getOrDefault(o.getCrnNo(), 0)));
 
+            List<Integer> recommendList = new ArrayList<>();
+            List<Integer> baseRowList = new ArrayList<>();
             for (BasCrnp basCrnp : enabledCrnps) {
                 List<List<Integer>> rowList = basCrnp.getControlRows$();
                 for (List<Integer> rows : rowList) {
-                    list.addAll(rows);
+                    if(allowedCrnNos.contains(basCrnp.getCrnNo())) {
+                        recommendList.addAll(rows);
+                    }else {
+                        baseRowList.addAll(rows);
+                    }
                 }
             }
+
+            list.addAll(recommendList);
+            list.addAll(baseRowList);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -333,10 +345,6 @@
 
             List<BasDualCrnp> enabledCrnps = new ArrayList<>();
             for (BasDualCrnp basDualCrnp : baseList) {
-                if (hasConfig && !allowedCrnNos.contains(basDualCrnp.getCrnNo())) {
-                    continue;
-                }
-
                 DualCrnThread dualCrnThread = (DualCrnThread) SlaveConnection.get(SlaveType.DualCrn, basDualCrnp.getCrnNo());
                 if (dualCrnThread == null) {
                     continue;
@@ -378,12 +386,21 @@
 
             enabledCrnps.sort(Comparator.comparingInt(o -> map.getOrDefault(o.getCrnNo(), 0)));
 
+            List<Integer> recommendList = new ArrayList<>();
+            List<Integer> baseRowList = new ArrayList<>();
             for (BasDualCrnp basDualCrnp : enabledCrnps) {
                 List<List<Integer>> rowList = basDualCrnp.getControlRows$();
                 for (List<Integer> rows : rowList) {
-                    list.addAll(rows);
+                    if(allowedCrnNos.contains(basDualCrnp.getCrnNo())) {
+                        recommendList.addAll(rows);
+                    }else {
+                        baseRowList.addAll(rows);
+                    }
                 }
             }
+
+            list.addAll(recommendList);
+            list.addAll(baseRowList);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -663,4 +680,38 @@
 
         return null;
     }
+    //灏唚ms搴撲綅鍙疯浆鎹㈡垚wcs搴撲綅鍙�
+    public static String WMSLocToWCSLoc(String locNo) {
+        String row = locNo.substring(0, 2);
+        int i = 0;
+        for (char c : row.toCharArray()) {
+            if (c == '0') {
+                i++;
+            }else {
+                break;
+            }
+        }
+        row = row.substring(i);
+        int j = 0;
+        String boy = locNo.substring(2, 5);
+        for (char c : boy.toCharArray()) {
+            if (c == '0') {
+                j++;
+            }else {
+                break;
+            }
+        }
+        boy = boy.substring(j);
+        int k = 0;
+        String lev = locNo.substring(5);
+        for (char c : lev.toCharArray()) {
+            if (c == '0') {
+                k++;
+            }else {
+                break;
+            }
+        }
+        lev = lev.substring(k);
+        return row + "-" + boy + "-" + lev;
+    }
 }

--
Gitblit v1.9.1