自动化立体仓库 - WCS系统
#
Junjie
2023-09-04 6d611bd596f57f0079c36bdb6a7686613f1bbb13
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -327,16 +327,69 @@
    @GetMapping("/map/resetMap/auth")
    @ManagerAuth
    public R resetMapToRedis() {
        for (int i = 1; i <= 4; i++) {
            Object data = redisUtil.get("realtimeBasMap_" + i);
            if (data == null) {
                continue;
        for (int i = 1; i <= 10; i++) {//总共10层楼
            BasMap basMap = basMapService.selectLatestMap(i);
            //载入地图
            NavigateMapData mapData = new NavigateMapData(i);
            List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库)
            if (basMap == null) {
                //数据库中也不存在地图数据,从地图文件中获取
                //存入数据库
                basMap = new BasMap();
                basMap.setData(JSON.toJSONString(lists));
                basMap.setCreateTime(new Date());
                basMap.setUpdateTime(new Date());
                basMap.setLev(i);
                if (!basMapService.insert(basMap)) {
                    log.info("地图数据存储失败");
                }
            }else {
                basMap.setData(JSON.toJSONString(lists));
                basMap.setUpdateTime(new Date());
                if (!basMapService.updateById(basMap)) {
                    log.info("地图数据存储失败");
                }
            }
            redisUtil.del("realtimeBasMap_" + i);
            basMapService.deleteByLev(i);
            //将数据库地图数据存入redis
            redisUtil.set("realtimeBasMap_" + i, JSON.toJSONString(basMap));
        }
        return R.ok();
    }
    /**
     * 重置redis中的地图,将占用的库位全部解除
     */
    @GetMapping("/map/resetMap/{lev}")
    public R resetMapToRedisByLev(@PathVariable Integer lev) {
        BasMap basMap = basMapService.selectLatestMap(lev);
        //载入地图
        NavigateMapData mapData = new NavigateMapData(lev);
        List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//获取完整地图(包括入库出库)
        if (basMap == null) {
            //数据库中也不存在地图数据,从地图文件中获取
            //存入数据库
            basMap = new BasMap();
            basMap.setData(JSON.toJSONString(lists));
            basMap.setCreateTime(new Date());
            basMap.setUpdateTime(new Date());
            basMap.setLev(lev);
            if (!basMapService.insert(basMap)) {
                log.info("地图数据存储失败");
            }
        }else {
            basMap.setData(JSON.toJSONString(lists));
            basMap.setUpdateTime(new Date());
            if (!basMapService.updateById(basMap)) {
                log.info("地图数据存储失败");
            }
        }
        //将数据库地图数据存入redis
        redisUtil.set("realtimeBasMap_" + lev, JSON.toJSONString(basMap));
        return R.ok();
    }
}