#
tqs
2022-12-23 eb96c650d25d9d17ea3c582cd091dbeff9909bf1
#
2个文件已修改
69 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -571,6 +571,69 @@
    }
    /**
     * 拣料/盘点转全板后,300站任务转100/200站去
     */
    public synchronized void transPickToFullChangeStn() {
        for (DevpSlave devp : slaveProperties.getDevp()) {
            // 遍历拣料出库口
            for (DevpSlave.Sta pickSta : devp.getPickOutSta()) {
                // 获取拣料出库站信息
                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
                if (staProtocol == null) {
                    continue;
                } else {
                    staProtocol = staProtocol.clone();
                }
                if (staProtocol.isAutoing()
                        && staProtocol.isLoading()
                        && staProtocol.isInEnable()
                        && staProtocol.getWorkNo() > 0
                        && staProtocol.getStaNo().equals(staProtocol.getSiteId().shortValue())
                        && staProtocol.isPakMk()){
                    WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
                    if(Cools.isEmpty(wrkMast)){
                        log.error("拣料/盘点转全板,任务号工作档不存在===>>[任务号:{}]", staProtocol.getWorkNo());
                        continue;
                    }
                    if (wrkMast.getIoType() != 101) { continue; }
                    //拣料转全板默认出库站100站,当100站有物时,目标改200站
                    Integer staNo = 100;
                    StaProtocol staProtocol100 = devpThread.getStation().get(staNo);
                    if (staProtocol100 == null) {
                        continue;
                    } else {
                        staProtocol100 = staProtocol100.clone();
                    }
                    if (staProtocol100.isLoading()) {
                        staNo = 200;
                    }
                    // 更新站点信息 且 下发plc命令
                    staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
                    staProtocol.setStaNo(staNo.shortValue());
                    devpThread.setPakMk(staProtocol.getSiteId(), false);
                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                    if (!result) {
                        log.error("发布命令至输送线队列失败!!! [plc编号:{}]", devp.getId());
                    } else {
                        wrkMast.setStaNo(staNo);
                        wrkMast.setModiTime(new Date());
                        if (wrkMastMapper.updateById(wrkMast) == 0) {
                            log.error("更新工作档的目标站失败!!! [工作号:{}]", wrkMast.getWrkNo());
                        }
                    }
                }
            }
        }
    }
    /**
     * 堆垛机站出库到出库站
     */
    public synchronized void crnStnToOutStn() {
src/main/java/com/zy/core/MainProcess.java
@@ -52,8 +52,10 @@
                    // 拣料、并板、盘点再入库
                    mainService.stnToCrnStnPick0();
                    mainService.stnToCrnStnPick1();
                    // 拣料、并板、盘点抵达目标站
                    mainService.pickWrkCompleteStaNo();
                    //拣料/盘点转全板后,300站任务转100站去
                    mainService.transPickToFullChangeStn();
//                    // 拣料、并板、盘点抵达目标站
//                    mainService.pickWrkCompleteStaNo();
                    // 出库  ===>>  堆垛机出库站到出库站
                    mainService.crnStnToOutStn();
                    // 入出库  ===>>  堆垛机入出库作业下发