#
luxiaotao1123
2022-11-02 2842f1b8da163342536046a3001aeab876f28fec
#
4个文件已修改
65 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/WrkCharge.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/WrkChargeMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkCharge.java
@@ -10,8 +10,6 @@
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.BasSteService;
import com.zy.asrs.service.LocMastService;
import com.zy.system.entity.User;
import com.zy.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -69,6 +67,12 @@
    private Integer steNo;
    /**
     * 充电桩
     */
    @ApiModelProperty(value= "充电桩")
    private Integer charge;
    /**
     * 巷道口
     */
    @ApiModelProperty(value= "巷道口")
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2509,7 +2509,7 @@
                if (steProtocol.getCharge() > Float.parseFloat(basSte.getChargeLine())) {
                    continue;
                }
                WrkCharge wrkCharge = wrkChargeService.selectWorking(null, WrkChargeType.charge);
                WrkCharge wrkCharge = wrkChargeService.selectWorking(ste.getId(), WrkChargeType.charge);
                if (wrkCharge == null && steProtocol.getChargeStatus() == 0) {
                    // 寻找空闲充电桩
@@ -2547,6 +2547,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号堆垛机
@@ -2572,11 +2573,45 @@
                    } else {
                        this.letCarBeWaiting(wrkCharge, ste.getId());
                    }
                }
            } catch (Exception e) {
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                log.error("loopSteCharge fail", e);
            }
        }
    }
                } else {
    /**
     * 执行小车充电任务
     */
    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 == null || (wrkCharge.getWrkSts() < 28 && steProtocol.getChargeStatus() == 1)) {
                        continue;
            if (wrkCharge.getWrkSts() < 28 && steProtocol.getChargeStatus() == 1) {
                return;
                    }
                    // 22.小车待搬
@@ -2631,7 +2666,7 @@
                    } else if (wrkCharge.getWrkSts() == 24L) {
                        // 小车行驶通道
                        if (steProtocol.statusType.equals(SteStatusType.IDLE) && steProtocol.getPakMk().equals("N")) {
                            if (steProtocol.getChargeStatus() == 1) { continue; }
                    if (steProtocol.getChargeStatus() == 1) { return; }
                            // 命令下发区 --------------------------------------------------------------------------
                            SteCommand steCommand = new SteCommand();
                            steCommand.setSteNo(wrkCharge.getSteNo()); // 穿梭车编号
@@ -2662,7 +2697,7 @@
                        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnNo);
                        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
                        if (crnProtocol == null) { continue; }
                if (crnProtocol == null) { return; }
                        // 只有当堆垛机空闲 并且 无任务时才继续执行
                        if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO) {
                            // 堆垛机命令下发区 --------------------------------------------------------------------------
@@ -2708,10 +2743,8 @@
                            }
                        }
                    }
                }
            } catch (Exception e) {
                log.error("fail", e);
            }
            log.error("executeSteCharge fail", e);
        }
    }
src/main/java/com/zy/core/MainProcess.java
@@ -70,6 +70,7 @@
                    mainService.ledReset();
                    // 穿梭车 ===>> 小车电量检测充电
                    mainService.loopSteCharge();
                    mainService.executeSteCharge();
                    // 间隔
                    Thread.sleep(200);
                    // 穿梭车 ===>> 小车复位至待机库位
src/main/resources/mapper/WrkChargeMapper.xml
@@ -10,6 +10,7 @@
        <result column="io_type" property="ioType" />
        <result column="crn_no" property="crnNo" />
        <result column="ste_no" property="steNo" />
        <result column="charge" property="charge" />
        <result column="out_most" property="outMost" />
        <result column="io_pri" property="ioPri" />
        <result column="loc_no" property="locNo" />
@@ -38,7 +39,7 @@
        </if>
        and wrk_sts &lt; 30
        and memo = 'charge'
        order by appe_time desc
        order by appe_time, io_pri desc
    </select>
    <select id="selectWorkingOfReset" resultMap="BaseResultMap">
@@ -50,7 +51,7 @@
        </if>
        and wrk_sts &lt; 47
        and memo = 'reset'
        order by appe_time desc
        order by appe_time, io_pri desc
    </select>
</mapper>