From 7238380a5daef00c94eba911d6a6f560a538ed55 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期一, 13 一月 2025 16:48:11 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 118 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 62 insertions(+), 56 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 0cee555..1514ae1 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -839,32 +839,44 @@ //灏嗕换鍔℃。鏍囪涓哄畬鎴� WrkMast wrkMast = wrkMastService.selectByWorkNo(shuttleProtocol.getTaskNo()); if (wrkMast != null) { - switch (wrkMast.getWrkSts().intValue()) { -// case 5://5.灏忚溅鎼繍涓� ==> 9.鍏ュ簱瀹屾垚 -// wrkMast.setWrkSts(9L); -// shuttleProtocol.setTaskNo(0); -// if (shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) { -// //閲婃斁灏忚溅浠ょ墝 -// shuttleProtocol.setToken(0); -// } -// break; -// case 22://22.灏忚溅鎼繍涓� ==> 23.灏忚溅鎼繍瀹屾垚 -// wrkMast.setWrkSts(23L); -// shuttleProtocol.setTaskNo(0); -// if (shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) { -// //閲婃斁灏忚溅浠ょ墝 -// shuttleProtocol.setToken(0); -// } -// break; - case 302://302.灏忚溅绉诲姩鑷崇珯鐐� ==> 303.灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� - wrkMast.setWrkSts(WrkStsType.MOVE_SITE_COMPLETE.sts); - break; - case 110://310.灏忚溅绉诲姩涓� ==> 311.灏忚溅绉诲姩瀹屾垚 - wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts); - shuttleThread.setTaskNo(0); - break; - default: + if (wrkMast.getWrkSts() == WrkStsType.MOVE_SITE.sts) { + //302.灏忚溅绉诲姩鑷崇珯鐐� ==> 303.灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� + wrkMast.setWrkSts(WrkStsType.MOVE_SITE_COMPLETE.sts); + } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_SHUTTLE.sts) { + //310.灏忚溅绉诲姩涓� ==> 311.灏忚溅绉诲姩瀹屾垚 + wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts); + shuttleThread.setSyncTaskNo(0); + } else if (wrkMast.getWrkSts() == WrkStsType.CHARGE_SHUTTLE_WORKING.sts) { + //204.灏忚溅鍏呯數涓� ==> 205.灏忚溅鍏呯數瀹屾垚 + wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts); + shuttleThread.setSyncTaskNo(0); } +// switch (wrkMast.getWrkSts().intValue()) { +//// case 5://5.灏忚溅鎼繍涓� ==> 9.鍏ュ簱瀹屾垚 +//// wrkMast.setWrkSts(9L); +//// shuttleProtocol.setTaskNo(0); +//// if (shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) { +//// //閲婃斁灏忚溅浠ょ墝 +//// shuttleProtocol.setToken(0); +//// } +//// break; +//// case 22://22.灏忚溅鎼繍涓� ==> 23.灏忚溅鎼繍瀹屾垚 +//// wrkMast.setWrkSts(23L); +//// shuttleProtocol.setTaskNo(0); +//// if (shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) { +//// //閲婃斁灏忚溅浠ょ墝 +//// shuttleProtocol.setToken(0); +//// } +//// break; +// case 302: +// wrkMast.setWrkSts(WrkStsType.MOVE_SITE_COMPLETE.sts); +// break; +// case WrkStsType.MOVE_SHUTTLE.sts: +// wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts); +// shuttleThread.setSyncTaskNo(0); +// break; +// default: +// } if (wrkMastService.updateById(wrkMast)) { //璁剧疆鍥涘悜绌挎杞︿负绌洪棽鐘舵�� @@ -1833,7 +1845,7 @@ */ public synchronized void executeShuttleCharge() { try { - //鏌ヨ灏忚溅绉诲簱浠诲姟 + //鏌ヨ灏忚溅鍏呯數浠诲姟 for (ShuttleSlave shuttle : slaveProperties.getShuttle()) { WrkMast wrkMast = wrkMastService.selectChargeWorking(shuttle.getId()); if(wrkMast == null) { @@ -2001,12 +2013,6 @@ List<ShuttleCommand> commands = shuttleOperaUtils.getShuttleChargeCommand(assignCommand, shuttleThread, false); assignCommand.setCommands(commands);//杩愯鍛戒护 - wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts); - wrkMast.setModiTime(new Date()); - if (!wrkMastService.updateById(wrkMast)) { - return false; - } - //涓嬪彂浠诲姟 shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand); return false; @@ -2026,22 +2032,22 @@ return false; } - ShuttleChargeType chargeType = ShuttleChargeType.get(wrkMast.getMk()); + ShuttleChargeType chargeType = ShuttleChargeType.get(Integer.parseInt(wrkMast.getMk())); if(chargeType == null) { + return false; + } + + //璋冨害灏忚溅鍘诲緟鏈轰綅 + boolean dispatched = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), chargeType.waitLocNo, wrkMast.getShuttleNo()); + if (!dispatched) { return false; } wrkMast.setWrkSts(WrkStsType.COMPLETE_CHARGE.sts); wrkMast.setModiTime(new Date()); if (wrkMastService.updateById(wrkMast)) { - //璋冨害灏忚溅鍘诲緟鏈轰綅 - boolean dispatched = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), chargeType.waitLocNo, wrkMast.getShuttleNo()); - if (!dispatched) { - return false; - } return false; } - return false; } return true; @@ -2142,23 +2148,23 @@ assignCommand.setCommands(commands); - //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�*************** - List<NavigateNode> targetNodes = ForkLiftUtils.getLiftStaNodes(wrkMast.getStaNo()); - if (targetNodes == null) { - return false;//鏈幏鍙栧埌鑺傜偣 - } - boolean checkPathIsAvailable = navigateUtils.checkPathIsAvailable(targetNodes, shuttleProtocol.getShuttleNo(), Utils.getLev(wrkMast.getLocNo())); - if (!checkPathIsAvailable) { - News.info("{}浠诲姟锛寋}灏忚溅锛岀洰鏍囩珯鐐硅矾寰勮鍗犵敤锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); - return false;//妫�娴嬬洰鏍囩珯鐐硅矾寰勬槸鍚︽湭琚崰鐢� - } - //灏濊瘯閿佸畾鐩爣绔欒矾寰� - boolean result2 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), shuttleProtocol.getShuttleNo(), targetNodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢� - if (!result2) { - News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勯攣瀹氬け璐ワ紝绂佹娲惧彂", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); - return false;//璺緞閿佸畾澶辫触 - } - //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�*************** +// //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�*************** +// List<NavigateNode> targetNodes = ForkLiftUtils.getLiftStaNodes(wrkMast.getStaNo()); +// if (targetNodes == null) { +// return false;//鏈幏鍙栧埌鑺傜偣 +// } +// boolean checkPathIsAvailable = navigateUtils.checkPathIsAvailable(targetNodes, shuttleProtocol.getShuttleNo(), Utils.getLev(wrkMast.getLocNo())); +// if (!checkPathIsAvailable) { +// News.info("{}浠诲姟锛寋}灏忚溅锛岀洰鏍囩珯鐐硅矾寰勮鍗犵敤锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); +// return false;//妫�娴嬬洰鏍囩珯鐐硅矾寰勬槸鍚︽湭琚崰鐢� +// } +// //灏濊瘯閿佸畾鐩爣绔欒矾寰� +// boolean result2 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), shuttleProtocol.getShuttleNo(), targetNodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢� +// if (!result2) { +// News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勯攣瀹氬け璐ワ紝绂佹娲惧彂", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo()); +// return false;//璺緞閿佸畾澶辫触 +// } +// //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�*************** wrkMast.setWrkSts(WrkStsType.MOVE_SITE.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 302.灏忚溅绉诲姩鑷崇珯鐐� wrkMast.setModiTime(now); -- Gitblit v1.9.1