LIJU 3 weeks ago
parent
commit
f7d5195c66

+ 5 - 0
src/main/java/thyyxxk/webserver/controller/medicalinsurance/SiZyController.java

@@ -56,6 +56,11 @@ public class SiZyController {
         return service.multipleUpload(overviews);
     }
 
+    @PostMapping("/injuryMultipleUpload")
+    public ResultVo<String> injuryMultipleUpload(@RequestBody List<Overview> overviews) {
+        return service.injuryMultipleUpload(overviews);
+    }
+
     @PostMapping("/pairNegativeFee")
     public ResultVo<String> pairNegativeFee(@RequestBody NotUploadedFee fee) {
         return service.pairNegativeFee(fee);

+ 3 - 0
src/main/java/thyyxxk/webserver/service/externalhttp/SiZySrvc.java

@@ -18,6 +18,9 @@ public interface SiZySrvc {
     @Post("{url}/zyFee/uploadMultiplePatientFees")
     ResultVo<String> uploadMultiplePatientFees(@Var("url") String url, @JSONBody List<Overview> overviews);
 
+    @Post("{url}/zyFee/uploadWorkInjuryFees")
+    ResultVo<String> uploadWorkInjuryFees(@Var("url") String url, @JSONBody List<Overview> overviews);
+
     @Post("{url}/selfpay/uploadSelfpayMedfee")
     JSONObject uploadSelfpayFees(@Var("url") String url, @JSONBody BriefPatInfo patInfo);
 }

+ 17 - 0
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiZyService.java

@@ -242,6 +242,23 @@ public class SiZyService {
         return zySrvc.uploadMultiplePatientFees(siZyFeeUrl, overviews);
     }
 
+    public ResultVo<String> injuryMultipleUpload(List<Overview> overviews) {
+        for (Overview o : overviews) {
+            if (o.getStatus() == 0) {
+                String message = String.format("【%s床,%s,%s】未进行工伤登记,无法进行费用上传。",
+                        o.getBedNo(), o.getInpatientNo(), o.getName());
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, message);
+            }
+            if (!invalidMultipleUploadPatient(o.getMedType())) {
+                String message = String.format("【%s床,%s,%s】是非工伤患者,不支持批量上传。",
+                        o.getBedNo(), o.getInpatientNo(), o.getName());
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, message);
+            }
+            o.setStaffId(TokenUtil.getInstance().getTokenUserId());
+        }
+        return zySrvc.uploadWorkInjuryFees(siZyFeeUrl, overviews);
+    }
+
     private boolean invalidMultipleUploadPatient(String medtype) {
         MedType medType = MedType.get(medtype);
         return null == medType || medType == MedType.ZHUYUAN_ZHITI_CAN || medType == MedType.ZHUYUAN_ZHIYE_BING || medType == MedType.ZHUYUAN_KANGFU;