自动化立体仓库 - WCS系统
Junjie
2023-05-10 11b28c7a6c5f0882b8385a370b20919c6246fc1d
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1097,16 +1097,16 @@
                WrkMast wrkMast = wrkMastMapper.selectByWorkNo(shuttleProtocol.getTaskNo().intValue());
                if (wrkMast != null) {
                    switch (wrkMast.getWrkSts().intValue()) {
                        case 9:
                        case 9://9.小车入库搬运中 ==> 14.入库完成
                            wrkMast.setWrkSts(14L);
                            break;
                        case 5:
                        case 5://5.迁移小车至提升机口 ==> 6.迁移小车至提升机口完成
                            wrkMast.setWrkSts(6L);
                            break;
                        case 22:
                        case 22://22.迁移小车至提升机口 ==> 23.迁移小车至提升机口完成
                            wrkMast.setWrkSts(23L);
                            break;
                        case 26:
                        case 26://26.小车出库搬运中 ==> 27.小车出库搬运完成
                            wrkMast.setWrkSts(27L);
                            break;
                        default:
@@ -1197,7 +1197,7 @@
            }
            //搜索是否有待处理的任务
            WrkMast wrkMast = wrkMastMapper.selectLiftStep623();
            WrkMast wrkMast = wrkMastMapper.selectLiftStep62327();
            if (wrkMast == null) {
                continue;
            }
@@ -1254,15 +1254,17 @@
            commands.add(command2);//将命令添加进list
            //提升机前往目标楼层
            LiftCommand command3 = new LiftCommand();
            command3.setLiftNo(liftProtocol.getLiftNo());//提升机号
            command3.setTaskNo(liftProtocol.getTaskNo());//任务号
            command3.setRun((short) 1);//升降
            command3.setDistPosition((short) wrkMastLocNoLey);//工作档目标楼层
            command3.setLiftLock(true);//锁定提升机
            if (liftLev != currentLocNoLey) {
                //提升机前往目标楼层
                LiftCommand command3 = new LiftCommand();
                command3.setLiftNo(liftProtocol.getLiftNo());//提升机号
                command3.setTaskNo(liftProtocol.getTaskNo());//任务号
                command3.setRun((short) 1);//升降
                command3.setDistPosition((short) wrkMastLocNoLey);//工作档目标楼层
                command3.setLiftLock(true);//锁定提升机
            commands.add(command3);//将命令添加进list
                commands.add(command3);//将命令添加进list
            }
            //提升机到达指定楼层,输送线将四向穿梭车移出去
            //输送线将四向穿梭车移动出去
@@ -1274,13 +1276,18 @@
            commands.add(command4);//将命令添加进list
            if (wrkMast.getIoType() == 101) {
                //出库任务
                wrkMast.setWrkSts(24L);//移动任务
            }else {
                //入库任务
                wrkMast.setWrkSts(7L);//移动任务
            switch (wrkMast.getWrkSts().intValue()) {
                case 6://6.迁移小车至提升机口完成
                    wrkMast.setWrkSts(7L);//7.提升机迁移小车中
                    break;
                case 23://23.迁移小车至提升机口完成
                    wrkMast.setWrkSts(24L);//24.提升机迁移小车中
                    break;
                case 27://27.小车出库搬运完成
                    wrkMast.setWrkSts(28L);//28.提升机搬运中
                    break;
            }
            //所需命令组合完毕,更新数据库,提交到线程去工作
            LiftAssignCommand assignCommand = new LiftAssignCommand();
            assignCommand.setCommands(commands);
@@ -1308,15 +1315,18 @@
            //提升机为等待确认
            if (liftProtocol.getProtocolStatus() == LiftProtocolStatusType.WAITING.id && liftProtocol.getTaskNo() != 0) {
                //将任务档标记为完成
                WrkMast wrkMast = wrkMastMapper.selectByWorkNo724(liftProtocol.getTaskNo().intValue());
                WrkMast wrkMast = wrkMastMapper.selectByWorkNo72428(liftProtocol.getTaskNo().intValue());
                if (wrkMast != null) {
                    switch (wrkMast.getWrkSts().intValue()) {
                        case 7:
                        case 7://7.提升机迁移小车中 ==> 8.提升机迁移小车完成
                            wrkMast.setWrkSts(8L);
                            break;
                        case 24:
                        case 24://24.提升机迁移小车中 ==> 25.提升机迁移小车完成
                            wrkMast.setWrkSts(25L);
                            break;
                        case 28://28.提升机搬运中 ==> 29.提升机搬运完成
                            wrkMast.setWrkSts(29L);
                            break;
                        default:
                    }