zhang
2026-01-05 1809dba25f489ea01c07a9ecc977d9f408545310
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
@@ -3,7 +3,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.manager.common.utils.CommonUtil;
import com.zy.acs.manager.core.constant.AgvAreaDispatcher;
import com.zy.acs.manager.core.domain.Lane;
import com.zy.acs.manager.core.domain.TaskPosDto;
import com.zy.acs.manager.manager.entity.*;
@@ -50,7 +49,7 @@
    /**
     * get available agv list which is idle
     */
    private List<String> getAvailableAgvNos(List<String> agvNos) {
    private List<String> getAvailableAgvNos(List<Long> agvIds) {
//        List<Agv> agvList = new ArrayList<>();
//        if (Cools.isEmpty(agvNos)) {
//            // global
@@ -65,9 +64,9 @@
//            }
//        }
        List<Agv> agvList = Cools.isEmpty(agvNos)
        List<Agv> agvList = Cools.isEmpty(agvIds)
                ? agvService.list(new LambdaQueryWrapper<Agv>().eq(Agv::getStatus, StatusType.ENABLE.val))
                : agvNos.stream().map(agvService::selectByUuid).filter(Agv::getStatusBool).collect(Collectors.toList());
                : agvIds.stream().map(agvService::getById).filter(Agv::getStatusBool).collect(Collectors.toList());
        List<String> result = new ArrayList<>();
        for (Agv agv : agvList) {
@@ -90,6 +89,7 @@
        }
        if (!Cools.isEmpty(result)) {
            // todo: 轮询权重
            Collections.shuffle(result);
        }
@@ -107,6 +107,7 @@
     */
    public synchronized Agv execute(Task task) {
        List<String> availableAgvNos = this.getAvailableAgvNos(agvAreaDispatcher.getAgvNosByTask(task));
//        List<String> availableAgvNos = this.getAvailableAgvNos(null);
        if (Cools.isEmpty(availableAgvNos)) {
//            log.warn("No available agv to assign the task[{}]", task.getSeqNum());
            return null;