chenendian 4 dienas atpakaļ
vecāks
revīzija
2106786267

+ 0 - 7
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/cadastre/impl/CadastreManageServiceImpl.java

@@ -18,7 +18,6 @@ import com.siwei.apply.utils.FileExtractUtil;
 import com.siwei.apply.utils.MdbUtil;
 import com.siwei.apply.utils.MdbUtil;
 import com.siwei.common.core.exception.ServiceException;
 import com.siwei.common.core.exception.ServiceException;
 import com.siwei.common.core.utils.DateUtils;
 import com.siwei.common.core.utils.DateUtils;
-import com.siwei.common.core.utils.bean.BeanUtils;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.collections4.MapUtils;
@@ -39,7 +38,6 @@ import java.io.File;
 import java.nio.file.Files;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.nio.file.Paths;
-import java.time.LocalDateTime;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import java.util.stream.Stream;
@@ -64,17 +62,12 @@ public class CadastreManageServiceImpl implements CadastreManageService {
     @Autowired
     @Autowired
     private FzssFxrwrzHandleService fzssFxrwrzHandleService;
     private FzssFxrwrzHandleService fzssFxrwrzHandleService;
 
 
-    @Autowired
-    private FzssFxrwrzMapper fzssFxrwrzMapper;
-
     @Autowired
     @Autowired
     private ZdjbxxMapper zdjbxxMapper;
     private ZdjbxxMapper zdjbxxMapper;
 
 
     @Autowired
     @Autowired
     private ZdbhqkMapper zdbhqkMapper;
     private ZdbhqkMapper zdbhqkMapper;
 
 
-
-
     /**
     /**
      * 解压文件并且根据情况进行拆分或合并的处理
      * 解压文件并且根据情况进行拆分或合并的处理
      * @param
      * @param

+ 28 - 6
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/service/impl/ConvergeServiceImpl.java

@@ -1,5 +1,6 @@
 package com.siwei.apply.service.impl;
 package com.siwei.apply.service.impl;
 
 
+import com.siwei.apply.common.Common;
 import com.siwei.apply.common.Constant;
 import com.siwei.apply.common.Constant;
 import com.siwei.apply.domain.Converge;
 import com.siwei.apply.domain.Converge;
 import com.siwei.apply.domain.res.ConvergeRes;
 import com.siwei.apply.domain.res.ConvergeRes;
@@ -74,6 +75,8 @@ import static com.siwei.apply.common.Constant.ZD_PROPERTY_TABLE_LIST;
 @Service
 @Service
 public class ConvergeServiceImpl implements ConvergeService {
 public class ConvergeServiceImpl implements ConvergeService {
 
 
+    private static final ThreadLocal<String> CURRENT_SCHEMA_NAME = new ThreadLocal<>();
+
     ///home/siwei/uploadPath/converge/
     ///home/siwei/uploadPath/converge/
     @Value("${converge_dir}")
     @Value("${converge_dir}")
     private String convergedir;
     private String convergedir;
@@ -241,6 +244,18 @@ public class ConvergeServiceImpl implements ConvergeService {
             log.warn("类型错误:"+type);
             log.warn("类型错误:"+type);
             throw new ServiceException("汇交入参,类型错误"+type);
             throw new ServiceException("汇交入参,类型错误"+type);
         }
         }
+
+        String schemaName = "";
+        if(type.equals("2")){
+            schemaName = Common.DB_SCHEMA_NAME_NATURAL;
+        }else if(type.equals("1")){
+            schemaName = Common.DB_SCHEMA_NAME_VECTOR;
+        }
+        CURRENT_SCHEMA_NAME.set(schemaName);
+
+        // 且每次调用都需要执行相同的逻辑,
+        // 那么可以考虑将这个逻辑提取出来,封装成一个独立的方法B,然后在A方法中调用B方法。这样可以提高代码的复用性和可维护性。
+
         if (StringUtils.isBlank(batch)) {
         if (StringUtils.isBlank(batch)) {
             batch = DateUtils.dateTimeNow(DateUtils.YYYYMMDDHHMMSS);
             batch = DateUtils.dateTimeNow(DateUtils.YYYYMMDDHHMMSS);
             //batch = "123";
             //batch = "123";
@@ -265,13 +280,16 @@ public class ConvergeServiceImpl implements ConvergeService {
          //这里进行数据汇交(异步执行)
          //这里进行数据汇交(异步执行)
         ExecutorService executor = Executors.newSingleThreadExecutor();
         ExecutorService executor = Executors.newSingleThreadExecutor();
         CompletableFuture<Object> future = CompletableFuture.supplyAsync(()-> {
         CompletableFuture<Object> future = CompletableFuture.supplyAsync(()-> {
+
+
             //-------------------------------------------------
             //-------------------------------------------------
             List<ConvergeRes> convergeTableList = new ArrayList<>();
             List<ConvergeRes> convergeTableList = new ArrayList<>();
             Arrays.stream(ConvergeTableEnum.values()).forEach(e -> {
             Arrays.stream(ConvergeTableEnum.values()).forEach(e -> {
                 String tableName = e.getTableName();
                 String tableName = e.getTableName();
                 List<Map<String,Object>> tableDataList = cadastreFileMapper.selectTableData("","",tableName);
                 List<Map<String,Object>> tableDataList = cadastreFileMapper.selectTableData("","",tableName);
                 if(CollectionUtils.isNotEmpty(tableDataList)){
                 if(CollectionUtils.isNotEmpty(tableDataList)){
-                    List<Map<String,String>> tableFieldList = cadastreFileMapper.selectTableCollumAndType(tableName);
+                    String currentSchemaName = CURRENT_SCHEMA_NAME.get(); //获取当前线程的schemaName
+                    List<Map<String,String>> tableFieldList = cadastreFileMapper.selectTableCollumAndType(currentSchemaName,tableName);
                     int convergeType = 2;
                     int convergeType = 2;
                     //如果当前表存在geom 字段,视同为矢量
                     //如果当前表存在geom 字段,视同为矢量
                     if(tableFieldList.stream().anyMatch(s->s.get("column_name").equals("geom"))){
                     if(tableFieldList.stream().anyMatch(s->s.get("column_name").equals("geom"))){
@@ -374,7 +392,7 @@ public class ConvergeServiceImpl implements ConvergeService {
                                     convergeResTmp.setType(2);
                                     convergeResTmp.setType(2);
                                     subConvergeTableList.add(convergeResTmp);
                                     subConvergeTableList.add(convergeResTmp);
 
 
-                                    for(String tableName : Constant.ZD_PROPERTY_TABLE_LIST){
+                                    for(String tableName : ZD_PROPERTY_TABLE_LIST){
                                         //这里处理所有属性数据(实现一个方法,把)遍历循环
                                         //这里处理所有属性数据(实现一个方法,把)遍历循环
                                         ConvergeRes otherTableConvergeResTmp = getOtherTableDataList(tableName, convergeResTmp);
                                         ConvergeRes otherTableConvergeResTmp = getOtherTableDataList(tableName, convergeResTmp);
                                         if(Objects.nonNull(otherTableConvergeResTmp)){
                                         if(Objects.nonNull(otherTableConvergeResTmp)){
@@ -503,7 +521,7 @@ public class ConvergeServiceImpl implements ConvergeService {
                                     convergeResTmp.setType(2);
                                     convergeResTmp.setType(2);
                                     subConvergeTableList.add(convergeResTmp);
                                     subConvergeTableList.add(convergeResTmp);
 
 
-                                    for(String tableName : Constant.ZD_PROPERTY_TABLE_LIST){
+                                    for(String tableName : ZD_PROPERTY_TABLE_LIST){
                                         //这里处理所有属性数据(实现一个方法,把)遍历循环
                                         //这里处理所有属性数据(实现一个方法,把)遍历循环
                                         ConvergeRes otherTableConvergeResTmp = getOtherTableDataList(tableName, convergeResTmp);
                                         ConvergeRes otherTableConvergeResTmp = getOtherTableDataList(tableName, convergeResTmp);
                                         if(Objects.nonNull(otherTableConvergeResTmp)){
                                         if(Objects.nonNull(otherTableConvergeResTmp)){
@@ -634,7 +652,7 @@ public class ConvergeServiceImpl implements ConvergeService {
                                     convergeResTmp.setType(2);
                                     convergeResTmp.setType(2);
                                     subConvergeTableList.add(convergeResTmp);
                                     subConvergeTableList.add(convergeResTmp);
 
 
-                                    for(String tableName : Constant.ZD_PROPERTY_TABLE_LIST){
+                                    for(String tableName : ZD_PROPERTY_TABLE_LIST){
                                         //这里处理所有属性数据(实现一个方法,把)遍历循环
                                         //这里处理所有属性数据(实现一个方法,把)遍历循环
                                         ConvergeRes otherTableConvergeResTmp = getOtherTableDataList(tableName, convergeResTmp);
                                         ConvergeRes otherTableConvergeResTmp = getOtherTableDataList(tableName, convergeResTmp);
                                         if(Objects.nonNull(otherTableConvergeResTmp)){
                                         if(Objects.nonNull(otherTableConvergeResTmp)){
@@ -970,7 +988,7 @@ public class ConvergeServiceImpl implements ConvergeService {
         } else if (dataType.contains("numeric") || dataType.contains("decimal") || dataType.contains("double") || dataType.contains("float") || dataType.contains("real")) {
         } else if (dataType.contains("numeric") || dataType.contains("decimal") || dataType.contains("double") || dataType.contains("float") || dataType.contains("real")) {
             return Double.class;
             return Double.class;
         } else if (dataType.contains("date") || dataType.contains("time")) {
         } else if (dataType.contains("date") || dataType.contains("time")) {
-            return java.util.Date.class;
+            return Date.class;
         } else if (dataType.contains("boolean")) {
         } else if (dataType.contains("boolean")) {
             return Boolean.class;
             return Boolean.class;
         }
         }
@@ -1024,6 +1042,8 @@ public class ConvergeServiceImpl implements ConvergeService {
      */
      */
     public ConvergeRes getOtherTableDataList(String tableName , ConvergeRes convergeRes)  {
     public ConvergeRes getOtherTableDataList(String tableName , ConvergeRes convergeRes)  {
         ConvergeRes resultConvergeRes = null;
         ConvergeRes resultConvergeRes = null;
+        //获取当前schema
+        String schemaName = CURRENT_SCHEMA_NAME.get();
         List<Map<String, Object>> paramDataList = convergeRes.getDataList();
         List<Map<String, Object>> paramDataList = convergeRes.getDataList();
         List<String> zddmList = paramDataList.stream().map(s->s.get("zddm")).filter(Objects::nonNull).map(String::valueOf).collect(Collectors.toList());
         List<String> zddmList = paramDataList.stream().map(s->s.get("zddm")).filter(Objects::nonNull).map(String::valueOf).collect(Collectors.toList());
         List<String> bdcdyhList = paramDataList.stream().map(s->s.get("bdcdyh")).filter(Objects::nonNull).map(String::valueOf).collect(Collectors.toList());
         List<String> bdcdyhList = paramDataList.stream().map(s->s.get("bdcdyh")).filter(Objects::nonNull).map(String::valueOf).collect(Collectors.toList());
@@ -1041,7 +1061,7 @@ public class ConvergeServiceImpl implements ConvergeService {
         List<Map<String, Object>> dataList = cadastreFileMapper.selectTableDataByZDDMorBDCDYH("",tableName,zddmList,zddmKey,bdcdyhList);
         List<Map<String, Object>> dataList = cadastreFileMapper.selectTableDataByZDDMorBDCDYH("",tableName,zddmList,zddmKey,bdcdyhList);
         log.info("查询当前表-》{} 数据结果: {}", tableName, CollectionUtils.isEmpty(dataList) ? "无数据" : dataList.size() + " 条数据");
         log.info("查询当前表-》{} 数据结果: {}", tableName, CollectionUtils.isEmpty(dataList) ? "无数据" : dataList.size() + " 条数据");
         if(CollectionUtils.isNotEmpty(dataList)){
         if(CollectionUtils.isNotEmpty(dataList)){
-            List<Map<String,String>> tableFieldList = cadastreFileMapper.selectTableCollumAndType(tableName);
+            List<Map<String,String>> tableFieldList = cadastreFileMapper.selectTableCollumAndType(schemaName,tableName);
             resultConvergeRes = new ConvergeRes();
             resultConvergeRes = new ConvergeRes();
             resultConvergeRes.setType(convergeRes.getType());
             resultConvergeRes.setType(convergeRes.getType());
             resultConvergeRes.setFilePath(convergeRes.getFilePath());
             resultConvergeRes.setFilePath(convergeRes.getFilePath());
@@ -1057,4 +1077,6 @@ public class ConvergeServiceImpl implements ConvergeService {
 
 
 
 
 
 
+
+
 }
 }