Selaa lähdekoodia

主要手术个诊断

xiaochan 3 vuotta sitten
vanhempi
commit
3a5c3e8a51

+ 12 - 25
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/UpIdCollectionDao.java

@@ -142,20 +142,16 @@ public interface UpIdCollectionDao {
     // 这里是 住院诊断消息
     @Select("select si_diag_type as diag_type,  " +
             "       rtrim(dis_diag) as diag_code,  " +
-            "       rtrim(dis_diag_comment) as diag_name,  " +
-            "       case when dis_diag_no = 1 then 1 else 0 end as maindiag_flag  " +
+            "       rtrim(dis_diag_comment) as diag_name " +
             "from ${tableName}  " +
             "where inpatient_no = #{patNo} and admiss_times = #{times} " +
-            "and op_diag_date > #{admTime}  " +
-            "and op_diag_date < #{dscgTime}")
+            "order by dis_diag_no ")
     List<DiseinfoUpld> diseinfo(@Param("patNo") String patNo,
                                 @Param("times") Integer times,
-                                @Param("tableName") String tableName,
-                                @Param("admTime") String admTime,
-                                @Param("dscgTime") String dscgTime);
+                                @Param("tableName") String tableName);
 
     // 这里是手术操作信息
-    @Select("select case ssxh when 1 then 1 else  2 end oprn_oprt_type, " +
+    @Select("select " +
             "       rtrim(ssmc) as oprn_oprt_name, " +
             "       rtrim(ssbm) as oprn_oprt_code, " +
             "       ssrq as oprn_oprt_date, " +
@@ -165,14 +161,11 @@ public interface UpIdCollectionDao {
             "       (select rtrim(name) from a_employee_mi where code = mzys) as  anst_dr_name, " +
             "       (select yb_code from a_employee_mi where code = mzys)  as anst_dr_code " +
             "       from ${tableName} " +
-            "where zyh = #{patNo} and zycs = #{times} and isnull(ssbm,'-') <> '-' " +
-            "and ssrq > #{admTime} " +
-            "and ssrq < #{dscgTime}")
+            "where zyh = #{patNo} and zycs = #{times} " +
+            "order by ssxh")
     List<OprninfoUpld> oprninfoUplds(@Param("patNo") String patNo,
                                      @Param("times") Integer times,
-                                     @Param("tableName") String tableName,
-                                     @Param("admTime") String admTime,
-                                     @Param("dscgTime") String dscgTime);
+                                     @Param("tableName") String tableName);
 
     @Select("select insuplc_admdvs,insutype,med_type from t_si_pat_info " +
             "where pat_no = #{patNo} and times = #{times} and ledger_sn = #{ledgerSn}")
