Selaa lähdekoodia

Merge branch 'online_music_library' of http://git.dayaedu.com/yonge/mec

 Conflicts:
	mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
zouxuan 4 vuotta sitten
vanhempi
commit
f718803907

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleStudentPaymentDao.java

@@ -378,6 +378,7 @@ public interface CourseScheduleStudentPaymentDao extends BaseDAO<Long, CourseSch
      * @return java.util.List<com.ym.mec.biz.dal.dto.StudentVipDouble11Dto>
      */
     List<StudentVipDouble11Dto> countStudentDouble11CourseTime(@Param("userIds") List<Integer> userIds,
+                                                               @Param("specialActivityIds") List<Integer> specialActivityIds);
 
                                                                @Param("specialActivityIds") List<Integer> specialActivityIds);
 }

+ 111 - 108
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -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_) &gt; 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_) &gt; 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_&lt;'3000-01-01 00:00:00'
     </select>
 
 </mapper>