#
luxiaotao1123
2025-01-15 fd6d26f8ffe6a37533e741337f3eca9134d934c7
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AllocateService.java
@@ -178,7 +178,7 @@
        }
        return agvNoList.stream().filter(agvNo -> {
            Agv agv = agvService.selectByUuid(agvNo);
            AgvModel agvModel = agvModelService.getById(agv.getAgvModel());
            AgvModel agvModel = agvModelService.getByAgvNo(agvNo);
            List<Task> transportTasks = taskService.findTransportTasksByAgv(agv.getId());
            return transportTasks.size() < agvModel.getBackpack();
        }).collect(Collectors.toList());
@@ -198,7 +198,7 @@
        // distance
        // from
        AgvDetail agvDetail = agvDetailService.selectByAgvId(agvId);
        Code agvCurrCode = codeService.getById(agvDetail.getRecentCode());
        Code agvCurrCode = codeService.getCacheById(agvDetail.getRecentCode());
        Double[] fromPosition = new Double[]{agvCurrCode.getX(), agvCurrCode.getY()};
        // to
        Code firstCode = null;
@@ -207,20 +207,20 @@
            case LOC_TO_LOC:
            case LOC_TO_STA:
                Loc oriLoc = locService.getById(task.getOriLoc());
                firstCode = codeService.getById(oriLoc.getCode());
                firstCode = codeService.getCacheById(oriLoc.getCode());
                break;
            case STA_TO_LOC:
            case STA_TO_STA:
                Sta oriSta = staService.getById(task.getOriSta());
                firstCode = codeService.getById(oriSta.getCode());
                firstCode = codeService.getCacheById(oriSta.getCode());
                break;
            case TO_CHARGE:
            case TO_STANDBY:
            case MOVE:
                firstCode = codeService.getById(task.getDestCode());
                firstCode = codeService.getCacheById(task.getDestCode());
                break;
            default:
                firstCode = codeService.getById(task.getDestCode());
                firstCode = codeService.getCacheById(task.getDestCode());
                break;
        }
        assert null != firstCode;
@@ -232,13 +232,13 @@
        return -weight;
    }
    public Boolean validCapacityOfLane(Agv agv, Code code) {
    public Boolean validCapacityOfLane(String agvNo, Code code) {
        Lane lane = laneService.search(code.getData());
        if (null != lane) {
            Integer maxAgvCountInLane = configService.getVal("maxAgvCountInLane", Integer.class);
            List<String> agvNosByLane = this.findAgvNosByLane(lane);
            agvNosByLane.remove(agv.getUuid());
            agvNosByLane.remove(agvNo);
            if (agvNosByLane.size() >= maxAgvCountInLane) {
                return false;
            }