CourseScheduleStatisticsMapper.xml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  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.CourseScheduleStatisticsDao">
  8. <resultMap type="com.ym.mec.biz.dal.entity.CourseScheduleStatistics" id="CourseScheduleStatistics">
  9. <result column="course_schedule_id_" property="courseScheduleId" />
  10. <result column="music_group_id_" property="musicGroupId" />
  11. <result column="course_student_total_num_" property="courseStudentTotalNum" />
  12. <result column="attendance_num_" property="attendanceNum" />
  13. <result column="late_num_" property="lateNum" />
  14. <result column="standard_num_" property="standardNum" />
  15. <result column="homework_flag_" property="homeworkFlag" />
  16. <result column="homework_commit_num_" property="homeworkCommitNum" />
  17. <result column="service_flag_" property="serviceFlag" />
  18. <result column="attendance_rate_" property="attendanceRate" />
  19. <result column="standard_rate_" property="standardRate" />
  20. <result column="homework_commit_rate_" property="homeworkCommitRate" />
  21. </resultMap>
  22. <!-- 根据主键查询一条记录 -->
  23. <select id="get" resultMap="CourseScheduleStatistics" >
  24. SELECT * FROM course_schedule_statistics WHERE course_schedule_id_ = #{courseScheduleId}
  25. </select>
  26. <!-- 全查询 -->
  27. <select id="findAll" resultMap="CourseScheduleStatistics">
  28. SELECT * FROM course_schedule_statistics
  29. </select>
  30. <!-- 向数据库增加一条记录 -->
  31. <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleStatistics" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
  32. INSERT INTO course_schedule_statistics (course_schedule_id_,music_group_id_,course_student_total_num_,
  33. attendance_num_,late_num_,standard_num_,homework_flag_,homework_commit_num_,service_flag_)
  34. VALUES(#{courseScheduleId},#{musicGroupId},#{courseStudentTotalNum},#{attendanceNum},
  35. #{lateNum},#{standardNum},#{homeworkFlag},#{homeworkCommitNum},#{serviceFlag})
  36. </insert>
  37. <insert id="batchInsert">
  38. INSERT INTO course_schedule_statistics (course_schedule_id_,music_group_id_,course_student_total_num_,
  39. attendance_num_,late_num_,standard_num_,homework_flag_,homework_commit_num_,service_flag_) VALUES
  40. <foreach collection="scheduleStatisticsList" separator="," item="item">
  41. (#{item.courseScheduleId},#{item.musicGroupId},#{item.courseStudentTotalNum},#{item.attendanceNum},
  42. #{item.lateNum},#{item.standardNum},#{item.homeworkFlag},#{item.homeworkCommitNum},#{item.serviceFlag})
  43. </foreach>
  44. </insert>
  45. <!-- 根据主键查询一条记录 -->
  46. <update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleStatistics">
  47. UPDATE course_schedule_statistics <set>
  48. <if test="homeworkFlag != null">
  49. homework_flag_ = #{homeworkFlag},
  50. </if>
  51. <if test="attendanceNum != null">
  52. attendance_num_ = #{attendanceNum},
  53. </if>
  54. <if test="serviceFlag != null">
  55. service_flag_ = #{serviceFlag},
  56. </if>
  57. <if test="standardNum != null">
  58. standard_num_ = #{standardNum},
  59. </if>
  60. <if test="homeworkCommitNum != null">
  61. homework_commit_num_ = #{homeworkCommitNum},
  62. </if>
  63. <if test="courseStudentTotalNum != null">
  64. course_student_total_num_ = #{courseStudentTotalNum},
  65. </if>
  66. <if test="lateNum != null">
  67. late_num_ = #{lateNum},
  68. </if>
  69. <if test="musicGroupId != null">
  70. music_group_id_ = #{musicGroupId},
  71. </if>
  72. </set> WHERE course_schedule_id_ = #{courseScheduleId}
  73. </update>
  74. <update id="batchUpdate">
  75. <foreach collection="scheduleStatisticsList" item="item" index="index" open="" close="" separator=";">
  76. UPDATE course_schedule_statistics
  77. <set>
  78. <if test="item.homeworkFlag != null">
  79. homework_flag_ = #{item.homeworkFlag},
  80. </if>
  81. <if test="item.attendanceNum != null">
  82. attendance_num_ = #{item.attendanceNum},
  83. </if>
  84. <if test="item.serviceFlag != null">
  85. service_flag_ = #{item.serviceFlag},
  86. </if>
  87. <if test="item.standardNum != null">
  88. standard_num_ = #{item.standardNum},
  89. </if>
  90. <if test="item.homeworkCommitNum != null">
  91. homework_commit_num_ = #{item.homeworkCommitNum},
  92. </if>
  93. <if test="item.courseStudentTotalNum != null">
  94. course_student_total_num_ = #{item.courseStudentTotalNum},
  95. </if>
  96. <if test="item.lateNum != null">
  97. late_num_ = #{item.lateNum},
  98. </if>
  99. </set> WHERE course_schedule_id_ = #{item.courseScheduleId}
  100. </foreach>
  101. </update>
  102. <!-- 根据主键删除一条记录 -->
  103. <delete id="delete" >
  104. DELETE FROM course_schedule_statistics WHERE course_schedule_id_ = #{courseScheduleId}
  105. </delete>
  106. <delete id="delWaitByCourseId">
  107. DELETE FROM course_schedule_statistics_wait WHERE course_schedule_id_ IN
  108. <foreach collection="courseIdList" item="courseId" separator="," open="(" close=")">
  109. #{courseId}
  110. </foreach>
  111. </delete>
  112. <!-- 分页查询 -->
  113. <select id="queryPage" resultMap="CourseScheduleStatistics" parameterType="map">
  114. SELECT * FROM course_schedule_statistics <include refid="global.limit"/>
  115. </select>
  116. <!-- 查询当前表的总记录数 -->
  117. <select id="queryCount" resultType="int">
  118. SELECT COUNT(*) FROM course_schedule_statistics
  119. </select>
  120. <select id="queryUpdateCourseScheduleStatistics" resultMap="CourseScheduleStatistics">
  121. SELECT cssw.course_schedule_id_,cs.music_group_id_,COUNT(cssp.id_) course_student_total_num_,
  122. COUNT(CASE WHEN sa.status_ = 'NORMAL' THEN 1 ELSE NULL END) attendance_num_,
  123. COUNT(CASE WHEN sa.status_ = 'LATE' THEN 1 ELSE NULL END) late_num_,COUNT(CASE WHEN sa.qualified_flag_ = 1 THEN 1 ELSE NULL END) standard_num_,
  124. CASE WHEN sch.id_ IS NOT NULL THEN 1 ELSE 0 END homework_flag_,COUNT(CASE WHEN sch.status_ = 1 THEN 1 ELSE NULL END) homework_commit_num_,
  125. CASE WHEN sees.course_ids_ IS NOT NULL THEN 1 ELSE 0 END service_flag_
  126. FROM course_schedule_statistics_wait cssw
  127. LEFT JOIN course_schedule_statistics css ON css.course_schedule_id_ = cssw.course_schedule_id_
  128. LEFT JOIN course_schedule cs ON cs.id_ = cssw.course_schedule_id_
  129. LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cssw.course_schedule_id_
  130. LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssw.course_schedule_id_
  131. LEFT JOIN student_course_homework sch ON sch.course_schedule_id_ = cssw.course_schedule_id_
  132. LEFT JOIN (SELECT DISTINCT course_ids_ FROM student_extracurricular_exercises_situation_ WHERE course_ids_ IS NOT NULL) sees ON FIND_IN_SET(cssw.course_schedule_id_,sees.course_ids_)
  133. WHERE cs.group_type_ = 'MUSIC' AND css.course_schedule_id_ IS NOT NULL
  134. GROUP BY cssw.course_schedule_id_;
  135. </select>
  136. <select id="queryInsertCourseScheduleStatistics" resultMap="CourseScheduleStatistics">
  137. SELECT cssw.course_schedule_id_,cs.music_group_id_,COUNT(cssp.id_) course_student_total_num_,
  138. COUNT(CASE WHEN sa.status_ = 'NORMAL' THEN 1 ELSE NULL END) attendance_num_,
  139. COUNT(CASE WHEN sa.status_ = 'LATE' THEN 1 ELSE NULL END) late_num_,COUNT(CASE WHEN sa.qualified_flag_ = 1 THEN 1 ELSE NULL END) standard_num_,
  140. CASE WHEN sch.id_ IS NOT NULL THEN 1 ELSE 0 END homework_flag_,COUNT(CASE WHEN sch.status_ = 1 THEN 1 ELSE NULL END) homework_commit_num_,
  141. CASE WHEN sees.course_ids_ IS NOT NULL THEN 1 ELSE 0 END service_flag_
  142. FROM course_schedule_statistics_wait cssw
  143. LEFT JOIN course_schedule_statistics css ON css.course_schedule_id_ = cssw.course_schedule_id_
  144. LEFT JOIN course_schedule cs ON cs.id_ = cssw.course_schedule_id_
  145. LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cssw.course_schedule_id_
  146. LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssw.course_schedule_id_
  147. LEFT JOIN student_course_homework sch ON sch.course_schedule_id_ = cssw.course_schedule_id_
  148. LEFT JOIN (SELECT DISTINCT course_ids_ FROM student_extracurricular_exercises_situation_ WHERE course_ids_ IS NOT NULL) sees ON FIND_IN_SET(cssw.course_schedule_id_,sees.course_ids_)
  149. WHERE cs.group_type_ = 'MUSIC' AND css.course_schedule_id_ IS NULL
  150. GROUP BY cssw.course_schedule_id_;
  151. </select>
  152. </mapper>