chen.lin
5 小时以前 5b1a1d32abc8441bf73b7e2dc609def87e5a580a
删除不用的方法
1个文件已修改
104 ■■■■■ 已修改文件
src/main/java/com/zy/service/impl/MainServiceImpl.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -1477,110 +1477,6 @@
    }
    /**
     * RGV异常检测和托盘退回
     */
    public synchronized void recRgvErr() {
        Date now = new Date();
        for (RgvSlave rgv : slaveProperties.getRgv()) {
            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
            if (rgvThread == null) {
                continue;
            }
            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
            if (rgvProtocol == null) {
                continue;
            }
            // 检测RGV报警
            Short alarm = rgvProtocol.getAlarm();
            Short taskNo1 = rgvProtocol.getTaskNo1();
            // 如果有报警且有任务
            if (alarm != null && alarm > 0 && taskNo1 != null && taskNo1 > 0 && taskNo1 <= 9000) {
                Integer workNo = taskNo1.intValue();
                WrkMast wrkMast = wrkMastMapper.selectById(workNo);
                if (wrkMast == null) {
                    log.warn("【RGV报警处理】工作档不存在,RGV:{},工作号:{}", rgv.getId(), workNo);
                    continue;
                }
                // 获取报警信息
                BasRgvErr rgvErr = basRgvErrMapper.selectById(alarm.longValue());
                String alarmMsg = rgvErr != null ? rgvErr.getErrName() : "未知异常(" + alarm + ")";
                log.info("【RGV报警处理】RGV:{},工作号:{},报警:{}", rgv.getId(), workNo, alarmMsg);
                // 根据工作档的源站点查找对应的输送线站点和退回站
                Integer sourceStaNo = wrkMast.getStaNo(); // 源站点(目标站)
                if (sourceStaNo == null) {
                    log.warn("【RGV报警处理】工作档源站点为空,RGV:{},工作号:{}", rgv.getId(), workNo);
                    continue;
                }
                // 查找对应的输送线配置和退回站
                Integer backSta = null;
                Integer finalDevpId = null;
                Integer siteNo = null;
                DevpThread devpThread = null;
                DevpSlave targetDevp = null;
                // 遍历所有输送线,查找包含该站点的配置
                for (DevpSlave devp : slaveProperties.getDevp()) {
                    DevpThread dt = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                    if (dt == null) {
                        continue;
                    }
                    Map<Integer, StaProtocol> station = dt.getStation();
                    if (station != null && station.containsKey(sourceStaNo)) {
                        // 找到对应的输送线站点
                        backSta = findBackSta(devp, sourceStaNo);
                        if (backSta != null) {
                            finalDevpId = devp.getId();
                            siteNo = sourceStaNo;
                            devpThread = dt;
                            targetDevp = devp;
                            break;
                        }
                    }
                }
                if (backSta != null && devpThread != null && siteNo != null && finalDevpId != null) {
                    StaProtocol staProtocol = devpThread.getStation().get(siteNo);
                    if (staProtocol != null && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.isPakMk() && !staProtocol.isEmptyMk()) {
                        log.info("【RGV报警退回】RGV:{},工作号:{},报警:{},站点:{},退回站:{}", rgv.getId(), workNo, alarmMsg, siteNo, backSta);
                        // 推送到LED显示报警信息
                        Integer ledId = findLedId(targetDevp, siteNo);
                        if (ledId != null) {
                            MessageQueue.offer(SlaveType.Led, ledId, new Task(3, "RGV报警:" + alarmMsg));
                        }
                        // 设置退回站
                        staProtocol.setWorkNo(9999);
                        staProtocol.setStaNo(backSta.shortValue());
                        devpThread.setPakMk(staProtocol.getSiteId(), false);
                        boolean result = MessageQueue.offer(SlaveType.Devp, finalDevpId, new Task(2, staProtocol));
                        if (!result) {
                            News.error("RGV报警退回失败,RGV:{},站点:{},工作号:{}", rgv.getId(), siteNo, workNo);
                        } else {
                            log.info("【RGV报警退回】成功下发退回指令,RGV:{},站点:{},工作号:{},退回站:{}", rgv.getId(), siteNo, workNo, backSta);
                        }
                    } else {
                        log.debug("【RGV报警退回】站点状态不符合退回条件,RGV:{},站点:{},工作号:{},inEnable:{},loading:{},pakMk:{},emptyMk:{}",
                                rgv.getId(), siteNo, workNo,
                                staProtocol != null ? staProtocol.isInEnable() : false,
                                staProtocol != null ? staProtocol.isLoading() : false,
                                staProtocol != null ? staProtocol.isPakMk() : false,
                                staProtocol != null ? staProtocol.isEmptyMk() : false);
                    }
                } else {
                    log.warn("【RGV报警退回】未找到对应的输送线站点或退回站配置,RGV:{},工作号:{},源站点:{}", rgv.getId(), workNo, sourceStaNo);
                }
            }
        }
    }
    /**
     * 出库  ===>> 工作档信息写入led显示器
     */
    public synchronized void ledExecute() {