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 | 35 ++++++++++++++++++++++++----------- 1 files changed, 24 insertions(+), 11 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 3412253..3134932 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -2487,6 +2487,9 @@ if (null != wrkChargeService.selectWorking(null, WrkChargeType.reset)) { return; } + if (null != wrkChargeService.selectWorking(null, WrkChargeType.charge)) { + return; + } SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); for (SteSlave ste : slaveProperties.getSte()) { SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId()); @@ -2509,7 +2512,7 @@ if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) { continue; } - WrkCharge wrkCharge = wrkChargeService.selectWorking(ste.getId(), WrkChargeType.charge); + 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; } } @@ -2573,6 +2582,8 @@ } else { this.letCarBeWaiting(wrkCharge, ste.getId()); } + + break; } } catch (Exception e) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); @@ -2754,6 +2765,7 @@ public synchronized void queryChargeLocOfComplete() { // 涓庡厖鐢典换鍔′笉鍚屾杩涜 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()) { @@ -2806,6 +2818,8 @@ wrkCharge.setAppeTime(new Date()); if (!wrkChargeService.insert(wrkCharge)) { log.error("淇濆瓨{}鍙风┛姊溅澶嶄綅浠诲姟澶辫触!!!", steNo); + } else { + break; } } } @@ -2964,7 +2978,6 @@ } } } - if (null != loc) { break; -- Gitblit v1.9.1