From 764e55ac4248578e4e0c0e973cfb74c7586092b6 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期五, 03 一月 2025 20:12:54 +0800
Subject: [PATCH] 泾川县人民医院调整

---
 src/main/java/com/example/utils/synczd/DictionaryUtilGanSuPingLiangXianRenMinYy.java |  379 ++++++++++++++++++++++++++++++++++
 src/main/java/com/example/constant/ApiParamsConstants.java                           |   32 ++
 src/main/java/com/example/service/gansu/pingliang/JingChuanXianRenMinHisService.java |  192 +++++++++++++++++
 3 files changed, 602 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/example/constant/ApiParamsConstants.java b/src/main/java/com/example/constant/ApiParamsConstants.java
index 4e41633..bc46641 100644
--- a/src/main/java/com/example/constant/ApiParamsConstants.java
+++ b/src/main/java/com/example/constant/ApiParamsConstants.java
@@ -101,7 +101,7 @@
     /**
      * 璐圭敤鎬ц川
      */
-    public static final String FEI_YONG_XINGZHI = "feiYongStatus";
+    public static final String FEI_YONG_XINGZHI = "feiYongXingZhi";
 
     /**
      * 绉戝鍚嶅瓧
@@ -147,6 +147,36 @@
     public static final String HOSPITAL = "hospital";
 
     /**
+     * 鏀惰垂澶х被缂栫爜
+     */
+    public static final String FEIYONG_DLBM = "feiYongDLBM";
+
+    /**
+     * 鏀惰垂缁嗙被缂栫爜
+     */
+    public static final String FEIYONG_XLBM = "feiYongXLBM";
+
+    /**
+     * 鏀惰垂鏄庣粏璐圭敤椤圭洰缂栫爜
+     */
+    public static final String FEIYONG_MXFYXMBM = "feiYongMXFYXMBM";
+
+    /**
+     * 璐圭敤鍖诲槺鍙风爜
+     */
+    public static final String FEIYONG_YZHM = "feiYongYZHM";
+
+    /**
+     * 璐圭敤鏄惁缁勫悎璐圭敤
+     */
+    public static final String FEIYONG_SFZHFY = "feiYongSFZHFY";
+
+    /**
+     * 璐圭敤缁勫悎璐圭敤缂栫爜
+     */
+    public static final String FEIYONG_ZHFYBM = "feiYongZHFYBM";
+
+    /**
      * 鍏叡鏌ヨkey
      */
     public static final String COMMON_QUERY_KEY = "commonQueryKey";
