#
luxiaotao1123
2024-12-11 84fc4a58b9fcb901a882945a2aa2281639dd4f6b
#
6个文件已修改
59 ■■■■ 已修改文件
zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/floyd/FloydNavigateService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/resources/application.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-common/src/main/java/com/zy/acs/common/constant/RedisConstant.java
@@ -47,4 +47,6 @@
    public static final String MAP_FLOYD_MATRIX_FLAG = "MAP_FLOYD_MATRIX_FLAG";
    public static final String MAP_LANE_DATA = "MAP_LANE_DATA";
}
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/LaneService.java
@@ -1,15 +1,20 @@
package com.zy.acs.manager.core.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.acs.common.constant.RedisConstant;
import com.zy.acs.common.utils.GsonUtils;
import com.zy.acs.common.utils.RedisSupport;
import com.zy.acs.framework.common.Cools;
import com.zy.acs.framework.common.SnowflakeIdWorker;
import com.zy.acs.manager.core.domain.Lane;
import com.zy.acs.manager.core.service.astart.MapDataDispatcher;
import com.zy.acs.manager.manager.entity.Code;
import com.zy.acs.manager.manager.enums.StatusType;
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;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -26,11 +31,13 @@
@Service
public class LaneService {
    private boolean initialized = Boolean.FALSE;
    private final RedisSupport redis = RedisSupport.defaultRedisSupport;
    private final List<Lane> lanes = new ArrayList<>();
    private List<Lane> lanes = new ArrayList<>();
    private final Map<String, List<String>> adjacencyCodeMap = new HashMap<>();
    private boolean initialized = Boolean.FALSE;
    @Autowired
    private CodeService codeService;
@@ -58,9 +65,31 @@
    }
    @PostConstruct
    public synchronized void init() {
    public void init() {
        Integer lev = MapDataDispatcher.MAP_DEFAULT_LEV;
        String laneDataStr = redis.getValue(RedisConstant.MAP_LANE_DATA, String.valueOf(lev));
        if (!Cools.isEmpty(laneDataStr)) {
            this.lanes = GsonUtils.fromJsonToList(laneDataStr, Lane.class);
        } else {
            StopWatch stopWatch = new StopWatch();
            stopWatch.start();
            this.initLaneData();
            stopWatch.stop();
            log.info("the rcs system calculated lane data which has spend {} millisecond......", stopWatch.getTime());
            redis.setValue(RedisConstant.MAP_LANE_DATA, String.valueOf(lev), GsonUtils.toJson(this.lanes));
        }
        System.out.println(GsonUtils.toJson(this.lanes));
    }
    private void initLaneData() {
        log.info("the rcs system is starting to initialize lane data...");
        List<Code> codeList = codeService.list(new LambdaQueryWrapper<Code>().eq(Code::getStatus, 1));
        List<Code> codeList = codeService.list(new LambdaQueryWrapper<Code>().eq(Code::getStatus, StatusType.ENABLE.val));
        this.fillAdjacencyCodeMap(codeList);
@@ -76,8 +105,6 @@
        this.initialized = Boolean.TRUE;
        log.info("the lane data initialization has been completed in rcs system.");
        System.out.println(GsonUtils.toJson(this.lanes));
    }
    private void fillAdjacencyCodeMap(List<Code> codeList) {
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/MapService.java
@@ -17,6 +17,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.time.StopWatch;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.*;
@@ -29,6 +30,8 @@
@Component("mapService")
public class MapService {
    @Value("${floyd.enable}")
    private Boolean floydEnable;
    @Autowired
    private CodeService codeService;
    @Autowired
@@ -92,6 +95,9 @@
     * 寻址 ===>> Floyd
     */
    public synchronized List<String> validFeasibility(Code startCode, Code endCode) {
        if (!floydEnable) {
            return Arrays.asList("00000001", "00000002", "00000003", "00000004", "00000005", "00000006");
        }
        int startIdx = floydNavigateService.codeIdx(startCode.getId());
        int endIdx = floydNavigateService.codeIdx(endCode.getId());
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/floyd/FloydNavigateService.java
@@ -17,6 +17,7 @@
import com.zy.acs.manager.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@@ -35,6 +36,8 @@
    private final RedisSupport redis = RedisSupport.defaultRedisSupport;
    @Value("${floyd.enable}")
    private Boolean floydEnable;
    @Autowired
    private CodeService codeService;
    @Autowired
@@ -75,6 +78,9 @@
    @SuppressWarnings("all")
    @PostConstruct
    public void generateMatrix() {
        if (!floydEnable) {
            return;
        }
        Integer lev = MapDataDispatcher.MAP_DEFAULT_LEV;
        String floydHeaderMatrixStr = redis.getValue(RedisConstant.MAP_FLOYD_MATRIX_HEADER_FLAG, String.valueOf(lev));
zy-acs-manager/src/main/java/com/zy/acs/manager/manager/controller/MapController.java
@@ -25,6 +25,7 @@
import com.zy.acs.manager.manager.entity.NavMap;
import com.zy.acs.manager.manager.entity.*;
import com.zy.acs.manager.manager.enums.AgvStsType;
import com.zy.acs.manager.manager.enums.StatusType;
import com.zy.acs.manager.manager.enums.TaskStsType;
import com.zy.acs.manager.manager.mapper.NavMapMapper;
import com.zy.acs.manager.manager.service.*;
@@ -195,7 +196,7 @@
    @PostMapping("/route/list")
    public R routeList(@RequestParam(required = false) Long zoneId) {
        List<MapRouteVo> result = new ArrayList<>();
        List<Route> routeList = routeService.list(new LambdaQueryWrapper<Route>().eq(Route::getStatus, 1));
        List<Route> routeList = routeService.list(new LambdaQueryWrapper<Route>().eq(Route::getStatus, StatusType.ENABLE.val));
        for (Route route : routeList) {
            MapRouteVo vo = new MapRouteVo();
            vo.setRouteId(route.getId());
zy-acs-manager/src/main/resources/application.yml
@@ -65,6 +65,9 @@
  timeout: 5000
  index: 3
floyd:
  enable: false
eureka:
  client:
    enabled: false