From ce9c9af4a3710d17e17814bab629ab4ef474f3f1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 09 七月 2025 11:16:51 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java |   59 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 43 insertions(+), 16 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..09350ec 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -4,8 +4,12 @@
 import com.core.common.Arith;
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
+import com.zy.asrs.entity.DeviceConfig;
 import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.DeviceConfigService;
 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;
@@ -19,9 +23,6 @@
 import java.text.DecimalFormat;
 import java.util.*;
 
-/**
- * Created by vincent on 2020/8/27
- */
 public class Utils {
 
     private static final DecimalFormat fmt = new DecimalFormat("##0.00");
@@ -110,15 +111,18 @@
 
     //鑾峰彇闄ょ櫧鍚嶅崟澶栫殑鎸囧畾妤煎眰鍏ㄩ儴绌挎杞y鍧愭爣鐐�
     public static List<int[]> getShuttlePoints(Integer whiteShuttle, Integer lev) {
-        SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
+        DeviceConfigService deviceConfigService = SpringUtils.getBean(DeviceConfigService.class);
         ArrayList<int[]> list = new ArrayList<>();
-        for (ShuttleSlave slave : slaveProperties.getShuttle()) {
-            if (slave.getId().intValue() == whiteShuttle) {
+
+        List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+                .eq("device_type", String.valueOf(SlaveType.Shuttle)));
+        for (DeviceConfig device : shuttleList) {
+            if (device.getDeviceNo().intValue() == whiteShuttle) {
                 continue;//璺宠繃鐧藉悕鍗�
             }
 
             //鑾峰彇绌挎杞︽墍鍦ㄨ妭鐐逛綅缃�
-            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
+            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, device.getDeviceNo());
             if (shuttleThread == null) {
                 continue;
             }
@@ -145,12 +149,16 @@
         return list;
     }
 
-    //妫�娴嬫ゼ灞傛槸鍚︽湁绌挎杞�
+    //妫�娴嬫ゼ灞傛槸鍚︽湁鍙敤绌挎杞�
     public static boolean checkLevHasShuttle(Integer lev) {
-        SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
-        for (ShuttleSlave shuttle : slaveProperties.getShuttle()) {
+        DeviceConfigService deviceConfigService = SpringUtils.getBean(DeviceConfigService.class);
+        WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class);
+
+        List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+                .eq("device_type", String.valueOf(SlaveType.Shuttle)));
+        for (DeviceConfig device : shuttleList) {
             //鑾峰彇鍥涘悜绌挎杞︾嚎绋�
-            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttle.getId());
+            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, device.getDeviceNo());
             if (shuttleThread == null) {
                 continue;
             }
@@ -160,6 +168,22 @@
             }
             String currentLocNo = shuttleProtocol.getCurrentLocNo();
             if (currentLocNo == null) {
+                continue;
+            }
+
+            //灏忚溅姝e湪鍏呯數
+            if (shuttleThread.isCharging()) {
+                continue;
+            }
+
+            //灏忚溅鏈夊厖鐢典换鍔�
+            WrkMast chargeWorking = wrkMastService.selectChargeWorking(shuttleProtocol.getShuttleNo());
+            if (chargeWorking != null) {//宸叉湁鍏呯數浠诲姟
+                continue;
+            }
+
+            //灏忚溅澶勪簬鏁呴殰鐘舵��
+            if (shuttleThread.isFault()) {
                 continue;
             }
 
@@ -181,14 +205,17 @@
             return null;
         }
 
-        SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
-        if (slaveProperties == null) {
+        DeviceConfigService deviceConfigService = SpringUtils.getBean(DeviceConfigService.class);
+        if (deviceConfigService == null) {
             return null;
         }
 
+        List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+                .eq("device_type", String.valueOf(SlaveType.Shuttle)));
+
         for (String loc : groupLoc) {
-            for (ShuttleSlave slave : slaveProperties.getShuttle()) {
-                ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
+            for (DeviceConfig device : shuttleList) {
+                ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, device.getDeviceNo());
                 if (shuttleThread == null) {
                     continue;
                 }
@@ -204,7 +231,7 @@
 
                 if (shuttleProtocol.getCurrentLocNo().equals(loc)) {
                     //瀛樺湪灏忚溅
-                    return slave.getId();
+                    return device.getDeviceNo();
                 }
             }
         }

--
Gitblit v1.9.1