Browse Source

结算单上传

DESKTOP-0GD05B0\Administrator 2 years ago
parent
commit
d3d9679a1a

+ 5 - 3
src/main/java/thyyxxk/webserver/entity/medicalinsurance/setllistupld/SetlinfoUpld.java

@@ -29,7 +29,7 @@ public class SetlinfoUpld implements Serializable {
     private String setlId;
 
     /**
-     * 定点医药机构名称
+     * 定点医药机构名称·1
      */
     @JSONField(name = "fixmedins_name")
     private String fixmedinsName;
@@ -171,6 +171,7 @@ public class SetlinfoUpld implements Serializable {
      */
     @JSONField(name = "coner_addr")
     private String conerAddr;
+
     /**
      * 联系人电话
      */
@@ -482,7 +483,7 @@ public class SetlinfoUpld implements Serializable {
      * 状态分类
      */
     @JSONField(name = "stas_type")
-    private String stasType;
+    private String stasType = "1";
 
     /**
      * 医保统筹基金支付 fund_pay_sumamt
@@ -497,7 +498,8 @@ public class SetlinfoUpld implements Serializable {
 
     /**
      * 医院支付
-     * */
+     */
     private String hospPartAmt;
 
+
 }

+ 52 - 14
src/main/java/thyyxxk/webserver/service/medicalinsurance/SetlListUpldService.java

@@ -112,24 +112,27 @@ public class SetlListUpldService {
             }
         }
         SetlinfoUpld temp = upldCollection.getData().getSetlinfo();
-        if (StringUtil.isBlank(temp.getChfpdrCode())) {
-            errorMessage.append("主诊医师编码为空。");
-        }
-        if (StringUtil.isBlank(temp.getRespNursCode())) {
-            errorMessage.append("责任护士编码为空。");
+        if (!patNo.contains("-")){
+            if (StringUtil.isBlank(temp.getChfpdrCode())) {
+                errorMessage.append("主诊医师编码为空。");
+            }
+            if (StringUtil.isBlank(temp.getRespNursCode())) {
+                errorMessage.append("责任护士编码为空。");
+            }
         }
+
         if (ListUtil.notBlank(upldCollection.getData().getOprninfo())) {
             for (OprninfoUpld item : upldCollection.getData().getOprninfo()) {
                 if (StringUtil.isBlank(item.getOperDrCode())) {
                     errorMessage.append(String.format("医生:【%s】,没有医保编码请去职工字典数据维护中添加", null == item.getOperDrName() ? "没有填写医生" : item.getOperDrName()));
                 }
-                if (StringUtil.notBlank(item.getAnstDrName()) && StringUtil.isBlank(item.getAnstDrCode())) {
+                if (StringUtil.isBlank(item.getAnstDrName()) && StringUtil.isBlank(item.getAnstDrCode())) {
                     errorMessage.append(String.format("医生:【%s】,没有医保编码请去职工字典数据维护中添加", null == item.getAnstDrName() ? "没有填写医生" : item.getAnstDrName()));
                 }
                 if (StringUtil.notBlank(item.getAnstDrName()) && (StringUtil.isBlank(item.getAnstBegntime()) || StringUtil.isBlank(item.getAnstEndtime()))) {
                     errorMessage.append(String.format("手术:【%s】,有麻醉医生,没有麻时间请填写", item.getOprnOprtName()));
                 }
-                if (StringUtil.notBlank(item.getOprnOprtEndtime())) {
+                if (StringUtil.isBlank(item.getOprnOprtEndtime())) {
                     errorMessage.append(String.format("手术:【%s】,手术结束时间为空。", item.getOprnOprtName()));
                 }
             }
@@ -218,13 +221,13 @@ public class SetlListUpldService {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "结算id为空");
         }
         // 特级护理
-        setlinfoUpld.setSpgaNurscareDays(String.valueOf(dao.teJiHuLi(publicServer.getInpatientNo(patNo), times, ledgerSn, publicServer.getInfantFlag(patNo))));
+        setlinfoUpld.setSpgaNurscareDays(nursingDays(dao.teJiHuLi(publicServer.getInpatientNo(patNo), times, ledgerSn, publicServer.getInfantFlag(patNo))));
         // 一级护理
-        setlinfoUpld.setLv1NurscareDays(String.valueOf(dao.yiJiHuLi(publicServer.getInpatientNo(patNo), times, ledgerSn, publicServer.getInfantFlag(patNo))));
+        setlinfoUpld.setLv1NurscareDays(nursingDays(dao.yiJiHuLi(publicServer.getInpatientNo(patNo), times, ledgerSn, publicServer.getInfantFlag(patNo))));
         // 二级护理
-        setlinfoUpld.setScdNurscareDays(String.valueOf(dao.erJiHuLi(publicServer.getInpatientNo(patNo), times, ledgerSn, publicServer.getInfantFlag(patNo))));
+        setlinfoUpld.setScdNurscareDays(nursingDays(dao.erJiHuLi(publicServer.getInpatientNo(patNo), times, ledgerSn, publicServer.getInfantFlag(patNo))));
         // 三级护理
-        setlinfoUpld.setLv3NurscareDays(String.valueOf(dao.sanJiHuLi(publicServer.getInpatientNo(patNo), times, ledgerSn, publicServer.getInfantFlag(patNo))));
+        setlinfoUpld.setLv3NurscareDays(nursingDays(dao.sanJiHuLi(publicServer.getInpatientNo(patNo), times, ledgerSn, publicServer.getInfantFlag(patNo))));
         GetDropdownBox getDropdownBox = dao.userInfo(TokenUtil.getTokenUserId());
         // 医疗机构填报人
         setlinfoUpld.setMedinsFillPsn(getDropdownBox.getName());
@@ -320,6 +323,9 @@ public class SetlListUpldService {
             if (StringUtil.isBlank(setlinfoUpld.getEmpName())) {
                 setlinfoUpld.setEmpName("普通职工");
             }
+            if (StringUtil.isBlank(setlinfoUpld.getEmpTel())) {
+                setlinfoUpld.setEmpTel(setlinfoUpld.getConerTel());
+            }
         }
 
         // 呼吸机使用时长
@@ -359,10 +365,39 @@ public class SetlListUpldService {
             upldCollection.getSetlinfo().setNwbAge(null);
             upldCollection.getSetlinfo().setNwbAdmType(null);
         }
+        List<String> urbanAndRuralMedicalInsurance = Arrays.asList("390", "392");
+        // 城乡医保类型可不填这两项
+        if (urbanAndRuralMedicalInsurance.contains(setlinfoUpld.getHiType())) {
+            setlinfoUpld.setEmpTel(null);
+            setlinfoUpld.setPoscode(null);
+        }
+        //  颅脑损伤患者昏迷时间 没有就不填写
+        if ("0/0/0".equals(setlinfoUpld.getPwcryAfadmComaDura())) {
+            setlinfoUpld.setPwcryAfadmComaDura(null);
+        }
+        if ("0/0/0".equals(setlinfoUpld.getPwcryBfadmComaDura())) {
+            setlinfoUpld.setPwcryBfadmComaDura(null);
+        }
 
         return ResultVoUtil.success(upldCollection);
     }
 
+    /**
+     * 特级护理天数如果是 0 就不传值
+     *
+     * @param days
+     * @return
+     */
+    private String nursingDays(Integer days) {
+        if (days == null) {
+            return null;
+        } else if (days.equals(0)) {
+            return null;
+        } else {
+            return String.valueOf(days);
+        }
+    }
+
     @NotNull
     private List<IcuinfoUpld> getIcuinfoUplds(String patNo, Integer times) {
         List<IcuinfoUpld> zhongZhenJianHu = new ArrayList<>();
@@ -1188,8 +1223,6 @@ public class SetlListUpldService {
         } else {
             upldCollection.setOpspdiseinfo(dao.outpatientDiagnosis2(patNo, times));
         }
-
-
         mzPatient.setHsorg("长沙市医疗保障事务中心");
         mzPatient.setHsorgOpter("长沙市医疗保障事务中心");
         GetDropdownBox getDropdownBox = dao.userInfo(TokenUtil.getTokenUserId());
@@ -1238,6 +1271,12 @@ public class SetlListUpldService {
                 upldCollection.getSetlinfo().setPsnCashpay(upldCollection.getSetlinfo().getPsnSelfpay());
             }
         }
+        List<String> urbanAndRuralMedicalInsurance = Arrays.asList("390", "392");
+        // 城乡医保类型可不填这两项
+        if (urbanAndRuralMedicalInsurance.contains(mzPatient.getHiType())) {
+            mzPatient.setEmpTel(null);
+            mzPatient.setPoscode(null);
+        }
         return ResultVoUtil.success(upldCollection);
     }
 
@@ -1294,5 +1333,4 @@ public class SetlListUpldService {
     }
 
 
-
 }