Pārlūkot izejas kodu

门诊查询慢特病备案接口

lighter 1 gadu atpakaļ
vecāks
revīzija
e441b80900

+ 29 - 1
src/main/java/thyyxxk/webserver/controller/medicalinsurance/MarkMtFeesController.java

@@ -12,9 +12,12 @@ import thyyxxk.webserver.entity.markmtfees.SiMzBusinessParams;
 import thyyxxk.webserver.entity.medicalinsurance.onlinepayment.EcToken;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.MzPatientInfo;
 import thyyxxk.webserver.entity.medicalinsurance.outpatient.SpcChrDiseAcct;
+import thyyxxk.webserver.entity.medicalinsurance.query.BscQryPrm;
 import thyyxxk.webserver.entity.medicalinsurance.setlinfo.FundDetail;
 import thyyxxk.webserver.service.medicalinsurance.SiMzService;
+import thyyxxk.webserver.service.medicalinsurance.SiQueryService;
 import thyyxxk.webserver.utils.ResultVoUtil;
+import thyyxxk.webserver.utils.StringUtil;
 
 import java.util.*;
 
@@ -23,10 +26,12 @@ import java.util.*;
 @RequestMapping("/markMtFees")
 public class MarkMtFeesController {
     private final SiMzService mzService;
+    private final SiQueryService queryService;
 
     @Autowired
-    public MarkMtFeesController(SiMzService mzService) {
+    public MarkMtFeesController(SiMzService mzService, SiQueryService queryService) {
         this.mzService = mzService;
+        this.queryService = queryService;
     }
 
     /**
@@ -164,4 +169,27 @@ public class MarkMtFeesController {
         return ResultVoUtil.success(token.getEcToken());
     }
 
+    /**
+     * 查询慢特病备案
+     * */
+    @GetMapping("/scdRecord")
+    public ResultVo<List<SpcChrDiseAcct>> scdRecord(@RequestParam("socialNo") String socialNo,
+                                                    @RequestParam("admdvs") String admdvs) {
+        if (StringUtil.isBlank(socialNo)) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "患者的身份证不能为空!");
+        }
+        if (StringUtil.isBlank(admdvs)) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "患者的参保地区不能为空!");
+        }
+        String psnNoResponse = queryService.fetchPsnNo(socialNo, admdvs);
+        if (!psnNoResponse.startsWith("SUCCESS")) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, psnNoResponse);
+        }
+        String psnNo = psnNoResponse.split(":")[1];
+        BscQryPrm bscQryPrm = new BscQryPrm();
+        bscQryPrm.setPsnNo(psnNo);
+        bscQryPrm.setAdmdvs(admdvs);
+        return queryService.querySpecialChronicDiseasesAccreditation(bscQryPrm);
+    }
+
 }