#
zhou zhou
2025-12-30 f3500be4dc1af8c567388e6fa3a3ceb8bbc96637
src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -88,6 +88,9 @@
    private BasRgvMapService basRgvMapService;
    @Resource
    private BasDevpMapper basDevpMapper;
    @Resource
    private BasDevpErrLogService basDevpErrLogService;
    @Value("${wms.url}")
@@ -152,7 +155,7 @@
                    back = true;
                }
                // 退回
                if (back && staProtocol.getWorkNo() == 9999 && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.isPakMk()) {
                if (back && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9998)  && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.isPakMk()) {
                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg));
                    staProtocol.setWorkNo(wrkNo);
                    News.info("{}入库回退:{},任务号:{}", inSta.getStaNo(), errMsg,wrkNo);
@@ -614,6 +617,10 @@
                if (wrkMastMapper.updateById(wrkMast) == 0) {
                    News.error(""+mark+" - 1"+" - 17"+" - 修改工作档状态 2.设备上走 => 3.吊车入库中 失败!!,工作号={}", wrkMast.getWrkNo());
                }
                // 入库暂存数-1
                int sourceStaNo = wrkMast.getSourceStaNo();
                sourceStaNo = (sourceStaNo > 1024) ? sourceStaNo + 1 : sourceStaNo - 1;
                basDevpMapper.decrementInQty(sourceStaNo);
            }
        }
        News.infoNoLog(""+mark+" - 1"+" - 0"+" - 堆垛机入出库作业下发 : 入库执行完毕");
@@ -1061,7 +1068,7 @@
                            // 更新站点信息 且 下发plc命令
                            staProtocol.setWorkNo(dto.getWorkNo());
                            staProtocol.setStaNo(staProtocol.getSiteId().shortValue());
                            staProtocol.setStaNo(dto.getStaNo().shortValue());
                            devpThread.setPakMk(staProtocol.getSiteId(), false);
                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                            log.error("输送线下发6:"+dto.getWorkNo()+","+staProtocol.getSiteId());
@@ -1421,6 +1428,22 @@
        }
    }
    public synchronized void forwardAGVInTasks() {
        List<Integer> workNos = new ArrayList<>();
        for (DevpSlave devp : slaveProperties.getDevp()) {
            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
            for (DevpSlave.Sta agvSta : devp.getOutSta()) {
                StaProtocol staProtocol = devpThread.getStation().get(agvSta.getStaNo());
                if (staProtocol != null && staProtocol.getWorkNo() != 0) {
                    workNos.add(staProtocol.getWorkNo());
                }
            }
        }
        if (!workNos.isEmpty()) {
            wrkMastMapper.updateCallAgvBatch(workNos);
        }
    }
    /**
     * 因双深库位阻塞,对浅库位进行移转(立即执行版)
     * tip:同步