|
@@ -60,6 +60,7 @@
|
|
|
<result column="attendance_status_" property="attendanceStatus"
|
|
|
typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
<result column="complaint_status_" property="complaintStatus"/>
|
|
|
+ <result column="student_id_" property="studentId"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<resultMap type="com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto" id="studentCourseScheduleRecord">
|
|
@@ -626,30 +627,30 @@
|
|
|
|
|
|
<select id="findCourseSchedulesWithDate" resultMap="courseScheduleDto">
|
|
|
SELECT
|
|
|
- cs.id_ seal_class_id_,
|
|
|
- cg.name_,
|
|
|
- su.real_name_ teacher_name_,
|
|
|
- cs.type_,
|
|
|
- cs.id_,
|
|
|
- cs.class_group_id_,
|
|
|
- cs.class_date_,
|
|
|
- CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
|
|
|
- CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
|
|
|
- cs.status_,
|
|
|
- cs.teacher_id_,
|
|
|
- cs.actual_teacher_id_,
|
|
|
- cg.expect_student_num_,
|
|
|
- cs.schoole_id_,
|
|
|
- s.name_ school_name_,
|
|
|
- if(ta.sign_in_status_ IS NULL,0,1) sign_in_status_,
|
|
|
- if(ta.sign_out_status_ IS NULL,0,1) sign_out_status_,
|
|
|
- cs.teach_mode_
|
|
|
+ cs.id_ seal_class_id_,
|
|
|
+ cg.name_,
|
|
|
+ su.real_name_ teacher_name_,
|
|
|
+ cs.type_,
|
|
|
+ cs.id_,
|
|
|
+ cs.class_group_id_,
|
|
|
+ cs.class_date_,
|
|
|
+ CONCAT(cs.class_date_,' ',cs.start_class_time_) start_class_time_,
|
|
|
+ CONCAT(cs.class_date_,' ',cs.end_class_time_) end_class_time_,
|
|
|
+ cs.status_,
|
|
|
+ cs.teacher_id_,
|
|
|
+ cs.actual_teacher_id_,
|
|
|
+ cg.expect_student_num_,
|
|
|
+ cs.schoole_id_,
|
|
|
+ s.name_ school_name_,
|
|
|
+ if(ta.sign_in_status_ IS NULL,0,1) sign_in_status_,
|
|
|
+ if(ta.sign_out_status_ IS NULL,0,1) sign_out_status_,
|
|
|
+ cs.teach_mode_
|
|
|
FROM
|
|
|
- course_schedule cs
|
|
|
- LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
|
|
|
- LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
|
|
|
- LEFT JOIN school s ON cs.schoole_id_ = s.id_
|
|
|
- LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_ AND ta.teacher_id_=#{teacherId}
|
|
|
+ course_schedule cs
|
|
|
+ LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
|
|
|
+ LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
|
|
|
+ LEFT JOIN school s ON cs.schoole_id_ = s.id_
|
|
|
+ LEFT JOIN teacher_attendance ta ON cs.id_=ta.course_schedule_id_ AND ta.teacher_id_=#{teacherId}
|
|
|
WHERE
|
|
|
(cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
|
|
|
AND (cs.is_lock_=0 OR cs.is_lock_ IS NULL)
|
|
@@ -840,13 +841,13 @@
|
|
|
|
|
|
<select id="getTeacherCourseScheduleDate" resultType="java.util.Date">
|
|
|
SELECT
|
|
|
- cs.class_date_
|
|
|
+ cs.class_date_
|
|
|
FROM
|
|
|
- course_schedule_teacher_salary csts
|
|
|
+ course_schedule_teacher_salary csts
|
|
|
LEFT JOIN course_schedule cs ON csts.course_schedule_id_=cs.id_
|
|
|
LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
|
|
|
WHERE
|
|
|
- (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
|
|
|
+ (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
|
|
|
AND (cs.is_lock_=0 OR cs.is_lock_ IS NULL)
|
|
|
AND csts.user_id_ = #{teacherId}
|
|
|
<if test="month==null">
|
|
@@ -863,30 +864,30 @@
|
|
|
|
|
|
<select id="findHaveClassesDatesWithMonth" resultType="java.util.Date">
|
|
|
SELECT
|
|
|
- cs.class_date_
|
|
|
+ cs.class_date_
|
|
|
FROM
|
|
|
- course_schedule cs
|
|
|
+ course_schedule cs
|
|
|
LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
|
|
|
WHERE
|
|
|
- (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
|
|
|
- AND (cs.is_lock_=0 OR cs.is_lock_ IS NULL)
|
|
|
- AND cg.del_flag_ = 0
|
|
|
- <if test="teacherId!=null">
|
|
|
- AND cs.actual_teacher_id_=#{teacherId}
|
|
|
- </if>
|
|
|
- <if test="month==null">
|
|
|
- AND DATE_FORMAT( NOW(), '%Y%m' ) = DATE_FORMAT( cs.class_date_, '%Y%m' )
|
|
|
- </if>
|
|
|
- <if test="month!=null">
|
|
|
- AND DATE_FORMAT( #{month}, '%Y%m' ) = DATE_FORMAT( cs.class_date_, '%Y%m' )
|
|
|
- </if>
|
|
|
- <if test="groupId!=null">
|
|
|
- AND cs.music_group_id_=#{groupId}
|
|
|
- </if>
|
|
|
- <if test="type!=null and type!=''">
|
|
|
- AND cs.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
- </if>
|
|
|
- GROUP BY cs.class_date_
|
|
|
+ (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
|
|
|
+ AND (cs.is_lock_=0 OR cs.is_lock_ IS NULL)
|
|
|
+ AND cg.del_flag_ = 0
|
|
|
+ <if test="teacherId!=null">
|
|
|
+ AND cs.actual_teacher_id_=#{teacherId}
|
|
|
+ </if>
|
|
|
+ <if test="month==null">
|
|
|
+ AND DATE_FORMAT( NOW(), '%Y%m' ) = DATE_FORMAT( cs.class_date_, '%Y%m' )
|
|
|
+ </if>
|
|
|
+ <if test="month!=null">
|
|
|
+ AND DATE_FORMAT( #{month}, '%Y%m' ) = DATE_FORMAT( cs.class_date_, '%Y%m' )
|
|
|
+ </if>
|
|
|
+ <if test="groupId!=null">
|
|
|
+ AND cs.music_group_id_=#{groupId}
|
|
|
+ </if>
|
|
|
+ <if test="type!=null and type!=''">
|
|
|
+ AND cs.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
+ </if>
|
|
|
+ GROUP BY cs.class_date_
|
|
|
</select>
|
|
|
|
|
|
<select id="getTeacherHistoryCourseScheduleDate" resultType="java.util.Date">
|
|
@@ -1320,18 +1321,18 @@
|
|
|
|
|
|
<select id="findTeacherGroupCourses" resultMap="teacherClassCourseSchedule">
|
|
|
SELECT
|
|
|
- cs.class_group_id_,
|
|
|
- cs.id_ course_schedule_id_,
|
|
|
- cs.class_date_,
|
|
|
- CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) start_class_time_,
|
|
|
- CONCAT( cs.class_date_, ' ', cs.end_class_time_ ) end_class_time_,
|
|
|
- cs.name_ course_schedule_name_,
|
|
|
- cs.student_num_,
|
|
|
- cs.leave_student_num_,
|
|
|
- cs.type_,
|
|
|
- cs.status_,
|
|
|
- cs.actual_teacher_id_,
|
|
|
- cs.teach_mode_
|
|
|
+ cs.class_group_id_,
|
|
|
+ cs.id_ course_schedule_id_,
|
|
|
+ cs.class_date_,
|
|
|
+ CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) start_class_time_,
|
|
|
+ CONCAT( cs.class_date_, ' ', cs.end_class_time_ ) end_class_time_,
|
|
|
+ cs.name_ course_schedule_name_,
|
|
|
+ cs.student_num_,
|
|
|
+ cs.leave_student_num_,
|
|
|
+ cs.type_,
|
|
|
+ cs.status_,
|
|
|
+ cs.actual_teacher_id_,
|
|
|
+ cs.teach_mode_
|
|
|
FROM course_schedule cs
|
|
|
<include refid="teacherGroupCourseQueryCondition"/>
|
|
|
ORDER BY CONCAT( cs.class_date_, ' ', cs.start_class_time_ )
|
|
@@ -1340,7 +1341,7 @@
|
|
|
|
|
|
<select id="countTeacherGroupCourses" resultType="int">
|
|
|
SELECT
|
|
|
- COUNT(cs.id_)
|
|
|
+ COUNT(cs.id_)
|
|
|
FROM course_schedule cs
|
|
|
<include refid="teacherGroupCourseQueryCondition"/>
|
|
|
</select>
|
|
@@ -2444,7 +2445,7 @@
|
|
|
FROM course_schedule_teacher_salary csts
|
|
|
LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
|
|
|
WHERE (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
|
|
|
- AND cs.group_type_!='MUSIC'
|
|
|
+ AND cs.group_type_ != 'MUSIC'
|
|
|
AND cs.class_date_ BETWEEN DATE_FORMAT(#{startTime}, "%Y-%m-%d") AND DATE_FORMAT(#{endTime}, "%Y-%m-%d")
|
|
|
AND csts.user_id_ = #{userId}
|
|
|
</select>
|
|
@@ -2462,7 +2463,7 @@
|
|
|
cs.teach_mode_,
|
|
|
cs.music_group_id_,
|
|
|
cs.group_type_,
|
|
|
- su.real_name_ teacher_name_,
|
|
|
+ su.real_name_ teacher_name_,
|
|
|
pg.create_time_
|
|
|
FROM course_schedule_student_payment cssp
|
|
|
LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
|
|
@@ -2536,8 +2537,8 @@
|
|
|
SELECT cs.*
|
|
|
FROM course_schedule cs
|
|
|
LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
|
|
|
- WHERE TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) >= 0
|
|
|
- AND TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) <= #{continueCourseTime}
|
|
|
+ WHERE TIMESTAMPDIFF(MINUTE, #{endDateTime}, CONCAT(cs.class_date_, ' ', cs.start_class_time_)) >= 0
|
|
|
+ AND TIMESTAMPDIFF(MINUTE, #{endDateTime}, CONCAT(cs.class_date_, ' ', cs.start_class_time_)) <= #{continueCourseTime}
|
|
|
AND cs.teacher_id_ = #{courseSchedule.teacherId}
|
|
|
AND cs.class_group_id_ = #{courseSchedule.classGroupId}
|
|
|
AND ta.sign_in_time_ IS NULL
|
|
@@ -2548,8 +2549,8 @@
|
|
|
SELECT cs.*
|
|
|
FROM course_schedule cs
|
|
|
LEFT JOIN teacher_attendance ta ON cs.id_ = ta.course_schedule_id_
|
|
|
- WHERE TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) >= 0
|
|
|
- AND TIMESTAMPDIFF(MINUTE,#{endDateTime},CONCAT(cs.class_date_,' ',cs.start_class_time_)) <= #{continueCourseTime}
|
|
|
+ WHERE TIMESTAMPDIFF(MINUTE, #{endDateTime}, CONCAT(cs.class_date_, ' ', cs.start_class_time_)) >= 0
|
|
|
+ AND TIMESTAMPDIFF(MINUTE, #{endDateTime}, CONCAT(cs.class_date_, ' ', cs.start_class_time_)) <= #{continueCourseTime}
|
|
|
AND cs.teacher_id_ = #{courseSchedule.teacherId}
|
|
|
AND cs.class_group_id_ = #{courseSchedule.classGroupId}
|
|
|
LIMIT 1
|
|
@@ -2739,56 +2740,61 @@
|
|
|
)
|
|
|
</select>
|
|
|
<select id="findGroupNotStartCourses" resultMap="CourseSchedule">
|
|
|
- SELECT
|
|
|
- id_,
|
|
|
- group_type_,
|
|
|
- music_group_id_,
|
|
|
- class_group_id_,
|
|
|
- status_,
|
|
|
- subsidy_,
|
|
|
- class_date_,
|
|
|
- CONCAT(class_date_, ' ', start_class_time_) start_class_time_,
|
|
|
- CONCAT(class_date_, ' ', end_class_time_) end_class_time_,
|
|
|
- teacher_id_,
|
|
|
- actual_teacher_id_,
|
|
|
- create_time_,
|
|
|
- update_time_,
|
|
|
- teach_mode_,
|
|
|
- type_,
|
|
|
- name_,
|
|
|
- student_num_,
|
|
|
- leave_student_num_,
|
|
|
- schoole_id_
|
|
|
- FROM course_schedule WHERE group_type_=#{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND music_group_id_ = #{groupId} AND CONCAT(class_date_, ' ', start_class_time_)>NOW()
|
|
|
+ SELECT id_,
|
|
|
+ group_type_,
|
|
|
+ music_group_id_,
|
|
|
+ class_group_id_,
|
|
|
+ status_,
|
|
|
+ subsidy_,
|
|
|
+ class_date_,
|
|
|
+ CONCAT(class_date_, ' ', start_class_time_) start_class_time_,
|
|
|
+ CONCAT(class_date_, ' ', end_class_time_) end_class_time_,
|
|
|
+ teacher_id_,
|
|
|
+ actual_teacher_id_,
|
|
|
+ create_time_,
|
|
|
+ update_time_,
|
|
|
+ teach_mode_,
|
|
|
+ type_,
|
|
|
+ name_,
|
|
|
+ student_num_,
|
|
|
+ leave_student_num_,
|
|
|
+ schoole_id_
|
|
|
+ FROM course_schedule
|
|
|
+ WHERE group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
+ AND music_group_id_ = #{groupId}
|
|
|
+ AND CONCAT(class_date_, ' ', start_class_time_) > NOW()
|
|
|
</select>
|
|
|
|
|
|
<select id="findGroupNotFinishCourses" resultMap="CourseSchedule">
|
|
|
- SELECT
|
|
|
- id_,
|
|
|
- group_type_,
|
|
|
- music_group_id_,
|
|
|
- class_group_id_,
|
|
|
- status_,
|
|
|
- subsidy_,
|
|
|
- class_date_,
|
|
|
- CONCAT(class_date_, ' ', start_class_time_) start_class_time_,
|
|
|
- CONCAT(class_date_, ' ', end_class_time_) end_class_time_,
|
|
|
- teacher_id_,
|
|
|
- actual_teacher_id_,
|
|
|
- create_time_,
|
|
|
- update_time_,
|
|
|
- teach_mode_,
|
|
|
- type_,
|
|
|
- name_,
|
|
|
- student_num_,
|
|
|
- leave_student_num_,
|
|
|
- schoole_id_
|
|
|
- FROM course_schedule WHERE group_type_=#{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND music_group_id_ = #{groupId} AND CONCAT(class_date_, ' ', end_class_time_)>NOW()
|
|
|
+ SELECT id_,
|
|
|
+ group_type_,
|
|
|
+ music_group_id_,
|
|
|
+ class_group_id_,
|
|
|
+ status_,
|
|
|
+ subsidy_,
|
|
|
+ class_date_,
|
|
|
+ CONCAT(class_date_, ' ', start_class_time_) start_class_time_,
|
|
|
+ CONCAT(class_date_, ' ', end_class_time_) end_class_time_,
|
|
|
+ teacher_id_,
|
|
|
+ actual_teacher_id_,
|
|
|
+ create_time_,
|
|
|
+ update_time_,
|
|
|
+ teach_mode_,
|
|
|
+ type_,
|
|
|
+ name_,
|
|
|
+ student_num_,
|
|
|
+ leave_student_num_,
|
|
|
+ schoole_id_
|
|
|
+ FROM course_schedule
|
|
|
+ WHERE group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
+ AND music_group_id_ = #{groupId}
|
|
|
+ AND CONCAT(class_date_, ' ', end_class_time_) > NOW()
|
|
|
</select>
|
|
|
<select id="getSubjectNameById" resultType="java.lang.String">
|
|
|
- SELECT GROUP_CONCAT(DISTINCT s.name_) FROM course_schedule cs
|
|
|
- LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
|
|
|
- LEFT JOIN `subject` s ON FIND_IN_SET(s.id_,cg.subject_id_list_)
|
|
|
+ SELECT GROUP_CONCAT(DISTINCT s.name_)
|
|
|
+ FROM course_schedule cs
|
|
|
+ LEFT JOIN class_group cg ON cs.class_group_id_ = cg.id_
|
|
|
+ LEFT JOIN `subject` s ON FIND_IN_SET(s.id_, cg.subject_id_list_)
|
|
|
WHERE cs.id_ = #{courseScheduleId}
|
|
|
GROUP BY cg.id_
|
|
|
</select>
|
|
@@ -2802,18 +2808,28 @@
|
|
|
<result property="courseScheduleId" column="id_"/>
|
|
|
</resultMap>
|
|
|
<select id="findCourseRate" resultMap="CourseScheduleRateDtoMap">
|
|
|
- SELECT cs.class_date_,cs.start_class_time_,cs.end_class_time_,cs.id_,
|
|
|
- cs.teaching_content_,GROUP_CONCAT(cse.comment_ SEPARATOR ";") comment_,cs.status_
|
|
|
+ SELECT cs.class_date_,
|
|
|
+ cs.start_class_time_,
|
|
|
+ cs.end_class_time_,
|
|
|
+ cs.id_,
|
|
|
+ cs.teaching_content_,
|
|
|
+ GROUP_CONCAT(cse.comment_ SEPARATOR ";") comment_,
|
|
|
+ cs.status_
|
|
|
FROM course_schedule cs
|
|
|
- LEFT JOIN course_schedule_evaluate cse ON cs.id_ = cse.course_schedule_id_
|
|
|
- WHERE cs.music_group_id_ = #{groupId} AND cs.group_type_ = #{groupType}
|
|
|
+ LEFT JOIN course_schedule_evaluate cse ON cs.id_ = cse.course_schedule_id_
|
|
|
+ WHERE cs.music_group_id_ = #{groupId}
|
|
|
+ AND cs.group_type_ = #{groupType}
|
|
|
GROUP BY cs.id_
|
|
|
- ORDER BY cs.class_date_,cs.start_class_time_ ASC
|
|
|
+ ORDER BY cs.class_date_, cs.start_class_time_ ASC
|
|
|
</select>
|
|
|
<select id="getLastEndCourse" resultMap="CourseSchedule">
|
|
|
- SELECT cs.id_ FROM course_schedule cs
|
|
|
- WHERE cs.music_group_id_ = #{groupId} AND cs.group_type_ = #{groupType} AND NOW() > CONCAT(cs.class_date_,' ',cs.end_class_time_)
|
|
|
- ORDER BY cs.class_date_,cs.end_class_time_ ASC LIMIT 1
|
|
|
+ SELECT cs.id_
|
|
|
+ FROM course_schedule cs
|
|
|
+ WHERE cs.music_group_id_ = #{groupId}
|
|
|
+ AND cs.group_type_ = #{groupType}
|
|
|
+ AND NOW() > CONCAT(cs.class_date_, ' ', cs.end_class_time_)
|
|
|
+ ORDER BY cs.class_date_, cs.end_class_time_ ASC
|
|
|
+ LIMIT 1
|
|
|
</select>
|
|
|
|
|
|
<resultMap id="GroupCourseTimesDto" type="com.ym.mec.biz.dal.dto.GroupCourseTimesDto">
|
|
@@ -2827,37 +2843,38 @@
|
|
|
</resultMap>
|
|
|
|
|
|
<select id="findGroupsCourseTimesInfo" resultMap="GroupCourseTimesDto">
|
|
|
- SELECT
|
|
|
- cg.music_group_id_ group_id_,
|
|
|
- cg.group_type_,
|
|
|
- cg.id_ class_group_id_,
|
|
|
- cg.total_class_times_ total_course_times_,
|
|
|
- COUNT( cs.id_ ) surplus_class_times_,
|
|
|
- MIN( CONCAT( class_date_, ' ', start_class_time_ ) ) start_date_,
|
|
|
- MAX( CONCAT( class_date_, ' ', end_class_time_ ) ) end_date_
|
|
|
+ SELECT
|
|
|
+ cg.music_group_id_ group_id_,
|
|
|
+ cg.group_type_,
|
|
|
+ cg.id_ class_group_id_,
|
|
|
+ cg.total_class_times_ total_course_times_,
|
|
|
+ COUNT( cs.id_ ) surplus_class_times_,
|
|
|
+ MIN( CONCAT( class_date_, ' ', start_class_time_ ) ) start_date_,
|
|
|
+ MAX( CONCAT( class_date_, ' ', end_class_time_ ) ) end_date_
|
|
|
FROM
|
|
|
- class_group cg
|
|
|
- LEFT JOIN course_schedule cs ON cs.class_group_id_ = cg.id_ AND CONCAT( cs.class_date_, ' ', cs.start_class_time_ ) > NOW( )
|
|
|
+ class_group cg
|
|
|
+ LEFT JOIN course_schedule cs ON cs.class_group_id_ = cg.id_ AND CONCAT( cs.class_date_, ' ',
|
|
|
+ cs.start_class_time_ ) > NOW( )
|
|
|
WHERE
|
|
|
- cg.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
- AND cg.music_group_id_ IN
|
|
|
- <foreach collection="groupIds" item="groupId" separator="," open="(" close=")">
|
|
|
- #{groupId}
|
|
|
- </foreach>
|
|
|
+ cg.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
+ AND cg.music_group_id_ IN
|
|
|
+ <foreach collection="groupIds" item="groupId" separator="," open="(" close=")">
|
|
|
+ #{groupId}
|
|
|
+ </foreach>
|
|
|
GROUP BY
|
|
|
- cg.id_
|
|
|
+ cg.id_
|
|
|
</select>
|
|
|
|
|
|
<select id="findGroupsValidate" resultType="com.ym.mec.biz.dal.dto.GroupValidDateDto">
|
|
|
SELECT
|
|
|
- cs.music_group_id_ groupId,
|
|
|
- MIN( CONCAT( class_date_, ' ', start_class_time_ ) ) startDate,
|
|
|
- MAX( CONCAT( class_date_, ' ', end_class_time_ ) ) endDate
|
|
|
+ cs.music_group_id_ groupId,
|
|
|
+ MIN( CONCAT( class_date_, ' ', start_class_time_ ) ) startDate,
|
|
|
+ MAX( CONCAT( class_date_, ' ', end_class_time_ ) ) endDate
|
|
|
FROM
|
|
|
- course_schedule cs
|
|
|
+ course_schedule cs
|
|
|
WHERE
|
|
|
- cs.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
- AND cs.music_group_id_ IN
|
|
|
+ cs.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
+ AND cs.music_group_id_ IN
|
|
|
<foreach collection="groupIds" item="groupId" separator="," open="(" close=")">
|
|
|
#{groupId}
|
|
|
</foreach>
|
|
@@ -2865,20 +2882,77 @@
|
|
|
cs.music_group_id_
|
|
|
</select>
|
|
|
<select id="findCourseByGroupId" resultMap="CourseSchedule">
|
|
|
- SELECT * FROM course_schedule cs
|
|
|
- WHERE cs.music_group_id_ = #{groupId} AND cs.group_type_ = #{groupType} AND cs.del_flag_ = 0
|
|
|
+ SELECT *
|
|
|
+ FROM course_schedule cs
|
|
|
+ WHERE cs.music_group_id_ = #{groupId}
|
|
|
+ AND cs.group_type_ = #{groupType}
|
|
|
+ AND cs.del_flag_ = 0
|
|
|
</select>
|
|
|
<select id="queryScheduleByAttendance" resultMap="CourseSchedule">
|
|
|
- SELECT cs.* FROM teacher_attendance ta
|
|
|
- LEFT JOIN course_schedule cs ON ta.course_schedule_id_ = cs.id_
|
|
|
- LEFT JOIN student_attendance sa ON ta.course_schedule_id_ = sa.course_schedule_id_
|
|
|
- WHERE ta.sign_out_status_ = 1 AND ta.sign_in_time_ IS NOT NULL
|
|
|
- AND MONTH(ta.sign_in_time_) = #{month} AND cs.teach_mode_ = 'ONLINE' AND ta.teacher_id_ = cs.actual_teacher_id_
|
|
|
+ SELECT cs.*
|
|
|
+ FROM teacher_attendance ta
|
|
|
+ LEFT JOIN course_schedule cs ON ta.course_schedule_id_ = cs.id_
|
|
|
+ LEFT JOIN student_attendance sa ON ta.course_schedule_id_ = sa.course_schedule_id_
|
|
|
+ WHERE ta.sign_out_status_ = 1
|
|
|
+ AND ta.sign_in_time_ IS NOT NULL
|
|
|
+ AND MONTH(ta.sign_in_time_) = #{month}
|
|
|
+ AND cs.teach_mode_ = 'ONLINE'
|
|
|
+ AND ta.teacher_id_ = cs.actual_teacher_id_
|
|
|
GROUP BY ta.course_schedule_id_
|
|
|
HAVING COUNT(sa.id_) > 0
|
|
|
</select>
|
|
|
|
|
|
<update id="updateCourseNameByGroup">
|
|
|
- UPDATE course_schedule SET name_=#{name} WHERE group_type_=#{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND music_group_id_ = #{groupId};
|
|
|
+ UPDATE course_schedule
|
|
|
+ SET name_=#{name}
|
|
|
+ WHERE group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
+ AND music_group_id_ = #{groupId};
|
|
|
</update>
|
|
|
+
|
|
|
+ <select id="getStudentCourseSchedules" resultMap="courseScheduleDto">
|
|
|
+ SELECT cs.id_,concat(cs.`class_date_`,' ',cs.`start_class_time_` ) start_class_time_,cs.actual_teacher_id_, su.real_name_
|
|
|
+ teacher_name_,cssp.user_id_ student_id_
|
|
|
+ FROM course_schedule cs
|
|
|
+ LEFT JOIN sys_user su on cs.actual_teacher_id_ = su.id_
|
|
|
+ LEFT JOIN course_schedule_student_payment cssp on cs.id_ = cssp.course_schedule_id_
|
|
|
+ WHERE cssp.user_id_ IN
|
|
|
+ <foreach collection="studentIds" separator="," open="(" close=")" item="studentId">
|
|
|
+ #{studentId}
|
|
|
+ </foreach>
|
|
|
+ AND cs.group_type_ = #{groupType}
|
|
|
+ AND (cs.del_flag_ IS NULL OR cs.del_flag_ =0)
|
|
|
+ ORDER BY cs.class_date_ DESC ,cs.start_class_time_ DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getStudentCourseScheduleNum" resultMap="com.ym.mec.biz.dal.dao.PracticeGroupDao.courseGroupExport">
|
|
|
+ SELECT COUNT(*) total_class_times_,cssp.user_id_ student_id_
|
|
|
+ FROM course_schedule cs
|
|
|
+ LEFT JOIN course_schedule_student_payment cssp on cs.id_ = cssp.course_schedule_id_
|
|
|
+ WHERE cssp.user_id_ IN
|
|
|
+ <foreach collection="studentIds" separator="," open="(" close=")" item="studentId">
|
|
|
+ #{studentId}
|
|
|
+ </foreach>
|
|
|
+ AND cs.group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
+ <if test="status != null">
|
|
|
+ AND cs.status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
+ </if>
|
|
|
+ AND (cs.del_flag_ IS NULL OR cs.del_flag_ =0)
|
|
|
+ GROUP BY cssp.user_id_
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getVipGroupExport" resultMap="com.ym.mec.biz.dal.dao.PracticeGroupDao.courseGroupExport">
|
|
|
+ SELECT cssp.user_id_ student_id_,
|
|
|
+ su.username_ student_name_,
|
|
|
+ o.name_ organ_name_
|
|
|
+ FROM `course_schedule_student_payment` cssp
|
|
|
+ LEFT JOIN `vip_group` vg ON vg.`id_` = cssp.`music_group_id_` AND cssp.`group_type_` = 'VIP'
|
|
|
+ LEFT JOIN `organization` o ON o.`id_` = vg.`organ_id_`
|
|
|
+ LEFT JOIN `sys_user` su ON su.`id_` = cssp.`user_id_`
|
|
|
+ WHERE cssp.`group_type_` = 'VIP'
|
|
|
+ <if test="organIds != null and organIds != ''">
|
|
|
+ AND FIND_IN_SET(vg.organ_id_, #{organIds})
|
|
|
+ </if>
|
|
|
+ GROUP BY cssp.`user_id_`,o.id_
|
|
|
+ </select>
|
|
|
+
|
|
|
</mapper>
|