zhang
15 小时以前 70930071a49190f414c8d8bc9c9e9795a4096739
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;
@@ -25,6 +26,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import com.zy.acs.common.utils.News;
import java.util.*;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -135,12 +137,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 +210,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) {
@@ -252,7 +268,7 @@
//            }
        } catch (InterruptedException e) {
            log.error("unlockTaskQueue", e);
            News.error("unlockTaskQueue", e);
        }
    }
@@ -716,4 +732,4 @@
        return result;
    }
}
}