Jelajahi Sumber

解决出院患者查询不到医嘱问题

xiaochan 2 tahun lalu
induk
melakukan
7847856c4b

+ 111 - 0
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyisheng/YiZhuLuRuDao.java

@@ -214,6 +214,114 @@ public interface YiZhuLuRuDao {
             " ${ew.customSqlSegment} ")
     List<XinZhenYzActOrder> selectOrderNo(@Param(Constants.WRAPPER) Wrapper<?> wq);
 
+
+    @Select("select                     a.act_order_no, " +
+            "                           cast(cast(a.act_order_no as decimal) as varchar) id," +
+            "                           newOrderFlag = (select count(*) from new_act_order_recording where new_act_order_recording.act_order_no = a.act_order_no),    " +
+            "                           order_code, " +
+            "                           order_name, " +
+            "                           rtrim(frequ_code)                              frequ_code, " +
+            "    frequ_code_name      = (select rtrim(comm) " +
+            "                            from yz_order_frequency " +
+            "                            where code = frequ_code), " +
+            "                           instruction, " +
+            "                           discription, " +
+            "                           infant_flag, " +
+            "                           order_time, " +
+            "                           physician, " +
+            "                           start_time, " +
+            "                           drug_specification, " +
+            "                           drug_quan, " +
+            "    drug_quan_name       = (select name " +
+            "                            from yp_zd_unit with (NOLOCK) " +
+            "                            where code = mini_unit), " +
+            "                           rtrim(supply_code) supply_code, " +
+            "    supply_code_name     = (select rtrim(supply_name) " +
+            "                            from yz_supply_type with (NOLOCK) " +
+            "                            where yz_supply_type.supply_code = a.supply_code), " +
+            "                           a.inpatient_no, " +
+            "                           a.admiss_times, " +
+            "                           drug_flag, " +
+            "                           enter_oper," +
+            "enter_oper_name      = (select top (1) rtrim(name) " +
+            "                            from a_employee_mi with (NOLOCK) " +
+            "                            where code = enter_oper) /* 录入人 */, " +
+            "                           enter_time, " +
+            "                           mini_unit, " +
+            "                           drug_weight, " +
+            "                           drug_weight_unit, " +
+            "                           rtrim(status_flag) status_flag, " +
+            "                           status_time, " +
+            "                           parent_no," +
+            " parent_no_name    = (select kfc.order_name from yz_act_order kfc where kfc.act_order_no = a.parent_no)," +
+            "                           self_buy, " +
+            "                           dose, " +
+            "                           dose_unit, " +
+            "    dose_unit_name       = (select name " +
+            "                            from yp_zd_unit with (NOLOCK) " +
+            "                            where dose_unit = code), " +
+            "                           drug_occ, " +
+            "                           drug_volume, " +
+            "                           drug_vol_unit, " +
+            "                           exclu_back_time, " +
+            "                           exclu_act_order_no, " +
+            "                           pay_self, " +
+            "                           serial, " +
+            "                           group_no, " +
+            "                           signer, " +
+            "                           cl_code, " +
+            "                           doctor_flag, " +
+            "                           emergency_flag, " +
+            "    exclu_type='', " +
+            "    end_time_b=end_time, " +
+            "                           exec_unit, " +
+            "                           dept_code, " +
+            "                           ward_code, " +
+            "    new_flag='0', " +
+            "    order_no_pattern=0, " +
+            "    suprice_flag='', " +
+            "    self_flag            ='', " +
+            "    pack_size=0.0, " +
+            "    parent_no_c=           -1000, " +
+            "                           reg_flag, " +
+            "    parent_flag='', " +
+            "                           yb_self_flag, " +
+            "                           kf_flag, " +
+            "                           refer_physician, " +
+            "                           consult_physician, " +
+            "    physician_name       = (select top (1) rtrim(name) " +
+            "                            from a_employee_mi with (NOLOCK) " +
+            "                            where code = physician) /* 开这个医嘱的医生 */, " +
+            "    exec_unit_name       = (select top (1) rtrim(name) " +
+            "                            from zd_unit_code with (NOLOCK) " +
+            "                            where code = exec_unit), " +
+            "    /*管床医生*/ " +
+            "    refer_physician_name = (select rtrim(name) " +
+            "                            from a_employee_mi with (NOLOCK) " +
+            "                            where code = refer_physician), " +
+            "    group_no_name        = (select rtrim(group_name) " +
+            "                            from yp_zd_group_name with (NOLOCK) " +
+            "                            where a.group_no = group_no), " +
+            "    signer_name          = (select top (1) rtrim(name) " +
+            "                            from a_employee_mi with (NOLOCK) " +
+            "                            where code = signer) /*确认人*/, " +
+            "                           confirm_time /*确认时间*/, " +
+            "                           modifier, " +
+            "    modifier_name        = (select top (1) rtrim(name) " +
+            "                            from a_employee_mi with (NOLOCK) " +
+            "                            where code = modifier) /*停止人*/, " +
+            "                           end_time /*停止时间*/," +
+            "                           b.new_ward as  zkWardCode, " +
+            "                           b.new_dept as  zkDeptCode," +
+            " kss.yyfs , kss.ssqk,kss.yysj," +
+            "   executer1       = (select name from a_employee_mi where code = executer1), " +
+            "   executer2= (select name from a_employee_mi where code = executer2) " +
+            "from yz_inact_order a  with (NOLOCK) left join " +
+            "zy_order_zk b with (NOLOCK) on (a.act_order_no = b.act_order_no) left join " +
+            "yz_act_record_kss kss on (a.act_order_no = kss.act_order_no) " +
+            " ${ew.customSqlSegment} ")
+    List<XinZhenYzActOrder> selectInOrderNo(@Param(Constants.WRAPPER) Wrapper<?> wq);
+
     @Select("select act_order_no, " +
             "rtrim(status_flag) status_flag," +
             "frequ_code," +
@@ -360,6 +468,9 @@ public interface YiZhuLuRuDao {
                                         Integer times,
                                         List<String> list);
 
+    @Select("select count(1) from zy_actpatient where inpatient_no = #{patNo} and admiss_times = #{times}")
+    int inTheHospital(String patNo,Integer times);
+
     @Update("<script>" +
             "update zy_detail_charge " +
             "set ori_detail_sn = -1 " +

+ 2 - 0
src/main/java/thyyxxk/webserver/entity/zhuyuanyisheng/yizhuluru/YiZhuFeiYongChaXunTiaoJian.java

@@ -66,4 +66,6 @@ public class YiZhuFeiYongChaXunTiaoJian {
      * 3 当日
      */
     private Integer displayRange;
+
+    private Boolean inTheHospital = true;
 }

+ 3 - 6
src/main/java/thyyxxk/webserver/service/zhuyuanyisheng/YiZhuLuRuServer.java

@@ -115,7 +115,9 @@ public class YiZhuLuRuServer {
         QueryWrapper<?> qw = new QueryWrapper<>();
         qw.eq("a.inpatient_no", param.getPatNo()).eq("a.admiss_times", param.getTimes());
         qw.orderByAsc("a.order_time");
-        List<XinZhenYzActOrder> yiZhuList = dao.selectOrderNo(qw);
+
+
+        List<XinZhenYzActOrder> yiZhuList = param.getInTheHospital() ? dao.selectOrderNo(qw) : dao.selectInOrderNo(qw);
         // 还有那些没有被匹配的子级医嘱
         Map<BigDecimal, XinZhenYzActOrder> wuFuJiYiZhu = yiZhuList.stream().collect(Collectors.toMap(XinZhenYzActOrder::getActOrderNo, a -> a, (k1, k2) -> k1));
 
@@ -984,11 +986,6 @@ public class YiZhuLuRuServer {
         }
     }
 
-    public static void main(String[] args) {
-        BigDecimal a = new BigDecimal("-0.12");
-        System.out.println(BigUtils.bigXiaoYu(a, 0));
-    }
-
     private Map<String, Object> checkData(XinZhenYzActOrder item,
                                           Map<String, XinZhenYzActOrder> drug,
                                           Map<String, List<XinZhenYzActOrder>> project,