From 0f69561e397093b5165c4aac58530721d5c62178 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 25 十一月 2024 11:03:16 +0800 Subject: [PATCH] #led --- 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