Explorar o código

结算统计增加出院诊断

hsh hai 3 meses
pai
achega
ce8d535e90

+ 4 - 1
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiSetlinfoDao.java

@@ -59,7 +59,10 @@ public interface SiSetlinfoDao extends BaseMapper<SiSetlinfo> {
                                                  @Param("enddate") String enddate);
 
     @Select("select *,sbjjPay=(select fund_payamt from t_si_setldetail " +
-            "where setl_id=a.setl_id and fund_pay_type='650100') from t_si_setlinfo a " +
+            "where setl_id=a.setl_id and fund_pay_type='650100'), " +
+            "cyzd=case when #{setltype} = '21' then (select isnull(admiss_diag_str, clinic_diag_str) from zy_patient where a.pat_no = inpatient_no and a.times = admiss_times)" +
+            " else (select isnull(icd_text_new, '') from mz_visit_table where a.pat_no = patient_id and a.times = times) end " +
+            "from t_si_setlinfo a " +
             "where setl_type=#{setltype} and revoked=0 and insutype like #{insutype} " +
             "and setl_time>=#{begntime} and setl_time<=#{endtime} ${insuplcAdmdvs}")
     List<SiSetlinfo> selectMyList(@Param("setltype") String setltype,

+ 6 - 0
src/main/java/thyyxxk/webserver/entity/medicalinsurance/setlinfo/SiSetlinfo.java

@@ -398,4 +398,10 @@ public class SiSetlinfo implements Serializable {
 	@TableField(exist = false)
 	private String mealsFee;
 
+	/**
+	 * 出院诊断
+	 * */
+	@TableField(exist = false)
+	private String cyzd;
+
 }

+ 8 - 1
src/main/java/thyyxxk/webserver/service/medicine/YpDictService.java

@@ -800,7 +800,14 @@ public class YpDictService {
             YpTypeNumberEnum ypTypeNumber = YpTypeNumberEnum.getYpTypeNumberByCode(Integer.parseInt(ypType));
             assert ypTypeNumber != null;
             String maxCode = dao.selectMaxCode(ypTypeNumber.minNum, ypTypeNumber.maxNum);
-            int code = Integer.parseInt(maxCode)+1;
+            int initNum;
+            if("1".equals(ypType)){
+                initNum = 0;
+            } else {
+                initNum = Convert.toInt(ypTypeNumber.minNum, 0);
+            }
+            int code = Convert.toInt(maxCode,initNum) + 1;
+//            int code = Integer.parseInt(maxCode)+1;
             maxCode = callYpCodeFormat(code);
             // 药品编码与医嘱编码冲突重置编码
             int cs = dao.selectYzOrderItemByCode(maxCode);