|
|
@@ -175,82 +175,84 @@ public class ConvergeServiceImpl implements ConvergeService {
|
|
|
log.info("====convergeId=======:"+convergeId);
|
|
|
fzssFxrwrzHandleService.insertFxrwrz(convergeId, "地籍库管理", "汇交任务创建", "info");
|
|
|
fzssFxrwrzHandleService.insertFxrwrz(convergeId, "地籍库管理", "汇交数据执行开始。。。", "info");
|
|
|
-
|
|
|
long startTime = System.currentTimeMillis();
|
|
|
- //todo 1.做一个vo类型的javabean 2.查询所有的表数据,进行判断去除空表数据。3.区分是否矢量。4.把当前文件处理成其它。
|
|
|
- List<ConvergeRes> convergeTableList = new ArrayList<>();
|
|
|
- Arrays.stream(ConvergeTableEnum.values()).forEach(e -> {
|
|
|
- String tableName = e.getTableName();
|
|
|
- List<Map<String,Object>> tableDataList = cadastreFileMapper.selectTableData("",tableName);
|
|
|
- if(CollectionUtils.isNotEmpty(tableDataList)){
|
|
|
- List<Map<String,String>> tableFieldList = cadastreFileMapper.selectTableCollumAndType(tableName);
|
|
|
- int convergeType = 2;
|
|
|
- //如果当前表存在geom 字段,视同为矢量
|
|
|
- if(tableFieldList.stream().anyMatch(s->s.get("column_name").equals("geom"))){
|
|
|
- convergeType = 1;
|
|
|
+ //这里进行数据汇交
|
|
|
+ CompletableFuture<Object> future = CompletableFuture.supplyAsync(()-> {
|
|
|
+ //-----------------------------------
|
|
|
+ List<ConvergeRes> convergeTableList = new ArrayList<>();
|
|
|
+ Arrays.stream(ConvergeTableEnum.values()).forEach(e -> {
|
|
|
+ String tableName = e.getTableName();
|
|
|
+ List<Map<String,Object>> tableDataList = cadastreFileMapper.selectTableData("",tableName);
|
|
|
+ if(CollectionUtils.isNotEmpty(tableDataList)){
|
|
|
+ List<Map<String,String>> tableFieldList = cadastreFileMapper.selectTableCollumAndType(tableName);
|
|
|
+ int convergeType = 2;
|
|
|
+ //如果当前表存在geom 字段,视同为矢量
|
|
|
+ if(tableFieldList.stream().anyMatch(s->s.get("column_name").equals("geom"))){
|
|
|
+ convergeType = 1;
|
|
|
+ }
|
|
|
+ ConvergeRes res = new ConvergeRes();
|
|
|
+ res.setTableName(tableName);
|
|
|
+ res.setType(convergeType);
|
|
|
+ res.setDataList(tableDataList);
|
|
|
+ res.setColumnsList(tableFieldList);
|
|
|
+ convergeTableList.add(res);
|
|
|
}
|
|
|
- ConvergeRes res = new ConvergeRes();
|
|
|
- res.setTableName(tableName);
|
|
|
- res.setType(convergeType);
|
|
|
- res.setDataList(tableDataList);
|
|
|
- res.setColumnsList(tableFieldList);
|
|
|
- convergeTableList.add(res);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- fzssFxrwrzHandleService.insertFxrwrz(convergeId, "地籍库管理", "数据已完成提取。。。。", "info");
|
|
|
-
|
|
|
- String basePath = convergedir + converge.getName()+"/"+"012345赣江新区"+"/";
|
|
|
- List<ConvergeRes> subConvergeTableList = new ArrayList<>();//衍生出的数据
|
|
|
+ });
|
|
|
|
|
|
- //如果有汇交数据,针对每张表,计算生成路径
|
|
|
- if(!convergeTableList.isEmpty()){
|
|
|
- for(ConvergeRes convergeRes : convergeTableList){
|
|
|
- // 行政区
|
|
|
- if(convergeRes.getTableName().equals(ConvergeTableEnum.TABLE_0.getTableName())){
|
|
|
- convergeRes.setFilePath(basePath+"矢量空间数据/统一坐标");
|
|
|
- convergeRes.setFileName("01"+ConvergeTableEnum.TABLE_0.getTableName());
|
|
|
- }else if(ConvergeTableEnum.TABLE_1.getTableName().equals(convergeRes.getTableName())){
|
|
|
- //地籍区
|
|
|
- convergeRes.setFilePath(basePath+"矢量空间数据/统一坐标");
|
|
|
- convergeRes.setFileName("02"+ConvergeTableEnum.TABLE_1.getTableName());
|
|
|
- } else if(ConvergeTableEnum.TABLE_2.getTableName().equals(convergeRes.getTableName())){
|
|
|
- //地籍子区
|
|
|
- convergeRes.setFilePath(basePath+"矢量空间数据/统一坐标");
|
|
|
- convergeRes.setFileName("03"+ConvergeTableEnum.TABLE_2.getTableName());
|
|
|
+ fzssFxrwrzHandleService.insertFxrwrz(convergeId, "地籍库管理", "数据已完成提取。。。。", "info");
|
|
|
+
|
|
|
+ String basePath = convergedir + converge.getName()+"/"+"012345赣江新区"+"/";
|
|
|
+ List<ConvergeRes> subConvergeTableList = new ArrayList<>();//衍生出的数据
|
|
|
+
|
|
|
+ //如果有汇交数据,针对每张表,计算生成路径
|
|
|
+ if(!convergeTableList.isEmpty()) {
|
|
|
+ for (ConvergeRes convergeRes : convergeTableList) {
|
|
|
+ // 行政区
|
|
|
+ if (convergeRes.getTableName().equals(ConvergeTableEnum.TABLE_0.getTableName())) {
|
|
|
+ convergeRes.setFilePath(basePath + "矢量空间数据/统一坐标");
|
|
|
+ convergeRes.setFileName("01" + ConvergeTableEnum.TABLE_0.getTableName());
|
|
|
+ } else if (ConvergeTableEnum.TABLE_1.getTableName().equals(convergeRes.getTableName())) {
|
|
|
+ //地籍区
|
|
|
+ convergeRes.setFilePath(basePath + "矢量空间数据/统一坐标");
|
|
|
+ convergeRes.setFileName("02" + ConvergeTableEnum.TABLE_1.getTableName());
|
|
|
+ } else if (ConvergeTableEnum.TABLE_2.getTableName().equals(convergeRes.getTableName())) {
|
|
|
+ //地籍子区
|
|
|
+ convergeRes.setFilePath(basePath + "矢量空间数据/统一坐标");
|
|
|
+ convergeRes.setFileName("03" + ConvergeTableEnum.TABLE_2.getTableName());
|
|
|
+ } else if (ConvergeTableEnum.TABLE_3.getTableName().equals(convergeRes.getTableName())) {
|
|
|
+ //宗地
|
|
|
+ convergeRes.setFilePath(basePath + "矢量空间数据/统一坐标");
|
|
|
+ convergeRes.setFileName("03" + ConvergeTableEnum.TABLE_3.getTableName());
|
|
|
+ //todo 这里需要对宗地,根据情况进行拆分,出来一个新的List
|
|
|
+ convergeRes.setValid(-1);
|
|
|
+ subConvergeTableList.add(convergeRes);
|
|
|
+ } else if (ConvergeTableEnum.TABLE_4.getTableName().equals(convergeRes.getTableName())) {
|
|
|
+ //房屋
|
|
|
+ convergeRes.setFilePath(basePath + "矢量空间数据/统一坐标");
|
|
|
+ convergeRes.setFileName("04" + ConvergeTableEnum.TABLE_4.getTableName());
|
|
|
+ } else {
|
|
|
+ convergeRes.setFilePath(basePath + "属性数据");
|
|
|
+ convergeRes.setFileName("00" + convergeRes.getTableName());
|
|
|
+ }
|
|
|
}
|
|
|
- else if(ConvergeTableEnum.TABLE_3.getTableName().equals(convergeRes.getTableName())){
|
|
|
- //宗地
|
|
|
- convergeRes.setFilePath(basePath+"矢量空间数据/统一坐标");
|
|
|
- convergeRes.setFileName("03"+ConvergeTableEnum.TABLE_3.getTableName());
|
|
|
- //todo 这里需要对宗地,根据情况进行拆分,出来一个新的List
|
|
|
- convergeRes.setValid(-1);
|
|
|
- subConvergeTableList.add(convergeRes);
|
|
|
- } else if(ConvergeTableEnum.TABLE_4.getTableName().equals(convergeRes.getTableName())){
|
|
|
- //房屋
|
|
|
- convergeRes.setFilePath(basePath+"矢量空间数据/统一坐标");
|
|
|
- convergeRes.setFileName("04"+ConvergeTableEnum.TABLE_4.getTableName());
|
|
|
- }else {
|
|
|
- convergeRes.setFilePath(basePath+"属性数据");
|
|
|
- convergeRes.setFileName("00"+convergeRes.getTableName());
|
|
|
+ if (!subConvergeTableList.isEmpty()) {
|
|
|
+ convergeTableList.addAll(subConvergeTableList);
|
|
|
}
|
|
|
+ fzssFxrwrzHandleService.insertFxrwrz(convergeId, "地籍库管理", "数据已完成目录构建。。。。", "info");
|
|
|
+
|
|
|
+ //这里进行数据汇交
|
|
|
+ try {
|
|
|
+ operationFileStrategy(convergeTableList);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new ServiceException("汇交失败,数据错误"+e);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
- if(!subConvergeTableList.isEmpty()){
|
|
|
- convergeTableList.addAll(subConvergeTableList);
|
|
|
- }
|
|
|
+ //-----------------------------------
|
|
|
+ return null;
|
|
|
+ });
|
|
|
|
|
|
- fzssFxrwrzHandleService.insertFxrwrz(convergeId, "地籍库管理", "数据已完成目录构建。。。。", "info");
|
|
|
- //这里进行数据汇交
|
|
|
- CompletableFuture<Object> future =
|
|
|
- CompletableFuture.supplyAsync(()-> {
|
|
|
- try {
|
|
|
- operationFileStrategy(convergeTableList);
|
|
|
- } catch (Exception e) {
|
|
|
- throw new ServiceException("汇交失败,数据错误"+e);
|
|
|
- }
|
|
|
- return null;
|
|
|
- });
|
|
|
- future.handle((v,e)->{
|
|
|
+ future.handle((v,e)->{
|
|
|
log.info("汇交异步方法执行msg:{}",e.getMessage());
|
|
|
//更新状态
|
|
|
ConvergeUpdateVo updateVo = new ConvergeUpdateVo();
|
|
|
@@ -264,15 +266,9 @@ public class ConvergeServiceImpl implements ConvergeService {
|
|
|
log.info("汇交异步方法执行result:{}",v);
|
|
|
return v;
|
|
|
});
|
|
|
+ }
|
|
|
|
|
|
-// try {
|
|
|
-// operationFileStrategy(convergeTableList);
|
|
|
-// } catch (Exception e) {
|
|
|
-// throw new ServiceException("汇交失败,数据错误"+e);
|
|
|
-// }
|
|
|
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
|
|
|
/**
|