123
zc
2025-05-14 93cf1a27f5d4ff504d691d68c40a622a6424e782
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -225,7 +225,7 @@
                            staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo())));
                            staProtocol.setStaNo(Short.parseShort(String.valueOf(inSta.getStaNo() + 1)));
                            MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
                            News.taskInfo(wrkMast.getWrkNo(), "输送线入库命令下发,任务数据={}", JSON.toJSON(wrkMast));
                            News.info("输送线入库命令下发,任务数据={}", JSON.toJSON(wrkMast));
                            wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts);
                            wrkMast.setModiTime(new Date());
                            wrkMastService.updateById(wrkMast);
@@ -1104,12 +1104,13 @@
                return false;
            }
            //判断提升机是否有其他任务(该任务需要换层必须提前独占提升机)
            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
            if (liftWrkMast != null) {
                News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
                return false;//当前提升机存在未完成任务,等待下一次轮询
            }
//            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
//            if (liftWrkMast != null) {
//                News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
//                return false;//当前提升机存在未完成任务,等待下一次轮询
//            }
            //判断提升机内是否有小车
            if (liftProtocol.getHasCar()) {
@@ -1168,6 +1169,15 @@
                }
            }
            //判断提升机是否有其他任务(该任务需要换层必须提前独占提升机)
            WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(liftProtocol.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
            if (liftWrkMast != null) {
                if (!wrkMast.getWrkNo().equals(liftWrkMast.getMainWrkNo())) {
                    News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}号提升机,提升机存在未完成任务,禁止派发", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
                    return false;//当前提升机存在未完成任务,等待下一次轮询
                }
            }
            String locNo = "0200305";
            if (wrkMast.getSourceStaNo() == 1012) {
                locNo = "0200301";
@@ -1202,6 +1212,7 @@
            assignCommand.setLiftNo(liftProtocol.getLiftNo().shortValue());
            assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue());
            assignCommand.setTaskMode(LiftCommandModeType.PALLET_IN.id.shortValue());
            wrkMast.setWrkSts(WrkStsType.INBOUND_LIFT_RUN.sts);
            wrkMast.setLiftNo(liftProtocol.getLiftNo());//提前锁定提升机
@@ -1309,10 +1320,7 @@
                return false;
            }
            if (wrkMast.getStaNo() == 1031) {
//                if (staProtocol.getOutInModel() != 1) {
//                     News.taskInfo(wrkMast.getWrkNo(),"{}任务,{}站点,没有可出信号", wrkMast.getWrkNo(), staProtocol.getSiteId());
//                    return false;
//                }
            } else {
                if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
                    News.taskInfo(wrkMast.getWrkNo(), "{}任务,{}站点,没有可出信号", wrkMast.getWrkNo(), staProtocol.getSiteId());
@@ -1403,12 +1411,8 @@
            //获取提升机命令
            List<LiftCommand> liftCommands = liftThread.getPalletOutCommand(wrkMast.getWrkNo(), sourceLev, wrkMast.getStaNo());
            LiftCommand liftCommand = liftCommands.get(0);
//            if (wrkMast.getMainWrkNo() != null) {
            liftCommand.setTaskNo(wrkMast.getWrkNo());
//            } else {
//                int deviceWrk = commonService.getWorkNo(8);//生成提升机设备工作号
//                liftCommand.setTaskNo(deviceWrk);//更换随机任务号
//            }
            int deviceWrk = commonService.getWorkNo(8);//生成提升机设备工作号
            liftCommand.setTaskNo(deviceWrk);//更换随机任务号
            ArrayList<LiftCommand> commands = new ArrayList<>();
            commands.add(liftCommand);