ClassGroupStudentMapperMapper.xml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <!--
  4. 这个文件是自动生成的。
  5. 不要修改此文件。所有改动将在下次重新自动生成时丢失。
  6. -->
  7. <mapper namespace="com.ym.mec.biz.dal.dao.ClassGroupStudentMapperDao">
  8. <resultMap type="com.ym.mec.biz.dal.entity.ClassGroupStudentMapper" id="ClassGroupStudentMapper">
  9. <result column="id_" property="id"/>
  10. <result column="music_group_id_" property="musicGroupId" />
  11. <result column="class_group_id_" property="classGroupId"/>
  12. <result column="user_id_" property="userId"/>
  13. <result column="create_time_" property="createTime"/>
  14. <result column="status_" property="status" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
  15. </resultMap>
  16. <!-- 根据主键查询一条记录 -->
  17. <select id="get" resultMap="ClassGroupStudentMapper">
  18. SELECT * FROM class_group_student_mapper WHERE id_ = #{id}
  19. </select>
  20. <!-- 全查询 -->
  21. <select id="findAll" resultMap="ClassGroupStudentMapper">
  22. SELECT * FROM class_group_student_mapper ORDER BY id_
  23. </select>
  24. <!-- 向数据库增加一条记录 -->
  25. <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.ClassGroupStudentMapper" useGeneratedKeys="true"
  26. keyColumn="id" keyProperty="id">
  27. INSERT INTO class_group_student_mapper (id_,music_group_id_,class_group_id_,user_id_,status_,create_time_)
  28. VALUES(#{id},#{musicGroupId},#{classGroupId},#{userId},#{status},now())
  29. </insert>
  30. <!-- 根据主键查询一条记录 -->
  31. <update id="update" parameterType="com.ym.mec.biz.dal.entity.ClassGroupStudentMapper">
  32. UPDATE class_group_student_mapper
  33. <set>
  34. <if test="userId != null">
  35. user_id_ = #{userId},
  36. </if>
  37. <if test="classGroupId != null">
  38. class_group_id_ = #{classGroupId},
  39. </if>
  40. <if test="status != null">
  41. status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
  42. </if>
  43. </set>
  44. WHERE id_ = #{id}
  45. </update>
  46. <!-- 根据主键删除一条记录 -->
  47. <delete id="delete">
  48. DELETE FROM class_group_student_mapper WHERE id_ = #{id}
  49. </delete>
  50. <delete id="deleteByClassId">
  51. DELETE FROM class_group_student_mapper WHERE class_group_id_ = #{classGroupId}
  52. </delete>
  53. <!-- 分页查询 -->
  54. <select id="queryPage" resultMap="ClassGroupStudentMapper" parameterType="map">
  55. SELECT * FROM class_group_student_mapper ORDER BY id_
  56. <include refid="global.limit"/>
  57. </select>
  58. <!-- 查询当前表的总记录数 -->
  59. <select id="queryCount" resultType="int">
  60. SELECT COUNT(*) FROM class_group_student_mapper
  61. </select>
  62. <!-- 班级学生批量插入 -->
  63. <insert id="classGroupStudentsInsert" parameterType="java.util.List">
  64. INSERT INTO class_group_student_mapper (music_group_id_,class_group_id_,user_id_,status_,create_time_)
  65. VALUES
  66. <foreach collection="classGroupStudentMapperList" item="item" index="index" separator=",">
  67. (#{item.musicGroupId},#{item.classGroupId},#{item.userId},#{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},now())
  68. </foreach>
  69. </insert>
  70. <select id="query" resultMap="ClassGroupStudentMapper" parameterType="map">
  71. SELECT * FROM class_group_student_mapper where class_group_id_ = #{classGroupId} and user_id_ = #{userId} AND status_ IN ('NORMAL','LEAVE')
  72. </select>
  73. <select id="findStudentNumByClassGroupId" resultType="string">
  74. SELECT
  75. su.username_
  76. FROM
  77. class_group_student_mapper cgsm
  78. LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
  79. WHERE cgsm.class_group_id_=#{classGroupId}
  80. </select>
  81. <resultMap id="teacherClassStudentDto" type="com.ym.mec.biz.dal.dto.TeacherClassStudentDto">
  82. <result property="userId" column="user_id_"/>
  83. <result property="userName" column="username_"/>
  84. <result property="avatar" column="avatar_"/>
  85. <result property="continuousAbsenteeismTimes" column="continuous_absenteeism_times_"/>
  86. </resultMap>
  87. <select id="findClassStudent" resultMap="teacherClassStudentDto">
  88. SELECT
  89. su.id_ user_id_,
  90. su.username_,
  91. su.avatar_,
  92. mgsf.continuous_absenteeism_times_
  93. FROM
  94. class_group_student_mapper cgsm
  95. LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
  96. LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
  97. LEFT JOIN music_group_student_fee_ mgsf ON cg.music_group_id_=mgsf.music_group_id_
  98. WHERE
  99. cgsm.class_group_id_ = #{classGroupId}
  100. ORDER BY su.id_
  101. <include refid="global.limit"/>
  102. </select>
  103. <select id="findClassStudentNum" resultType="int">
  104. SELECT
  105. COUNT(*)
  106. FROM
  107. class_group_student_mapper cgsm
  108. WHERE
  109. cgsm.class_group_id_ = #{classGroupId}
  110. </select>
  111. <select id="findStudentByCourse" resultMap="com.ym.mec.biz.dal.dao.StudentAttendanceDao.studentAttendanceViewUtilEntity">
  112. SELECT
  113. su.id_ student_id_,
  114. su.username_,
  115. su.avatar_,
  116. IF(sa.status_ IS NULL,'TRUANT',sa.status_) status_
  117. FROM
  118. course_schedule_student_payment cssp
  119. LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
  120. LEFT JOIN student_attendance sa ON cssp.course_schedule_id_ = sa.course_schedule_id_
  121. AND cssp.user_id_ = sa.user_id_
  122. WHERE
  123. cssp.course_schedule_id_ =#{courseScheduleId}
  124. </select>
  125. <update id="deleteStudentByMusicGroupId" parameterType="map">
  126. update class_group_student_mapper set status_ = 'QUIT' where class_group_id_ in (select id_ from class_group where music_group_id_ = #{musicGroupId}) and user_id_ = #{userId}
  127. </update>
  128. <update id="deleteStudentByClassGroupId">
  129. update class_group_student_mapper set status_ = 'QUIT' WHERE class_group_id_=#{classGroupId} AND user_id_=#{userId}
  130. </update>
  131. <select id="findClassStudentMapperByUserIdAndClassGroupId" resultMap="ClassGroupStudentMapper">
  132. SELECT * FROM class_group_student_mapper WHERE user_id_=#{userId} AND class_group_id_=#{classGroupId} AND status_ = 'NORMAL'
  133. </select>
  134. <select id="findByClassGroups" resultMap="ClassGroupStudentMapper">
  135. SELECT * FROM class_group_student_mapper WHERE class_group_id_ IN
  136. <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
  137. #{classGroupId}
  138. </foreach>
  139. </select>
  140. <!-- 查询班级某状态的所有学生 -->
  141. <select id="findClassStudentList" resultMap="com.ym.mec.biz.dal.dao.StudentRegistrationDao.StudentRegistration">
  142. SELECT sr.* FROM class_group_student_mapper cgsm
  143. LEFT JOIN student_registration sr ON (sr.user_id_ = cgsm.user_id_ AND sr.music_group_id_ = cgsm.music_group_id_)
  144. WHERE cgsm.class_group_id_ = #{classGroupId} AND cgsm.status_ = #{status}
  145. </select>
  146. </mapper>