Bladeren bron

DRG 抽取患者总费用

DESKTOP-0GD05B0\Administrator 2 jaren geleden
bovenliggende
commit
d573e0ed21
1 gewijzigde bestanden met toevoegingen van 122 en 36 verwijderingen
  1. 122 36
      src/main/java/thyyxxk/webserver/dao/his/api/forpowersi/drgdip/DrgDipDao.java

+ 122 - 36
src/main/java/thyyxxk/webserver/dao/his/api/forpowersi/drgdip/DrgDipDao.java

@@ -425,42 +425,128 @@ public interface DrgDipDao {
             "where dcla_time >= #{startTime} and dcla_time <= #{endTime} ")
     List<VisitId> getSettlementDocumentVisitID(String startTime, String endTime);
 
-    @Select("select mdtrt_id as visit_id,psn_no,setl_id," +
-            "open_date= (select convert(varchar(19), sign_date, 21) " +
-            "from t_case_frontsheet_main c " +
-            "where t_settlement_setlinfo.medcasno = c.bah + '_' + cast(c.admiss_times as varchar)), " +
-            "fixmedinsName='长沙泰和医院', fixmedinsCode='H43010500370', " +
-            "hi_setl_lv,hi_no,medcasno, " +
-            "dclaTime=convert(varchar(19), dcla_time, 21),psn_name,gend, " +
-            "brdy=convert(varchar(19), brdy, 21),age, " +
-            "ntly,nwb_age,naty,patn_cert_type,certno,prfs,curr_addr,emp_name, " +
-            "emp_addr,emp_tel,poscode,coner_name,patn_rlts,coner_addr,coner_tel, " +
-            "hi_type,insuplc,sp_psn_type,nwb_adm_type,nwb_bir_wt,nwb_adm_wt, " +
-            "(select top 1 name from zd_unit_code where si_caty = opsp_diag_caty) as opsp_diag_caty_name, " +
-            "opsp_diag_caty  as opsp_diag_caty_name,trt_type, " +
-            "opspMdtrtDate=convert(varchar(19), opsp_mdtrt_date, 21),ipt_med_type,adm_way, " +
-            "admTime=convert(varchar(19), adm_time, 21), " +
-            "adm_caty,refldept_dept,resp_nurs_code, " +
-            "dscgTime=convert(varchar(19), dscg_time, 21),dscg_caty,act_ipt_days, " +
-            "otp_wm_dise,wm_dise_code,otp_tcm_dise,tcm_dise_code,vent_used_dura, " +
-            "pwcry_afadm_coma_dura,pwcry_bfadm_coma_dura,spga_nurscare_days,lv1_nurscare_days, " +
-            "scd_nurscare_days,lv3_nurscare_days,dscg_way,acp_medins_name,acp_optins_code, " +
-            "bill_code,bill_no,biz_sn,days_rinp_flag31 as days_rinp_flag_31,days_rinp_pup31 as days_rinp_pup_31, " +
-            "chfpdr_name,chfpdr_code,(SELECT name FROM a_employee_mi WHERE yb_code = resp_nurs_code) resp_nurs, " +
-            "setlBegnDate=convert(varchar(19), setl_begn_date, 21), " +
-            "setlEndDate=convert(varchar(19), setl_end_date, 21), " +
-            "(cast(isnull(psn_selfpay, 0) as decimal(16, 2)) + " +
-            "cast(isnull(psn_ownpay, 0) as decimal(16, 2)) + " +
-            " cast(isnull(acct_pay, 0) as decimal(16, 2)) + " +
-            "cast(isnull(psn_cashpay, 0) as decimal(16, 2))) as total_fee, " +
-            "hi_paymtd,medins_fill_dept,medins_fill_psn, " +
-            "oper_date=convert(varchar(19), dcla_time, 21), " +
-            "adm_caty as adm_dept_code,adm_dept_name  = (select top 1 name from zd_unit_code where si_caty = adm_caty)," +
-            "'0' as traf_dept_flat,dscg_caty as dscg_dept_code,dscg_dept_name = (select top 1 name from zd_unit_code where si_caty = dscg_caty)," +
-            "insutype=(select insutype from t_si_setlinfo where t_settlement_setlinfo.setl_id = t_si_setlinfo.setl_id),\n" +
-            "psn_selfpay,psn_ownpay,acct_pay,psn_cashpay " +
-            "from  t_settlement_setlinfo " +
-            "WHERE mdtrt_id = #{visitId} ")
+    @Select("select               a.mdtrt_id                       as visit_id, " +
+            "                     a.psn_no, " +
+            "                     a.setl_id, " +
+            "    open_date=       (select convert(varchar(19), " +
+            "                                     sign_date, " +
+            "                                     21) " +
+            "                      from t_case_frontsheet_main c " +
+            "                      where a.medcasno = c.bah + '_' + cast(c.admiss_times as varchar)), " +
+            "    fixmedinsName=N'长沙泰和医院', " +
+            "    fixmedinsCode='H43010500370', " +
+            "                     hi_setl_lv, " +
+            "                     hi_no, " +
+            "                     medcasno, " +
+            "    dclaTime=convert(varchar(19), " +
+            "                             dcla_time, " +
+            "                             21), " +
+            "                     a.psn_name, " +
+            "                     a.gend, " +
+            "    brdy=convert(varchar(19), " +
+            "                             a.brdy, " +
+            "                             21), " +
+            "                     a.age, " +
+            "                     ntly, " +
+            "                     nwb_age, " +
+            "                     a.naty, " +
+            "                     patn_cert_type, " +
+            "                     a.certno, " +
+            "                     prfs, " +
+            "                     curr_addr, " +
+            "                     emp_name, " +
+            "                     emp_addr, " +
+            "                     emp_tel, " +
+            "                     poscode, " +
+            "                     coner_name, " +
+            "                     patn_rlts, " +
+            "                     coner_addr, " +
+            "                     coner_tel, " +
+            "                     hi_type, " +
+            "                     insuplc, " +
+            "                     sp_psn_type, " +
+            "                     nwb_adm_type, " +
+            "                     nwb_bir_wt, " +
+            "                     nwb_adm_wt, " +
+            "                     (select top 1 name " +
+            "                      from zd_unit_code " +
+            "                      where si_caty = opsp_diag_caty) as opsp_diag_caty_name, " +
+            "                     opsp_diag_caty                   as opsp_diag_caty_name, " +
+            "                     trt_type, " +
+            "    opspMdtrtDate=convert(varchar(19), " +
+            "                             opsp_mdtrt_date, " +
+            "                             21), " +
+            "                     a.ipt_med_type, " +
+            "                     adm_way, " +
+            "    admTime=convert(varchar(19), " +
+            "                             adm_time, " +
+            "                             21), " +
+            "                     adm_caty, " +
+            "                     refldept_dept, " +
+            "                     resp_nurs_code, " +
+            "    dscgTime=convert(varchar(19), " +
+            "                             dscg_time, " +
+            "                             21), " +
+            "                     dscg_caty, " +
+            "                     act_ipt_days, " +
+            "                     otp_wm_dise, " +
+            "                     wm_dise_code, " +
+            "                     otp_tcm_dise, " +
+            "                     tcm_dise_code, " +
+            "                     vent_used_dura, " +
+            "                     pwcry_afadm_coma_dura, " +
+            "                     pwcry_bfadm_coma_dura, " +
+            "                     spga_nurscare_days, " +
+            "                     lv1_nurscare_days, " +
+            "                     scd_nurscare_days, " +
+            "                     lv3_nurscare_days, " +
+            "                     dscg_way, " +
+            "                     acp_medins_name, " +
+            "                     acp_optins_code, " +
+            "                     bill_code, " +
+            "                     bill_no, " +
+            "                     biz_sn, " +
+            "                     days_rinp_flag31                 as days_rinp_flag_31, " +
+            "                     days_rinp_pup31                  as days_rinp_pup_31, " +
+            "                     chfpdr_name, " +
+            "                     chfpdr_code, " +
+            "                     (SELECT name " +
+            "                      FROM a_employee_mi " +
+            "                      WHERE yb_code = resp_nurs_code)    resp_nurs, " +
+            "    setlBegnDate=convert(varchar(19), " +
+            "                             setl_begn_date, " +
+            "                             21), " +
+            "    setlEndDate=convert(varchar(19), " +
+            "                             setl_end_date, 21), " +
+            "                     (select sum(charge_fee) " +
+            "                      from zy_detail_charge " +
+            "                      where inpatient_no = b.pat_no " +
+            "                        and admiss_times = b.times " +
+            "                        and b.ledger_sn = ledger_sn)  as total_fee, " +
+            "                     a.hi_paymtd, " +
+            "                     medins_fill_dept, " +
+            "                     medins_fill_psn, " +
+            "    oper_date=convert(varchar(19), " +
+            "                             dcla_time, " +
+            "                             21), " +
+            "                     adm_caty                         as adm_dept_code, " +
+            "    adm_dept_name =  (select top 1 name " +
+            "                      from zd_unit_code " +
+            "                      where si_caty = adm_caty), " +
+            "                     '0'                              as traf_dept_flat, " +
+            "                     dscg_caty                        as dscg_dept_code, " +
+            "    dscg_dept_name = (select top 1 name " +
+            "                      from zd_unit_code " +
+            "                      where si_caty = dscg_caty), " +
+            "                     b.insutype, " +
+            "                     psn_selfpay, " +
+            "                     psn_ownpay, " +
+            "                     a.acct_pay, " +
+            "                     psn_cashpay " +
+            "from t_settlement_setlinfo a, " +
+            "     t_si_setlinfo b " +
+            "WHERE a.mdtrt_id = #{visitId} " +
+            "  and a.setl_id = b.setl_id;")
     List<YibaoSetlinfo4101a> basicPatientInfoOfStatement(String visitId);