From 5fd478fcee23bbdac0fe4fbe9becdd2a28d14c56 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期六, 13 七月 2024 14:27:04 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java | 282 ++++++++++++-------------------------------------------- 1 files changed, 62 insertions(+), 220 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 46b9d35..b433be8 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 @@ -67,12 +67,6 @@ /** * 鍏ュ簱 - * 涓�銆佸叆搴撶洰鏍囧眰鏈夌┛姊溅 - * 1.鎻愬崌鏈哄崌闄嶅埌婧愬眰 - * 2.璐х墿浠庤緭閫佺嚎鍒版彁鍗囨満 - * 3.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛� - * 4.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈� - * 5.绌挎杞﹀叆搴撹嚦鐩爣搴撲綅 */ if (task.getTaskSts() == TaskStsType.NEW_INBOUND.sts) { // locNo @@ -151,13 +145,13 @@ motionList.addAll(kernelService.liftMoveGoods( MotionDto.build((dto -> { dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞� - dto.setStaNo(1);//鎻愬崌鏈哄乏渚� + dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞� + dto.setStaNo(31004);//鍏ュ簱绔欑偣 })) , MotionDto.build((dto -> { dto.setLiftNo(transferLiftDevice.getId().intValue()); dto.setLev(Utils.getLev(task.getDestLoc())); - dto.setStaNo(0);//鎻愬崌鏈哄唴渚� + dto.setStaNo(Integer.parseInt(task.getDestSite())); dto.setSync(0);//寮傛鎵ц })) )); @@ -175,28 +169,6 @@ MotionCtgType.SHUTTLE_MOVE )); - // 閿佸畾鎻愬崌鏈� - 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, @@ -204,29 +176,6 @@ dto.setShuttleNo(shuttleDevice.getId().intValue()); })), MotionCtgType.SHUTTLE_PALLET_LIFT - )); - - // 绌挎杞﹀叆搴撶Щ鍔ㄨ嚦鎻愬崌鏈哄緟鏈轰綅 - 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()); - dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 - })) )); // 绌挎杞﹁蛋琛岃嚦鐩爣搴撲綅 @@ -254,14 +203,22 @@ /** * 浜屻�佸叆搴撶洰鏍囧眰娌℃湁绌挎杞� - * 1.鎻愬崌鏈哄崌闄嶅埌绌挎杞﹀眰 - * 2.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄緟鏈轰綅 - * 3.鎻愬崌鏈烘惉杩愮┛姊溅鑷崇洰鏍囧眰 - * 4.璐х墿浠庤緭閫佺嚎鍒版彁鍗囨満 - * 5.鎻愬崌鏈鸿浇杞︿笌璐хЩ鍔紙闈炲繀闇�锛� - * 6.绌挎杞﹀叆搴撹嚦鐩爣搴撲綅 */ } else { + + // 鎻愬崌鏈鸿浇璐хЩ鍔� + motionList.addAll(kernelService.liftMoveGoods( + MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞� + dto.setStaNo(31004);//鍏ュ簱绔欑偣 + })) + , MotionDto.build((dto -> { + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(Utils.getLev(task.getDestLoc())); + dto.setStaNo(Integer.parseInt(task.getDestSite())); + })) + )); // 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄簱浣嶅緟鏈轰綅 motionList.addAll(kernelService.shuttleMove( @@ -316,17 +273,15 @@ })) )); - // 鎻愬崌鏈鸿浇璐хЩ鍔� - motionList.addAll(kernelService.liftMoveGoods( + // 鎻愬崌鏈烘惉杞� 鑷� 鐩爣浣嶇疆灞� + motionList.addAll(kernelService.liftMoveShuttle( MotionDto.build((dto -> { dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞� - dto.setStaNo(1);//鎻愬崌鏈哄乏渚� - })) - , MotionDto.build((dto -> { + dto.setLev(Utils.getLev(shuttleLocNo)); + })), + MotionDto.build((dto -> { dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(Utils.getLev(task.getDestLoc())); - dto.setStaNo(0);//鎻愬崌鏈哄唴渚� + dto.setLev(Utils.getLev(destLoc)); })) )); @@ -338,15 +293,6 @@ })) )); - // 绌挎杞﹀叆搴撻《鍗� - motionList.addAll(kernelService.shuttleAction( - null, - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - })), - MotionCtgType.SHUTTLE_PALLET_LIFT - )); - // 鏇存柊灏忚溅鍧愭爣 motionList.addAll(kernelService.shuttleUpdateLocation( null @@ -356,7 +302,7 @@ })) )); - // 绌挎杞﹀叆搴撶Щ鍔ㄨ嚦鎻愬崌鏈哄緟鏈轰綅 + // 绌挎杞︾Щ鍔ㄨ嚦鎻愬崌鏈哄緟鏈轰綅 motionList.addAll(kernelService.shuttleMove( MotionDto.build((dto -> { dto.setShuttleNo(shuttleDevice.getId().intValue()); @@ -377,6 +323,15 @@ dto.setLiftNo(transferLiftDevice.getId().intValue()); dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 })) + )); + + // 绌挎杞﹀叆搴撻《鍗� + motionList.addAll(kernelService.shuttleAction( + null, + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + })), + MotionCtgType.SHUTTLE_PALLET_LIFT )); // 绌挎杞﹁蛋琛岃嚦鐩爣搴撲綅 @@ -500,13 +455,6 @@ /** * 鍑哄簱 - * 涓�銆佸嚭搴撹捣濮嬪眰鏈夌┛姊溅 - * 1.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅 - * 2.鎻愬崌鏈哄埌鍑哄簱璧峰灞� - * 3.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈� - * 4.绌挎杞︾寮�鎻愬崌鏈� - * 5.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛� - * 6.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛 */ if (Utils.getLev(shuttleLocNo) == Utils.getLev(originLoc)) { @@ -549,37 +497,6 @@ 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, @@ -589,39 +506,17 @@ 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);//鎻愬崌鏈哄唴渚� + dto.setStaNo(Integer.parseInt(task.getOriginSite()));//璧峰绔欑偣 })) , MotionDto.build((dto -> { dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞� - dto.setStaNo(1);//鎻愬崌鏈哄乏渚� + dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞� + dto.setStaNo(31004);//鍑哄簱绔欑偣 dto.setSync(0);//寮傛鎵ц dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 })) @@ -655,16 +550,6 @@ /** * 浜屻�佸嚭搴撹捣濮嬪眰娌℃湁绌挎杞� - * - * 1.鎻愬崌鏈哄埌绌挎杞﹀眰 - * 2.绌挎杞﹁蛋琛岃嚦鎻愬崌鏈� - * 3.鎻愬崌鏈鸿浇杞﹁嚦鍑哄簱璧峰灞� - * 4.绌挎杞﹁蛋琛岃嚦鍑哄簱搴撲綅 - * 5.绌挎杞﹀嚭搴撹嚦鎻愬崌鏈� - * 6.绌挎杞︾寮�鎻愬崌鏈� - * 7.鎻愬崌鏈鸿浇璐хЩ鍔紙闈炲繀闇�锛� - * 8.杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛 - * */ } else { @@ -810,37 +695,6 @@ MotionCtgType.SHUTTLE_MOVE )); - // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌鐩爣灞� - motionList.addAll(kernelService.liftMove( - null - , MotionDto.build((dto -> { - dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(Utils.getLev(originLoc)); - })) - )); - - // 閿佸畾鎻愬崌鏈� - 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(standbyLocNoFrom); - })), - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLocNo(liftLocNoFrom); - })), - MotionCtgType.SHUTTLE_MOVE_TO_LIFT - )); - // 绌挎杞﹀嚭搴撴墭鐩樹笅闄� motionList.addAll(kernelService.shuttleAction( null, @@ -850,40 +704,19 @@ 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);//鎻愬崌鏈哄唴渚� + dto.setStaNo(Integer.parseInt(task.getOriginSite()));//璧峰绔欑偣 })) , MotionDto.build((dto -> { dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(5);//绱㈢墝椤圭洰5灞傛槸杈撻�佺嚎灞� - dto.setStaNo(1);//鎻愬崌鏈哄乏渚� + dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞� + dto.setStaNo(31004);//鍑哄簱绔欑偣 dto.setSync(0);//寮傛鎵ц + dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 })) )); @@ -1324,14 +1157,6 @@ MotionCtgType.SHUTTLE_MOVE_TO_LIFT )); - // 鍚戞彁鍗囨満鍙戦�佸皬杞﹀凡鍒颁綅淇″彿 - motionList.addAll(kernelService.liftShuttleArrival( - null - , MotionDto.build((dto -> { - dto.setLiftNo(liftDevice.getId().intValue()); - })) - )); - // 瑙i攣鎻愬崌鏈� motionList.addAll(kernelService.liftUnlock( null @@ -1420,7 +1245,7 @@ String sourceLoc = task.getOriginLoc();//婧愬簱浣� String targetLoc = task.getDestLoc();//浠诲姟鐩爣(鍊熺敤瀛楁) - String targetSite = task.getDestSite();//浠诲姟绫诲瀷(鍊熺敤瀛楁) + String targetSite = task.getMemo();//浠诲姟绫诲瀷(鍊熺敤瀛楁) Device device = deviceService.getOne(new LambdaQueryWrapper<Device>() .eq(Device::getDeviceNo, task.getShuttleNo()) @@ -1564,7 +1389,8 @@ return motionList; } - if (task.getDestSite().equals("move")) { + String destSite = task.getMemo();//浠诲姟鐩爣(鍊熺敤瀛楁) + if (destSite.equals("move")) { //鎻愬崌鏈哄崌闄嶆ゼ灞� // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰 @@ -1576,23 +1402,39 @@ })) )); - } else if (task.getDestSite().equals("movePallet")) { + } else if (destSite.equals("movePallet")) { //绉诲姩鎵樼洏 // 鎻愬崌鏈虹Щ鍔ㄦ墭鐩� motionList.addAll(kernelService.liftMoveGoods( MotionDto.build((dto -> { dto.setLiftNo(device.getId().intValue()); - dto.setLev(Integer.parseInt(task.getOriginLoc())); + dto.setLev(0); dto.setStaNo(Integer.parseInt(task.getOriginSite())); })) , MotionDto.build((dto -> { dto.setLiftNo(device.getId().intValue()); - dto.setLev(Integer.parseInt(task.getDestLoc())); + dto.setLev(0); dto.setStaNo(Integer.parseInt(task.getDestSite())); })) )); + } else if (destSite.equals("lock")) { + // 閿佸畾鎻愬崌鏈� + motionList.addAll(kernelService.liftLock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(device.getId().intValue()); + })) + )); + } else if (destSite.equals("unlock")) { + // 瑙i攣鎻愬崌鏈� + motionList.addAll(kernelService.liftUnlock( + null + , MotionDto.build((dto -> { + dto.setLiftNo(device.getId().intValue()); + })) + )); } return motionList; -- Gitblit v1.9.1