Browse Source

针对反结算患者填不了医保诊断的问题做出的修复

lighter 2 years ago
parent
commit
f3cfc79d73

+ 5 - 0
src/main/java/thyyxxk/webserver/dao/his/casefrontsheet/CaseFrontSheetDao.java

@@ -673,4 +673,9 @@ public interface CaseFrontSheetDao extends BaseMapper<CaseFrontsheetMain> {
 
     @Select("select name from t_region where code=#{region}")
     String selectRegionName(@Param("region") Integer region);
+
+    @Select("select med_type from t_si_pat_info where pat_no=#{patNo} and times=#{times} and ledger_sn=" +
+            "(select max(t.ledger_sn) from zy_ledger_file t where t.inpatient_no=#{patNo} and t.admiss_times=#{times})")
+    String selectMedType(@Param("patNo") String patNo,
+                         @Param("times") int times);
 }

+ 8 - 0
src/main/java/thyyxxk/webserver/service/casefrontsheet/CaseFrontSheetMainService.java

@@ -214,6 +214,14 @@ public class CaseFrontSheetMainService {
                     sheet.setAgeDays(DateUtil.calculateNewBornAge(sheet.getBirthDate(), sheet.getAdmissDate()));
                     dao.updateNewBornAge(bah, times, sheet.getAgeDays());
                 }
+                if (StringUtil.isBlank(sheet.getMedType())) {
+                    String psnmedtype = dao.selectMedType(sheet.getBah(), sheet.getAdmissTimes());
+                    MedType medType = MedType.get(psnmedtype);
+                    if (null != medType) {
+                        sheet.setMedType(psnmedtype);
+                        sheet.setMedTypeName(medType.getName());
+                    }
+                }
                 return ResultVoUtil.success(sheet);
             }
         }