#
vincentlu
2025-12-18 ff176992e79222234735220fea9e767e4942d25d
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) {
@@ -106,8 +105,8 @@
     *      it can break the limit of the number of agv backpack
     */
    public synchronized Agv execute(Task task) {
//        List<String> availableAgvNos = this.getAvailableAgvNos(agvAreaDispatcher.getAgvNosByTask(task));
        List<String> availableAgvNos = this.getAvailableAgvNos(null);
        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;