| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.zy.asrs.entity.BasMap; |
| | | import com.zy.asrs.entity.LocMast; |
| | | import com.zy.asrs.service.BasMapService; |
| | | import com.zy.asrs.utils.Utils; |
| | | import com.zy.common.utils.RedisUtil; |
| | | import com.zy.core.enums.MapNodeType; |
| | | import com.zy.core.enums.RedisKeyType; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * 立体仓库WCS系统主流程业务 |
| | |
| | | @Service("mainService") |
| | | public class MainServiceImpl { |
| | | |
| | | @Autowired |
| | | private BasMapService basMapService; |
| | | @Autowired |
| | | private RedisUtil redisUtil; |
| | | |
| | | //初始化库位地图数据结构 |
| | | public void initLocMap() { |
| | | Object object = redisUtil.get(RedisKeyType.LOC_MAP_BASE.key); |
| | | if (object != null) { |
| | | return; |
| | | } |
| | | |
| | | BasMap basMap = basMapService.selectOne(new EntityWrapper<BasMap>().eq("lev", 1)); |
| | | if (Cools.isEmpty(basMap)){ |
| | | //缺少初始化库位地图 |
| | | return; |
| | | } |
| | | |
| | | List<List<JSONObject>> dataList = JSON.parseObject(basMap.getData(), List.class); |
| | | List<List<HashMap<String, Object>>> mapNodeList = new ArrayList<>(); |
| | | for (int i = 0; i < dataList.size(); i++) { |
| | | List<JSONObject> row = dataList.get(i); |
| | | List<HashMap<String, Object>> mapNodeRow = new ArrayList<>(); |
| | | |
| | | for (int j = 0; j < row.size(); j++) { |
| | | JSONObject map = row.get(j); |
| | | |
| | | HashMap<String, Object> mapNode = new HashMap<>(); |
| | | mapNode.put("id", i + "-" + j); |
| | | |
| | | String nodeType = map.getString("type"); |
| | | if("shelf".equals(nodeType)) { |
| | | mapNode.put("value", MapNodeType.NORMAL_PATH.id); |
| | | }else { |
| | | mapNode.put("value", MapNodeType.DISABLE.id); |
| | | } |
| | | |
| | | mapNodeRow.add(mapNode); |
| | | } |
| | | mapNodeList.add(mapNodeRow); |
| | | } |
| | | |
| | | redisUtil.set(RedisKeyType.LOC_MAP_BASE.key, mapNodeList); |
| | | } |
| | | |
| | | } |