From 54b4f53323d0833cbac86fd18932c5fa5a5447a8 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 17 二月 2025 14:19:17 +0800
Subject: [PATCH] #移库任务
---
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/Utils.java | 68 ++++++++++++++-------------------
1 files changed, 29 insertions(+), 39 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 6c3b59b..94afb9f 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
@@ -15,17 +15,28 @@
import com.zy.asrs.wcs.core.service.TaskService;
import com.zy.asrs.wcs.rcs.cache.SlaveConnection;
import com.zy.asrs.wcs.rcs.entity.Device;
+import com.zy.asrs.wcs.rcs.model.enums.ShuttleProtocolStatusType;
import com.zy.asrs.wcs.rcs.model.enums.SlaveType;
import com.zy.asrs.wcs.rcs.model.protocol.ShuttleProtocol;
import com.zy.asrs.wcs.rcs.service.DeviceService;
import com.zy.asrs.wcs.rcs.thread.ShuttleThread;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
public class Utils {
public static final String _LINK = "-";
+
+ public static Integer getStaByLev(Integer lev) {
+ HashMap<Integer, Integer> map = new HashMap<>();
+ map.put(1, 31006);
+ map.put(2, 31007);
+ map.put(3, 31008);
+
+ return map.get(lev);
+ }
/**
* 閫氳繃搴撲綅鍙疯幏鍙� 鎺�
@@ -139,6 +150,14 @@
continue;
}
+ if (shuttleProtocol.getProtocolStatusType().equals(ShuttleProtocolStatusType.OFFLINE)) {
+ continue;
+ }
+
+ if (shuttleProtocol.getCurrentLocNo() == null) {
+ continue;
+ }
+
if (shuttleProtocol.getCurrentLocNo().equals(locNo)) {
return true;
}
@@ -186,9 +205,9 @@
/**
* 妫�娴嬬┛姊溅鏄惁鏈変换鍔$粦瀹�
*/
- public static boolean checkShuttleHasBinding(Device device) {
+ public static boolean checkShuttleHasBinding(Device device, String taskNo) {
TaskService taskService = SpringUtils.getBean(TaskService.class);
- List<Task> tasks = taskService.selectWorkingByShuttle(Integer.parseInt(device.getDeviceNo()));
+ List<Task> tasks = taskService.selectWorkingByShuttle(Integer.parseInt(device.getDeviceNo()), taskNo);
if (tasks.isEmpty()) {
return false;//鏃犱换鍔$粦瀹�
}
@@ -199,48 +218,19 @@
* 妫�娴嬫彁鍗囨満鏄惁鏈変换鍔$粦瀹�
*/
public static boolean checkLiftHasBinding(Integer liftNo) {
+ return checkLiftHasBinding(liftNo, null);
+ }
+
+ /**
+ * 妫�娴嬫彁鍗囨満鏄惁鏈変换鍔$粦瀹�
+ */
+ public static boolean checkLiftHasBinding(Integer liftNo, String taskNo) {
TaskService taskService = SpringUtils.getBean(TaskService.class);
- List<Task> tasks = taskService.selectWorkingByLift(liftNo);
+ List<Task> tasks = taskService.selectWorkingByLift(liftNo, taskNo);
if (tasks.isEmpty()) {
return false;//鏃犱换鍔$粦瀹�
}
return true;//鏈変换鍔$粦瀹�
- }
-
- /**
- * 鑾峰彇璺濈鐩爣搴撲綅鏈�杩戠殑鎻愬崌鏈�
- */
- public static Device getRecentTransferLift(String locNo, Integer shuttleNo) {
- BasLiftService basLiftService = SpringUtils.getBean(BasLiftService.class);
- DeviceService deviceService = SpringUtils.getBean(DeviceService.class);
- if (basLiftService == null) {
- return null;
- }
-
- Integer distance = Integer.MAX_VALUE;
- Long liftDeviceId = null;
- for (BasLift basLift : basLiftService.list(new LambdaQueryWrapper<BasLift>()
- .eq(BasLift::getStatus, 1)
- .eq(BasLift::getTransfer, 1))) {
- int lev = Utils.getLev(locNo);
- String liftLocNo = Utils.getLocNo(basLift.getRow(), basLift.getBay(), lev);
- List<NavigateNode> nodeList = NavigateUtils.calc(locNo, liftLocNo, NavigationMapType.NONE.id, Utils.getShuttlePoints(shuttleNo, Utils.getLev(locNo)));
- Integer originPathAllDistance = NavigateUtils.getOriginPathAllDistance(nodeList);//鎬昏窛绂�
- if (originPathAllDistance < distance) {
- distance = originPathAllDistance;
- liftDeviceId = basLift.getDeviceId();
- }
- }
-
- if (liftDeviceId == null) {
- return null;
- }
-
- Device device = deviceService.getById(liftDeviceId);
- if (device == null) {
- return null;
- }
- return device;
}
}
--
Gitblit v1.9.1