Junjie
2023-06-10 c6bca77cf2603ceebc07fec7ece783c2f9bca74e
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -640,13 +640,13 @@
                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                StaProtocol staProtocol = devpThread.getStation().get(rackInStn.getStaNo());
                StaProtocol staProtocol105 = devpThread.getStation().get(105);
                staProtocol105.setWorkNo((short) 752);
                staProtocol105.setStaNo((short) 100);
                StaProtocol staProtocol106 = devpThread.getStation().get(106);
                staProtocol106.setWorkNo((short) 753);
                staProtocol106.setStaNo((short) 100);
//                StaProtocol staProtocol105 = devpThread.getStation().get(105);
//                staProtocol105.setWorkNo((short) 752);
//                staProtocol105.setStaNo((short) 100);
//
//                StaProtocol staProtocol106 = devpThread.getStation().get(106);
//                staProtocol106.setWorkNo((short) 753);
//                staProtocol106.setStaNo((short) 100);
                if (staProtocol == null) {
                    continue;
@@ -1207,44 +1207,22 @@
                //提升机当前楼层
                int liftLev = liftProtocol.getLev().intValue();
                if (liftLev != 1) {
                    //提升机不在1层
                    LiftCommand command1 = new LiftCommand();
                    command1.setLiftNo(liftProtocol.getLiftNo());//提升机号
                    command1.setTaskNo(liftProtocol.getTaskNo());//任务号
                    command1.setRun((short) 1);//升降
                    command1.setDistPosition((short) 1);//目标楼层1层
                    command1.setLiftLock(true);//锁定提升机
                    //提升机不在1层,获取到1层的提升机命令
                    LiftCommand command1 = liftThread.getLiftUpDownCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), (short) 1);
                    commands.add(command1);//将命令添加进list
                }
                //输送线将货物运进来
                LiftCommand command2 = new LiftCommand();
                command2.setLiftNo(liftProtocol.getLiftNo());//提升机号
                command2.setTaskNo(liftProtocol.getTaskNo());//任务号
                command2.setRun((short) 6);//输送线运作
                command2.setLiftLock(true);//锁定提升机
                //输送线将货物运进来(正转)
                LiftCommand command2 = liftThread.getLiftTurnCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), 1);
                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);//锁定提升机
                //提升机前往目标楼层(工作档目标楼层)
                LiftCommand command3 = liftThread.getLiftUpDownCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), (short) wrkMastLocNoLey);
                commands.add(command3);//将命令添加进list
                //提升机到达指定楼层,输送线将货物移出去
                //提升机到达指定楼层,输送线将货物移出去(反转)
                //输送线将货物移出去
                LiftCommand command4 = new LiftCommand();
                command4.setLiftNo(liftProtocol.getLiftNo());//提升机号
                command4.setTaskNo(liftProtocol.getTaskNo());//任务号
                command4.setRun((short) 3);//输送线运作
                command4.setLiftLock(true);//锁定提升机
                LiftCommand command4 = liftThread.getLiftTurnCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), 2);
                commands.add(command4);//将命令添加进list
            }else {
                liftProtocol.setShuttleNo(wrkMast.getShuttleNo().shortValue());//设置四向穿梭车号
@@ -1273,45 +1251,24 @@
                int liftLev = liftProtocol.getLev().intValue();
                if (liftLev != currentLocNoLey) {
                    //不同楼层
                    LiftCommand command1 = new LiftCommand();
                    command1.setLiftNo(liftProtocol.getLiftNo());//提升机号
                    command1.setTaskNo(liftProtocol.getTaskNo());//任务号
                    command1.setRun((short) 1);//升降
                    command1.setDistPosition((short) currentLocNoLey);//目标楼层(穿梭车所在楼层)
                    command1.setLiftLock(true);//锁定提升机
                    //获取目标楼层(穿梭车所在楼层)命令
                    LiftCommand command1 = liftThread.getLiftUpDownCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), (short) currentLocNoLey);
                    commands.add(command1);//将命令添加进list
                }
                //输送线将四向穿梭车移动进来
                LiftCommand command2 = new LiftCommand();
                command2.setLiftNo(liftProtocol.getLiftNo());//提升机号
                command2.setTaskNo(liftProtocol.getTaskNo());//任务号
                command2.setRun((short) 6);//输送线运作
                command2.setLiftLock(true);//锁定提升机
                //输送线将四向穿梭车移动进来(正转)
                LiftCommand command2 = liftThread.getLiftTurnCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), 1);
                commands.add(command2);//将命令添加进list
                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);//锁定提升机
                    //提升机前往目标楼层(工作档目标楼层)
                    LiftCommand command3 = liftThread.getLiftUpDownCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), (short) wrkMastLocNoLey);
                    commands.add(command3);//将命令添加进list
                }
                //提升机到达指定楼层,输送线将四向穿梭车移出去
                //输送线将四向穿梭车移动出去
                LiftCommand command4 = new LiftCommand();
                command4.setLiftNo(liftProtocol.getLiftNo());//提升机号
                command4.setTaskNo(liftProtocol.getTaskNo());//任务号
                command4.setRun((short) 3);//输送线运作
                command4.setLiftLock(true);//锁定提升机
                //输送线将四向穿梭车移动出去(反转)
                LiftCommand command4 = liftThread.getLiftTurnCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), 2);
                commands.add(command4);//将命令添加进list
            }
