From 700293eea6ed60a0a108de6a63cfda70c2c095a0 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 09 十一月 2022 15:16:25 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 412 +++++++++++++++++++++++++++++++++------------------------- 1 files changed, 232 insertions(+), 180 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 ad8937d..027de02 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -470,13 +470,14 @@ if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) { throw new CoolException(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); } + LocMast locMast = null; // 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣� - LocMast locMast = locMastService.selectById(sourceLocNo); - locMast.setLocSts("O"); - locMast.setModiTime(new Date()); - if (!locMastService.updateById(locMast)) { - throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�"); - } +// locMast = locMastService.selectById(sourceLocNo); +// locMast.setLocSts("O"); +// locMast.setModiTime(new Date()); +// if (!locMastService.updateById(locMast)) { +// throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�"); +// } // 淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴� locMast = locMastService.selectById(wrkMast.getLocNo()); locMast.setLocSts("Q"); @@ -485,9 +486,9 @@ throw new CoolException(wrkMast.getWrkNo() + "淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�"); } // 搴撳瓨鏄庣粏杞Щ - if (!locDetlService.updateLocNo(wrkMast.getLocNo(), sourceLocNo)) { - throw new CoolException(wrkMast.getWrkNo() + "浠诲姟搴撳瓨鏄庣粏杞Щ澶辫触锛侊紒锛�"); - } +// if (!locDetlService.updateLocNo(wrkMast.getLocNo(), sourceLocNo)) { +// throw new CoolException(wrkMast.getWrkNo() + "浠诲姟搴撳瓨鏄庣粏杞Щ澶辫触锛侊紒锛�"); +// } // 鏉$爜璁惧澶勭悊 barcodeThread.setBarcode(""); @@ -534,6 +535,31 @@ } } + } + } + + /** + * 鐩樼偣璐х墿鎶佃揪鐩樼偣鐩爣绔� wrkMast.sourceLoc P ===>> O + */ + public void pickWrkCompleteStaNo() { + List<WrkMast> wrkMasts = wrkMastMapper.selectPick17(null, null); + for (WrkMast wrkMast : wrkMasts) { + // 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣� + LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); + if (locMast.getLocSts().equals("P")) { + locMast.setLocSts("O"); + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)) { + throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�"); + } + locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo())); + } + // 淇敼宸ヤ綔妗� + wrkMast.setIoPri(13D); + wrkMast.setModiTime(new Date()); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("鏇存柊宸ヤ綔妗g殑浼樺厛绾уけ璐ワ紒锛侊紒 [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo()); + } } } @@ -1264,6 +1290,11 @@ SteThread steThread = queryIdleCar(wrkMast); if (steThread != null) { if (null == wrkMastMapper.selectPakout(slave.getId(), steNo)) { + // 鏍囪绉诲簱褰撳墠娴佺▼ + wrkMast.setMk("O"); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("鏍囪绉诲簱褰撳墠娴佺▼ I 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo()); } @@ -1287,43 +1318,53 @@ return; } - //鏌ユ壘搴撲綅 - boolean flag = false; - String[] deeplocs = Utils.getDeepLocs(wrkMast.getSourceLocNo()); - if(!Cools.isEmpty(deeplocs)){ - for(String deepLocNo : deeplocs) { - LocMast deepLoc = locMastService.selectById(deepLocNo); + if (wrkMast.getWrkSts() == 17) { + //鏌ユ壘搴撲綅 + boolean flag = false; + String[] deeplocs = Utils.getDeepLocs(wrkMast.getSourceLocNo()); + if(!Cools.isEmpty(deeplocs)){ + 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")){ - flag = true; - break; - } - if(deepLoc != null && deepLoc.getLocSts().equals("O")){ - //淇敼绉诲簱宸ヤ綔妗� - wrkMast.setSourceLocNo(wrkMast.getLocNo()); - wrkMast.setIoPri((double)9999); - wrkMast.setWrkSts(2L); - wrkMast.setLocNo(deepLocNo); - wrkMast.setSteNo(null); - wrkMast.setModiTime(new Date()); - if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + if(deepLoc != null && !deepLoc.getLocSts().equals("F") && deepLoc.getLocSts().equals("D") && deepLoc.getLocSts().equals("O")){ + flag = true; + break; } - - if(deepLoc.getLocSts().equals("O")){ - deepLoc.setLocSts("S"); // S.鍏ュ簱棰勭害 - deepLoc.setModiTime(new Date()); - if (!locMastService.updateById(deepLoc)) { - log.error("鍙屾繁搴撲綅 --- 鏇存柊鐩爣搴撲綅鐘舵�佸け璐ワ紒 寰呯Щ杞祬搴撲綅锛�" + deepLoc.getLocNo()); - throw new CoolException("鏇存柊绉诲簱鍥炲簱鐩爣搴撲綅鐘舵�佸け璐�"); + if(deepLoc != null && deepLoc.getLocSts().equals("O")){ + //淇敼绉诲簱宸ヤ綔妗� + wrkMast.setSourceLocNo(wrkMast.getLocNo()); + wrkMast.setIoPri((double)9999); + wrkMast.setWrkSts(2L); + wrkMast.setLocNo(deepLocNo); + wrkMast.setSteNo(null); + wrkMast.setModiTime(new Date()); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); } + + if(deepLoc.getLocSts().equals("O")){ + deepLoc.setLocSts("S"); // S.鍏ュ簱棰勭害 + deepLoc.setModiTime(new Date()); + if (!locMastService.updateById(deepLoc)) { + log.error("鍙屾繁搴撲綅 --- 鏇存柊鐩爣搴撲綅鐘舵�佸け璐ワ紒 寰呯Щ杞祬搴撲綅锛�" + deepLoc.getLocNo()); + throw new CoolException("鏇存柊绉诲簱鍥炲簱鐩爣搴撲綅鐘舵�佸け璐�"); + } + } + LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo()); +// if(sourceLoc.getLocSts().equals("F")){ + sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害 + sourceLoc.setModiTime(new Date()); + if (!locMastService.updateById(sourceLoc)) { + throw new CoolException("鏇存柊绉诲簱鍥炲簱鐩爣搴撲綅鐘舵�佸け璐�"); + } +// } + break; } - break; } } - } - if(flag){ - return; + if(flag){ + return; + } } // 鑾峰彇婧愬簱浣嶄俊鎭� @@ -1426,6 +1467,11 @@ if (steThread != null) { // 娌℃湁鍏朵粬浠诲姟 if (null == wrkMastMapper.selectPakin(slave.getId(), steNo)) { + // 鏍囪绉诲簱褰撳墠娴佺▼ + wrkMast.setMk("I"); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("鏍囪绉诲簱褰撳墠娴佺▼ I 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } // 璁╁皬杞︾瓑寰呮惉杩愬緟缁� this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getLocNo()); } @@ -2325,134 +2371,140 @@ } // 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚 } -// if (wrkMast.getWrkSts() == 16) { -// Date now = new Date(); -//// if (locMastService.isOutMost(wrkMast.getLocNo())) { -//// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚 -//// wrkMast.setWrkSts(9L); -//// wrkMast.setCrnEndTime(now); -//// } else { -//// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚 -//// wrkMast.setWrkSts(9L); -//// } + if (wrkMast.getWrkSts() == 16) { + Date now = new Date(); // if (locMastService.isOutMost(wrkMast.getLocNo())) { -// wrkMast.setWrkSts(17L); -// } -// wrkMast.setModiTime(now); -// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 -// if (wrkMastMapper.updateById(wrkMast) > 0) { -// // 鍫嗗灈鏈哄浣� -// crnThread.setResetFlag(true); -// } else { -// log.error("淇敼宸ヤ綔妗g姸鎬� 16.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); -// } -// } else if (wrkMast.getWrkSts() == 4) { -// // 4.杩佸叆灏忚溅 ==> 6.灏忚溅寰呭叆 -// wrkMast.setWrkSts(6L); -// Date now = new Date(); -// wrkMast.setCrnEndTime(now); -// wrkMast.setModiTime(now); -// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 -// if (wrkMastMapper.updateById(wrkMast) > 0) { -// // 鍫嗗灈鏈哄浣� -// crnThread.setResetFlag(true); -// // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰 -// SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, wrkMast.getSteNo()); -// if (!steThread.confirmPos()) { -// log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo()); -// } -// // 绌挎杞﹀幓寰呮満浣� -// BasSte basSte = basSteService.selectById(wrkMast.getSteNo()); -// SteCommand steCommand = new SteCommand(); -// steCommand.setSteNo(wrkMast.getSteNo()); // 绌挎杞︾紪鍙� -// steCommand.setTaskNo(9999); // 宸ヤ綔鍙� -// steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� -//// steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); -//// steCommand.setBay(steProtocol.getBay()); -//// steCommand.setLev(steProtocol.getLev()); -// if (!MessageQueue.offer(SlaveType.Ste, wrkMast.getSteNo(), new Task(2, steCommand))) { -// log.error("绌挎杞﹀緟鏈轰綅鍛戒护涓嬪彂澶辫触锛岀┛姊溅鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getSteNo(), JSON.toJSON(steCommand)); -// } -// } else { -// log.error("淇敼宸ヤ綔妗g姸鎬� 4.杩佸叆灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); -// } -// // 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚 -// } else if (wrkMast.getWrkSts() == 7){ -// // 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴� -// if (locMastService.isOutMost(wrkMast.getLocNo())) { -// // ==> 9.鍏ュ簱瀹屾垚 +// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚 // wrkMast.setWrkSts(9L); -// Date now = new Date(); // wrkMast.setCrnEndTime(now); -// wrkMast.setModiTime(now); -// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 -// if (wrkMastMapper.updateById(wrkMast) > 0) { -// // 鍫嗗灈鏈哄浣� -// crnThread.setResetFlag(true); -// } else { -// log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); -// } // } else { -// // 缁欑┛姊溅涓嬪彂鍛戒护 -// Integer steNo = wrkMast.getSteNo(); -// SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo); -// SteProtocol steProtocol = steThread.getSteProtocol(); -// if (steProtocol == null) { continue; } -// if (steProtocol.isIdle()) { -// // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- -// SteCommand steCommand = new SteCommand(); -// steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� -// steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙� -// steCommand.setTaskMode(SteTaskModeType.findInByLoc(wrkMast.getLocNo())); // 浠诲姟妯″紡: 鎼叆搴� -// if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { -// log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); -// } else { -// // 淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� -// wrkMast.setWrkSts(8L); -// Date now = new Date(); -// wrkMast.setCrnEndTime(now); -// wrkMast.setModiTime(now); -// if (wrkMastMapper.updateById(wrkMast) > 0) { -// // 鍫嗗灈鏈哄浣� -// crnThread.setResetFlag(true); -// } else { -// log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); -// } -// } +// // 16.鍚婅溅鍑哄簱涓� ==> 9.鍏ュ簱瀹屾垚 +// wrkMast.setWrkSts(9L); +// } + 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(""); // } -// } -// } else if (wrkMast.getWrkSts() == 13) { -// // 缁欑┛姊溅涓嬪彂鍛戒护 -// Integer steNo = wrkMast.getSteNo(); -// SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo); -// SteProtocol steProtocol = steThread.getSteProtocol(); -// if (steProtocol == null) { continue; } -// // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰 -// if (!steThread.confirmPos()) { -// log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo()); -// } -// // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- -// SteCommand steCommand = new SteCommand(); -// steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� -// steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙� -// steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鎼嚭搴� -// if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { -// log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); -// } else { -// // 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� -// wrkMast.setWrkSts(14L); -// Date now = new Date(); -// wrkMast.setCrnEndTime(now); -// wrkMast.setModiTime(now); -// // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 -// if (wrkMastMapper.updateById(wrkMast) > 0) { -// // 鍫嗗灈鏈哄浣� -// crnThread.setResetFlag(true); -// } else { -// log.error("淇敼宸ヤ綔妗g姸鎬� 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); -// } -// } -// } + } + wrkMast.setModiTime(now); + // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 + if (wrkMastMapper.updateById(wrkMast) > 0) { + // 鍫嗗灈鏈哄浣� + crnThread.setResetFlag(true); + } else { + log.error("淇敼宸ヤ綔妗g姸鎬� 16.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + } else if (wrkMast.getWrkSts() == 4) { + // 4.杩佸叆灏忚溅 ==> 6.灏忚溅寰呭叆 + wrkMast.setWrkSts(6L); + Date now = new Date(); + wrkMast.setCrnEndTime(now); + wrkMast.setModiTime(now); + // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 + if (wrkMastMapper.updateById(wrkMast) > 0) { + // 鍫嗗灈鏈哄浣� + crnThread.setResetFlag(true); + // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰 + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, wrkMast.getSteNo()); + if (!steThread.confirmPos()) { + log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo()); + } + // 绌挎杞﹀幓寰呮満浣� + BasSte basSte = basSteService.selectById(wrkMast.getSteNo()); + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(wrkMast.getSteNo()); // 绌挎杞︾紪鍙� + steCommand.setTaskNo(9999); // 宸ヤ綔鍙� + steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙� +// steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); +// steCommand.setBay(steProtocol.getBay()); +// steCommand.setLev(steProtocol.getLev()); + if (!MessageQueue.offer(SlaveType.Ste, wrkMast.getSteNo(), new Task(2, steCommand))) { + log.error("绌挎杞﹀緟鏈轰綅鍛戒护涓嬪彂澶辫触锛岀┛姊溅鍙�={}锛屼换鍔℃暟鎹�={}", wrkMast.getSteNo(), JSON.toJSON(steCommand)); + } + } else { + log.error("淇敼宸ヤ綔妗g姸鎬� 4.杩佸叆灏忚溅 => 6.灏忚溅寰呭叆 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + // 鍏ュ簱 ===>> 杩佸嚭灏忚溅 瀹屾垚 + } else if (wrkMast.getWrkSts() == 7){ + // 鍒ゆ柇鏄惁闇�瑕佸皬杞﹀叆搴� + if (locMastService.isOutMost(wrkMast.getLocNo())) { + // ==> 9.鍏ュ簱瀹屾垚 + wrkMast.setWrkSts(9L); + Date now = new Date(); + wrkMast.setCrnEndTime(now); + wrkMast.setModiTime(now); + // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 + if (wrkMastMapper.updateById(wrkMast) > 0) { + // 鍫嗗灈鏈哄浣� + crnThread.setResetFlag(true); + } else { + log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 9.鍏ュ簱瀹屾垚 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + } else { + // 缁欑┛姊溅涓嬪彂鍛戒护 + Integer steNo = wrkMast.getSteNo(); + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { continue; } + if (steProtocol.isIdle()) { + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� + steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙� + steCommand.setTaskMode(SteTaskModeType.findInByLoc(wrkMast.getLocNo())); // 浠诲姟妯″紡: 鎼叆搴� + if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { + log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� + wrkMast.setWrkSts(8L); + Date now = new Date(); + wrkMast.setCrnEndTime(now); + wrkMast.setModiTime(now); + if (wrkMastMapper.updateById(wrkMast) > 0) { + // 鍫嗗灈鏈哄浣� + crnThread.setResetFlag(true); + } else { + log.error("淇敼宸ヤ綔妗g姸鎬� 7.鍚婅溅鍏ュ簱涓� => 8.灏忚溅鎼叆搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + } + } + } + } else if (wrkMast.getWrkSts() == 13) { + // 缁欑┛姊溅涓嬪彂鍛戒护 + Integer steNo = wrkMast.getSteNo(); + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { continue; } + // 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰 + if (!steThread.confirmPos()) { + log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo()); + } + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙� + steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙� + steCommand.setTaskMode(SteTaskModeType.findOutByLoc(wrkMast.getSourceLocNo())); // 浠诲姟妯″紡: 鎼嚭搴� + if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) { + log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand)); + } else { + // 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� + wrkMast.setWrkSts(14L); + Date now = new Date(); + wrkMast.setCrnEndTime(now); + wrkMast.setModiTime(now); + // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 + if (wrkMastMapper.updateById(wrkMast) > 0) { + // 鍫嗗灈鏈哄浣� + crnThread.setResetFlag(true); + } else { + log.error("淇敼宸ヤ綔妗g姸鎬� 13.杩佸叆灏忚溅 ==> 14.灏忚溅鎼嚭搴� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + } + } } } } @@ -2544,23 +2596,23 @@ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉 wrkMast.setWrkSts(12L); } else { -// if (Cools.isEmpty(wrkMast.getMk())) { -// log.error("绉诲簱宸ヤ綔妗f病鏈夋祦绋嬫爣璁帮紒锛侊紝宸ヤ綔鍙�={}", wrkMast.getWrkNo()); -// } else { -// if (wrkMast.getMk().equals("I")) { -// String locNo = wrkMast.getLocNo(); -// if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) { -// // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆 -// wrkMast.setWrkSts(6L); -// } else { -// // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 3.灏忚溅寰呮惉 -// wrkMast.setWrkSts(3L); -// } -// } else if (wrkMast.getMk().equals("O")) { -// // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉 -// wrkMast.setWrkSts(12L); -// } -// } + if (Cools.isEmpty(wrkMast.getMk())) { + log.error("绉诲簱宸ヤ綔妗f病鏈夋祦绋嬫爣璁帮紒锛侊紝宸ヤ綔鍙�={}", wrkMast.getWrkNo()); + } else { + if (wrkMast.getMk().equals("I")) { + String locNo = wrkMast.getLocNo(); + if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) { + // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆 + wrkMast.setWrkSts(6L); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 3.灏忚溅寰呮惉 + wrkMast.setWrkSts(3L); + } + } else if (wrkMast.getMk().equals("O")) { + // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉 + wrkMast.setWrkSts(12L); + } + } } wrkMast.setModiTime(now); if (wrkMastMapper.updateById(wrkMast) == 0) { -- Gitblit v1.9.1