##
luxiaotao1123
2020-12-30 986aca08c6202596ec8bfbbc220b9957904eec3f
##
4个文件已修改
47 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/CrnController.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnTaskModeType.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/MelsecCrnThread.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/CrnController.java
@@ -403,23 +403,39 @@
                if (crnProtocol == null) {
                    throw new CoolException("堆垛机不在线");
                }
                // 只有出现指定异常才进行复位
                if (crnProtocol.getCrnError3().leftTakeNoneErr
                        || crnProtocol.getCrnError3().rightTakeNoneErr
                        || crnProtocol.getCrnError3().leftTakeThenLoadErr
                        || crnProtocol.getCrnError3().rightTakeThenLoadErr) {
                    CrnCommand command = new CrnCommand();
                    command.setCrnNo(param.getCrnNo()); // 堆垛机编号
                    command.setAckFinish((short) 1);  // 任务完成确认位
                    command.setTaskMode(CrnTaskModeType.NONE); // 任务模式
                if (crn.getId() == 1) {
                    // 只有出现指定异常才进行复位
                    if (crnProtocol.getCrnError3().leftTakeNoneErr
                            || crnProtocol.getCrnError3().rightTakeNoneErr
                            || crnProtocol.getCrnError3().leftTakeThenLoadErr
                            || crnProtocol.getCrnError3().rightTakeThenLoadErr) {
                        CrnCommand command = new CrnCommand();
                        command.setCrnNo(param.getCrnNo()); // 堆垛机编号
                        command.setAckFinish((short) 1);  // 任务完成确认位
                        command.setTaskMode(CrnTaskModeType.NONE); // 任务模式
                        // 延时发送
                        Thread.sleep(3000L);
                        if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
                            return R.ok();
                        } else {
                            throw new CoolException("命令下发失败");
                        }
                    }
                } else if (crn.getId() == 2) {
                    CrnCommand crnCommand = new CrnCommand();
                    crnCommand.setCrnNo(crn.getId()); // 堆垛机编号
                    crnCommand.setTaskMode(CrnTaskModeType.CANCEL);
                    crnCommand.setAckFinish((short) 0);  // 任务完成确认位
                    // 延时发送
                    Thread.sleep(3000L);
                    if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
                    Thread.sleep(1000L);
                    if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) {
                        return R.ok();
                    } else {
                        throw new CoolException("命令下发失败");
                    }
                }
            }
        }
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -731,7 +731,8 @@
                            if (wrkMast == null) {
                                continue;
                            }
                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
                            BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
                            String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
                            BasErrLog basErrLog = new BasErrLog(
                                    null,    // 编号
                                    wrkMast.getWrkNo(),    // 工作号
@@ -747,7 +748,7 @@
                                    wrkMast.getSourceLocNo(),    // 源库位
                                    wrkMast.getBarcode(),    // 条码
                                    crnProtocol.getAlarm1().intValue(),    // 异常码
                                    crnError.getErrName(),    // 异常
                                    errName,    // 异常
                                    1,    // 异常情况
                                    now,    // 添加时间
                                    null,    // 添加人员
@@ -777,7 +778,7 @@
                    if (crnProtocol.getAlarm1() != null && crnProtocol.getAlarm1() > 0) {
                        // 记录新异常
                        if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm1().intValue())) {
                            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
                            BasCrnError crnError = basCrnErrorMapper.selectById(crn.getId()==2?(crnProtocol.getAlarm1()+1000):crnProtocol.getAlarm1());
                            String errName = crnError==null? String.valueOf(crnProtocol.getAlarm1()):crnError.getErrName();
                            BasErrLog basErrLog = new BasErrLog(
                                    null,    // 编号
src/main/java/com/zy/core/enums/CrnTaskModeType.java
@@ -10,6 +10,7 @@
    GO_ORIGIN(5),    // 回原点
    OFFSET_MOVE(7),    // 坐标移行
    TIMING(90),     // 校时
    CANCEL(99),     // 取消当前任务
    ;
    public Integer id;
src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -222,6 +222,7 @@
        }
        if (command.getAckFinish() == 1) {
            command.setTaskSend((short) 0);
            command.setTaskNo((short) 0);
        } else if (command.getAckFinish() == 0) {
            command.setTaskSend((short) 1);
        }