|
@@ -132,6 +132,7 @@
|
|
|
<resultMap id="CourseReviewDto" type="com.ym.mec.biz.dal.dto.CourseReviewDto">
|
|
|
<id column="id_" jdbcType="INTEGER" property="id"/>
|
|
|
<result column="subject_id_" jdbcType="INTEGER" property="subjectId"/>
|
|
|
+ <result column="subject_name_" jdbcType="INTEGER" property="subjectName"/>
|
|
|
<result column="organ_id_" jdbcType="INTEGER" property="organId"/>
|
|
|
<result column="class_date_" jdbcType="DATE" property="classDate"/>
|
|
|
<result column="course_name_" jdbcType="VARCHAR" property="courseName"/>
|
|
@@ -476,33 +477,72 @@
|
|
|
</sql>
|
|
|
|
|
|
<select id="getVipCourseReviewList" resultMap="CourseReviewDto">
|
|
|
- SELECT cs.id_,cs.actual_teacher_id_ teacher_id ,cs.class_date_, pg.subject_id_,vg.organ_id_,cs.name_
|
|
|
+ SELECT cs.id_,cs.actual_teacher_id_ teacher_id ,cs.class_date_, (SELECT group_concat(name_) FROM subject sb WHERE FIND_IN_SET(id_,cg.subject_id_list_)) AS
|
|
|
+ subject_name_ ,vg.organ_id_,cs.name_
|
|
|
course_name_,su.real_name_ teacher_name_,edsu.real_name_
|
|
|
- edu_teacher_name_,csr.id_ review_id_, csc.score_ student_review_,
|
|
|
- csr.hand_homework_,csr.course_review_,csr.teaching_material_,csr.pronunciation_,csr.tempo_,
|
|
|
- csr.music_theory_,csr.song_,csr.memo_,csr.create_time_,csr.has_liaison_,csr.update_time_,sa.id_
|
|
|
- attendance_id_,sch.is_replied_ home_work_replied_,
|
|
|
- CASE WHEN sch.id_ IS NULL THEN 0 ELSE 1 END assign_homework_,
|
|
|
+ edu_teacher_name_,csr.id_ review_id_,csr.hand_homework_,csr.course_review_,csr.teaching_material_,csr.pronunciation_,csr.tempo_,
|
|
|
+ csr.music_theory_,csr.song_,csr.memo_,csr.create_time_,csr.has_liaison_,csr.update_time_
|
|
|
FROM course_schedule cs
|
|
|
LEFT JOIN vip_group vg ON cs.music_group_id_ = vg.id_ AND cs.group_type_='VIP'
|
|
|
+ LEFT JOIN class_group cg ON cg.music_group_id_=vg.id_ AND cg.group_type_ = 'VIP'
|
|
|
LEFT JOIN sys_user su ON cs.actual_teacher_id_ = su.id_
|
|
|
LEFT JOIN sys_user edsu ON vg.educational_teacher_id_ = edsu.id_
|
|
|
LEFT JOIN course_schedule_review csr on cs.id_ = csr.course_schedule_id_
|
|
|
- LEFT JOIN course_schedule_complaints csc on csc.course_schedule_id_ = cs.id_
|
|
|
- LEFT JOIN student_attendance sa on sa.course_schedule_id_ = cs.id_
|
|
|
- LEFT JOIN student_course_homework sch on cs.id_ = sch.course_schedule_id_
|
|
|
- <include refid="practiceGroupReviewsQueryCondition"/>
|
|
|
+ <include refid="vipGroupReviewsQueryCondition"/>
|
|
|
ORDER BY cs.class_date_ DESC
|
|
|
<include refid="global.limit"/>
|
|
|
</select>
|
|
|
|
|
|
<select id="countVipCourseReviews" resultType="java.lang.Integer">
|
|
|
SELECT count(*) FROM course_schedule cs
|
|
|
- LEFT JOIN practice_group pg ON cs.music_group_id_ = pg.id_ AND cs.group_type_='PRACTICE'
|
|
|
+ LEFT JOIN vip_group vg ON cs.music_group_id_ = vg.id_ AND cs.group_type_='VIP'
|
|
|
+ LEFT JOIN class_group cg ON cg.music_group_id_=vg.id_ AND cg.group_type_ = 'VIP'
|
|
|
LEFT JOIN course_schedule_review csr on cs.id_ = csr.course_schedule_id_
|
|
|
- LEFT JOIN course_schedule_complaints csc on csc.course_schedule_id_ = cs.id_
|
|
|
- LEFT JOIN student_attendance sa on sa.course_schedule_id_ = cs.id_
|
|
|
- LEFT JOIN student_course_homework sch on cs.id_ = sch.course_schedule_id_
|
|
|
- <include refid="practiceGroupReviewsQueryCondition"/>
|
|
|
+ <include refid="vipGroupReviewsQueryCondition"/>
|
|
|
</select>
|
|
|
+
|
|
|
+ <sql id="vipGroupReviewsQueryCondition">
|
|
|
+ <where>
|
|
|
+ AND vg.id_ > 0 AND cs.group_type_='VIP' AND cs.status_='OVER' AND (cs.del_flag_ = 0 OR cs.del_flag_ IS NULL)
|
|
|
+ <if test="search!=null and search!=''">
|
|
|
+ AND (cs.name_ LIKE CONCAT('%',#{search},'%') OR cs.id_= #{search})
|
|
|
+ </if>
|
|
|
+ <if test="organId != null">
|
|
|
+ AND FIND_IN_SET(vg.organ_id_,#{organId})
|
|
|
+ </if>
|
|
|
+ <if test="teacherId != null">
|
|
|
+ AND cs.actual_teacher_id_=#{teacherId}
|
|
|
+ </if>
|
|
|
+ <if test="eduTeacherId != null">
|
|
|
+ AND vg.educational_teacher_id_=#{eduTeacherId}
|
|
|
+ </if>
|
|
|
+ <if test='hasReview !=null and hasReview=="1"'>
|
|
|
+ AND csr.id_ > 0
|
|
|
+ </if>
|
|
|
+ <if test='hasReview !=null and hasReview=="0"'>
|
|
|
+ AND csr.id_ IS NULL
|
|
|
+ </if>
|
|
|
+ <if test='hasHandHomework !=null and hasHandHomework=="1"'>
|
|
|
+ AND csr.hand_homework_ = 1
|
|
|
+ </if>
|
|
|
+ <if test='hasHandHomework !=null and hasHandHomework=="0"'>
|
|
|
+ AND csr.hand_homework_ IS NULL
|
|
|
+ </if>
|
|
|
+ <if test='hasLiaison !=null and hasLiaison=="1"'>
|
|
|
+ AND csr.has_liaison_ = 1
|
|
|
+ </if>
|
|
|
+ <if test='hasLiaison !=null and hasLiaison=="0"'>
|
|
|
+ AND (csr.has_liaison_ = 0 OR csr.has_liaison_ IS NULL)
|
|
|
+ </if>
|
|
|
+ <if test="courseReview != null">
|
|
|
+ AND csr.course_review_=#{courseReview}
|
|
|
+ </if>
|
|
|
+ <if test="startTime !=null">
|
|
|
+ <![CDATA[AND cs.class_date_ >= #{startTime} ]]>
|
|
|
+ </if>
|
|
|
+ <if test="endTime !=null">
|
|
|
+ <![CDATA[AND cs.class_date_ <= #{endTime} ]]>
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ </sql>
|
|
|
</mapper>
|