package thyyxxk.wxservice_server.dao; import org.apache.ibatis.annotations.*; import thyyxxk.wxservice_server.pojo.patientcards.BindPatientIdParam; import java.util.List; @Mapper public interface PatientCardsDao { @Select("select name, patient_id, phone, is_default from t_wechat_patient_bind where open_id=#{openId} and del_flag=0") List getBindPatientCard(@Param("openId") String openId); @Select("select rtrim(name) name, rtrim(patient_id) patientId, rtrim(social_no) socialNo, " + "convert(varchar(10), lv_date, 21) lvDate, rtrim(ic_card_no) icCardNo " + "from mz_patient_mi where patient_id=#{cardNo}") List getPatientBaseInfoByPatientId(@Param("cardNo") String cardNo); @Select("select rtrim(name) name, rtrim(patient_id) patientId, rtrim(social_no) socialNo, " + "convert(varchar(10), lv_date, 21) lvDate, rtrim(ic_card_no) icCardNo " + "from mz_patient_mi where ic_card_no=#{cardNo}") List getPatientBaseInfoByMzCardNo(@Param("cardNo") String cardNo); @Select("select rtrim(name) name, rtrim(patient_id) patientId, rtrim(social_no) socialNo, " + "convert(varchar(10), lv_date, 21) lvDate, rtrim(ic_card_no) icCardNo " + "from mz_patient_mi where social_no=#{cardNo}") List getPatientBaseInfoBySocialNo(@Param("cardNo") String cardNo); @Select("select count(1) from t_wechat_patient_bind where patient_id=#{patientId} and open_id=#{openId}") Integer isThisCardBindBefore(@Param("patientId") String patientId, @Param("openId") String openId); @Select("select count(1) from t_wechat_patient_bind where open_id=#{openId} and del_flag=0") Integer validBindCount(@Param("openId") String openId); @Insert("insert into t_wechat_patient_bind (name, patient_id, social_no, phone, province, " + "city, district, street, open_id, del_flag, is_default, ic_card_no, guard_name,guard_id_no) " + "values (#{name}, #{patientId}, #{socialNo}, #{phone}, #{province}, #{city}, " + "#{district}, #{street}, #{openId}, 0, #{isDefault}, #{icCardNo}, #{guardName}, #{guardIdNo})") void bindPatientCard(BindPatientIdParam param); @Select("update t_wechat_patient_bind set is_default=#{isDefault} where " + "open_id=#{openId} and patient_id like #{patientId}") void updateDefaultCard(@Param("patientId") String patientId, @Param("openId") String openId, @Param("isDefault") int isDefault); @Update("update t_wechat_patient_bind set del_flag=0,name=#{name},phone=#{phone}, " + "province=#{province}, city=#{city}, district=#{district}, street=#{street} " + "where patient_id=#{patientId} and open_id=#{openId}") void bindPatientCardAgain(BindPatientIdParam param); @Delete("update t_wechat_patient_bind set del_flag=1 where patient_id=#{patientId} and open_id=#{openId}") void unBindPatientCard(@Param("patientId") String patientId, @Param("openId") String openId); @Update("update t_wechat_patient_bind set ic_card_no=#{cardNo}, " + "old_ic_card_no=#{oldCardNo} where ic_card_no=#{oldCardNo}") void updateCardNo(@Param("cardNo") String cardNo, @Param("oldCardNo") String oldCardNo); @Select("select top 1 name from t_wechat_patient_bind where ic_card_no=#{cardNo} and del_flag=0") String selectPatientNameByCardNo(@Param("cardNo") String cardNo); }