ClassGradeUserMapper.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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.zhongzheng.modules.grade.mapper.ClassGradeUserMapper">
  6. <resultMap type="com.zhongzheng.modules.grade.domain.ClassGradeUser" id="ClassGradeUserResult">
  7. <result property="id" column="id"/>
  8. <result property="userId" column="user_id"/>
  9. <result property="gradeId" column="grade_id"/>
  10. <result property="status" column="status"/>
  11. <result property="createTime" column="create_time"/>
  12. <result property="updateTime" column="update_time"/>
  13. </resultMap>
  14. <resultMap type="com.zhongzheng.modules.grade.vo.ClassGradeUserVo" id="ClassGradeUserVoResult">
  15. <result property="id" column="id"/>
  16. <result property="userId" column="user_id"/>
  17. <result property="gradeId" column="grade_id"/>
  18. <result property="status" column="status"/>
  19. <result property="code" column="student_code"/>
  20. <result property="realName" column="realname"/>
  21. <result property="idCard" column="id_card"/>
  22. <result property="createBy" column="create_by"/>
  23. <result property="telPhone" column="telphone"/>
  24. </resultMap>
  25. <resultMap type="com.zhongzheng.modules.grade.vo.ClassGradeUserGoodsVo" id="ClassGradeUserGoodsVoResult">
  26. <result property="id" column="id"/>
  27. <result property="userId" column="user_id"/>
  28. <result property="gradeId" column="grade_id"/>
  29. <result property="status" column="status"/>
  30. <result property="goodsCode" column="goods_code"/>
  31. <result property="goodsName" column="goods_name"/>
  32. <result property="gradeStatus" column="grade_status"/>
  33. <result property="gradeCode" column="grade_code"/>
  34. <result property="gradeName" column="grade_name"/>
  35. <result property="year" column="year"/>
  36. <result property="educationName" column="education_name"/>
  37. <result property="projectName" column="project_name"/>
  38. <result property="businessName" column="business_name"/>
  39. <result property="schoolName" column="school_name"/>
  40. <result property="createTime" column="create_time"/>
  41. <result property="createBy" column="create_by"/>
  42. </resultMap>
  43. <select id="select" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
  44. resultMap="ClassGradeUserVoResult">
  45. SELECT
  46. g.*,
  47. u.student_code,
  48. u.realname,
  49. u.id_card,
  50. u.telphone
  51. FROM
  52. class_grade_user g
  53. LEFT JOIN `user` u ON g.user_id = u.user_id
  54. WHERE
  55. 1 = 1
  56. <if test="status != null and status.size()!=0 ">
  57. AND g.status in
  58. <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
  59. #{item}
  60. </foreach>
  61. </if>
  62. <if test="gradeId != null and gradeId != ''">
  63. AND g.grade_id = #{gradeId}
  64. </if>
  65. order by g.update_time desc
  66. </select>
  67. <select id="listUser" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
  68. resultMap="ClassGradeUserGoodsVoResult">
  69. SELECT
  70. * ,
  71. (select `code` FROM goods g LEFT JOIN class_grade_goods c on g.goods_id = c.goods_id where c.grade_id =
  72. u.grade_id) as goods_code,
  73. (select `year` FROM goods g LEFT JOIN class_grade_goods c on g.goods_id = c.goods_id where c.grade_id =
  74. u.grade_id) as year,
  75. (select goods_name FROM goods g LEFT JOIN class_grade_goods c on g.goods_id = c.goods_id where c.grade_id =
  76. u.grade_id) as goods_name,
  77. (select b.business_name FROM course_business b LEFT JOIN goods g on b.id = g.business_id LEFT JOIN
  78. class_grade_goods c on g.goods_id = c.goods_id where c.grade_id = u.grade_id) as business_name,
  79. (select b.project_name FROM course_project_type b LEFT JOIN goods g on b.id = g.project_id LEFT JOIN
  80. class_grade_goods c on g.goods_id = c.goods_id where c.grade_id = u.grade_id) as project_name,
  81. (select b.school_name FROM school b LEFT JOIN goods g on b.id = g.school_id LEFT JOIN class_grade_goods c on
  82. g.goods_id = c.goods_id where c.grade_id = u.grade_id) as school_name,
  83. (select b.education_name FROM course_education_type b LEFT JOIN goods g on b.id = g.education_type_id LEFT JOIN
  84. class_grade_goods c on g.goods_id = c.goods_id where c.grade_id = u.grade_id) as education_name,
  85. (SELECT g.grade_code FROM class_grade g where u.grade_id = g.class_id) as grade_code,
  86. (SELECT g.class_name FROM class_grade g where u.grade_id = g.class_id) as grade_name,
  87. (SELECT g.status FROM class_grade g where u.grade_id = g.class_id) as grade_status
  88. FROM
  89. class_grade_user u
  90. where 1=1
  91. <if test="status != null and status.size()!=0 ">
  92. AND u.status in
  93. <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
  94. #{item}
  95. </foreach>
  96. </if>
  97. <if test="userId != null and userId != ''">
  98. and u.user_id= #{userId}
  99. </if>
  100. order by u.update_time desc
  101. </select>
  102. </mapper>