#
luxiaotao1123
2024-11-01 1cc1d0c34335555f1ee6c8f2e49ee76e5af74649
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
@@ -1,8 +1,8 @@
package com.zy.acs.manager.core.service;
import com.alibaba.fastjson.JSONObject;
import com.zy.acs.framework.common.Cools;
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.service.astart.*;
import com.zy.acs.manager.core.service.astart.domain.DynamicNode;
@@ -10,9 +10,7 @@
import com.zy.acs.manager.manager.entity.Code;
import com.zy.acs.manager.manager.entity.Loc;
import com.zy.acs.manager.manager.service.ActionService;
import com.zy.acs.manager.manager.service.CodeGapService;
import com.zy.acs.manager.manager.service.CodeService;
import com.zy.acs.manager.manager.service.RouteService;
import com.zy.acs.manager.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.time.StopWatch;
@@ -32,10 +30,6 @@
    @Autowired
    private CodeService codeService;
    @Autowired
    private CodeGapService codeGapService;
    @Autowired
    private RouteService routeService;
    @Autowired
    private FloydNavigateService floydNavigateService;
    @Autowired
    private MapDataDispatcher mapDataDispatcher;
@@ -51,7 +45,7 @@
    }
    /**
     * 寻址 ===>> A*
     * 寻址 ===>> A Star
     */
    public synchronized List<String> checkoutPath(String agvNo, Code startCode, Code endCode
            , Boolean lock, List<String> whiteList, List<String> blackList) {
@@ -72,7 +66,7 @@
        ArrayList<NavigateNode> navigateNodes = new ArrayList<>();
        // 渲染
        NavigateNode parentNode = null;//当前循环上一节点,用于拐点计算
        NavigateNode parentNode = null; //  当前循环上一节点,用于拐点计算
        while (finishNode != null) {
            navigateNodes.add(finishNode);
@@ -82,12 +76,9 @@
        Collections.reverse(navigateNodes);
        //将每个节点里面的fatherNode至为null(方便后续计算时父节点过多导致显示的节点太多)
        for (NavigateNode navigateNode : navigateNodes) {
            //父节点设置为null,不影响计算结果,不影响后续操作。
            //此操作仅为后续排查处理提供视觉方便。
            navigateNode.setParent(null);
        }
//        for (NavigateNode navigateNode : navigateNodes) {
//            navigateNode.setParent(null);
//        }
        return navigateNodes.stream().map(NavigateNode::getCodeData).collect(Collectors.toList());
    }
@@ -133,7 +124,7 @@
        double deltaX = x1 - x0;
        double deltaY = y1 - y0;
        double angle = Math.atan2(deltaX, deltaY);
        int offsetAngle = Integer.parseInt(configService.getVal("mapXoffset"));
        int offsetAngle = configService.getVal("mapXoffset", Integer.class);
        angle = angle + offsetAngle;
        angle = Math.toDegrees(angle);
        angle = (angle + 360) % 360; // 将角度转换为正值