From f552224e3f83b32b9dace6ab0b3c37c861261b3d Mon Sep 17 00:00:00 2001
From: 赵文轩 <1652863494@qq.com>
Date: 星期三, 05 六月 2024 18:46:19 +0800
Subject: [PATCH] 获取接口代码

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java |  153 ++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 146 insertions(+), 7 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
index 3818777..319645b 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiGetMethodService.java
@@ -4,6 +4,8 @@
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.ltkj.common.core.domain.AjaxResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
 
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -17,16 +19,107 @@
  * @Author: zhaowenxuan
  * @Date: 2024/5/31 14:38
  */
+@Component
 public class HisApiGetMethodService {
     // 鏁版嵁搴撻厤缃枃浠惰矾寰�
     private static final String CONFIG_PATH = "D:\\ltkjprojectconf\\config.properties";
     // 鏁版嵁搴撳悕
     private static String DB_NAME = "";
+    @Autowired
+    private HisApiMethodService controller;
+
 
     /**
+     * 鑾峰彇
+     *
+     * @return
+     */
+    public AjaxResult getHISData(String type, Map<String, Object> params) {
+        // Getoutaccountrecord 鑾峰彇闂ㄨ瘖缁撶畻璁板綍
+        // Getoutpatientcostinfo 鑾峰彇闂ㄨ瘖鎮h�呰垂鐢ㄦ竻鍗曚俊鎭�
+        // Getlaburgentinfo 鑾峰彇鍗辨�ュ�间俊鎭�
+        // Getlabgermdetailinfo 鑾峰彇寰敓鐗╄嵂鏁忎俊鎭�
+        // Getlabgermrepinfo 鑾峰彇寰敓鐗╂姤鍛婅褰曚俊鎭�
+        // Getlabreportinfo 鑾峰彇妫�楠屾姤鍛婅褰曚俊鎭�
+        // Getlabapplyinfo 鑾峰彇妫�楠岀敵璇蜂俊鎭�
+        // Getexamurgentinfo 鑾峰彇妫�鏌ュ嵄鎬ュ�间俊鎭�
+        // Getexamreportinfo 鑾峰彇妫�鏌ユ姤鍛婁俊鎭�
+        // Getexamapplyinfo 鑾峰彇妫�鏌ョ敵璇蜂俊鎭�
+        AjaxResult result = null;
+        switch (type) {
+            case "Getoutaccountrecord":
+                result = controller.Getoutaccountrecord(params);
+                result.put("limit",true);
+                break;
+            case "Getoutpatientcostinfo":
+                result = controller.Getoutpatientcostinfo(params);
+                result.put("limit",true);
+                break;
+            case "Getlaburgentinfo":
+                result = controller.Getlaburgentinfo(params);
+                result.put("limit",false);
+                break;
+            case "Getlabgermdetailinfo":
+                result = controller.Getlabgermdetailinfo(params);
+                result.put("limit",false);
+                break;
+            case "Getlabgermrepinfo":
+                result = controller.Getlabgermrepinfo(params);
+                result.put("limit",false);
+                break;
+            case "Getlabreportinfo":
+                result = controller.Getlabreportinfo(params);
+                result.put("limit",true);
+                break;
+            case "Getlabapplyinfo":
+                result = controller.Getlabapplyinfo(params);
+                result.put("limit",false);
+                break;
+            case "Getexamurgentinfo":
+                result = controller.Getexamurgentinfo(params);
+                result.put("limit",true);
+                break;
+            case "Getexamreportinfo":
+                result = controller.Getexamreportinfo(params);
+                result.put("limit",true);
+                break;
+            case "Getexamapplyinfo":
+                result = controller.Getexamapplyinfo(params);
+                result.put("limit",false);
+                break;
+        }
+        String json = result.get("data").toString();
+        JSONObject response = JSONUtil.parseObj(json).getJSONObject("Response");
+        if (response.getStr("ResultCode").toString().equals("0")) {
+            // TODO 濡傛灉涓嶅甫鍒嗛〉鍙傛暟 杩斿洖鐨勬暟鎹兘鏄璞� 鍒欏湪杩欓噷閫氳繃result.get("limit")杩涜鍒ゆ柇 澶勭悊瀵硅薄鎴栭泦鍚堝苟杩斿洖
+            JSONArray resultData = response.getJSONArray("ResultData");
+            List<Map<String, Object>> list = new ArrayList<>();
+            for (Object resultDatum : resultData) {
+                JSONObject object = (JSONObject) resultDatum;
+                Map<String, Object> map = new HashMap<>();
+                for (String key : object.keySet()) {
+                    map.put(key, object.get(key));
+                }
+                list.add(map);
+            }
+            AjaxResult ajaxResult = null;
+            if ((boolean)result.get("limit")){
+                ajaxResult = saveArray(json, type);
+            }else {
+                ajaxResult = save(response.getJSONObject("ResultData"),type);
+            }
+            ajaxResult.put("data", list);
+            return ajaxResult;
+        } else {
+            return AjaxResult.error();
+        }
+    }
+
+    /**
+     * ResultData涓哄璞�
      * 鏍规嵁his鎺ュ彛杩斿洖鍊� 鎻掑叆鏁版嵁
      * 濡傛灉娌℃湁琛ㄥ垯鍒涘缓琛� 鎺ュ彛澧炲姞浜嗗瓧娈靛垯涓鸿〃澧炲姞瀛楁
-     * @param json 璇锋眰杩斿洖json
+     *
      * @param code 鎺ュ彛浠g爜
      * @return 鎵ц鏄惁鎴愬姛
      */
@@ -37,9 +130,55 @@
         String tabName = "ltkj_" + code;
 //        if (response.getStr("ResultCode").equals("0")) {
 //            JSONObject  object = response.getJSONObject("ResultData");
-            Connection connection = getConnection();
+        Connection connection = getConnection();
 //            for (Object resultDatum : resultData) {
 //                JSONObject object = (JSONObject) resultDatum;
+        Boolean isExists = tabIsExists(connection, tabName);
+        if (null == isExists)
+            return AjaxResult.error();
+        if (!isExists) {
+            try {
+                creatTable(object, tabName, connection);
+            } catch (SQLException throwables) {
+                throwables.printStackTrace();
+                return AjaxResult.error();
+            }
+        }
+        //鎻掑叆鏁版嵁
+        try {
+            operationTable(object, tabName, connection);
+        } catch (SQLException throwables) {
+            throwables.printStackTrace();
+            return AjaxResult.error();
+        }
+//            }
+        try {
+            if (connection != null)
+                connection.close();
+        } catch (SQLException throwables) {
+        }
+//        }
+        return AjaxResult.success();
+    }
+
+    /**
+     * ResultData涓洪泦鍚�
+     * 鏍规嵁his鎺ュ彛杩斿洖鍊� 鎻掑叆鏁版嵁
+     * 濡傛灉娌℃湁琛ㄥ垯鍒涘缓琛� 鎺ュ彛澧炲姞浜嗗瓧娈靛垯涓鸿〃澧炲姞瀛楁
+     *
+     * @param code 鎺ュ彛浠g爜
+     * @return 鎵ц鏄惁鎴愬姛
+     */
+    public AjaxResult saveArray(String json, String code) {
+        code = code.toLowerCase();
+        JSONObject jsonObject = JSONUtil.parseObj(json);
+        JSONObject response = jsonObject.getJSONObject("Response");
+        String tabName = "ltkj_" + code;
+        if (response.getStr("ResultCode").equals("0")) {
+            JSONArray resultData = response.getJSONArray("ResultData");
+            Connection connection = getConnection();
+            for (Object resultDatum : resultData) {
+                JSONObject object = (JSONObject) resultDatum;
                 Boolean isExists = tabIsExists(connection, tabName);
                 if (null == isExists)
                     return AjaxResult.error();
@@ -58,13 +197,13 @@
                     throwables.printStackTrace();
                     return AjaxResult.error();
                 }
-//            }
+            }
             try {
                 if (connection != null)
                     connection.close();
             } catch (SQLException throwables) {
             }
-//        }
+        }
         return AjaxResult.success();
     }
 
@@ -84,7 +223,7 @@
         responseColums.removeAll(columns);
         if (!responseColums.isEmpty()) {
             for (String colum : responseColums) {
-                String sql = "alter table " + tabName + " add column " + colum + " text null";
+                String sql = "alter table " + tabName + " add column " + colum + " VARCHAR(200) null";
                 Statement statement = connection.createStatement();
                 statement.executeUpdate(sql);
                 statement.close();
@@ -153,9 +292,9 @@
     private void creatTable(JSONObject data, String tabName, Connection connection) throws SQLException {
         StringBuilder sql = new StringBuilder("CREATE TABLE " + tabName + " (");
         for (Map.Entry<String, Object> entry : data.entrySet()) {
-            sql.append(entry.getKey()).append(" text null,");
+            sql.append(entry.getKey()).append(" VARCHAR(200) null,");
         }
-        sql.append("insert_time").append(" text null,");
+        sql.append("insert_time").append(" VARCHAR(200) null,");
         sql = new StringBuilder(sql.substring(0, sql.length() - 1));
         sql.append(");");
         Statement statement = connection.createStatement();

--
Gitblit v1.8.0