|
@@ -23,6 +23,7 @@
|
|
|
<result column="name_" property="name"/>
|
|
|
<result column="student_num_" property="studentNum"/>
|
|
|
<result column="leave_student_num_" property="leaveStudentNum"/>
|
|
|
+ <result column="schoole_id_" property="schoolId"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<resultMap type="com.ym.mec.biz.dal.dto.CourseScheduleDto" id="courseScheduleDto" extends="CourseSchedule">
|
|
@@ -72,17 +73,17 @@
|
|
|
</selectKey>
|
|
|
-->
|
|
|
INSERT INTO course_schedule
|
|
|
- (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_)
|
|
|
- VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{teacherId},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},#{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum})
|
|
|
+ (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,schoole_id_)
|
|
|
+ VALUES(#{id},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{teacherId},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},#{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum},#{schoolId})
|
|
|
</insert>
|
|
|
|
|
|
<insert id="batchAddCourseSchedules" parameterType="java.util.List" useGeneratedKeys="true" keyColumn="id"
|
|
|
keyProperty="id">
|
|
|
INSERT INTO course_schedule
|
|
|
- (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_)
|
|
|
+ (id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,schoole_id_)
|
|
|
VALUE
|
|
|
<foreach collection="list" item="course" separator=",">
|
|
|
- (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},#{course.leaveStudentNum})
|
|
|
+ (#{course.id},#{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},#{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},#{course.leaveStudentNum},#{course.schoolId})
|
|
|
</foreach>
|
|
|
</insert>
|
|
|
|
|
@@ -126,6 +127,9 @@
|
|
|
<if test="leaveStudentNum != null">
|
|
|
leave_student_num_ = #{leaveStudentNum},
|
|
|
</if>
|
|
|
+ <if test="schoolId != null">
|
|
|
+ school_id_ = #{schoolId},
|
|
|
+ </if>
|
|
|
</set>
|
|
|
WHERE id_ = #{id}
|
|
|
</update>
|
|
@@ -174,6 +178,8 @@
|
|
|
<result property="longitudeAndLatitude" column="longitude_latitude_"/>
|
|
|
<result property="teacherName" column="teacher_name_"/>
|
|
|
<result property="signInTime" column="sign_in_time_"/>
|
|
|
+ <result column="total_class_times_" property="totalClassTimes"/>
|
|
|
+ <result column="current_class_times_" property="currentClassTimes"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<select id="getCurrentCourseDetail"
|
|
@@ -187,6 +193,8 @@
|
|
|
cs.status_ course_status_,
|
|
|
cg.id_ class_id,
|
|
|
cg.name_ class_name,
|
|
|
+ cg.total_class_times_,
|
|
|
+ cg.current_class_times_,
|
|
|
cs.type_ class_type,
|
|
|
mg.id_ music_group_id,
|
|
|
mg.name_ music_group_name,
|
|
@@ -731,6 +739,9 @@
|
|
|
<if test="item.leaveStudentNum != null">
|
|
|
leave_student_num_ = #{item.leaveStudentNum},
|
|
|
</if>
|
|
|
+ <if test="item.schoolId != null">
|
|
|
+ school_id_ = #{item.choolId},
|
|
|
+ </if>
|
|
|
</set>
|
|
|
WHERE id_ = #{item.id}
|
|
|
</foreach>
|
|
@@ -744,7 +755,7 @@
|
|
|
<result property="classGroupId" column="class_group_id_"/>
|
|
|
<result property="courseScheduleId" column="course_schedule_id_"/>
|
|
|
<result property="courseScheduleName" column="course_schedule_name_"/>
|
|
|
- <result property="status" column="status_"/>
|
|
|
+ <result property="status" column="status_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
<result property="classDate" column="class_date_"/>
|
|
|
<result property="startClassTime" column="start_class_time_"/>
|
|
|
<result property="endClassTime" column="end_class_time_"/>
|
|
@@ -753,6 +764,9 @@
|
|
|
<result property="type" column="type_"/>
|
|
|
<result property="studentNum" column="student_num_"/>
|
|
|
<result property="leaveStudentNum" column="leave_student_num_"/>
|
|
|
+ <result property="currentClassTimes" column="current_class_times_"/>
|
|
|
+ <result property="totalClassTimes" column="total_class_times_"/>
|
|
|
+ <result property="studentNames" column="student_names_"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<sql id="teacherClassCourseScheduleQueryCondition">
|
|
@@ -779,16 +793,47 @@
|
|
|
cs.type_,
|
|
|
cs.status_,
|
|
|
cs.actual_teacher_id_,
|
|
|
- su.username_
|
|
|
+ su.username_,
|
|
|
+ cg.total_class_times_
|
|
|
FROM
|
|
|
course_schedule_teacher_salary csts
|
|
|
LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
|
|
|
+ LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
|
|
|
LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
|
|
|
<include refid="teacherClassCourseScheduleQueryCondition"/>
|
|
|
ORDER BY cs.id_
|
|
|
<include refid="global.limit"/>
|
|
|
</select>
|
|
|
|
|
|
+ <select id="queryTeacherHistoryClassCourseSchedule" 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_,
|
|
|
+ su.username_,
|
|
|
+ cg.total_class_times_,
|
|
|
+ GROUP_CONCAT(ssu.username_) student_names_,
|
|
|
+ MAX(sa.current_class_times_) current_class_times_
|
|
|
+ FROM
|
|
|
+ student_attendance sa
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
|
|
|
+ LEFT JOIN class_group cg ON cs.class_group_id_=cg.id_
|
|
|
+ LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
|
|
|
+ LEFT JOIN sys_user ssu ON sa.user_id_=ssu.id_
|
|
|
+ WHERE sa.class_group_id_=#{classGroupId} AND sa.teacher_id_=#{userId}
|
|
|
+ GROUP BY sa.course_schedule_id_
|
|
|
+ ORDER BY cs.id_
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
+
|
|
|
<select id="countTeacherClassCourseSchedule" resultType="int">
|
|
|
SELECT
|
|
|
COUNT(cs.id_)
|
|
@@ -797,10 +842,17 @@
|
|
|
LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
|
|
|
<include refid="teacherClassCourseScheduleQueryCondition"/>
|
|
|
</select>
|
|
|
+ <select id="countTeacherHistoryClassCourseSchedule" resultType="int">
|
|
|
+ SELECT
|
|
|
+ COUNT(DISTINCT sa.class_group_id_)
|
|
|
+ FROM
|
|
|
+ student_attendance sa
|
|
|
+ WHERE sa.class_group_id_=#{classGroupId} AND sa.teacher_id_=#{userId}
|
|
|
+ </select>
|
|
|
<select id="countClassCourseNumByMusicGroup" resultType="java.util.Map">
|
|
|
SELECT
|
|
|
- cg.id_,
|
|
|
- COUNT(cs.id_)
|
|
|
+ cg.id_ as 'key',
|
|
|
+ COUNT(cs.id_) as 'value'
|
|
|
FROM
|
|
|
class_group cg
|
|
|
LEFT JOIN course_schedule cs ON cg.id_=cs.class_group_id_
|