|
@@ -7,7 +7,6 @@
|
|
|
<mapper namespace="com.ym.mec.biz.dal.dao.CourseScheduleStatisticsDao">
|
|
|
|
|
|
<resultMap type="com.ym.mec.biz.dal.entity.CourseScheduleStatistics" id="CourseScheduleStatistics">
|
|
|
- <result column="id_" property="id" />
|
|
|
<result column="course_schedule_id_" property="courseScheduleId" />
|
|
|
<result column="music_group_id_" property="musicGroupId" />
|
|
|
<result column="course_student_total_num_" property="courseStudentTotalNum" />
|
|
@@ -21,72 +20,138 @@
|
|
|
|
|
|
<!-- 根据主键查询一条记录 -->
|
|
|
<select id="get" resultMap="CourseScheduleStatistics" >
|
|
|
- SELECT * FROM course_schedule_statistics WHERE id_ = #{id}
|
|
|
+ SELECT * FROM course_schedule_statistics WHERE course_schedule_id_ = #{courseScheduleId}
|
|
|
</select>
|
|
|
|
|
|
<!-- 全查询 -->
|
|
|
<select id="findAll" resultMap="CourseScheduleStatistics">
|
|
|
- SELECT * FROM course_schedule_statistics ORDER BY id_
|
|
|
+ SELECT * FROM course_schedule_statistics
|
|
|
</select>
|
|
|
|
|
|
<!-- 向数据库增加一条记录 -->
|
|
|
<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleStatistics" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
|
|
|
- <!--
|
|
|
- <selectKey resultClass="int" keyProperty="id" >
|
|
|
- SELECT SEQ_WSDEFINITION_ID.nextval AS ID FROM DUAL
|
|
|
- </selectKey>
|
|
|
- -->
|
|
|
- INSERT INTO course_schedule_statistics (id_,course_schedule_id_,music_group_id_,course_student_total_num_,attendance_num_,late_num_,standard_num_,homework_flag_,homework_commit_num_,service_flag_) VALUES(#{id},#{courseScheduleId},#{musicGroupId},#{courseStudentTotalNum},#{attendanceNum},#{lateNum},#{standardNum},#{homeworkFlag},#{homeworkCommitNum},#{serviceFlag})
|
|
|
+ INSERT INTO course_schedule_statistics (course_schedule_id_,music_group_id_,course_student_total_num_,
|
|
|
+ attendance_num_,late_num_,standard_num_,homework_flag_,homework_commit_num_,service_flag_)
|
|
|
+ VALUES(#{courseScheduleId},#{musicGroupId},#{courseStudentTotalNum},#{attendanceNum},
|
|
|
+ #{lateNum},#{standardNum},#{homeworkFlag},#{homeworkCommitNum},#{serviceFlag})
|
|
|
</insert>
|
|
|
-
|
|
|
+ <insert id="batchInsert">
|
|
|
+ INSERT INTO course_schedule_statistics (course_schedule_id_,music_group_id_,course_student_total_num_,
|
|
|
+ attendance_num_,late_num_,standard_num_,homework_flag_,homework_commit_num_,service_flag_) VALUES
|
|
|
+ <foreach collection="scheduleStatisticsList" separator="," item="item">
|
|
|
+ (#{item.courseScheduleId},#{item.musicGroupId},#{item.courseStudentTotalNum},#{item.attendanceNum},
|
|
|
+ #{item.lateNum},#{item.standardNum},#{item.homeworkFlag},#{item.homeworkCommitNum},#{item.serviceFlag})
|
|
|
+ </foreach>
|
|
|
+ </insert>
|
|
|
+
|
|
|
<!-- 根据主键查询一条记录 -->
|
|
|
<update id="update" parameterType="com.ym.mec.biz.dal.entity.CourseScheduleStatistics">
|
|
|
UPDATE course_schedule_statistics <set>
|
|
|
-<if test="homeworkFlag != null">
|
|
|
-homework_flag_ = #{homeworkFlag},
|
|
|
-</if>
|
|
|
-<if test="attendanceNum != null">
|
|
|
-attendance_num_ = #{attendanceNum},
|
|
|
-</if>
|
|
|
-<if test="serviceFlag != null">
|
|
|
-service_flag_ = #{serviceFlag},
|
|
|
-</if>
|
|
|
-<if test="standardNum != null">
|
|
|
-standard_num_ = #{standardNum},
|
|
|
-</if>
|
|
|
-<if test="homeworkCommitNum != null">
|
|
|
-homework_commit_num_ = #{homeworkCommitNum},
|
|
|
-</if>
|
|
|
-<if test="id != null">
|
|
|
-id_ = #{id},
|
|
|
-</if>
|
|
|
-<if test="courseStudentTotalNum != null">
|
|
|
-course_student_total_num_ = #{courseStudentTotalNum},
|
|
|
-</if>
|
|
|
-<if test="courseScheduleId != null">
|
|
|
-course_schedule_id_ = #{courseScheduleId},
|
|
|
-</if>
|
|
|
-<if test="lateNum != null">
|
|
|
-late_num_ = #{lateNum},
|
|
|
-</if>
|
|
|
-<if test="musicGroupId != null">
|
|
|
-music_group_id_ = #{musicGroupId},
|
|
|
-</if>
|
|
|
-</set> WHERE id_ = #{id}
|
|
|
+ <if test="homeworkFlag != null">
|
|
|
+ homework_flag_ = #{homeworkFlag},
|
|
|
+ </if>
|
|
|
+ <if test="attendanceNum != null">
|
|
|
+ attendance_num_ = #{attendanceNum},
|
|
|
+ </if>
|
|
|
+ <if test="serviceFlag != null">
|
|
|
+ service_flag_ = #{serviceFlag},
|
|
|
+ </if>
|
|
|
+ <if test="standardNum != null">
|
|
|
+ standard_num_ = #{standardNum},
|
|
|
+ </if>
|
|
|
+ <if test="homeworkCommitNum != null">
|
|
|
+ homework_commit_num_ = #{homeworkCommitNum},
|
|
|
+ </if>
|
|
|
+ <if test="courseStudentTotalNum != null">
|
|
|
+ course_student_total_num_ = #{courseStudentTotalNum},
|
|
|
+ </if>
|
|
|
+ <if test="lateNum != null">
|
|
|
+ late_num_ = #{lateNum},
|
|
|
+ </if>
|
|
|
+ <if test="musicGroupId != null">
|
|
|
+ music_group_id_ = #{musicGroupId},
|
|
|
+ </if>
|
|
|
+ </set> WHERE course_schedule_id_ = #{courseScheduleId}
|
|
|
</update>
|
|
|
-
|
|
|
+ <update id="batchUpdate">
|
|
|
+ <foreach collection="scheduleStatisticsList" item="item" index="index" open="" close="" separator=";">
|
|
|
+ UPDATE course_schedule_statistics
|
|
|
+ <set>
|
|
|
+ <if test="item.homeworkFlag != null">
|
|
|
+ homework_flag_ = #{item.homeworkFlag},
|
|
|
+ </if>
|
|
|
+ <if test="item.attendanceNum != null">
|
|
|
+ attendance_num_ = #{item.attendanceNum},
|
|
|
+ </if>
|
|
|
+ <if test="item.serviceFlag != null">
|
|
|
+ service_flag_ = #{item.serviceFlag},
|
|
|
+ </if>
|
|
|
+ <if test="item.standardNum != null">
|
|
|
+ standard_num_ = #{item.standardNum},
|
|
|
+ </if>
|
|
|
+ <if test="item.homeworkCommitNum != null">
|
|
|
+ homework_commit_num_ = #{item.homeworkCommitNum},
|
|
|
+ </if>
|
|
|
+ <if test="item.courseStudentTotalNum != null">
|
|
|
+ course_student_total_num_ = #{item.courseStudentTotalNum},
|
|
|
+ </if>
|
|
|
+ <if test="item.lateNum != null">
|
|
|
+ late_num_ = #{item.lateNum},
|
|
|
+ </if>
|
|
|
+ </set> WHERE course_schedule_id_ = #{item.courseScheduleId}
|
|
|
+ </foreach>
|
|
|
+ </update>
|
|
|
+
|
|
|
<!-- 根据主键删除一条记录 -->
|
|
|
<delete id="delete" >
|
|
|
- DELETE FROM course_schedule_statistics WHERE id_ = #{id}
|
|
|
+ DELETE FROM course_schedule_statistics WHERE course_schedule_id_ = #{courseScheduleId}
|
|
|
</delete>
|
|
|
-
|
|
|
+ <delete id="delWaitByCourseId">
|
|
|
+ DELETE FROM course_schedule_statistics_wait WHERE course_schedule_id_ IN
|
|
|
+ <foreach collection="courseIdList" item="courseId" separator="," open="(" close=")">
|
|
|
+ #{courseId}
|
|
|
+ </foreach>
|
|
|
+ </delete>
|
|
|
+
|
|
|
<!-- 分页查询 -->
|
|
|
<select id="queryPage" resultMap="CourseScheduleStatistics" parameterType="map">
|
|
|
- SELECT * FROM course_schedule_statistics ORDER BY id_ <include refid="global.limit"/>
|
|
|
+ SELECT * FROM course_schedule_statistics <include refid="global.limit"/>
|
|
|
</select>
|
|
|
|
|
|
<!-- 查询当前表的总记录数 -->
|
|
|
<select id="queryCount" resultType="int">
|
|
|
SELECT COUNT(*) FROM course_schedule_statistics
|
|
|
</select>
|
|
|
+ <select id="queryUpdateCourseScheduleStatistics" resultMap="CourseScheduleStatistics">
|
|
|
+ SELECT cssw.course_schedule_id_,cs.music_group_id_,COUNT(cssp.id_) course_student_total_num_,
|
|
|
+ COUNT(CASE WHEN sa.status_ = 'NORMAL' THEN 1 ELSE NULL END) attendance_num_,
|
|
|
+ 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_,
|
|
|
+ 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_,
|
|
|
+ CASE WHEN sees.course_ids_ IS NOT NULL THEN 1 ELSE 0 END service_flag_
|
|
|
+ FROM course_schedule_statistics_wait cssw
|
|
|
+ LEFT JOIN course_schedule_statistics css ON css.course_schedule_id_ = cssw.course_schedule_id_
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = cssw.course_schedule_id_
|
|
|
+ LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cssw.course_schedule_id_
|
|
|
+ LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssw.course_schedule_id_
|
|
|
+ LEFT JOIN student_course_homework sch ON sch.course_schedule_id_ = cssw.course_schedule_id_
|
|
|
+ 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_)
|
|
|
+ WHERE cs.group_type_ = 'MUSIC' AND css.course_schedule_id_ IS NOT NULL
|
|
|
+ GROUP BY cssw.course_schedule_id_;
|
|
|
+ </select>
|
|
|
+ <select id="queryInsertCourseScheduleStatistics" resultMap="CourseScheduleStatistics">
|
|
|
+ SELECT cssw.course_schedule_id_,cs.music_group_id_,COUNT(cssp.id_) course_student_total_num_,
|
|
|
+ COUNT(CASE WHEN sa.status_ = 'NORMAL' THEN 1 ELSE NULL END) attendance_num_,
|
|
|
+ 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_,
|
|
|
+ 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_,
|
|
|
+ CASE WHEN sees.course_ids_ IS NOT NULL THEN 1 ELSE 0 END service_flag_
|
|
|
+ FROM course_schedule_statistics_wait cssw
|
|
|
+ LEFT JOIN course_schedule_statistics css ON css.course_schedule_id_ = cssw.course_schedule_id_
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = cssw.course_schedule_id_
|
|
|
+ LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cssw.course_schedule_id_
|
|
|
+ LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssw.course_schedule_id_
|
|
|
+ LEFT JOIN student_course_homework sch ON sch.course_schedule_id_ = cssw.course_schedule_id_
|
|
|
+ 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_)
|
|
|
+ WHERE cs.group_type_ = 'MUSIC' AND css.course_schedule_id_ IS NULL
|
|
|
+ GROUP BY cssw.course_schedule_id_;
|
|
|
+ </select>
|
|
|
</mapper>
|