From a68bf17ab81df98882e19b79628e6876bb260468 Mon Sep 17 00:00:00 2001
From: zc <zc@123>
Date: 星期三, 18 六月 2025 10:04:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/fyxc_shuttle_wcs' into fyxc_shuttle_wcs

---
 src/main/java/com/zy/asrs/utils/Utils.java |   42 ++++++++++++++++++++++++++++++------------
 1 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 8d2466b..e614247 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -5,7 +5,9 @@
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
 import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.service.LocMastService;
+import com.zy.asrs.service.WrkMastService;
 import com.zy.common.model.NavigateNode;
 import com.zy.common.model.enums.NavigationMapType;
 import com.zy.common.utils.NavigatePositionConvert;
@@ -16,32 +18,31 @@
 import com.zy.core.model.protocol.ShuttleProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.ShuttleThread;
-import java.text.DecimalFormat;
-import java.util.*;
 
-/**
- * Created by vincent on 2020/8/27
- */
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.List;
+
 public class Utils {
 
     private static final DecimalFormat fmt = new DecimalFormat("##0.00");
 
-    public static float scale(Float f){
+    public static float scale(Float f) {
         if (f == null || f == 0f || Float.isNaN(f)) {
             return 0f;
         }
         return (float) Arith.multiplys(2, f, 1);
     }
 
-    public static String zerofill(String msg, Integer count){
-        if (msg.length() == count){
+    public static String zerofill(String msg, Integer count) {
+        if (msg.length() == count) {
             return msg;
-        } else if (msg.length() > count){
+        } else if (msg.length() > count) {
             return msg.substring(0, 16);
         } else {
             StringBuilder msgBuilder = new StringBuilder(msg);
-            for (int i = 0; i<count-msg.length(); i++){
-                msgBuilder.insert(0,"0");
+            for (int i = 0; i < count - msg.length(); i++) {
+                msgBuilder.insert(0, "0");
             }
             return msgBuilder.toString();
         }
@@ -145,9 +146,10 @@
         return list;
     }
 
-    //妫�娴嬫ゼ灞傛槸鍚︽湁绌挎杞�
+    //妫�娴嬫ゼ灞傛槸鍚︽湁鍙敤绌挎杞�
     public static boolean checkLevHasShuttle(Integer lev) {
         SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
+        WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class);
         for (ShuttleSlave shuttle : slaveProperties.getShuttle()) {
             //鑾峰彇鍥涘悜绌挎杞︾嚎绋�
             ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId());
@@ -163,6 +165,22 @@
                 continue;
             }
 
+            //灏忚溅姝e湪鍏呯數
+            if (shuttleThread.isCharging()) {
+                continue;
+            }
+
+            //灏忚溅鏈夊厖鐢典换鍔�
+            WrkMast chargeWorking = wrkMastService.selectChargeWorking(shuttleProtocol.getShuttleNo());
+            if (chargeWorking != null) {//宸叉湁鍏呯數浠诲姟
+                continue;
+            }
+
+            //灏忚溅澶勪簬鏁呴殰鐘舵��
+            if (shuttleThread.isFault()) {
+                continue;
+            }
+
             if (lev == Utils.getLev(currentLocNo)) {
                 return true;//鎸囧畾妤煎眰鏈夌┛姊溅
             }

--
Gitblit v1.9.1