package thyyxxk.webserver.dao.his.inpatient; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.*; import thyyxxk.webserver.entity.datamodify.FeiYongLeiXin; import thyyxxk.webserver.entity.datamodify.GetDropdownBox; import thyyxxk.webserver.entity.datamodify.ZyDetailCharge; import thyyxxk.webserver.entity.inpatient.WeiGuiFeiYongFenXi; import java.math.BigDecimal; import java.util.List; /** *

* 描述: 项目录入 *

* * @author xc * @date 2021-08-02 10:37 */ @Mapper public interface XiangMuLuRuDao extends BaseMapper { @Select("") List huanZheYaoPinFeiYong(@Param("currentPage") long currentPage, @Param("pageSize") long pageSize, @Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("chargeCode") String chargeCode, @Param("infantFlag") int infantFlag, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("orderNo") BigDecimal orderNo, @Param("actOrderNo") BigDecimal actOrderNo, @Param("dept") String dept, @Param("riQiPaiXu") String riQiPaiXu, @Param("tuiFeiFlag") Integer tuiFeiFlag); @Select("") long huanZheYaoPinFeiYongTotal(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("chargeCode") String chargeCode, @Param("infantFlag") int infantFlag, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("orderNo") BigDecimal orderNo, @Param("actOrderNo") BigDecimal actOrderNo, @Param("dept") String dept, @Param("tuiFeiFlag") Integer tuiFeiFlag); @Select("") List huanZheXiangMuFeiYong(@Param("currentPage") long currentPage, @Param("pageSize") long pageSize, @Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("chargeCode") String chargeCode, @Param("infantFlag") int infantFlag, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("orderNo") BigDecimal orderNo, @Param("actOrderNo") BigDecimal actOrderNo, @Param("dept") String dept, @Param("riQiPaiXu") String riQiPaiXu, @Param("tuiFeiFlag") Integer tuiFeiFlag); @Select("") long huanZheFeiYongToatal(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("chargeCode") String chargeCode, @Param("infantFlag") int infantFlag, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("orderNo") BigDecimal orderNo, @Param("actOrderNo") BigDecimal actOrderNo, @Param("dept") String dept, @Param("tuiFeiFlag") Integer tuiFeiFlag); @Select("select detail_sn,ori_detail_sn from zy_detail_charge where inpatient_no=#{inpatientNo} and admiss_times = #{admissTimes} " + "and charge_fee <= 0 and ori_detail_sn is not null and infant_flag = #{infantFlag}") List tuiFeiList(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("infantFlag") int infantFlag); /** * @param pyCode 拼音编码 * @return 获取项目的名称和code */ @Select("select distinct code,name from zd_charge_item where (py_code like #{pyCode} or code like #{pyCode} or name like #{pyCode})" + "union all " + "select distinct code,name from yp_zd_dict where (py_code like #{pyCode} or code like #{pyCode} or name like #{pyCode})") List getChargeCode(String pyCode); /** * @param inpatientNo 住院次数 * @param admissTimes 住院号 * @param list 需要退费的流水号 * @return 获取患者的全部详细信息 因为要生成一条一样的数据 只是 费用和数量不一致 以及录入人 和 录入时间 */ @Select("") List huoQuJuTiFeiYong(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("list") List list); /** * 查询出 有哪些数据已经退过了 费用 * * @param inpatientNo 住院号 * @param admissTimes 住院次数 * @param list 流水号 * @return 返回 已经退过费用的数据 */ @Select("") List chaKanSFYiJingTuiFeiLe(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("list") List list); /** * 插入数据 * * @param list 插入退费的数据 生成一条一样的数据 只是 费用和数量不一致 以及录入人 和 录入时间 ori_detail_sn 保存退费的原流水号 */ @Insert("") void xiangMuTuiFei(@Param("list") List list); /** * 更新对应 退费的正数 流水 * * @param inpatientNo 住院号 * @param admissTimes 住院次数 * @param ledgerSn 账页号 * @param list 正流水 */ @Update("") void genXinZhenShuTuiFeiLiuShui(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("list") List list, @Param("flag") int flag); /** * 退药汇总单 */ @Insert("insert into yz_yp_page_no (page_no, dept_code, ward_code, submit_time, submit_name,\n" + " submit_flag, page_class, page_name, group_no)\n" + "values (#{pageNo}, #{wardCode}, #{wardCode}, getdate(), #{userCode}, 1, 'HT', '护士退药单', #{groupNo})") void drugReturnForm(@Param("pageNo") Integer pageNo, @Param("wardCode") String wardCode, @Param("userCode") String userCode, @Param("groupNo") String groupNo); @Insert("") void detailsOfDrugReturnForm(@Param("list") List list, @Param("patNo") String patNo, @Param("times") Integer times, @Param("name") String name, @Param("bedNo") String bedNo, @Param("wardCode") String wardCode, @Param("infantFlag") Integer infantFlag, @Param("groupNo") String groupNo, @Param("userCode") String userCode, @Param("pageNo") Integer pageNo, @Param("ledgerSn") Integer ledgerSn); /** * 获取模板 * * @param queryWrapper 根据科室来搜索 * @return 返回模板信息 */ @Select("SELECT rtrim(pattern_name) as name, " + " max(group_no) as group_no, " + " max(op_id_code) as op_id_code, " + " op_dept " + "FROM zy_charge_pattern " + " ${ew.customSqlSegment} " + "group by pattern_name, op_dept ") Page getMuBan(IPage page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); /** * 这个是获取模板下面的那些项目具体信息 * * @param patternName 模板名称 * @param opIdCode 录入人id * @return 返回模板 下面的详细信息 */ @Select("SELECT charge_name=RTRIM(b.name), " + " charge_code_mx=b.code, " + " amount=a.amount, " + " charge_amount=b.charge_amount, " + " op_id_code=a.op_id_code, " + " bill_item_code=b.bill_item_zy, " + " bill_item_name=(select name from zy_bill_item where code = b.bill_item_zy)," + " national_code," + " national_name," + " descriptions " + "FROM zy_charge_pattern a, " + " zd_charge_item b " + "WHERE (a.pattern_name = #{patternName}) " + " and a.op_id_code = #{opIdCode} " + " and a.charge_code = b.code " + " and isnull(a.serial, '01') = '00' " + " and (isnull(b.del_flag, '0') <> '1') " + "union all " + "SELECT charge_name=RTRIM(d.name), " + " charge_code_mx=b.charge_code, " + " amount=a.amount, " + " charge_amount=d.pack_retprice, " + " op_id_code=a.op_id_code, " + " bill_item_code=d.bill_item_zy, " + " bill_item_name=(select name from zy_bill_item where code = d.bill_item_zy)," + " national_code," + " national_name," + " specification as descriptions " + "FROM zy_charge_pattern a, " + " yp_base_yf b, " + " yp_zd_dict d " + "WHERE (a.pattern_name = #{patternName}) " + " and a.op_id_code = #{opIdCode} " + " and a.group_no = b.group_no " + " and a.charge_code = b.charge_code " + " and isnull(a.serial, '01') = b.serial " + " and b.charge_code = d.code " + " and b.serial = d.serial " + " and isnull(d.del_flag, '0') <> '1' " + " and isnull(b.visible_flag_zy, '0') <> '1'") List getMuBanXinXi(@Param("patternName") String patternName, @Param("opIdCode") String opIdCode); /** * 搜索项目信息 * * @param pyCode 拼音码 * @return 返回模板信息 */ @Select("SELECT a.code charge_code," + " a.code charge_code_mx, " + " a.exec_unit dept_code," + " rtrim(a.yb_comment) yb_comment, " + " RTRIM(a.name) charge_name, " + " a.charge_amount," + " amount = 1, " + " bill_item_code=a.bill_item_zy, " + " bill_item_name=(select name from zy_bill_item where code = a.bill_item_zy)," + " a.py_code, " + " a.d_code, " + " a.suppress_flag, " + " a.bill_item_out, " + " a.n_code, " + " self_flag =isnull(a.self_flag,'0'), " + " a.separate_flag , " + " spec=charge_unit, " + " a.yb_comment, " + " exec_unit_name=b.name, " + " serial='00', " + " group_no='00'," + " national_code," + " national_name," + " descriptions " + "FROM zd_charge_item a left join zd_unit_code b on (a.exec_unit = b.code) " + "where isnull(a.del_flag,'') <> '1' and " + " isnull(a.in_out_flag,'') <> '1' and " + " (a.py_code like #{pyCode} or a.code like #{pyCode} or a.name like #{pyCode})") List queryXiangMu(String pyCode); @Select("SELECT distinct a.code charge_code_mx, " + " charge_code = (select charge_code from zy_bill_item where a.bill_item_zy = zy_bill_item.code), " + " a.serial, " + " RTRIM(a.name) charge_name, " + " a.pack_size amount, " + " charge_amount=a.pack_retprice, " + " spec=a.specification, " + " a.drug_flag , " + " a.fix_price, " + " c.stock_amount, " + " self_flag=isnull(a.self_flag,'0'), " + " suppress_flag=a.suprice_flag, " + " group_no=c.group_no, " + " bill_item_code=a.bill_item_zy, " + " bill_item_name=(select name from zy_bill_item where code = a.bill_item_zy), " + " ybbz=a.yb_comment_new, " + " yblx=(select name from yp_zd_yb_type where code=a.yb_flag_new), " + " xnh=a.xnh_flag," + " national_code," + " national_name " + "FROM yp_zd_dict a ,yp_print_name b , " + " yp_base_yf c " + "where " + "(a.py_code like #{pyCode} or a.name like #{pyCode} or a.code like #{pyCode}) and" + " a.code=b.charge_code and " + " a.code=c.charge_code and " + " a.serial=c.serial and " + " c.visible_flag_mz <> '1' and " + " c.visible_flag_zy <> '1' and" + " isnull(a.del_flag,0) = 0 and " + " c.group_no='73'") List queryYaoPin(String pyCode); /** * 插入项目录入费用 * * @param zyDetailCharge 插入的信息 * @param list 费用详情 */ @Insert("") void chaRuFeiYong(@Param("zyDetailCharge") ZyDetailCharge zyDetailCharge, @Param("list") List list, @Param("infantFlag") int infantFlag, @Param("ledgerSn") Integer ledgerSn); @Select("") List yaoFang(List yaoPingCode); @Insert("") void shenQingYaoPing(@Param("zyDetailCharge") ZyDetailCharge zyDetailCharge, @Param("list") List list, @Param("infantFlag") int infantFlag, @Param("ledgerSn") Integer ledgerSn, @Param("opIdCode") String opIdCode); /** * 需要更新患者的总费用 * * @param fy 费用 * @param inpatientNo 住院号 * @param admissTimes 住院次数 */ @Update("") void huanZheZongFeiYong(@Param("fy") FeiYongLeiXin fy, @Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("tableName") String tableName); /** * 查看模板名称是否存在 * * @param patternName 模板名字 * @param opIdCode 创建模板的人 code * @return 返回条数 */ @Select("select count(*) from zy_charge_pattern where pattern_name = #{patternName} and op_id_code <> #{opIdCode} ") Integer chaKanMuBanMingChengSFcunZi(@Param("patternName") String patternName, @Param("opIdCode") String opIdCode); /** * 删除模板 * * @param patternName 模板名字 * @param opIdCode 创建模板的人 code */ @Select("delete zy_charge_pattern where pattern_name = #{patternName} and op_id_code = #{opIdCode} ") Integer delMuBan(@Param("patternName") String patternName, @Param("opIdCode") String opIdCode); /** * 保存模板 * * @param param 保存的数据 */ @Insert("") void baoCunMuBan(@Param("param") ZyDetailCharge param); /** * 获取医嘱的费用 * * @param inpatientNo 住院号 * @param admissTimes 住院次数 * @param ZF 正的费用还是负的费用 * @return 返回list 费用集合 */ @Select("") List getYiZhuFeiYong(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("ZF") String ZF, @Param("infantFlag") int infantFlag, @Param("list") List list); /** * @param inpatientNo 住院号 * @param admissTimes 住院次数 * @param yiZhuPiPei 需要匹配的流水信息 */ @Update("") void yiZhuTuiFeiPiPei(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("list") List yiZhuPiPei, @Param("infantFlag") int infantFlag); @Select("SELECT small_dept FROM zd_dept_all where dept = #{dept}") List chaXunZhiZXinKeShi(@Param("dept") String dept); @Select("select role_id from dj_user_role where user_code = #{code}") List huoQuJueSe(@Param("code") String code); @Select("select code,rtrim(name) name from zd_unit_code where code not like '8%'") List getDpet(); @Select("select code,rtrim(name) name from zd_unit_code where code like '8%'") List getWard(); @Select("SELECT small_dept code,name=(select name from zd_unit_code where code = small_dept) FROM zd_dept_all where dept = #{dept}") List getBingQuDuiYingKeShi(@Param("dept") String dept); @Select("select count(*) from zy_actpatient where inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes}") Integer getHuanZheSFZaiYuan(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes); @Select("select case settle_type when '1' then '0' else settle_type end as settle_type from zy_ledger_file where " + "inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} " + "and ledger_sn = (select max(ledger_sn)ledger_sn from zy_ledger_file where zy_ledger_file.inpatient_no = #{inpatientNo} " + "and zy_ledger_file.admiss_times = #{admissTimes}) ") Integer getHuanZheSFJieSuan(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes); @Select("select detail_sn,ori_detail_sn,trans_flag_yb from zy_detail_charge where inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledger} " + "and detail_sn = #{detailSn} and order_no <> 6 and trans_flag_yb <> 2 ") ZyDetailCharge beiTuiFeiYongXinXi(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("detailSn") Integer detailSn); @Select("") List chaXunFeiYongShiFouTingYong(List bianMa); @Select("") List kuCun(List bianMa); @Delete("delete zy_detail_charge where inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledger} " + "and detail_sn = #{detailSn} and order_no <> 6 and trans_flag_yb <> 2") void cheXiaoFeiYong(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("detailSn") Integer detailSn); @Update("update zy_detail_charge set ori_detail_sn = null where inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledger} " + "and detail_sn = #{detailSn} and order_no <> 6 and trans_flag_yb <> 2") void cheXiaoHouHuanYuanZhenShuJu(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("detailSn") Integer detailSn); @Select("select act_order_no as order_no,exec_unit from yz_erase_order where act_order_no in " + "(select order_no from zy_detail_charge where inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledger} " + "and exec_unit is null AND charge_fee < 0 and ori_detail_sn is null)") List huoQuYaoPingZhongKeShiWeiKongDe(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger); @Update(" ") void yiZhuTuiFeiGenXingZhiXingKeShi(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("list") List genXingDeZhiXinKeShi); @Select("select b.code from zy_detail_charge a, yp_zd_dict b " + "where order_no <> 6 and trans_flag_yb not in (1,2) and charge_code like 'BILL%' " + " and isnull(b.national_code,'') = '' and inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledger} " + "and a.infant_flag = #{infantFlag} " + " and a.charge_code_mx = b.code " + "group by b.code ") List weiGuiYaoPinInt(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("infantFlag") Integer infantFlag); @Update("") void genXinYaoPingPiPeiXinXi(@Param("list") List list); @Select("select a.charge_code_mx,case when (select top(1) rtrim(name) from zd_charge_item where code = a.charge_code_mx) != '' then " + "(select top(1) rtrim(name) from zd_charge_item where code = a.charge_code_mx) else " + "(select top(1) rtrim(name) from yp_zd_dict where code = a.charge_code_mx) end as name " + "from zy_detail_charge a left join zd_charge_item_hnsgs b " + "on (a.charge_code_mx = b.hosp_code) where " + "inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledger} and infant_flag = #{infantFlag} and ori_detail_sn is null and isnull(b.hnsyb_item_code,'') = '' " + "group by a.charge_code_mx ") List gongShangWeiPiPei(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("infantFlag") Integer infantFlag); /** * 违规药品 信息 没有匹配的 * * @param inpatientNo 住院号 * @param admissTimes 住院次数 * @param ledger 账页号 * @return 返回违规药品 没有匹配的 */ @Select("select charge_code_mx,b.name from zy_detail_charge a, yp_zd_dict b " + "where trans_flag_yb not in (1,2) and charge_code like 'BILL%' " + " and isnull(b.national_code,'') = '' and inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledger} " + "and a.infant_flag = #{infantFlag} " + " and a.charge_code_mx = b.code " + "group by charge_code_mx, b.name") List weiGuiYaoPin(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("infantFlag") Integer infantFlag); @Select("select charge_code_mx,b.name from zy_detail_charge a, zd_charge_item b " + "where trans_flag_yb not in (1,2) and charge_code not like 'BILL%' " + " and isnull(b.national_code,'') = '' and inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledger} " + " and a.infant_flag = #{infantFlag} " + " and a.charge_code_mx = b.code " + "group by charge_code_mx, b.name") List weiGuiXiangMu(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("infantFlag") Integer infantFlag); @Select("") List weiXieDaiYuanLiuShuiXiangMu(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("infantFlag") Integer infantFlag, @Param("list") List execUnit, @Param("chuYuanYiZhu") Integer chuYuanYiZhu); @Select("") List weiXieDaiYuanLiuShuiYaoPing(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledger") Integer ledger, @Param("infantFlag") Integer infantFlag, @Param("list") List execUnit, @Param("chuYuanYiZhu") Integer chuYuanYiZhu); @Select("") List weiGuiZhenShuPiPei(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("infantFlag") Integer infantFlag, @Param("chargeCodeMx") String chargeCodeMx, @Param("execUnit") String execUnit, @Param("orderNo") String orderNo, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("riQiPaiXu") String riQiPaiXu); @Select("select inpatient_no,admiss_times,ledger_sn,detail_sn,charge_code_mx,sum(charge_fee) yi_tui_fei from ( " + "select inpatient_no,admiss_times,ledger_sn,detail_sn,charge_code_mx,charge_fee " + "from zy_detail_charge where " + "inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledgerSn} and charge_code_mx = #{chargeCodeMx} " + "and exec_unit = #{execUnit} and trans_flag_yb <> 2 and order_no <> 6 and" + " detail_sn in(select ori_detail_sn from zy_detail_charge where inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and " + "ledger_sn = #{ledgerSn} and charge_code_mx = #{chargeCodeMx}" + " and charge_fee <0 and ori_detail_sn is not null) " + "union all " + "select inpatient_no,admiss_times,ledger_sn,ori_detail_sn,charge_code_mx,charge_fee " + "from zy_detail_charge where " + "inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledgerSn} and charge_code_mx = #{chargeCodeMx} " + "and exec_unit = #{execUnit} and trans_flag_yb <> 2 and order_no <> 6 and " + "ori_detail_sn in(select ori_detail_sn from zy_detail_charge where inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} " + "and ledger_sn = #{ledgerSn} and charge_code_mx = #{chargeCodeMx} and charge_fee <0 and ori_detail_sn is not null) " + ") temp " + "group by inpatient_no, admiss_times, ledger_sn, detail_sn, charge_code_mx") List tuiFeiYuEr1(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("chargeCodeMx") String chargeCodeMx, @Param("execUnit") String execUnit); @Select("") List genJuBianMaChaZhaoZhenShuFeiYong(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("infantFlag") Integer infantFlag, @Param("chargeCodeMx") String chargeCodeMx, @Param("startTime") String startTime, @Param("endTime") String endTime, @Param("riQiPaiXu") String riQiPaiXu); @Select("") List piPeiXinXi(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("infantFlag") Integer infantFlag, @Param("list") int[] detailSnList); @Select("") List tuiFeiYuEr2(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("infantFlag") Integer infantFlag, @Param("list") int[] detailSnList); @Select("select inpatient_no,admiss_times,ledger_sn,detail_sn,charge_fee,charge_amount,ori_detail_sn,trans_flag_yb,exec_unit from zy_detail_charge " + "where inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledgerSn} and detail_sn = #{detailSn} " + "and infant_flag = #{infantFlag} and charge_fee < 0 and charge_amount < 0 ") ZyDetailCharge piPeiXinXiFuShu(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("infantFlag") Integer infantFlag, @Param("detailSn") Integer detailSn); @Update("update zy_detail_charge set ori_detail_sn = #{oriDetailSn} where inpatient_no = #{inpatientNo} and admiss_times = #{admissTimes} and ledger_sn = #{ledgerSn} " + "and detail_sn = #{detailSn} ") void zhiYouYiGeJiuGenXingFuShuLiuShui(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn, @Param("detailSn") Integer detailSn, @Param("oriDetailSn") Integer oriDetailSn); @Update("update zy_detail_charge set yb_self_flag = 0 ${ew.customSqlSegment}") void xiuGaiZiFeiZhiYiBaoBiaoZhi(@Param(Constants.WRAPPER) Wrapper wq); }