diff --git a/src/main/java/com/example/service/gansu/pingliang/JingChuanXianRenMinHisService.java b/src/main/java/com/example/service/gansu/pingliang/JingChuanXianRenMinHisService.java
new file mode 100644
index 0000000..3a5dfd1
--- /dev/null
+++ b/src/main/java/com/example/service/gansu/pingliang/JingChuanXianRenMinHisService.java
@@ -0,0 +1,192 @@
+package com.example.service.gansu.pingliang;
+
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.example.config.ConfigValue;
+import com.example.constant.ApiParamsConstants;
+import com.example.domain.HisSyncDict;
+import com.example.service.HisService;
+import com.example.utils.HttpClientUtils;
+import com.example.utils.synczd.DictionaryUtilGanSuPingLiangXianRenMinYy;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃
+ * @Author: zhaowenxuan
+ * @Date: 2025/1/2 21:35
+ */
+@Slf4j
+@Service("GanSuPingLiangJianChuanXianRenMin")
+public class JingChuanXianRenMinHisService implements HisService {
+
+    @Autowired
+    private DictionaryUtilGanSuPingLiangXianRenMinYy syncZd;
+
+    @Autowired
+    private ConfigValue configValue;
+
+    private final ApplicationContext applicationContext;
+
+    private final String HIS_URL;
+    private final String TJ_URL;
+
+    @Autowired
+    public JingChuanXianRenMinHisService(ApplicationContext applicationContext, ConfigValue configValue) {
+        this.applicationContext = applicationContext;
+        this.configValue = configValue;
+        HIS_URL = configValue.getConfigValue("GanSu_PingLiang_XianRenMen.lis_api_url") + ":" + configValue.getConfigValue("GanSu_PingLiang_XianRenMen.lis_api_port") + configValue.getConfigValue("GanSu_PingLiang_XianRenMen.lisapiappend");
+        TJ_URL = configValue.getConfigValue("GanSu_PingLiang_XianRenMen.tjUrl");
+    }
+    @Override
+    public String jianDang(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getBingRenXxByShengFenZheng(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String saveBingRenXx(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getListDaiShouFei(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String createMenZhenFy(Map<String, Object> map) {
+        JSONArray list = (JSONArray) map.get("feiYongInfoList");
+//        JSONArray array = JSONUtil.createArray();
+//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+//        String sqsj = format.format(new Date());
+//        for (Object o : list) {
+//            JSONObject entries = (JSONObject) o;
+//            JSONObject object = JSONUtil.createObj();
+//            object.putOpt("fbbm",entries.getStr(ApiParamsConstants.FEI_YONG_XINGZHI));
+//            object.putOpt("dlbm",entries.getStr(ApiParamsConstants.FEIYONG_DLBM));
+//            object.putOpt("xlbm",entries.getStr(ApiParamsConstants.FEIYONG_XLBM));
+//            object.putOpt("mxfyxmbm",entries.getStr(ApiParamsConstants.FEIYONG_MXFYXMBM));
+//            object.putOpt("czybm","");
+//            object.putOpt("sfrq",sqsj);
+//            object.putOpt("rybrid",entries.getStr(ApiParamsConstants.PATIONID));
+//            object.putOpt("ryghxh",entries.getStr(ApiParamsConstants.CARD_ID));
+//            object.putOpt("brxm",entries.getStr(ApiParamsConstants.CUS_NAME));
+//            object.putOpt("fysl",entries.getStr(ApiParamsConstants.));
+//            object.putOpt("fydj","");
+//            object.putOpt("fyje","");
+//            object.putOpt("mzys","");
+//            object.putOpt("mzks","");
+//            object.putOpt("hsks","");
+//            object.putOpt("zxks","");
+//            object.putOpt("yzlx","");
+//            object.putOpt("yzhm","");
+//            object.putOpt("tjbh","");
+//            object.putOpt("sfzhfy","");
+//            object.putOpt("zhfybh","");
+//            array.add(object);
+//        }
+        String post = HttpClientUtils.sendPost(HIS_URL+"/Tjinterface/postFymxList", JSONUtil.toJsonStr(list));
+
+
+        return "";
+    }
+
+    @Override
+    public String cheXiaoMzFy(Map<String, Object> map) {
+        JSONArray list = (JSONArray) map.get("list");
+        String post = HttpClientUtils.sendPost(HIS_URL+"/Tjinterface/postFymxList", JSONUtil.toJsonStr(list));
+
+        return "";
+    }
+
+    @Override
+    public String pushZhiFuMsg(String hospName, Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getKeShi(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getListYiShengZd(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getShouFeiXm(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getKeShiByConditions(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getYangBen(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getListBingQuZd(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getZhiGongPage(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getJianChaXm(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getJianYanXm(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getShouFeiXmJg(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getRongQi(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public String getJyYangBen(Map<String, Object> map) {
+        return "";
+    }
+
+    @Override
+    public void syncDict(String hospName) {
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("hosp","shanxiqinxamjyy");
+        String post = HttpClientUtils.sendPost(TJ_URL + "/callBack/getZdList", map);
+        JSONArray jsonArray = JSONUtil.parseObj(post).getJSONArray("data");
+        if (jsonArray != null && !jsonArray.isEmpty()) {
+            List<HisSyncDict> list = jsonArray.toList(HisSyncDict.class);
+            syncZd.exec(list);
+        }
+    }
+}
diff --git a/src/main/java/com/example/utils/synczd/DictionaryUtilGanSuPingLiangXianRenMinYy.java b/src/main/java/com/example/utils/synczd/DictionaryUtilGanSuPingLiangXianRenMinYy.java
new file mode 100644
index 0000000..7a34118
--- /dev/null
+++ b/src/main/java/com/example/utils/synczd/DictionaryUtilGanSuPingLiangXianRenMinYy.java
@@ -0,0 +1,379 @@
+package com.example.utils.synczd;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import com.example.config.ConfigValue;
+import com.example.domain.HisSyncDict;
+import com.example.mapper.HisSyncDictMapper;
+import com.example.service.HisSyncDictService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.sql.*;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃
+ * @Author: zhaowenxuan
+ * @Date: 2025/1/2 21:57
+ */
+@Slf4j
+@Component
+public class DictionaryUtilGanSuPingLiangXianRenMinYy {
+    @Autowired
+    private HisSyncDictService hisSyncDictService;
+    @Autowired
+    private ConfigValue configValue;
+    @Autowired
+    private HisSyncDictMapper hisSyncDictMapper;
+
+    private static String BASE_API_URL = "";
+    private static String USER = "";
+    private static String PASSWORD = "";
+    private static String URL = "";
+    private static String NAME = "";
+    @Value("${config.path}")
+    public void setConfigPath(String configPath) {
+        NAME = configValue.getConfigValue("GanSu_PingLiang_XianRenMen.name");
+        URL = "jdbc:mysql://" + configValue.getConfigValue("GanSu_PingLiang_XianRenMen.ip") + ":" + configValue.getConfigValue("GanSu_PingLiang_XianRenMen.prot") + "/" + NAME +
+                "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8";
+        USER = configValue.getConfigValue("GanSu_PingLiang_XianRenMen.username");
+        PASSWORD = configValue.getConfigValue("GanSu_PingLiang_XianRenMen.password");
+        String apiUrl = configValue.getConfigValue("GanSu_PingLiang_XianRenMen.his_api_url");
+        String apiPort = configValue.getConfigValue("GanSu_PingLiang_XianRenMen.his_api_port");
+        BASE_API_URL = apiUrl+":"+apiPort+configValue.getConfigValue("GanSu_PingLiang_XianRenMen.hisapiappend");
+    }
+
+
+    // 鍒嗛〉姣忔1000鏉�
+    static {
+        try {
+            Class.forName("com.mysql.cj.jdbc.Driver");
+        } catch (Exception e) {
+            System.out.println("闈欐�佷唬鐮佸潡寮傚父 ->"+e.getMessage());
+        }
+    }
+
+    /**
+     * 杩涜鍚屾
+     */
+    public void exec(List<HisSyncDict> hisSyncDicts){
+        log.info("寮�濮嬫墽琛屽悓姝�");
+        Connection connection = getConnection();
+        if (connection == null)
+            return;
+        for (HisSyncDict hisSyncDict : hisSyncDicts) {
+            hisSyncDict.setDictName(hisSyncDict.getHospId()+"_"+hisSyncDict.getDictName());
+            extracted(NAME, connection, hisSyncDict);
+        }
+        try {
+            connection.close();
+        } catch (SQLException ignored) { }
+        hisSyncDictMapper.proSyncCommonDict();
+        log.info("鎵ц鍚屾瀹屾瘯");
+    }
+
+    private void extracted(String name, Connection connection, HisSyncDict hisSyncDict) {
+        String method = hisSyncDict.getDictName();
+        log.info("寮�濮嬭姹備唬鐮� ->{}", method);
+        String tabName = "ltkj_" + method.toLowerCase();
+        JSONObject object = JSONUtil.createObj();
+        log.info("璇锋眰鎺ュ彛 ->{}, 璇锋眰鍙傛暟 ->{}", BASE_API_URL+hisSyncDict.getUrl(), object);
+        JSONObject entries = execRequest(object.toString(),hisSyncDict);
+        log.info("璇锋眰杩斿洖 ->{}", entries.toString());
+        if ("1".equals(entries.getStr("code"))) {
+            Object returnData = entries.get("data");
+            if (returnData instanceof JSONObject){
+                JSONObject response = entries.getJSONObject("data");
+                try {
+                    dropTable(tabName, connection);
+                } catch (SQLException e) {
+                    log.error("鍒犻櫎琛ㄥ紓甯� ->{}", e.getMessage());
+                }
+                editDataBase(connection, tabName, response, name);
+            }else {
+                JSONArray response = entries.getJSONArray("data");
+                try {
+                    dropTable(tabName, connection);
+                    List<JSONObject> list = JSONUtil.toList(response, JSONObject.class);
+                    for (JSONObject jsonObject : list) {
+                        editDataBase(connection, tabName, jsonObject, name);
+                    }
+                } catch (SQLException e) {
+                    log.error("鍒犻櫎琛ㄥ紓甯� ->{}", e.getMessage());
+                }
+            }
+        }
+    }
+
+    /**
+     * 閽堝浜庡垎椤垫帴鍙� 鍒涘缓琛ㄣ�佹彃鍏ユ暟鎹�
+     *
+     * @param connection
+     * @param tabName
+     * @param response
+     * @return
+     */
+    private int LimitInsertData(Connection connection, String tabName, JSONObject response,String name,Integer page) {
+        JSONArray jsonArray = response.getJSONArray("list");
+        JSONObject entries = (JSONObject) jsonArray.get(0);
+        int maxPage;
+        // 琛屾暟 鏁版嵁杩斿洖鐨勭鍑犺
+        Integer rowNumber = response.getInt("RowNumber");
+        // 鎬绘潯鏁�
+        Integer totalCount = response.getInt("totalRows");
+        Integer pageCount = response.getInt("pageCount");
+        maxPage = (totalCount + 100 - 1) / 100;
+        log.info("璇锋眰杩斿洖鎬绘潯鏁� ->{},褰撳墠椤� ->{},鎬婚〉鏁� ->{}",totalCount,page,maxPage);
+        jsonArray.forEach(obj -> {
+            editDataBase(connection, tabName, (JSONObject) obj,name);
+        });
+        return pageCount;
+    }
+
+    /**
+     * 鎿嶄綔鏁版嵁搴�
+     *
+     * @param connection
+     * @param tabName
+     * @param obj
+     */
+    private void editDataBase(Connection connection, String tabName, JSONObject obj,String name) {
+        try {
+            if (!tabIsExists(connection, tabName,name)) {
+                // 鍒涘缓琛�
+                creatTable(obj, tabName, connection);
+            }
+        } catch (SQLException throwables) {
+            log.error("鍒涘缓琛ㄥ紓甯�");
+            log.error(throwables.getSQLState());
+            log.error(throwables.getMessage());
+        }
+        // 瀵规瘮瀛楁 骞舵彃鍏ユ暟鎹�
+        try {
+            operationTable(obj, tabName, connection);
+        } catch (SQLException e) {
+            log.error("瀵规瘮瀛楁鎻掑叆鏁版嵁寮傚父");
+            log.error(e.getSQLState());
+            log.error(e.getMessage());
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 鎵цpost璇锋眰
+     *
+     * @param params 璇锋眰鍙傛暟 渚嬪锛� param1=val1&param2=val2
+     * @return 璇锋眰杩斿洖鐨刯son杞崲鍚庣殑JSONObject瀵硅薄
+     */
+    private JSONObject execRequest(String params,HisSyncDict hisSyncDict) {
+        java.net.URL url = null;
+        HttpURLConnection connection = null;
+        OutputStreamWriter writer = null;
+        BufferedReader reader = null;
+        StringBuilder response = new StringBuilder();
+        try {
+            url = new URL(BASE_API_URL+hisSyncDict.getUrl());
+            connection = (HttpURLConnection) url.openConnection();
+            connection.setRequestMethod("POST");
+            connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
+            log.info("璇锋眰鎺ュ彛 ->{}", hisSyncDict.getUrl());
+            connection.setDoOutput(true);
+            StringBuilder postData = new StringBuilder();
+            JSONObject jsonObject = JSONUtil.parseObj(params);
+            for (String key : jsonObject.keySet()) {
+                if (postData.length() > 0) {
+                    postData.append("&");
+                }
+                String encode = URLEncoder.encode(key, "UTF-8");
+                String encode1 = URLEncoder.encode(String.valueOf(jsonObject.get(key)), "UTF-8");
+                postData.append(encode).append("=").append(encode1);
+            }
+
+            writer = new OutputStreamWriter(connection.getOutputStream());
+            writer.write(postData.toString());
+            writer.flush();
+            reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+            String line;
+            while ((line = reader.readLine()) != null) {
+                response.append(line);
+            }
+            return JSONUtil.parseObj(response);
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            if (connection != null) {
+                connection.disconnect();
+            }
+        }
+        return null;
+    }
+
+    public Connection getConnection() {
+        try {
+            log.info("鏁版嵁搴撲俊鎭� ->{},{},{}",USER,PASSWORD,URL);
+            return DriverManager.getConnection(URL,USER,PASSWORD);
+        } catch (Exception throwables) {
+            log.error("鑾峰彇sql杩炴帴澶辫触");
+            throwables.printStackTrace();
+        }
+        return null;
+    }
+
+    /**
+     * 琛ㄦ槸鍚﹀瓨鍦�
+     *
+     * @param connection
+     * @param tableName
+     * @return
+     * @throws SQLException
+     */
+    private Boolean tabIsExists(Connection connection, String tableName,String name) throws SQLException {
+        String tabSql = "SELECT table_name FROM information_schema.tables WHERE table_schema = ? AND table_name = ?";
+        PreparedStatement statement = connection.prepareStatement(tabSql);
+        statement.setString(1, name);
+        statement.setString(2, tableName);
+//        log.info("鍒ゆ柇琛ㄦ槸鍚﹀瓨鍦� sql-> {}", statement.toString());
+        ResultSet resultSet = statement.executeQuery();
+        boolean next = resultSet.next();
+        statement.close();
+        return next;
+    }
+
+    /**
+     * 鎿嶄綔琛�
+     *
+     * @param tabName
+     * @param connection
+     * @throws SQLException
+     */
+    private void operationTable(JSONObject jsonObject, String tabName, Connection connection) throws SQLException {
+        List<String> columns = getColumns(tabName, connection);
+//        log.info("褰撳墠琛ㄥ瓧娈典负 ->{}", columns);
+        ArrayList<String> responseColums = new ArrayList<>();
+        for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
+            String key = entry.getKey().trim().toLowerCase();
+            responseColums.add(key);
+        }
+//        log.info("璇锋眰杩斿洖鐨勫瓧娈典负 ->{}", responseColums);
+        responseColums.removeAll(columns);
+//        log.info("闇�瑕佸鍔犵殑瀛楁 ->{}",responseColums);
+        if (!responseColums.isEmpty()) {
+            // 闇�瑕佸鍔犲瓧娈� 骞舵彃鍏ユ暟鎹�
+            for (String colum : responseColums) {
+                String sql = "alter table " + tabName + " add column " + colum + " VARCHAR(200) null";
+//                log.info("淇敼瀛楁 ->{}",sql.toString());
+                Statement statement = connection.createStatement();
+                statement.executeUpdate(sql);
+                statement.close();
+            }
+            insertData(tabName, connection, jsonObject);
+        } else {
+            insertData(tabName, connection, jsonObject);
+        }
+    }
+
+    /**
+     * 鎻掑叆鏁版嵁
+     *
+     * @param tabName
+     * @param connection
+     * @param jsonObject
+     * @throws SQLException
+     */
+    private void insertData(String tabName, Connection connection, JSONObject jsonObject) throws SQLException {
+        // 鎻掑叆鏁版嵁鍓� 鍏堟煡璇㈡暟鎹槸鍚﹀瓨鍦�
+        StringBuilder insertSqlBuilder = new StringBuilder();
+        StringBuilder valueBuilder = new StringBuilder();
+        insertSqlBuilder.append("insert into ").append(tabName).append(" (");
+        for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
+            String defaultVal = entry.getValue().toString();
+            String key = entry.getKey().trim().toLowerCase();
+            if (StrUtil.isBlank(defaultVal) || defaultVal.equals("null"))
+                continue;
+            String val = defaultVal.trim().replaceAll("\\s+", "").replace("\\","");
+            insertSqlBuilder.append(key).append(", ");
+            valueBuilder.append("'").append(val.replaceAll("'","鈥�")).append("', ");
+        }
+        insertSqlBuilder.append("insert_time, ");
+        String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
+        valueBuilder.append("'").append(time).append("'").append(", ");
+        insertSqlBuilder.delete(insertSqlBuilder.length() - 2, insertSqlBuilder.length());
+        valueBuilder.delete(valueBuilder.length() - 2, valueBuilder.length());
+        insertSqlBuilder.append(") values (").append(valueBuilder).append(")");
+        // 鎻掑叆鏁版嵁
+        Statement statement = connection.createStatement();
+        log.info("鎻掑叆鏁版嵁 sql-> {}", insertSqlBuilder.toString());
+        statement.execute(insertSqlBuilder.toString());
+        statement.close();
+    }
+
+    /**
+     * 鑾峰彇琛ㄧ殑鍒�
+     *
+     * @param tabName
+     * @param connection
+     * @return
+     * @throws SQLException
+     */
+    private List<String> getColumns(String tabName, Connection connection) throws SQLException {
+        DatabaseMetaData metaData = connection.getMetaData();
+        ResultSet columns = metaData.getColumns(null, null, tabName, null);
+        ArrayList<String> tabColumns = new ArrayList<>();
+        while (columns.next()) {
+            String columnName = columns.getString("column_name");
+            tabColumns.add(columnName);
+        }
+        return tabColumns;
+    }
+
+    /**
+     * 鍒涘缓琛�
+     *
+     * @param resultDataIndex1 杩斿洖鏁版嵁涓殑绗竴涓弬鏁�
+     * @param tabName
+     * @param connection
+     * @throws SQLException
+     */
+    private void creatTable(JSONObject resultDataIndex1, String tabName, Connection connection) throws SQLException {
+        StringBuilder sql = new StringBuilder("CREATE TABLE " + tabName + " (");
+        for (Map.Entry<String, Object> entry : resultDataIndex1.entrySet()) {
+            String key = entry.getKey().trim().toLowerCase();
+            sql.append(key).append(" VARCHAR(200) null,");
+        }
+        sql.append("insert_time").append(" VARCHAR(100) null,");
+        sql = new StringBuilder(sql.substring(0, sql.length() - 1));
+        sql.append(");");
+        log.info("鍒涘缓琛ㄦ牸 -> {}",sql.toString());
+        Statement statement = connection.createStatement();
+        statement.execute(sql.toString());
+    }
+
+    /**
+     * 鍒犻櫎琛�
+     * @param tabName
+     * @param connection
+     * @throws SQLException
+     */
+    private void dropTable(String tabName,Connection connection) throws SQLException {
+        String sql = "DROP TABLE IF EXISTS " + tabName;
+        Statement statement = connection.createStatement();
+        statement.executeUpdate(sql);
+        statement.close();
+    }
+}

--
Gitblit v1.8.0