From 79498222e62c7bfb0ad545ec8e1edb5e9b953955 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 15 五月 2024 16:49:26 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 45 insertions(+), 0 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java index 9ca36f9..a426fce 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/action/ShuttleAction.java @@ -11,6 +11,7 @@ import com.zy.asrs.wcs.core.model.command.ShuttleAssignCommand; import com.zy.asrs.wcs.core.model.command.ShuttleCommand; import com.zy.asrs.wcs.core.model.command.ShuttleRedisCommand; +import com.zy.asrs.wcs.core.model.enums.LocStsType; import com.zy.asrs.wcs.core.model.enums.MotionCtgType; import com.zy.asrs.wcs.core.model.enums.ShuttleCommandModeType; import com.zy.asrs.wcs.core.model.enums.ShuttleTaskModeType; @@ -382,6 +383,50 @@ } } } + } else if (shuttleProtocol.getMoveType() == 4) {//鍙栨斁璐� + Integer xCurrent = shuttleProtocol.getXCurrent(); + if (xCurrent > shuttleProtocol.getXTarget()) {//褰揦鍊煎ぇ浜嶺鐩爣鍊硷紝杩涜褰掗浂涓擸鏂瑰悜+1 + shuttleProtocol.setXCurrent(shuttleProtocol.getXStart()); + shuttleProtocol.setYCurrent(shuttleProtocol.getYCurrent() + 1); + return; + } + + //鎼滅储鏈夎揣搴撲綅 + List<Loc> list = locService.list(new LambdaQueryWrapper<Loc>() + .eq(Loc::getLocSts, LocStsType.F.val()) + .eq(Loc::getHostId, device.getHostId()) + .eq(Loc::getStatus, 1)); + if (list.isEmpty()) { + return; + } + + Loc start = list.get(0); + + Integer yCurrent = shuttleProtocol.getYCurrent(); + String locNo = Utils.getLocNo(xCurrent, yCurrent, lev); + Loc target = locService.getOne(new LambdaQueryWrapper<Loc>() + .eq(Loc::getLocNo, locNo) + .eq(Loc::getHostId, device.getHostId()) + .eq(Loc::getStatus, 1)); + if (target == null) { + shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1); + return; + } + + if (target.getLocSts() != LocStsType.O.val()) { + shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1); + return; + } + + //璋冨害鍘荤洰鏍囦綅缃� + if (shuttleProtocol.getCurrentLocNo().equals(target.getLocNo())) { + shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1);//灏忚溅鍜岀洰鏍囦綅缃竴鑷达紝璺宠繃 + } else { + Task task = shuttleDispatcher.generateManuaTakeMoveTask(device, start.getLocNo(), target.getLocNo()); + if(task != null) {//璋冨害鎴愬姛 + shuttleProtocol.setXCurrent(shuttleProtocol.getXCurrent() + 1); + } + } } } -- Gitblit v1.9.1