StdTicketDao.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package cn.hmsoft.mr.data.dao.std;
  2. import org.springframework.stereotype.Repository;
  3. import cn.hmsoft.helper.StringHelper;
  4. import cn.hmsoft.jdbc.core.PlatformDaoSupport;
  5. import cn.hmsoft.jdbc.entity.Pager;
  6. import cn.hmsoft.jdbc.entity.QueryOrder;
  7. import cn.hmsoft.mr.data.model.std.StdTicket;
  8. import java.util.List;
  9. @Repository
  10. public class StdTicketDao extends PlatformDaoSupport<StdTicket> {
  11. public Pager pageTicket(Integer school_id, Integer batch_id, Integer start, Integer limit, String query,
  12. QueryOrder queryOrder) {
  13. StringBuilder sql = new StringBuilder();
  14. sql.append("select t.*,e.aspect_name,s.std_name,s.cert_id,s.std_mobile from std_ticket t ");
  15. sql.append(" inner join std_reg s on s.school_id=t.school_id and s.std_id=t.std_id ");
  16. sql.append(" left join std_enrol e on e.std_id=t.std_id and e.aspect_id=t.aspect_id and e.school_id=t.school_id and e.batch_id=t.batch_id ");
  17. sql.append("where 1=1 ");
  18. if (school_id != null) {
  19. sql.append(" and t.school_id=" + school_id);
  20. }
  21. if (batch_id != null) {
  22. sql.append(" and t.batch_id=" + batch_id);
  23. }
  24. if (StringHelper.isNotEmpty(query)) {
  25. sql.append(" and (s.cert_id like ? or s.std_name like ? or s.std_mobile like ? or s.baccal_no like ? or t.ticket_no like ?) ");
  26. String value = this.generateLikeParamter(query);
  27. return this.pageMapBySql(queryOrder, start, limit, sql.toString(), value, value, value, value, value);
  28. }
  29. return this.pageMapBySql(queryOrder, start, limit, sql.toString());
  30. }
  31. public Pager count(Integer school_id, Integer start, Integer limit, String query, QueryOrder queryOrder) {
  32. StringBuilder sql = new StringBuilder();
  33. sql.append("SELECT b.batch_id,b.batch_name,count(DISTINCT t.std_id) total,count(DISTINCT l.STD_ID) download FROM std_ticket t LEFT JOIN std_log l ON t.std_id=l.STD_ID AND l.LOG_TYPE='ticket' LEFT JOIN cf_batch b ON t.batch_id=b.batch_id ");
  34. if (school_id != null) {
  35. sql.append(" where t.school_id=" + school_id);
  36. }
  37. sql.append(" group by b.batch_id,b.batch_name");
  38. return this.pageMapBySql(queryOrder, start, limit, sql.toString());
  39. }
  40. }