zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
@@ -177,10 +177,10 @@ return new ArrayList<>(); } return agvNoList.stream().filter(agvNo -> { Agv agv = agvService.selectByUuid(agvNo); Long agvId = agvService.getAgvId(agvNo); int transportTasksCount = taskService.findTransportTasksCountByAgv(agvId); AgvModel agvModel = agvModelService.getByAgvNo(agvNo); List<Task> transportTasks = taskService.findTransportTasksByAgv(agv.getId()); return transportTasks.size() < agvModel.getBackpack(); return transportTasksCount < agvModel.getBackpack(); }).collect(Collectors.toList()); } @@ -190,9 +190,9 @@ Long agvId = agvService.getAgvId(agvNo); // backpack List<Task> transportTasks = taskService.findTransportTasksByAgv(agvId); if (!Cools.isEmpty(transportTasks)) { weight = weight + transportTasks.size() * 100000; Integer transportTasksCount = taskService.findTransportTasksCountByAgv(agvId); if (!Cools.isEmpty(transportTasksCount)) { weight = weight + transportTasksCount * 100000; } // distance zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/TaskService.java
@@ -34,6 +34,8 @@ List<Task> findTransportTasksByAgv(Long agvId); Integer findTransportTasksCountByAgv(Long agvId); Task findLatestTask(Long agvId, TaskStsType taskSts); } zy-acs-manager/src/main/java/com/zy/acs/manager/manager/service/impl/TaskServiceImpl.java
@@ -191,6 +191,14 @@ } @Override public Integer findTransportTasksCountByAgv(Long agvId) { LambdaQueryWrapper<Task> wrapper = new LambdaQueryWrapper<Task>().eq(Task::getAgvId, agvId); wrapper.in(Task::getTaskSts, TaskStsType.WAITING.val(), TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val()); wrapper.notIn(Task::getTaskType, TaskTypeType.MOVE.val(), TaskTypeType.TO_CHARGE.val(), TaskTypeType.TO_STANDBY.val()); return this.count(wrapper); } @Override public Task findLatestTask(Long agvId, TaskStsType taskSts) { LambdaQueryWrapper<Task> wrapper = new LambdaQueryWrapper<Task>() .orderByDesc(Task::getCreateTime)