From ec25a39ab1d455e8c38e043ccdf2172139462068 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期四, 24 十一月 2022 10:18:45 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 298 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 172 insertions(+), 126 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 0d9041e..3134932 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -2484,7 +2484,10 @@ */ @SuppressWarnings("serial") public synchronized void loopSteCharge() { - if (null != wrkChargeService.selectWorking(null, WrkChargeType.reset.toString())) { + if (null != wrkChargeService.selectWorking(null, WrkChargeType.reset)) { + return; + } + if (null != wrkChargeService.selectWorking(null, WrkChargeType.charge)) { return; } SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); @@ -2509,7 +2512,7 @@ if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) { continue; } - WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.charge.toString()); + WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.charge); if (wrkCharge == null && steProtocol.getChargeStatus() == 0) { // 瀵绘壘绌洪棽鍏呯數妗� @@ -2517,23 +2520,29 @@ do { String locNo; if (!devpThread.charge0) { - locNo = SteChargeType.FIRST.locNo; - if (basSteService.hasCarOfLocNo(locNo) == null) { - steCharge = SteChargeType.FIRST; + SteChargeType first = SteChargeType.FIRST; + locNo = first.locNo; + if (basSteService.hasCarOfLocNo(locNo) == null + && wrkChargeService.selectWorkingOfCharge(first.ssbm) != null) { + steCharge = first; break; } } if (!devpThread.charge1) { - locNo = SteChargeType.SECOND.locNo; - if (basSteService.hasCarOfLocNo(locNo) == null) { - steCharge = SteChargeType.SECOND; + SteChargeType second = SteChargeType.SECOND; + locNo = second.locNo; + if (basSteService.hasCarOfLocNo(locNo) == null + && wrkChargeService.selectWorkingOfCharge(second.ssbm) != null) { + steCharge = second; break; } } if (!devpThread.charge2) { - locNo = SteChargeType.THIRD.locNo; - if (basSteService.hasCarOfLocNo(locNo) == null) { - steCharge = SteChargeType.THIRD; + SteChargeType third = SteChargeType.THIRD; + locNo = third.locNo; + if (basSteService.hasCarOfLocNo(locNo) == null + && wrkChargeService.selectWorkingOfCharge(third.ssbm) != null) { + steCharge = third; break; } } @@ -2547,6 +2556,7 @@ String chargeLocNo = steCharge.locNo; wrkCharge = new WrkCharge(); wrkCharge.setSteNo(ste.getId()); + wrkCharge.setCharge(steCharge.ssbm); wrkCharge.setWrkNo(commonService.getChargeWorkNo(4)); wrkCharge.setWrkSts(21L); // 21.鍑嗗鍏呯數 wrkCharge.setCrnNo(2); // 鍥哄畾2鍙峰爢鍨涙満 @@ -2573,145 +2583,179 @@ this.letCarBeWaiting(wrkCharge, ste.getId()); } - } else { - // filter - if (wrkCharge == null || (wrkCharge.getWrkSts() < 28 && steProtocol.getChargeStatus() == 1)) { - continue; - } + break; + } + } catch (Exception e) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("loopSteCharge fail", e); + } + } + } - // 22.灏忚溅寰呮惉 - if (wrkCharge.getWrkSts() == 22) { + /** + * 鎵ц灏忚溅鍏呯數浠诲姟 + */ + public synchronized void executeSteCharge() { + WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.charge); + if (null == wrkCharge) { return; } + Integer steNo = wrkCharge.getSteNo(); + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo); + SteProtocol steProtocol = steThread.getSteProtocol(); + BasSte basSte = basSteService.selectById(steNo); + if (Cools.isEmpty(steProtocol, basSte)) { return; } + if (steProtocol.getMode() == 0 + || !steProtocol.statusType.equals(SteStatusType.IDLE) + || basSte.getPakMk().equals("Y") + || basSte.getAutoCharge().equals("N") +// || steProtocol.getChargeStatus() == 1 + ) { + return; + } + if (!steProtocol.isEnable()) { + return; + } + if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) { + wrkCharge.setWrkSts(30L); + wrkChargeMapper.updateById(wrkCharge); + return; + } + try { + // filter + if (wrkCharge.getWrkSts() < 28 && steProtocol.getChargeStatus() == 1) { + return; + } - // 鎼皬杞﹁嚦灏忚溅璧板悜閫氶亾 - List<String> channel = slaveProperties.getChannel(); - for (String channelLocNo : channel) { - Integer otherSte = existOtherSte(channelLocNo, wrkCharge.getSteNo()); - if (null != otherSte) { - log.warn("{}鍙峰皬杞︾Щ鍏}搴撲綅缁勫け璐ワ紝鍘熷洜锛氬瓨鍦▄}鍙风┛姊溅锛�", wrkCharge.getSteNo(), channelLocNo, otherSte); - } else { - LocMast channelLoc = locMastService.selectById(channelLocNo); + // 22.灏忚溅寰呮惉 + if (wrkCharge.getWrkSts() == 22) { - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkCharge.getCrnNo()); - CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - if (crnProtocol == null) { continue; } - // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� - if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) { - // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 -------------------------------------------------------------------------- - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setCrnNo(wrkCharge.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙� - crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 - crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), true).shortValue()); // 婧愬簱浣嶆帓 - crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪 - crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰 - crnCommand.setDestinationPosX(Utils.getGroupRow(channelLoc.getLocNo(), true).shortValue()); // 鐩爣搴撲綅鎺� - crnCommand.setDestinationPosY(channelLoc.getBay1().shortValue()); // 鐩爣搴撲綅鍒� - crnCommand.setDestinationPosZ(channelLoc.getLev1().shortValue()); // 鐩爣搴撲綅灞� - if (!MessageQueue.offer(SlaveType.Crn, wrkCharge.getCrnNo(), new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getCrnNo(), JSON.toJSON(crnCommand)); - } else { - // 淇敼绌挎杞﹁繍琛屼腑鎺掑垪灞� - steThread.modifyPos(Utils.getGroupRow(channelLoc.getLocNo(), true), channelLoc.getBay1(), channelLoc.getLev1()); - // 淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍 - Date now = new Date(); - wrkCharge.setWrkSts(23L); - wrkCharge.setCrnStrTime(now); - wrkCharge.setModiTime(now); - if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); - } - } - break; - } + // 鎼皬杞﹁嚦灏忚溅璧板悜閫氶亾 + List<String> channel = slaveProperties.getChannel(); + for (String channelLocNo : channel) { + Integer otherSte = existOtherSte(channelLocNo, wrkCharge.getSteNo()); + if (null != otherSte) { + log.warn("{}鍙峰皬杞︾Щ鍏}搴撲綅缁勫け璐ワ紝鍘熷洜锛氬瓨鍦▄}鍙风┛姊溅锛�", wrkCharge.getSteNo(), channelLocNo, otherSte); + } else { + LocMast channelLoc = locMastService.selectById(channelLocNo); - } - } - - } else if (wrkCharge.getWrkSts() == 24L) { - // 灏忚溅琛岄┒閫氶亾 - if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) { - if (steProtocol.getChargeStatus() == 1) { continue; } - // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - SteCommand steCommand = new SteCommand(); - steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙� - steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙� - steCommand.setTaskMode(SteTaskModeType.GO_ORIGIN); // 鍘诲彸绔� - - steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue(), false).shortValue()); - steCommand.setBay(steProtocol.getBay()); - steCommand.setLev(steProtocol.getLev()); - if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) { - log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand)); - } else { - // 淇敼宸ヤ綔妗g姸鎬� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅璧拌 - wrkCharge.setWrkSts(25L); - Date now = new Date(); - wrkCharge.setCrnEndTime(now); - wrkCharge.setModiTime(now); - if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼鍏呯數浠诲姟鐘舵�� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅璧拌 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); - } - } - } - } else if (wrkCharge.getWrkSts() == 26) { - // 鍥哄畾鍫嗗灈鏈� - int crnNo = 1; - // 鍏呯數浣� - LocMast chargeLoc = locMastService.selectById(wrkCharge.getLocNo()); - - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnNo); + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkCharge.getCrnNo()); CrnProtocol crnProtocol = crnThread.getCrnProtocol(); if (crnProtocol == null) { continue; } // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) { // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 -------------------------------------------------------------------------- CrnCommand crnCommand = new CrnCommand(); - crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setCrnNo(wrkCharge.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 - crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), false).shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), true).shortValue()); // 婧愬簱浣嶆帓 crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪 crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰 - crnCommand.setDestinationPosX(chargeLoc.getRow1().shortValue()); // 鐩爣搴撲綅鎺� - crnCommand.setDestinationPosY(chargeLoc.getBay1().shortValue()); // 鐩爣搴撲綅鍒� - crnCommand.setDestinationPosZ(chargeLoc.getLev1().shortValue()); // 鐩爣搴撲綅灞� - if (!MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnNo, JSON.toJSON(crnCommand)); + crnCommand.setDestinationPosX(Utils.getGroupRow(channelLoc.getLocNo(), true).shortValue()); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY(channelLoc.getBay1().shortValue()); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ(channelLoc.getLev1().shortValue()); // 鐩爣搴撲綅灞� + if (!MessageQueue.offer(SlaveType.Crn, wrkCharge.getCrnNo(), new Task(2, crnCommand))) { + log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getCrnNo(), JSON.toJSON(crnCommand)); } else { // 淇敼绌挎杞﹁繍琛屼腑鎺掑垪灞� - steThread.modifyPos(chargeLoc.getRow1(), chargeLoc.getBay1(), chargeLoc.getLev1()); - // 淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 => 27.鏀捐嚦鍏呯數浣� + steThread.modifyPos(Utils.getGroupRow(channelLoc.getLocNo(), true), channelLoc.getBay1(), channelLoc.getLev1()); + // 淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍 Date now = new Date(); - wrkCharge.setWrkSts(27L); + wrkCharge.setWrkSts(23L); wrkCharge.setCrnStrTime(now); wrkCharge.setModiTime(now); if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 => 27.鏀捐嚦鍏呯數浣� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + log.error("淇敼宸ヤ綔妗g姸鎬� 22.灏忚溅寰呮惉 => 23.鍚婅溅鎼繍 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); } } + break; } - } else if (wrkCharge.getWrkSts() == 28L) { - // 绌挎杞︿笅鍙戝厖鐢典换鍔� - SteCommand steCommand = new SteCommand(); - steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙� - steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙� - steCommand.setTaskMode(SteTaskModeType.CHARGE_LEFT); // 浠诲姟妯″紡: 鍏呯數 - if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) { - log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand)); - } else { - // 28.鍏呯數灏辩华 ===>> 29.寮�濮嬪厖鐢� - wrkCharge.setWrkSts(29L); - if (!wrkChargeService.updateById(wrkCharge)) { - log.error("淇敼鍏呯數浠诲姟鐘舵�� 28.鍏呯數灏辩华 ===>> 29.寮�濮嬪厖鐢� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); - } + + } + } + + } else if (wrkCharge.getWrkSts() == 24L) { + // 灏忚溅琛岄┒閫氶亾 + if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) { + if (steProtocol.getChargeStatus() == 1) { return; } + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙� + steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙� + steCommand.setTaskMode(SteTaskModeType.GO_ORIGIN); // 鍘诲彸绔� + + steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue(), false).shortValue()); + steCommand.setBay(steProtocol.getBay()); + steCommand.setLev(steProtocol.getLev()); + if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) { + log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅璧拌 + wrkCharge.setWrkSts(25L); + Date now = new Date(); + wrkCharge.setCrnEndTime(now); + wrkCharge.setModiTime(now); + if (!wrkChargeService.updateById(wrkCharge)) { + log.error("淇敼鍏呯數浠诲姟鐘舵�� 24.灏忚溅鍒拌揪 ===> 25.灏忚溅璧拌 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); } } } - } catch (Exception e) { - log.error("fail", e); + } else if (wrkCharge.getWrkSts() == 26) { + // 鍥哄畾鍫嗗灈鏈� + int crnNo = 1; + // 鍏呯數浣� + LocMast chargeLoc = locMastService.selectById(wrkCharge.getLocNo()); + + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnNo); + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { return; } + // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛� + if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) { + // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 -------------------------------------------------------------------------- + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 + crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), false).shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX(chargeLoc.getRow1().shortValue()); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY(chargeLoc.getBay1().shortValue()); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ(chargeLoc.getLev1().shortValue()); // 鐩爣搴撲綅灞� + if (!MessageQueue.offer(SlaveType.Crn, crnNo, new Task(2, crnCommand))) { + log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", crnNo, JSON.toJSON(crnCommand)); + } else { + // 淇敼绌挎杞﹁繍琛屼腑鎺掑垪灞� + steThread.modifyPos(chargeLoc.getRow1(), chargeLoc.getBay1(), chargeLoc.getLev1()); + // 淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 => 27.鏀捐嚦鍏呯數浣� + Date now = new Date(); + wrkCharge.setWrkSts(27L); + wrkCharge.setCrnStrTime(now); + wrkCharge.setModiTime(now); + if (!wrkChargeService.updateById(wrkCharge)) { + log.error("淇敼宸ヤ綔妗g姸鎬� 26.绛夊緟鍏呯數 => 27.鏀捐嚦鍏呯數浣� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + } + } + } + } else if (wrkCharge.getWrkSts() == 28L) { + // 绌挎杞︿笅鍙戝厖鐢典换鍔� + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(wrkCharge.getSteNo()); // 绌挎杞︾紪鍙� + steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙� + steCommand.setTaskMode(SteTaskModeType.CHARGE_LEFT); // 浠诲姟妯″紡: 鍏呯數 + if (!MessageQueue.offer(SlaveType.Ste, wrkCharge.getSteNo(), new Task(2, steCommand))) { + log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getSteNo(), JSON.toJSON(steCommand)); + } else { + // 28.鍏呯數灏辩华 ===>> 29.寮�濮嬪厖鐢� + wrkCharge.setWrkSts(29L); + if (!wrkChargeService.updateById(wrkCharge)) { + log.error("淇敼鍏呯數浠诲姟鐘舵�� 28.鍏呯數灏辩华 ===>> 29.寮�濮嬪厖鐢� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo()); + } + } } + } catch (Exception e) { + log.error("executeSteCharge fail", e); } } @@ -2720,7 +2764,8 @@ */ public synchronized void queryChargeLocOfComplete() { // 涓庡厖鐢典换鍔′笉鍚屾杩涜 - if (null != wrkChargeService.selectWorking(null, WrkChargeType.charge.toString())) { return; } + if (null != wrkChargeService.selectWorking(null, WrkChargeType.charge)) { return; } + if (null != wrkChargeService.selectWorking(null, WrkChargeType.reset)) { return; } SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); // 妫�绱㈠厖鐢垫々 for (SteChargeType value : SteChargeType.values()) { @@ -2757,7 +2802,7 @@ continue; } - WrkCharge wrkCharge = wrkChargeService.selectWorking(steNo, WrkChargeType.reset.toString()); + WrkCharge wrkCharge = wrkChargeService.selectWorking(steNo, WrkChargeType.reset); if (wrkCharge == null) { // 寮�濮嬬┛姊溅澶嶄綅浠诲姟 @@ -2773,6 +2818,8 @@ wrkCharge.setAppeTime(new Date()); if (!wrkChargeService.insert(wrkCharge)) { log.error("淇濆瓨{}鍙风┛姊溅澶嶄綅浠诲姟澶辫触!!!", steNo); + } else { + break; } } } @@ -2783,7 +2830,7 @@ * 灏忚溅浠庡厖鐢垫々 鑷� 寰呮満搴撲綅 */ public synchronized void steFromChargeToIdleLoc() { - WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.reset.toString()); + WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.reset); if (wrkCharge == null) { return; } SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, wrkCharge.getSteNo()); SteProtocol steProtocol = steThread.getSteProtocol(); @@ -2931,7 +2978,6 @@ } } } - if (null != loc) { break; -- Gitblit v1.9.1