|
@@ -38,15 +38,26 @@ public class TableDataSelectServiceImpl implements TableDataSelectService {
|
|
QueryWrapper<TableResRuleDTO> queryResOneWrapper = new QueryWrapper<>();
|
|
QueryWrapper<TableResRuleDTO> queryResOneWrapper = new QueryWrapper<>();
|
|
queryResOneWrapper.eq("id", bsm);
|
|
queryResOneWrapper.eq("id", bsm);
|
|
TableResRuleDTO v_table_res_id = tableResRuleMapper.selectOne(queryResOneWrapper);
|
|
TableResRuleDTO v_table_res_id = tableResRuleMapper.selectOne(queryResOneWrapper);
|
|
- List<List<TableDataVo>> data = dataSelectById(pointEWkt, bsm);
|
|
|
|
|
|
+ List<List<TableDataVo>> data = null;
|
|
|
|
+ if ("hz".equals(v_table_res_id.getAnalyseType())) {
|
|
|
|
+ data = dataHzSelectById(pointEWkt, bsm);
|
|
|
|
+ } else {
|
|
|
|
+ data = dataSelectById(pointEWkt, bsm);
|
|
|
|
+ }
|
|
if (data == null || data.size() <= 0) {
|
|
if (data == null || data.size() <= 0) {
|
|
return retList;
|
|
return retList;
|
|
}
|
|
}
|
|
retList.put("data", data);
|
|
retList.put("data", data);
|
|
- retList.put("dataname", getTableName(v_table_res_id.getFromTableId()));
|
|
|
|
|
|
+ retList.put("dataname", v_table_res_id.getName());
|
|
|
|
+
|
|
|
|
+ //如果到汇总,程序终止
|
|
|
|
+ if ("hz".equals(v_table_res_id.getAnalyseType())) {
|
|
|
|
+ return retList;
|
|
|
|
+ }
|
|
|
|
|
|
QueryWrapper<TableResRuleDTO> queryResWrapper = new QueryWrapper<>();
|
|
QueryWrapper<TableResRuleDTO> queryResWrapper = new QueryWrapper<>();
|
|
queryResWrapper.eq("pid", bsm);
|
|
queryResWrapper.eq("pid", bsm);
|
|
|
|
+ queryResWrapper.orderByDesc("create_time");
|
|
List<TableResRuleDTO> v_table_Res = tableResRuleMapper.selectList(queryResWrapper);
|
|
List<TableResRuleDTO> v_table_Res = tableResRuleMapper.selectList(queryResWrapper);
|
|
List<Map> childLit = new ArrayList<>();
|
|
List<Map> childLit = new ArrayList<>();
|
|
for (TableResRuleDTO tableResRuleDTO : v_table_Res) {
|
|
for (TableResRuleDTO tableResRuleDTO : v_table_Res) {
|
|
@@ -64,11 +75,14 @@ public class TableDataSelectServiceImpl implements TableDataSelectService {
|
|
Map v_childMap = dataSelectByPoint(geomEWKT, tableResRuleDTO.getId());
|
|
Map v_childMap = dataSelectByPoint(geomEWKT, tableResRuleDTO.getId());
|
|
if (StringUtils.isNotEmpty(v_childMap)) {
|
|
if (StringUtils.isNotEmpty(v_childMap)) {
|
|
v_data.addAll((List<Map>) v_childMap.get("data"));
|
|
v_data.addAll((List<Map>) v_childMap.get("data"));
|
|
- v_child.addAll((List<Map>) v_childMap.get("child"));
|
|
|
|
|
|
+ Object child = v_childMap.get("child");
|
|
|
|
+ if (StringUtils.isNotNull(child)) {
|
|
|
|
+ v_child.addAll((List<Map>) v_childMap.get("child"));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- childMap.put("dataname", getTableName(tableResRuleDTO.getAnalyseTableId()));
|
|
|
|
|
|
+ childMap.put("dataname", tableResRuleDTO.getName());
|
|
childMap.put("data", v_data);
|
|
childMap.put("data", v_data);
|
|
childMap.put("child", v_child);
|
|
childMap.put("child", v_child);
|
|
childLit.add(childMap);
|
|
childLit.add(childMap);
|
|
@@ -141,6 +155,72 @@ public class TableDataSelectServiceImpl implements TableDataSelectService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private List<List<TableDataVo>> dataHzSelectById(String pointEWkt, String bsm) {
|
|
|
|
+ List<List<TableDataVo>> retList = new ArrayList<>();
|
|
|
|
+ QueryWrapper<TableResRuleDTO> queryResWrapper = new QueryWrapper<>();
|
|
|
|
+ if (StringUtils.isNotEmpty(bsm)) {
|
|
|
|
+ queryResWrapper.eq("pid", bsm);
|
|
|
|
+ } else {
|
|
|
|
+ return retList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<TableResRuleDTO> v_table_Res_list = tableResRuleMapper.selectList(queryResWrapper);
|
|
|
|
+ if (StringUtils.isNull(v_table_Res_list)) {
|
|
|
|
+ return retList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (TableResRuleDTO v_table_Res : v_table_Res_list) {
|
|
|
|
+
|
|
|
|
+ // 获取from_table_id
|
|
|
|
+ QueryWrapper<TableDTO> queryFromTableWrapper = new QueryWrapper<>();
|
|
|
|
+ queryFromTableWrapper.eq("id", v_table_Res.getFromTableId());
|
|
|
|
+ TableDTO v_from_table = tableMapper.selectOne(queryFromTableWrapper);
|
|
|
|
+ if (StringUtils.isNull(v_from_table)) {
|
|
|
|
+ return retList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 获取analyse_table_id
|
|
|
|
+ TableDTO v_analyse_table = null;
|
|
|
|
+ if (StringUtils.isNotEmpty(v_table_Res.getAnalyseTableId())) {
|
|
|
|
+ QueryWrapper<TableDTO> queryAnalyseTableWrapper = new QueryWrapper<>();
|
|
|
|
+ queryAnalyseTableWrapper.eq("id", v_table_Res.getAnalyseTableId());
|
|
|
|
+ v_analyse_table = tableMapper.selectOne(queryAnalyseTableWrapper);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<List<TableDataVo>> table_list = null;
|
|
|
|
+ String v_analyse_type = v_table_Res.getAnalyseType();
|
|
|
|
+ if (v_analyse_table == null) {
|
|
|
|
+ //intersects 相交
|
|
|
|
+ //intersection 交集
|
|
|
|
+// v_table_Res.getAnalyseType();
|
|
|
|
+ if ("intersection".equals(v_analyse_type)) {
|
|
|
|
+ table_list = tableIntersectionHandle(pointEWkt, v_from_table.getTableName(), v_from_table.getId());
|
|
|
|
+ } else {
|
|
|
|
+ table_list = tableIntersectsHandle(pointEWkt, v_from_table.getTableName(), v_from_table.getId());
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if ("intersection".equals(v_analyse_type)) {
|
|
|
|
+ table_list = tableIntersectionHandle(pointEWkt, v_analyse_table.getTableName(), v_analyse_table.getId());
|
|
|
|
+ } else {
|
|
|
|
+ table_list = tableIntersectsHandle(pointEWkt, v_analyse_table.getTableName(), v_analyse_table.getId());
|
|
|
|
+ }
|
|
|
|
+ if (StringUtils.isNotNull(table_list)) {
|
|
|
|
+ for (List<TableDataVo> v_table : table_list) {
|
|
|
|
+ // 面积
|
|
|
|
+ TableDataVo tableDataVo = new TableDataVo();
|
|
|
|
+ tableDataVo.setData(v_analyse_table.getTableDescribe());
|
|
|
|
+ tableDataVo.setFiledZH("权属类型");
|
|
|
|
+ tableDataVo.setFiled("qslx");
|
|
|
|
+ v_table.add(tableDataVo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ retList.addAll(table_list);
|
|
|
|
+ }
|
|
|
|
+ return retList;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
//取相交的函数
|
|
//取相交的函数
|
|
private List<List<TableDataVo>> tableIntersectsHandle(String eWkt, String tableName, String tableId) {
|
|
private List<List<TableDataVo>> tableIntersectsHandle(String eWkt, String tableName, String tableId) {
|
|
@@ -182,7 +262,6 @@ public class TableDataSelectServiceImpl implements TableDataSelectService {
|
|
if (from_kj_ids == null || from_kj_ids.size() == 0) {
|
|
if (from_kj_ids == null || from_kj_ids.size() == 0) {
|
|
return retList;
|
|
return retList;
|
|
}
|
|
}
|
|
-
|
|
|
|
List<TableFiledDTO> list = getFieldListByTableId(tableId, 0);
|
|
List<TableFiledDTO> list = getFieldListByTableId(tableId, 0);
|
|
List<String> outputColumn = new ArrayList<>();
|
|
List<String> outputColumn = new ArrayList<>();
|
|
for (TableFiledDTO v_data : list) {
|
|
for (TableFiledDTO v_data : list) {
|
|
@@ -198,6 +277,7 @@ public class TableDataSelectServiceImpl implements TableDataSelectService {
|
|
return retList;
|
|
return retList;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
TargetTableVo targetTableVo = new TargetTableVo();
|
|
TargetTableVo targetTableVo = new TargetTableVo();
|
|
targetTableVo.setTargetTableName(from_kj_data);
|
|
targetTableVo.setTargetTableName(from_kj_data);
|
|
targetTableVo.setColumns(outputColumn);
|
|
targetTableVo.setColumns(outputColumn);
|
|
@@ -205,6 +285,7 @@ public class TableDataSelectServiceImpl implements TableDataSelectService {
|
|
targetTableVo.setIsGeography(false);
|
|
targetTableVo.setIsGeography(false);
|
|
targetTableVo.setSrid(SRID);
|
|
targetTableVo.setSrid(SRID);
|
|
targetTableVo.setSiweiArea(true);
|
|
targetTableVo.setSiweiArea(true);
|
|
|
|
+
|
|
List<Map> from_jg = httpAnalyseService.targetTable(targetTableVo);
|
|
List<Map> from_jg = httpAnalyseService.targetTable(targetTableVo);
|
|
if (from_jg == null || from_jg.size() <= 0) {
|
|
if (from_jg == null || from_jg.size() <= 0) {
|
|
return retList;
|
|
return retList;
|