| | |
| | | import com.alibaba.fastjson.JSON; |
| | | 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.exception.CoolException; |
| | |
| | | public static final Integer MAP_DEFAULT_LEV = 1; |
| | | |
| | | private final RedisSupport redis = RedisSupport.defaultRedisSupport; |
| | | |
| | | List<Double> xIdxList; |
| | | List<Double> yIdxList; |
| | | |
| | | private String[][] codeMatrix; |
| | | |
| | |
| | | log.info("There is initializing Cda Matrix......"); |
| | | lev = Optional.ofNullable(lev).orElse(MAP_DEFAULT_LEV); |
| | | |
| | | if (Cools.isEmpty(xIdxList, yIdxList)) { |
| | | this.initCodeMatrix(lev); |
| | | } |
| | | |
| | | String[][] codeMatrix = getCodeMatrix(lev); |
| | | String[][] cdaMatrix = new String[codeMatrix.length][codeMatrix[0].length]; |
| | | |
| | | for (int i = 0; i < codeMatrix.length; i++) { |
| | | for (int j = 0; j < codeMatrix[i].length; j++) { |
| | | if (CodeNodeType.NONE.val.equals(codeMatrix[i][j])) { |
| | | cdaMatrix[i][j] = CdaNodeType.DISABLE.val; |
| | | List<Double> cdaArr = new ArrayList<>(); |
| | | cdaArr.add(xIdxList.get(j)); |
| | | cdaArr.add(yIdxList.get(i)); |
| | | cdaMatrix[i][j] = JSON.toJSONString(cdaArr); |
| | | } else { |
| | | Code currCode = codeService.selectByData(codeMatrix[i][j]); |
| | | if (null != currCode) { |
| | |
| | | .orderByAsc(Code::getY) |
| | | .orderByAsc(Code::getX) |
| | | ); |
| | | // int xCount = codeService.selectDistinctCountFromX(); |
| | | // int yCount = codeService.selectDistinctCountFromY(); |
| | | // // [][] 第一个是排的数量 第二个是列的数量 |
| | | // String[][] codeMatrix = new String[yCount][xCount]; |
| | | |
| | | List<Double> xIdxList = new ArrayList<>(); |
| | | List<Double> yIdxList = new ArrayList<>(); |
| | | xIdxList = new ArrayList<>(); |
| | | yIdxList = new ArrayList<>(); |
| | | for (Code code : codeList) { |
| | | Double x = code.getX(); |
| | | Double y = code.getY(); |
| | |
| | | // [][] 第一个是排的数量 第二个是列的数量 |
| | | String[][] codeMatrix = new String[yIdxList.size()][xIdxList.size()]; |
| | | |
| | | int idxX = -1; |
| | | int idxY = -1; |
| | | double lastX = -1; |
| | | double lastY = -1; |
| | | for (Code code : codeList) { |
| | | Double x = code.getX(); |
| | | Double y = code.getY(); |
| | | // if (y != lastY) { |
| | | // idxY ++; |
| | | // idxX = 0; |
| | | // lastY = y; |
| | | // lastX = x; |
| | | // } |
| | | // if (x != lastX) { |
| | | // idxX++; |
| | | // lastX = x; |
| | | // } |
| | | // codeMatrix[idxY][idxX] = code.getData(); |
| | | |
| | | codeMatrix[yIdxList.indexOf(y)][xIdxList.indexOf(x)] = code.getData(); |
| | | } |