| | |
| | | } |
| | | |
| | | if (wrkMast.getShuttleNo() == null) {//没有绑定小车,进行调度 |
| | | //强制预留一台小车给入库任务 |
| | | int lev = Utils.getLev(wrkMast.getSourceLocNo()); |
| | | //获取当前楼层有几台空闲可用小车 |
| | | int shuttleCount = shuttleDispatchUtils.getShuttleCountByLev(lev); |
| | | if (shuttleCount >= 2) {//只有可用小车数量大于2,才进行入库任务预留小车 |
| | | int shuttleWrkInObligateCount = 1;//预留小车数量 |
| | | Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "shuttleWrkInObligateCount").eq("status", 1)); |
| | | if (config != null) { |
| | | shuttleWrkInObligateCount = Integer.parseInt(config.getValue()); |
| | | } |
| | | //可用出库小车数量(给入库任务预留一台车) |
| | | int useShuttleCount = shuttleCount - shuttleWrkInObligateCount; |
| | | //查询楼层已分配车辆的出库任务数量 |
| | | List<WrkMast> wrkMasts = wrkMastService.selectShuttleOutWrkByLev(lev); |
| | | if (wrkMasts.size() >= useShuttleCount) { |
| | | News.info("{}任务,当前楼层可用小车{}台,出库任务已分配{}台,系统等待中。", wrkMast.getWrkNo(), useShuttleCount, wrkMasts.size()); |
| | | return false; |
| | | } |
| | | } |
| | | boolean result = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), wrkMast.getSourceLocNo());//调度小车到货物所在库位进行取货 |
| | | News.info("{}任务,调度小车{}系统等待中。", wrkMast.getWrkNo(), result ? "成功" : "失败"); |
| | | return false; |