#
TQS
2024-08-13 876db5fee890311a1d7eaea983af20826b817e01
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -844,11 +844,17 @@
                    // 查询工作档
                    WrkMast wrkMast = wrkMastMapper.selectPakOutStep16(staProtocol.getSiteId());
                    if (wrkMast == null) {
                        try{
                            if (crnSlave.getId()!=2){
                        // 判断吊车是否实际已完成,且电脑状态在move中,以备电脑进行更新工作档
                        CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId());
                        CrnProtocol crnProtocol = crnThread.getCrnProtocol();
                        if (crnProtocol.statusType == CrnStatusType.FETCHING || crnProtocol.statusType == CrnStatusType.PUTTING) {
                            // 移动中
                                    continue;
                                }
                                WrkMast onlyWrkNo = wrkMastMapper.selectByOnlyWrkNo(crnProtocol.getTaskNo().intValue());
                                if (Cools.isEmpty(onlyWrkNo)){
                            continue;
                        }
                        //  判断堆垛机状态等待确认
@@ -866,6 +872,10 @@
                            // 复位堆垛机
                            crnThread.setResetFlag(true);
                            continue;
                                }
                            }
                        } catch (Exception e){
                            News.info("堆垛机接驳任务完成,一场:"+e.getMessage());
                        }
                        continue;
                    }
@@ -992,8 +1002,10 @@
            // 获取工作状态为 2,3,4,5,6 的入库工作档
            WrkMast wrkMast = wrkMastMapper.selectPakInStep23456(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo());
            if(null == wrkMast || (wrkMast.getCrnNo()==2 && wrkMast.getWrkSts()==2 && crnProtocol.getCrnNo()!=2 && (wrkMast.getIoType()==1 || wrkMast.getIoType()==10)) ){
            if(null == wrkMast){
                try{
                    WrkMast onlyWrkNo = wrkMastMapper.selectByOnlyWrkNo(staProtocol.getWorkNo().intValue());
                    if (!Cools.isEmpty(onlyWrkNo) && onlyWrkNo.getCrnNo()==2 && onlyWrkNo.getWrkSts()==2 && crnProtocol.getCrnNo()!=2 && (onlyWrkNo.getIoType()==1 || onlyWrkNo.getIoType()==10)){
                    //                News.error("{}站点查询无待入库数据 工作号={}", crnStn.getStaNo(), staProtocol.getWorkNo());
                    // 已经存在吊车执行任务时,则过滤
                    if (wrkMastMapper.selectWorking(slave.getId()) != null) {
@@ -1010,7 +1022,7 @@
                        // 堆垛机接驳任务命令下发区 --------------------------------------------------------------------------
                        CrnCommand crnCommand = new CrnCommand();
                        crnCommand.setCrnNo(slave.getId()); // 堆垛机编号
                        crnCommand.setTaskNo(staProtocol.getWorkNo()); // 工作号
                            crnCommand.setTaskNo(onlyWrkNo.getWrkNo().shortValue()); // 工作号
                        crnCommand.setAckFinish((short) 0);  // 任务完成确认位
                        crnCommand.setCommand((short) 0);
                        crnCommand.setTaskMode(CrnTaskModeType.XY_MOVE); // 任务模式:  站位转移
@@ -1025,6 +1037,7 @@
                        }
                        return true;
                    }
                    }
                    continue;
                } catch (Exception e){
                    News.info("堆垛机接驳任务执行,一场:"+e.getMessage());