#
luxiaotao1123
2024-11-28 f821e9800ed171a59a6713368819bdbddf4da0a9
#
1个文件已修改
15 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -11,6 +11,7 @@
import com.zy.acs.manager.core.domain.TaskPosDto;
import com.zy.acs.manager.core.domain.type.BlockSeverityType;
import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
import com.zy.acs.manager.core.service.astart.NavigateNode;
import com.zy.acs.manager.core.service.astart.RetreatNavigateNode;
import com.zy.acs.manager.core.service.astart.WaveNodeType;
import com.zy.acs.manager.manager.entity.*;
@@ -59,7 +60,7 @@
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private ActionService actionService;
    private AgvModelService agvModelService;
    @Autowired
    private RetreatNavigateService retreatNavigateService;
    @Autowired
@@ -513,6 +514,7 @@
    private List<String> getBlackPathList(List<Jam> unfinishedOriginJamByCurrAgv) {
        List<String> blackPathList = new ArrayList<>();
        Integer lev = MapDataDispatcher.MAP_DEFAULT_LEV;
        if (!Cools.isEmpty(unfinishedOriginJamByCurrAgv)) {
            for (Jam jam : unfinishedOriginJamByCurrAgv) {
                if (!Cools.isEmpty(jam.getJamPath())) {
@@ -520,7 +522,7 @@
                    List<String> list = GsonUtils.fromJsonToList(jam.getJamPath(), String.class);
                    Agv jamAgv = agvService.getById(jam.getJamAgv());
                    List<String> jamDynamicNodes = mapDataDispatcher.queryCodeListFromDynamicNode(null, jamAgv.getUuid());
                    List<String> jamDynamicNodes = mapDataDispatcher.queryCodeListFromDynamicNode(lev, jamAgv.getUuid());
                    // jamDynamicNodes has sorted
                    String firstCodeNode = jamDynamicNodes.stream().findFirst().orElse(null);
@@ -529,6 +531,15 @@
                        if (idx != -1) {
                            list = new ArrayList<>(list.subList(idx, list.size()));
                        }
                        // the wave of first node
                        Double avoidDistance = MapDataUtils.getVehicleWaveSafeDistance(
                                agvModelService.getById(jamAgv.getAgvModel()).getDiameter(),
                                MapDataConstant.MAX_DISTANCE_BETWEEN_ADJACENT_AGV_FACTOR
                        );
                        List<String> waveCodeList = mapService.getWaveScopeByCode(lev, firstCodeNode, avoidDistance)
                                .stream().map(NavigateNode::getCodeData).distinct().collect(Collectors.toList());
                        list.addAll(waveCodeList);
                    }
                    blackPathList.addAll(list);