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&param2=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