Junjie
2024-12-11 8ef2bb5e46d84594e6ed632c07ea0b47a1bf6c4d
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/utils/NavigateMapData.java
@@ -4,8 +4,8 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.wms.entity.BasMap;
import com.zy.asrs.framework.common.SpringUtils;
import com.zy.asrs.wcs.core.domain.dto.BasMapDto;
import com.zy.asrs.wcs.core.domain.dto.RedisMapDto;
import com.zy.asrs.wcs.core.entity.Loc;
import com.zy.asrs.wcs.core.model.MapNode;
@@ -31,6 +31,8 @@
    private LocService locService;
    @Autowired
    private DictService dictService;
    @Autowired
    private NavigateMapData navigateMapData;
    private Integer lev;//地图楼层
@@ -54,14 +56,20 @@
     * 尝试从redis获取数据
     */
    public int[][] getDataFromRedis(Integer mapType, List<int[]> whitePoints, List<int[]> shuttlePoints) {
        String constantMap = DeviceRedisConstant.MAP;
        if(mapType == NavigationMapType.NONE_LOCK.id){
            constantMap = DeviceRedisConstant.BASE_MAP;
        }
        RedisUtil redisUtil = SpringUtils.getBean(RedisUtil.class);
        Object o = redisUtil.get(DeviceRedisConstant.MAP + lev);
        Object o = redisUtil.get(constantMap + lev);
        if (o == null) {
            return null;
        }
        BasMap basMap = JSON.parseObject(o.toString(), BasMap.class);
        return this.getDataFormString(basMap.getData(), mapType, whitePoints, shuttlePoints);
        BasMapDto basMap = JSON.parseObject(o.toString(), BasMapDto.class);
        String mapData = basMap.getData();
        return this.getDataFormString(mapData, mapType, whitePoints, shuttlePoints);
    }
    /**
@@ -253,7 +261,7 @@
            return null;
        }
        BasMap basMap = JSON.parseObject(o.toString(), BasMap.class);
        BasMapDto basMap = JSON.parseObject(o.toString(), BasMapDto.class);
        ArrayList arrayList = JSON.parseObject(basMap.getData(), ArrayList.class);
        List<List<MapNode>> lists = filterMap(mapType, arrayList, lev, whitePoints, shuttlePoints);//过滤地图数据
        return lists;
@@ -319,7 +327,7 @@
                ) {
                    mapNode.setValue(MapNodeType.DISABLE.id);//禁用节点
                }
            } else if (mapType == NavigationMapType.NORMAL.id) {
            } else if (mapType == NavigationMapType.NORMAL.id || mapType == NavigationMapType.NONE_LOCK.id) {
                //过滤库位状态X
                if (loc.getLocStsFlag().equals("X")) {
                    mapNode.setValue(MapNodeType.DISABLE.id);//禁用节点