BandingTaskMapper.xml 1.7 KB

12345678910111213141516171819202122232425262728293031323334
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.xjrsoft.module.banding.mapper.BandingTaskMapper">
  6. <select id="getPage" parameterType="com.xjrsoft.module.banding.dto.BandingTaskPageDto" resultType="com.xjrsoft.module.banding.vo.BandingTaskPageVo">
  7. SELECT t.id, t.sort_code, t.grade_id, t.enroll_type, t.name, t.status, t2.name AS enrollTypeCn, t1.name AS gradeName,
  8. (SELECT COUNT(*) FROM base_new_student a1
  9. INNER JOIN enrollment_plan a2 ON a1.enrollment_plan_id = a2.id
  10. WHERE a1.delete_mark = 0 AND a2.delete_mark = 0
  11. AND a2.grade_id = t.grade_id AND a2.enroll_type = t.enroll_type
  12. AND a1.is_can_banding = 1
  13. ) AS admissions_count,
  14. IF(t.status = 1,
  15. (
  16. SELECT COUNT(*) FROM banding_task_class_student_sure a1
  17. INNER JOIN banding_task_class a2 ON a1.banding_task_class_id = a2.id
  18. WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_id = t.id
  19. ),
  20. (
  21. SELECT COUNT(*) FROM banding_task_class_student a1
  22. INNER JOIN banding_task_class a2 ON a1.banding_task_class_id = a2.id
  23. WHERE a1.delete_mark = 0 AND a2.delete_mark = 0 AND a2.banding_task_id = t.id
  24. )
  25. ) AS divided_count
  26. FROM banding_task t
  27. LEFT JOIN base_grade t1 ON (t1.id = t.grade_id)
  28. LEFT JOIN xjr_dictionary_detail t2 ON (t2.code = t.enroll_type)
  29. WHERE t.delete_mark = 0 AND t2.delete_mark = 0
  30. <if test="dto.enrollType != null and dto.enrollType != ''">
  31. and t.enroll_type = #{dto.enrollType}
  32. </if>
  33. </select>
  34. </mapper>