#
luxiaotao1123
2022-11-02 2c6d7fededdb5b6b4f0af997c85471d52c8fcf16
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;