ClassGroupStudentMapperMapper.xml 8.1 KB

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