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