BaseClass.xml 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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.base.mapper.BaseClassMapper">
  6. <select id="getPage" parameterType="com.xjrsoft.module.base.dto.BaseClassPageDto" resultType="com.xjrsoft.module.base.vo.BaseClassPageVo">
  7. SELECT t1.id,t1.name,t1.code,t4.name AS grade_name,t2.name AS teacher_name,t3.name AS enroll_type_cn,
  8. t5.name AS class_type_cn,t6.name AS classroomName,
  9. (SELECT COUNT(DISTINCT(a1.id)) FROM xjr_user a1
  10. LEFT JOIN base_student_school_roll a2 ON a1.id = a2.user_id
  11. WHERE a1.delete_mark = 0 AND a2.delete_mark = 0
  12. AND a1.gender = 'SB10001' AND a2.class_id = t1.id
  13. AND a2.archives_status = 'FB2901') AS male_cout,
  14. (SELECT COUNT(DISTINCT(a1.id)) FROM xjr_user a1
  15. LEFT JOIN base_student_school_roll a2 ON a1.id = a2.user_id
  16. WHERE a1.delete_mark = 0 AND a2.delete_mark = 0
  17. AND a1.gender = 'SB10002' AND a2.class_id = t1.id
  18. AND a2.archives_status = 'FB2901') AS female_count,
  19. (SELECT COUNT(DISTINCT(a1.id)) FROM xjr_user a1
  20. LEFT JOIN base_student_school_roll a2 ON a1.id = a2.user_id
  21. WHERE a1.delete_mark = 0 AND a2.delete_mark = 0
  22. AND a2.class_id = t1.id AND a2.stduy_status = 'FB3002'
  23. AND a2.archives_status = 'FB2901') AS stay_count,
  24. (SELECT COUNT(DISTINCT(a1.id)) FROM xjr_user a1
  25. LEFT JOIN base_student_school_roll a2 ON a1.id = a2.user_id
  26. WHERE a1.delete_mark = 0 AND a2.delete_mark = 0
  27. AND a2.class_id = t1.id AND a2.stduy_status = 'FB3001'
  28. AND a2.archives_status = 'FB2901') AS not_stay_count FROM base_class t1
  29. LEFT JOIN xjr_user t2 ON t1.teacher_id = t2.id
  30. LEFT JOIN xjr_dictionary_detail t3 ON t3.code = t1.enroll_type AND t3.item_id = 2023000000000000027
  31. LEFT JOIN xjr_dictionary_detail t5 ON t5.code = t1.class_type AND t5.item_id = 1784405535724978177
  32. LEFT JOIN base_grade t4 ON t1.grade_id = t4.id
  33. LEFT JOIN base_classroom t6 ON t1.classroom_id = t6.id
  34. WHERE t1.delete_mark = 0
  35. <if test="dto.name != null and dto.name != ''">
  36. and t1.name like concat('%', #{dto.name}, '%')
  37. </if>
  38. <if test="dto.teacherName != null and dto.teacherName != ''">
  39. and t2.name like concat('%', #{dto.teacherName}, '%')
  40. </if>
  41. <if test="dto.gradeId != null">
  42. and t4.id = #{dto.gradeId}
  43. </if>
  44. <if test="dto.classroomName != null and dto.classroomName != ''">
  45. and t6.name like concat('%', #{dto.classroomName}, '%')
  46. </if>
  47. <if test="dto.classType != null and dto.classType != ''">
  48. and t1.class_type = #{dto.classType}
  49. </if>
  50. </select>
  51. </mapper>