@@ -2273,42 +2230,23 @@
            int liftLev = liftProtocol.getLev().intValue();
            if (liftLev != currentLev) {
                //穿梭车和提升机处于不同楼层
                LiftCommand command1 = new LiftCommand();
                command1.setLiftNo(liftProtocol.getLiftNo());//提升机号
                command1.setTaskNo(liftProtocol.getTaskNo());//任务号
                command1.setRun((short) 1);//升降
                command1.setDistPosition(currentLev.shortValue());//目标楼层(穿梭车所在楼层)
                command1.setLiftLock(true);//锁定提升机
                //获取目标楼层(穿梭车所在楼层)命令
                LiftCommand command1 = liftThread.getLiftUpDownCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), currentLev.shortValue());
                commands.add(command1);//将命令添加进list
            }
            //输送线将四向穿梭车移动进来
            LiftCommand command2 = new LiftCommand();
            command2.setLiftNo(liftProtocol.getLiftNo());//提升机号
            command2.setTaskNo(liftProtocol.getTaskNo());//任务号
            command2.setRun((short) 6);//输送线运作
            command2.setLiftLock(true);//锁定提升机
            //输送线将四向穿梭车移动进来(正转)
            LiftCommand command2 = liftThread.getLiftTurnCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), 1);
            commands.add(command2);//将命令添加进list
            //提升机前往目标楼层
            LiftCommand command3 = new LiftCommand();
            command3.setLiftNo(liftProtocol.getLiftNo());//提升机号
            command3.setTaskNo(liftProtocol.getTaskNo());//任务号
            command3.setRun((short) 1);//升降
            command3.setDistPosition(chargeLocNoLev.shortValue());//充电库位目标楼层
            command3.setLiftLock(true);//锁定提升机
            //获取充电库位目标楼层命令
            LiftCommand command3 = liftThread.getLiftUpDownCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), chargeLocNoLev.shortValue());
            commands.add(command3);//将命令添加进list
            //提升机到达指定楼层,输送线将四向穿梭车移出去
            //输送线将四向穿梭车移动出去
            LiftCommand command4 = new LiftCommand();
            command4.setLiftNo(liftProtocol.getLiftNo());//提升机号
            command4.setTaskNo(liftProtocol.getTaskNo());//任务号
            command4.setRun((short) 3);//输送线运作
            command4.setLiftLock(true);//锁定提升机
            //输送线将四向穿梭车移动出去(反转)
            LiftCommand command4 = liftThread.getLiftTurnCommand(liftProtocol.getLiftNo(), liftProtocol.getTaskNo(), 2);
            commands.add(command4);//将命令添加进list
            wrkCharge.setWrkSts(54L);//提升机搬运中