From 7aceb7f1be45ad110ff57cb89faecafe1754f205 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期五, 11 四月 2025 16:21:45 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java | 99 +++++++++++++++++++------------------------------ 1 files changed, 38 insertions(+), 61 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java index 1d0e7f3..00e2be6 100644 --- a/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/NoLiftInServiceImpl.java @@ -5,7 +5,6 @@ import com.zy.asrs.service.WrkMastService; import com.zy.asrs.utils.NotifyUtils; import com.zy.asrs.utils.Utils; -import com.zy.common.model.NavigateNode; import com.zy.common.model.enums.NavigationMapType; import com.zy.common.service.CommonService; import com.zy.common.utils.LiftUtils; @@ -137,7 +136,7 @@ if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) { //灏忚溅鍦ㄥ彇璐х偣 - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_1.sts);//灏忚溅绉诲姩鍒拌緭閫佺嚎 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣 + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_1.sts);//灏忚溅绉诲姩鍒拌緭閫佺嚎 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣 wrkMast.setModiTime(now); wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMastService.updateById(wrkMast); @@ -150,7 +149,7 @@ return false; } - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_1.sts);//灏忚溅绉诲姩鍒拌緭閫佺嚎 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣 + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_1.sts);//灏忚溅绉诲姩鍒拌緭閫佺嚎 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 鍛煎彨灏忚溅鑷冲彇璐х偣 wrkMast.setModiTime(now); wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMastService.updateById(wrkMast); @@ -170,7 +169,7 @@ Date now = new Date(); //灏忚溅绉诲姩鑷崇珯鐐� 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 302.灏忚溅绉诲姩鑷崇珯鐐逛腑 - if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_2.sts) { + if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_2.sts) { //鑾峰彇鍥涘悜绌挎杞︾嚎绋� ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo()); if (shuttleThread == null) { @@ -223,9 +222,16 @@ commands.addAll(moveCommands); } + List<ShuttleCommand> liftCommand = shuttleOperaUtils.getShuttleLiftCommand(assignCommand, shuttleThread, true); + if (liftCommand == null) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅鑾峰彇椤跺崌鍛戒护澶辫触", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); + return false; + } + commands.addAll(0, liftCommand); + assignCommand.setCommands(commands); - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_3.sts);//灏忚溅绉诲姩鍒板緟鏈虹偣 + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_3.sts);//灏忚溅绉诲姩鍒板緟鏈虹偣 wrkMast.setModiTime(now); wrkMast.setSystemMsg("");//娓呯┖娑堟伅 if (wrkMastService.updateById(wrkMast)) { @@ -250,7 +256,7 @@ //--------------------------------------灏忚溅杩佸叆鎻愬崌鏈�-----------------------------------------// Date now = new Date(); //灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞� - if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_4.sts) { + if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_4.sts) { //鑾峰彇鍥涘悜绌挎杞︾嚎绋� ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo()); if (shuttleThread == null) { @@ -335,7 +341,7 @@ //鍒ゆ柇鎻愬崌鏈烘ゼ灞� if (liftProtocol.getLev() == Utils.getLev(shuttleProtocol.getCurrentLocNo())) { //鎻愬崌鏈哄湪灏忚溅妤煎眰 - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_6.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_6.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� wrkMast.setModiTime(now); wrkMastService.updateById(wrkMast); return false; @@ -359,7 +365,7 @@ assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); assignCommand.setTaskMode(LiftCommandModeType.MOVE.id.shortValue()); - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_5.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞� + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_5.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞� wrkMast.setLiftNo(liftProtocol.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈� wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMast.setModiTime(now); @@ -386,7 +392,7 @@ //--------------------------------------灏忚溅杩佸叆鎻愬崌鏈�-----------------------------------------// Date now = new Date(); //灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� ==> 灏忚溅杩佸叆鎻愬崌鏈轰腑 - if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_6.sts) { + if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_6.sts) { //鑾峰彇鍥涘悜绌挎杞︾嚎绋� ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo()); if (shuttleThread == null) { @@ -471,7 +477,7 @@ assignCommand.setCommands(commands); - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_7.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� ==> 灏忚溅杩佸叆鎻愬崌鏈轰腑 + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_7.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴� ==> 灏忚溅杩佸叆鎻愬崌鏈轰腑 wrkMast.setModiTime(now); if (wrkMastService.updateById(wrkMast)) { //涓嬪彂浠诲姟 @@ -496,7 +502,7 @@ //--------------------------------------灏忚溅杩佸叆鎻愬崌鏈�-----------------------------------------// Date now = new Date(); //灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅杩佸叆鎻愬崌鏈哄畬鎴� ==> 鎻愬崌鏈鸿嚦鏀捐揣灞� - if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_8.sts) { + if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_8.sts) { if (wrkMast.getLiftNo() == null) { News.info("{}浠诲姟鏈粦瀹氭彁鍗囨満", wrkMast.getWrkNo()); return false; @@ -559,7 +565,7 @@ assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); assignCommand.setTaskMode(LiftCommandModeType.MOVE.id.shortValue()); - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_9.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅杩佸叆鎻愬崌鏈哄畬鎴� ==> 鎻愬崌鏈鸿嚦鏀捐揣灞� + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_9.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅杩佸叆鎻愬崌鏈哄畬鎴� ==> 鎻愬崌鏈鸿嚦鏀捐揣灞� wrkMast.setLiftNo(liftProtocol.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈� wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMast.setModiTime(now); @@ -586,7 +592,7 @@ //--------------------------------------灏忚溅杩佸叆鎻愬崌鏈�-----------------------------------------// Date now = new Date(); //灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦鏀捐揣灞傚畬鎴� ==> 灏忚溅杩佸嚭鎻愬崌鏈轰腑 - if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_10.sts) { + if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_10.sts) { //鑾峰彇鍥涘悜绌挎杞︾嚎绋� ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo()); if (shuttleThread == null) { @@ -691,15 +697,10 @@ return false; } - List<ShuttleCommand> liftCommand = shuttleOperaUtils.getShuttleLiftCommand(assignCommand, shuttleThread, true); - if (liftCommand == null) { - News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅鑾峰彇椤跺崌鍛戒护澶辫触", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); - return false; - } - commands.addAll(0, liftCommand); + assignCommand.setCommands(commands); - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_11.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦鏀捐揣灞傚畬鎴� ==> 灏忚溅杩佸嚭鎻愬崌鏈轰腑 + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_11.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 鎻愬崌鏈鸿嚦鏀捐揣灞傚畬鎴� ==> 灏忚溅杩佸嚭鎻愬崌鏈轰腑 wrkMast.setModiTime(now); if (wrkMastService.updateById(wrkMast)) { //涓嬪彂浠诲姟 @@ -725,7 +726,7 @@ Date now = new Date(); //灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴� ==> 灏忚溅鏀捐揣涓� - if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_12.sts) { + if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_12.sts) { //鑾峰彇鍥涘悜绌挎杞︾嚎绋� ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo()); if (shuttleThread == null) { @@ -769,7 +770,7 @@ assignCommand.setCommands(commands); - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_13.sts);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴� ==> 灏忚溅鏀捐揣涓� + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_13.sts);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴� ==> 灏忚溅鏀捐揣涓� wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈� wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMast.setModiTime(now); @@ -792,35 +793,8 @@ Date now = new Date(); //灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 309.灏忚溅杩佸嚭鎻愬崌鏈哄畬鎴� ==> 310.灏忚溅绉诲姩涓� - if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_2.sts) { + if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_1.sts) { - List<NavigateNode> targetNodes = null; - if (wrkMast.getLiftNo() != null) { - //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 - WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo()); - if (liftWrkMast != null) { - if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚� - News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); - return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇� - } - } - - LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, wrkMast.getLiftNo()); - if (liftThread == null) { - News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満绾跨▼涓嶅瓨鍦紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo()); - return false; - } - - //灏忚溅鐩爣灏辨槸鎻愬崌鏈轰綅缃紝鐩存帴璁ゅ畾灏忚溅绉诲姩浠诲姟瀹屾垚 - if (liftThread.getLiftLocNo(Utils.getLev(wrkMast.getLocNo())).equals(wrkMast.getLocNo())) { - wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);//311.灏忚溅绉诲姩瀹屾垚 - wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈� - wrkMast.setModiTime(now); - wrkMastService.updateById(wrkMast); - return false; - } - - } //鑾峰彇鍥涘悜绌挎杞︾嚎绋� ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo()); @@ -838,14 +812,6 @@ return false; } - //灏忚溅宸茬粡鍦ㄧ洰鏍囧簱浣嶏紝鐩存帴璁ゅ畾灏忚溅绉诲姩浠诲姟瀹屾垚 - if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getLocNo())) { - wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);//311.灏忚溅绉诲姩瀹屾垚 - wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈� - wrkMast.setModiTime(now); - wrkMastService.updateById(wrkMast); - return false; - } ShuttleAssignCommand assignCommand = new ShuttleAssignCommand(); assignCommand.setShuttleNo(shuttleProtocol.getShuttleNo()); // 鍥涘悜绌挎杞︾紪鍙� @@ -856,7 +822,6 @@ assignCommand.setLocNo(wrkMast.getLocNo());//鐩爣搴撲綅 List<ShuttleCommand> commands = new ArrayList<>(); - List<ShuttleCommand> liftCommand = null; Integer mapType = NavigationMapType.NORMAL.id; List<ShuttleCommand> moveCommands = shuttleOperaUtils.getStartToTargetCommands(shuttleProtocol.getCurrentLocNo(), wrkMast.getLocNo(), mapType, assignCommand, shuttleThread); @@ -867,10 +832,22 @@ commands.addAll(moveCommands); + List<ShuttleCommand> liftCommand = shuttleOperaUtils.getShuttleLiftCommand(assignCommand, shuttleThread, true); + if (liftCommand == null) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅鑾峰彇椤跺崌鍛戒护澶辫触", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); + return false; + } + commands.addAll(0, liftCommand); + + List<ShuttleCommand> liftCommandDown = shuttleOperaUtils.getShuttleLiftCommand(assignCommand, shuttleThread, false); + if (liftCommandDown == null) { + News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅鑾峰彇涓嬮檷鍛戒护澶辫触", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); + return false; + } + commands.addAll(liftCommandDown); assignCommand.setCommands(commands); - wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_13.sts);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 - wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈� + wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_13.sts);//灏忚溅绉诲姩鍒扮洰鏍囧簱浣嶄腑 wrkMast.setSystemMsg("");//娓呯┖娑堟伅 wrkMast.setModiTime(now); -- Gitblit v1.9.1