Quellcode durchsuchen

更新门诊和住院数据入库

0027005599 vor 2 Jahren
Ursprung
Commit
8ff6de1b82

+ 27 - 2
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/medical/afterwaring/XCFYDataTransferService.java

@@ -111,8 +111,7 @@ public class XCFYDataTransferService {
             try {
                 localNamedParameterJdbcTemplate.batchUpdate(insertSql, batchArgs.toArray(new MapSqlParameterSource[batchArgs.size()]));
             }catch (Exception e){
-                log.error("insert sql:{}", insertSql);
-                log.error("dataArr:{}", dataList);
+                getNonColumnMap(insertSql, dataList);
                 throw e;
             }
         }
@@ -120,6 +119,32 @@ public class XCFYDataTransferService {
     }
 
 
+
+    public List<String> getColumnArr(String sql){
+        int startIndx = sql.indexOf("(");
+        int endIndx = sql.indexOf(")");
+        String sqlCloumnStr = sql.substring(startIndx, endIndx);
+        String[] columnStrArr = sqlCloumnStr.split(Constant.SPLIT_STR);
+        List<String> columnList = new ArrayList<>();
+        for(String columnName : columnStrArr){
+            columnList.add(columnName.trim());
+        }
+        return columnList;
+    }
+
+    public void getNonColumnMap(String sql, List<Map<String,Object>> dataList){
+        List<String> columnList = getColumnArr(sql);
+        for(Map<String,Object> dataMap : dataList){
+            for(String columnName : columnList){
+                if(!dataMap.containsKey(columnName)){
+                    log.error("columnName:{} errordata:{}", columnName, dataMap);
+                    break;
+                }
+            }
+        }
+    }
+
+
     /**
      * 同步对应hisid检查列表
      *