#
luxiaotao1123
2025-01-06 3f14cb5d2fc4c68b486ca92689dfe86d1dc11533
#
4个文件已修改
31 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AvoidWaveCalculator.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/AvoidWaveCalculator.java
@@ -297,7 +297,7 @@
        DynamicNode dynamicNode = dynamicMatrix[codeMatrixIdx[0]][codeMatrixIdx[1]];
        String vehicle = dynamicNode.getVehicle();
        if (vehicle.equals(DynamicNodeType.ACCESS.val)) {
            mapDataDispatcher.modifyDynamicMatrix(null, Utils.singletonList(code.getData()), agv.getUuid());
            mapDataDispatcher.modifyDynamicMatrix(null, Utils.singletonList(codeMatrixIdx), agv.getUuid());
        }
    }
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MainService.java
@@ -1025,7 +1025,8 @@
            if (!Cools.isEmpty(pathList)) {
                pathList.remove(0);
                mapDataDispatcher.clearDynamicMatrixByCodeList(null, pathList);
                List<int[]> codeMatrixIdxList = mapDataDispatcher.getCodeMatrixIdxList(null, pathList);
                mapDataDispatcher.clearDynamicMatrixByCodeList(null, codeMatrixIdxList);
            }
            throw new RuntimeException("generateAction method caught an exception, rolling back transaction.", e);
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
@@ -173,7 +173,8 @@
    }
    public void lockPath(Integer lev, List<String> pathList, String agvNo) {
        mapDataDispatcher.modifyDynamicMatrix(lev, pathList, agvNo);
        List<int[]> codeMatrixIdxList = mapDataDispatcher.getCodeMatrixIdxList(lev, pathList);
        mapDataDispatcher.modifyDynamicMatrix(lev, codeMatrixIdxList, agvNo);
    }
    public synchronized void unlockPath(String agvNo, String codeData) {
@@ -196,9 +197,9 @@
            DynamicNode dynamicNode = dynamicMatrix[codeMatrixIdx[0]][codeMatrixIdx[1]];
            Integer serial = dynamicNode.getSerial();
            int serial = dynamicNode.getSerial();
            List<String> resetCodeList = new ArrayList<>();
            List<int[]> resetCodeIdxList = new ArrayList<>();
            for (int i = 0; i < dynamicMatrix.length; i++) {
                for (int j = 0; j < dynamicMatrix[i].length; j++) {
@@ -208,15 +209,15 @@
                    DynamicNode node = dynamicMatrix[i][j];
                    if (node.getVehicle().equals(agvNo)) {
                        if (node.getSerial() < serial) {
                            resetCodeList.add(codeMatrix[i][j]);
                            resetCodeIdxList.add(new int[] {i, j});
                        }
                    }
                }
            }
            if (!Cools.isEmpty(resetCodeList)) {
            if (!Cools.isEmpty(resetCodeIdxList)) {
                mapDataDispatcher.clearDynamicMatrixByCodeList(lev, resetCodeList);
                mapDataDispatcher.clearDynamicMatrixByCodeList(lev, resetCodeIdxList);
            }
            stopWatch.stop();
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/astart/MapDataDispatcher.java
@@ -522,11 +522,11 @@
//        return codeList.stream().map(SortCodeDto::getCode).collect(Collectors.toList());
    }
    public void modifyDynamicMatrix(Integer lev, List<String> codeDataList, String vehicle) {
        this.modifyDynamicMatrix(lev, codeDataList, vehicle, false);
    public void modifyDynamicMatrix(Integer lev, List<int[]> codeIdxList, String vehicle) {
        this.modifyDynamicMatrix(lev, codeIdxList, vehicle, false);
    }
    public synchronized void modifyDynamicMatrix(Integer lev, List<String> codeDataList, String vehicle, boolean reset) {
    public synchronized void modifyDynamicMatrix(Integer lev, List<int[]> codeIdxList, String vehicle, boolean reset) {
        if (Cools.isEmpty(vehicle)) {
            return;
        }
@@ -536,8 +536,7 @@
        if (!reset) {
//            long time = System.currentTimeMillis() / 1000;
            int serial = 1;
            for (String codeData : codeDataList) {
                int[] codeMatrixIdx = getCodeMatrixIdx(lev, codeData);
            for (int[] codeMatrixIdx : codeIdxList) {
                dynamicMatrix[codeMatrixIdx[0]][codeMatrixIdx[1]] = new DynamicNode(vehicle, serial);
                serial++;
            }
@@ -555,8 +554,8 @@
        setDynamicMatrix(lev, dynamicMatrix);
    }
    public void clearDynamicMatrixByCodeList(Integer lev, List<String> codeDataList) {
        this.modifyDynamicMatrix(lev, codeDataList, DynamicNodeType.ACCESS.val);
    public void clearDynamicMatrixByCodeList(Integer lev, List<int[]> codeIdxList) {
        this.modifyDynamicMatrix(lev, codeIdxList, DynamicNodeType.ACCESS.val);
    }
    public int[][] filterMapData(int[][] mapMatrix, Integer lev, List<String> lockNodes) {