@@ -426,14 +419,10 @@ public interface UpIdCollectionDao {
             "rtrim(dis_diag_comment) dis_diag_comment," +
             "op_id_code, op_diag_date, dis_diag_bzfx, dis_diag_status, operation, si_diag_type,admiss_cond  " +
             "from ${tableName} where inpatient_no = #{patNo} and admiss_times = #{times} " +
-            "and op_diag_date > #{admTime}  " +
-            "and op_diag_date < #{dscgTime}" +
-            " order by  dis_diag_no ")
+            "order by  dis_diag_no ")
     List<YbZyDisDiag> zhenDuanXinXi(@Param("patNo") String patNo,
                                     @Param("times") Integer times,
-                                    @Param("tableName") String tableName,
-                                    @Param("admTime") String admTime,
-                                    @Param("dscgTime") String dscgTime);
+                                    @Param("tableName") String tableName);
 
 
     @Select("select ssys_name = (select top(1) rtrim(name) from a_employee_mi where code = ssys), " +
@@ -446,13 +435,11 @@ public interface UpIdCollectionDao {
             "rtrim(yhqk) yhqk, ssbfz, fhqk, ssjb, cut_heal," +
             "(select top(1) yb_code from a_employee_mi where code = ssys) as oper_dr_code, " +
             "(select top(1) yb_code from a_employee_mi where code = mzys) as anst_dr_code " +
-            "from ${tableName} where zyh = #{patNo} and zycs = #{times} and isnull(ssbm,'-') <> '-' " +
-            "and ssrq > #{admTime} and ssrq < #{dscgTime}")
+            "from ${tableName} where zyh = #{patNo} and zycs = #{times} " +
+            "order by ssxh")
     List<BatjBa4> shouShuXinXi(@Param("patNo") String patNo,
                                @Param("times") Integer times,
-                               @Param("tableName") String tableName,
-                               @Param("admTime") String admTime,
-                               @Param("dscgTime") String dscgTime);
+                               @Param("tableName") String tableName);
 
 
     @Select("select rtrim(inpatient_no) inpatient_no,admiss_times,rtrim(name) name,admiss_date,dis_date,responce_type,operation, " +

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

@@ -173,11 +173,14 @@ public class SetlListUpldService {
         EntityCopy.Copy(dao.setlinfo2(patNo), setlinfoUpld);
         EntityCopy.Copy(dao.setlinfo3(patNo, times), setlinfoUpld);
         EntityCopy.Copy(dao.setlinfo4(patNo, times), setlinfoUpld);
-        List<OprninfoUpld> oprninfoUpld = dao.oprninfoUplds(patNo, times, flag == 1 ? "batj_ba4_modify" : "batj_ba4",
-                DateUtil.formatDatetime(setlinfoUpld.getAdmTime()), DateUtil.formatDatetime(setlinfoUpld.getDscgTime()));
+        List<OprninfoUpld> oprninfoUpld = dao.oprninfoUplds(patNo, times, flag == 1 ? "batj_ba4_modify" : "batj_ba4");
         // 手术计数
         setlinfoUpld.setOprnOprtCodeCnt(String.valueOf(oprninfoUpld.size()));
 
+        for (int i = 0; i < oprninfoUpld.size(); i++) {
+            oprninfoUpld.get(i).setOprnOprtType(i == 0 ? "1" : "2");
+        }
+
         // 离院方式 我们是从 0 开始的所以要加 1
         setlinfoUpld.setDscgWay(DecimalUtil.add1(setlinfoUpld.getDscgWay(), "1"));
         // 治疗类别 我们是从 0 开始的所以要加 1
@@ -259,10 +262,13 @@ public class SetlListUpldService {
             }
         }
         List<PayinfoUpld> payinfo = dao.payinfoUpld(patNo, times, ledgerSn);
-        List<DiseinfoUpld> diseinfos = dao.diseinfo(patNo, times, flag == 1 ? "zy_dis_diag_yb_modify" : "zy_dis_diag_yb",
-                DateUtil.formatDatetime(setlinfoUpld.getAdmTime()), DateUtil.formatDatetime(setlinfoUpld.getDscgTime()));
+        List<DiseinfoUpld> diseinfos = dao.diseinfo(patNo, times, flag == 1 ? "zy_dis_diag_yb_modify" : "zy_dis_diag_yb");
         setlinfoUpld.setDiagCodeCnt(String.valueOf(diseinfos.size()));
 
+        for (int i = 0; i < diseinfos.size(); i++) {
+            diseinfos.get(i).setMaindiagFlag(i == 0 ? "1" : "2");
+        }
+
         UpldCollection upldCollection = new UpldCollection();
         // 患者的基本信息
         upldCollection.setSetlinfo(setlinfoUpld);
@@ -349,9 +355,8 @@ public class SetlListUpldService {
         temp.setOpspdiseinfo(EntityCopy.CopyList(uploadInfo.getData().getOpspdiseinfo(), OpspdiseinfoUpldTemp.class));
 
         // 诊断 有申请且成功的 就用 新的诊断
-        temp.setDiseinfo(EntityCopy.CopyList(dao.zhenDuanXinXi(patNo, times, flag == 1 ? "zy_dis_diag_yb_modify" : "zy_dis_diag_yb",
-                DateUtil.formatDatetime(temp.getSetlinfo().getAdmTime()),
-                DateUtil.formatDatetime(temp.getSetlinfo().getDscgTime())), DiseinfoUpldTemp.class));
+        temp.setDiseinfo(EntityCopy.CopyList(dao.zhenDuanXinXi(patNo, times, flag == 1 ? "zy_dis_diag_yb_modify" : "zy_dis_diag_yb"),
+                DiseinfoUpldTemp.class));
         // 费用类型
         temp.setIteminfo(EntityCopy.CopyList(uploadInfo.getData().getIteminfo(), IteminfoUpldTemp.class));
         // 计算费用的总和
@@ -372,8 +377,7 @@ public class SetlListUpldService {
         }
 
         // 手术 也是一样的
-        temp.setOprninfo(EntityCopy.CopyList(dao.shouShuXinXi(patNo, times, flag == 1 ? "batj_ba4_modify" : "batj_ba4",
-                DateUtil.formatDatetime(temp.getSetlinfo().getAdmTime()), DateUtil.formatDatetime(temp.getSetlinfo().getDscgTime())), OprninfoUpldTemp.class));
+        temp.setOprninfo(EntityCopy.CopyList(dao.shouShuXinXi(patNo, times, flag == 1 ? "batj_ba4_modify" : "batj_ba4"), OprninfoUpldTemp.class));
         temp.setIcuinfo(EntityCopy.CopyList(uploadInfo.getData().getIcuinfo(), IcuinfoUpldTemp.class));
         // 国籍
         temp.getSetlinfo().setNtlyName(dao.getNtlyName(temp.getSetlinfo().getNtly()));
@@ -745,7 +749,7 @@ public class SetlListUpldService {
         // 在这里带出 患者病案首页的 入院病情
         Map<String, YbZyDisDiag> zhenDuanMap = dao.huanZheBingAnShouYeZhenDuanRuYuanBingQing(patNo, times).stream().collect(
                 Collectors.toMap(YbZyDisDiag::getDisDiag, a -> a, (k1, k2) -> k1));
-        List<YbZyDisDiag> laoZhenDuan = dao.zhenDuanXinXi(patNo, times, "zy_dis_diag_yb", DateUtil.formatDatetime(zy.getAdmissDate()), DateUtil.formatDatetime(zy.getDisDate()));
+        List<YbZyDisDiag> laoZhenDuan = dao.zhenDuanXinXi(patNo, times, "zy_dis_diag_yb");
         List<YbZyDisDiag> xuYaoGenXinDeZhenDuan = new ArrayList<>();
 
         for (YbZyDisDiag item : laoZhenDuan) {
@@ -762,11 +766,11 @@ public class SetlListUpldService {
             dao.genXingLaoZhenDuan(xuYaoGenXinDeZhenDuan);
         }
         // 新老一起查
-        zy.setBatjBa4(dao.shouShuXinXi(patNo, times, "batj_ba4", DateUtil.formatDatetime(zy.getAdmissDate()), DateUtil.formatDatetime(zy.getDisDate())));
-        zy.setNewBatjBa4(dao.shouShuXinXi(patNo, times, "batj_ba4_modify", DateUtil.formatDatetime(zy.getAdmissDate()), DateUtil.formatDatetime(zy.getDisDate())));
+        zy.setBatjBa4(dao.shouShuXinXi(patNo, times, "batj_ba4"));
+        zy.setNewBatjBa4(dao.shouShuXinXi(patNo, times, "batj_ba4_modify"));
         // 诊断编码
-        zy.setYbZyDisDiag(dao.zhenDuanXinXi(patNo, times, "zy_dis_diag_yb", DateUtil.formatDatetime(zy.getAdmissDate()), DateUtil.formatDatetime(zy.getDisDate())));
-        zy.setNewYbZyDisDiag(dao.zhenDuanXinXi(patNo, times, "zy_dis_diag_yb_modify", DateUtil.formatDatetime(zy.getAdmissDate()), DateUtil.formatDatetime(zy.getDisDate())));
+        zy.setYbZyDisDiag(dao.zhenDuanXinXi(patNo, times, "zy_dis_diag_yb"));
+        zy.setNewYbZyDisDiag(dao.zhenDuanXinXi(patNo, times, "zy_dis_diag_yb_modify"));
         return ResultVoUtil.success(zy);
     }