From 13c2b426704d4ec12e4c263d054cec2f1416be39 Mon Sep 17 00:00:00 2001 From: TQS <56479841@qq.com> Date: 星期二, 22 十一月 2022 12:28:24 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 74 ++++++++++++++++++++++++++++++++++++- 1 files changed, 72 insertions(+), 2 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 448bba8..9e28c38 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -792,6 +792,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪 @@ -846,6 +847,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(crnStn.getRow().shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(crnStn.getBay().shortValue()); // 婧愬簱浣嶅垪 @@ -918,6 +920,7 @@ || Utils.getLev(wrkMast.getSourceLocNo()) != Utils.getLev(one.getLocNo()))){ continue; } + log.info(""); } //鍑哄簱搴撲綅涓嶆槸鏈�澶栧眰搴撲綅锛屽垽鏂祬搴撲綅缁勬槸鍚﹂兘涓虹┖锛屾垨瀛樺湪搴撲綅绉昏浆浠诲姟 @@ -1032,6 +1035,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪 @@ -1066,6 +1070,12 @@ if (steProtocol == null) { continue; } if (steProtocol.isIdle()) { + //灏忚溅鍙兘缁戝畾涓�绗斾綔涓氫腑浠诲姟 + WrkMast wrkMast1 = wrkMastMapper.selectSteNoData(steNo); + if(wrkMast1 != null){ + continue; + } + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- SteCommand steCommand = new SteCommand(); steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� @@ -1075,10 +1085,12 @@ steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); steCommand.setBay(steProtocol.getBay()); steCommand.setLev(steProtocol.getLev()); + steCommand.setMemo("11==>14灏忚溅鎼嚭搴撲换鍔★紝浠诲姟鍙�"+wrkMast.getWrkNo()+""); if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); } else { + log.info("绌挎杞﹀懡浠や笅鍙戞垚鍔�(11==>14灏忚溅鎼嚭搴撲换鍔�)锛岀┛姊溅鍙�={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 14.灏忚溅鎼嚭搴� Date now = new Date(); wrkMast.setWrkSts(14L); @@ -1102,6 +1114,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(sourceSta.getRow1()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪 @@ -1219,6 +1232,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(sourceLoc.getRow1().shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪 @@ -1253,6 +1267,12 @@ SteProtocol steProtocol = steThread.getSteProtocol(); if (steProtocol == null) { return; } if (steProtocol.isIdle()) { + + //灏忚溅鍙兘缁戝畾涓�绗斾綔涓氫腑浠诲姟 + WrkMast wrkMast1 = wrkMastMapper.selectSteNoData(steNo); + if(wrkMast1 != null){ + return; + } // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- SteCommand steCommand = new SteCommand(); @@ -1290,6 +1310,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(sourceLoc.getRow1()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪 @@ -1466,6 +1487,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(sourceLoc.getRow1().shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪 @@ -1571,6 +1593,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(sourceLoc.getRow1().shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪 @@ -1621,6 +1644,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(sourceLoc.getRow1()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪 @@ -1677,6 +1701,12 @@ if (steProtocol == null) { return; } if (steProtocol.isIdle()) { + //灏忚溅鍙兘缁戝畾涓�绗斾綔涓氫腑浠诲姟 + WrkMast wrkMast1 = wrkMastMapper.selectSteNoData(steNo); + if(wrkMast1 != null){ + return; + } + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- SteCommand steCommand = new SteCommand(); steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� @@ -1715,6 +1745,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(sourceLoc.getRow1()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪 @@ -1761,6 +1792,7 @@ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(sourceLoc.getRow1()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue()); // 婧愬簱浣嶅垪 @@ -1870,6 +1902,12 @@ if (steProtocol == null) { return; } if (steProtocol.isIdle()) { + //灏忚溅鍙兘缁戝畾涓�绗斾綔涓氫腑浠诲姟 + WrkMast wrkMast1 = wrkMastMapper.selectSteNoData(steNo); + if(wrkMast1 != null){ + return; + } + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- SteCommand steCommand = new SteCommand(); steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� @@ -1883,6 +1921,7 @@ if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); } else { + log.error("绌挎杞﹀懡浠や笅鍙戞垚鍔熻灏忚溅浠� 杩滅偣 ====>> 寰呮満浣�,缁戝畾绌挎杞�,IoType={}, 绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getIoType(), steNo, JSON.toJSON(steCommand)); // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� wrkMast.setSteNo(steNo); wrkMast.setModiTime(new Date()); @@ -1901,6 +1940,12 @@ if (!basSteService.updatePakMk(steNo, "Y")) { log.error("淇敼绌挎杞︿綔涓氱姸鎬� 澶辫触锛侊紒锛岀┛姊溅={}", steNo); + return; + } + + //灏忚溅鍙兘缁戝畾涓�绗斾綔涓氫腑浠诲姟 + WrkMast wrkMast1 = wrkMastMapper.selectSteNoData(steNo); + if(wrkMast1 != null){ return; } @@ -1937,6 +1982,12 @@ if (steProtocol == null) { return; } if (steProtocol.isIdle()) { + //灏忚溅鍙兘缁戝畾涓�绗斾綔涓氫腑浠诲姟 + WrkMast wrkMast1 = wrkMastMapper.selectSteNoData(steNo); + if(wrkMast1 != null){ + return; + } + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- SteCommand steCommand = new SteCommand(); steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� @@ -1946,10 +1997,12 @@ steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); steCommand.setBay(steProtocol.getBay()); steCommand.setLev(steProtocol.getLev()); + steCommand.setMemo("缁戝畾灏忚溅鍙凤紝璁╁皬杞︿粠 杩滅偣 ====>> 绉诲姩鍒拌繎鐐�"); if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); } else { + log.info("绌挎杞﹀懡浠や笅鍙戞垚鍔�(璁╁皬杞︿粠杩滅偣==>>绉诲姩鍒拌繎鐐�)锛孖oType={}, 绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getIoType(), steNo, JSON.toJSON(steCommand)); // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� wrkMast.setSteNo(steNo); wrkMast.setModiTime(new Date()); @@ -1970,6 +2023,12 @@ SteProtocol steProtocol = steThread.getSteProtocol(); if (steProtocol == null) { return; } if (steProtocol.isIdle()) { + + //灏忚溅鍙兘缁戝畾涓�绗斾綔涓氫腑浠诲姟 + WrkMast wrkMast1 = wrkMastMapper.selectSteNoData(steNo); + if(wrkMast1 != null){ + return; + } // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- SteCommand steCommand = new SteCommand(); @@ -2014,6 +2073,7 @@ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪 @@ -2043,6 +2103,7 @@ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪 @@ -2095,6 +2156,7 @@ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪 @@ -2302,9 +2364,11 @@ steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙� steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鎼嚭搴� + steCommand.setMemo("鍑哄簱 ===>> 杩佸叆灏忚溅 瀹屾垚"); if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); } else { + log.info("绌挎杞﹀懡浠や笅鍙戞垚鍔燂紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); // 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� wrkMast.setWrkSts(14L); Date now = new Date(); @@ -2572,8 +2636,12 @@ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId()); SteProtocol steProtocol = steThread.getSteProtocol(); if (steProtocol == null) { continue; } - if (steProtocol.getWaiting() && steProtocol.getTaskNo() != 0) { - log.info("ste[id={}] 鎵ц宸ヤ綔妗e畬鎴愶紝浠诲姟鍙�={}", steProtocol.getSteNo(), steProtocol.getTaskNo()); + if (steProtocol.getWaiting() && steProtocol.getTaskNo() == 0){ + log.info("ste[id={}] 鏀跺埌绛夊緟WCS纭淇″彿锛屼絾鏄换鍔″彿(鍦板潃V824)涓�0", steProtocol.getSteNo()); + } + + if (steProtocol.getWaiting() && steProtocol.getTaskNo() != 0 && steProtocol.getStatus() == 10) { + log.info("ste[id={}] 鎵ц宸ヤ綔妗e畬鎴愶紝浠诲姟鍙�={}, 绌挎杞︾姸鎬�={}", steProtocol.getSteNo(), steProtocol.getTaskNo(), steProtocol.getStatus()); if (steProtocol.getTaskNo() == 9999) { steThread.setResetFlag(true); } else { @@ -3226,6 +3294,7 @@ crnCommand.setCrnNo(wrkCharge.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪 @@ -3434,6 +3503,7 @@ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪 -- Gitblit v1.9.1