package thyyxxk.webserver.dao.his.zhuyuanyisheng; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.*; import thyyxxk.webserver.entity.datamodify.GetDropdownBox; import thyyxxk.webserver.entity.datamodify.YzActOrder; import thyyxxk.webserver.entity.datamodify.ZyDetailCharge; import thyyxxk.webserver.entity.inpatient.patient.Overview; import thyyxxk.webserver.entity.inpatient.patient.Patient; import thyyxxk.webserver.entity.zhuyuanyisheng.DoctorSOrderFee; import thyyxxk.webserver.entity.zhuyuanyisheng.ZyOrderZk; import thyyxxk.webserver.entity.zhuyuanyisheng.yizhuluru.*; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Set; import java.util.stream.Stream; /** *

* 描述: 医嘱录入dao *

* * @author xc * @date 2022-01-04 17:00 */ @Mapper public interface YiZhuLuRuDao { @Select("SELECT " + "RTRIM(a.bed_no) bedNo, " + "RTRIM(a.inpatient_no) inpatientNo, " + "a.admiss_times, " + "RTRIM(a.name) as name, " + "sex=isnull(a.sex, 9), " + "mdtrtId=(select b.mdtrt_id from t_si_pat_info b where b.pat_no=a.inpatient_no " + "and b.times=a.admiss_times and b.ledger_sn=a.times_billed), " + "injurySerialNo=(select serial_no from t_injury_si_pat_info where pat_no=a.inpatient_no " + "and times=a.admiss_times and ledger_sn=a.times_billed), " + "medType=a.med_type, " + "dismissOrder=(select count(1) from yz_act_order b where b.inpatient_no=a.inpatient_no " + "and b.admiss_times=a.admiss_times and status_flag > '1' and isnull(group_no,'00')='00' " + "and order_code in ('06026','06053','05973'))," + "orderNoCount = (select count(1) " + " from yz_act_order c " + " where a.inpatient_no = c.inpatient_no " + " and c.admiss_times = a.admiss_times " + " and c.status_flag = '1' " + " and c.enter_oper = #{userCode}), " + " refer_physician, " + " (select name from a_employee_mi where code = refer_physician) as refer_physician_name, " + " consult_physician, " + " (select name from a_employee_mi where code = refer_physician) as consult_physician_name, " + " dept_director, " + " (select name from a_employee_mi where code = refer_physician) as dept_director_name " + "FROM zy_actpatient a " + "where refer_physician = #{code} " + "ORDER BY cast(bed_no AS int) ") List getMyPatient(String code); @Select("select isnull(balance,0) balance, " + " total_charge, " + " charge1, " + " charge2, " + " charge3, " + " charge4, " + " charge5, " + " charge6, " + " charge7, " + " charge8, " + " charge9, " + " charge10, " + " charge11, " + " charge12, " + " charge13, " + " charge14, " + " charge15, " + " charge16, " + " charge17, " + " charge18, " + " charge19, " + " charge20, " + " charge21, " + " charge22, " + " charge23, " + " charge24, " + " charge25, " + " charge26, " + " charge27, " + " charge28, " + " charge29, " + " charge30, " + " yp = (isnull(charge1 + charge2 + charge28, 0))," + " jyjc = (isnull(charge8 + charge9 + charge11 + charge18 + charge13, 0))," + " isnull(charge_yb, 0) charge_yb " + "from zy_ledger_file with (NOLOCK) " + "where inpatient_no = #{inpatientNo} " + " and admiss_times = #{admissTimes} " + " and ledger_sn = #{ledgerSn} ") HuanZheFeiYong feiYongXinXi(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("ledgerSn") Integer ledgerSn); @Select("select distinct rtrim(order_name) code, rtrim(order_name) name " + "from yz_act_order with (NOLOCK) " + "where inpatient_no = #{inpatientNo} " + " and admiss_times = #{admissTimes} " + " and (order_name like #{orderName} or order_code like #{orderName})") List huoQuYiZhuMingZi(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes, @Param("orderName") String orderName); @Select("select rtrim(frequ_code) code, " + " name = (select rtrim(comm) from yz_order_frequency where frequ_code = code) " + "from yz_act_order with (NOLOCK) " + "where inpatient_no = #{patNo} " + " and admiss_times = #{times} " + "group by frequ_code") List huoQuGeRenPinLv(@Param("patNo") String patNo, @Param("times") Integer times); @Select("select a.act_order_no, " + " cast(cast(a.act_order_no as decimal) as varchar) id, " + " 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), " + " supply_code, " + " supply_code_name = (select 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 " + "from yz_act_order a left join " + "zy_order_zk b 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 huoQuYiZhuShuJu(@Param(Constants.WRAPPER) Wrapper wq); @Select("select act_order_no, " + "rtrim(status_flag) status_flag," + "frequ_code," + "enter_oper," + "inpatient_no " + "from yz_act_order " + "${ew.customSqlSegment}") List getOrdersToDelete(@Param(Constants.WRAPPER) Wrapper wq); @Delete("delete yz_act_order ${ew.customSqlSegment} ") void deleteMultipleOrders(@Param(Constants.WRAPPER) Wrapper wq); @Update("") void deleteParentChildRelationship(String patNo, Integer times, List list); @Select("") void setStopTime(List list, String userCode, String patNo, Integer times); @Select("SELECT distinct rtrim(a.code) + rtrim(serial) as id, " + " py_code=a.py_code, " + " d_code =a.d_code, " + " order_code =a.code, " + " order_name =a.name, " + " drug_specification=a.specification, " + " order_type =case a.infusion_flag " + " when '1' then 'i' " + " else " + " (case " + " when a.code >= '30000' and a.code < '50000' then 'z' " + " else 'd' end) end, " + " parent_code=null, " + " exclu_group_type=null, " + " discription=case a.infusion_flag " + " when '1' then '大输液' " + " else (case " + " when a.code >= '30000' and a.code < '50000' then '中药' " + " else '西药 ' end) end + convert(char(10), a.pack_retprice) + '元' + '(医保类别:' + " + " ltrim(rtrim(yb_flag_new)) + ';报销比例:' + ltrim(rtrim(yb_bl_new)) + ';医保说明:' + " + " ltrim(rtrim(yb_comment_new)) + ')', " + " serial=a.serial, " + " group_no=a.group_no, " + " infusion_flag=a.infusion_flag, " + " drug_flag =a.drug_flag, " + " group_name =a.group_name, " + " pack_size=a.pack_size, " + " order_class='Y', " + " spec_pack=a.spec_pack, " + " jsy_flag =a.jsy_flag, " + " xnh_flag, " + " yb_comment, " + " dosage = a.dosage, " + " yb_type, " + " yb_flag_new," + " father_flag, " + " manu_name=(select name from yp_zd_manufactory with (NOLOCK) where code *= a.manu_code), " + " stock_amount=a.stock_amount, " + " national_code," + " national_name " + "FROM view_yp_zd_dict_base_yf a with (NOLOCK) " + "WHERE isnull(a.visible_flag_zy, '') <> '1' " + " and (a.py_code like #{code} or a.name like #{code} or code like #{code}) " + " and group_no = #{groupNo} ") List yiZhuYaoPing(@Param("code") String code, @Param("groupNo") String groupNo); @Select("select act_order_no, " + "rtrim(status_flag) as status_flag," + "rtrim(frequ_code) as frequ_code," + "enter_oper," + "inpatient_no," + "admiss_times," + "enter_oper," + "order_time," + "rtrim(serial) as serial," + "start_time," + "ward_code " + "from yz_act_order " + "where act_order_no = #{orderNo} ") XinZhenYzActOrder getActOrderNoOne(String orderNo); @Select("select cast(cast(act_order_no as decimal) as varchar) " + "from yz_act_order " + "where parent_no = #{orderNo}") List getParentChildOrders(String orderNo); @Select("") List getExpenseData(String patNo, Integer times, List list); @Update("") void updateItemFlag(String patNo, Integer times, List list); @Update("update yz_act_order " + "set status_flag = 6, " + " end_time = getdate(), " + " modifier = #{userCode}, " + " instruction = #{reasonForCancellation} " + "where act_order_no = #{orderNo}") void updateVoidedOrders(String orderNo, String userCode, String reasonForCancellation); @Update("update yz_act_order " + "set status_flag = 6, " + " end_time = getdate(), " + " modifier = #{userCode}, " + " instruction = #{reasonForCancellation} " + "where parent_no = #{orderNo}") void updateChildOrders(String orderNo, String userCode, String reasonForCancellation); /** * 获取医生下面的病区 * * @param deptCode 科室编码 * @return */ @Select("select dept " + "from zd_dept_all " + "where small_dept = #{deptCode} " + " and dept is not null") List getTheDoctorSDepartment(String deptCode); /** * 获取已经确认收费的医嘱 * * @param orderNo 医嘱号 * @return */ @Select("select count(*) " + "from yz_zy_patient_fee " + "where " + "inpatient_no = #{patNo} and " + "admiss_times = #{times} and " + "act_order_no = #{orderNo} and " + "charge_status = '1'") Integer getADoctorSOrderWithADefiniteFee(String patNo, Integer times, String orderNo); @Select("select count(*) " + "from zy_detail_charge " + "where inpatient_no = '' " + " and admiss_times = 1 " + " and order_no = ''" + " and ori_detail_sn is null" + " and charge_fee > 0 ") Integer getDetailChargeFee(String patNo, Integer times, String orderNo); @Update("UPDATE " + " yz_zy_patient_fee " + "SET charge_status = '2', " + " op_id = #{userid}, " + " op_date = GETDATE() " + "WHERE act_order_no = #{orderNo} " + " AND inpatient_no = #{patNo} " + " AND admiss_times = #{times} ") void cancelMedicalTechnologyAssuranceFee(String userid, String orderNo, String patNo, Integer times); /** * 获取,有未确认和未执行的医嘱 * * @param patNo 住院号 * @param times 住院次数 * @param orderNo 医嘱号 * @return 数据 */ @Select("select count(1) " + "from yz_act_order " + "where inpatient_no = #{patNo} " + " and admiss_times = #{times} " + " and status_flag in (1, 2) " + " and act_order_no <> #{orderNo}") Integer thereAreUnexecutedOrders(String patNo, Integer times, BigDecimal orderNo); @Update("update yz_act_order " + "set modifier = #{userCode}, " + " end_time = #{date} " + "where inpatient_no = #{patNo} " + " and admiss_times = #{times}" + " and frequ_code != 'ONCE' " + " AND status_flag IN (3, 4, 5) " + " and isnull(end_time, dateadd(day, 1, #{date})) >= #{date} ") void stopOrder(String patNo, Integer times, Date date, String userCode); @Update("") void confirmOrders(List list, String userCode, String patNo, Integer times); @Delete("delete yz_act_record_kss where act_order_no =#{orderNo}; " + "delete zy_order_zk where act_order_no =#{orderNo};" + "delete op_record where inpatient_no = #{patNo} and act_order_no =#{orderNo};" + "delete ysh_yj_req where inpatient_no =#{patNo} and act_order_no =#{orderNo};" + "DELETE FROM yz_act_order WHERE act_order_no = #{orderNo}; ") void toDeleteAnOrder(String orderNo, String patNo); @Update("UPDATE yz_act_order SET parent_no = NULL WHERE parent_no = #{orderNo} ") void deleteGroup(String orderNo); @Delete("delete yz_act_order where " + "act_order_no = #{orderNo} and inpatient_no = #{patNo} and admiss_times = #{times}") void deleteOrderNo(String orderNo, String patNo, Integer times); @Insert("INSERT INTO yz_act_order (order_code, order_name, frequ_code, instruction, discription, infant_flag, order_time, " + " /*录入人*/physician, start_time, drug_specification, drug_quan, supply_code, act_order_no, inpatient_no, " + " admiss_times, drug_flag/*药品中找这个是 药品的类型 a i d*/, enter_oper, /*录入时间*/ " + " enter_time, " + " mini_unit /*药品中找 最小包装规格*/, " + " drug_weight/*药品的重量*/, drug_weight_unit/*药品重量单位*/, " + " status_flag/*1*/, self_buy, dose, dose_unit, drug_occ, drug_volume/*药品中的 volum 找*/, " + " drug_vol_unit/* 药品中的 vol_unit */, pay_self/*0*/, " + " serial/*前端传*/, group_no/*药房 */, doctor_flag/*写死为 1*/, exec_unit, dept_code/* 在院病人表中的 dept */, " + " ward_code /* 在院病人表中的 zk_ward*/, " + " reg_flag/* 0 */, " + " yb_self_flag/*医保自费标志*/, emergency_flag, " + " kf_flag /*饭前饭后*/, parent_no, refer_physician/*患者的管床医生*/, end_time) " + "values (#{pa.orderCode}, #{pa.orderName}, #{pa.frequCode}, #{pa.instruction}, #{pa.discription}, #{patInfo.infantFlag}, " + " #{pa.orderTime}, #{userCode}, " + " #{pa.startTime}, #{pa.drugSpecification}, #{pa.drugQuan,jdbcType=REAL}, #{pa.supplyCode}, #{pa.actOrderNo,jdbcType=REAL}, #{patInfo.inpatientNo}, " + " #{patInfo.admissTimes}, #{pa.drugFlag}, #{userCode}, getdate(), " + " #{pa.miniUnit}, #{pa.drugWeight,jdbcType = REAL}, #{pa.drugWeightUnit,jdbcType=REAL}, '1', #{pa.selfBuy}, " + " #{pa.dose ,jdbcType = REAL}, #{pa.doseUnit}, #{pa.drugOcc ,jdbcType = REAL}, " + " #{pa.drugVolume,jdbcType=REAL}, #{pa.drugVolUnit}, '0', #{pa.serial}, #{pa.groupNo}, '1', #{pa.execUnit}, " + " #{patInfo.deptCode}, #{patInfo.deptCode}, '0', #{pa.ybSelfFlag}, #{pa.emergencyFlag}, " + " #{pa.kfFlag}, #{pa.parentNo,jdbcType=REAL}, #{patInfo.referPhysician}, #{pa.endTime})") void insertEntryOrder(XinZhenYiZhu patInfo, XinZhenYzActOrder pa, String userCode); @Select("SELECT rtrim(a.order_code) + '00' as id," + "a.py_code, " + " a.d_code, " + " a.order_code , " + " rtrim(a.order_name) order_name, " + " drug_specification='诊疗项目', " + " order_type = isnull(operation,'o') , " + " a.parent_code , " + " a.exclu_group_type, " + " discription=a.discription + ' ' + a.yb_comment, " + " serial ='00', " + " group_no='00', " + " infusion_flag='', " + " drug_flag ='', " + " group_name ='', " + " pack_size=1, " + " order_class=a.order_class, " + " spec_pack='', " + " jsy_flag ='', " + " xnh_flag='', " + " yb_comment =null, " + " dosage='', " + " yb_type='', " + " father_flag='0', " + " manu_name='', " + " stock_amount=0 " + "FROM yz_order_item a with (NOLOCK) " + "WHERE isnull(a.del_flag, '') <> '1' " + " and (py_code like #{code} or order_name like #{code} or order_code like #{code}) " + " and order_code not in (select zy_order_code from jc_zd_item) " + " and isnull(exec_dept, '') <> '2010000' ") List yiZhuXiangMu(String code); @Select("SELECT a.py_code, " + " a.d_code, " + " a.pattern_code as order_code, " + " a.pattern_name as order_name, " + " specification=' ', " + " order_type ='t', " + " parent_code=space(7), " + " exclu_group_type=space(1), " + " discription='成组医嘱', " + " serial ='0000', " + " group_no='0000', " + " infusion_flag='', " + " drug_flag ='', " + " group_name ='', " + " pack_size =1, " + " order_class ='', " + " spec_pack='', " + " jsy_flag ='', " + " exclu_group_type='', " + " xnh_flag='', " + " yb_comment =null, " + " dosage = '', " + " yb_type='', " + " father_flag='0', " + " manu_name='', " + " stock_amount=0 " + "FROM yz_OrderPattern a " + "where (py_code like #{code} or " + "pattern_name like #{code} or " + "d_code like #{code}) and dept_code = #{deptCode} ") List composeOrders(String code, String deptCode); @Select("SELECT act_order_no, " + " order_name " + "FROM yz_act_order " + "WHERE inpatient_no = #{patNo} " + " AND admiss_times = #{times} " + " AND isnull(parent_no, 0) = 0 " + " and status_flag = '1' " + " and serial <> '00' ") List getParentOrders(String patNo, String times); @Select("SELECT cast(rtrim(isnull(nullif(del_flag, " + " ''), " + " 0)) as int) as del_flag, " + " national_code as national_code, " + " name as order_name " + "FROM yz_order_occurence a with (NOLOCK), " + " zd_charge_item b with (NOLOCK) " + "where a.occ_code = b.code " + " and a.order_code = #{code}") List huoQuXiangMu(String code); @Select("select isnull(exclu_group_type, 0) " + "from yz_order_item with (NOLOCK) where order_code = #{code}") Integer shiFouPaiChiYiZhu(String code); @Select("select " + " /* 毒麻标志 */ drug_flag, " + " a.serial, " + " /* 医保自费 */ " + " cast(isnull(NULLIF(self_flag_yb, " + " ''), " + " 0) as int) as self_flag_yb, " + " /* 重量 */ " + " weight, " + " /* 重量单位 */ " + " weigh_unit, " + " weigh_unit_name = (select name " + " from yp_zd_unit with (NOLOCK) " + " where code = weigh_unit), " + " /*体积*/ " + " volum, " + " /*体积单位*/ " + " vol_unit, " + " vol_unit_name = (select name " + " from yp_zd_unit with (NOLOCK) " + " where code = vol_unit), " + " /*包装体积*/ " + " pack_size, " + " /*包装单位*/ " + " pack_unit, " + " pack_unit_name = (select name " + " from yp_zd_unit with (NOLOCK) " + " where code = pack_unit), " + " /*最小单位*/ " + " mini_unit, " + " mini_unit_name = (select name " + " from yp_zd_unit with (NOLOCK) " + " where code = mini_unit), " + " /* 需要判断医生的权限 在 select " + " doctor_xz_yp " + " from " + " a_employee_mi */ " + " cast(isnull(NULLIF(yp_level, " + " ''), " + " 0) as int) as yp_level, " + " /*需要皮试*/ " + " cast(isnull(NULLIF(ps_flag, " + " ''), " + " 0) as int) as ps_flag, " + " cast(isnull(NULLIF(kss_flag, " + " ''), " + " 0) as int) as kss_flag, " + " cast(isnull(NULLIF(kjyw_flag, " + " ''), " + " 0) as int) as kjyw_flag, " + " code as order_code, " + " name as order_name, " + " frequency as frequCode, " + " (select isnull(rtrim(comm), " + " '') " + " from yz_order_frequency " + " where yz_order_frequency.code = frequency) as frequCodeName, " + " supply_type as supply_code, " + " supply_code_name = (select supply_name " + " from yz_supply_type with (NOLOCK) " + " where yz_supply_type.supply_code = supply_type), " + " national_code, " + " stock_amount," + " cast(isnull(nullif(visible_flag_zy, ''), 0) as int) as visible_flag_zy " + "from yp_zd_dict a with (NOLOCK) " + " left join yp_base_yf b on (code = b.charge_code and a.serial = b.serial) " + "where rtrim(code) + rtrim(a.serial) = #{code} " + " and cast(isnull(NULLIF(del_flag, ''), 0) as int) = 0 " + " and group_no = #{groupNo} ") YaoPinXinXi huoQuYaoPin(@Param("code") String code, @Param("groupNo") String groupNo); @Select("select count(1) " + "from yp_zd_dept " + "where charge_code = #{code} " + " and dept_code = #{dept} ") Integer restrictedUseInTheDepartment(@Param("code") String code, @Param("dept") String dept); @Select("select cast(isnull(NULLIF(doctor_xz_yp, ''), 0) as int) from a_employee_mi with (NOLOCK) where code = #{code}") Integer huoQuYiShenDengJi(String code); /** * 出院带药数量 * * @param patNo 住院号 * @param times 住院次数 * @return */ @Select("select count(*) " + "from yz_act_order " + "where inpatient_no = #{patNo} " + " and admiss_times = #{times} " + " and self_buy = '4' " + " and status_flag in ('1', '2') ") int obtainTheNumberOfDischargedDrugs(String patNo, Integer times); @Select("select rtrim(supply_code) code,rtrim(supply_name) name " + "from yz_supply_type with (NOLOCK) " + "where ps_flag in ('1', '0')") List piShiGeiYaoFangShi(); @Select("select rtrim(code) code, rtrim(comm) name " + "from yz_order_frequency with (NOLOCK) " + "where (code like #{code} or comm like #{code})") List huoQuZhuYuanPinLv(String code); @Select("select rtrim(supply_code) code, rtrim(supply_name) name " + "from yz_supply_type with (NOLOCK) " + "where (supply_code like #{code} or supply_name like #{code} or py_code like #{code} )") List huoQuGeiYaoFangShi(String code); @Select("SELECT a.code code, " + " a.name name " + "FROM zd_unit_code a with (NOLOCK), " + " zd_dept_all b with (NOLOCK) " + "where isnull(a.del_flag, '0') <> '1' " + " and a.code = b.small_dept " + " and (a.code like #{code} or a.name like #{code} or py_code like #{code}) " + "group by code,name") List huoQuZhiXinKeShi(String code); @Select("") List huoQuYaoPinXinXi(@Param("code") Set code, @Param("groupNo") String groupNo, @Param("dept") String dept); @Select("") List huoQuXiangMuXinXi(Set code); @Select("select rtrim(inpatient_no) as inpatient_no, " + " admiss_times, " + " rtrim(name) as name, " + " rtrim(dept) as dept_code, " + " rtrim(zk_ward) as ward_code, " + " refer_physician, " + " times_billed, " + " admiss_date, " + " small_dept, " + " bed_no, " + " ledger_sn = (select max(ledger_sn) " + " from zy_ledger_file with (NOLOCK) " + " where zy_actpatient.inpatient_no = zy_ledger_file.inpatient_no " + " and zy_actpatient.admiss_times = zy_ledger_file.admiss_times) " + " from zy_actpatient with (NOLOCK) " + "where inpatient_no = #{patNo} " + " and admiss_times = #{times} ") XinZhenYiZhu huoQuHuanZheXinXi(@Param("patNo") String patNo, @Param("times") Integer times); @Delete("") void shanChuYuanKuangJunYaoWu(List list); @Insert("") void chaRuKuangJunYaoWuXinXi(@Param("patNo") String patNo, @Param("times") Integer times, @Param("inputId") String inputId, @Param("list") List list); @Insert("") void chaRuYiZhu(@Param("patNo") String patNo, @Param("times") Integer times, @Param("inputCode") String inputCode, @Param("infantFlag") Integer infantFlag, @Param("deptCode") String deptCode, @Param("wardCode") String wardCode, @Param("referPhysician") String referPhysician, @Param("list") List list); @Select("") List huoQuMuBan(@Param("code") String code, @Param("inputId") String inputId, @Param("deptCode") String deptCode, @Param("muBanLeiXing") Integer muBanLeiXing, @Param("currentPage") long currentPage); @Select("select max(sort_no + 1) " + "from yz_OrderPattern " + "where input_id = #{code}") Integer getMyTemplateMaxSortNo(String code); @Select("") long huoQuMuBanTotal(@Param("code") String code, @Param("inputId") String inputId, @Param("deptCode") String deptCode, @Param("muBanLeiXing") Integer muBanLeiXing); @Select("SELECT cast(cast(act_order_no as decimal) as varchar) id, " + " act_order_no, " + " rtrim(a.order_name) order_name, " + " rtrim(a.order_code) order_code, " + " a.frequ_code, " + " frequ_code_name = (select rtrim(comm) " + " from yz_order_frequency with (NOLOCK) " + " where yz_order_frequency.code = a.frequ_code), " + " a.drug_specification, " + " a.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.drug_quan, " + " a.instruction, " + " a.mini_unit, " + " mini_unit_name = (select rtrim(name) from yp_zd_unit with (NOLOCK) where code = mini_unit), " + " a.drug_weight, " + " a.drug_weight_unit, " + " a.parent_no, " + " a.drug_volume, " + " a.drug_vol_unit, " + " a.dose, " + " a.dose_unit, " + " dose_unit_name = (select rtrim(name) from yp_zd_unit with (NOLOCK) where code = dose_unit), " + " a.exclu_act_order_no, " + " a.discription, " + " a.pattern_code, " + " a.order_type, " + " a.serial, " + " self_buy=isnull(a.self_buy, '0'), " + " del_flag=isnull(b.del_flag, ''), " + " a.drug_flag, " + " suprice_flag='', " + " self_flag ='', " + " parent_flag='', " + " a.exec_unit, " + " exec_unit_name = (select rtrim(name) from zd_unit_code with (NOLOCK) where code = exec_unit) " + "FROM yz_pattern_order a with (NOLOCK), " + " yz_order_item b with (NOLOCK) " + "WHERE a.pattern_code = #{code} " + " and isnull(a.group_no, '00') = '00' " + " and a.order_code = b.order_code " + "UNION " + "SELECT cast(cast(act_order_no as decimal) as varchar) id," + " act_order_no, " + " a.order_name, " + " a.order_code, " + " a.frequ_code, " + " frequ_code_name = (select rtrim(comm) " + " from yz_order_frequency with (NOLOCK) " + " where yz_order_frequency.code = a.frequ_code), " + " a.drug_specification, " + " a.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.drug_quan, " + " a.instruction, " + " a.mini_unit, " + " mini_unit_name = (select rtrim(name) from yp_zd_unit with (NOLOCK) where code = mini_unit), " + " a.drug_weight, " + " a.drug_weight_unit, " + " a.parent_no, " + " a.drug_volume, " + " a.drug_vol_unit, " + " a.dose, " + " a.dose_unit, " + " dose_unit_name = (select rtrim(name) from yp_zd_unit with (NOLOCK) where code = dose_unit), " + " a.exclu_act_order_no, " + " a.discription, " + " a.pattern_code, " + " a.order_type, " + " a.serial, " + " self_buy=isnull(a.self_buy, case when b.jsy_flag = '1' then '3' else '0' end), " + " del_flag=isnull(b.visible_flag_zy, ''), " + " a.drug_flag, " + " suprice_flag=b.suprice_flag, " + " self_flag =b.self_flag, " + " parent_flag='', " + " a.exec_unit, " + " exec_unit_name = (select rtrim(name) from zd_unit_code with (NOLOCK) where code = exec_unit) " + "FROM yz_pattern_order a with (NOLOCK), " + " view_yp_zd_dict_base_yf b with (NOLOCK) " + "WHERE a.pattern_code = #{code} " + " and a.group_no = b.group_no " + " and a.order_code = b.code " + " and a.serial = b.serial " + " and isnull(b.visible_flag_zy, '') <> '1'") List huoQuMuBanShuJu(String code); @Select("select pattern_code," + " rtrim(input_type) as input_type," + " input_id " + "from yz_OrderPattern with (NOLOCK) " + "where pattern_name = #{patternName} " + " and input_id = #{inputId}" + " and input_type <> 4 ") YzOrderPattern yuanLaiDeMuBanBianMa(@Param("patternName") String patternName, @Param("inputId") String inputId); @Select("select top 1 * " + "from yz_OrderPattern with (NOLOCK) " + "where pattern_code = #{patternCode} " + " and input_id = #{inputId}" + " and input_type <> 4 ") YzOrderPattern getDataAccordingToTemplateCode(@Param("patternCode") String patternCode, @Param("inputId") String input); @Select("select pattern_code," + " rtrim(input_type) input_type," + " input_id " + "from yz_OrderPattern with (NOLOCK) " + "where pattern_name = #{patternName} " + "and input_type not in ('3','4') ") YzOrderPattern gongGongMuBan(@Param("patternName") String patternName); @Delete("") void shanChuLaoMuBan(@Param("patternCode") String patternCode); @Insert("insert yz_OrderPattern (pattern_code, pattern_name, py_code, d_code, dept_code, " + " ward_code, input_id, " + " input_type, input_date, sort_no) " + "values (#{patternCode},#{patternName},#{pyCode},#{dCode},#{deptCode},#{deptCode}," + "#{inputId},#{inputType}," + "getdate(),#{sortNo})") void chaRuMuBan(YzOrderPattern param); @Select("select count(1) " + "from yz_OrderPattern " + "where pattern_name = #{name} and input_id = #{userCode} ") Integer duplicateTemplateName(@Param("name") String name, @Param("userCode") String userCode); @Insert("") void chaRuMuBanShuJu(List list, String patternCode); @Select("select * " + "from yz_OrderPattern with (NOLOCK) " + "where pattern_code = #{code}") YzOrderPattern huoQuMuBanXinXi(@Param("code") String code); @Update("update yz_OrderPattern " + "set pattern_name = #{patternName}, " + " py_code = #{pyCode}, " + " d_code = #{dCode}, " + " input_date = getdate()," + " sort_no = #{sortNo} " + "where pattern_code = #{patternCode} ") void genXingMuBan(@Param("patternName") String patternName, @Param("pyCode") String pyCode, @Param("dCode") String dCode, @Param("patternCode") String patternCode, @Param("sortNo") Integer sortNo); @Select("select rtrim(dept_code) from a_employee_mi where code = '${code}'") String userDeptCode(@Param("code") String code); @Delete("/* 父模板 */ " + "delete yz_OrderPattern " + "where pattern_code = #{patternCode}; " + "/* 模板下面的数据 */ " + "delete yz_pattern_order " + "where pattern_code = #{patternCode} ") void shanChuMuBan(@Param("patternCode") String patternCode); @Select("select pattern_code " + "from yz_OrderPattern " + "where collect_code = #{patternCode} and input_id = #{userId}") String whetherToSaveTheDoctorSOrderTemplate(@Param("patternCode") String patternCode, @Param("userId") String userId); @Select("select collect_code " + "from yz_OrderPattern with (NOLOCK) " + "where input_id = #{inputId} " + " and collect_code = #{collectCode} ") String chongFuShouCang(@Param("inputId") String inputId, @Param("collectCode") String collectCode); @Insert("insert into yz_OrderPattern (pattern_code, pattern_name, py_code, d_code, dept_code, ward_code, " + " input_id, input_type, input_date, sort_no, collect_code) " + "values (#{patternCode},#{patternName},#{pyCode},#{dCode},#{deptCode},#{deptCode},#{inputId},'4',getdate(),0,#{collectCode});") void chaRuShouCang(@Param("patternCode") String patternCode, @Param("patternName") String patternName, @Param("pyCode") String pyCode, @Param("dCode") String dCode, @Param("deptCode") String deptCode, @Param("inputId") String inputId, @Param("collectCode") String collectCode); @Select("select * " + "from yz_act_order with (NOLOCK) " + "where act_order_no = #{actOrderNo} ") YzActOrder chaXunYiZhuXinXin(BigDecimal actOrderNo); @Update("update yz_act_order set emergency_flag = #{emergencyFlag} " + "where act_order_no = #{actOrderNo} ") void sheZhiJinJi(@Param("actOrderNo") BigDecimal actOrderNo, @Param("emergencyFlag") String emergencyFlag); @Insert("insert into yz_erase_order_comm (act_order_no, inpatient_no, admiss_times, comment, order_code, sys_date) " + "values (#{actOrderNo}, #{patNo}, #{times}, #{content}, #{orderCode}, getdate())") void chaRuCheXiaoYuanYin(@Param("actOrderNo") BigDecimal actOrderNo, @Param("patNo") String patNo, @Param("times") Integer times, @Param("content") String content, @Param("orderCode") String orderCode); @Delete("/*删除费用*/ " + "delete yz_zy_patient_fee " + "where act_order_no = #{actOrderNo} " + " and charge_status = '3';" + "/*删除药品的药单*/ " + "delete yz_yp_zy_order " + "where act_order_no = #{actOrderNo} " + " and status_flag = '1';" + "/*删除医嘱表*/" + "DELETE " + "FROM yz_act_order " + "WHERE act_order_no = #{actOrderNo};" + "/*删除医技*/ " + "delete ysh_yj_req " + "where act_order_no = #{actOrderNo};") void cheXiaoYiZhu(@Param("actOrderNo") BigDecimal actOrderNo); @Insert("insert into yz_erase_order " + "select * " + "from yz_act_order " + "where act_order_no = #{actOrderNo}") void chaRuShanChuBiao(@Param("actOrderNo") BigDecimal actOrderNo); @Update("update yz_erase_order " + "set modifier =#{userCode}, " + " status_time =getdate(), " + " print_order_change =case when isnull(print_order_change, '') = '' then 'd' else '' end " + "where act_order_no = #{actOrderNo};" + "update op_record " + "set status ='d' " + "where act_order_no = #{actOrderNo};") void genXingShanChuBiaoZhi(@Param("userCode") String userCode, @Param("actOrderNo") BigDecimal actOrderNo); @Update("update yz_act_order " + "set modifier = #{userCode}, " + " end_time = #{endTime} " + "where act_order_no = #{actOrderNo} ") void sheZhiTingZhiShiJian(@Param("userCode") String userCode, @Param("actOrderNo") BigDecimal actOrderNo, @Param("endTime") String endTime); @Select("") List yiZhuXinXiJiHe(@Param("list") List list); @Update("") void piLiangSheZhiTingZhiShiJian(@Param("list") List actOrderNo, @Param("userCode") String userCode, @Param("endTime") String endTime); @Delete("delete yz_act_record_kss where act_order_no = #{orderNo}") void deleteAntimicrobialInformation(String orderNo); @Insert("insert into yz_act_record_kss " + "(act_order_no, charge_code, input_id, inpatient_no, " + "admiss_times, yyfs, ssqk, yysj)" + "values " + "(#{orderNo},#{kss.chargeCode},#{userCode},#{patNo}," + "#{times},#{kss.yyfs},#{kss.ssqk},#{kss.yysj})") void insertAntimicrobialInformation(String orderNo, YzActRecordKss kss, String userCode, String patNo, Integer times); @Delete("delete zy_order_zk where act_order_no = #{orderNo}") void deleteTransferOrder(String orderNo); @Insert("insert into zy_order_zk (act_order_no, old_ward, " + "old_dept, new_ward, new_dept) " + "values (#{actOrderNo},#{oldWard},#{oldDept},#{newWard},#{newDept})") void insertDoctorSOrder(ZyOrderZk zk); @Select("execute dbo.xc_zy_order_fee;1 @in_no = #{patNo}, @in_times = #{times}") List expensesForGettingADoctorSOrder(@Param("patNo") String patNo, @Param("times") Integer times); @Select("select admiss_date " + "from zy_actpatient " + "where inpatient_no = #{patNo}") Date patientAdmissionTime(String patNo); @Select("") List getOriginalOrderData(List list); @Insert("") void insertAReturnOrder(@Param("userCode") String userCode, @Param("list") List list); @Update("UPDATE zy_actpatient " + "SET refer_physician = #{param.referPhysician}, " + " consult_physician = #{param.consultPhysician}, " + " dept_director = #{param.deptDirector} " + "WHERE inpatient_no = #{param.inpatientNo} " + " AND admiss_times = #{param.admissTimes} ") void updateTheThirdLevelDoctor(@Param("param") Overview param); /** * 插入药品汇总单 * * @param pageNo 药单好 * @param patInfo 患者信息 * @param userCode 插入数据 * @param groupNo 药房 */ @Insert("insert into yz_yp_page_no (page_no, dept_code, ward_code, submit_time, " + " submit_name, submit_flag, " + " page_class, page_name, " + " start_date, end_date, group_no) " + "values (#{pageNo}, '#{patInfo.deptCode}', #{patInfo.wardCode}, getdate()," + " #{userCode}, 1, 1, '出院带药', getdate(), getdate(), #{groupNo})") void summarySheetOfDrugs(Integer pageNo, XinZhenYiZhu patInfo, String userCode, String groupNo); @Insert("insert into yz_yp_zy_order (inpatient_no, admiss_times, name, bed_no, dept_code, ward_code, charge_code, " + " amount,\n" + " retprice, charge_date, infant_flag, drawer, always_flag, status_flag/*1*/, drug_class,\n" + " serail/*0*/,\n" + " occ_time, act_order_no, page_no, pay_self/*0*/, serial/*serial*/,\n" + " group_no, doctor_name, page_class, yb_self_flag)\n" + "values ();") void insertDetailedMedicineList(); }