#
luxiaotao1123
2025-04-16 bc1b5250344b4b02cf7d17da001fc1c510c5dc20
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
@@ -64,10 +64,10 @@
    private void execute() {
        if (!configService.getVal("TaskAssignMode", Boolean.class)) { return; }
        this.autoRun(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST, StaGroupConstant.FAR_LEFT_STA_ROW_LIST, AgvGroupConstant.FIRST_AGV_GROUP);
        this.autoRun(LocGroupConstant.LEFT_LOC_ROW_LIST, StaGroupConstant.LEFT_STA_ROW_LIST, AgvGroupConstant.SECOND_AGV_GROUP);
        this.autoRun(LocGroupConstant.MIDDLE_LOC_ROW_LIST, StaGroupConstant.MIDDLE_STA_ROW_LIST, AgvGroupConstant.THIRD_AGV_GROUP);
        this.autoRun(LocGroupConstant.RIGHT_LOC_ROW_LIST, StaGroupConstant.RIGHT_STA_ROW_LIST, AgvGroupConstant.FOURTH_AGV_GROUP);
//        this.autoRun(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST, StaGroupConstant.FAR_LEFT_STA_ROW_LIST, AgvGroupConstant.FIRST_AGV_GROUP);
//        this.autoRun(LocGroupConstant.LEFT_LOC_ROW_LIST, StaGroupConstant.LEFT_STA_ROW_LIST, AgvGroupConstant.SECOND_AGV_GROUP);
//        this.autoRun(LocGroupConstant.MIDDLE_LOC_ROW_LIST, StaGroupConstant.MIDDLE_STA_ROW_LIST, AgvGroupConstant.THIRD_AGV_GROUP);
//        this.autoRun(LocGroupConstant.RIGHT_LOC_ROW_LIST, StaGroupConstant.RIGHT_STA_ROW_LIST, AgvGroupConstant.FOURTH_AGV_GROUP);
        this.autoRun(LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST, StaGroupConstant.FAR_RIGHT_STA_ROW_LIST, AgvGroupConstant.FIFTH_AGV_GROUP);
    }
@@ -75,24 +75,23 @@
        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) {
@@ -135,12 +134,9 @@
    }
    // 出库
    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) {
@@ -188,7 +184,7 @@
    }
    // 移库
    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);
@@ -199,7 +195,7 @@
        // 最多 ? 组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;
        }