| | |
| | | } |
| | | |
| | | //获取提升机命令 |
| | | List<ForkLiftCommand> liftCommands = forkLiftThread.getPickAndPutCommand(wrkMast.getWrkNo(), wrkMast.getSourceStaNo(), liftSta.getLev()); |
| | | ForkLiftCommand liftCommand = forkLiftThread.getPickAndPutCommand(wrkMast.getWrkNo(), wrkMast.getSourceStaNo(), liftSta.getLev()); |
| | | ArrayList<ForkLiftCommand> commands = new ArrayList<>(); |
| | | commands.addAll(liftCommands); |
| | | commands.add(liftCommand); |
| | | |
| | | //提交到线程去工作 |
| | | LiftAssignCommand assignCommand = new LiftAssignCommand(); |
| | |
| | | } |
| | | |
| | | //获取提升机命令 |
| | | List<ForkLiftCommand> liftCommands = forkLiftThread.getPickAndPutCommand(wrkMast.getWrkNo(), liftSta.getLev(), wrkMast.getStaNo()); |
| | | ForkLiftCommand liftCommand = forkLiftThread.getPickAndPutCommand(wrkMast.getWrkNo(), liftSta.getLev(), wrkMast.getStaNo()); |
| | | ArrayList<ForkLiftCommand> commands = new ArrayList<>(); |
| | | commands.addAll(liftCommands); |
| | | commands.add(liftCommand); |
| | | |
| | | //提交到线程去工作 |
| | | LiftAssignCommand assignCommand = new LiftAssignCommand(); |
| | |
| | | for (DeviceConfig device : forkliftList) { |
| | | //获取提升机信息 |
| | | ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, device.getDeviceNo()); |
| | | if(forkLiftThread == null) { |
| | | continue; |
| | | } |
| | | ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus(); |
| | | if (forkLiftProtocol == null) { |
| | | continue; |
| | |
| | | } |
| | | |
| | | //获取提升机命令 |
| | | List<ForkLiftCommand> liftCommands = forkLiftThread.getShuttleSwitchCommand(wrkMast.getWrkNo(), sourceLiftSta.getLev(), liftSta.getLev()); |
| | | ForkLiftCommand liftCommand = forkLiftThread.getShuttleSwitchCommand(wrkMast.getWrkNo(), sourceLiftSta.getLev(), liftSta.getLev()); |
| | | ArrayList<ForkLiftCommand> commands = new ArrayList<>(); |
| | | commands.addAll(liftCommands); |
| | | commands.add(liftCommand); |
| | | |
| | | //提交到线程去工作 |
| | | LiftAssignCommand assignCommand = new LiftAssignCommand(); |
| | |
| | | |
| | | //自动切换出入库模式 |
| | | public void autoSwitchForkLiftIOMode() { |
| | | List<DeviceConfig> forkliftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() |
| | | .eq("device_type", String.valueOf(SlaveType.ForkLift))); |
| | | for (DeviceConfig device : forkliftList) { |
| | | Integer liftNo = device.getDeviceNo(); |
| | | ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); |
| | | if (forkLiftThread == null) { |
| | | continue; |
| | | } |
| | | ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus(); |
| | | if (forkLiftProtocol == null) { |
| | | continue; |
| | | } |
| | | |
| | | List<Integer> liftAllStaNo = ForkLiftUtils.getLiftAllStaNo(liftNo); |
| | | if (liftAllStaNo.isEmpty()) { |
| | | continue; |
| | | } |
| | | |
| | | List<Integer> conveyorBindLiftAllStaNo = ForkLiftUtils.getConveyorBindLiftAllStaNo(liftNo); |
| | | if (conveyorBindLiftAllStaNo.isEmpty()) { |
| | | continue; |
| | | } |
| | | |
| | | //获取入库任务 |
| | | List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("sta_no", liftAllStaNo) |
| | | .in("wrk_sts" |
| | | , WrkStsType.NEW_INBOUND.sts |
| | | , WrkStsType.INBOUND_DEVICE_RUN.sts |
| | | , WrkStsType.INBOUND_LIFT_RUN.sts |
| | | , WrkStsType.INBOUND_LIFT_RUN_COMPLETE.sts |
| | | , WrkStsType.INBOUND_SHUTTLE_RUN.sts |
| | | , WrkStsType.INBOUND_SHUTTLE_RUN_COMPLETE.sts |
| | | )); |
| | | |
| | | //获取出库任务 |
| | | List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("sta_no", conveyorBindLiftAllStaNo) |
| | | .in("wrk_sts" |
| | | , WrkStsType.NEW_OUTBOUND.sts |
| | | , WrkStsType.OUTBOUND_SHUTTLE_RUN.sts |
| | | , WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts |
| | | , WrkStsType.OUTBOUND_LIFT_RUN.sts |
| | | , WrkStsType.OUTBOUND_LIFT_RUN_COMPLETE.sts |
| | | )); |
| | | |
| | | if (forkLiftProtocol.getIOModeType().equals(ForkLiftIoModeType.NONE)) { |
| | | //未知模式 |
| | | if (!inWrkMasts.isEmpty()) { |
| | | forkLiftThread.switchIOMode(ForkLiftIoModeType.IN); |
| | | } else if (!outWrkMasts.isEmpty()) { |
| | | forkLiftThread.switchIOMode(ForkLiftIoModeType.OUT); |
| | | }else { |
| | | forkLiftThread.switchIOMode(ForkLiftIoModeType.IN); |
| | | } |
| | | } else if (forkLiftProtocol.getIOModeType().equals(ForkLiftIoModeType.IN)) { |
| | | //入库模式 |
| | | if (inWrkMasts.isEmpty() && !outWrkMasts.isEmpty()) { |
| | | forkLiftThread.switchIOMode(ForkLiftIoModeType.OUT); |
| | | } |
| | | } else if (forkLiftProtocol.getIOModeType().equals(ForkLiftIoModeType.OUT)) { |
| | | //出库模式 |
| | | if (outWrkMasts.isEmpty() && !inWrkMasts.isEmpty()) { |
| | | forkLiftThread.switchIOMode(ForkLiftIoModeType.IN); |
| | | } |
| | | } |
| | | } |
| | | // List<DeviceConfig> forkliftList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>() |
| | | // .eq("device_type", String.valueOf(SlaveType.ForkLift))); |
| | | // for (DeviceConfig device : forkliftList) { |
| | | // Integer liftNo = device.getDeviceNo(); |
| | | // ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); |
| | | // if (forkLiftThread == null) { |
| | | // continue; |
| | | // } |
| | | // ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus(); |
| | | // if (forkLiftProtocol == null) { |
| | | // continue; |
| | | // } |
| | | // |
| | | // List<Integer> liftAllStaNo = ForkLiftUtils.getLiftAllStaNo(liftNo); |
| | | // if (liftAllStaNo.isEmpty()) { |
| | | // continue; |
| | | // } |
| | | // |
| | | // List<Integer> conveyorBindLiftAllStaNo = ForkLiftUtils.getConveyorBindLiftAllStaNo(liftNo); |
| | | // if (conveyorBindLiftAllStaNo.isEmpty()) { |
| | | // continue; |
| | | // } |
| | | // |
| | | // //获取入库任务 |
| | | // List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | // .in("sta_no", liftAllStaNo) |
| | | // .in("wrk_sts" |
| | | // , WrkStsType.NEW_INBOUND.sts |
| | | // , WrkStsType.INBOUND_DEVICE_RUN.sts |
| | | // , WrkStsType.INBOUND_LIFT_RUN.sts |
| | | // , WrkStsType.INBOUND_LIFT_RUN_COMPLETE.sts |
| | | // , WrkStsType.INBOUND_SHUTTLE_RUN.sts |
| | | // , WrkStsType.INBOUND_SHUTTLE_RUN_COMPLETE.sts |
| | | // )); |
| | | // |
| | | // //获取出库任务 |
| | | // List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | // .in("sta_no", conveyorBindLiftAllStaNo) |
| | | // .in("wrk_sts" |
| | | // , WrkStsType.NEW_OUTBOUND.sts |
| | | // , WrkStsType.OUTBOUND_SHUTTLE_RUN.sts |
| | | // , WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts |
| | | // , WrkStsType.OUTBOUND_LIFT_RUN.sts |
| | | // , WrkStsType.OUTBOUND_LIFT_RUN_COMPLETE.sts |
| | | // )); |
| | | // |
| | | // if (forkLiftProtocol.getIOModeType().equals(ForkLiftIoModeType.NONE)) { |
| | | // //未知模式 |
| | | // if (!inWrkMasts.isEmpty()) { |
| | | // forkLiftThread.switchIOMode(ForkLiftIoModeType.IN); |
| | | // } else if (!outWrkMasts.isEmpty()) { |
| | | // forkLiftThread.switchIOMode(ForkLiftIoModeType.OUT); |
| | | // }else { |
| | | // forkLiftThread.switchIOMode(ForkLiftIoModeType.IN); |
| | | // } |
| | | // } else if (forkLiftProtocol.getIOModeType().equals(ForkLiftIoModeType.IN)) { |
| | | // //入库模式 |
| | | // if (inWrkMasts.isEmpty() && !outWrkMasts.isEmpty()) { |
| | | // forkLiftThread.switchIOMode(ForkLiftIoModeType.OUT); |
| | | // } |
| | | // } else if (forkLiftProtocol.getIOModeType().equals(ForkLiftIoModeType.OUT)) { |
| | | // //出库模式 |
| | | // if (outWrkMasts.isEmpty() && !inWrkMasts.isEmpty()) { |
| | | // forkLiftThread.switchIOMode(ForkLiftIoModeType.IN); |
| | | // } |
| | | // } |
| | | // } |
| | | } |
| | | |
| | | //出库任务预调度提升机 |
| | |
| | | int workNo = commonService.getWorkNo(WrkIoType.FORKLIFT_MOVE.id);//获取任务号 |
| | | |
| | | //获取提升机命令 |
| | | List<ForkLiftCommand> liftCommand = forkLiftThread.getMoveCommand(workNo, forkLiftProtocol.getLev(), Utils.getLev(wrkMast.getSourceLocNo())); |
| | | ForkLiftCommand liftCommand = forkLiftThread.getMoveCommand(workNo, forkLiftProtocol.getLev(), Utils.getLev(wrkMast.getSourceLocNo())); |
| | | ArrayList<ForkLiftCommand> commands = new ArrayList<>(); |
| | | commands.addAll(liftCommand); |
| | | commands.add(liftCommand); |
| | | |
| | | //提交到线程去工作 |
| | | LiftAssignCommand assignCommand = new LiftAssignCommand(); |