| | |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.dispatcher.ShuttleDispatchUtils; |
| | | import com.zy.core.enums.*; |
| | | import com.zy.core.model.*; |
| | | import com.zy.core.model.DevpSlave; |
| | | import com.zy.core.model.LiftSlave; |
| | | import com.zy.core.model.ShuttleSlave; |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.command.ShuttleAssignCommand; |
| | | import com.zy.core.model.command.ShuttleCommand; |
| | | import com.zy.core.model.protocol.*; |
| | |
| | | private ShuttleMoveServiceImpl shuttleMoveService; |
| | | @Autowired |
| | | private NoLiftInServiceImpl noLiftInService; |
| | | @Autowired |
| | | private NoLiftOutServiceImpl noLiftOutService; |
| | | |
| | | |
| | | private boolean isInEnable(DevpThread devpThread, Integer staNo) { |
| | |
| | | wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_1.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_2.sts); |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_1.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_2.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_3.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_4.sts); |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_3.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_4.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_7.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_8.sts); |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_7.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_8.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_11.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_12.sts); |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_11.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_12.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_13.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_14.sts); |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_13.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_14.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_12.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_13.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_10.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_11.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_9.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_6.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_7.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_5.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_2.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_3.sts); |
| | | shuttleThread.setSyncTaskNo(0); |
| | | notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//触发通知 |
| | | } |
| | |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_LIFT_TO_SHUTTLE_TRANSPORT_LIFT_OUT.sts) { |
| | | //提升机至小车层 ==> 提升机至小车层完成 |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_LIFT_TO_SHUTTLE_COMPLETE_TRANSPORT_LIFT_OUT.sts); |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_5.sts) { |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_5.sts) { |
| | | //提升机至小车层 ==> 提升机至小车层完成 |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_6.sts); |
| | | }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_9.sts) { |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_6.sts); |
| | | } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_9.sts) { |
| | | //提升机至小车层 ==> 提升机至小车层完成 |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_10.sts); |
| | | wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_10.sts); |
| | | } |
| | | |
| | | wrkMast.setModiTime(new Date()); |
| | |
| | | if ("TRANSPORT_LIFT".equals(wrkMast.getMk())) { |
| | | this.shuttleMoveExecuteTransportLift(wrkMast); |
| | | } else if ("TRANSPORT_DEVP".equals(wrkMast.getMk())) { |
| | | noLiftInService.shuttleMoveExecute(wrkMast); |
| | | this.shuttleMoveExecuteTransportNoLift(wrkMast); |
| | | } else { |
| | | shuttleMoveService.shuttleMoveExecuteMove(wrkMast); |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | private void shuttleMoveExecuteTransportNoLift(WrkMast wrkMast) { |
| | | if (12 == Utils.getRow(wrkMast.getSourceLocNo()) && 3 == Utils.getBay(wrkMast.getSourceLocNo())) { |
| | | //入库 |
| | | noLiftInService.shuttleMoveExecute(wrkMast); |
| | | } else { |
| | | //出库 |
| | | noLiftOutService.shuttleMoveExecute(wrkMast); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |