1
zhang
1 天以前 2ddf6fc24333df35bd1ac15848b917336d533d53
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/AutoRunScheduler.java
@@ -85,7 +85,7 @@
                        this.autoRun(LocGroupConstant.LEFT_LOC_ROW_LIST, StaGroupConstant.LEFT_STA_ROW_LIST, AgvGroupConstant.SECOND_AGV_GROUP);
                        break;
                    case '5':
                        this.autoRun(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST, StaGroupConstant.FAR_LEFT_STA_ROW_LIST, AgvGroupConstant.FIRST_AGV_GROUP);
                        this.autoRun2(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST, StaGroupConstant.FAR_LEFT_STA_ROW_LIST, AgvGroupConstant.FIRST_AGV_GROUP);
                        break;
                    default:
                        break;
@@ -111,9 +111,9 @@
                        case '4':
                            this.autoOut(LocGroupConstant.LEFT_LOC_ROW_LIST, StaGroupConstant.LEFT_STA_ROW_LIST, AgvGroupConstant.SECOND_AGV_GROUP);
                            break;
                        case '5':
                            this.autoOut(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST, StaGroupConstant.FAR_LEFT_STA_ROW_LIST, AgvGroupConstant.FIRST_AGV_GROUP);
                            break;
//                        case '5':
//                            this.autoOut(LocGroupConstant.FAR_LEFT_LOC_ROW_LIST, StaGroupConstant.FAR_LEFT_STA_ROW_LIST, AgvGroupConstant.FIRST_AGV_GROUP);
//                            break;
                        default:
                            break;
                    }
@@ -140,12 +140,24 @@
        this.runLocToLoc(locGroupList, agvGroupList, staTaskMemo);
    }
    private void autoOut(List<Integer> locGroupList, List<String> staGroupList, List<String> agvGroupList) {
    private void autoRun2(List<Integer> locGroupList, List<String> staGroupList, List<String> agvGroupList) {
        int availableAgvCount = this.getAvailableAgvCount(agvGroupList);
        if (0 == availableAgvCount) {
            return;
        }
        List<String> staPreNos = getStaPrefixes(staGroupList);
        String staTaskMemo = "DEMO_STA_" + String.join("-", staPreNos);
        // 移库
        this.runLocToLoc(locGroupList, agvGroupList, staTaskMemo);
    }
    private void autoOut(List<Integer> locGroupList, List<String> staGroupList, List<String> agvGroupList) {
        int availableAgvCount = this.getAvailableAgvCount(agvGroupList);
        if (0 == availableAgvCount) {
            return;
        }
        List<String> staPreNos = getStaPrefixes(staGroupList);
        String staTaskMemo = "DEMO_STA_" + String.join("-", staPreNos);
        List<Task> list = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getDestSta, 33).in(Task::getTaskSts, TaskStsType.INIT.val(), TaskStsType.WAITING.val(), TaskStsType.ASSIGN.val(), TaskStsType.PROGRESS.val()));
@@ -172,11 +184,7 @@
        }
        // STOCK
        LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>()
                .eq(Sta::getStaSts, StaStsType.STOCK.val())
                .eq(Sta::getStatus, StatusType.ENABLE.val)
                .eq(Sta::getInEnable, "Y")
                .in(Sta::getStaNo, staGroupList);
        LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>().eq(Sta::getStaSts, StaStsType.STOCK.val()).eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getInEnable, "Y").in(Sta::getStaNo, staGroupList);
        List<Sta> stockList = staService.list(stockWrapper);
        if (Cools.isEmpty(stockList)) {
            return;
@@ -207,7 +215,7 @@
            taskDto.setOriSta(stockSta.getStaNo());
            taskDto.setDestLoc(idleLoc.getLocNo());
            taskDto.setPriority(100);
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
        }
@@ -228,9 +236,7 @@
        // STOCK
        LambdaQueryWrapper<Sta> stockWrapper = new LambdaQueryWrapper<Sta>()
                //.eq(Sta::getStaSts, StaStsType.STOCK.val())
                .eq(Sta::getStatus, StatusType.ENABLE.val)
                .eq(Sta::getInEnable, "Y")
                .in(Sta::getStaNo, staGroupList);
                .eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getInEnable, "Y").in(Sta::getStaNo, staGroupList);
        List<Sta> stockList = staService.list(stockWrapper);
        if (Cools.isEmpty(stockList)) {
            return;
@@ -261,7 +267,7 @@
            taskDto.setOriSta(stockSta.getStaNo());
            taskDto.setDestLoc(idleLoc.getLocNo());
            taskDto.setPriority(99);
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
            num--;
@@ -282,11 +288,7 @@
        int maxCapacity = agvModel.getBackpack();
        // STA IDLE
        LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>()
                .eq(Sta::getStaSts, StaStsType.IDLE.val())
                .eq(Sta::getStatus, StatusType.ENABLE.val)
                .eq(Sta::getOutEnable, "Y")
                .in(Sta::getStaNo, staGroupList);
        LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>().eq(Sta::getStaSts, StaStsType.IDLE.val()).eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getOutEnable, "Y").in(Sta::getStaNo, staGroupList);
        List<Sta> idleList = staService.list(idleWrapper);
        if (Cools.isEmpty(idleList)) {
            return;
@@ -317,7 +319,7 @@
            taskDto.setOriLoc(stockLoc.getLocNo());
            taskDto.setDestSta(idleSta.getStaNo());
            taskDto.setPriority(100);
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
        }
@@ -339,9 +341,7 @@
        // STA IDLE
        LambdaQueryWrapper<Sta> idleWrapper = new LambdaQueryWrapper<Sta>()
                //.eq(Sta::getStaSts, StaStsType.IDLE.val())
                .eq(Sta::getStatus, StatusType.ENABLE.val)
                .eq(Sta::getOutEnable, "Y")
                .in(Sta::getStaNo, staGroupList);
                .eq(Sta::getStatus, StatusType.ENABLE.val).eq(Sta::getOutEnable, "Y").in(Sta::getStaNo, staGroupList);
        List<Sta> idleList = staService.list(idleWrapper);
        if (Cools.isEmpty(idleList)) {
            return;
@@ -372,7 +372,7 @@
            taskDto.setOriLoc(stockLoc.getLocNo());
            taskDto.setDestSta(idleSta.getStaNo());
            taskDto.setPriority(100);
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
            num++;
@@ -391,10 +391,7 @@
        int availableAgvCount = this.getAvailableAgvCount(agvGroupList);
        // 最多 ? 组bus运行
        if (availableAgvCount <= busService.count(new LambdaQueryWrapper<Bus>()
                .in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val())
                .in(Bus::getMemo, memo, staTaskMemo)
        )) {
        if (availableAgvCount <= busService.count(new LambdaQueryWrapper<Bus>().in(Bus::getBusSts, BusStsType.RECEIVE.val(), BusStsType.PROGRESS.val()).in(Bus::getMemo, memo, staTaskMemo))) {
            return;
        }
@@ -441,7 +438,7 @@
            TaskDto taskDto = new TaskDto();
            taskDto.setOriLoc(stockLoc.getLocNo());
            taskDto.setDestLoc(idleLoc.getLocNo());
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(15, 19));
            taskDto.setSeqNum(String.valueOf(snowflakeIdWorker.nextId()).substring(11, 19));
            param.getTaskList().add(taskDto);
        }