From e460e434fe3975a4ae33466710d8292245ad8e07 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 19 六月 2025 18:09:33 +0800 Subject: [PATCH] 2025-06-19 --- src/main/java/com/example/utils/DictionaryUtil.java | 102 +++++++++++++++++++++++++++++--------------------- 1 files changed, 59 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/example/utils/DictionaryUtil.java b/src/main/java/com/example/utils/DictionaryUtil.java index c3f4269..6d7521c 100644 --- a/src/main/java/com/example/utils/DictionaryUtil.java +++ b/src/main/java/com/example/utils/DictionaryUtil.java @@ -1,11 +1,10 @@ package com.example.utils; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import lombok.extern.slf4j.Slf4j; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.io.*; @@ -25,9 +24,9 @@ @Slf4j @Component public class DictionaryUtil { - private static final String CONFIG_PATH = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkj_peis_sjpt/src/main/resources/config.properties"; +// private static final String CONFIG_PATH = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkj_peis_sjpt/src/main/resources/config.properties"; // private static final String CONFIG_PATH = "/Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkj_peis_sjpt/src/main/resources/ltkj.properties"; -// private static final String CONFIG_PATH = "D:\\ltkjprojectconf\\config.properties"; + private static final String CONFIG_PATH = "D:\\ltkjprojectconf\\config.properties"; private static String BASE_API_URL = ""; // 璇锋眰浠g爜鎬婚泦鍚� private static List<String> methods = new ArrayList<>(); @@ -36,7 +35,6 @@ /** * 鏆傛椂涓嶅仛 - * 1.18 璁¤垂鏄庣粏椤圭洰 MXJFXMZD * 1.90 闂ㄨ瘖鏄庣粏璁¤垂鍙婄粍鍚堣璐归」鐩� MZJFZHMXXM * */ @@ -110,6 +108,8 @@ methods.add("MZJCJYSQXMFL"); methods.add("MZJCJYSQDDYXM"); methods.add("BRFB"); + methods.add("MXJFXMZD"); + methods.add("MZJFZHMXXM"); limits.add("ZDZYZ"); limits.add("KSZD"); @@ -136,16 +136,18 @@ limits.add("TJZHGLMXZD"); limits.add("TJTCZD"); limits.add("TJTCGLTJZHZD"); + limits.add("MXJFXMZD"); + limits.add("MZJFZHMXXM"); } public static void main(String[] args) { -// DictionaryUtil util = new DictionaryUtil(); -// try { -// util.exec1(); -// } catch (IOException e) { -// e.printStackTrace(); -// log.error("寮傚父"); -// } + DictionaryUtil util = new DictionaryUtil(); + try { + util.exec1(); + } catch (IOException e) { + e.printStackTrace(); + log.error("寮傚父"); + } } /** @@ -155,6 +157,10 @@ */ public JSONObject addInputVal(JSONObject jsonObject){ JSONObject obj = JSONUtil.createObj(); + String method = jsonObject.getStr("method"); + if (method.equals("MZJFZHMXXM") || method.equals("MXJFXMZD")){ + obj.putOpt("mode","1"); + } obj.putOpt("jgbm",""); obj.putOpt("bm",""); obj.putOpt("flbm",""); @@ -185,8 +191,8 @@ String apiPort = props.getProperty("his_api_port"); BASE_API_URL = apiUrl+":"+apiPort+"/api/His/HisRequest"; Connection connection = getConnection(user,password,url); - methods.forEach(method -> { - log.info("寮�濮嬭姹備唬鐮� ->{}",method); + for (String method : methods) { + log.info("寮�濮嬭姹備唬鐮� ->{}", method); String tabName = "ltkj_" + method.toLowerCase(); boolean isLimit = false; int page = 1; @@ -200,50 +206,49 @@ input.putOpt("pagecount", size); input.putOpt("page", page); } - log.info("璇锋眰鎺ュ彛 ->{},璇锋眰鍙傛暟 ->{}",BASE_API_URL,object.toString()); + log.info("璇锋眰鎺ュ彛 ->{}, 璇锋眰鍙傛暟 ->{}", BASE_API_URL, object.toString()); JSONObject entries = execRequest(object.toString()); -// log.info("璇锋眰杩斿洖 ->{}",entries.toString()); - assert entries != null; +// log.info("璇锋眰杩斿洖 ->{}", entries.toString()); JSONObject response = entries.getJSONObject("Response"); if ("0".equals(response.getStr("ResultCode"))) { try { - dropTable(tabName,connection); + dropTable(tabName, connection); } catch (SQLException e) { - log.error("鍒犻櫎琛ㄥ紓甯� ->{}",e.getMessage()); + log.error("鍒犻櫎琛ㄥ紓甯� ->{}", e.getMessage()); } if (isLimit) { - maxPage = LimitInsertData(connection, tabName, response,name,page); + maxPage = LimitInsertData(connection, tabName, response,name, page); log.info("璁$畻椤电爜涓� ->{}", maxPage); if (maxPage > 1) { - page += 1; - for (int i = page; i <= maxPage; i++) { + for (page = 2; page <= maxPage; page++) { object.clear(); object.putOpt("method", method); object = addInputVal(object); JSONObject input = object.getJSONObject("input"); input.putOpt("pagecount", size); input.putOpt("page", page); - log.info("璇锋眰鎺ュ彛 ->{},璇锋眰鍙傛暟 ->{}",BASE_API_URL,object.toString()); + log.info("璇锋眰鎺ュ彛 ->{}, 璇锋眰鍙傛暟 ->{}", BASE_API_URL, object.toString()); entries = execRequest(object.toString()); -// log.info("璇锋眰杩斿洖 ->{}",entries.toString()); +// log.info("璇锋眰杩斿洖 ->{}", entries.toString()); response = entries.getJSONObject("Response"); if ("0".equals(response.getStr("ResultCode"))) { - LimitInsertData(connection, tabName, response,name,page); + LimitInsertData(connection, tabName, response,name, page); } else { - log.error("{} 璇锋眰澶辫触锛歿}",method,object.toString()); + log.error("{} 璇锋眰澶辫触锛歿}", method, object.toString()); } - page++; } } } else { JSONArray resultData = response.getJSONArray("ResultData"); - JSONObject jsonObject = JSONUtil.toList(resultData, JSONObject.class).get(0); - editDataBase(connection, tabName, jsonObject,name); + List<JSONObject> list = JSONUtil.toList(resultData, JSONObject.class); + for (JSONObject jsonObject : list) { + editDataBase(connection, tabName, jsonObject,name); + } } } else { - log.error("{}璇锋眰澶辫触 - 璇锋眰鐘舵�佺爜涓嶄负0,璇锋眰鍙傛暟 ->{},璇锋眰杩斿洖 ->{}", method,object.toString(),response.toString()); + log.error("{}璇锋眰澶辫触 - 璇锋眰鐘舵�佺爜涓嶄负0, 璇锋眰鍙傛暟 ->{}, 璇锋眰杩斿洖 ->{}", method, object.toString(), response.toString()); } - }); + } log.info("鎵ц鍚屾瀹屾瘯"); } @@ -284,12 +289,18 @@ // 鍒涘缓琛� creatTable(obj, tabName, connection); } - // 瀵规瘮瀛楁 骞舵彃鍏ユ暟鎹� - operationTable(obj, tabName, connection); } catch (SQLException throwables) { - log.error("鏁版嵁搴撴搷浣滃紓甯�"); + 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()); } } @@ -373,10 +384,12 @@ // log.info("褰撳墠琛ㄥ瓧娈典负 ->{}", columns); ArrayList<String> responseColums = new ArrayList<>(); for (Map.Entry<String, Object> entry : jsonObject.entrySet()) { - responseColums.add(entry.getKey()); + String key = entry.getKey().trim().toLowerCase(); + responseColums.add(key); } -// log.info("璇锋眰杩斿洖鐨勫瓧娈典负 ->{}", responseColums); +// log.info("璇锋眰杩斿洖鐨勫瓧娈典负 ->{}", responseColums); responseColums.removeAll(columns); +// log.info("闇�瑕佸鍔犵殑瀛楁 ->{}",responseColums); if (!responseColums.isEmpty()) { // 闇�瑕佸鍔犲瓧娈� 骞舵彃鍏ユ暟鎹� for (String colum : responseColums) { @@ -408,11 +421,13 @@ insertSqlBuilder.append("insert into ").append(tabName).append(" ("); // selectSqlBuilder.append("select count(1) as count from ").append(tabName).append(" where "); for (Map.Entry<String, Object> entry : jsonObject.entrySet()) { - String str = entry.getValue().toString().replaceAll("\\\\", ""); - if (str.equals("null")) + String defaultVal = entry.getValue().toString(); + String key = entry.getKey().trim().toLowerCase(); + if (StrUtil.isBlank(defaultVal) || defaultVal.equals("null")) continue; - insertSqlBuilder.append(entry.getKey()).append(", "); - valueBuilder.append("'").append(str.replaceAll("'","鈥�")).append("', "); + String val = defaultVal.trim().replaceAll("\\s+", "").replace("\\",""); + insertSqlBuilder.append(key).append(", "); + valueBuilder.append("'").append(val.replaceAll("'","鈥�")).append("', "); // selectSqlBuilder.append(entry.getKey()).append(" = '").append(entry.getValue().toString().replaceAll("'","鈥�")).append("' and "); } insertSqlBuilder.append("insert_time, "); @@ -435,7 +450,7 @@ // } // 鎻掑叆鏁版嵁 Statement statement = connection.createStatement(); -// log.info("鎻掑叆鏁版嵁 sql-> {}", insertSqlBuilder.toString()); + log.info("鎻掑叆鏁版嵁 sql-> {}", insertSqlBuilder.toString()); statement.execute(insertSqlBuilder.toString()); statement.close(); } @@ -470,12 +485,13 @@ 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()) { - sql.append(entry.getKey()).append(" VARCHAR(200) null,"); + 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()); + log.info("鍒涘缓琛ㄦ牸 -> {}",sql.toString()); Statement statement = connection.createStatement(); statement.execute(sql.toString()); } -- Gitblit v1.8.0