Browse Source

医保结算单页面可以查看费用明细

lighter 1 week ago
parent
commit
a97baee990

+ 14 - 2
src/main/java/thyyxxk/webserver/dao/his/medicalinsurance/SiQueryDao.java

@@ -225,8 +225,20 @@ public interface SiQueryDao {
             "rtrim(b.charge_code_mx) as medins_list_codg from t_si_setl_fee_detl a, " +
             "zy_detail_charge b where mdtrt_id=#{mdtrtId} and b.inpatient_no=#{patNo}  " +
             "and b.admiss_times=#{times} and b.ledger_sn=#{sn} and b.detail_sn=a.feedetl_sn")
-    List<SiSetlFeeDetl> selectFeeDetlList(String mdtrtId, String patNo, int times, int sn);
-    
+    List<SiSetlFeeDetl> getZyFeeDetlList(String mdtrtId, String patNo, int times, int sn);
+
+    @Select("select a.feedetl_sn,a.fee_ocur_time,a.cnt,cast(a.pric as decimal(16,2)) as pric," +
+            "cast(a.det_item_fee_sumamt as decimal(16,2)) as det_item_fee_sumamt, " +
+            "a.selfpay_prop,cast(a.fulamt_ownpay_amt as decimal(16,2)) as fulamt_ownpay_amt," +
+            "cast(a.overlmt_amt as decimal(16,2)) as overlmt_amt,cast(a.preselfpay_amt as decimal(16,2)) as preselfpay_amt, " +
+            "cast(a.inscp_scp_amt as decimal(16,2)) as inscp_scp_amt,a.chrgitm_lv,a.medins_list_name,a.med_list_codg, " +
+            "a.med_chrgitm_type,a.bilg_dept_codg,a.bilg_dept_name,a.bilg_dr_codg, " +
+            "a.bilg_dr_name,a.selfpay_prop_percent,a.chrgitm_lv_name, " +
+            "rtrim(b.his_item_code) as medins_list_codg from t_si_setl_fee_detl a, " +
+            "t_mt_receipt b where a.mdtrt_id=#{mdtrtId} and b.patient_id=#{patNo}  " +
+            "and b.times=#{times} and b.item_no=a.feedetl_sn")
+    List<SiSetlFeeDetl> getMzFeeDetlList(String mdtrtId, String patNo, int times);
+
     @Select("select a.feedetl_sn,b.charge_date as fee_ocur_time,a.cnt," +
             "cast(a.pric as decimal(16,2)) as pric, cast(a.det_item_fee_sumamt as decimal(16,2)) as det_item_fee_sumamt, " +
             "a.selfpay_prop,cast(a.fulamt_ownpay_amt as decimal(16,2)) as fulamt_ownpay_amt, " +

+ 2 - 1
src/main/java/thyyxxk/webserver/entity/medicalinsurance/query/QryFeeDetl.java

@@ -5,5 +5,6 @@ import lombok.Data;
 @Data
 public class QryFeeDetl {
     private String mdtrtId;
-    private String type;
+    private String setlStatus;
+    private String setlType;
 }

+ 5 - 3
src/main/java/thyyxxk/webserver/service/medicalinsurance/SiQueryService.java

@@ -413,7 +413,7 @@ public class SiQueryService {
         }
         Map<String, Object> map = new HashMap<>();
         map.put("psninfo", psninfo);
-        if (!q.getType().equals("settled")) {
+        if (q.getSetlStatus().equals("unsettled")) {
             List<SiSetlFeeDetl> list = dao.selectTempCharge(psninfo.getPatNo(), psninfo.getTimes(), psninfo.getLedgerSn());
             if (null == list || list.isEmpty()) {
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "此患者没有已经上传的医保费用。");
@@ -422,7 +422,9 @@ public class SiQueryService {
             map.put("analyse", analyseFeedtle(list));
             return ResultVoUtil.success(map);
         }
-        List<SiSetlFeeDetl> list = dao.selectFeeDetlList(psninfo.getMdtrtId(), psninfo.getPatNo(), psninfo.getTimes(), psninfo.getLedgerSn());
+        List<SiSetlFeeDetl> list = Objects.equals(q.getSetlType(), "11") ?
+                dao.getMzFeeDetlList(psninfo.getMdtrtId(), psninfo.getPatNo(), psninfo.getTimes()) :
+                dao.getZyFeeDetlList(psninfo.getMdtrtId(), psninfo.getPatNo(), psninfo.getTimes(), psninfo.getLedgerSn());
         if (!list.isEmpty()) {
             map.put("feedtle", list);
             map.put("analyse", analyseFeedtle(list));
@@ -463,7 +465,7 @@ public class SiQueryService {
             if (!list.isEmpty()) {
                 dao.insertSetlFeeDetlBatch(list);
             }
-            list = dao.selectFeeDetlList(psninfo.getMdtrtId(), psninfo.getPatNo(), psninfo.getTimes(), psninfo.getLedgerSn());
+            list = dao.getZyFeeDetlList(psninfo.getMdtrtId(), psninfo.getPatNo(), psninfo.getTimes(), psninfo.getLedgerSn());
             map.put("feedtle", list);
             map.put("analyse", analyseFeedtle(list));
             return ResultVoUtil.success(map);