瀏覽代碼

辅助查询和备案管理

lighter 2 年之前
父節點
當前提交
dd280c4f3b

+ 11 - 0
src/main/java/thyyxxk/webserver/controller/dictionary/FetchDictionariesController.java

@@ -4,11 +4,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import thyyxxk.webserver.constants.sidicts.PsnCertType;
 import thyyxxk.webserver.dao.his.dictionary.FetchDictionariesDao;
 import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.dictionary.CodeName;
 import thyyxxk.webserver.utils.ResultVoUtil;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @RestController
@@ -35,4 +37,13 @@ public class FetchDictionariesController {
     public ResultVo<List<CodeName>> selectRelations() {
         return ResultVoUtil.success(dao.selectRelations());
     }
+
+    @GetMapping("/psnCertType")
+    public ResultVo<List<CodeName>> selectPsnCertTypes() {
+        List<CodeName> list = new ArrayList<>();
+        for (PsnCertType psnCertType : PsnCertType.values()) {
+            list.add(new CodeName(psnCertType.getCode(), psnCertType.getName()));
+        }
+        return ResultVoUtil.success(list);
+    }
 }

+ 4 - 5
src/main/java/thyyxxk/webserver/controller/medicalinsurance/SiManageController.java

@@ -1,5 +1,6 @@
 package thyyxxk.webserver.controller.medicalinsurance;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -100,15 +101,13 @@ public class SiManageController {
         return service.deptInfoDelete(deptInfo);
     }
 
-    @PassToken
     @PostMapping("/queryDeptInfo")
-    public ResultVo<JSONObject> queryDeptInfo(@RequestBody DeptInfoQuery query) {
-        return service.queryDeptInfo(query);
+    public ResultVo<JSONArray> queryDeptInfo() {
+        return service.queryDeptInfo();
     }
 
-    @PassToken
     @PostMapping("/queryMedStaffInfo")
-    public ResultVo<JSONObject> queryMedStaffInfo(@RequestBody MedStaffQuery query) {
+    public ResultVo<JSONArray> queryMedStaffInfo(@RequestBody MedStaffQuery query) {
         return service.queryMedStaffInfo(query);
     }
 

+ 26 - 4
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiManageService.java

@@ -625,11 +625,17 @@ public class SiManageService {
         return SiUtil.makeReturnWithoutOutput(result, "科室信息撤销成功。");
     }
 
-    public ResultVo<JSONObject> queryDeptInfo(DeptInfoQuery query) {
+    public ResultVo<JSONArray> queryDeptInfo() {
         JSONObject input = exec.makeTradeHeader(SiFunction.QUERY_DEPARTMENT_INFO);
+        String staffId = TokenUtil.getTokenUserId();
+        DeptInfoQuery query = new DeptInfoQuery();
+        query.setOpterType("1");
+        query.setOpter(staffId);
+        query.setOpterName(redis.getEmployeeName(staffId));
         query.setInfno(SiFunction.QUERY_DEPARTMENT_INFO.getCode());
         query.setMsgid(input.getString("msgid"));
         query.setInfTime(input.getString("inf_time"));
+        query.setMdtrtareaAdmvs(SiUtil.INSTITUTION_AREA);
         query.setFixmedinsCode(SiUtil.INSTITUTION_ID);
         query.setFixmedinsName(SiUtil.INSTITUTION_NAME);
         query.setSignNo(input.getString("sign_no"));
@@ -643,13 +649,21 @@ public class SiManageService {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "医保中心报错:" + result.getString("message"));
         }
         if (infcode == 0) {
-            return ResultVoUtil.success(result.getJSONObject(OUTPUT));
+            JSONObject output = result.getJSONObject(OUTPUT);
+            if (null == output) {
+                return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
+            }
+            JSONArray details = output.getJSONArray("feedetail");
+            if (null == details || details.isEmpty()) {
+                return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
+            }
+            return ResultVoUtil.success(details);
         }
         return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, result.getString(ERROR_MESSAGE));
     }
 
     // 接口存在问题
-    public ResultVo<JSONObject> queryMedStaffInfo(MedStaffQuery query) {
+    public ResultVo<JSONArray> queryMedStaffInfo(MedStaffQuery query) {
         String ref = JSONObject.toJSONString(query);
         JSONObject input = exec.makeTradeHeader(SiFunction.QUERY_MEDICAL_STAFF_INFO);
         input.getJSONObject("input").put("data", JSONObject.parseObject(ref));
@@ -660,7 +674,15 @@ public class SiManageService {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "医保中心报错:" + result.getString("message"));
         }
         if (infcode == 0) {
-            return ResultVoUtil.success(result.getJSONObject(OUTPUT));
+            JSONObject output = result.getJSONObject(OUTPUT);
+            if (null == output) {
+                return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
+            }
+            JSONArray details = output.getJSONArray("feedetail");
+            if (null == details || details.isEmpty()) {
+                return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
+            }
+            return ResultVoUtil.success(details);
         }
         return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, result.getString(ERROR_MESSAGE));
     }

+ 1 - 1
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiQueryService.java

@@ -820,7 +820,7 @@ public class SiQueryService {
             JSONObject output = result.getJSONObject(OUTPUT);
             JSONArray array = output.getJSONArray("psnfixmedin");
             if (null == array || array.size() == 0) {
-                return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "没有查询到对应的定信息。");
+                return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "没有查询到对应的定信息。");
             }
             List<PsnFixMedin> list = new ArrayList<>();
             for (int i = 0; i < array.size(); i++) {