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.name,type=#{type},a.national_code,a.national_name, " + "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), " + "a.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=#{groupNo} and a.code=c.charge_code 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, @Param("groupNo") int groupNo); @Select("select code,name,charge_unit as unit,type=#{type}, discription as specification,national_code," + "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 as specification," + "national_code,national_name,s_code as standardCode, charge_amount as price 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 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 * from si_central_medicine where national_name=#{name} and approval_number like #{approve}") List selectNationalMedicines(@Param("name") String name, @Param("approve") String approve); @Select("select * from si_central_herbal where national_name=#{name}") List selectNationalHerbals(@Param("name") String name); @Select("select * from si_central_services where national_name=#{name} " + "or local_medical_service_name like #{name}") List selectNationalServices(@Param("name") String name); @Select("select * from si_central_supplies_mini where national_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); }