From be412111689a7f27abfadb1241dfa5b70ac4c170 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 12 十月 2022 16:02:21 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 69 ++++++++++++++++++++++++++++------ 1 files changed, 57 insertions(+), 12 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 5b86d23..39cac0e 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -554,10 +554,10 @@ if (steNo != null) { // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣 if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) { -// if (null != wrkMastMapper.selectPakin(slave.getId(), steNo)) { -// continue; -// } - this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo()); + // 娌℃湁鍏朵粬浠诲姟 + if (null == wrkMastMapper.selectPakin(slave.getId(), steNo)) { + this.letCarBeReady(wrkMast, steNo, wrkMast.getLocNo()); + } } // 灏忚溅鎼蛋 if (wrkMast.getWrkSts() == 3L) { @@ -613,7 +613,10 @@ if (steNo != null) { // 灏忚溅琛岃蛋鍒板爢鍨涙満寰呮惉绉荤偣 if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) { - this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo()); + // 娌℃湁鍏朵粬浠诲姟 + if (null == wrkMastMapper.selectPakin(slave.getId(), steNo)) { + this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo()); + } } // 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 3.灏忚溅寰呮惉锛堝皬杞︿笉鐢ㄦ惉杩愶紝宸茬粡鍦ㄥ綋鍓嶇粍搴撲綅锛� / 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓� if (wrkMast.getWrkSts() == 3L || wrkMast.getWrkSts() == 6L) { @@ -660,8 +663,11 @@ // 瀵绘壘褰撳墠鍫嗗灈鏈哄搴旂殑灏忚溅 SteThread steThread = queryIdleCar(wrkMast); if (steThread != null) { - // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� - this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getLocNo()); + // 娌℃湁鍏朵粬浠诲姟 + if (null == wrkMastMapper.selectPakin(slave.getId(), steNo)) { + // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� + this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getLocNo()); + } } } // 鍫嗗灈鏈烘惉杩愬皬杞� @@ -840,8 +846,11 @@ // 瀵绘壘鏈�杩戠殑灏忚溅 SteThread steThread = queryIdleCar(wrkMast); if (steThread != null) { - // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� - this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo()); + // 娌℃湁鍏朵粬浠诲姟 + if (null == wrkMastMapper.selectPakout(slave.getId(), steNo)) { + // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� + this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo()); + } } } // 鍫嗗灈鏈烘惉杩愬皬杞� @@ -1295,6 +1304,40 @@ wrkMast.setModiTime(new Date()); if (wrkMastMapper.updateById(wrkMast) == 0) { log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + } + } + } + + /** + * 璁╁皬杞︿粠 杩滅偣 ====>> 绉诲姩鍒拌繎鐐� + * 绛夊緟鍫嗗灈鏈烘惉杩� + */ + public void letCarBeReady(WrkCharge wrkCharge, Integer steNo) { + // 鑾峰彇绌挎杞︿俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { return; } + if (steProtocol.isIdle()) { + + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� + steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙� + steCommand.setTaskMode(SteTaskModeType.findOriginByLoc(steProtocol)); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� + + steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); + steCommand.setBay(steProtocol.getBay()); + steCommand.setLev(steProtocol.getLev()); + + if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { + log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� + wrkCharge.setSteNo(steNo); + wrkCharge.setModiTime(new Date()); + if (!wrkChargeService.updateById(wrkCharge)) { + log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); } } } @@ -2382,6 +2425,7 @@ wrkCharge.setCrnNo(basSte.getCrnNo()); wrkCharge.setIoPri((double) 10); wrkCharge.setLocNo(idleLoc); + wrkCharge.setMemo("charge"); if (!wrkChargeService.insert(wrkCharge)) { log.error("淇濆瓨{}鍙风┛姊溅鍏呯數浠诲姟澶辫触!!!", ste.getId()); continue; @@ -2584,9 +2628,9 @@ wrkCharge.setIoPri((double) 10); wrkCharge.setSourceLocNo(sourceLocNo); wrkCharge.setLocNo(locNo); + wrkCharge.setMemo("demo"); if (!wrkChargeService.insert(wrkCharge)) { log.error("鐢熸垚婕旂ず浠诲姟澶辫触锛屽爢鍨涙満鍙凤細{}锛屽皬杞︼細{}锛屾簮搴撲綅锛歿}锛岀洰鏍囧簱浣嶏細{}", crn.getId(), steNo, sourceLocNo, locNo); - continue; } } } @@ -2598,7 +2642,8 @@ */ private void steMoveDemo(CrnSlave slave, CrnProtocol crnProtocol) { // 鑾峰彇宸ヤ綔妗d俊鎭� - WrkCharge wrkCharge = wrkChargeService.selectOne(new EntityWrapper<WrkCharge>().eq("crn_no", slave.getId()).in("wrk_sts", 31, 33, 35)); + WrkCharge wrkCharge = wrkChargeService.selectOne(new EntityWrapper<WrkCharge>().eq("crn_no", slave.getId()) + .in("wrk_sts", 31, 33, 35)); if (null == wrkCharge) { return; } @@ -2608,7 +2653,7 @@ if (steProtocol.isIdle()) { // 31.鐢熸垚婕旂ずID if (wrkCharge.getWrkSts() == 31L) { - this.letCarBeWaiting(wrkCharge, steProtocol.getSteNo().intValue()); + this.letCarBeReady(wrkCharge, steProtocol.getSteNo().intValue()); wrkCharge.setWrkSts(32L); wrkCharge.setModiTime(new Date()); if (!wrkChargeService.updateById(wrkCharge)) { -- Gitblit v1.9.1