#
luxiaotao1123
2022-10-28 b03799a01cbadde1eed0b053bfec000fe63efb8f
#
5个文件已修改
67 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/BasSteService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WrkChargeService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/SiemensDevpThread.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasSteService.java
@@ -9,4 +9,6 @@
    Boolean updatePakMk(Integer steNo, String pakMk);
    Integer hasCarOfLocNo(String locNo);
}
src/main/java/com/zy/asrs/service/WrkChargeService.java
@@ -7,4 +7,6 @@
    WrkCharge selectWorking(Integer steNo);
}
src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
@@ -1,11 +1,15 @@
package com.zy.asrs.service.impl;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.BasSte;
import com.zy.asrs.mapper.BasSteMapper;
import com.zy.asrs.service.BasSteService;
import com.zy.asrs.utils.Utils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Slf4j
@Service("basSteService")
@@ -21,4 +25,17 @@
        return this.baseMapper.updatePakMk(steNo, pakMk) > 0;
    }
    @Override
    public Integer hasCarOfLocNo(String locNo) {
        List<BasSte> basStes = this.selectList(new EntityWrapper<>());
        for (BasSte basSte : basStes) {
            if (Utils.getRow(locNo) == basSte.getRow()
                && Utils.getBay(locNo) == basSte.getBay()
                && Utils.getLev(locNo) == basSte.getLev()){
                return basSte.getSteNo();
            }
        }
        return null;
    }
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2458,6 +2458,7 @@
    /**
     * 小车电量检测 ===>> 发起充电
     */
    @SuppressWarnings("serial")
    public synchronized void loopSteCharge() {
        SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
        for (SteSlave ste : slaveProperties.getSte()) {
@@ -2484,7 +2485,33 @@
                if (wrkCharge == null && steProtocol.getChargeStatus() == 0) {
                    // 寻找空闲充电桩
                    SteChargeType steCharge = devpThread.getIdleChargeLocNo();
                    SteChargeType steCharge = null;
                    do {
                        String locNo;
                        if (!devpThread.charge0) {
                            locNo = SteChargeType.FIRST.locNo;
                            if (basSteService.hasCarOfLocNo(locNo) == null) {
                                steCharge = SteChargeType.FIRST;
                                break;
                            }
                        }
                        if (!devpThread.charge1) {
                            locNo = SteChargeType.SECOND.locNo;
                            if (basSteService.hasCarOfLocNo(locNo) == null) {
                                steCharge = SteChargeType.SECOND;
                                break;
                            }
                        }
                        if (!devpThread.charge2) {
                            locNo = SteChargeType.THIRD.locNo;
                            if (basSteService.hasCarOfLocNo(locNo) == null) {
                                steCharge = SteChargeType.THIRD;
                                break;
                            }
                        }
                        break;
                    } while (false);
                    if (steCharge == null) {
                        log.warn("{}号小车【电量:{}】充电失败,原因:没有空闲充电桩。", ste.getId(), steProtocol.getCharge());
                        continue;
src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -15,7 +15,6 @@
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.SteChargeType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
import com.zy.core.model.protocol.StaProtocol;
@@ -278,22 +277,6 @@
            log.error("输送线plc编号={} {}号充电桩{}控制成功", slave.getId(), index + 1, open?"打开":"关闭");
        }
        return true;
    }
    /**
     * 获取空闲充电桩
     */
    public SteChargeType getIdleChargeLocNo() {
        if (!this.charge0) {
            return SteChargeType.FIRST;
        }
        if (!this.charge1) {
            return SteChargeType.SECOND;
        }
        if (!this.charge2) {
            return SteChargeType.THIRD;
        }
        return null;
    }
    @Override