|
@@ -62,6 +62,9 @@
|
|
|
left join music_group mg ON mg.id_ = cs.music_group_id_
|
|
|
left join organization o ON o.id_ = mg.organ_id_
|
|
|
where cs.group_type_ = 'MUSIC' AND cs.`del_flag_` = 0 AND cs.is_lock_ = 0 and cs.pre_course_flag_ != 1 and cg.del_flag_ = 0
|
|
|
+ <if test="organIds != null and organIds != ''">
|
|
|
+ AND FIND_IN_SET(cs.organ_id_,#{organIds})
|
|
|
+ </if>
|
|
|
group by cs.class_group_id_,cs.type_ order by cs.organ_id_,cs.class_group_id_
|
|
|
</select>
|
|
|
<select id="exportBalancedRelationshipVipCourse"
|
|
@@ -78,6 +81,9 @@
|
|
|
left join sys_user su ON su.id_ = cssp.user_id_
|
|
|
left join organization o ON o.id_ = cs.organ_id_
|
|
|
where cs.group_type_ = 'VIP' AND cs.is_lock_ = 0 AND cs.del_flag_ = 0 AND cs.id_ = cssp.course_schedule_id_
|
|
|
+ <if test="organIds != null and organIds != ''">
|
|
|
+ AND FIND_IN_SET(cs.organ_id_,#{organIds})
|
|
|
+ </if>
|
|
|
group by cssp.user_id_,vg.vip_group_category_id_ ORDER BY cs.organ_id_,cssp.user_id_
|
|
|
</select>
|
|
|
<select id="exportBalancedRelationshipVipNoCourse"
|
|
@@ -100,26 +106,36 @@
|
|
|
left join organization o ON o.id_ = aum.organ_id_
|
|
|
left join sys_user su ON su.id_ = aum.user_id_
|
|
|
left join vip_group_category vgc ON vgc.id_ = aum.category_id_
|
|
|
+ <where>
|
|
|
+ <if test="organIds != null and organIds != ''">
|
|
|
+ FIND_IN_SET(aum.organ_id_,#{organIds})
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
order by aum.organ_id_,aum.user_id_
|
|
|
</select>
|
|
|
<select id="exportBalancedRelationshipMusicSubCourse"
|
|
|
resultType="com.ym.mec.biz.dal.dto.ExportWrapper$ExportBalancedRelationshipMusicSubCourse">
|
|
|
select o.name_ 'organName',mgpscd.music_group_id_ 'musicGroupId',mg.name_ 'musicGroupName',mgpc.batch_no_ 'paymentBatchNo',
|
|
|
- spo.actual_amount_ + spo.coupon_remit_fee_ 'paymentAmount',mgpscd.user_id_ 'studentId',
|
|
|
- CASE WHEN mgpscd.course_type_ = 'CLASSROOM' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'classroom'
|
|
|
- ,CASE WHEN mgpscd.course_type_ = 'COMPREHENSIVE' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'comprehensive'
|
|
|
- ,CASE WHEN mgpscd.course_type_ = 'HIGH' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'high'
|
|
|
- ,CASE WHEN mgpscd.course_type_ = 'HIGH_ONLINE' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'highOnline'
|
|
|
- ,CASE WHEN mgpscd.course_type_ = 'MIX' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'mix'
|
|
|
- ,CASE WHEN mgpscd.course_type_ = 'SINGLE' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'single'
|
|
|
- ,CASE WHEN mgpscd.course_type_ = 'TRAINING_MIX' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'trainingMix'
|
|
|
- ,CASE WHEN mgpscd.course_type_ = 'TRAINING_SINGLE' THEN mgpscd.total_course_minutes_ ELSE 0 END AS 'trainingSingle'
|
|
|
+ spo.paymentAmount,mgpscd.user_id_ 'studentId',
|
|
|
+ SUM(CASE WHEN mgpscd.course_type_ = 'CLASSROOM' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'classroom'
|
|
|
+ ,SUM(CASE WHEN mgpscd.course_type_ = 'COMPREHENSIVE' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'comprehensive'
|
|
|
+ ,SUM(CASE WHEN mgpscd.course_type_ = 'HIGH' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'high'
|
|
|
+ ,SUM(CASE WHEN mgpscd.course_type_ = 'HIGH_ONLINE' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'highOnline'
|
|
|
+ ,SUM(CASE WHEN mgpscd.course_type_ = 'MIX' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'mix'
|
|
|
+ ,SUM(CASE WHEN mgpscd.course_type_ = 'SINGLE' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'single'
|
|
|
+ ,SUM(CASE WHEN mgpscd.course_type_ = 'TRAINING_MIX' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'trainingMix'
|
|
|
+ ,SUM(CASE WHEN mgpscd.course_type_ = 'TRAINING_SINGLE' THEN mgpscd.total_course_minutes_ ELSE 0 END) AS 'trainingSingle'
|
|
|
from music_group_payment_student_course_detail mgpscd
|
|
|
left join music_group mg ON mg.id_ = mgpscd.music_group_id_
|
|
|
left join organization o ON o.id_ = mg.organ_id_
|
|
|
left join music_group_payment_calender mgpc ON mgpc.id_ = mgpscd.music_group_payment_calender_id_
|
|
|
- left join student_payment_order spo ON spo.calender_id_ = mgpscd.music_group_payment_calender_id_ AND mgpscd.user_id_ = spo.user_id_ AND spo.status_ = 'SUCCESS'
|
|
|
- where sub_course_minutes_ + used_course_minutes_ = total_course_minutes_ AND mgpc.create_time_ >= CONCAT(#{month},'-01 00:00:00') AND mgpscd.tenant_id_ = 1
|
|
|
+ left join (select user_id_,calender_id_,SUM(spo.actual_amount_ + spo.coupon_remit_fee_) paymentAmount from student_payment_order spo
|
|
|
+ where create_time_ BETWEEN CONCAT(#{startMonth},'-01 00:00:00') AND CONCAT(#{endMonth},'-31 23:59:59') AND status_ = 'SUCCESS' AND group_type_ = 'MUSIC' AND calender_id_ IS NOT NULL
|
|
|
+ group by user_id_,calender_id_) spo ON spo.calender_id_ = mgpscd.music_group_payment_calender_id_ AND mgpscd.user_id_ = spo.user_id_
|
|
|
+ where mgpc.create_time_ BETWEEN CONCAT(#{startMonth},'-01 00:00:00') AND CONCAT(#{endMonth},'-31 23:59:59')
|
|
|
+ <if test="organIds != null and organIds != ''">
|
|
|
+ AND FIND_IN_SET(mg.organ_id_,#{organIds})
|
|
|
+ </if>
|
|
|
group by mgpscd.user_id_,mgpscd.music_group_payment_calender_id_ order by o.id_,mgpscd.music_group_id_,mgpc.batch_no_,mgpscd.user_id_ desc
|
|
|
</select>
|
|
|
<select id="exportBalancedRelationshipStudentInfo"
|
|
@@ -130,23 +146,31 @@
|
|
|
COUNT(DISTINCT mgq.user_id_) 'currentMonthQuitStudentCount'
|
|
|
from organization o
|
|
|
left join music_group mg ON o.id_ = mg.organ_id_
|
|
|
- left join music_group_quit mgq ON mgq.music_group_id_ = mg.id_ AND mgq.status_ = 'APPROVED' AND DATE_FORMAT(mgq.create_time_,'%Y-%m-%d') BETWEEN CONCAT('2024-02','-01') AND CONCAT('2024-02','-31')
|
|
|
- left join (select ibmd.organ_id_,SUM(CASE WHEN ibmd.data_type_ = 'MUSIC_GROUP_STUDENT' AND ibmd.month_ = last_day(CONCAT('2024-02','-01')) THEN ibmd.total_num_ ELSE 0 END) 'MUSIC_GROUP_STUDENT',
|
|
|
+ left join music_group_quit mgq ON mgq.music_group_id_ = mg.id_ AND mgq.status_ = 'APPROVED' AND DATE_FORMAT(mgq.create_time_,'%Y-%m-%d') BETWEEN CONCAT(#{month},'-01') AND CONCAT(#{month},'-31')
|
|
|
+ left join (select ibmd.organ_id_,SUM(CASE WHEN ibmd.data_type_ = 'MUSIC_GROUP_STUDENT' AND ibmd.month_ = last_day(CONCAT(#{month},'-01')) THEN ibmd.total_num_ ELSE 0 END) 'MUSIC_GROUP_STUDENT',
|
|
|
SUM(CASE WHEN ibmd.data_type_ = 'NEWLY_STUDENT_NUM' THEN ibmd.total_num_ ELSE 0 END) 'NEWLY_STUDENT_NUM'
|
|
|
from index_base_month_data ibmd
|
|
|
where ibmd.tenant_id_ = 1 AND ibmd.month_ BETWEEN CONCAT(#{month},'-01') AND CONCAT(#{month},'-31')
|
|
|
group by ibmd.organ_id_) ibmd ON ibmd.organ_id_ = o.id_
|
|
|
- where o.tenant_id_ = 1
|
|
|
+ <where>
|
|
|
+ <if test="organIds != null and organIds != ''">
|
|
|
+ FIND_IN_SET(o.id_,#{organIds})
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
group by o.id_ order by o.id_
|
|
|
</select>
|
|
|
<select id="exportBalancedRelationshipStudentNormalDetail"
|
|
|
resultType="com.ym.mec.biz.dal.dto.ExportWrapper$ExportBalancedRelationshipStudentNormalDetail">
|
|
|
- SELECT o.name_ 'organName',mg.id_ 'musicGroupId',mg.name_ 'musicGroupName',sr.user_id_ 'studentId',su.username_ 'studentName'
|
|
|
+ SELECT o.name_ 'organName',mg.id_ 'musicGroupId',mg.name_ 'musicGroupName',sr.user_id_ 'studentId',su.username_ 'studentName',co.name_ coopName
|
|
|
FROM student_registration sr
|
|
|
left join sys_user su ON su.id_ = sr.user_id_
|
|
|
LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
|
|
|
left join organization o ON o.id_ = mg.organ_id_
|
|
|
+ left join cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
|
|
|
WHERE mg.status_ = 'PROGRESS' AND sr.music_group_status_ = 'NORMAL'
|
|
|
+ <if test="organIds != null and organIds != ''">
|
|
|
+ AND FIND_IN_SET(mg.organ_id_,#{organIds})
|
|
|
+ </if>
|
|
|
GROUP BY mg.organ_id_,mg.id_,sr.user_id_ order by mg.organ_id_,mg.id_,sr.user_id_
|
|
|
</select>
|
|
|
<select id="exportBalancedRelationshipStudentQuitDetail"
|
|
@@ -155,8 +179,11 @@
|
|
|
left join sys_user su ON su.id_ = mgq.user_id_
|
|
|
LEFT JOIN music_group mg ON mg.id_ = mgq.music_group_id_
|
|
|
left join organization o ON o.id_ = mg.organ_id_
|
|
|
- WHERE mgq.status_ = 'APPROVED' AND mgq.tenant_id_ = 1
|
|
|
+ WHERE mgq.status_ = 'APPROVED'
|
|
|
AND DATE_FORMAT(mgq.create_time_,'%Y-%m-%d') BETWEEN CONCAT(#{month},'-01') AND CONCAT(#{month},'-31')
|
|
|
+ <if test="organIds != null and organIds != ''">
|
|
|
+ AND FIND_IN_SET(mg.organ_id_,#{organIds})
|
|
|
+ </if>
|
|
|
GROUP BY mg.organ_id_,mg.id_,mgq.user_id_ order by mg.organ_id_,mg.id_,mgq.user_id_
|
|
|
</select>
|
|
|
|