From 664b83b2e10025a36b29ad086f68c66cb80e339c Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期三, 02 四月 2025 10:29:20 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/kernel/AnalyzeService.java | 687 +++----------------------------------------------------- 1 files changed, 43 insertions(+), 644 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 cc2ba2e..8542d54 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 @@ -4,11 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zy.asrs.wcs.core.domain.dto.MotionDto; import com.zy.asrs.wcs.core.entity.*; -import com.zy.asrs.wcs.core.model.NavigateNode; import com.zy.asrs.wcs.core.model.enums.*; import com.zy.asrs.wcs.core.service.*; import com.zy.asrs.wcs.core.utils.*; -import com.zy.asrs.wcs.rcs.News; import com.zy.asrs.wcs.rcs.cache.SlaveConnection; import com.zy.asrs.wcs.rcs.entity.Device; import com.zy.asrs.wcs.rcs.model.enums.SlaveType; @@ -125,250 +123,50 @@ return motionList; } - //鑾峰彇灏忚溅寰呮満搴撲綅 ==> 杩涙彁鍗囨満 + //鑾峰彇灏忚溅寰呮満搴撲綅 ==> 鎻愬崌鏈� ShuttleStandby shuttleStandbyTo = shuttleStandbyService.getOne(new LambdaQueryWrapper<ShuttleStandby>() .eq(ShuttleStandby::getDeviceId, transferLiftDevice.getId()) .eq(ShuttleStandby::getDeviceLev, Utils.getLev(shuttleLocNo)) .eq(ShuttleStandby::getStatus, 1)); - //鑾峰彇灏忚溅寰呮満搴撲綅 ==> 鍑烘彁鍗囨満 - ShuttleStandby shuttleStandbyFrom = shuttleStandbyService.getOne(new LambdaQueryWrapper<ShuttleStandby>() - .eq(ShuttleStandby::getDeviceId, transferLiftDevice.getId()) - .eq(ShuttleStandby::getDeviceLev, Utils.getLev(destLoc)) - .eq(ShuttleStandby::getStatus, 1)); - if (shuttleStandbyTo == null || shuttleStandbyFrom == null) { - return motionList; - } - //绌挎杞﹁繘鎻愬崌鏈哄簱浣嶅彿 String liftLocNoTo = shuttleStandbyTo.getDeviceLoc(); - - //绌挎杞﹀嚭鎻愬崌鏈哄簱浣嶅彿 - String liftLocNoFrom = shuttleStandbyFrom.getDeviceLoc(); //绌挎杞﹁繘鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙� 杈撻�佺嚎浣嶇疆 String standbyLocNoTo = shuttleStandbyTo.getDeviceStandbyLoc(); //绌挎杞︽崲灞傛椂寰呮満浣嶇疆 浣跨敤琛ㄥ垪 memo鏁版嵁 String standbyLocNoMemo = shuttleStandbyTo.getMemo(); - //绌挎杞﹀嚭鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙� - String standbyLocNoFrom = shuttleStandbyFrom.getDeviceStandbyLoc(); - - //鎹㈠眰闇�瑕侀攣瀹氱殑璺緞 - List<String> lockPath = shuttleStandbyFrom.getLockPath$(); - // 鍏ュ簱鐩爣灞傛湁绌挎杞� if (Utils.getLev(shuttleLocNo) == Utils.getLev(task.getDestLoc())) { -// // 鎻愬崌鏈鸿浇璐хЩ鍔� -// 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(getStaByLev(Utils.getLev(task.getDestLoc()))); -// dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue()); -// dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 -// })) -// )); - - // 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄簱浣嶅緟鏈轰綅 - motionList.addAll(kernelService.shuttleMove( + // 鎻愬崌鏈鸿浇璐хЩ鍔� + motionList.addAll(kernelService.liftMoveGoods( MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(shuttleLocNo); - })), - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setShuttleDevice(shuttleDevice); - dto.setLocNo(standbyLocNoTo); - })), - 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(standbyLocNoFrom); - })), - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setShuttleDevice(shuttleDevice); dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLocNo(destLoc); -// dto.setReleaseLift(2);//鎵ц涓噴鏀炬彁鍗囨満 - })), - MotionCtgType.SHUTTLE_TRANSPORT - )); - - // 绌挎杞﹀叆搴撴墭鐩樹笅闄� - motionList.addAll(kernelService.shuttleAction( - null, - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - })), - MotionCtgType.SHUTTLE_PALLET_DOWN - )); - - /** - * 浜屻�佸叆搴撶洰鏍囧眰娌℃湁绌挎杞� - */ - } 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(getStaByLev(Utils.getLev(task.getDestLoc()))); -// dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue()); -// dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 -// })) -// )); - - // 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄簱浣嶅緟鏈轰綅 - motionList.addAll(kernelService.shuttleMove( - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(shuttleLocNo); - })), - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setShuttleDevice(shuttleDevice); - dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLocNo(standbyLocNoMemo); - })), - MotionCtgType.SHUTTLE_MOVE - )); - - // 閿佸畾鎹㈠眰璺緞 - motionList.addAll(kernelService.mapLockPath( - null, - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(JSON.toJSONString(lockPath)); + dto.setStaNo(Integer.parseInt(task.getOriginSite()));//鍏ュ簱绔欑偣 })) - )); - - // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰 - 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(standbyLocNoMemo); - })), - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setShuttleDevice(shuttleDevice); - 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(destLoc)); - })) - )); - - // 閿佸畾鎻愬崌鏈� - 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.setShuttleDevice(shuttleDevice); - dto.setLocNo(standbyLocNoFrom); - })), - MotionCtgType.SHUTTLE_MOVE_FROM_LIFT - )); - - // 瑙i攣鎻愬崌鏈� - motionList.addAll(kernelService.liftUnlock( - null - , MotionDto.build((dto -> { - dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLev(Utils.getLev(task.getDestLoc())); + dto.setStaNo(Integer.parseInt(task.getDestSite())); + dto.setDevpNo(basConveyorStaDest.getConveyorDeviceId().intValue()); dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 })) )); - // 瑙i攣鎹㈠眰璺緞 - motionList.addAll(kernelService.mapUnlockPath( - null, + // 绌挎杞﹁蛋琛岃嚦鎻愬崌鏈哄簱浣� + motionList.addAll(kernelService.shuttleMove( MotionDto.build((dto -> { dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(JSON.toJSONString(lockPath)); - })) + dto.setLocNo(shuttleLocNo); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setShuttleDevice(shuttleDevice); + dto.setLocNo(liftLocNoTo); + })), + MotionCtgType.SHUTTLE_MOVE )); // 绌挎杞﹀叆搴撻《鍗� @@ -380,17 +178,33 @@ MotionCtgType.SHUTTLE_PALLET_LIFT )); + // 绌挎杞﹁浇璐ц蛋琛岃嚦寰呮満搴撲綅 + motionList.addAll(kernelService.shuttleMove( + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setLocNo(liftLocNoTo); + })), + MotionDto.build((dto -> { + dto.setShuttleNo(shuttleDevice.getId().intValue()); + dto.setShuttleDevice(shuttleDevice); + dto.setLiftNo(transferLiftDevice.getId().intValue()); + dto.setLocNo(standbyLocNoTo); + })), + MotionCtgType.SHUTTLE_TRANSPORT + )); + // 绌挎杞﹁浇璐ц蛋琛岃嚦鐩爣搴撲綅 motionList.addAll(kernelService.shuttleMove( MotionDto.build((dto -> { dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(standbyLocNoFrom); + dto.setLocNo(standbyLocNoTo); })), MotionDto.build((dto -> { dto.setShuttleNo(shuttleDevice.getId().intValue()); dto.setShuttleDevice(shuttleDevice); dto.setLiftNo(transferLiftDevice.getId().intValue()); dto.setLocNo(destLoc); + dto.setReleaseLift(2);//鎵ц涓噴鏀炬彁鍗囨満 })), MotionCtgType.SHUTTLE_TRANSPORT )); @@ -403,7 +217,6 @@ })), MotionCtgType.SHUTTLE_PALLET_DOWN )); - } } @@ -465,35 +278,14 @@ .eq(ShuttleStandby::getDeviceLev, Utils.getLev(shuttleLocNo)) .eq(ShuttleStandby::getStatus, 1)); - //鑾峰彇灏忚溅寰呮満搴撲綅 ==> 鍑烘彁鍗囨満 - ShuttleStandby shuttleStandbyFrom = shuttleStandbyService.getOne(new LambdaQueryWrapper<ShuttleStandby>() - .eq(ShuttleStandby::getDeviceId, transferLiftDevice.getId()) - .eq(ShuttleStandby::getDeviceLev, Utils.getLev(originLoc)) - .eq(ShuttleStandby::getStatus, 1)); - if (shuttleStandbyTo == null || shuttleStandbyFrom == null) { - return motionList; - } - //绌挎杞﹁繘鎻愬崌鏈哄簱浣嶅彿 String liftLocNoTo = shuttleStandbyTo.getDeviceLoc(); - - //绌挎杞﹀嚭鎻愬崌鏈哄簱浣嶅彿 - String liftLocNoFrom = shuttleStandbyFrom.getDeviceLoc(); //绌挎杞﹁繘鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙� 杈撻�佺嚎浣嶇疆 String standbyLocNoTo = shuttleStandbyTo.getDeviceStandbyLoc(); //绌挎杞︽崲灞傛椂寰呮満浣嶇疆 浣跨敤琛ㄥ垪 memo鏁版嵁 String standbyLocNoMemo = shuttleStandbyTo.getMemo(); - - //绌挎杞﹀嚭鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙� - String standbyLocNoFrom = shuttleStandbyFrom.getDeviceStandbyLoc(); - - //绌挎杞﹀嚭鎻愬崌鏈哄悗鍏ㄩ儴寰呮満浣� - String standbyLocs = shuttleStandbyFrom.getStandbyLoc();//鑾峰彇鍏ㄩ儴寰呮満浣� - - //鎹㈠眰闇�瑕侀攣瀹氱殑璺緞 - List<String> lockPath = shuttleStandbyFrom.getLockPath$(); //鑾峰彇鍑哄簱浠诲姟绫诲瀷 TaskCtg taskCtg = taskCtgService.getOne(new LambdaQueryWrapper<TaskCtg>() @@ -580,245 +372,27 @@ MotionCtgType.SHUTTLE_TRANSPORT_TO_CONVEYOR )); - // 绌挎杞﹀嚭搴撴墭鐩樹笅闄� - 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.setLocNo(standbyLocNoFrom); - })), - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setShuttleDevice(shuttleDevice); - dto.setLocNo(standbyLocs); - dto.setSync(0);//寮傛鎵ц - dto.setReleaseShuttle(1);//鎵ц瀹屾垚鍚庨噴鏀惧皬杞� - })), - MotionCtgType.SHUTTLE_MOVE_STANDBY - )); - - // 鎻愬崌鏈鸿浇璐хЩ鍔� - motionList.addAll(kernelService.liftMoveGoods( - MotionDto.build((dto -> { - dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(Utils.getLev(task.getOriginLoc())); - dto.setStaNo(getStaByLev(Utils.getLev(task.getOriginLoc())));//璧峰绔欑偣 - })) - , MotionDto.build((dto -> { - dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞� - dto.setStaNo(31001);//鍑哄簱绔欑偣 - dto.setDevpNo(basConveyorStaOrigin.getConveyorDeviceId().intValue()); - dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 - })) - )); - - // 杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛 -// motionList.addAll(kernelService.conveyorOutbound( -// MotionDto.build((dto -> { -// dto.setDevpNo(basConveyorPath.getDeviceId().intValue()); -// dto.setStaNo(basConveyorPath.getDeviceStn()); -// })), -// MotionDto.build((dto -> { -// dto.setDevpNo(basConveyorPath.getDeviceId().intValue()); -// dto.setStaNo(basConveyorPath.getStnNo()); -// })), -// MotionCtgType.CONVEYOR_OUTBOUND -// )); - - /** - * 浜屻�佸嚭搴撹捣濮嬪眰娌℃湁绌挎杞� - */ - } 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.setShuttleDevice(shuttleDevice); - dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLocNo(standbyLocNoMemo); - })), - MotionCtgType.SHUTTLE_MOVE - )); - - // 閿佸畾鎹㈠眰璺緞 - motionList.addAll(kernelService.mapLockPath( - null, - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(JSON.toJSONString(lockPath)); - })) - )); - - // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌绌挎杞﹀眰 + // 鎻愬崌鏈虹┖杞界Щ鍔ㄥ埌鍑哄簱灞� motionList.addAll(kernelService.liftMove( null , MotionDto.build((dto -> { dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(Utils.getLev(shuttleLocNo)); + 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(standbyLocNoMemo); + dto.setLocNo(standbyLocNoTo); })), MotionDto.build((dto -> { dto.setShuttleNo(shuttleDevice.getId().intValue()); dto.setShuttleDevice(shuttleDevice); - 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.setShuttleDevice(shuttleDevice); - 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);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 - })) - )); - - // 瑙i攣鎹㈠眰璺緞 - motionList.addAll(kernelService.mapUnlockPath( - null, - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(JSON.toJSONString(lockPath)); - })) - )); - - // 绌挎杞︽彁鍗囨満寰呮満浣嶈嚦鍑哄簱搴撲綅 - 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.setShuttleDevice(shuttleDevice); - dto.setLocNo(originLoc); - })), MotionCtgType.SHUTTLE_MOVE - )); - - // 绌挎杞﹀嚭搴撻《鍗� - motionList.addAll(kernelService.shuttleAction( - null, - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - })), - MotionCtgType.SHUTTLE_PALLET_LIFT - )); - - if (!originLoc.equals(lastPathStartLoc)) { - // 绌挎杞﹁浇璐у嚭搴撹嚦鏈�鍚庝竴娈佃矾寰勭瓑寰� - motionList.addAll(kernelService.shuttleMove( - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(originLoc); - })), - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setShuttleDevice(shuttleDevice); - dto.setLocNo(lastPathStartLoc); - })), - MotionCtgType.SHUTTLE_TRANSPORT - )); - } - - // 绌挎杞﹁浇璐ц嚦鎻愬崌鏈哄緟鏈轰綅 - motionList.addAll(kernelService.shuttleMove( - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(lastPathStartLoc); - })), - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setShuttleDevice(shuttleDevice); - dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLocNo(standbyLocNoFrom); - dto.setStaNo(getStaByLev(Utils.getLev(task.getOriginLoc())));//杈撻�佺珯 - })), - MotionCtgType.SHUTTLE_TRANSPORT_TO_CONVEYOR )); // 绌挎杞﹀嚭搴撴墭鐩樹笅闄� @@ -834,12 +408,12 @@ motionList.addAll(kernelService.shuttleMove( MotionDto.build((dto -> { dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setLocNo(standbyLocNoFrom); + dto.setLocNo(liftLocNoTo); })), MotionDto.build((dto -> { dto.setShuttleNo(shuttleDevice.getId().intValue()); dto.setShuttleDevice(shuttleDevice); - dto.setLocNo(standbyLocs); + dto.setLocNo(standbyLocNoTo); dto.setSync(0);//寮傛鎵ц dto.setReleaseShuttle(1);//鎵ц瀹屾垚鍚庨噴鏀惧皬杞� })), @@ -851,29 +425,15 @@ MotionDto.build((dto -> { dto.setLiftNo(transferLiftDevice.getId().intValue()); dto.setLev(Utils.getLev(task.getOriginLoc())); - dto.setStaNo(getStaByLev(Utils.getLev(task.getOriginLoc())));//璧峰绔欑偣 + dto.setStaNo(Integer.parseInt(task.getOriginSite()));//璧峰绔欑偣 })) , MotionDto.build((dto -> { dto.setLiftNo(transferLiftDevice.getId().intValue()); - dto.setLev(1);//鍏夋嘲1灞傛槸杈撻�佺嚎灞� - dto.setStaNo(31001);//鍑哄簱绔欑偣 + dto.setStaNo(Integer.parseInt(task.getDestSite()));//鍑哄簱绔欑偣 dto.setDevpNo(basConveyorStaOrigin.getConveyorDeviceId().intValue()); dto.setReleaseLift(1);//鎵ц瀹屾垚鍚庨噴鏀炬彁鍗囨満 })) )); - - // 杈撻�佺嚎杩愯緭鑷冲嚭搴撳彛 -// motionList.addAll(kernelService.conveyorOutbound( -// MotionDto.build((dto -> { -// dto.setDevpNo(basConveyorPath.getDeviceId().intValue()); -// dto.setStaNo(basConveyorPath.getDeviceStn()); -// })), -// MotionDto.build((dto -> { -// dto.setDevpNo(basConveyorPath.getDeviceId().intValue()); -// dto.setStaNo(basConveyorPath.getStnNo()); -// })), -// MotionCtgType.CONVEYOR_OUTBOUND -// )); } @@ -915,51 +475,12 @@ String shuttleLocNo = shuttleProtocol.getCurrentLocNo(); - //鑾峰彇璺濈鐩爣浣嶇疆鏈�杩戠殑绌洪棽鍙崲灞傛彁鍗囨満 - LiftThread liftThread = liftDispatcher.searchIdleLift(shuttleLocNo, task.getHostId(), true); - if (liftThread == null) { - return motionList; - } - Device transferLiftDevice = liftThread.getDevice(); - - LiftProtocol liftProtocol = liftThread.getStatus(); - if (liftProtocol == null || liftProtocol.getLiftNo() == null) { - return motionList; - } - //妫�娴嬬┛姊溅鏄惁鏈変换鍔$粦瀹� boolean shuttleResult = Utils.checkShuttleHasBinding(shuttleDevice, task.getTaskNo()); if (shuttleResult) { //瀛樺湪浠诲姟锛岀姝㈣В鏋� return motionList; } - - //鑾峰彇灏忚溅寰呮満搴撲綅 ==> 杩涙彁鍗囨満 - ShuttleStandby shuttleStandbyTo = shuttleStandbyService.getOne(new LambdaQueryWrapper<ShuttleStandby>() - .eq(ShuttleStandby::getDeviceId, transferLiftDevice.getId()) - .eq(ShuttleStandby::getDeviceLev, Utils.getLev(shuttleLocNo)) - .eq(ShuttleStandby::getStatus, 1)); - - //鑾峰彇灏忚溅寰呮満搴撲綅 ==> 鍑烘彁鍗囨満 - ShuttleStandby shuttleStandbyFrom = shuttleStandbyService.getOne(new LambdaQueryWrapper<ShuttleStandby>() - .eq(ShuttleStandby::getDeviceId, transferLiftDevice.getId()) - .eq(ShuttleStandby::getDeviceLev, Utils.getLev(chargeLocNo)) - .eq(ShuttleStandby::getStatus, 1)); - if (shuttleStandbyTo == null || shuttleStandbyFrom == null) { - return motionList; - } - - //绌挎杞﹁繘鎻愬崌鏈哄簱浣嶅彿 - String liftLocNoTo = shuttleStandbyTo.getDeviceLoc(); - - //绌挎杞﹀嚭鎻愬崌鏈哄簱浣嶅彿 - String liftLocNoFrom = shuttleStandbyFrom.getDeviceLoc(); - - //绌挎杞﹁繘鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙� - String standbyLocNoTo = shuttleStandbyTo.getDeviceStandbyLoc(); - - //绌挎杞﹀嚭鎻愬崌鏈哄緟鏈轰綅搴撲綅鍙� - String standbyLocNoFrom = shuttleStandbyFrom.getDeviceStandbyLoc(); // 鍒ゆ柇绌挎杞︽槸鍚﹀湪鍏呯數灞� if (Utils.getLev(shuttleLocNo) == Utils.getLev(chargeLocNo)) { @@ -969,128 +490,6 @@ MotionDto.build((dto -> { dto.setShuttleNo(shuttleDevice.getId().intValue()); dto.setLocNo(shuttleLocNo); - })), - MotionDto.build((dto -> { - dto.setShuttleNo(shuttleDevice.getId().intValue()); - dto.setShuttleDevice(shuttleDevice); - dto.setLocNo(chargeLocNo); - })), - MotionCtgType.SHUTTLE_MOVE - )); - - } 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.setShuttleDevice(shuttleDevice); - 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.setShuttleDevice(shuttleDevice); - 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(chargeLocNo)); - })) - )); - - // 閿佸畾鎻愬崌鏈� - 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.setShuttleDevice(shuttleDevice); - 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.setLocNo(standbyLocNoFrom); })), MotionDto.build((dto -> { dto.setShuttleNo(shuttleDevice.getId().intValue()); @@ -1204,7 +603,7 @@ return motionList; } - String shuttleLocNo = shuttleProtocol.getCurrentLocNo(); + String shuttleLocNo = task.getOriginLoc(); // 鍒ゆ柇绌挎杞︽槸鍚﹀湪鐩爣灞� if (Utils.getLev(shuttleLocNo) == Utils.getLev(locNo)) { -- Gitblit v1.9.1