From 0b7dae5aadc7e4bcd61074fdf8cdd786a23f8f18 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 02 十二月 2022 10:42:26 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 53 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 36 insertions(+), 17 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 15a9e9e..754a3cc 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -970,11 +970,11 @@ } // 缃《浠诲姟 - wrkMast.setIoPri((double) 9999); + wrkMast.setIoPri((double) 9998); wrkMastMapper.updateById(wrkMast); // 鍒ゆ柇鏄惁涓虹┛姊簱 - if (!locMastService.isShuttle(wrkMast.getLocNo())) { + if (!locMastService.isShuttle(wrkMast.getSourceLocNo())) { // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) { @@ -987,7 +987,7 @@ log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); } else { if(waitWrkMast.getWrkSts() == 11) { - waitWrkMast.setIoPri(20D); + waitWrkMast.setIoPri(wrkMast.getIoPri() + 1); waitWrkMast.setModiTime(new Date()); if (wrkMastMapper.updateById(waitWrkMast) == 0) { log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo()); @@ -1327,7 +1327,14 @@ SteProtocol steProtocol = steThread.getSteProtocol(); if (steProtocol == null) { continue; } if (!steProtocol.isIdle()) { continue; } + if (steProtocol.getRow() == 1) { continue; } String locNo = wrkMast.getWrkSts() < 10 ? wrkMast.getLocNo() : wrkMast.getSourceLocNo(); + // 濡傛灉鍦ㄥ悓涓�涓簱浣嶇粍 + if (Utils.getGroupRow(locNo, true).equals(Utils.getGroupRow(steProtocol.getRow().intValue(), true)) + && steProtocol.getBay().intValue() == Utils.getBay(locNo) + && steProtocol.getLev().intValue() == Utils.getLev(locNo)) { + return steThread; + } LocMast locMast = locMastService.selectById(locNo); int lev = locMast.getLev1(); int bay = locMast.getBay1(); @@ -1853,6 +1860,9 @@ Date now = new Date(); wrkMast.setCrnEndTime(now); wrkMast.setModiTime(now); + LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); + Integer outCrnNo = locMastService.getOutCrnNo(locMast); + wrkMast.setCrnNo(outCrnNo); // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 if (wrkMastMapper.updateById(wrkMast) > 0) { // 鍫嗗灈鏈哄浣� @@ -2534,7 +2544,7 @@ SteChargeType first = SteChargeType.FIRST; locNo = first.locNo; if (basSteService.hasCarOfLocNo(locNo) == null - && wrkChargeService.selectWorkingOfCharge(first.ssbm) != null) { + && wrkChargeService.selectWorkingOfCharge(first.ssbm) == null) { steCharge = first; break; } @@ -2543,7 +2553,7 @@ SteChargeType second = SteChargeType.SECOND; locNo = second.locNo; if (basSteService.hasCarOfLocNo(locNo) == null - && wrkChargeService.selectWorkingOfCharge(second.ssbm) != null) { + && wrkChargeService.selectWorkingOfCharge(second.ssbm) == null) { steCharge = second; break; } @@ -2552,7 +2562,7 @@ SteChargeType third = SteChargeType.THIRD; locNo = third.locNo; if (basSteService.hasCarOfLocNo(locNo) == null - && wrkChargeService.selectWorkingOfCharge(third.ssbm) != null) { + && wrkChargeService.selectWorkingOfCharge(third.ssbm) == null) { steCharge = third; break; } @@ -2788,22 +2798,31 @@ if (Cools.isEmpty(steProtocol, basSte)) { continue; } - // 1鍙峰厖鐢垫々 - if (value.equals(SteChargeType.FIRST) && devpThread.charge0) { + if (steProtocol.getCharge() < 99) { continue; } - // 2鍙峰厖鐢垫々 - if (value.equals(SteChargeType.SECOND) && devpThread.charge1) { + if (steProtocol.getMode() == 0) { continue; } - // 3鍙峰厖鐢垫々 - if (value.equals(SteChargeType.THIRD) && devpThread.charge2) { + if (!steProtocol.getStatusType().equals(SteStatusType.IDLE)) { continue; } - // 灏忚溅鏄惁澶勪簬鍏呯數鐘舵�� - if (steProtocol.getChargeStatus() == 1) { - continue; - } +// // 1鍙峰厖鐢垫々 +// if (value.equals(SteChargeType.FIRST) && devpThread.charge0) { +// continue; +// } +// // 2鍙峰厖鐢垫々 +// if (value.equals(SteChargeType.SECOND) && devpThread.charge1) { +// continue; +// } +// // 3鍙峰厖鐢垫々 +// if (value.equals(SteChargeType.THIRD) && devpThread.charge2) { +// continue; +// } +// // 灏忚溅鏄惁澶勪簬鍏呯數鐘舵�� +// if (steProtocol.getChargeStatus() == 1) { +// continue; +// } // case 1 : 鑷姩鍏呯數寮� 棣堢數 脳 // case 2 : 鑷姩鍏呯數寮� 婊$數 鉁� // case 3 : 鑷姩鍏呯數鍏� 棣堢數 鉁� @@ -2873,7 +2892,7 @@ crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 - crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), true).shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosX(steProtocol.getRow()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪 crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰 crnCommand.setDestinationPosX(Utils.getGroupRow(channelLoc.getLocNo(), false).shortValue()); // 鐩爣搴撲綅鎺� -- Gitblit v1.9.1