|
@@ -883,10 +883,10 @@
|
|
|
AND cs.class_date_ <= #{endTime}
|
|
|
</if>
|
|
|
<if test="musicGroupId != null">
|
|
|
- AND cg.music_group_id_ = #{musicGroupId}
|
|
|
+ AND cs.music_group_id_ = #{musicGroupId}
|
|
|
</if>
|
|
|
<if test="classGroupId != null">
|
|
|
- AND cg.id_ = #{classGroupId}
|
|
|
+ AND cs.class_group_id_ = #{classGroupId}
|
|
|
</if>
|
|
|
<if test="isSettlement == 0">
|
|
|
AND csts.settlement_time_ IS NULL
|
|
@@ -895,7 +895,13 @@
|
|
|
AND csts.settlement_time_ IS NOT NULL
|
|
|
</if>
|
|
|
<if test="tenantId != null">
|
|
|
- AND cg.tenant_id_ = #{tenantId}
|
|
|
+ AND cs.tenant_id_ = #{tenantId}
|
|
|
+ </if>
|
|
|
+ <if test="serviceFlag != null">
|
|
|
+ AND css.service_flag_ = #{serviceFlag}
|
|
|
+ </if>
|
|
|
+ <if test="homeworkFlag != null">
|
|
|
+ AND css.homework_flag_ = #{homeworkFlag}
|
|
|
</if>
|
|
|
</where>
|
|
|
</sql>
|
|
@@ -909,16 +915,30 @@
|
|
|
<result property="endClassTimeStr" column="end_class_time_"/>
|
|
|
<result property="classGroupId" column="class_group_id_"/>
|
|
|
<result property="mixClassGroupId" column="mix_class_group_id_"/>
|
|
|
- <result property="courseScheduleType" column="course_schedule_type_"/>
|
|
|
- <result property="courseScheduleStatus" column="course_schedule_status_"/>
|
|
|
+ <result property="courseScheduleType" column="course_schedule_type_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
+ <result property="courseScheduleStatus" column="course_schedule_status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
<result property="signInTime" column="sign_in_time_"/>
|
|
|
- <result property="signInStatus" column="sign_in_status_"/>
|
|
|
+ <result property="signInStatus" column="sign_in_status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
<result property="signOutTime" column="sign_out_time_"/>
|
|
|
- <result property="signOutStatus" column="sign_out_status_"/>
|
|
|
+ <result property="signOutStatus" column="sign_out_status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
<result property="settlementTime" column="settlement_time_"/>
|
|
|
<result property="remark" column="remark_"/>
|
|
|
<result property="courseScheduleName" column="course_schedule_name_"/>
|
|
|
<result property="schoolId" column="school_id_"/>
|
|
|
+ <association property="courseScheduleStatistics" javaType="com.ym.mec.biz.dal.entity.CourseScheduleStatistics">
|
|
|
+ <result column="course_schedule_id_" property="courseScheduleId" />
|
|
|
+ <result column="music_group_id_" property="musicGroupId" />
|
|
|
+ <result column="course_student_total_num_" property="courseStudentTotalNum" />
|
|
|
+ <result column="attendance_num_" property="attendanceNum" />
|
|
|
+ <result column="late_num_" property="lateNum" />
|
|
|
+ <result column="standard_num_" property="standardNum" />
|
|
|
+ <result column="homework_flag_" property="homeworkFlag" />
|
|
|
+ <result column="homework_commit_num_" property="homeworkCommitNum" />
|
|
|
+ <result column="service_flag_" property="serviceFlag" />
|
|
|
+ <result column="attendance_rate_" property="attendanceRate" />
|
|
|
+ <result column="standard_rate_" property="standardRate" />
|
|
|
+ <result column="homework_commit_rate_" property="homeworkCommitRate" />
|
|
|
+ </association>
|
|
|
</resultMap>
|
|
|
<select id="queryMusicGroupCourseSchedule" resultMap="MusicGroupCourseScheduleDto">
|
|
|
SELECT cs.id_ course_schedule_id_,cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.class_group_id_,
|
|
@@ -952,10 +972,14 @@
|
|
|
ta.sign_in_time_,
|
|
|
ta.sign_out_time_,
|
|
|
ta.remark_,
|
|
|
- cs.schoole_id_ school_id_
|
|
|
+ cs.schoole_id_ school_id_,
|
|
|
+ css.*,CONCAT(TRUNCATE((css.attendance_num_ + css.late_num_) / css.course_student_total_num_ * 100,2),'%') attendance_rate_,
|
|
|
+ CONCAT(TRUNCATE(css.standard_num_ / css.course_student_total_num_ * 100,2),'%') standard_rate_,
|
|
|
+ CONCAT(TRUNCATE(css.homework_commit_num_ / css.course_student_total_num_ * 100,2),'%') homework_commit_rate_
|
|
|
FROM course_schedule cs
|
|
|
LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
|
|
|
LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
|
|
|
+ LEFT JOIN course_schedule_statistics css ON css.course_schedule_id_ = cs.id_
|
|
|
LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_ AND csts.teacher_role_ = 'BISHOP'
|
|
|
<include refid="queryMusicGroupCourseScheduleDetailSql"/>
|
|
|
ORDER BY cs.class_date_ ,cs.start_class_time_ ,cg.name_
|
|
@@ -967,8 +991,22 @@
|
|
|
FROM course_schedule cs
|
|
|
LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
|
|
|
LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
|
|
|
+ LEFT JOIN course_schedule_statistics css ON css.course_schedule_id_ = cs.id_
|
|
|
+ LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_ AND csts.teacher_role_ = 'BISHOP'
|
|
|
+ <include refid="queryMusicGroupCourseScheduleDetailSql"/>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getMusicGroupCourseScheduleStatistics" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleStatisticsDao.CourseScheduleStatistics">
|
|
|
+ SELECT CONCAT(TRUNCATE((css.attendance_num_ + css.late_num_) / css.course_student_total_num_ * 100,2),'%') attendance_rate_,
|
|
|
+ CONCAT(TRUNCATE(css.standard_num_ / css.course_student_total_num_ * 100,2),'%') standard_rate_,
|
|
|
+ CONCAT(TRUNCATE(css.homework_commit_num_ / css.course_student_total_num_ * 100,2),'%') homework_commit_rate_
|
|
|
+ FROM course_schedule cs
|
|
|
+ LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
|
|
|
+ LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
|
|
|
+ LEFT JOIN course_schedule_statistics css ON css.course_schedule_id_ = cs.id_
|
|
|
LEFT JOIN course_schedule_teacher_salary csts ON csts.course_schedule_id_ = cs.id_ AND csts.teacher_role_ = 'BISHOP'
|
|
|
<include refid="queryMusicGroupCourseScheduleDetailSql"/>
|
|
|
+ GROUP BY cs.music_group_id_
|
|
|
</select>
|
|
|
|
|
|
<select id="findNameById" resultType="java.util.Map">
|