#
luxiaotao1123
2024-11-26 c7ac2c8bb899b0785daaa9f72a69581bdb93fef1
#
4个文件已修改
24 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/BlockSeverityType.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/domain/type/BlockSeverityType.java
@@ -4,7 +4,7 @@
//    NONE(0),
    NONE(0),
    SEVERE(20000),
    SEVERE(30000),
    ;
    public long duration;
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
@@ -4,7 +4,6 @@
import com.zy.acs.common.enums.AgvDirectionType;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.manager.common.utils.MapDataUtils;
import com.zy.acs.manager.core.domain.type.BlockSeverityType;
import com.zy.acs.manager.core.service.astart.*;
import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
import com.zy.acs.manager.core.service.floyd.FloydNavigateService;
@@ -19,7 +18,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
@@ -46,7 +47,7 @@
     * 寻址 ===>> A Star
     */
    public synchronized List<String> checkoutPath(String agvNo, Code startCode, Code endCode
            , Boolean lock, List<String> blackList, Segment segment, BlockSeverityType blockSeverity) {
            , Boolean lock, List<String> blackList, Segment segment) {
        int[] startMapIdx = mapDataDispatcher.getCodeMatrixIdx(null, startCode.getData());
        int[] endMapIdx = mapDataDispatcher.getCodeMatrixIdx(null, endCode.getData());
@@ -54,7 +55,7 @@
        NavigateNode startNode = new NavigateNode(startMapIdx[0], startMapIdx[1], startCode.getData());
        NavigateNode endNode = new NavigateNode(endMapIdx[0], endMapIdx[1], endCode.getData());
        NavigateNode finishNode = aStarNavigateService.execute(agvNo, startNode, endNode, lock, blackList, segment, blockSeverity);
        NavigateNode finishNode = aStarNavigateService.execute(agvNo, startNode, endNode, lock, blackList, segment);
        if (null == finishNode) {
            log.warn("{} 号AGV检索[{}] ===>> [{}]路径失败......", agvNo, startCode.getData(), endCode.getData());
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -209,9 +209,9 @@
        List<String> pathList = new ArrayList<>();
        // 无障碍解
        List<String> unlockPathList = mapService.checkoutPath(agvNo, startCode, endCode, false, blackPath, segment, null);
        List<String> unlockPathList = mapService.checkoutPath(agvNo, startCode, endCode, false, blackPath, segment);
        // 避让解
        List<String> lockPathList = mapService.checkoutPath(agvNo, startCode, endCode, true, blackPath, segment, null);
        List<String> lockPathList = mapService.checkoutPath(agvNo, startCode, endCode, true, blackPath, segment);
        if (!Cools.isEmpty(lockPathList) && // 存在避让解
            Math.abs(lockPathList.size() - unlockPathList.size()) <= Arrays.stream(mapDataDispatcher.getCodeMatrix(lev)).mapToInt(row -> row.length).sum() / 10
@@ -225,8 +225,10 @@
            if (blockSeverity.equals(BlockSeverityType.SEVERE)) {
                unlockPathList.remove(endCode.getData());
                blackPath.addAll(unlockPathList);
                List<String> list = mapService.checkoutPath(agvNo, startCode, endCode, false, blackPath, segment, blockSeverity);
                System.out.println(list.size());
                List<String> newUnlockPathList = mapService.checkoutPath(agvNo, startCode, endCode, false, blackPath, segment);
                if (!Cools.isEmpty(newUnlockPathList)) {
                    draftPath = newUnlockPathList;
                }
            }
            // 可走行路径集合计算
            List<BlockVehicleDto> blockVehicleList = this.slicePathAndReturnBlockVehicleList(lev, draftPath, agvNo, pathList);    // jamAgvNo may was wave
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/AStarNavigateService.java
@@ -4,7 +4,6 @@
import com.zy.acs.framework.common.Cools;
import com.zy.acs.manager.common.utils.MapDataUtils;
import com.zy.acs.manager.core.domain.Lane;
import com.zy.acs.manager.core.domain.type.BlockSeverityType;
import com.zy.acs.manager.core.service.LaneService;
import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
import com.zy.acs.manager.manager.entity.Route;
@@ -44,7 +43,7 @@
    private ConfigService configService;
    public synchronized NavigateNode execute(String agvNo, NavigateNode start, NavigateNode end
            , Boolean lock, List<String> blackList, Segment segment, BlockSeverityType blockSeverity) {
            , Boolean lock, List<String> blackList, Segment segment) {
        if (start.getX() == end.getX() && start.getY() == end.getY()) {
            return end;
        }