| | |
| | | int availableAgvCount = this.getAvailableAgvCount(agvGroupList); |
| | | if (0 == availableAgvCount) { return; } |
| | | |
| | | // 入库 |
| | | this.runStaToLoc(locGroupList, staGroupList, agvGroupList); |
| | | List<String> staPreNos = getStaPrefixes(staGroupList); |
| | | String staTaskMemo = "DEMO_STA_" + String.join("-", staPreNos); |
| | | |
| | | // 入库 |
| | | this.runStaToLoc(locGroupList, staGroupList, staTaskMemo); |
| | | // 出库 |
| | | this.runLocToSta(locGroupList, staGroupList, agvGroupList); |
| | | this.runLocToSta(locGroupList, staGroupList, staTaskMemo); |
| | | |
| | | // 移库 |
| | | this.runLocToLoc(locGroupList, agvGroupList); |
| | | |
| | | this.runLocToLoc(locGroupList, agvGroupList, staTaskMemo); |
| | | } |
| | | |
| | | // 入库 |
| | | private void runStaToLoc(List<Integer> locGroupList, List<String> staGroupList, List<String> agvGroupList) { |
| | | private void runStaToLoc(List<Integer> locGroupList, List<String> staGroupList, String memo) { |
| | | Integer startRow = Collections.min(locGroupList); |
| | | Integer endRow = Collections.max(locGroupList); |
| | | |
| | | List<String> staPreNos = getStaPrefixes(staGroupList); |
| | | String memo = "DEMO_STA_" + String.join("-", staPreNos); |
| | | |
| | | AgvModel agvModel = agvModelService.getOne(new LambdaQueryWrapper<AgvModel>().eq(AgvModel::getType, AgvModelType.CTU_BOX_TRANSPORT_AGV.toString())); |
| | | if (null == agvModel) { |
| | |
| | | } |
| | | |
| | | // 出库 |
| | | private void runLocToSta(List<Integer> locGroupList, List<String> staGroupList, List<String> agvGroupList) { |
| | | private void runLocToSta(List<Integer> locGroupList, List<String> staGroupList, String memo) { |
| | | Integer startRow = Collections.min(locGroupList); |
| | | Integer endRow = Collections.max(locGroupList); |
| | | |
| | | List<String> staPreNos = getStaPrefixes(staGroupList); |
| | | String memo = "DEMO_STA_" + String.join("-", staPreNos); |
| | | |
| | | AgvModel agvModel = agvModelService.getOne(new LambdaQueryWrapper<AgvModel>().eq(AgvModel::getType, AgvModelType.CTU_BOX_TRANSPORT_AGV.toString())); |
| | | if (null == agvModel) { |
| | |
| | | } |
| | | |
| | | // 移库 |
| | | private void runLocToLoc(List<Integer> locGroupList, List<String> agvGroupList) { |
| | | private void runLocToLoc(List<Integer> locGroupList, List<String> agvGroupList, String staTaskMemo) { |
| | | Integer startRow = Collections.min(locGroupList); |
| | | Integer endRow = Collections.max(locGroupList); |
| | | |
| | |
| | | // 最多 ? 组bus运行 |
| | | if (availableAgvCount <= busService.count(new LambdaQueryWrapper<Bus>() |
| | | .in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val()) |
| | | .eq(Bus::getMemo, memo) |
| | | .in(Bus::getMemo, memo, staTaskMemo) |
| | | )) { |
| | | return; |
| | | } |