Explorar o código

优化日志信息

chenendian hai 1 mes
pai
achega
0943589201

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

@@ -163,6 +163,7 @@ public class ConvergeServiceImpl implements ConvergeService {
 
     /**
      *
+     * 不动产汇交数据生成主逻辑
      *
      * 1.表名
      * 2.调查登记标识。
@@ -172,6 +173,7 @@ public class ConvergeServiceImpl implements ConvergeService {
      * 6.批量传递,分2次查询。一次一张表。
      * 7.采用各自判断,多查一次。
      * 二次if()else
+     * (1.日志补全。2.林权测试。3.过滤vildFlag.4.补全其他表。5.根据不同表,不动产代码进行条件传递判断。6.宗地代码根据名称区分)
      *
      *
      *
@@ -186,7 +188,7 @@ public class ConvergeServiceImpl implements ConvergeService {
             throw new ServiceException("汇交入参,类型错误"+type);
         }
         if (StringUtils.isBlank(batch)) {
-            batch = DateUtils.dateTimeNow(DateUtils.YYYYMMDDHH);
+            batch = DateUtils.dateTimeNow(DateUtils.YYYYMMDDHHMMSS);
             //batch = "123";
         }
         Converge converge = new Converge();
@@ -286,7 +288,7 @@ public class ConvergeServiceImpl implements ConvergeService {
                                     subConvergeTableList.add(convergeResTmp);
 
                                     for(String tableName : Constant.ZD_GEOM_TABLE_LIST){
-                                        //这里处理所有属性数据(实现一个方法,把)遍历循环
+                                        //这里处理所有关联数据(实现一个方法)遍历循环,获取到数据后,进行封装ConvergeRes对象,放到currentTypeConvergeTableList中
                                         ConvergeRes otherTableConvergeResTmp = getOtherTableDataList(tableName, convergeResTmp);
                                         if(Objects.nonNull(otherTableConvergeResTmp)){
                                             currentTypeConvergeTableList.add(otherTableConvergeResTmp);
@@ -325,7 +327,11 @@ public class ConvergeServiceImpl implements ConvergeService {
                                             currentTypeConvergeTableList.add(otherTableConvergeResTmp);
                                         }
                                     }
-                                }finally {
+                                }catch (Exception e){
+                                    e.printStackTrace();
+                                    throw new ServiceException("衍生数据查询失败");
+                                }
+                                finally {
                                     log.info("----------------宅基地使用权和房屋所有权/02已调查已登记 处理end。。。。。");
                                 }
                             }//end if 已调查已经登记
@@ -450,6 +456,9 @@ public class ConvergeServiceImpl implements ConvergeService {
                                             currentTypeConvergeTableList.add(otherTableConvergeResTmp);
                                         }
                                     }
+                                }catch (Exception e){
+                                    e.printStackTrace();
+                                    throw new ServiceException("衍生数据查询失败");
                                 }finally {
                                     log.info("----------------5集体建设用地使用权和房屋所有权/02已调查已登记 处理end。。。。。");
                                 }
@@ -473,6 +482,9 @@ public class ConvergeServiceImpl implements ConvergeService {
                                             currentTypeConvergeTableList.add(otherTableConvergeResTmp);
                                         }
                                     }
+                                }catch (Exception e){
+                                    e.printStackTrace();
+                                    throw new ServiceException("衍生数据查询失败");
                                 }finally {
                                     log.info("----------------宅基地使用权和房屋所有权/01已调查已登记处理end。。。。。");
                                 }
@@ -503,6 +515,9 @@ public class ConvergeServiceImpl implements ConvergeService {
                                             currentTypeConvergeTableList.add(otherTableConvergeResTmp);
                                         }
                                     }
+                                }catch (Exception e){
+                                    e.printStackTrace();
+                                    throw new ServiceException("衍生数据查询失败");
                                 }finally {
                                     log.info("----------------宅基地使用权和房屋所有权/01已调查已登记处理end。。。。。");
                                 }
@@ -572,6 +587,9 @@ public class ConvergeServiceImpl implements ConvergeService {
                                             currentTypeConvergeTableList.add(otherTableConvergeResTmp);
                                         }
                                     }
+                                }catch (Exception e){
+                                    e.printStackTrace();
+                                    throw new ServiceException("衍生数据查询失败");
                                 }finally {
                                     log.info("----------------宅基地使用权和房屋所有权/02已调查已登记 处理end。。。。。");
                                 }
@@ -596,6 +614,9 @@ public class ConvergeServiceImpl implements ConvergeService {
                                             currentTypeConvergeTableList.add(otherTableConvergeResTmp);
                                         }
                                     }
+                                }catch (Exception e){
+                                    e.printStackTrace();
+                                    throw new ServiceException("衍生数据查询失败");
                                 }finally {
                                     log.info("----------------6国有建设用地使用权和房屋所有权/01已调查已登记处理end。。。。。");
                                 }
@@ -626,6 +647,9 @@ public class ConvergeServiceImpl implements ConvergeService {
                                             currentTypeConvergeTableList.add(otherTableConvergeResTmp);
                                         }
                                     }
+                                }catch (Exception e){
+                                    e.printStackTrace();
+                                    throw new ServiceException("衍生数据查询失败");
                                 }finally {
                                     log.info("----------------6国有建设用地使用权和房屋所有权/01已调查已登记处理end。。。。。");
                                 }
@@ -930,9 +954,12 @@ public class ConvergeServiceImpl implements ConvergeService {
         }
     }
 
-
-    //todo 需要查询当前表结构,根据表字段,确定是否有validFlag字段,还要确定,是通过,bdcdyh 或者 zddm 进行的查询
-    // dataType 1 矢量数据,2属性数据 dataStatus 1 已调查已登记,2 已调查未登记
+    /**
+     * 根据传入的表名称和参数,查询当前表数据,并封装成ConvergeRes返回
+     * @param tableName
+     * @param convergeRes
+     * @return
+     */
     public ConvergeRes getOtherTableDataList(String tableName , ConvergeRes convergeRes)  {
         ConvergeRes resultConvergeRes = null;
         List<Map<String, Object>> paramDataList = convergeRes.getDataList();

+ 21 - 2
siwei-modules/siwei-apply/src/main/java/com/siwei/apply/utils/MdbUtil.java

@@ -9,6 +9,7 @@ import org.slf4j.LoggerFactory;
 import java.io.File;
 import java.sql.*;
 import java.util.*;
+import java.util.Base64;
 
 /**
  * 资源码工具
@@ -102,7 +103,21 @@ public class MdbUtil {
                             // 处理特殊类型,如 geometry 存为文本
                             if (value.toString().contains("SRID")) {
                                 pstmt.setObject(i + 1, value.toString());
-                            } else {
+                            } else if (pgType.toLowerCase().contains("bytea")) {
+                                // bytea类型需要特殊处理,转换为Base64字符串
+                                if (value instanceof byte[]) {
+                                    byte[] bytes = (byte[]) value;
+                                    pstmt.setObject(i + 1, Base64.getEncoder().encodeToString(bytes));
+                                } else if (value instanceof Byte[]) {
+                                    Byte[] byteObjects = (Byte[]) value;
+                                    byte[] bytes = new byte[byteObjects.length];
+                                    for (int b = 0; b < byteObjects.length; b++) {
+                                        bytes[b] = byteObjects[b];
+                                    }
+                                    pstmt.setObject(i + 1, Base64.getEncoder().encodeToString(bytes));
+                                } else {
+                                    pstmt.setObject(i + 1, value.toString());
+                                }
                                 // 如果是数值类型,且值是字符串(可能是空字符串),尝试转换
                                 String mdbType = mapPostgresToMdbType(pgType);
                                 if (("INTEGER".equals(mdbType) || "DOUBLE".equals(mdbType)) && value instanceof String) {
@@ -152,7 +167,9 @@ public class MdbUtil {
         } else if (pgType.contains("date") || pgType.contains("time")) {
             return "DATETIME";
         } else if (pgType.contains("geometry")) {
-            return "MEMO"; // 空间数据存为长文本
+            return "MEMO";
+        } else if (pgType.contains("bytea") || pgType.contains("byte")) {
+            return "MEMO";
         }
         return "TEXT(255)";
     }
@@ -170,6 +187,8 @@ public class MdbUtil {
             return java.sql.Types.TIMESTAMP;
         } else if (pgType.contains("geometry")) {
             return java.sql.Types.CLOB;
+        } else if (pgType.contains("bytea") || pgType.contains("byte")) {
+            return java.sql.Types.VARCHAR;
         }
         return java.sql.Types.VARCHAR;
     }