|
@@ -346,25 +346,25 @@
|
|
|
SELECT vg.organ_id_, COUNT(DISTINCT cssp.user_id_) try_num_, GROUP_CONCAT(distinct cssp.user_id_) student_ids_
|
|
|
FROM course_schedule_student_payment cssp
|
|
|
LEFT JOIN vip_group vg ON cssp.music_group_id_ = vg.id_ AND cssp.group_type_ = 'VIP'
|
|
|
- LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_ AND cs.teach_mode_ = 'ONLINE'
|
|
|
LEFT JOIN student s ON s.user_id_ = cssp.user_id_
|
|
|
WHERE vg.organ_id_ >= 1
|
|
|
AND s.operating_tag_ = 0
|
|
|
- AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
|
|
|
+ AND (cs.is_lock_ IS NULL OR cs.is_lock_ = 0)
|
|
|
AND cs.teach_mode_ = 'ONLINE'
|
|
|
GROUP BY vg.organ_id_
|
|
|
</select>
|
|
|
|
|
|
<select id="getVipBuyNums" resultMap="practice4Organ">
|
|
|
- SELECT vg.organ_id_, COUNT(DISTINCT cssp.user_id_) vip_num_, GROUP_CONCAT(DISTINCT cssp.user_id_) student_ids_
|
|
|
+ SELECT vg.organ_id_, COUNT(DISTINCT cssp.user_id_) vip_num_
|
|
|
FROM course_schedule_student_payment cssp
|
|
|
LEFT JOIN vip_group vg ON cssp.music_group_id_ = vg.id_ AND cssp.group_type_ = 'VIP'
|
|
|
- LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
|
|
|
- WHERE vg.organ_id_ >= 1
|
|
|
- AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) >= #{classDate}
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_ AND cs.teach_mode_ = 'ONLINE'
|
|
|
+ WHERE CONCAT(cs.class_date_, ' ', cs.end_class_time_) >= #{classDate}
|
|
|
<if test="endDate != null">
|
|
|
<![CDATA[AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) < #{endDate}]]>
|
|
|
</if>
|
|
|
+ AND vg.organ_id_ >= 1
|
|
|
AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
|
|
|
AND cs.teach_mode_ = 'ONLINE'
|
|
|
GROUP BY vg.organ_id_
|
|
@@ -380,11 +380,24 @@
|
|
|
<if test="endDate != null">
|
|
|
<![CDATA[AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) < #{endDate}]]>
|
|
|
</if>
|
|
|
- <if test="studentIds != null">
|
|
|
- AND FIND_IN_SET(cssp.user_id_,#{studentIds})
|
|
|
- </if>
|
|
|
AND pg.buy_months_ >= 1
|
|
|
- AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
|
|
|
+ AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
|
|
|
GROUP BY pg.organ_id_
|
|
|
</select>
|
|
|
+
|
|
|
+ <select id="getPracticeAndVipNums" resultMap="practice4Organ">
|
|
|
+ SELECT pg.organ_id_, COUNT(DISTINCT cssp.user_id_) practice_num_
|
|
|
+ FROM course_schedule_student_payment cssp
|
|
|
+ LEFT JOIN course_schedule_student_payment cssp2 ON cssp.user_id_ = cssp2.user_id_ AND cssp2.group_type_ = 'VIP'
|
|
|
+ LEFT JOIN practice_group pg ON cssp.music_group_id_ = pg.id_ AND cssp.group_type_ = 'PRACTICE'
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = cssp2.course_schedule_id_ AND cs.teach_mode_ = 'ONLINE'
|
|
|
+ WHERE cssp.group_type_ = 'PRACTICE'
|
|
|
+ AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) >= #{classDate}
|
|
|
+ <if test="endDate != null">
|
|
|
+ <![CDATA[AND CONCAT(cs.class_date_, ' ', cs.end_class_time_) < #{endDate}]]>
|
|
|
+ </if>
|
|
|
+ AND pg.buy_months_ >=1
|
|
|
+ AND (cs.is_lock_ IS NULL OR cs.is_lock_=0)
|
|
|
+ GROUP by pg.organ_id_
|
|
|
+ </select>
|
|
|
</mapper>
|