From f0eca55f5108aca1222c9fc7356d9ee4e4a59478 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期一, 19 五月 2025 16:50:38 +0800 Subject: [PATCH] 宝鸡西机医院改为从管理表动态取配置 --- src/main/java/com/example/utils/synczd/DictionaryUtilShanXiWeiNanBjxjyy.java | 89 +++++++++++++++++++++++++++----------------- 1 files changed, 55 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/example/utils/synczd/DictionaryUtilShanXiWeiNanBjxjyy.java b/src/main/java/com/example/utils/synczd/DictionaryUtilShanXiWeiNanBjxjyy.java index 22062ab..466ec2f 100644 --- a/src/main/java/com/example/utils/synczd/DictionaryUtilShanXiWeiNanBjxjyy.java +++ b/src/main/java/com/example/utils/synczd/DictionaryUtilShanXiWeiNanBjxjyy.java @@ -5,8 +5,10 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.example.config.ConfigValue; +import com.example.domain.DictCommonHisConfig; import com.example.domain.HisSyncDict; import com.example.mapper.HisSyncDictMapper; +import com.example.service.DictCommonHisConfigService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -35,30 +37,33 @@ @Component public class DictionaryUtilShanXiWeiNanBjxjyy { - @Autowired - private ConfigValue configValue; +// @Autowired +// private ConfigValue configValue; @Autowired private HisSyncDictMapper hisSyncDictMapper; + @Autowired + private DictCommonHisConfigService dictCommonHisConfigService; - private static String CONFIG_PATH; - private static String BASE_API_URL = ""; +// private static String CONFIG_PATH; +// private static String BASE_API_URL = ""; private static final int SIZE = 100; - private static String USER = ""; - private static String PASSWORD = ""; - private static String URL = ""; - private static String NAME = ""; - @Value("${config.path}") - public void setConfigPath(String configPath) { - CONFIG_PATH = configPath; - NAME = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.name"); - URL = "jdbc:mysql://" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.ip") + ":" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.prot") + "/" + NAME + - "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8"; - USER = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.username"); - PASSWORD = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.password"); - String apiUrl = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_url"); - String apiPort = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_port"); - BASE_API_URL = apiUrl+":"+apiPort+configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.hisapiappend"); - } +// private static String USER = ""; +// private static String PASSWORD = ""; +// private static String URL = ""; +// private static String NAME = ""; +// @Value("${config.path}") +// public void setConfigPath(String configPath) { +// CONFIG_PATH = configPath; +// NAME = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.name"); +// URL = "jdbc:mysql://" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.ip") +// + ":" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.prot") + "/" + NAME + +// "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8"; +// USER = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.username"); +// PASSWORD = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.password"); +// String apiUrl = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_url"); +// String apiPort = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_port"); +// BASE_API_URL = apiUrl+":"+apiPort+configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.hisapiappend"); +// } /** @@ -80,8 +85,9 @@ * 杩涜鍚屾 */ public void exec(List<HisSyncDict> hisSyncDicts, String token){ + DictCommonHisConfig config = dictCommonHisConfigService.getConfigByHospital("bjxjyy"); log.info("寮�濮嬫墽琛屽悓姝�"); - Connection connection = getConnection(); + Connection connection = getConnection(config); if (connection == null) return; for (HisSyncDict hisSyncDict : hisSyncDicts) { @@ -93,7 +99,7 @@ ) isFormatJson = true; hisSyncDict.setDictName(hisSyncDict.getHospId()+"_"+hisSyncDict.getDictName()); - extracted(NAME, connection, hisSyncDict,token,isFormatJson); + extracted(config.getDbName(), connection, hisSyncDict,token,isFormatJson,config); } try { connection.close(); @@ -102,7 +108,7 @@ log.info("鎵ц鍚屾瀹屾瘯"); } - private void extracted(String name, Connection connection, HisSyncDict hisSyncDict,String token,Boolean isFormatJson) { + private void extracted(String name, Connection connection, HisSyncDict hisSyncDict,String token,Boolean isFormatJson,DictCommonHisConfig config) { String method = hisSyncDict.getDictName(); log.info("寮�濮嬭姹備唬鐮� ->{}", method); String tabName = "ltkj_" + method.toLowerCase(); @@ -116,8 +122,8 @@ if (hisSyncDict.getIsLimit() == 1) { isLimit = true; } - log.info("璇锋眰鎺ュ彛 ->{}, 璇锋眰鍙傛暟 ->{}", BASE_API_URL+hisSyncDict.getUrl(), object); - JSONObject entries = execRequest(object.toString(),hisSyncDict,token); + log.info("璇锋眰鎺ュ彛 ->{}, 璇锋眰鍙傛暟 ->{}", config.getHisUrl()+hisSyncDict.getUrl(), object); + JSONObject entries = execRequest(config,object.toString(),hisSyncDict,token); log.info("璇锋眰杩斿洖 ->{}", entries.toString()); if (isFormatJson){ if ("1".equals(entries.getStr("returnCode"))) { @@ -136,8 +142,8 @@ params = params.replace("${pageIndex}",String.valueOf(page)); params = params.replace("${pageSize}",String.valueOf(SIZE)); object = JSONUtil.parseObj(params); - log.info("璇锋眰鎺ュ彛 ->{}, 璇锋眰鍙傛暟 ->{}", BASE_API_URL+hisSyncDict.getUrl(), object.toString()); - entries = execRequest(object.toString(),hisSyncDict,token); + log.info("璇锋眰鎺ュ彛 ->{}, 璇锋眰鍙傛暟 ->{}", config.getHisUrl()+hisSyncDict.getUrl(), object.toString()); + entries = execRequest(config,object.toString(),hisSyncDict,token); log.info("璇锋眰杩斿洖 ->{}", entries.toString()); response = entries.getJSONObject("returnData"); if ("1".equals(entries.getStr("returnCode"))) { @@ -188,8 +194,8 @@ params = params.replace("${pageIndex}",String.valueOf(page)); params = params.replace("${pageSize}",String.valueOf(SIZE)); object = JSONUtil.parseObj(params); - log.info("璇锋眰鎺ュ彛 ->{}, 璇锋眰鍙傛暟 ->{}", BASE_API_URL+hisSyncDict.getUrl(), object.toString()); - entries = execRequest(object.toString(),hisSyncDict,token); + log.info("璇锋眰鎺ュ彛 ->{}, 璇锋眰鍙傛暟 ->{}", config.getHisUrl()+hisSyncDict.getUrl(), object.toString()); + entries = execRequest(config,object.toString(),hisSyncDict,token); log.info("璇锋眰杩斿洖 ->{}", entries.toString()); response = entries.getJSONArray("returnData"); if (response.isEmpty()) @@ -272,14 +278,14 @@ * @param params 璇锋眰鍙傛暟 渚嬪锛� param1=val1¶m2=val2 * @return 璇锋眰杩斿洖鐨刯son杞崲鍚庣殑JSONObject瀵硅薄 */ - private JSONObject execRequest(String params,HisSyncDict hisSyncDict,String token) { + private JSONObject execRequest(DictCommonHisConfig config,String params,HisSyncDict hisSyncDict,String token) { 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()); + url = new URL(config.getHisUrl()+hisSyncDict.getUrl()); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); @@ -321,10 +327,25 @@ return null; } - public Connection getConnection() { + public Connection getConnection(DictCommonHisConfig config) { + // public void setConfigPath(String configPath) { +// CONFIG_PATH = configPath; +// NAME = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.name"); +// URL = "jdbc:mysql://" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.ip") +// + ":" + configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.prot") + "/" + NAME + +// "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8"; +// USER = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.username"); +// PASSWORD = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.password"); +// String apiUrl = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_url"); +// String apiPort = configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.his_api_port"); +// BASE_API_URL = apiUrl+":"+apiPort+configValue.getConfigValue("ShanXi_Qin_BaoJi_Bjxjyy.hisapiappend"); +// } try { - log.info("鏁版嵁搴撲俊鎭� ->{},{},{}",USER,PASSWORD,URL); - return DriverManager.getConnection(URL,USER,PASSWORD); + String url = "jdbc:mysql://" + config.getDbIp() + + ":" + config.getDbPort() + "/" + config.getDbName() + + "?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8"; + log.info("鏁版嵁搴撲俊鎭� ->{},{},{}",config.getDbUser(),config.getDbPassword(),url); + return DriverManager.getConnection(url,config.getDbUser(),config.getDbPassword()); } catch (Exception throwables) { log.error("鑾峰彇sql杩炴帴澶辫触"); throwables.printStackTrace(); -- Gitblit v1.8.0