CovidVaccinateAppointmentMapper.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package thyyxxk.webserver.dao.his.querydata;
  2. import com.baomidou.mybatisplus.core.conditions.Wrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.core.toolkit.Constants;
  5. import org.apache.ibatis.annotations.*;
  6. import thyyxxk.webserver.entity.querydata.CovidVaccinateAppointment;
  7. import thyyxxk.webserver.entity.querydata.CovidVaccinateThreshold;
  8. import java.util.Date;
  9. import java.util.List;
  10. /**
  11. * <p>
  12. * 新冠接种预约 Mapper 接口
  13. * </p>
  14. *
  15. * @author 肖蟾
  16. * @since 2021-03-16
  17. */
  18. @Mapper
  19. public interface CovidVaccinateAppointmentMapper {
  20. /**
  21. * 获取到新冠疫苗预约日期的最大值
  22. * @return 返回最大的日期
  23. * */
  24. @Select("select max(date) as date from t_covid_vaccinate_threshold")
  25. Date maxDate ();
  26. /**
  27. * 查询出指定范围的数据 用来设置 新冠疫苗的预约阈值
  28. * @param startDate 开始的日期
  29. * @param endDate 结束的日期
  30. * @return 返回满足条件的list集合
  31. * */
  32. @Select("select date,value from t_covid_vaccinate_threshold " +
  33. "where date>= #{startDate} and date <= #{endDate}")
  34. List<CovidVaccinateThreshold> queryList(@Param("startDate")String startDate,
  35. @Param("endDate")String endDate);
  36. /**
  37. * 查询新冠疫苗的预约阈值如果没有的就会插入一条数据
  38. * @param date 要插入的日期 */
  39. @Insert("insert into t_covid_vaccinate_threshold (date, value) values (#{date},'300')")
  40. void insertDate(@Param("date") String date);
  41. /**
  42. * 设置新冠疫苗每日预约的人数限制
  43. * @param date 设置限制的日期
  44. * @param value 设置预约的具体人数
  45. * @return 返回
  46. * */
  47. @Update("update t_covid_vaccinate_threshold set value = #{value} where date=#{date}")
  48. Boolean update(@Param("value")int value, @Param("date")String date);
  49. /**
  50. * 使用了MyBatis-Plus 来查询并分页 新冠疫苗的人数
  51. * @param page 分页的条件 current size
  52. * @param queryWrapper 这个是mybatis-plus的条件构造器
  53. * @return 返回一个分页的对象 包含 符合分页条件的数据 和 符合条件数据条数
  54. * */
  55. @Select("select patient_id,a.name,sex, " +
  56. "phone,social_no,age,corp_name, " +
  57. "job_category_to_string=(b.name),execute_date from t_covid_vaccinate_appointment a " +
  58. "inner join t_covid_appointment_job_category_dict b on (b.id = job_category) ${ew.customSqlSegment} and " +
  59. "isnull(del_flag,0)=0")
  60. IPage<CovidVaccinateAppointment> mybatisPlusQueryXGYM(IPage<CovidVaccinateAppointment> page,
  61. @Param(Constants.WRAPPER) Wrapper<CovidVaccinateAppointment> queryWrapper);
  62. }