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 | 159 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 142 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 027de02..9e28c38 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -701,6 +701,14 @@ log.error("鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo()); continue; } + + //鍔犲己鍒ゆ柇锛屽彧瑕佸瓨鍦ㄧЩ搴撲换鍔★紝璇存槑鍑哄簱浠诲姟鏈畬鍏ㄧ粨鏉燂紝涓嶆墽琛屽叆搴撲换鍔� + WrkMast one = wrkMastMapper.selectLocMoveData(slave.getId()); + if(!Cools.isEmpty(one)){ + log.error("鍏ュ簱 ===>> 瀛樺湪绉诲簱鏈畬鎴愪换鍔★紝涓嶈兘鍏ュ簱銆傜Щ搴撲换鍔″彿={},鍫嗗灈鏈哄彿={}", one.getWrkNo(), slave.getId()); + continue; + } + // 鑾峰彇宸ヤ綔鐘舵�佷负 2,3,4,5,6 鐨勫叆搴撳伐浣滄。 WrkMast wrkMast = wrkMastMapper.selectPakInStep23456(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo()); if(null == wrkMast) { @@ -784,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()); // 婧愬簱浣嶅垪 @@ -838,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()); // 婧愬簱浣嶅垪 @@ -895,6 +905,24 @@ continue; } + //鍔犲己鍒ゆ柇锛岀‘淇濆洜鍑哄簱瀵艰嚧鐨勭Щ搴撴暣濂椾换鍔″叏閮ㄧ粨鏉熷悗锛屾墠鑳芥墽琛屼笅涓�绗斿嚭搴撲换鍔°�傚彧鏈夊簱浣嶅畬鎴愮Щ搴撳洖鍘诲叏閮ㄤ换鍔″悗锛屾墠璁や负褰撶粍鍑哄簱浠诲姟瀹屾垚 + WrkMast one = wrkMastMapper.selectLocMoveData(slave.getId()); + if(!Cools.isEmpty(one)){ + //瀛樺湪绉诲簱浠诲姟锛屼笖鍦ㄧЩ鍑轰腑锛屼笖绉诲簱婧愬簱浣嶄笌寰呭嚭搴撳簱浣嶄笉鍦ㄥ悓涓�搴撲綅缁勶紝鏃惰烦鍑猴紝纭繚绉诲簱/鍑哄簱鍏ㄥ浠诲姟瀹屾垚鍚庯紝鍐嶆墽琛屼笅涓�绗� + if(one.getWrkSts() > 10 && (Utils.getGroupRow(wrkMast.getSourceLocNo()) != Utils.getGroupRow(one.getSourceLocNo()) + || Utils.getBay(wrkMast.getSourceLocNo()) != Utils.getBay(one.getSourceLocNo()) + || Utils.getLev(wrkMast.getSourceLocNo()) != Utils.getLev(one.getSourceLocNo()))){ + continue; + } + //瀛樺湪绉诲簱浠诲姟锛屼笖鍦ㄧЩ鍥炰腑锛屼笖绉诲簱鐩爣搴撲綅涓庡緟鍑哄簱搴撲綅涓嶅湪鍚屼竴搴撲綅缁勶紝鏃惰烦鍑猴紝纭繚绉诲簱/鍑哄簱鍏ㄥ浠诲姟瀹屾垚鍚庯紝鍐嶆墽琛屼笅涓�绗� + if(one.getWrkSts() < 11 && (Utils.getGroupRow(wrkMast.getSourceLocNo()) != Utils.getGroupRow(one.getLocNo()) + || Utils.getBay(wrkMast.getSourceLocNo()) != Utils.getBay(one.getLocNo()) + || Utils.getLev(wrkMast.getSourceLocNo()) != Utils.getLev(one.getLocNo()))){ + continue; + } + log.info(""); + } + //鍑哄簱搴撲綅涓嶆槸鏈�澶栧眰搴撲綅锛屽垽鏂祬搴撲綅缁勬槸鍚﹂兘涓虹┖锛屾垨瀛樺湪搴撲綅绉昏浆浠诲姟 boolean flag = false; if(!locMastService.isOutMost(wrkMast.getSourceLocNo())){ @@ -930,9 +958,12 @@ flag = true; break; } else { - log.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 搴撲綅鐘舵�佸湪搴擄紝浣嗘槸娴呭簱浣嶅凡瀛樺湪宸ヤ綔妗d换鍔★紒鍑哄簱搴撲綅={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo()); - flag = true; - break; + if (waitWrkMast.getWrkSts()!=18) { + log.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 搴撲綅鐘舵�佸湪搴擄紝浣嗘槸娴呭簱浣嶅凡瀛樺湪宸ヤ綔妗d换鍔★紒鍑哄簱搴撲綅={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo()); + flag = true; + break; + } + } } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")){ log.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo()); @@ -1004,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()); // 婧愬簱浣嶅垪 @@ -1038,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); // 绌挎杞︾紪鍙� @@ -1047,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); @@ -1074,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()); // 婧愬簱浣嶅垪 @@ -1191,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()); // 婧愬簱浣嶅垪 @@ -1225,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(); @@ -1262,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()); // 婧愬簱浣嶅垪 @@ -1326,7 +1375,8 @@ for(String deepLocNo : deeplocs) { LocMast deepLoc = locMastService.selectById(deepLocNo); // WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(deepLocNo); - if(deepLoc != null && !deepLoc.getLocSts().equals("F") && deepLoc.getLocSts().equals("D") && deepLoc.getLocSts().equals("O")){ + if(deepLoc != null && !deepLoc.getLocSts().equals("F") && !deepLoc.getLocSts().equals("D") && !deepLoc.getLocSts().equals("O")){ + log.error("绉诲簱鍐嶅洖搴撴椂锛屾繁搴撲綅缁勬繁搴撲綅鐘舵�佷负浣滀笟涓� ===>> deepLoc={},loc_sts={}", deepLoc.getLocNo(), deepLoc.getLocSts()); flag = true; break; } @@ -1339,7 +1389,7 @@ wrkMast.setSteNo(null); wrkMast.setModiTime(new Date()); if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + log.error("淇敼宸ヤ綔妗g姸鎬� 17.绉诲簱瀹屾垚 => 2.绉诲簱鍐嶅叆搴撲腑 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); } if(deepLoc.getLocSts().equals("O")){ @@ -1351,13 +1401,13 @@ } } LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); -// if(sourceLoc.getLocSts().equals("F")){ + if(sourceLoc.getLocSts().equals("F")){ sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害 sourceLoc.setModiTime(new Date()); if (!locMastService.updateById(sourceLoc)) { throw new CoolException("鏇存柊绉诲簱鍥炲簱鐩爣搴撲綅鐘舵�佸け璐�"); } -// } + } break; } } @@ -1437,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()); // 婧愬簱浣嶅垪 @@ -1542,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()); // 婧愬簱浣嶅垪 @@ -1592,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()); // 婧愬簱浣嶅垪 @@ -1648,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); // 绌挎杞︾紪鍙� @@ -1686,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()); // 婧愬簱浣嶅垪 @@ -1732,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()); // 婧愬簱浣嶅垪 @@ -1841,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); // 绌挎杞︾紪鍙� @@ -1854,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()); @@ -1872,6 +1940,12 @@ if (!basSteService.updatePakMk(steNo, "Y")) { log.error("淇敼绌挎杞︿綔涓氱姸鎬� 澶辫触锛侊紒锛岀┛姊溅={}", steNo); + return; + } + + //灏忚溅鍙兘缁戝畾涓�绗斾綔涓氫腑浠诲姟 + WrkMast wrkMast1 = wrkMastMapper.selectSteNoData(steNo); + if(wrkMast1 != null){ return; } @@ -1908,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); // 绌挎杞︾紪鍙� @@ -1917,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()); @@ -1941,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(); @@ -1985,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()); // 婧愬簱浣嶅垪 @@ -2014,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()); // 婧愬簱浣嶅垪 @@ -2066,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()); // 婧愬簱浣嶅垪 @@ -2273,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(); @@ -2383,12 +2476,35 @@ // } if (locMastService.isOutMost(wrkMast.getLocNo())) { wrkMast.setWrkSts(17L); -// LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); -// locMast.setLocSts("F"); -// locMast.setModiTime(new Date()); -// if (!locMastService.updateById(locMast)) { -// log.error(""); -// } + // 榛樿鐩爣搴撲綅鏄┖鏉� + String locSts = "D"; + // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞� + if (wrkMast.getEmptyMk().equals("N")) { + locSts = "F"; + // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣� + if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) { + log.error("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={}],[鐩爣搴撲綅={}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo()); + continue; + } + } + // 淇敼婧愬簱浣嶇姸鎬� ==> O + LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); + if (null != sourceLoc) { + sourceLoc.setBarcode(""); + sourceLoc.setLocSts("O"); + sourceLoc.setModiTime(now); + sourceLoc.setIoTime(now); + if (!locMastService.updateById(sourceLoc)) { + log.error("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={}],[sourceLoc={}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); + } + } + // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + locMast.setLocSts(locSts); + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)) { + log.error(""); + } } wrkMast.setModiTime(now); // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 @@ -2520,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 { @@ -3027,10 +3147,13 @@ List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); wrkDetls.forEach(wrkDetl -> { if (wrkMast.getIoType() == 101) { - ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getAnfme())); + ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getAnfme())); } if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) { - ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getAnfme())); + ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getAnfme())); + } + if (wrkMast.getIoType() == 107) { + ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getAnfme())); } }); } @@ -3171,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()); // 婧愬簱浣嶅垪 @@ -3379,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