package thyyxxk.webserver.dao.his.nationalmatch; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import thyyxxk.webserver.entity.nationalmatch.*; import java.util.List; /** * @description: 新医保国家目录匹配mapper * @author: DingJie * @create: 2021-06-10 14:49:56 **/ @Mapper public interface NationalMatchDao { @Select("select a.code,a.serial,a.new_name as name,type=#{type}," + "a.national_code,a.national_name,a.uploaded_flag, " + "unit=(select name from yp_zd_unit where yp_zd_unit.code=a.dosage_unit), " + "dosage=(select name from yp_zd_dosage where yp_zd_dosage.code=a.dosage), " + "ltrim(a.specification) as specification,rtrim(a.pzwh) as approvalNumber, " + "factory=(select name from yp_zd_manufactory where yp_zd_manufactory.code=a.manu_code) " + "from yp_zd_dict a, (select max(serial) as serial,code from yp_zd_dict where isnull(visible_flag,0)=#{delFlag} " + "and isnull(del_flag,0)=#{delFlag} group by code) b,yp_base c " + "where isnull(national_status,0)=#{status} and a.code=b.code and a.serial=b.serial " + "and c.group_no=11 and a.code=c.charge_code and a.drug_kind in (select code from yp_zd_drug_kind where yp_type in (1,2)) " + "and a.code like #{code} and a.name like #{name}") IPage selectLocalMedicines(IPage iPage, @Param("code") String code, @Param("name") String name, @Param("type") int type, @Param("delFlag") int delFlag, @Param("status") int status); @Select("select a.code,a.serial,a.new_name as name,type=#{type}," + "a.national_code,a.national_name,a.uploaded_flag, " + "unit=(select name from yp_zd_unit where yp_zd_unit.code=a.dosage_unit), " + "dosage=(select name from yp_zd_dosage where yp_zd_dosage.code=a.dosage), " + "ltrim(a.specification) as specification,rtrim(a.pzwh) as approvalNumber, " + "factory=(select name from yp_zd_manufactory where yp_zd_manufactory.code=a.manu_code) " + "from yp_zd_dict a, (select max(serial) as serial,code from yp_zd_dict where isnull(visible_flag,0)=#{delFlag} " + "and isnull(del_flag,0)=#{delFlag} group by code) b,yp_base c " + "where isnull(national_status,0)=#{status} and a.code=b.code and a.serial=b.serial " + "and c.group_no=22 and a.code=c.charge_code and a.drug_kind in ('0007','0003') " + "and a.code like #{code} and a.name like #{name} ") IPage selectLocalHerbals(IPage iPage, @Param("code") String code, @Param("name") String name, @Param("type") int type, @Param("delFlag") int delFlag, @Param("status") int status); @Select("select code,new_name as name,charge_unit as unit,type=#{type},discription,specification," + "national_code,uploaded_flag,national_name,yb_comment as factory from zd_charge_item " + "where isnull(national_status,0)=#{status} and isnull(del_flag,0)=#{delFlag} and " + "class_code='J' and code like #{code} and name like #{name}") IPage selectLocalSupplies(IPage iPage, @Param("code") String code, @Param("name") String name, @Param("type") int type, @Param("delFlag") int delFlag, @Param("status") int status); @Select("select code,new_name as name,charge_unit as unit,type=#{type}, discription,specification,uploaded_flag," + "national_code,national_name,s_code as standardCode, charge_amount as price, " + "localName=(select b.local_medical_service_name from si_central_services b where b.national_code=a.national_code) " + "from zd_charge_item a " + "where isnull(national_status,0)=#{status} and isnull(del_flag,0)=#{delFlag} and " + "class_code!='J' and code like #{code} and name like #{name}") IPage selectLocalServices(IPage iPage, @Param("code") String code, @Param("name") String name, @Param("type") int type, @Param("delFlag") int delFlag, @Param("status") int status); @Update("update zd_charge_item set new_name=name where new_name is null") void asyncNewNameForServices(); @Select("select code as nationalCode,drug_trade_name as nationalName,drug_dosage_forms as actualDosage, " + "specifications=(drug_specifications+' x'+minimum_packing_quantity+minimum_preparation_unit+'/'+minimum_packing_unit), " + "packaging_material as packingMaterial,production_name as factory,license_number as approvalNumber, " + "drug_supervision_local_code as drugStandardCode from t_si_dl_ptnt_wstn_mdcn " + "where drug_trade_name=#{name} and license_number like #{approve}") List selectNationalMedicines(@Param("name") String name, @Param("approve") String approve); @Select("select code as nationalCode,monoo_name as nationalName,start_time,end_time " + "from t_si_dl_chns_hbl where monoo_name like #{name}") List selectNationalHerbals(@Param("name") String name); @Select("select code as nationalCode,service_name as nationalName,isnull(connotation,'') as projectConnotation, " + "exclude_content as exclusions,charge_unit as valuationUnit,entry_specification as projectDescription, " + "start_date,end_date from t_si_dl_mdcn_srvc where service_name like #{name}") List selectNationalServices(@Param("name") String name); @Select("select code as nationalCode,supplies_name as nationalName,si_universal_name as siName, " + "consumable_material as material,isnull(production_name,'') as factory,start_time,end_time " + "from t_si_dl_mdcn_sply where supplies_name like #{name} or si_universal_name like #{name}") List selectNationalSupplies(@Param("name") String name); @Update("update yp_zd_dict set national_status=1,national_code=#{nationalCode}," + "national_name=#{nationalName},match_oper=#{staffId}, match_date=getdate() " + "where code=#{code}") void matchMedicineAndHerbal(@Param("code") String code, @Param("staffId") String staffId, @Param("nationalCode") String nationalCode, @Param("nationalName") String nationalName); @Update("update zd_charge_item set national_status=1,national_code=#{nationalCode}," + "national_name=#{nationalName},match_oper=#{staffId},match_date=getdate() " + "where code=#{code}") void matchServcieAndSupply(@Param("code") String code, @Param("staffId") String staffId, @Param("nationalCode") String nationalCode, @Param("nationalName") String nationalName); @Update("update yp_zd_dict set national_status=0,national_code='',national_name='',cancel_match_oper=#{staffId}," + "cancel_match_date=getdate() where code=#{code} and serial=#{serial}") void cancelMatchYp(@Param("code") String code, @Param("serial") String serial, @Param("staffId") String staffId); @Update("update zd_charge_item set national_status=0,national_code='',national_name='',cancel_match_oper=#{staffId}," + "cancel_match_date=getdate() where code=#{code}") void cancelMatchXm(@Param("code") String code, @Param("staffId") String staffId); @Update("update yp_zd_dict set new_name=#{name},oper_id=#{staffId},oper_date=getdate() where code=#{code}") void updateMedicine(@Param("name") String name, @Param("staffId") String staffId, @Param("code") String code); @Update("update zd_charge_item set new_name=#{name},charge_unit=#{unit},charge_amount=#{price}," + "oper_id=#{staffId},s_code=#{standardCode},discription=#{discription}," + "oper_date=getdate() where code=#{code}") void updateServiceItem(@Param("name") String name, @Param("unit") String unit, @Param("price") String price, @Param("staffId") String staffId, @Param("standardCode") String standardCode, @Param("discription") String discription, @Param("code") String code); @Update("update zd_charge_item set new_name=#{name},oper_id=#{staffId},yb_comment=#{factory}," + "specification=#{specification},oper_date=getdate() where code=#{code}") void updateSupply(@Param("name") String name, @Param("staffId") String staffId, @Param("factory") String factory, @Param("specification") String specification, @Param("code") String code); }