#
Junjie
2025-03-29 e04f0981da6554606359e6de4e91b752a64aae6c
src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
@@ -1,7 +1,9 @@
package com.zy.core.dispatcher;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.domain.ShuttleGatherResult;
import com.zy.asrs.entity.BasShuttle;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasShuttleService;
@@ -295,6 +297,29 @@
    }
    /**
     * 小车集合
     */
    public List<ShuttleGatherResult> shuttleGather() {
        List<BasShuttle> basShuttles = basShuttleService.selectList(new EntityWrapper<BasShuttle>().eq("status", 1));
        List<ShuttleGatherResult> list = new ArrayList<>();
        for (BasShuttle basShuttle : basShuttles) {
            String idleLoc = basShuttle.getIdleLoc();
            if(Cools.isEmpty(idleLoc)) {
                continue;
            }
            boolean result = shuttleMoveGenerate(null, idleLoc, basShuttle.getShuttleNo());
            ShuttleGatherResult gatherResult = new ShuttleGatherResult();
            gatherResult.setShuttleNo(basShuttle.getShuttleNo());
            gatherResult.setIdleLoc(idleLoc);
            gatherResult.setResult(result);
            list.add(gatherResult);
        }
        return list;
    }
    /**
     * 检测目标楼层车数量是否小于允许的最大数量
     * true: 小于最大数量  false: 大于或等于最大数量
     */
@@ -315,6 +340,16 @@
                continue;
            }
            //小车有充电任务
            if (shuttleThread.isCharging()) {
                continue;
            }
            //小车故障跳过
            if (shuttleThread.isFault()) {
                continue;
            }
            String currentLocNo = shuttleProtocol.getCurrentLocNo();
            if (currentLocNo == null) {
                continue;