From 3ca9c0654a81f0670e8005e405615da9f84edcc4 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 24 六月 2024 10:36:47 +0800
Subject: [PATCH] #
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/Utils.java | 86 +++++++++++++++++++++++++++++-------------
1 files changed, 59 insertions(+), 27 deletions(-)
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/Utils.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/Utils.java
index d308757..7da2faa 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/Utils.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/Utils.java
@@ -4,9 +4,13 @@
import com.zy.asrs.framework.common.Cools;
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.framework.exception.CoolException;
+import com.zy.asrs.wcs.core.entity.BasLift;
import com.zy.asrs.wcs.core.entity.Task;
import com.zy.asrs.wcs.core.entity.TaskSerialNo;
+import com.zy.asrs.wcs.core.model.NavigateNode;
import com.zy.asrs.wcs.core.model.enums.DeviceCtgType;
+import com.zy.asrs.wcs.core.model.enums.NavigationMapType;
+import com.zy.asrs.wcs.core.service.BasLiftService;
import com.zy.asrs.wcs.core.service.TaskSerialNoService;
import com.zy.asrs.wcs.core.service.TaskService;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
@@ -77,34 +81,38 @@
//鑾峰彇闄ょ櫧鍚嶅崟澶栫殑鎸囧畾妤煎眰鍏ㄩ儴绌挎杞y鍧愭爣鐐�
public static List<int[]> getShuttlePoints(Integer whiteShuttle, Integer lev) {
-// SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
+ DeviceService deviceService = SpringUtils.getBean(DeviceService.class);
ArrayList<int[]> list = new ArrayList<>();
-// for (ShuttleSlave slave : slaveProperties.getShuttle()) {
-// if (slave.getId().intValue() == whiteShuttle) {
-// continue;//璺宠繃鐧藉悕鍗�
-// }
-//
-// //鑾峰彇绌挎杞︽墍鍦ㄨ妭鐐逛綅缃�
-// ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
-// if (shuttleThread == null) {
-// continue;
-// }
-// ShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
-// if (shuttleProtocol == null) {
-// continue;
-// }
-//
-// if (shuttleProtocol.getCurrentLocNo() == null) {
-// continue;
-// }
-//
-// if (lev != Utils.getLev(shuttleProtocol.getCurrentLocNo())) {
-// continue;//妤煎眰涓嶅悓
-// }
-//
-// int[] xyPosition = NavigatePositionConvert.positionToXY(shuttleProtocol.getCurrentLocNo());//閫氳繃搴撲綅鍙疯幏鍙杧y鍧愭爣
-// list.add(xyPosition);
-// }
+
+ List<Device> devices = deviceService.list(new LambdaQueryWrapper<Device>()
+ .eq(Device::getDeviceType, DeviceCtgType.SHUTTLE.val())
+ .eq(Device::getStatus, 1));
+ for (Device device : devices) {
+ if (Integer.parseInt(device.getDeviceNo()) == whiteShuttle) {
+ continue;//璺宠繃鐧藉悕鍗�
+ }
+
+ //鑾峰彇绌挎杞︽墍鍦ㄨ妭鐐逛綅缃�
+ ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, device.getId().intValue());
+ if (shuttleThread == null) {
+ continue;
+ }
+ ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
+ if (shuttleProtocol == null) {
+ continue;
+ }
+
+ if (shuttleProtocol.getCurrentLocNo() == null) {
+ continue;
+ }
+
+ if (lev != Utils.getLev(shuttleProtocol.getCurrentLocNo())) {
+ continue;//妤煎眰涓嶅悓
+ }
+
+ int[] xyPosition = NavigatePositionConvert.positionToXY(shuttleProtocol.getCurrentLocNo());//閫氳繃搴撲綅鍙疯幏鍙杧y鍧愭爣
+ list.add(xyPosition);
+ }
return list;
}
@@ -175,4 +183,28 @@
throw new CoolException("宸ヤ綔鍙风敓鎴愬け璐�");
}
+ /**
+ * 妫�娴嬬┛姊溅鏄惁鏈変换鍔$粦瀹�
+ */
+ public static boolean checkShuttleHasBinding(Device device, String taskNo) {
+ TaskService taskService = SpringUtils.getBean(TaskService.class);
+ List<Task> tasks = taskService.selectWorkingByShuttle(Integer.parseInt(device.getDeviceNo()), taskNo);
+ if (tasks.isEmpty()) {
+ return false;//鏃犱换鍔$粦瀹�
+ }
+ return true;//鏈変换鍔$粦瀹�
+ }
+
+ /**
+ * 妫�娴嬫彁鍗囨満鏄惁鏈変换鍔$粦瀹�
+ */
+ public static boolean checkLiftHasBinding(Integer liftNo) {
+ TaskService taskService = SpringUtils.getBean(TaskService.class);
+ List<Task> tasks = taskService.selectWorkingByLift(liftNo);
+ if (tasks.isEmpty()) {
+ return false;//鏃犱换鍔$粦瀹�
+ }
+ return true;//鏈変换鍔$粦瀹�
+ }
+
}
--
Gitblit v1.9.1