From 0364142d852f4c50034527a93670f900eeedd995 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 21 六月 2024 20:15:55 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java | 682 ++++++++++++++++++++++++++++++++------------------------ 1 files changed, 390 insertions(+), 292 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java index 2e5d418..13cf97a 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java @@ -489,298 +489,396 @@ //绌挎杞﹀嚭鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙� String standbyLocNoFrom = shuttleStandbyFrom.getDeviceStandbyLoc(); -// /** -// * 鍑哄簱 -// * 涓�銆佸嚭搴撹捣濮嬪眰鏈夌┛姊溅 -// * 1.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅 -// * 2.鎻愬崌鏈哄埌鍑哄簱璧峰灞� -// * 3.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈� -// * 4.绌挎杞︾寮�鎻愬崌鏈� -// * 5.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛� -// * 6.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛 -// */ -// if (Utils.getLev(shuttleLocNo) == Utils.getLev(wrkMast.getSourceLocNo())) { -// -// //绌挎杞︿笉鍦ㄥ嚭搴撳簱浣� -// if (!shuttleLocNo.equals(wrkMast.getSourceLocNo())) { -// // 绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅 -// motionList.addAll(kernelService.shuttleMove( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(shuttleLocNo); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(wrkMast.getSourceLocNo()); -// })), -// MotionCtgType.SHUTTLE_MOVE -// )); -// } -// -// // 绌挎杞﹀嚭搴撹嚦鎻愬崌鏈哄緟鏈轰綅 -// motionList.addAll(kernelService.shuttleTransport( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(wrkMast.getSourceLocNo()); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(standbyLocNoTo); -// })), -// MotionCtgType.SHUTTLE_MOVE_LIFT_PALLET -// )); -// -// // 鎻愬崌鏈虹┖杞界Щ鍔� -// motionList.addAll(kernelService.liftMove( -// null -// , MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(Utils.getLev(wrkMast.getSourceLocNo())); -// })) -// )); -// -// // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満 -// motionList.addAll(kernelService.shuttleTransport( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(standbyLocNoTo); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(liftLocNoTo); -// })), -// MotionCtgType.SHUTTLE_TRANSPORT_TO_LIFT -// )); -// -// // 绌挎杞︾寮�鎻愬崌鏈� - 鍒版彁鍗囨満寰呮満浣� -// motionList.addAll(kernelService.shuttleMove( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(liftLocNoFrom); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(standbyLocNoFrom); -// })), -// MotionCtgType.SHUTTLE_MOVE_FROM_LIFT -// )); -// -// // 鎻愬崌鏈鸿浇璐хЩ鍔� -// // 鍑哄簱搴撲綅鏄惁涓庤緭閫佺嚎鍑哄簱绔欏睘浜庡悓涓�灞� -// if (!slaveOutSta.getLiftLev().equals(Utils.getLev(wrkMast.getSourceLocNo()))) { -// motionList.addAll(kernelService.liftMoveGoods( -// MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(Utils.getLev(wrkMast.getSourceLocNo())); -// })), -// MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(slaveOutSta.getLiftLev()); -// })) -// )); -// } -// -// LiftNeighborType neighborType = LiftNeighborType.query(liftSlave.getId(), slaveOutSta.getLiftLev(), false, wrkMast.getStaNo()); -// -// // 鎻愬崌鏈鸿繍杈撳埌杈撻�佺嚎 -// motionList.addAll(kernelService.liftTransportGoodsToConveyor( -// MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(slaveOutSta.getLiftLev()); -// })), -// MotionDto.build((dto -> { -// dto.setDevpNo(devpSlave.getId()); -// dto.setStaNo(neighborType.staNo); -// })) -// )); -// -// // 绌挎杞︽彁鍗囨満寰呮満浣� - 鍒板緟鏈轰綅 -// motionList.addAll(kernelService.shuttleMove( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(standbyLocNoFrom); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo( -// ShuttleTempLocType.query(shuttleProtocol.getShuttleNo().intValue(), liftSlave.getId(), Utils.getLev(wrkMast.getSourceLocNo())).locNo -// ); -// })), -// MotionCtgType.SHUTTLE_MOVE -// )); -// -// /** -// * 浜屻�佸嚭搴撹捣濮嬪眰娌℃湁绌挎杞� -// * -// * 1.鎻愬崌鏈哄埌绌挎杞﹀眰 -// * 2.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈� -// * 3.鎻愬崌鏈鸿浇杞﹁嚦鍑哄簱璧峰灞� -// * 4.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅 -// * 5.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈� -// * 6.绌挎杞︾寮�鎻愬崌鏈� -// * 7.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛� -// * 8.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛 -// * -// */ -// } else { -// -// // 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄緟鏈轰綅 -// motionList.addAll(kernelService.shuttleMove( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(shuttleLocNo); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(standbyLocNoTo); -// })), -// MotionCtgType.SHUTTLE_MOVE -// )); -// -// // 鎻愬崌鏈哄埌绌挎杞﹀眰 -// motionList.addAll(kernelService.liftMove( -// null -// , MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(Utils.getLev(shuttleLocNo)); -// })) -// )); -// -// // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満 -// motionList.addAll(kernelService.shuttleMove( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(standbyLocNoTo); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(liftLocNoTo); -// })), -// MotionCtgType.SHUTTLE_MOVE_TO_LIFT -// )); -// -// // 鎻愬崌鏈鸿浇杞﹁嚦鍑哄簱璧峰灞� -// motionList.addAll(kernelService.liftMoveShuttle( -// MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(Utils.getLev(shuttleLocNo)); -// })), -// MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(Utils.getLev(wrkMast.getSourceLocNo())); -// })) -// )); -// -// // 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄緟鏈轰綅 -// motionList.addAll(kernelService.shuttleMove( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(liftLocNoFrom); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(standbyLocNoFrom); -// })), -// MotionCtgType.SHUTTLE_MOVE_FROM_LIFT -// )); -// -// // 绌挎杞︽彁鍗囨満寰呮満浣嶈嚦鍑哄簱搴撲綅 -// motionList.addAll(kernelService.shuttleMove( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(standbyLocNoFrom); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(wrkMast.getSourceLocNo()); -// })), -// MotionCtgType.SHUTTLE_MOVE -// )); -// -// // 绌挎杞﹀嚭搴撹嚦鎻愬崌鏈哄緟鏈轰綅 -// motionList.addAll(kernelService.shuttleMove( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(wrkMast.getSourceLocNo()); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(standbyLocNoFrom); -// })), -// MotionCtgType.SHUTTLE_MOVE_LIFT_PALLET -// )); -// -// // 绌挎杞︽彁鍗囨満寰呮満浣嶈嚦鎻愬崌鏈� -// motionList.addAll(kernelService.shuttleTransport( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo(standbyLocNoFrom); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(liftLocNoFrom); -// })), -// MotionCtgType.SHUTTLE_TRANSPORT_TO_LIFT -// )); -// -// // 绌挎杞︾寮�鎻愬崌鏈� -// motionList.addAll(kernelService.shuttleMove( -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLiftNo(liftSlave.getId()); -// dto.setLocNo(liftLocNoFrom); -// })), -// MotionDto.build((dto -> { -// dto.setShuttleNo(shuttleProtocol.getShuttleNo().intValue()); -// dto.setLocNo( -// ShuttleTempLocType.query(shuttleProtocol.getShuttleNo().intValue(), liftSlave.getId(), Utils.getLev(wrkMast.getSourceLocNo())).locNo -// ); -// })), -// MotionCtgType.SHUTTLE_MOVE_FROM_LIFT -// )); -// -// // 鎻愬崌鏈鸿浇璐хЩ鍔� -// // 鍑哄簱搴撲綅鏄惁涓庤緭閫佺嚎鍑哄簱绔欏睘浜庡悓涓�灞� -// if (!slaveOutSta.getLiftLev().equals(Utils.getLev(wrkMast.getSourceLocNo()))) { -// motionList.addAll(kernelService.liftMoveGoods( -// MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(Utils.getLev(wrkMast.getSourceLocNo())); -// })), -// MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(slaveOutSta.getLiftLev()); -// })) -// )); -// } -// -// LiftNeighborType neighborType = LiftNeighborType.query(liftSlave.getId(), slaveOutSta.getLiftLev(), false, wrkMast.getStaNo()); -// -// // 鎻愬崌鏈鸿繍杈撳埌杈撻�佺嚎 -// motionList.addAll(kernelService.liftTransportGoodsToConveyor( -// MotionDto.build((dto -> { -// dto.setLiftNo(liftSlave.getId()); -// dto.setLev(slaveOutSta.getLiftLev()); -// })), -// MotionDto.build((dto -> { -// dto.setDevpNo(devpSlave.getId()); -// dto.setStaNo(neighborType.staNo); -// })) -// )); -// -// } -// -// shuttleNo = String.valueOf(shuttleProtocol.getShuttleNo()); -// liftNo = String.valueOf(liftProtocol.getLiftNo()); + //绌挎杞﹀嚭鎻愬崌鏈哄悗灏忚溅寰呮満浣� + String shuttleFromLiftStandbyLoc = shuttleStandbyFrom.getStandbyLoc(); + + /** + * 鍑哄簱 + * 涓�銆佸嚭搴撹捣濮嬪眰鏈夌┛姊溅 + * 1.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅 + * 2.鎻愬崌鏈哄埌鍑哄簱璧峰灞� + * 3.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈� + * 4.绌挎杞︾寮�鎻愬崌鏈� + * 5.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛� + * 6.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛 + */ + if (Utils.getLev(shuttleLocNo) == Utils.getLev(originLoc)) { + + //绌挎杞︿笉鍦ㄥ嚭搴撳簱浣� + if (!shuttleLocNo.equals(task.getOriginLoc())) { + // 绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(shuttleLocNo); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(originLoc); + })), + MotionCtgType.SHUTTLE_MOVE + )); + } + + // 绌挎杞﹀嚭搴撻《鍗� + motionList.addAll(kernelService.shuttleAction( + null, + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + })), + MotionCtgType.SHUTTLE_PALLET_LIFT + )); + + // 绌挎杞﹀嚭搴撹嚦鎻愬崌鏈哄緟鏈轰綅 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(originLoc); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(standbyLocNoTo); + })), + MotionCtgType.SHUTTLE_MOVE + )); + + // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰 + motionList.addAll(kernelService.liftMove( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(Utils.getLev(shuttleLocNo)); + })) + )); + + // 閿佸畾鎻愬崌鏈� + motionList.addAll(kernelService.liftLock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + })) + )); + + // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(standbyLocNoTo); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(liftLocNoTo); + })), + MotionCtgType.SHUTTLE_MOVE_TO_LIFT + )); + + // 绌挎杞﹀嚭搴撴墭鐩樹笅闄� + motionList.addAll(kernelService.shuttleAction( + null, + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + })), + MotionCtgType.SHUTTLE_PALLET_DOWN + )); + + // 绌挎杞︾寮�鎻愬崌鏈� - 鍒版彁鍗囨満寰呮満浣� + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(liftLocNoFrom); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(standbyLocNoFrom); + })), + MotionCtgType.SHUTTLE_MOVE_FROM_LIFT + )); + + // 瑙i攣鎻愬崌鏈� + motionList.addAll(kernelService.liftUnlock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + })) + )); + + // 鎻愬崌鏈鸿浇璐хЩ鍔� + motionList.addAll(kernelService.liftMoveGoods( + MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(Utils.getLev(task.getOriginLoc())); + dto.setStaNo(0);//鎻愬崌鏈哄唴渚� + })) + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞� + dto.setStaNo(1);//鎻愬崌鏈哄乏渚� + })) + )); + + // 绌挎杞︽彁鍗囨満寰呮満浣� - 鍒板緟鏈轰綅 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(standbyLocNoFrom); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(shuttleFromLiftStandbyLoc); + })), + MotionCtgType.SHUTTLE_MOVE + )); + + /** + * 浜屻�佸嚭搴撹捣濮嬪眰娌℃湁绌挎杞� + * + * 1.鎻愬崌鏈哄埌绌挎杞﹀眰 + * 2.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈� + * 3.鎻愬崌鏈鸿浇杞﹁嚦鍑哄簱璧峰灞� + * 4.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅 + * 5.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈� + * 6.绌挎杞︾寮�鎻愬崌鏈� + * 7.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛� + * 8.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛 + * + */ + } else { + + // 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄簱浣嶅緟鏈轰綅 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(shuttleLocNo); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(standbyLocNoTo); + })), + MotionCtgType.SHUTTLE_MOVE + )); + + // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰 + motionList.addAll(kernelService.liftMove( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(Utils.getLev(shuttleLocNo)); + })) + )); + + // 閿佸畾鎻愬崌鏈� + motionList.addAll(kernelService.liftLock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + })) + )); + + // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(standbyLocNoTo); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(liftLocNoTo); + })), + MotionCtgType.SHUTTLE_MOVE_TO_LIFT + )); + + // 瑙i攣鎻愬崌鏈� + motionList.addAll(kernelService.liftUnlock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + })) + )); + + // 鎻愬崌鏈烘惉杞� 鑷� 鐩爣浣嶇疆灞� + motionList.addAll(kernelService.liftMoveShuttle( + MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(Utils.getLev(shuttleLocNo)); + })), + MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(Utils.getLev(liftLocNoFrom)); + })) + )); + + // 閿佸畾鎻愬崌鏈� + motionList.addAll(kernelService.liftLock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + })) + )); + + // 鏇存柊灏忚溅鍧愭爣 + motionList.addAll(kernelService.shuttleUpdateLocation( + null + , MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(liftLocNoFrom); + })) + )); + + // 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄緟鏈轰綅 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(liftLocNoFrom); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(standbyLocNoFrom); + })), + MotionCtgType.SHUTTLE_MOVE_FROM_LIFT + )); + + // 瑙i攣鎻愬崌鏈� + motionList.addAll(kernelService.liftUnlock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + })) + )); + + // 绌挎杞︽彁鍗囨満寰呮満浣嶈嚦鍑哄簱搴撲綅 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(standbyLocNoFrom); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(originLoc); + })), + MotionCtgType.SHUTTLE_MOVE + )); + + // 绌挎杞﹀嚭搴撻《鍗� + motionList.addAll(kernelService.shuttleAction( + null, + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + })), + MotionCtgType.SHUTTLE_PALLET_LIFT + )); + + // 绌挎杞﹀嚭搴撹嚦鎻愬崌鏈哄緟鏈轰綅 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(originLoc); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(standbyLocNoTo); + })), + MotionCtgType.SHUTTLE_MOVE + )); + + // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰 + motionList.addAll(kernelService.liftMove( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(Utils.getLev(shuttleLocNo)); + })) + )); + + // 閿佸畾鎻愬崌鏈� + motionList.addAll(kernelService.liftLock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + })) + )); + + // 绌挎杞﹀緟鏈轰綅鑷虫彁鍗囨満 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(standbyLocNoTo); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(liftLocNoTo); + })), + MotionCtgType.SHUTTLE_MOVE_TO_LIFT + )); + + // 绌挎杞﹀嚭搴撴墭鐩樹笅闄� + motionList.addAll(kernelService.shuttleAction( + null, + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + })), + MotionCtgType.SHUTTLE_PALLET_DOWN + )); + + // 绌挎杞︾寮�鎻愬崌鏈� - 鍒版彁鍗囨満寰呮満浣� + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(liftLocNoFrom); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(standbyLocNoFrom); + })), + MotionCtgType.SHUTTLE_MOVE_FROM_LIFT + )); + + // 瑙i攣鎻愬崌鏈� + motionList.addAll(kernelService.liftUnlock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + })) + )); + + // 鎻愬崌鏈鸿浇璐хЩ鍔� + motionList.addAll(kernelService.liftMoveGoods( + MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(Utils.getLev(task.getOriginLoc())); + dto.setStaNo(0);//鎻愬崌鏈哄唴渚� + })) + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞� + dto.setStaNo(1);//鎻愬崌鏈哄乏渚� + })) + )); + + // 绌挎杞︽彁鍗囨満寰呮満浣� - 鍒板緟鏈轰綅 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(standbyLocNoFrom); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(shuttleFromLiftStandbyLoc); + })), + MotionCtgType.SHUTTLE_MOVE + )); + + } + } return motionList; -- Gitblit v1.9.1