#
vincentlu
昨天 e80188bc55e4a01af9490c70846a13833e3301a3
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
@@ -7,6 +7,7 @@
import com.zy.acs.manager.core.constant.MapDataConstant;
import com.zy.acs.manager.core.domain.DirectionDto;
import com.zy.acs.manager.core.domain.LaneDto;
import com.zy.acs.manager.core.domain.PathDto;
import com.zy.acs.manager.core.domain.SortCodeDto;
import com.zy.acs.manager.core.domain.UnlockPathTask;
import com.zy.acs.manager.core.domain.VehicleFootprint;
@@ -135,12 +136,15 @@
            return null;
        }
        angle = (angle + 360) % 360;
        double result;
        double remainder = angle % 45;
        if (remainder < 22.5) {
            return angle - remainder;
            result = angle - remainder;
        } else {
            return angle + (45 - remainder);
            result = angle + (45 - remainder);
        }
        return (result + 360) % 360;
    }
    // 角度计算
@@ -205,9 +209,20 @@
        return Math.sqrt(deltaX * deltaX + deltaY * deltaY);
    }
    public void lockPath(Integer lev, List<String> pathList, String agvNo) {
        List<int[]> codeMatrixIdxList = mapDataDispatcher.getCodeMatrixIdxList(lev, pathList);
        mapDataDispatcher.modifyDynamicMatrix(lev, codeMatrixIdxList, agvNo);
    public void lockPath(Integer lev, List<PathDto> pathList, String agvNo) {
        if (Cools.isEmpty(agvNo, pathList)) {
            return;
        }
        List<PathDto> normalized = pathList.stream()
                .filter(Objects::nonNull)
                .filter(dto -> !Cools.isEmpty(dto.getCode()))
                .collect(Collectors.toList());
        if (Cools.isEmpty(normalized)) {
            return;
        }
        List<String> codeList = normalized.stream().map(PathDto::getCode).collect(Collectors.toList());
        List<int[]> codeMatrixIdxList = mapDataDispatcher.getCodeMatrixIdxList(lev, codeList);
        mapDataDispatcher.modifyDynamicMatrix(lev, codeMatrixIdxList, agvNo, normalized);
    }
    public void unlockPath(String agvNo, String codeData) {