#
1
2025-05-09 779c4e1f1435695462e922d3135a6b3224edfdbd
#
7个文件已修改
150 ■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/ConsoleController.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/CrnController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnModeType.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/RgvThread.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/ScaleThread.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-prod.yml 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -21,6 +21,7 @@
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.DeviceErrorService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.TaskWrkServiceImpl;
import com.zy.common.CodeRes;
import com.zy.core.CrnThread;
import com.zy.core.DevpThread;
@@ -70,6 +71,8 @@
    private DeviceErrorService deviceErrorService;
    @Autowired
    private BasCrnpService basCrnpService;
    @Autowired
    private TaskWrkServiceImpl taskWrkService;
    @PostMapping("/system/running/status")
    @ManagerAuth(memo = "系统运行状态")
@@ -151,9 +154,10 @@
                vo.setCrnStatus(CrnStatusType.MACHINE_ERROR);
            } else {
                if (crnProtocol.getTaskNo()>0) {
                    WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
                    if (wrkMast != null) {
                        vo.setCrnStatus(CrnStatusType.process(wrkMast.getIoType()));
                    TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
//                    WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
                    if (taskWrk != null) {
                        vo.setCrnStatus(CrnStatusType.process(taskWrk.getIoType()));
                    } else {
                        vo.setCrnStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO: CrnStatusType.MACHINE_UN_AUTO);
                    }
@@ -279,14 +283,16 @@
                    vo.setWorkNo(staProtocol.getWorkNo());   // 工作号
                    if (staProtocol.getWorkNo() > 0) {
                        WrkMast wrkMast = wrkMastService.selectById(staProtocol.getWorkNo());
                        if (wrkMast != null) {
                            vo.setWrkSts(wrkMast.getWrkSts$());   // 工作状态
                            vo.setIoType(wrkMast.getIoType$());   //  入出库类型
                            vo.setSourceStaNo(wrkMast.getSourceStaNo$());
                            vo.setStaNo(wrkMast.getStaNo$());
                            vo.setSourceLocNo(wrkMast.getSourceLocNo$());
                            vo.setLocNo(wrkMast.getLocNo$());
                        TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo());
//                        WrkMast wrkMast = wrkMastService.selectById(staProtocol.getWorkNo());
                        if (taskWrk != null) {
                            vo.setWrkSts(taskWrk.getWrkSts$());   // 工作状态
                            vo.setIoType(taskWrk.getIoType$());   //  入出库类型
                            vo.setSourceStaNo(taskWrk.getStartPoint());
                            vo.setStaNo(taskWrk.getTargetPoint());
//                            vo.setSourceLocNo(wrkMast.getSourceLocNo$());
//                            vo.setLocNo(wrkMast.getLocNo$());
                        }
                    }
@@ -330,16 +336,12 @@
                }
                if (crnProtocol.getTaskNo() > 0) {
                    WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
                    if (wrkMast != null) {
                        vo.setSourceStaNo(wrkMast.getSourceStaNo$());
                        vo.setStaNo(wrkMast.getStaNo$());
                        vo.setWrkSts(wrkMast.getWrkSts$());   // 工作状态
                        vo.setIoType(wrkMast.getIoType$());   //  入出库类型
                        vo.setSourceLocNo(wrkMast.getSourceLocNo$());
                        vo.setLocNo(wrkMast.getLocNo$());
                        vo.setCrnStatus(crnProtocol.getStatusType().desc);
                        vo.setError("");    // todo
                    TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
                    if (taskWrk != null) {
                        vo.setWrkSts(taskWrk.getWrkSts$());   // 工作状态
                        vo.setIoType(taskWrk.getIoType$());   //  入出库类型
                        vo.setSourceStaNo(taskWrk.getStartPoint());
                        vo.setStaNo(taskWrk.getTargetPoint());
                    }
                }
                vo.setInEnable(basCrnp.getInEnable());//可入
src/main/java/com/zy/asrs/controller/CrnController.java
@@ -19,6 +19,7 @@
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.asrs.service.impl.TaskWrkServiceImpl;
import com.zy.asrs.utils.CommandUtils;
import com.zy.asrs.utils.VersionUtils;
import com.zy.core.CrnThread;
@@ -72,6 +73,8 @@
    private MainServiceImpl mainService;
    @Autowired
    private LocMastService locMastService;
    @Autowired
    private TaskWrkServiceImpl taskWrkService;
    @ManagerAuth(memo = "进行中的命令")
@@ -195,13 +198,12 @@
            vo.setWorkNo(crnProtocol.getTaskNo());  //  任务号
            if (crnProtocol.getTaskNo()>0) {
                WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
                if (wrkMast != null) {
                    vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  模式状态
                    vo.setSourceStaNo(wrkMast.getSourceStaNo$());    //  源站
                    vo.setStaNo(wrkMast.getStaNo$());   //  目标站
                    vo.setSourceLocNo(wrkMast.getSourceLocNo());    //  源库位
                    vo.setLocNo(wrkMast.getLocNo());    //  目标库位
                TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
                if (taskWrk != null) {
//                    vo.setWrkSts(taskWrk.getWrkSts$());   // 工作状态
//                    vo.setIoType(taskWrk.getIoType$());   //  入出库类型
                    vo.setSourceStaNo(taskWrk.getStartPoint());
                    vo.setStaNo(taskWrk.getTargetPoint());
                }
            } else {
                vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc());   //  模式状态
@@ -236,13 +238,18 @@
        vo.setWorkNo(crnProtocol.getTaskNo());  //  任务号
        if (crnProtocol.getTaskNo()>0) {
            WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
            if (wrkMast != null) {
                vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  模式状态
                vo.setSourceStaNo(wrkMast.getSourceStaNo$());    //  源站
                vo.setStaNo(wrkMast.getStaNo$());   //  目标站
                vo.setSourceLocNo(wrkMast.getSourceLocNo());    //  源库位
                vo.setLocNo(wrkMast.getLocNo());    //  目标库位
            TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
            if (taskWrk != null) {
//                vo.setWrkSts(taskWrk.getWrkSts$());   // 工作状态
//                vo.setIoType(taskWrk.getIoType$());   //  入出库类型
                vo.setSourceStaNo(taskWrk.getStartPoint());
                vo.setStaNo(taskWrk.getTargetPoint());
//            if (wrkMast != null) {
//                vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  模式状态
//                vo.setSourceStaNo(wrkMast.getSourceStaNo$());    //  源站
//                vo.setStaNo(wrkMast.getStaNo$());   //  目标站
//                vo.setSourceLocNo(wrkMast.getSourceLocNo());    //  源库位
//                vo.setLocNo(wrkMast.getLocNo());    //  目标库位
            }
        } else {
            vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc());   //  模式状态
@@ -279,13 +286,14 @@
            vo.setWorkNo(crnProtocol.getTaskNo());  //  任务号
            if (crnProtocol.getTaskNo()>0) {
                WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
                if (wrkMast != null) {
                    vo.setDeviceStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  模式状态
                    vo.setSourceStaNo(wrkMast.getSourceStaNo$());    //  源站
                    vo.setStaNo(wrkMast.getStaNo$());   //  目标站
                    vo.setSourceLocNo(wrkMast.getSourceLocNo());    //  源库位
                    vo.setLocNo(wrkMast.getLocNo());    //  目标库位
                TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
//                WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
                if (taskWrk != null) {
                    vo.setDeviceStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc());   //  模式状态
                    vo.setSourceStaNo(taskWrk.getStartPoint());    //  源站
                    vo.setStaNo(taskWrk.getTargetPoint());   //  目标站
//                    vo.setSourceLocNo(taskWrk.getTargetPoint());    //  源库位
//                    vo.setLocNo(taskWrk.getLocNo());    //  目标库位
                }
            } else {
                if (Cools.isEmpty(crnProtocol.modeType)){
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -795,7 +795,7 @@
                crnCommand.setDestinationPosY(Utils.getBayShort(taskWrk.getTargetPoint()));     // 目标库位层
                crnCommand.setDestinationPosZ(Utils.getLevShort(taskWrk.getTargetPoint()));     // 目标库位排
                crnCommand.setCommand((short) 1);
                if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand), false)) {
                if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, crnCommand))) {
                    log.error("堆垛机命令生成失败,堆垛机号={},任务数据={}", taskWrk.getCrnNo(), JSON.toJSON(crnCommand));
                    throw new CoolException("堆垛机命令生成失败");
                } else {
@@ -907,7 +907,7 @@
                        command.setDestinationPosY(crnStn.getBay().shortValue());     // 目标库位列
                        command.setDestinationPosZ(crnStn.getLev().shortValue());     // 目标库位层
                        command.setCommand((short) 1);
                        if (!CommandUtils.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, command), false)) {
                        if (!MessageQueue.offer(SlaveType.Crn, taskWrk.getCrnNo(), new Task(2, command))) {
                            log.error("堆垛机命令生成失败,堆垛机号={},巷道={},任务数据={}", slave.getId(), taskWrk.getCrnNo(), JSON.toJSON(command));
                            throw new CoolException("堆垛机命令生成失败");
                        } else {
src/main/java/com/zy/core/enums/CrnModeType.java
@@ -7,6 +7,7 @@
    HALF_AUTO(2, "半自动"),
    HAND(1, "手动"),
    STOP(4, "维修"),
    OTHER(100, "其他"),
    ;
    public Integer id;
@@ -18,25 +19,25 @@
    public static CrnModeType get(Short id) {
        if (null == id) {
            return null;
            return OTHER;
        }
        for (CrnModeType type : CrnModeType.values()) {
            if (type.id.equals(id.intValue())) {
                return type;
            }
        }
        return null;
        return OTHER;
    }
    public static CrnModeType get(CrnModeType type) {
        if (null == type) {
            return null;
            return OTHER;
        }
        for (CrnModeType crnModeType : CrnModeType.values()) {
            if (crnModeType == type) {
                return crnModeType;
            }
        }
        return null;
        return OTHER;
    }
}
src/main/java/com/zy/core/thread/RgvThread.java
@@ -203,8 +203,9 @@
                            Thread.sleep(100);
                            TaskProtocol issued = new TaskProtocol(taskProtocol);
                            write(issued);
                            taskProtocol.setIsRunning(4);
                            taskProtocolCache.updateTaskProtocol(taskProtocol);
//                            taskProtocol.setIsRunning(4);
//                            taskProtocolCache.updateTaskProtocol(taskProtocol);
                            taskProtocolCache.removeTaskProtocol(taskProtocol.getTaskNoDirection());
                            break;
                        } else {
                            Thread.sleep(100);
src/main/java/com/zy/core/thread/ScaleThread.java
@@ -80,7 +80,7 @@
                                    OutputQueue.SCALE.offer(jsonObject);
                                }
                            } catch (Exception e){
                                log.error("称重模块异常"+e.getMessage());
                                log.error("称重模块异常"+e .getMessage());
                            }
//                            BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class);
//                            BasDevp basDevp = basDevpService.selectById(slave.getStaNo());
src/main/resources/application-prod.yml
@@ -263,13 +263,13 @@
    offset: 2    #偏移量,当堆垛机站点列号=1时,偏移量=2
    port: 102
    crnOutStn[0]:    #堆垛机出库站点
      staNo: 101
      staNo: 1003
      row: 2
      bay: 1
      lev: 1
      devpPlcId: ${wcs-slave.devp[0].id}
    crnInStn[0]:    #堆垛机入库站点1
      staNo: 100
      staNo: 1001
      row: 1
      bay: 1
      lev: 1
@@ -283,14 +283,14 @@
    offset: 2    #偏移量,当堆垛机站点列号=1时,偏移量=2
    port: 102
    crnOutStn[0]:    #堆垛机出库站点
      staNo: 101
      row: 2
      staNo: 1007
      row: 4
      bay: 1
      lev: 1
      devpPlcId: ${wcs-slave.devp[0].id}
    crnInStn[0]:    #堆垛机入库站点1
      staNo: 100
      row: 1
      staNo: 1006
      row: 3
      bay: 1
      lev: 1
      devpPlcId: ${wcs-slave.devp[0].id}
@@ -303,14 +303,14 @@
    offset: 2    #偏移量,当堆垛机站点列号=1时,偏移量=2
    port: 102
    crnOutStn[0]:    #堆垛机出库站点
      staNo: 101
      row: 2
      staNo: 1013
      row: 6
      bay: 1
      lev: 1
      devpPlcId: ${wcs-slave.devp[0].id}
    crnInStn[0]:    #堆垛机入库站点1
      staNo: 100
      row: 1
      staNo: 1008
      row: 5
      bay: 1
      lev: 1
      devpPlcId: ${wcs-slave.devp[0].id}
@@ -323,14 +323,14 @@
    offset: 2    #偏移量,当堆垛机站点列号=1时,偏移量=2
    port: 102
    crnOutStn[0]:    #堆垛机出库站点
      staNo: 101
      row: 2
      staNo: 1018
      row: 8
      bay: 1
      lev: 1
      devpPlcId: ${wcs-slave.devp[0].id}
    crnInStn[0]:    #堆垛机入库站点1
      staNo: 100
      row: 1
      staNo: 1017
      row: 7
      bay: 1
      lev: 1
      devpPlcId: ${wcs-slave.devp[0].id}
@@ -343,14 +343,14 @@
    offset: 2    #偏移量,当堆垛机站点列号=1时,偏移量=2
    port: 102
    crnOutStn[0]:    #堆垛机出库站点
      staNo: 101
      row: 2
      staNo: 1019
      row: 9
      bay: 1
      lev: 1
      devpPlcId: ${wcs-slave.devp[0].id}
    crnInStn[0]:    #堆垛机入库站点1
      staNo: 100
      row: 1
      staNo: 1022
      row: 10
      bay: 1
      lev: 1
      devpPlcId: ${wcs-slave.devp[0].id}