From 50435a81915932eda06b7f1afd48f9ff1ae84f19 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期四, 10 四月 2025 17:50:28 +0800 Subject: [PATCH] 1 --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java | 28 ++++++++++++++++++++++------ 1 files changed, 22 insertions(+), 6 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java index 1946db0..1cf3ad3 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/LiftAction.java @@ -6,6 +6,7 @@ import com.zy.asrs.wcs.core.model.command.*; import com.zy.asrs.wcs.core.model.enums.LiftCommandModeType; import com.zy.asrs.wcs.core.service.TaskService; +import com.zy.asrs.wcs.core.utils.LiftDispatcher; import com.zy.asrs.wcs.core.utils.RedisUtil; import com.zy.asrs.wcs.rcs.News; import com.zy.asrs.wcs.rcs.cache.SlaveConnection; @@ -33,6 +34,8 @@ private TaskService taskService; @Autowired private BasLiftOptService basLiftOptService; + @Autowired + private LiftDispatcher liftDispatcher; public synchronized boolean assignWork(Device device, LiftAssignCommand assignCommand) { LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, device.getId().intValue()); @@ -101,7 +104,8 @@ LiftCommand command = commands.get(commandStep - 1); if (command.getMode() == LiftCommandModeType.MOVE.id) { //鎻愬崌鏈哄崌闄� - if (liftProtocol.getLev() == command.getTargetLev()) { + Integer target = liftDispatcher.getLiftLevLogic(liftThread.getDevice().getId().intValue(), command.getTargetLev()); + if (liftProtocol.getLev() == target) { command.setComplete(true); } } else if (command.getMode() == LiftCommandModeType.MOVE_CAR.id) { @@ -109,9 +113,22 @@ if (liftProtocol.getLev() == command.getTargetLev()) { command.setComplete(true); } - } else if (command.getMode() == LiftCommandModeType.PALLET_INOUT.id) { - //鎵樼洏鍑哄叆 - if (liftProtocol.getLev() == command.getTargetLev()) { + } else if (command.getMode() == LiftCommandModeType.PALLET_IN.id) { + //鎵樼洏鍏� + Integer target = liftDispatcher.getLiftLevLogic(liftThread.getDevice().getId().intValue(), command.getTargetLev()); + if (liftProtocol.getLev() == target) { + command.setComplete(true); + } + + //鍒ゆ柇鎻愬崌鏈烘墭鐩樻槸鍚﹀瓨鍦� + if (!liftProtocol.getHasTray()) { + return false; + } + + } else if (command.getMode() == LiftCommandModeType.PALLET_OUT.id) { + //鎵樼洏鍑� + Integer target = liftDispatcher.getLiftLevLogic(liftThread.getDevice().getId().intValue(), command.getTargetLev()); + if (liftProtocol.getLev() == target) { command.setComplete(true); } @@ -119,7 +136,6 @@ if (liftProtocol.getHasTray()) { return false; } - } else if (command.getMode() == LiftCommandModeType.RESET.id) { //澶嶄綅 command.setComplete(true); @@ -203,7 +219,7 @@ if (command.getMode() == LiftCommandModeType.MOVE.id) { response = liftThread.move(command); - } else if (command.getMode() == LiftCommandModeType.PALLET_INOUT.id) { + } else if (command.getMode() == LiftCommandModeType.PALLET_IN.id || command.getMode() == LiftCommandModeType.PALLET_OUT.id) { response = liftThread.palletInOut(command); } else if (command.getMode() == LiftCommandModeType.LOCK.id) { response = liftThread.lock(command); -- Gitblit v1.9.1