|
@@ -8,7 +8,6 @@
|
|
|
|
|
|
<resultMap type="com.ym.mec.biz.dal.entity.CourseSchedule" id="CourseSchedule">
|
|
|
<result column="id_" property="id"/>
|
|
|
- <result column="new_course_id_" property="newCourseId"/>
|
|
|
<result column="group_type_" property="groupType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
<result column="music_group_id_" property="musicGroupId"/>
|
|
|
<result column="class_group_id_" property="classGroupId"/>
|
|
@@ -42,11 +41,6 @@
|
|
|
<result column="value_" property="value"/>
|
|
|
</resultMap>
|
|
|
|
|
|
- <resultMap type="com.ym.mec.biz.dal.dto.RemainCourseTypeDurationDto" id="RemainCourseTypeDurationDto">
|
|
|
- <result column="course_type_" property="courseType"/>
|
|
|
- <result column="remain_minutes_" property="remainMinutes"/>
|
|
|
- </resultMap>
|
|
|
-
|
|
|
<resultMap id="CourseScheduleEndDto" type="com.ym.mec.biz.dal.dto.CourseScheduleEndDto" extends="CourseSchedule">
|
|
|
<result column="course_start_time_" property="startClassTime"/>
|
|
|
<result column="course_end_time_" property="endClassTime"/>
|
|
@@ -123,54 +117,50 @@
|
|
|
<result column="teacher_id_" property="teacherId"/>
|
|
|
<result column="current_class_times_" property="currentClassTimes"/>
|
|
|
</resultMap>
|
|
|
- <sql id="resultSql">
|
|
|
- cs.id_,
|
|
|
- cs.new_course_id_,
|
|
|
- cs.music_group_id_,
|
|
|
- cs.group_type_,
|
|
|
- cs.class_group_id_,
|
|
|
- cs.status_,
|
|
|
- cs.subsidy_,
|
|
|
- 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.start_class_time_ start_class_time_str_,
|
|
|
- cs.end_class_time_ end_class_time_str_,
|
|
|
- cs.teacher_id_,
|
|
|
- cs.actual_teacher_id_,
|
|
|
- cs.create_time_,
|
|
|
- cs.update_time_,
|
|
|
- cs.teach_mode_,
|
|
|
- cs.type_,
|
|
|
- cs.name_,
|
|
|
- cs.student_num_,
|
|
|
- cs.leave_student_num_,
|
|
|
- cs.schoole_id_,
|
|
|
- cs.del_flag_,
|
|
|
- cs.is_lock_,
|
|
|
- cs.teaching_content_,
|
|
|
- cs.note_,
|
|
|
- cs.organ_id_,
|
|
|
- cs.new_course_id_
|
|
|
- </sql>
|
|
|
|
|
|
<!-- 根据主键查询一条记录 -->
|
|
|
<select id="get" resultMap="CourseSchedule">
|
|
|
- SELECT <include refid="resultSql"/>
|
|
|
- FROM course_schedule cs
|
|
|
- WHERE cs.id_ = #{id}
|
|
|
+ SELECT id_,
|
|
|
+ music_group_id_,
|
|
|
+ group_type_,
|
|
|
+ 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_,
|
|
|
+ teaching_content_,
|
|
|
+ note_,
|
|
|
+ schoole_id_,
|
|
|
+ organ_id_
|
|
|
+ FROM course_schedule
|
|
|
+ WHERE id_ = #{id}
|
|
|
</select>
|
|
|
|
|
|
<!-- 全查询 -->
|
|
|
<select id="findAll" resultMap="CourseSchedule">
|
|
|
- SELECT <include refid="resultSql"/>
|
|
|
- FROM course_schedule cs
|
|
|
- ORDER BY cs.id_
|
|
|
+ SELECT *
|
|
|
+ FROM course_schedule
|
|
|
+ ORDER BY id_
|
|
|
</select>
|
|
|
|
|
|
<!-- 向数据库增加一条记录 -->
|
|
|
<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.CourseSchedule" 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
|
|
|
(id_,group_type_,music_group_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_,
|
|
@@ -493,7 +483,25 @@
|
|
|
|
|
|
<select id="findByCourseScheduleIds" resultMap="CourseSchedule">
|
|
|
SELECT
|
|
|
- <include refid="resultSql"/>
|
|
|
+ cs.id_,
|
|
|
+ cs.music_group_id_,
|
|
|
+ cs.group_type_,
|
|
|
+ cs.class_group_id_,
|
|
|
+ cs.status_,
|
|
|
+ cs.subsidy_,
|
|
|
+ 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.teacher_id_,
|
|
|
+ cs.actual_teacher_id_,
|
|
|
+ cs.create_time_,
|
|
|
+ cs.update_time_,
|
|
|
+ cs.teach_mode_,
|
|
|
+ cs.type_,
|
|
|
+ cs.name_,
|
|
|
+ cs.student_num_,
|
|
|
+ cs.leave_student_num_,
|
|
|
+ cs.schoole_id_
|
|
|
FROM
|
|
|
course_schedule cs
|
|
|
WHERE cs.id_ IN
|
|
@@ -1204,9 +1212,6 @@
|
|
|
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
|
|
|
UPDATE course_schedule
|
|
|
<set>
|
|
|
- <if test="item.newCourseId != null">
|
|
|
- new_course_id_ = #{item.newCourseId},
|
|
|
- </if>
|
|
|
<if test="item.classDate != null">
|
|
|
class_date_ = #{item.classDate},
|
|
|
</if>
|
|
@@ -1247,9 +1252,6 @@
|
|
|
<if test="item.teachMode != null">
|
|
|
teach_mode_ = #{item.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
|
|
|
</if>
|
|
|
- <if test="item.note != null">
|
|
|
- note_ = #{item.note},
|
|
|
- </if>
|
|
|
update_time_ = NOW()
|
|
|
</set>
|
|
|
WHERE id_ = #{item.id}
|
|
@@ -1323,8 +1325,6 @@
|
|
|
<result property="totalClassTimes" column="total_class_times_"/>
|
|
|
<result property="studentNames" column="student_names_"/>
|
|
|
<result column="teach_mode_" property="teachMode" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
|
|
|
- <result column="school_id_" property="schoolId"/>
|
|
|
- <result column="school_name_" property="schoolName"/>
|
|
|
</resultMap>
|
|
|
|
|
|
<sql id="teacherClassCourseScheduleQueryCondition">
|
|
@@ -1355,15 +1355,12 @@
|
|
|
cs.actual_teacher_id_,
|
|
|
cs.teach_mode_,
|
|
|
su.real_name_ username_,
|
|
|
- cg.total_class_times_,
|
|
|
- cs.schoole_id_ school_id_,
|
|
|
- s.name_ school_name_
|
|
|
+ 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_
|
|
|
- LEFT JOIN school s ON cs.schoole_id_=s.id_
|
|
|
<include refid="teacherClassCourseScheduleQueryCondition"/>
|
|
|
ORDER BY start_class_time_
|
|
|
<include refid="global.limit"/>
|
|
@@ -1421,16 +1418,13 @@
|
|
|
su.username_,
|
|
|
cg.total_class_times_,
|
|
|
GROUP_CONCAT(IF(sa.status_='NORMAL',ssu.username_,NULL)) student_names_,
|
|
|
- MAX(sa.current_class_times_) current_class_times_,
|
|
|
- cs.schoole_id_ school_id_,
|
|
|
- s.name_ school_name_
|
|
|
+ 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_
|
|
|
- LEFT JOIN school s ON cs.schoole_id_ = s.id_
|
|
|
WHERE
|
|
|
(cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
|
|
|
AND sa.class_group_id_=#{classGroupId}
|
|
@@ -2000,24 +1994,6 @@
|
|
|
</foreach>
|
|
|
</delete>
|
|
|
|
|
|
- <delete id="deleteMusicGroupCourseSchedulesWithStudents">
|
|
|
- DELETE
|
|
|
- FROM
|
|
|
- course_schedule_student_payment
|
|
|
- WHERE user_id_ IN
|
|
|
- <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
|
|
|
- #{userId}
|
|
|
- </foreach>
|
|
|
- AND course_schedule_id_ IN
|
|
|
- <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
|
|
|
- #{courseScheduleId}
|
|
|
- </foreach>
|
|
|
- </delete>
|
|
|
-
|
|
|
- <select id="getClassGroupNotStartCourse" resultMap="CourseSchedule">
|
|
|
- SELECT * FROM course_schedule WHERE class_group_id_=#{classGroupId} AND CONCAT(class_date_,' ', start_class_time_) > NOW()
|
|
|
- </select>
|
|
|
-
|
|
|
<delete id="deleteCourseSchedulesByClassGroupIds">
|
|
|
DELETE FROM course_schedule WHERE id_ IN
|
|
|
<foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
|
|
@@ -2270,7 +2246,15 @@
|
|
|
AND music_group_id_ = #{groupId}
|
|
|
</select>
|
|
|
<select id="findSurplusCourseWithGroup" resultMap="CourseSchedule">
|
|
|
- SELECT <include refid="resultSql"/>
|
|
|
+ SELECT cs.id_,
|
|
|
+ cs.music_group_id_,
|
|
|
+ cs.class_group_id_,
|
|
|
+ cs.status_,
|
|
|
+ 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.actual_teacher_id_,
|
|
|
+ cs.teach_mode_
|
|
|
FROM course_schedule cs
|
|
|
WHERE (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
|
|
|
AND cs.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
@@ -2279,7 +2263,25 @@
|
|
|
</select>
|
|
|
|
|
|
<select id="getSurplusCourseWithGroup" resultMap="CourseSchedule">
|
|
|
- SELECT <include refid="resultSql"/>
|
|
|
+ SELECT cs.id_,
|
|
|
+ cs.music_group_id_,
|
|
|
+ cs.group_type_,
|
|
|
+ cs.class_group_id_,
|
|
|
+ cs.status_,
|
|
|
+ cs.subsidy_,
|
|
|
+ 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.teacher_id_,
|
|
|
+ cs.actual_teacher_id_,
|
|
|
+ cs.create_time_,
|
|
|
+ cs.update_time_,
|
|
|
+ cs.teach_mode_,
|
|
|
+ cs.type_,
|
|
|
+ cs.name_,
|
|
|
+ cs.student_num_,
|
|
|
+ cs.leave_student_num_,
|
|
|
+ cs.schoole_id_
|
|
|
FROM course_schedule cs
|
|
|
WHERE (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
|
|
|
AND CONCAT(cs.class_date_, ' ', cs.start_class_time_) > NOW()
|
|
@@ -2301,8 +2303,7 @@
|
|
|
|
|
|
<select id="endFindCourseSchedules" resultMap="CourseScheduleEndDto">
|
|
|
SELECT
|
|
|
- (CASE WHEN cs.new_course_id_ IS NULL THEN cs.id_ ELSE cs.new_course_id_ END) id_,
|
|
|
- cs.new_course_id_,
|
|
|
+ cs.id_,
|
|
|
cs.group_type_,
|
|
|
cs.music_group_id_,
|
|
|
cs.class_group_id_,
|
|
@@ -2318,13 +2319,14 @@
|
|
|
cs.create_time_,
|
|
|
s.name_ schoole_name_,
|
|
|
o.name_ organ_name_,
|
|
|
- CASE WHEN COUNT(sa.id_) > 0 THEN 1 ELSE 0 END isCallNames
|
|
|
+ CASE WHEN COUNT(sa.id_) > 0 THEN 1 ELSE 0 END isCallNames,
|
|
|
+ case when count(ta.id_) > 0 then '1' else '0' end is_complaints_
|
|
|
FROM
|
|
|
course_schedule cs
|
|
|
LEFT JOIN school s ON cs.schoole_id_=s.id_
|
|
|
LEFT JOIN organization o ON cs.organ_id_=o.id_
|
|
|
- LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = (CASE WHEN cs.new_course_id_ IS NULL THEN cs.id_ ELSE cs.new_course_id_ END)
|
|
|
- AND sa.remark_ IS NULL
|
|
|
+ left join teacher_attendance ta on ta.course_schedule_id_ = cs.id_ and ta.is_complaints_ = 1
|
|
|
+ LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_ AND sa.remark_ IS NULL
|
|
|
<include refid="endFindCourseSchedulesCondition"/>
|
|
|
GROUP BY cs.id_
|
|
|
ORDER BY course_start_time_,cs.id_
|
|
@@ -2336,7 +2338,7 @@
|
|
|
COUNT(DISTINCT cs.id_)
|
|
|
FROM
|
|
|
course_schedule cs
|
|
|
- LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = (CASE WHEN cs.new_course_id_ IS NULL THEN cs.id_ ELSE cs.new_course_id_ END) AND sa.remark_ IS NULL
|
|
|
+ LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cs.id_ AND sa.remark_ IS NULL
|
|
|
<include refid="endFindCourseSchedulesCondition"/>
|
|
|
</select>
|
|
|
<select id="findCourseIdsByStudent" resultType="int">
|
|
@@ -2354,7 +2356,25 @@
|
|
|
OR su.id_ = #{search}
|
|
|
</select>
|
|
|
<select id="findClassGroupCourseSchedulesWithDate" resultMap="CourseSchedule">
|
|
|
- SELECT <include refid="resultSql"/>
|
|
|
+ SELECT cs.id_,
|
|
|
+ cs.class_group_id_,
|
|
|
+ cs.status_,
|
|
|
+ cs.subsidy_,
|
|
|
+ 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.start_class_time_ start_class_time_str_,
|
|
|
+ cs.end_class_time_ end_class_time_str_,
|
|
|
+ cs.teacher_id_,
|
|
|
+ cs.actual_teacher_id_,
|
|
|
+ cs.create_time_,
|
|
|
+ cs.update_time_,
|
|
|
+ cs.teach_mode_,
|
|
|
+ cs.type_,
|
|
|
+ cs.name_,
|
|
|
+ cs.student_num_,
|
|
|
+ cs.leave_student_num_,
|
|
|
+ cs.schoole_id_
|
|
|
FROM course_schedule cs
|
|
|
WHERE FIND_IN_SET(cs.class_group_id_, #{classGroupIds})
|
|
|
AND CONCAT(cs.class_date_, ' ', cs.start_class_time_) > NOW()
|
|
@@ -3292,12 +3312,6 @@
|
|
|
ORDER BY start_class_time_ DESC LIMIT 1;
|
|
|
</select>
|
|
|
|
|
|
- <select id="queryRemainCourseTypeDuration" resultMap="RemainCourseTypeDurationDto">
|
|
|
- SELECT cs.type_ course_type_,SUM(TIMESTAMPDIFF(MINUTE,STR_TO_DATE(concat(cs.class_date_,' ',cs.start_class_time_),'%Y-%m-%d %H:%i:%s'),
|
|
|
- STR_TO_DATE(concat(cs.class_date_,' ',cs.end_class_time_),'%Y-%m-%d %H:%i:%s'))) remain_minutes_
|
|
|
- from course_schedule cs where FIND_IN_SET(cs.class_group_id_,#{classgroupId}) and cs.status_ = 'NOT_START' group by cs.type_
|
|
|
- </select>
|
|
|
-
|
|
|
<resultMap id="CourseRepeatCheckDto" type="com.ym.mec.biz.dal.dto.CourseRepeatCheckDto">
|
|
|
<result column="course_id_" property="courseId"/>
|
|
|
<result column="class_date_" property="classDate"/>
|
|
@@ -3315,25 +3329,14 @@
|
|
|
SELECT
|
|
|
cs.id_ course_id_,
|
|
|
cs.class_date_ class_date_,
|
|
|
- o.name_ orgna_name_,
|
|
|
CONCAT(cs.class_date_, ' ', cs.start_class_time_) class_start_time_,
|
|
|
CONCAT(cs.class_date_, ' ', cs.end_class_time_) class_end_time_,
|
|
|
- csts.user_id_ teacher_id_,
|
|
|
- cssp.user_id_ student_id_
|
|
|
+ cssp.user_id_ teacher_id_,
|
|
|
+ csts.user_id_ student_id_
|
|
|
FROM course_schedule cs
|
|
|
- LEFT JOIN course_schedule_student_payment cssp ON cs.id_=cssp.course_schedule_id_
|
|
|
- LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_
|
|
|
- LEFT JOIN organization o ON cs.organ_id_=o.id_
|
|
|
- WHERE cs.organ_id_!=41 AND cs.del_flag_=0 AND cs.class_date_ >= '2020-11-01'
|
|
|
- </select>
|
|
|
-
|
|
|
- <select id="countCourseMergeTime" resultType="int">
|
|
|
- SELECT COUNT(id_) FROM course_schedule WHERE new_course_id_=#{courseId}
|
|
|
- </select>
|
|
|
- <select id="querySubCourseNumMap" resultType="java.util.Map">
|
|
|
- SELECT cs.group_type_ 'key',COUNT(cs.id_) 'value' FROM course_schedule cs
|
|
|
- WHERE cs.class_group_id_ = #{classGroupId} AND CONCAT(cs.class_date_," ",cs.start_class_time_) > NOW()
|
|
|
- GROUP BY cs.group_type_
|
|
|
+ LEFT JOIN course_schedule_student_payment cssp ON cs.id_=cssp.course_schedule_id_
|
|
|
+ LEFT JOIN course_schedule_teacher_salary csts ON cs.id_=csts.course_schedule_id_
|
|
|
+ WHERE cs.organ_id_!=41 AND cs.del_flag_=0 AND cs.create_time_>'2020-01-01 00:00:00' AND cs.create_time_<'3000-01-01 00:00:00'
|
|
|
</select>
|
|
|
|
|
|
</mapper>
|