pang.jiabao
2024-10-07 bcde9271ecf7a978bbaa7b701fa6da571e165ef7
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1591,8 +1591,10 @@
                continue;
            }
            log.info("{}号堆垛机选定的出库口是{}",crnProtocol.getCrnNo(),crnStn.getPlatNo());
            // 工作档状态判断
            if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) {
            if ((wrkMast.getIoType() < 100 && wrkMast.getIoType()!=12) || wrkMast.getSourceStaNo() == null) {
                log.error("查询工作档数据不符合条件--入出类型/站点, 工作号={},源库位={},入出类型={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
                continue;
            }
@@ -4636,13 +4638,20 @@
                        && crnProtocol.getForkPos() == 0) {
                    CrnSlave.CrnStn crnStn = null;
                    CrnSlave.CrnStn crnStn2 = null;
                    for (CrnSlave.CrnStn crnStn1 : crn.getCrnOutStn()){
                        if(crnStn1.getStaNo().equals(wrkMast.getStaNo())){
                            crnStn = crnStn1;
                            break;
                        }
                    }
                    if(Cools.isEmpty(crnStn)){
                    for (CrnSlave.CrnStn crnStn1 : crn.getCrnInStn()){
                        if(crnStn1.getStaNo().equals(wrkMast.getSourceStaNo())){
                            crnStn2 = crnStn1;
                            break;
                        }
                    }
                    if(Cools.isEmpty(crnStn) || Cools.isEmpty(crnStn2)){
                        continue;
                    }
@@ -4652,13 +4661,13 @@
                    crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 工作号
                    crnCommand.setAckFinish((short) 0);  // 任务完成确认位
                    crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 任务模式:  库位移转
                    //crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 源库位排
                    //crnCommand.setSourcePosY(crnStn.getBay().shortValue());     // 源库位列
                    //crnCommand.setSourcePosZ(crnStn.getLev().shortValue());     // 源库位层
                    crnCommand.setSourcePosX(crnStn2.getRow().shortValue());     // 源库位排
                    crnCommand.setSourcePosY(crnStn2.getBay().shortValue());     // 源库位列
                    crnCommand.setSourcePosZ(crnStn2.getLev().shortValue());     // 源库位层
                    crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 目标库位排
                    crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 目标库位列
                    crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 目标库位层
                    crnCommand.setSourceStaNo(crnStn.getPlatNo().shortValue());     // 源库位排
//                    crnCommand.setSourceStaNo(crnStn.getPlatNo().shortValue());     // 源库位排
                    if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
                        log.error("堆垛机命令下发失败,堆垛机号={},任务数据={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
                    } else {
@@ -4677,4 +4686,11 @@
            }
        }
    }
    /**
     * 12.跨巷道移库
     */
    public synchronized void autoMoveLoc() {
    }
}