#
luxiaotao1123
2022-11-02 f1438e7816f5d5ea213834efbd7c39a4ac7d5fd4
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();