| | |
| | | //--------------------------------------提升机出库-----------------------------------------// |
| | | //103.小车搬运完成 ==> 104.提升机搬运中 |
| | | if (wrkMast.getWrkSts() == WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts) { |
| | | ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo()); |
| | | if (shuttleThread == null) { |
| | | return false; |
| | | } |
| | | ShuttleProtocol shuttleProtocol = shuttleThread.getStatus(); |
| | | if(shuttleProtocol == null) { |
| | | return false; |
| | | } |
| | | |
| | | //获取源站 |
| | | ForkLiftStaProtocol liftSta = ForkLiftUtils.getLiftStaByStaNo(wrkMast.getSourceStaNo()); |
| | | if (liftSta == null) { |
| | |
| | | return false;//找不到站点 |
| | | } |
| | | |
| | | if (shuttleProtocol.getCurrentLocNo().equals(liftSta.getLocNo())) { |
| | | //小车还在输送站点 |
| | | //获取小车待机位 |
| | | String standbyLocNo = Utils.getShuttleStandbyLocNo(liftSta.getLocNo()); |
| | | if(standbyLocNo == null) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,获取小车待机位失败", wrkMast.getWrkNo()); |
| | | if(wrkMast.getShuttleNo() != null) { |
| | | ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo()); |
| | | if (shuttleThread == null) { |
| | | return false; |
| | | } |
| | | //调度小车去待机位 |
| | | boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), standbyLocNo, wrkMast.getShuttleNo()); |
| | | if (!dispatchShuttle) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,小车在输送站点调度小车避让失败", wrkMast.getWrkNo()); |
| | | ShuttleProtocol shuttleProtocol = shuttleThread.getStatus(); |
| | | if(shuttleProtocol == null) { |
| | | return false; |
| | | } |
| | | |
| | | if (shuttleProtocol.getCurrentLocNo().equals(liftSta.getLocNo())) { |
| | | //小车还在输送站点 |
| | | //获取小车待机位 |
| | | String standbyLocNo = Utils.getShuttleStandbyLocNo(liftSta.getLocNo()); |
| | | if (standbyLocNo == null) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,获取小车待机位失败", wrkMast.getWrkNo()); |
| | | return false; |
| | | } |
| | | //调度小车去待机位 |
| | | boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), standbyLocNo, wrkMast.getShuttleNo()); |
| | | if (!dispatchShuttle) { |
| | | News.taskInfo(wrkMast.getWrkNo(), "{}任务,小车在输送站点调度小车避让失败", wrkMast.getWrkNo()); |
| | | return false; |
| | | } |
| | | } else { |
| | | //小车已不在输送站点位置,释放小车 |
| | | wrkMast.setShuttleNo(null);//释放小车 |
| | | wrkMast.setModiTime(new Date()); |
| | | wrkMastService.updateById(wrkMast); |
| | | return false; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | if (liftSta.getHasCar()) { |