cpT
2025-06-30 3c9e4d85af794e00e94de44d934f806da40f5db2
#改造
4个文件已修改
184 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/wms/js/basPlcerrorLog/basPlcerrorLog.js 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -104,6 +104,8 @@
    private Long avoidDistance;
    @Autowired
    private TaskWrkLogServiceImpl taskWrkLogService;
    @Autowired
    private BasPlcerrorLogServiceImpl basPlcerrorLogService;
    public void generateStoreWrkFile() {
        try {
@@ -1500,6 +1502,132 @@
        }
    }
    /**
     * 堆垛机异常信息记录
     */
    public void recDevErr() {
        Date now = new Date();
        for (DevpSlave devpSlave : slaveProperties.getDevp()) {
            try{
                // 获取堆垛机信息
                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpSlave.getId());
                Map<Integer, StaProtocol> station = devpThread.getStation();
                for (StaProtocol staProtocol : station.values()){
                    try{
                        if (staProtocol == null) {
                            continue;
                        }
//                        if (staProtocol.isAutoing() != CrnModeType.STOP) {
//                            // 有任务
//                            if (crnProtocol.getTaskNo() != 0) {
//                                BasErrLog latest = basPlcerrorLogService.findLatestByTaskNo(crn.getId(), crnProtocol.getTaskNo().intValue());
//                                // 有异常
//                                if (latest == null) {
//                                    if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
//                                        TaskWrk taskWrk = taskWrkMapper.selectByWrkNo(Integer.valueOf(crnProtocol.getTaskNo()));
//                                        if (taskWrk == null) {
//                                            continue;
//                                        }
//                                        BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm().intValue());
//                                        String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
//                                        BasErrLog basErrLog = new BasErrLog(
//                                                null,    // 编号
//                                                taskWrk.getWrkNo(),    // 工作号
//                                                now,    // 发生时间
//                                                null,    // 结束时间
//                                                taskWrk.getWrkSts().longValue(),    // 工作状态
//                                                taskWrk.getIoType(),    // 入出库类型
//                                                crn.getId(),    // 堆垛机
//                                                null,    // plc
//                                                taskWrk.getTargetPoint(),    // 目标库位
//                                                0,    // 目标站
//                                                0,    // 源站
//                                                taskWrk.getStartPoint(),    // 源库位
//                                                taskWrk.getBarcode(),    // 条码
//                                                (int) crnProtocol.getAlarm(),    // 异常码
//                                                errName,    // 异常
//                                                1,    // 异常情况
//                                                taskWrk.getCreateTime(),    // 任务时间(接收时间)
//                                                null,    // 添加人员
//                                                now,    // 修改时间
//                                                null,    // 修改人员
//                                                "任务中异常"    // 备注
//                                        );
//                                        if (!basErrLogService.insert(basErrLog)) {
//                                            log.error("堆垛机plc异常记录失败 ===>> [id:{}] [error:{}]", crn.getId(), errName);
//                                        }
//                                    }
//                                } else {
//                                    // 异常修复
//                                    if (crnProtocol.getAlarm() == null || crnProtocol.getAlarm() == 0) {
//                                        latest.setEndTime(now);
//                                        latest.setUpdateTime(now);
//                                        latest.setStatus(2);
//                                        if (!basErrLogService.updateById(latest)) {
//                                            log.error("堆垛机plc异常记录修复失败 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
//                                        }
//                                    }
//                                }
//                                // 无任务
//                            } else {
//                                BasErrLog latest = basErrLogService.findLatest(crn.getId());
//                                // 有异常
//                                if (crnProtocol.getAlarm() != null && crnProtocol.getAlarm() > 0) {
//                                    // 记录新异常
//                                    if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
//                                        BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
//                                        String errName = crnError == null ? String.valueOf(crnProtocol.getAlarm()) : crnError.getErrName();
//                                        BasErrLog basErrLog = new BasErrLog(
//                                                null,    // 编号
//                                                null,    // 工作号
//                                                now,    // 发生时间
//                                                null,    // 结束时间
//                                                null,    // 工作状态
//                                                null,    // 入出库类型
//                                                crn.getId(),    // 堆垛机
//                                                null,    // plc
//                                                null,    // 目标库位
//                                                null,    // 目标站
//                                                null,    // 源站
//                                                null,    // 源库位
//                                                null,    // 条码
//                                                (int) crnProtocol.getAlarm(),    // 异常码
//                                                errName,    // 异常
//                                                1,    // 异常情况
//                                                now,    // 添加时间
//                                                null,    // 添加人员
//                                                now,    // 修改时间
//                                                null,    // 修改人员
//                                                "无任务异常"    // 备注
//                                        );
//                                        if (!basErrLogService.insert(basErrLog)) {
//                                            log.error("堆垛机plc异常记录失败 ===>> [id:{}] [error:{}]", crn.getId(), errName);
//                                        }
//                                    }
//                                    // 无异常
//                                } else {
//                                    // 异常修复
//                                    if (latest != null && latest.getStatus() == 1) {
//                                        latest.setEndTime(now);
//                                        latest.setUpdateTime(now);
//                                        latest.setStatus(2);
//                                        if (!basErrLogService.updateById(latest)) {
//                                            log.error("堆垛机plc异常记录修复失败 ===>> [id:{}] [errLogId:{}]", crn.getId(), latest.getId());
//                                        }
//                                    }
//                                }
//                            }
//                        }
                    } catch (Exception devErr){
                        log.error("输送线站点异常信息记录失败 ===>> [id:{}] [error:{}]", staProtocol.getStaNo(), devErr.getMessage());
                    }
                }
            } catch (Exception e){
                log.error("输送线异常信息记录失败 ===>> [id:{}] [error:{}]", devpSlave.getId(), e.getMessage());
            }
        }
    }
    private TaskWrk createTask(GetWmsDto dto, String barcode) {
        String wcsLocNo = dto.getLocNo();
        if (Cools.isEmpty(wcsLocNo)) {
src/main/java/com/zy/core/MainProcess.java
@@ -67,6 +67,8 @@
                    mainService.crnStnToOutStn();
                    // 堆垛机异常信息记录
                    mainService.recCrnErr();
                    // 输送线异常信息记录
//                    mainService.recDevErr();
                    // 出库  ===>>  堆垛机5分钟无任务则回到源点
//                    mainService.crnStnToOutStnSou();
                    // 出库  ===>> 工作档信息写入led显示器
src/main/resources/application.yml
@@ -14,13 +14,13 @@
    driver-class-name: dm.jdbc.driver.DmDriver
#    url: jdbc:dm://27.172.2.102:5236/SOURCE
#    url: jdbc:dm://27.172.1.130:5236/SOURCE
    url: jdbc:dm://27.172.1.129:5236/SOURCE
#    url: jdbc:dm://27.172.1.129:5236/SOURCE
#    url: jdbc:dm://27.172.1.131/dm?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=GB18030
#    url: jdbc:dm://127.0.0.1:5236/SOURCE
#    username: SYSDBA
#    password: Zy@12345
    username: ZOS_ZEMIC
    password: k3Mq6xRv9frOxb7n
    url: jdbc:dm://127.0.0.1:5236/SOURCE
    username: SYSDBA
    password: Zy@12345
#    username: ZOS_ZEMIC
#    password: k3Mq6xRv9frOxb7n
#    username: ENC(++MryJD2j+X3rpmocG4vPH5vxXbpJNrF)
#    password: ENC(zOcPLHRUpllsRBQRlRrtQmljC8cKAoSzrGQaBST81MY=)
  mvc:
src/main/webapp/static/wms/js/basPlcerrorLog/basPlcerrorLog.js
@@ -22,28 +22,28 @@
        height: 'full-120',
        cols: [[
            {type: 'checkbox'}
            ,{field: 'id', align: 'center',title: ''}
            ,{field: 'wrkNo', align: 'center',title: '工作号'}
            ,{field: 'startTime$', align: 'center',title: '开始时间'}
            ,{field: 'endTime$', align: 'center',title: '结束时间'}
            ,{field: 'wrkSts$', align: 'center',title: '工作状态'}
            ,{field: 'ioType$', align: 'center',title: '入出库类型'}
            ,{field: 'plcNo', align: 'center',title: 'plc'}
            ,{field: 'locNo', align: 'center',title: '目标库位'}
            ,{field: 'staNo', align: 'center',title: '目标站'}
            ,{field: 'sourceStaNo', align: 'center',title: '源站'}
            ,{field: 'sourceLocNo', align: 'center',title: '源库位'}
            ,{field: 'barcode', align: 'center',title: '条码'}
            ,{field: 'errCode', align: 'center',title: '异常编号'}
            ,{field: 'err', align: 'center',title: '异常描述'}
            ,{field: 'status$', align: 'center',title: '异常情况'}
            ,{field: 'createTime$', align: 'center',title: '添加时间'}
            ,{field: 'createBy$', align: 'center',title: '添加人员'}
            ,{field: 'updateTime$', align: 'center',title: '修改时间'}
            ,{field: 'updateBy$', align: 'center',title: '修改人员'}
            ,{field: 'memo', align: 'center',title: '备注'}
            ,{field: 'id', align: 'center',title: 'ID',hide : true}
            ,{field: 'wrkNo', align: 'center',title: '工作号',hide : false}
            ,{field: 'startTime$', align: 'center',title: '开始时间',hide : false}
            ,{field: 'endTime$', align: 'center',title: '结束时间',hide : false}
            ,{field: 'wrkSts$', align: 'center',title: '工作状态',hide : false}
            ,{field: 'ioType$', align: 'center',title: '入出库类型',hide : false}
            ,{field: 'plcNo', align: 'center',title: 'plc',hide : true}
            ,{field: 'locNo', align: 'center',title: '目的地',hide : false}
            ,{field: 'staNo', align: 'center',title: '目标站',hide : true}
            ,{field: 'sourceStaNo', align: 'center',title: '源站',hide : true}
            ,{field: 'sourceLocNo', align: 'center',title: '起点',hide : false}
            ,{field: 'barcode', align: 'center',title: '条码',hide : false}
            ,{field: 'errCode', align: 'center',title: '异常编号',hide : true}
            ,{field: 'err', align: 'center',title: '异常描述',hide : false}
            ,{field: 'status$', align: 'center',title: '异常情况',hide : false}
            ,{field: 'createTime$', align: 'center',title: '添加时间',hide : true}
            ,{field: 'createBy$', align: 'center',title: '添加人员',hide : true}
            ,{field: 'updateTime$', align: 'center',title: '修改时间',hide : true}
            ,{field: 'updateBy$', align: 'center',title: '修改人员',hide : true}
            ,{field: 'memo', align: 'center',title: '备注',hide : false}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120,hide : false}
        ]],
        request: {
            pageName: 'curr',