Преглед изворни кода

返回值改成json串并优化日志记录

huangws пре 8 месеци
родитељ
комит
614a7b812b

+ 152 - 78
GetDataByRESTful/src/main/java/com/jyxt/getdatabyrestful/controller/LISController.java

@@ -7,9 +7,13 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -34,102 +38,172 @@ public class LISController {
         return "Hello, " + name;
     }
 
-    @GetMapping("/getGroupConfig")
-    @Operation(summary = "获取配置接口", description = "")
-    public List<Map<String, Object>> getGroupConfig(){
-        List<Map<String, Object>> retValue = null;
-        retValue = lisService.getGroupConfig();
-        return retValue;
-    }
+    @GetMapping("/GetGroupConfig")
+    @Operation(summary = "获取配置接口", description = "返回系统配置信息")
+    public ResponseEntity<Map<String, Object>> GetGroupConfig() {
+        Map<String, Object> response = new HashMap<>();
 
-    @PostMapping("/getSaveSampleList")
-    @Operation(summary = "获取待保存接口", description = "")
-    public List<Map<String, Object>> getSaveSampleList(@RequestBody
-                                    @Schema(
-                                            name = "获取待保存接口",
-                                            description = "请求示例",
-                                            example = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"INSPECTION_ID\":\"\"" +
-                                                    ",\"PATIENT_NAME\":\"\",\"TEST_ORDER_NAME\":\"\"}]"
-                                    )
-                                    List<Map<String, Object>> inputList){
-        if (inputList == null || inputList.isEmpty()) {
-            return null;
+        try {
+            List<Map<String, Object>> configData = lisService.GetGroupConfig();
+
+            if (configData == null || configData.isEmpty()) {
+                response.put("state", 404);
+                response.put("message", "未找到配置信息");
+                return ResponseEntity.status(HttpStatus.NOT_FOUND).body(response);
+            }
+
+            response.put("state", 200);
+            response.put("message", "成功获取配置");
+            response.put("data", configData);
+            return ResponseEntity.ok(response);
+        } catch (Exception e) {
+            response.put("state", 500);
+            response.put("message", "服务器内部错误: " + e.getMessage());
+            return ResponseEntity.internalServerError().body(response);
         }
-        List<Map<String, Object>> retValue = null;
-        retValue = lisService.getSaveSampleList(inputList);
-        return retValue;
     }
 
-    @PostMapping("/getSavedSampleList")
-    @Operation(summary = "获取已保存接口", description = "")
-    public List<Map<String, Object>> getSavedSampleList(@RequestBody
-                                   @Schema(
-                                           name = "获取已保存接口",
-                                           description = "请求示例",
-                                           example = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"INSPECTION_ID\":\"\"" +
-                                                   ",\"PATIENT_NAME\":\"G032\",\"TEST_ORDER_NAME\":\"\"}]"
-                                   )
-                                   List<Map<String, Object>> inputList){
+    @PostMapping("/GetSampleList")
+    @Operation(summary = "获标本接口", description = "STATE:1 待保存 2 已保存 4 已废弃 多个STATE 1,2")
+    public ResponseEntity<Map<String, Object>> GetSampleList(
+            @RequestBody @Schema(name = "获标本接口", description = "请求示例",
+                    example = "[{\"STATE\":\"1\",\"SAVE_DATE\":\"20250725\"}]")
+            List<Map<String, Object>> inputList) {
+
+        Map<String, Object> response = new HashMap<>();
+
         if (inputList == null || inputList.isEmpty()) {
-            return null;
+            response.put("state", 400);
+            response.put("message", "请求参数不能为空");
+            return ResponseEntity.badRequest().body(response);
         }
-        List<Map<String, Object>> retValue = null;
-        retValue = lisService.getSavedSampleList(inputList);
-        return retValue;
-    }
 
-    @PostMapping("/getDestorySampleList")
-    @Operation(summary = "获取待废弃接口", description = "")
-    public List<Map<String, Object>> getDestorySampleList(@RequestBody
-                                                        @Schema(
-                                                                name = "获取待废弃接口",
-                                                                description = "请求示例",
-                                                                example = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"INSPECTION_ID\":\"\"" +
-                                                                        ",\"PATIENT_NAME\":\"G032\",\"TEST_ORDER_NAME\":\"\"}]"
-                                                        )
-                                                        List<Map<String, Object>> inputList){
-        if (inputList == null || inputList.isEmpty()) {
-            return null;
+        try {
+            List<Map<String, Object>> data = lisService.GetSampleList(inputList);
+            response.put("state", 200);
+            response.put("message", "成功");
+            response.put("data", data);
+            return ResponseEntity.ok(response);
+        } catch (Exception e) {
+            response.put("state", 500);
+            response.put("message", "服务器内部错误");
+            return ResponseEntity.internalServerError().body(response);
         }
-        List<Map<String, Object>> retValue = null;
-        retValue = lisService.getDestorySampleList(inputList);
-        return retValue;
     }
+//
+//    @PostMapping("/getSavedSampleList")
+//    @Operation(summary = "获取已保存接口", description = "")
+//    public List<Map<String, Object>> getSavedSampleList(@RequestBody
+//                                                        @Schema(
+//                                                            name = "获取已保存接口",
+//                                                            description = "请求示例",
+//                                                            example = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"INSPECTION_ID\":\"\"" +
+//                                                            ",\"PATIENT_NAME\":\"G032\",\"TEST_ORDER_NAME\":\"\"}]"
+//                                                        )
+//                                                        List<Map<String, Object>> inputList){
+//        if (inputList == null || inputList.isEmpty()) {
+//            return null;
+//        }
+//        List<Map<String, Object>> retValue = null;
+//        retValue = lisService.getSavedSampleList(inputList);
+//        return retValue;
+//    }
+//
+//    @PostMapping("/getDestorySampleList")
+//    @Operation(summary = "获取待废弃接口", description = "")
+//    public List<Map<String, Object>> getDestorySampleList(@RequestBody
+//                                                            @Schema(
+//                                                                name = "获取待废弃接口",
+//                                                                description = "请求示例",
+//                                                                example = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"INSPECTION_ID\":\"\"" +
+//                                                                ",\"PATIENT_NAME\":\"G032\",\"TEST_ORDER_NAME\":\"\"}]"
+//                                                            )
+//                                                            List<Map<String, Object>> inputList){
+//        if (inputList == null || inputList.isEmpty()) {
+//            return null;
+//        }
+//        List<Map<String, Object>> retValue = null;
+//        retValue = lisService.getDestorySampleList(inputList);
+//        return retValue;
+//    }
+//
+//    @PostMapping("/getDestoryedSampleList")
+//    @Operation(summary = "获取已弃置接口", description = "")
+//    public List<Map<String, Object>> getDestoryedSampleList(@RequestBody
+//                                                            @Schema(
+//                                                                name = "获取已弃置接口",
+//                                                                description = "请求示例",
+//                                                                exam ple = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"INSPECTION_ID\":\"\"" +
+//                                                                ",\"PATIENT_NAME\":\"G032\",\"TEST_ORDER_NAME\":\"\"}]"
+//                                                            )
+//                                                            List<Map<String, Object>> inputList){
+//        if (inputList == null || inputList.isEmpty()) {
+//            return null;
+//        }
+//        List<Map<String, Object>> retValue = null;
+//        retValue = lisService.getDestoryedSampleList(inputList);
+//        return retValue;
+//    }
 
     @PostMapping("/SaveSample")
-    @Operation(summary = "保存样本接口", description = "")
-    public int SaveSample(@RequestBody
-                        @Schema(
-                                name = "保存样本接口",
-                                description = "请求示例",
-                                example = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"OPERATIONNAME\":\"张三\"" +
-                                        ",\"RemoveSampleList\":[\"12345\",\"54321\"]}]"
-                        )
-                        List<Map<String, Object>> inputList){
-        int retValue = 0;
+    @Operation(summary = "保存样本接口", description = "0成功,非0失败")
+    public ResponseEntity<Map<String, Object>> saveSample(
+            @RequestBody @Schema(name = "保存样本接口", description = "请求示例",
+                    example = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"OPERATIONNAME\":\"张三\"" +
+                            ",\"RemoveSampleList\":[\"12345\",\"54321\"]}]"
+            )
+            List<Map<String, Object>> inputList) {
+
+        Map<String, Object> response = new HashMap<>();
+
         if (inputList == null || inputList.isEmpty()) {
-            return retValue;
+            response.put("state", 400);
+            response.put("message", "请求参数不能为空");
+            return ResponseEntity.badRequest().body(response);
+        }
+
+        try {
+            int result = lisService.SaveSample(inputList);
+            response.put("state", result == 0 ? 200 : 500);
+            response.put("message", result == 0 ? "保存成功" : "保存失败");
+            response.put("data", result);
+            return ResponseEntity.ok(response);
+        } catch (Exception e) {
+            response.put("state", 500);
+            response.put("message", "服务器内部错误");
+            return ResponseEntity.internalServerError().body(response);
         }
-        retValue = lisService.SaveSample(inputList);
-        return retValue;
     }
 
     @PostMapping("/DestorySample")
-    @Operation(summary = "弃置样本接口", description = "")
-    public int DestorySample(@RequestBody
-                          @Schema(
-                                  name = "弃置样本接口",
-                                  description = "请求示例",
-                                  example = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"OPERATIONNAME\":\"张三\"" +
-                                          ",\"RemoveSampleList\":[\"12345\",\"54321\"]}]"
-                          )
-                          List<Map<String, Object>> inputList){
-        int retValue = 0;
+    @Operation(summary = "弃置样本接口", description = "0成功,非0失败")
+    public ResponseEntity<Map<String, Object>> DestorySample(@RequestBody
+                            @Schema(
+                                name = "弃置样本接口",
+                                description = "请求示例",
+                                example = "[{\"OPERATION_DATE\":\"20250725\",\"GROUPCODE\":\"G032\",\"OPERATIONNAME\":\"张三\"" +
+                                ",\"RemoveSampleList\":[\"12345\",\"54321\"]}]"
+                            )
+                            List<Map<String, Object>> inputList){
+        Map<String, Object> response = new HashMap<>();
+
         if (inputList == null || inputList.isEmpty()) {
-            return retValue;
+            response.put("state", 400);
+            response.put("message", "请求参数不能为空");
+            return ResponseEntity.badRequest().body(response);
+        }
+
+        try {
+            int result = lisService.DestorySample(inputList);
+            response.put("state", result == 0 ? 200 : 500);
+            response.put("message", result == 0 ? "保存成功" : "保存失败");
+            response.put("data", result);
+            return ResponseEntity.ok(response);
+        } catch (Exception e) {
+            response.put("state", 500);
+            response.put("message", "服务器内部错误");
+            return ResponseEntity.internalServerError().body(response);
         }
-        retValue = lisService.DestorySample(inputList);
-        return retValue;
     }
 
 }

+ 4 - 2
GetDataByRESTful/src/main/java/com/jyxt/getdatabyrestful/service/LISService.java

@@ -7,14 +7,16 @@ import java.util.Map;
 
 public interface LISService {
 
-    public List<Map<String, Object>> getGroupConfig();
+    public List<Map<String, Object>> GetGroupConfig();
 
-    public List<Map<String, Object>> getSaveSampleList(List<Map<String, Object>> inputList);
+    public List<Map<String, Object>> GetSampleList(List<Map<String, Object>> inputList);
 
     public List<Map<String, Object>> getSavedSampleList(List<Map<String, Object>> inputList);
 
     public List<Map<String, Object>> getDestorySampleList(List<Map<String, Object>> inputList);
 
+    public List<Map<String, Object>> getDestoryedSampleList(List<Map<String, Object>> inputList);
+
     public int SaveSample(List<Map<String, Object>> inputList);
 
     public int DestorySample(List<Map<String, Object>> inputList);

+ 132 - 8
GetDataByRESTful/src/main/java/com/jyxt/getdatabyrestful/service/impl/LISServiceImpl.java

@@ -28,7 +28,12 @@ public class LISServiceImpl implements LISService {
     @Qualifier("secondJdbcTemplate")
     private JdbcTemplate jdbcTemplate;
 
-    public List<Map<String, Object>> getGroupConfig() {
+    public static List<Map<String, Object>> testList = new ArrayList<>();
+
+
+
+    public List<Map<String, Object>> GetGroupConfig() {
+//        //----------以下为测试用----------
 //        // 1. 创建最外层的List
 //        List<Map<String, Object>> list = new ArrayList<>();
 //        // 2. 创建内层Map
@@ -46,7 +51,16 @@ public class LISServiceImpl implements LISService {
 //        map2.put("GROUPNAME", "茂源免疫");
 //        map2.put("SAVEDAY", "14");
 //        list.add(map2);
+//
+//        Map<String, Object> map3 = new HashMap<>(); // 保持插入顺序
+//        // 3. 向Map中添加数据
+//        map3.put("SORTID", "003");
+//        map3.put("GROUPCODE", "G032");
+//        map3.put("GROUPNAME", "茂源临检");
+//        map3.put("SAVEDAY", "7");
+//        list.add(map3);
 //        return list;
+//        //----------以上为测试用----------
         List<Map<String, Object>> resultList = null;
         String SqlQry = "select SORTID,GROUPCODE,GROUPNAME,SAVEDAY from v_jt_lisgroupcustom";
         log.info("excute sql:"+SqlQry);
@@ -54,11 +68,98 @@ public class LISServiceImpl implements LISService {
         return resultList;
     }
 
-    public List<Map<String, Object>> getSaveSampleList(List<Map<String, Object>> inputList){
+    public List<Map<String, Object>> GetSampleList(List<Map<String, Object>> inputList){
+//        //----------以下为测试用----------
+//        // 1. 创建最外层的List
+//        List<Map<String, Object>> list = new ArrayList<>();
+//        // 2. 创建内层Map
+//        Map<String, Object> map = new HashMap<>(); // 保持插入顺序
+//        // 3. 向Map中添加数据
+//        map.put("STATE", "1");
+//        map.put("SAVE_DATE", "20250720");
+//        map.put("INSPECTION_ID", "20250720G0364061112");
+//        map.put("PATIENT_NAME", "赵春香11");
+//        map.put("TEST_ORDER_NAME", "血常规11");
+//        map.put("DESTROY_DATE", "20250727");
+//        list.add(map);
+//        Map<String, Object> map2 = new HashMap<>(); // 保持插入顺序
+//        // 3. 向Map中添加数据
+//        map2.put("STATE", "1");
+//        map2.put("SAVE_DATE", "20250720");
+//        map2.put("INSPECTION_ID", "20250720G036123124062");
+//        map2.put("PATIENT_NAME", "赵春香22");
+//        map2.put("TEST_ORDER_NAME", "血常规22");
+//        map2.put("DESTROY_DATE", "20250727");
+//        list.add(map2);
+//
+//        Map<String, Object> map3 = new HashMap<>(); // 保持插入顺序
+//        // 3. 向Map中添加数据
+//        map3.put("STATE", "1");
+//        map3.put("SAVE_DATE", "20250720");
+//        map3.put("INSPECTION_ID", "2020G03123312364062");
+//        map3.put("PATIENT_NAME", "赵春香33");
+//        map3.put("TEST_ORDER_NAME", "血常规33");
+//        map3.put("DESTROY_DATE", "20250727");
+//        list.add(map3);
+//        return list;
+//        //----------以上为测试用----------
         List<Map<String, Object>> resultList = new ArrayList<>();
         for(Map<String, Object> inputMap : inputList) {
+            if (!inputMap.containsKey("STATE") || inputMap.get("STATE") == null) {
+                continue;
+            }
+
             StringBuilder sql = new StringBuilder(
-                    "select SAVE_DATE,INSPECTION_ID,PATIENT_NAME,TEST_ORDER_NAME from V_JT_SAVEANDDESTROY where STATE=1 or STATE=2");
+                    "select STATE,SAVE_DATE,DESTROY_DATE,INSPECTION_ID,PATIENT_NAME,TEST_ORDER_NAME from V_JT_SAVEANDDESTROY where ");
+
+            // 处理STATE参数(可能为单个值或多个值)
+            String stateValue = inputMap.get("STATE").toString();
+            if (stateValue.contains(",")) {
+                String[] states = stateValue.split(",");
+                sql.append("STATE IN (");
+                for (int i = 0; i < states.length; i++) {
+                    sql.append("'").append(states[i].trim()).append("'");
+                    if (i < states.length - 1) {
+                        sql.append(",");
+                    }
+                }
+                sql.append(")");
+            } else {
+                sql.append("STATE = '").append(stateValue).append("'");
+            }
+
+            // 处理其他查询条件
+            if (inputMap.containsKey("SAVE_DATE") && inputMap.get("SAVE_DATE") != null) {
+                sql.append(" AND SAVE_DATE = '").append(inputMap.get("SAVE_DATE")).append("'");
+            }
+            if (inputMap.containsKey("DESTROY_DATE") && inputMap.get("DESTROY_DATE") != null) {
+                sql.append(" AND DESTROY_DATE = '").append(inputMap.get("DESTROY_DATE")).append("'");
+            }
+            if (inputMap.containsKey("GROUPCODE") && inputMap.get("GROUPCODE") != null) {
+                sql.append(" AND GROUPCODE = '").append(inputMap.get("GROUPCODE")).append("'");
+            }
+            if (inputMap.containsKey("INSPECTION_ID") && inputMap.get("INSPECTION_ID") != null) {
+                sql.append(" AND INSPECTION_ID like '%").append(inputMap.get("INSPECTION_ID")).append("%'");
+            }
+            if (inputMap.containsKey("PATIENT_NAME") && inputMap.get("PATIENT_NAME") != null) {
+                sql.append(" AND PATIENT_NAME like '%").append(inputMap.get("PATIENT_NAME")).append("%'");
+            }
+            if (inputMap.containsKey("TEST_ORDER_NAME") && inputMap.get("TEST_ORDER_NAME") != null) {
+                sql.append(" AND TEST_ORDER_NAME like '%").append(inputMap.get("TEST_ORDER_NAME")).append("%'");
+            }
+            log.info("execute sql: " + sql.toString());
+            resultList.addAll(jdbcTemplate.queryForList(sql.toString()));
+            int num = resultList.size();
+            log.info("get data size: " + String.valueOf(num));
+        }
+        return resultList;
+    }
+
+    public List<Map<String, Object>> getSavedSampleList(List<Map<String, Object>> inputList){
+        List<Map<String, Object>> resultList = new ArrayList<>();
+        for(Map<String, Object> inputMap : inputList) {
+            StringBuilder sql = new StringBuilder(
+                    "select SAVE_DATE,INSPECTION_ID,PATIENT_NAME,TEST_ORDER_NAME from V_JT_SAVEANDDESTROY where STATE=2");
 
             MapSqlParameterSource params = new MapSqlParameterSource();
 
@@ -90,11 +191,13 @@ public class LISServiceImpl implements LISService {
             }
             log.info("execute sql: " + sql.toString());
             resultList.addAll(jdbcTemplate.queryForList(sql.toString()));
+            int num = resultList.size();
+            log.info("get data size: " + String.valueOf(num));
         }
         return resultList;
     }
 
-    public List<Map<String, Object>> getSavedSampleList(List<Map<String, Object>> inputList){
+    public List<Map<String, Object>> getDestorySampleList(List<Map<String, Object>> inputList){
         List<Map<String, Object>> resultList = new ArrayList<>();
         for(Map<String, Object> inputMap : inputList) {
             StringBuilder sql = new StringBuilder(
@@ -104,7 +207,7 @@ public class LISServiceImpl implements LISService {
 
             // 处理SAVE_DATE(字符串类型)
             if (inputMap.containsKey("OPERATION_DATE") && inputMap.get("OPERATION_DATE") != null) {
-                sql.append(" AND SAVE_DATE = '"+inputMap.get("OPERATION_DATE")+"'");
+                sql.append(" AND DESTROY_DATE = '"+inputMap.get("OPERATION_DATE")+"'");
 //                params.addValue("saveDate", inputMap.get("SAVE_DATE"), Types.VARCHAR);
             }
 
@@ -136,11 +239,11 @@ public class LISServiceImpl implements LISService {
         return resultList;
     }
 
-    public List<Map<String, Object>> getDestorySampleList(List<Map<String, Object>> inputList){
+    public List<Map<String, Object>> getDestoryedSampleList(List<Map<String, Object>> inputList){
         List<Map<String, Object>> resultList = new ArrayList<>();
         for(Map<String, Object> inputMap : inputList) {
             StringBuilder sql = new StringBuilder(
-                    "select SAVE_DATE,INSPECTION_ID,PATIENT_NAME,TEST_ORDER_NAME from V_JT_SAVEANDDESTROY where STATE=2");
+                    "select SAVE_DATE,INSPECTION_ID,PATIENT_NAME,TEST_ORDER_NAME from V_JT_SAVEANDDESTROY where STATE=4");
 
             MapSqlParameterSource params = new MapSqlParameterSource();
 
@@ -179,10 +282,16 @@ public class LISServiceImpl implements LISService {
     }
 
     public int SaveSample(List<Map<String, Object>> inputList){
+
         String OperationDate = null;
         String GroupCode = null;
         String OperationName = null;
         int ret = -1;
+//        //----------以下为测试用----------
+//        if(1==1){
+//            return 0;
+//        }
+//        //----------以上为测试用----------
         List<String> RemoveSampleList = new ArrayList<>();
         for(Map<String, Object> inputMap : inputList) {
             if (inputMap.containsKey("OPERATION_DATE")) {
@@ -235,6 +344,11 @@ public class LISServiceImpl implements LISService {
         log.info("call process:Save-> " + xml);
         Map<String, Object> out = jdbcCall.execute(inParams);
         ret = Integer.parseInt((String) out.get("a_result"));
+        if(!(ret ==0)){
+            log.info("---------------call process:Save-> fail!---------------");
+        }else{
+            log.info("call process:Save-> success!");
+        }
         return ret;
     }
 
@@ -242,7 +356,12 @@ public class LISServiceImpl implements LISService {
         String OperationDate = null;
         String GroupCode = null;
         String OperationName = null;
-        int ret = 0;
+        int ret = -1;
+//        //----------以下为测试用----------
+//        if(1==1){
+//            return 0;
+//        }
+//        //----------以上为测试用----------
         List<String> RemoveSampleList = new ArrayList<>();
         for(Map<String, Object> inputMap : inputList) {
             if (inputMap.containsKey("OPERATION_DATE")) {
@@ -295,6 +414,11 @@ public class LISServiceImpl implements LISService {
         log.info("call process:Destory-> " + xml);
         Map<String, Object> out = jdbcCall.execute(inParams);
         ret = Integer.parseInt((String) out.get("a_result"));
+        if(!(ret ==0)){
+            log.info("---------------call process:Save-> fail!---------------");
+        }else{
+            log.info("call process:Save-> success!");
+        }
         return ret;
     }
 }