From 6cf4a3e2ba925e75b60f13bb8ebc5e92d37809b2 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 25 七月 2025 13:53:34 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/Utils.java | 69 ++++++++++++++++++++++++++-------- 1 files changed, 53 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 bf3ea83..e874172 100644 --- a/src/main/java/com/zy/asrs/utils/Utils.java +++ b/src/main/java/com/zy/asrs/utils/Utils.java @@ -4,8 +4,10 @@ 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; @@ -14,9 +16,7 @@ import com.zy.common.utils.NavigateUtils; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; -import com.zy.core.model.ShuttleSlave; 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.*; @@ -84,7 +84,7 @@ return null; } - //鑾峰彇闄ょ櫧鍚嶅崟澶栫殑鎸囧畾妤煎眰鍏ㄩ儴绌挎杞y鍧愭爣鐐� + //鑾峰彇绌挎杞y鍧愭爣鐐� public static int[] getShuttlePoint(Integer shuttleNo) { //鑾峰彇绌挎杞︽墍鍦ㄨ妭鐐逛綅缃� ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleNo); @@ -109,15 +109,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; } @@ -144,13 +147,44 @@ return list; } + public static ShuttleThread searchShuttle(String locNo) { + DeviceConfigService deviceConfigService = SpringUtils.getBean(DeviceConfigService.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, device.getDeviceNo()); + if (shuttleThread == null) { + continue; + } + ShuttleProtocol shuttleProtocol = shuttleThread.getStatus(); + if (shuttleProtocol == null) { + continue; + } + + String currentLocNo = shuttleProtocol.getCurrentLocNo(); + if (currentLocNo == null) { + continue; + } + + if (currentLocNo.equals(locNo)) { + return shuttleThread; + } + } + + return null; + } + //妫�娴嬫ゼ灞傛槸鍚︽湁鍙敤绌挎杞� public static boolean checkLevHasShuttle(Integer lev) { - SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class); + DeviceConfigService deviceConfigService = SpringUtils.getBean(DeviceConfigService.class); WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class); - for (ShuttleSlave shuttle : slaveProperties.getShuttle()) { + + 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; } @@ -197,14 +231,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; } @@ -220,7 +257,7 @@ if (shuttleProtocol.getCurrentLocNo().equals(loc)) { //瀛樺湪灏忚溅 - return slave.getId(); + return device.getDeviceNo(); } } } @@ -243,7 +280,7 @@ String recentLocNo = null; for (LocMast locMast : locMasts) { //寰呮満浣嶅埌鐩爣鐐硅窛绂� - List<NavigateNode> currentShuttlePath = navigateUtils.calc(locNo, locMast.getLocNo(), NavigationMapType.NORMAL.id, Utils.getShuttlePoints(0, Utils.getLev(locNo)), null);//鎼滅储绌洪棽绌挎杞︼紝浣跨敤姝e父閫氶亾鍦板浘 + List<NavigateNode> currentShuttlePath = navigateUtils.calc(locNo, locMast.getLocNo(), NavigationMapType.getMapTypes(NavigationMapType.NORMAL), Utils.getShuttlePoints(0, Utils.getLev(locNo)), null);//鎼滅储绌洪棽绌挎杞︼紝浣跨敤姝e父閫氶亾鍦板浘 if (currentShuttlePath == null) { continue; } -- Gitblit v1.9.1