ClassGroupStudentMapperMapper.xml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  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 (group_type_,music_group_id_,class_group_id_,user_id_,status_,create_time_)
  69. VALUE
  70. <foreach collection="classGroupStudentMapperList" item="item" index="index" separator=",">
  71. (#{item.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{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
  76. where class_group_id_ = #{classGroupId} and user_id_ = #{userId} AND status_ != 'QUIT'
  77. </select>
  78. <select id="findStudentNumByClassGroupId" resultType="string">
  79. SELECT
  80. su.username_
  81. FROM
  82. class_group_student_mapper cgsm
  83. LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
  84. WHERE cgsm.class_group_id_=#{classGroupId} AND cgsm.status_!='QUIT'
  85. </select>
  86. <resultMap id="teacherClassStudentDto" type="com.ym.mec.biz.dal.dto.TeacherClassStudentDto">
  87. <result property="userId" column="user_id_"/>
  88. <result property="userName" column="username_"/>
  89. <result property="avatar" column="avatar_"/>
  90. <result property="continuousAbsenteeismTimes" column="continuous_absenteeism_times_"/>
  91. </resultMap>
  92. <select id="findClassStudent" resultMap="teacherClassStudentDto">
  93. SELECT
  94. su.id_ user_id_,
  95. su.username_,
  96. su.avatar_,
  97. mgsf.continuous_absenteeism_times_
  98. FROM
  99. class_group_student_mapper cgsm
  100. LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
  101. LEFT JOIN sys_user su ON cgsm.user_id_ = su.id_
  102. LEFT JOIN music_group_student_fee_ mgsf ON cg.music_group_id_=mgsf.music_group_id_ AND su.id_ = mgsf.user_id_
  103. WHERE
  104. cgsm.class_group_id_ = #{classGroupId} AND cgsm.status_ != 'QUIT'
  105. ORDER BY su.id_
  106. <include refid="global.limit"/>
  107. </select>
  108. <select id="findClassStudentNum" resultType="int">
  109. SELECT
  110. COUNT(*)
  111. FROM
  112. class_group_student_mapper cgsm
  113. WHERE
  114. cgsm.class_group_id_ = #{classGroupId} AND cgsm.status_ != 'QUIT'
  115. </select>
  116. <select id="findStudentByCourse" resultMap="com.ym.mec.biz.dal.dao.StudentAttendanceDao.studentAttendanceViewUtilEntity">
  117. SELECT
  118. su.id_ student_id_,
  119. su.username_,
  120. su.avatar_,
  121. IF(sa.status_ IS NULL,'TRUANT',sa.status_) status_
  122. FROM
  123. course_schedule_student_payment cssp
  124. LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
  125. LEFT JOIN student_attendance sa ON cssp.course_schedule_id_ = sa.course_schedule_id_
  126. AND cssp.user_id_ = sa.user_id_
  127. WHERE
  128. cssp.course_schedule_id_ =#{courseScheduleId}
  129. </select>
  130. <update id="deleteStudentByMusicGroupId" parameterType="map">
  131. 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}
  132. </update>
  133. <update id="deleteStudentByClassGroupId">
  134. update class_group_student_mapper set status_ = 'QUIT' WHERE class_group_id_=#{classGroupId} AND user_id_=#{userId}
  135. </update>
  136. <select id="findClassStudentMapperByUserIdAndClassGroupId" resultMap="ClassGroupStudentMapper">
  137. SELECT * FROM class_group_student_mapper
  138. WHERE user_id_=#{userId} AND class_group_id_=#{classGroupId} AND status_ = 'NORMAL'
  139. </select>
  140. <select id="findByClassGroups" resultMap="ClassGroupStudentMapper">
  141. SELECT * FROM class_group_student_mapper WHERE class_group_id_ IN
  142. <foreach collection="classGroupIds" item="classGroupId" open="(" close=")" separator=",">
  143. #{classGroupId}
  144. </foreach>
  145. AND status_ = 'NORMAL'
  146. </select>
  147. <select id="findByClassGroup" resultMap="ClassGroupStudentMapper">
  148. SELECT * FROM class_group_student_mapper WHERE class_group_id_ = #{classGroupId}
  149. AND status_ = 'NORMAL'
  150. </select>
  151. <!-- 查询班级某状态的所有学生 -->
  152. <select id="findClassStudentList" resultMap="com.ym.mec.biz.dal.dao.StudentRegistrationDao.StudentRegistration">
  153. SELECT sr.* FROM class_group_student_mapper cgsm
  154. LEFT JOIN student_registration sr ON (sr.user_id_ = cgsm.user_id_ AND sr.music_group_id_ = cgsm.music_group_id_)
  155. WHERE cgsm.class_group_id_ = #{classGroupId} AND sr.music_group_status_ != 'QUIT'
  156. AND cgsm.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
  157. </select>
  158. <select id="findHighClassGroupHasUser" resultMap="ClassGroupStudentMapper">
  159. SELECT cgsm.* FROM class_group_student_mapper cgsm
  160. LEFT JOIN class_group cg ON cgsm.class_group_id_ = cg.id_
  161. WHERE cgsm.music_group_id_ = #{musicGroupId} AND cgsm.user_id_=#{userId} AND cg.type_ ='HIGH' AND cgsm.status_='NORMAL'
  162. </select>
  163. <select id="findClassGroupIdByUserAndCourseDateAndStatus" resultType="int">
  164. SELECT
  165. cgsm.class_group_id_
  166. FROM
  167. class_group_student_mapper cgsm
  168. LEFT JOIN course_schedule cs ON cgsm.class_group_id_=cs.class_group_id_
  169. WHERE cgsm.user_id_=#{userId}
  170. AND cs.class_date_ = DATE_FORMAT(#{data},'%Y-%m-%d')
  171. AND cgsm.status_=#{status}
  172. </select>
  173. </mapper>