SELECT * FROM index_base_month_data WHERE id_ = #{id}
SELECT * FROM index_base_month_data ORDER BY id_
SELECT * FROM index_base_month_data WHERE organ_id_=#{organId} AND month_ = #{day} AND data_type_=#{dataType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} ORDER BY month_ DESC LIMIT 1;
INSERT INTO index_base_month_data (month_,organ_id_,total_num_,activate_num_,percent_,data_type_,extend_info_,create_time_,update_time_)
VALUES(#{month},#{organId},#{totalNum},#{activateNum},#{percent},#{dataType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{extendInfo},NOW(),NOW())
INSERT INTO index_base_month_data (month_,organ_id_,total_num_,activate_num_,percent_,data_type_,extend_info_,create_time_,update_time_)
VALUES
(#{data.month},#{data.organId},#{data.totalNum},#{data.activateNum},#{data.percent},
#{dataType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{data.extendInfo},NOW(),NOW())
INSERT INTO index_base_month_data (month_,organ_id_,total_num_,activate_num_,percent_,data_type_,extend_info_,create_time_,update_time_)
VALUES
(#{data.month},#{data.organId},#{data.totalNum},#{data.activateNum},#{data.percent},
#{data.dataType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{data.extendInfo},NOW(),NOW())
UPDATE index_base_month_data
organ_id_ = #{organId},
id_ = #{id},
activate_num_ = #{activateNum},
total_num_ = #{totalNum},
percent_ = #{percent},
month_ = #{month},
data_type_ = #{dataType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
extend_info_ = #{extendInfo},
update_time_ = NOW()
WHERE id_ = #{id}
DELETE FROM index_base_month_data WHERE id_ = #{id}
DELETE FROM index_base_month_data
WHERE DATE_FORMAT(month_, '%Y-%m-%d') IN
#{month}
AND data_type_=#{dataType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
SELECT * FROM index_base_month_data ORDER BY id_
SELECT COUNT(*) FROM index_base_month_data
SELECT
month_,data_type_,SUM(total_num_) total_num_,SUM(activate_num_) activate_num_,SUM(percent_) percent_
FROM index_base_month_data
AND data_type_ IN
#{dataType}
AND organ_id_ IN
#{organId}
AND month_>=#{startMonth}
AND month_<=#{endMonth}
GROUP BY month_,data_type_
SELECT
*
FROM index_base_month_data
AND data_type_ IN
#{dataType}
AND organ_id_ IN
#{organId}
AND month_>=#{startMonth}
AND month_<=#{endMonth}
SELECT
month_,
organ_id_,
data_type_,
extend_info_
FROM index_base_month_data
FORCE INDEX(data_type_, month_)
AND data_type_ IN
#{dataType}
AND organ_id_ IN
#{organId}
AND month_>=#{startMonth}
AND month_<=#{endMonth}
AND extend_info_ IS NOT NULL
SELECT
*
FROM index_base_month_data
WHERE 1=1
AND data_type_ = #{dataType}
AND month_>=#{day}
SELECT
organ_id_,
#{dayStr} month_,
COUNT( id_ ) total_num_,
COUNT(CASE WHEN password_ IS NOT NULL THEN id_ ELSE NULL END) activate_num_,
TRUNCATE(COUNT(CASE WHEN password_ IS NOT NULL THEN id_ ELSE NULL END)/COUNT( id_ )*100, 2) percent_
FROM
((
SELECT DISTINCT
sr.user_id_
FROM
student_registration sr
LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
WHERE
mg.status_ IN ( 'PREPARE', 'PROGRESS' )
AND sr.music_group_status_ = 'NORMAL'
AND DATE_FORMAT(sr.create_time_, '%Y-%m-%d')<=#{dayStr}
) UNION ALL
(
SELECT DISTINCT
cssp.user_id_
FROM
course_schedule_student_payment cssp
LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
WHERE
cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0
AND ( cs.is_lock_ = 0 OR cs.is_lock_ IS NULL )
AND ( cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_ )
AND cssp.group_type_ IN ('VIP', 'PRACTICE')
AND cs.organ_id_ IS NOT NULL
AND DATE_FORMAT(cssp.create_time_, '%Y-%m-%d')<=#{dayStr}
AND cs.class_date_ >= #{courseStartDay}
)) u
LEFT JOIN sys_user su ON u.user_id_ = su.id_
WHERE
del_flag_=0
AND organ_id_ IS NOT NULL
AND user_type_ LIKE '%STUDENT%'
GROUP BY organ_id_
ORDER BY organ_id_;
SELECT
su.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT stu.user_id_ ) total_num_,
COUNT( DISTINCT stu.user_id_ ) activate_num_,
COUNT( DISTINCT stu.user_id_ ) percent_
FROM
student stu
LEFT JOIN sys_user su ON stu.user_id_=su.id_
WHERE
su.del_flag_=0
AND su.organ_id_ IS NOT NULL
AND su.user_type_ LIKE '%STUDENT%'
AND DATE_FORMAT(stu.create_time_, '%Y-%m-%d')<=#{dayStr}
GROUP BY organ_id_
ORDER BY organ_id_;
SELECT
su.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT stu.user_id_ ) total_num_,
COUNT( DISTINCT stu.user_id_ ) activate_num_,
COUNT( DISTINCT stu.user_id_ ) percent_
FROM
student stu
LEFT JOIN sys_user su ON stu.user_id_=su.id_
WHERE
su.del_flag_=0
AND su.organ_id_ IS NOT NULL
AND su.user_type_ LIKE '%STUDENT%'
AND DATE_FORMAT(stu.create_time_, '%Y-%m-%d')=#{dayStr}
GROUP BY organ_id_
ORDER BY organ_id_;
SELECT
su.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT stu.user_id_ ) total_num_,
COUNT( DISTINCT (CASE WHEN DATE_FORMAT( spo.create_time_, '%Y-%m-%d' ) <= #{dayStr} THEN spo.user_id_ ELSE NULL END) ) activate_num_,
TRUNCATE(COUNT(DISTINCT (CASE WHEN DATE_FORMAT( spo.create_time_, '%Y-%m-%d' ) <= #{dayStr} THEN spo.user_id_ ELSE NULL END))/COUNT(DISTINCT stu.user_id_)*100, 2) percent_
FROM
student stu
LEFT JOIN sys_user su ON stu.user_id_=su.id_
LEFT JOIN student_payment_order spo ON stu.user_id_=spo.user_id_ AND status_='SUCCESS' AND actual_amount_>0
WHERE
su.del_flag_=0
AND su.organ_id_ IS NOT NULL
AND su.user_type_ LIKE '%STUDENT%'
AND DATE_FORMAT(stu.create_time_, '%Y-%m-%d')<=#{dayStr}
GROUP BY organ_id_
ORDER BY organ_id_;
SELECT
su.organ_id_,
sees.monday_ month_,
SUM(sees.actual_exercises_num_) total_num_,
SUM(sees.exercises_reply_num_) activate_num_,
TRUNCATE(SUM(sees.exercises_reply_num_)/SUM(sees.actual_exercises_num_)*100, 2) percent_
SUM(sees.exercises_reply_num_) total_num_,
SUM(sees.exercises_message_num_) activate_num_,
TRUNCATE(SUM(sees.exercises_message_num_)/SUM(sees.exercises_reply_num_)*100, 2) percent_
SUM(sees.expect_exercises_num_-sees.not_over_course_num_) total_num_,
SUM(sees.actual_exercises_num_) activate_num_,
TRUNCATE(SUM(sees.actual_exercises_num_)/SUM(sees.expect_exercises_num_-sees.not_over_course_num_)*100, 2) percent_
FROM student_extracurricular_exercises_situation_ sees
LEFT JOIN sys_user su ON sees.student_id_=su.id_
LEFT JOIN teacher tea ON sees.teacher_id_=tea.id_
WHERE su.del_flag_=0
AND tea.job_nature_='FULL_TIME'
AND su.organ_id_ IS NOT NULL
AND DATE_FORMAT(sees.monday_, '%Y-%m-%d')<=#{dayStr}
AND DATE_FORMAT(sees.sunday_, '%Y-%m-%d')>=#{dayStr}
GROUP BY su.organ_id_
ORDER BY su.organ_id_
SELECT
mg.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT mg.cooperation_organ_id_ ) total_num_,
COUNT( DISTINCT mg.cooperation_organ_id_ ) activate_num_,
COUNT( DISTINCT mg.cooperation_organ_id_ ) percent_
FROM
music_group mg
WHERE
mg.del_flag_ = 0
AND mg.organ_id_ IS NOT NULL
AND mg.status_ = 'PROGRESS'
AND DATE_FORMAT(mg.create_time_, '%Y-%m-%d')<=#{dayStr}
GROUP BY
mg.organ_id_
ORDER BY
mg.organ_id_;
SELECT
organ_id_,
#{dayStr} month_,
COUNT( id_ ) total_num_,
COUNT( id_ ) activate_num_,
COUNT( id_ ) percent_
FROM
music_group
WHERE
del_flag_ = 0
AND status_ = 'PROGRESS'
AND organ_id_ IS NOT NULL
AND DATE_FORMAT(create_time_, '%Y-%m-%d') <= #{dayStr}
GROUP BY
organ_id_
ORDER BY
organ_id_;
SELECT
mg.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT sr.user_id_ ) total_num_,
COUNT( DISTINCT sr.user_id_ ) activate_num_,
COUNT( DISTINCT sr.user_id_ ) percent_
FROM student_registration sr
LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_
WHERE
mg.del_flag_ = 0
AND mg.organ_id_ IS NOT NULL
AND mg.status_ = 'PROGRESS'
AND sr.music_group_status_='NORMAL'
AND sr.music_group_status_='QUIT'
AND DATE_FORMAT(sr.create_time_, '%Y-%m') >= CONCAT(DATE_FORMAT(NOW(), '%Y'), '-01')
AND sr.music_group_status_='NORMAL'
AND DATE_FORMAT(sr.create_time_, '%Y-%m') >= CONCAT(DATE_FORMAT(NOW(), '%Y'), '-01')
AND DATE_FORMAT(sr.create_time_, '%Y-%m-%d') <= #{dayStr}
GROUP BY
mg.organ_id_
ORDER BY
mg.organ_id_;
SELECT
t.organ_id_,
#{dayStr} month_,
COUNT( t.id_ ) total_num_,
COUNT( t.id_ ) activate_num_,
COUNT( t.id_ ) percent_
FROM
teacher t
LEFT JOIN sys_user su ON su.id_ = t.id_
WHERE
su.del_flag_ = 0
AND (t.demission_date_ IS NULl OR DATE_FORMAT(t.demission_date_, '%Y-%m-%d') > #{dayStr})
AND su.lock_flag_ = 0
AND (su.lock_flag_ = 1 OR t.demission_date_<NOW())
AND t.organ_id_ IS NOT NULL
AND t.job_nature_ = #{jobNature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND DATE_FORMAT(t.create_time_, '%Y-%m-%d') <= #{dayStr}
GROUP BY
t.organ_id_
ORDER BY
t.organ_id_;
SELECT
m.organ_id_,
#{dayStr} month_,
COUNT( m.id_ ) total_num_,
COUNT( m.id_ ) activate_num_,
COUNT( m.id_ ) percent_
FROM
course_schedule m
WHERE
m.del_flag_ = 0
AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
AND m.status_ = #{courseStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND (m.new_course_id_ IS NULL OR m.new_course_id_=m.id_)
AND NOT EXISTS (SELECT id_ FROM practice_group WHERE m.group_type_='PRACTICE' AND m.music_group_id_=id_ AND type_='TRIAL')
AND m.organ_id_ IS NOT NULL AND m.pre_course_flag_ = 0
AND m.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND m.class_date_ >= #{dayStr}
GROUP BY
m.organ_id_
ORDER BY
m.organ_id_;
SELECT
m.organ_id_,
#{dayStr} month_,
COUNT( m.id_ ) total_num_,
COUNT( m.id_ ) activate_num_,
COUNT( m.id_ ) percent_
FROM
course_schedule m
WHERE
m.del_flag_ = 0
AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
AND m.status_ = #{courseStatus, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND (m.new_course_id_ IS NULL OR m.new_course_id_=m.id_)
AND NOT EXISTS (SELECT id_ FROM practice_group WHERE m.group_type_='PRACTICE' AND m.music_group_id_=id_ AND type_='TRIAL')
AND m.organ_id_ IS NOT NULL AND m.pre_course_flag_ = 0
AND m.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND m.class_date_ <= #{dayStr}
GROUP BY m.organ_id_
ORDER BY m.organ_id_;
SELECT
m.organ_id_,
m.class_date_ month_,
COUNT( m.id_ ) total_num_,
COUNT( m.id_ ) activate_num_,
COUNT( m.id_ ) percent_
FROM
course_schedule m
WHERE
m.del_flag_ = 0
AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
AND (m.new_course_id_ IS NULL OR m.new_course_id_=m.id_)
AND NOT EXISTS (SELECT id_ FROM practice_group WHERE m.group_type_='PRACTICE' AND m.music_group_id_=id_ AND type_='TRIAL')
AND m.organ_id_ IS NOT NULL AND m.pre_course_flag_ = 0
AND m.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND m.class_date_ = #{dayStr}
AND m.class_date_ BETWEEN #{startDate} AND #{endDate}
AND m.teach_mode_ = #{teachMode, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND m.organ_id_ IN
#{organId}
GROUP BY m.organ_id_
GROUP BY m.class_date_
ORDER BY
m.organ_id_;
SELECT
m.organ_id_ organId,
vgc.name_ categoryName,
COUNT( m.id_ ) courseNum
FROM
course_schedule m
LEFT JOIN vip_group vg ON m.music_group_id_=vg.id_
LEFT JOIN vip_group_category vgc ON vg.vip_group_category_id_=vgc.id_
WHERE
m.del_flag_ = 0
AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
AND (m.new_course_id_ IS NULL OR m.new_course_id_=m.id_)
AND m.organ_id_ IS NOT NULL
AND m.group_type_ = #{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND m.class_date_ = #{dayStr}
AND m.class_date_ BETWEEN #{startDate} AND #{endDate}
AND m.teach_mode_ = #{teachMode, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND m.organ_id_ IN
#{organId}
GROUP BY
m.organ_id_,vgc.name_
ORDER BY
m.organ_id_;
SELECT
su.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT s.user_id_ ) total_num_,
COUNT( DISTINCT s.user_id_ ) activate_num_,
COUNT( DISTINCT s.user_id_ ) percent_
FROM
sys_user su
LEFT JOIN course_schedule_student_payment s ON su.id_=s.user_id_
LEFT JOIN course_schedule m ON s.course_schedule_id_=m.id_
WHERE
m.del_flag_ = 0
AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
AND su.organ_id_ IS NOT NULL
AND m.group_type_ IN ('VIP', 'PRACTICE')
AND m.status_ = 'NOT_START'
AND (DATE_FORMAT(s.create_time_, '%Y-%m-%d') <= #{dayStr} OR YEAR(m.create_time_)=3000)
GROUP BY
su.organ_id_
ORDER BY
su.organ_id_;
SELECT
su.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT s.user_id_ ) total_num_,
COUNT( DISTINCT s.user_id_ ) activate_num_,
COUNT( DISTINCT s.user_id_ ) percent_
FROM
sys_user su
LEFT JOIN course_schedule_student_payment s ON su.id_=s.user_id_
LEFT JOIN course_schedule_student_payment cssp1 ON s.user_id_=cssp1.user_id_ AND cssp1.create_time_<#{dayStr}
LEFT JOIN course_schedule m ON s.course_schedule_id_=m.id_
WHERE
m.del_flag_ = 0
AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
AND cssp1.id_ IS NULL
AND su.organ_id_ IS NOT NULL
AND m.group_type_ IN ('VIP', 'PRACTICE')
AND DATE_FORMAT(s.create_time_, '%Y-%m-%d') = #{dayStr}
GROUP BY su.organ_id_
ORDER BY su.organ_id_;
SELECT
cs.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT m.user_id_ ) total_num_,
COUNT( DISTINCT m.user_id_ ) activate_num_,
COUNT( DISTINCT m.user_id_ ) percent_
FROM
course_schedule_student_payment m
LEFT JOIN course_schedule cs ON m.course_schedule_id_=cs.id_
LEFT JOIN practice_group pg ON m.music_group_id_=pg.id_ AND m.group_type_='PRACTICE'
WHERE
(cs.del_flag_ IS NULL OR cs.del_flag_=0)
AND cs.organ_id_ IS NOT NULL
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
AND m.group_type_ IN ('VIP', 'PRACTICE')
AND (pg.id_ IS NULL OR pg.type_='CHARGE')
AND m.user_id_ IN
#{studentId}
AND DATE_FORMAT(m.create_time_, '%Y-%m-%d')<=#{dayStr}
GROUP BY
cs.organ_id_
ORDER BY
cs.organ_id_;
SELECT
mg.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT spr.user_id_ ) total_num_,
COUNT( DISTINCT spr.user_id_ ) activate_num_,
COUNT( DISTINCT spr.user_id_ ) percent_
FROM
student_pre_registration spr
LEFT JOIN music_group mg ON spr.music_group_id_ = mg.id_
WHERE
mg.del_flag_ = 0
AND mg.organ_id_ IS NOT NULL
AND mg.status_ = 'PROGRESS'
AND DATE_FORMAT( spr.create_time_, '%Y-%m-%d' ) <= #{dayStr}
GROUP BY
mg.organ_id_
ORDER BY
mg.organ_id_;
SELECT
mg.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT sr.user_id_ ) total_num_,
COUNT( DISTINCT sr.user_id_ ) activate_num_,
COUNT( DISTINCT sr.user_id_ ) percent_
FROM
student_registration sr
LEFT JOIN student_pre_registration spr ON sr.user_id_ = spr.user_id_ AND sr.music_group_id_ = spr.music_group_id_
LEFT JOIN music_group mg ON spr.music_group_id_ = mg.id_
WHERE
mg.del_flag_ = 0
AND mg.organ_id_ IS NOT NULL
AND mg.status_ = 'PROGRESS'
AND sr.music_group_status_ IN ('APPLY', 'NORMAL')
AND sr.music_group_status_ IN ('NORMAL')
AND sr.payment_status_ = #{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND DATE_FORMAT( sr.create_time_, '%Y-%m-%d' ) <= #{dayStr}
GROUP BY
mg.organ_id_
ORDER BY
mg.organ_id_;
SELECT
sr.user_id_
FROM
student_registration sr
LEFT JOIN student_pre_registration spr ON sr.user_id_ = spr.user_id_ AND sr.music_group_id_ = spr.music_group_id_
LEFT JOIN music_group mg ON spr.music_group_id_ = mg.id_
WHERE
mg.del_flag_ = 0
AND mg.organ_id_ IS NOT NULL
AND mg.status_ = 'PROGRESS'
AND sr.music_group_status_ IN ('APPLY', 'NORMAL')
AND sr.music_group_status_ IN ('NORMAL')
AND sr.payment_status_ = #{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
AND DATE_FORMAT( sr.create_time_, '%Y-%m-%d' ) <= #{dayStr}
SELECT COUNT(t.id_) FROM (
SELECT cg.id_ FROM
class_group cg
LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
LEFT JOIN course_schedule cs ON cs.class_group_id_=cg.id_
WHERE
cg.type_ IN ('HIGH', 'HIGH_ONLINE')
AND mg.status_ = 'PROGRESS' AND cg.del_flag_ = 0 AND cs.pre_course_flag_ = 0
AND cs.del_flag_=0
AND cs.status_='NOT_START'
AND ( cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_ )
AND mg.educational_teacher_id_ = #{educationUserId}
AND mg.organ_id_ IN
#{organId}
GROUP BY cg.id_
HAVING
COUNT(DISTINCT CASE WHEN cgsm.status_ = 'NORMAL' THEN cgsm.user_id_ ELSE NULL END) < 3
) t
SELECT t.organ_id_ AS 'key',
COUNT(t.id_) AS 'value'
FROM (
SELECT mg.organ_id_,cg.id_ FROM
class_group cg
LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
LEFT JOIN course_schedule cs ON cs.class_group_id_=cg.id_
WHERE
cg.type_ IN ('HIGH', 'HIGH_ONLINE') AND cs.pre_course_flag_ = 0
AND mg.status_ = 'PROGRESS' AND cg.del_flag_ = 0
AND cs.del_flag_=0
AND cs.status_='NOT_START'
AND ( cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_ )
AND mg.educational_teacher_id_ = #{educationUserId}
AND mg.organ_id_ IN
#{organId}
GROUP BY cg.id_
HAVING
COUNT(DISTINCT CASE WHEN cgsm.status_ = 'NORMAL' THEN cgsm.user_id_ ELSE NULL END) < 3
) t GROUP BY t.organ_id_
SELECT cg.music_group_id_ FROM
class_group cg
LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
WHERE
cg.type_ IN ('HIGH_ONLINE')
AND mg.status_ = 'PROGRESS' AND cg.del_flag_ = 0
AND mg.organ_id_ IN
#{organId}
GROUP BY cg.id_
HAVING
COUNT(CASE WHEN cgsm.status_ = 'NORMAL' THEN 1 ELSE NULL END) < 3
SELECT
COUNT(DISTINCT mgpc.music_group_id_,mgpcd.user_id_)
FROM
music_group_payment_calender_detail mgpcd
LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
LEFT JOIN student_registration sr ON sr.music_group_id_ = mgpc.music_group_id_ AND mgpcd.user_id_ = sr.user_id_
WHERE
mg.status_ = 'PROGRESS'
AND ((mgpc.member_rank_setting_id_ IS NOT NULL AND (DATEDIFF(sr.membership_end_time_,NOW()) < 0 OR sr.membership_end_time_ IS NULL)) OR mgpc.member_rank_setting_id_ IS NULL)
AND DATE_FORMAT(NOW(),'%Y-%m-%d') > DATE_FORMAT(mgpc.deadline_payment_date_,'%Y-%m-%d')
AND DATE_FORMAT(NOW(),'%Y-%m-%d') BETWEEN DATE_FORMAT(mgpc.start_payment_date_,'%Y-%m-%d') AND DATE_FORMAT(mgpc.deadline_payment_date_,'%Y-%m-%d')
AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
AND (mgpcd.expect_amount_ + mgpcd.expect_member_amount_) > 0
AND mg.educational_teacher_id_ = #{educationUserId}
AND mg.organ_id_ IN
#{organId}
SELECT
mg.organ_id_ AS 'key',
COUNT(DISTINCT mgpc.music_group_id_,mgpcd.user_id_) AS 'value'
FROM
music_group_payment_calender_detail mgpcd
LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
WHERE
mg.status_ = 'PROGRESS'
AND DATE_FORMAT(NOW(),'%Y-%m-%d') > mgpc.deadline_payment_date_
AND mgpcd.payment_status_ = 'NON_PAYMENT' AND mgpcd.expect_amount_ > 0 AND mgpc.batch_no_ IS NOT NULL AND mgpc.pay_user_type_ = 'STUDENT'
AND mg.educational_teacher_id_ = #{educationUserId}
AND mg.organ_id_ IN
#{organId}
GROUP BY mg.organ_id_
SELECT
DISTINCT mg.id_
FROM
music_group_payment_calender_detail mgpcd
LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
WHERE
mg.status_ = 'PROGRESS'
AND DATE_FORMAT(NOW(),'%Y-%m-%d') >= DATE_FORMAT(mgpc.payment_valid_start_date_,'%Y-%m-%d')
AND mgpcd.payment_status_ = 'NON_PAYMENT'
AND mg.educational_teacher_id_ = #{educationUserId}
AND mg.organ_id_ IN
#{organId}
SELECT mgq.id_ FROM music_group_quit mgq
LEFT JOIN music_group mg ON mgq.music_group_id_=mg.id_
WHERE mg.status_='PROGRESS'
AND mgq.status_='PROCESSING'
AND mg.educational_teacher_id_ = #{educationUserId}
AND mg.organ_id_ IN
#{organId}
SELECT
mg.organ_id_ AS 'key',
COUNT(mgq.id_) AS 'value'
FROM music_group_quit mgq
LEFT JOIN music_group mg ON mgq.music_group_id_=mg.id_
WHERE mg.status_='PROGRESS'
AND mgq.status_='PROCESSING'
AND mg.educational_teacher_id_ = #{educationUserId}
AND mg.organ_id_ IN
#{organId}
GROUP BY mg.organ_id_
SELECT
COUNT(DISTINCT cssp.id_)
FROM
course_schedule_student_payment cssp
LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_ AND sa.user_id_ = cssp.user_id_
LEFT JOIN student_visit sv ON cssp.id_ = sv.object_id_
WHERE
cs.status_ = 'OVER' AND sv.id_ IS NULL AND cs.del_flag_ = 0 AND cs.class_date_ >= #{startTime} AND cs.class_date_ <= DATE_FORMAT(NOW(),'%Y-%m-%d')
AND cssp.group_type_ IN ('MUSIC','PRACTICE','VIP') AND cs.pre_course_flag_ = 0
AND sa.status_ = 'LEAVE'
AND (sa.status_ = 'TRUANT' OR sa.id_ IS NULL) AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
AND cs.organ_id_ IN
#{organId}
SELECT COUNT(cs.id_) FROM course_schedule cs
WHERE cs.status_ = 'NOT_START' AND cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND (cs.start_class_time_ < '06:00:00' OR cs.end_class_time_ > '21:00:00')
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cs.pre_course_flag_ = 0
AND cs.class_group_id_ IN
#{classGroupId}
AND cs.organ_id_ IN
#{organId}
SELECT
cs.organ_id_ AS 'key',
COUNT(cs.id_) AS 'value'
FROM course_schedule cs
WHERE cs.status_ = 'NOT_START' AND cs.del_flag_ = 0 AND cs.is_lock_ = 0 AND cs.start_class_time_ < '06:00:00'
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cs.pre_course_flag_ = 0
AND cs.class_group_id_ IN
#{classGroupId}
AND cs.organ_id_ IN
#{organId}
GROUP BY cs.organ_id_
SELECT COUNT(DISTINCT c.id_) FROM (SELECT cs.id_ FROM course_schedule cs
LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
WHERE ta.teacher_id_ = cs.actual_teacher_id_ AND cs.pre_course_flag_ = 0
AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= '2021-02-01'
AND (((ta.sign_in_status_ = 0 OR ta.sign_in_status_ IS NULL OR ta.sign_out_status_ = 0 OR ta.sign_out_status_ IS NULL) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ = 'TRUANT' AND sa.visit_flag_ = 0)))
AND ((ta.sign_in_status_ IS NULL AND ta.sign_out_status_ IS NOT NULL) OR (ta.sign_out_status_ IS NULL AND ta.sign_in_status_ IS NOT NULL) OR (ta.sign_out_status_ IS NOT NULL AND ta.sign_in_status_ IS NOT NULL))
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cssp.id_ IS NOT NULL
AND EXISTS (SELECT id_ FROM course_schedule_teacher_salary WHERE cs.id_=course_schedule_id_ AND settlement_time_ IS NULL)
AND cs.class_group_id_ IN
#{classGroupId}
AND cs.organ_id_ IN
#{organId}
GROUP BY cs.id_) c
SELECT
c.organ_id_ AS 'key',
COUNT(DISTINCT c.id_) AS 'value'
FROM (SELECT cs.organ_id_,cs.id_ FROM course_schedule cs
LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
WHERE ta.teacher_id_ = cs.actual_teacher_id_
AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= '2021-02-01' AND cs.pre_course_flag_ = 0
AND (((ta.sign_in_status_ = 0 OR ta.sign_in_status_ IS NULL OR ta.sign_out_status_ = 0 OR ta.sign_out_status_ IS NULL) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ = 'TRUANT' AND sa.visit_flag_ = 0)))
AND ((ta.sign_in_status_ IS NULL AND ta.sign_out_status_ IS NOT NULL) OR (ta.sign_out_status_ IS NULL AND ta.sign_in_status_ IS NOT NULL) OR (ta.sign_out_status_ IS NOT NULL AND ta.sign_in_status_ IS NOT NULL))
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cssp.id_ IS NOT NULL
AND EXISTS (SELECT id_ FROM course_schedule_teacher_salary WHERE cs.id_=course_schedule_id_ AND settlement_time_ IS NULL)
AND cs.class_group_id_ IN
#{classGroupId}
AND cs.organ_id_ IN
#{organId}
GROUP BY cs.id_) c GROUP BY c.organ_id_
SELECT COUNT(DISTINCT cs.id_) FROM course_schedule cs
LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
WHERE ta.teacher_id_ = cs.actual_teacher_id_
AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_>='2021-02-01' AND cs.pre_course_flag_ = 0
AND ta.sign_in_time_ IS NULL AND ta.sign_out_time_ IS NULL AND ta.dispose_content_ IS NULL
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
AND EXISTS (SELECT id_ FROM course_schedule_teacher_salary WHERE cs.id_=course_schedule_id_ AND settlement_time_ IS NULL)
AND cs.class_group_id_ IN
#{classGroupId}
AND cs.organ_id_ IN
#{organId}
SELECT
cs.organ_id_ AS 'key',
COUNT(DISTINCT cs.id_) AS 'value'
FROM course_schedule cs
LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
WHERE ta.teacher_id_ = cs.actual_teacher_id_
AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_>='2021-02-01' AND cs.pre_course_flag_ = 0
AND ta.sign_in_time_ IS NULL AND ta.sign_out_time_ IS NULL AND ta.dispose_content_ IS NULL
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
AND EXISTS (SELECT id_ FROM course_schedule_teacher_salary WHERE cs.id_=course_schedule_id_ AND settlement_time_ IS NULL)
AND cs.class_group_id_ IN
#{classGroupId}
AND cs.organ_id_ IN
#{organId}
GROUP BY cs.organ_id_
SELECT COUNT(DISTINCT tlr.id_) FROM teacher_leave_record tlr
LEFT JOIN teacher t ON t.id_ = tlr.user_id_
WHERE tlr.status_ = 'ING' AND DATE_FORMAT( tlr.create_time_, '%Y-%m-%d' ) >= #{startTime}
AND FIND_IN_SET(t.organ_id_,#{organIdsStr})
SELECT COUNT(DISTINCT tcs.user_id_) FROM teacher_course_statistics tcs
LEFT JOIN teacher t ON t.id_ = tcs.user_id_
LEFT JOIN sys_user su ON su.id_ = tcs.user_id_
WHERE su.lock_flag_ = 0 AND su.del_flag_ = 0 AND t.job_nature_ = 'FULL_TIME' AND t.demission_date_ IS NULL
AND t.is_settlement_salary_ = 1
AND DATE_FORMAT(tcs.month_,'%Y-%m') = #{monthStr} AND tcs.low_salary = 1
AND FIND_IN_SET(tcs.organ_id_,#{organIdsStr})
SELECT
tcs.organ_id_ AS 'key',
COUNT(DISTINCT tcs.user_id_) AS 'value'
FROM teacher_course_statistics tcs
LEFT JOIN teacher t ON t.id_ = tcs.user_id_
LEFT JOIN sys_user su ON su.id_ = tcs.user_id_
WHERE su.lock_flag_ = 0 AND su.del_flag_ = 0 AND t.job_nature_ = 'FULL_TIME' AND t.demission_date_ IS NULL
AND t.is_settlement_salary_ = 1
AND DATE_FORMAT(tcs.month_,'%Y-%m') = #{monthStr} AND tcs.low_salary = 1
AND FIND_IN_SET(tcs.organ_id_,#{organIdsStr})
GROUP BY tcs.organ_id_
SELECT COUNT(DISTINCT ii.id_) FROM inspection_item ii
LEFT JOIN inspection i ON ii.inspection_id_ = i.id_
WHERE ii.times_ > planned_times_ AND ii.item_ = 'INSPECT' AND ii.memo_ =''
AND DATE_FORMAT(i.month_,'%Y-%m-%d') >= #{startTime}
AND FIND_IN_SET(ii.organ_id_,#{organIdsStr})
AND ii.user_id_ = #{userId}
SELECT
ii.organ_id_ AS 'key',
COUNT(DISTINCT ii.id_) AS 'value'
FROM inspection_item ii
LEFT JOIN inspection i ON ii.inspection_id_ = i.id_
WHERE ii.times_ > planned_times_ AND ii.item_ = 'INSPECT' AND ii.memo_ =''
AND DATE_FORMAT(i.month_,'%Y-%m-%d') >= #{startTime}
AND FIND_IN_SET(ii.organ_id_,#{organIdsStr})
AND ii.user_id_ = #{userId}
GROUP BY ii.organ_id_
SELECT COUNT(DISTINCT iip.id_) FROM inspection_item_plan iip
WHERE iip.status_ = 0 AND iip.memo_ = '' AND DATE_FORMAT(iip.plan_start_,'%Y-%m-%d') < DATE_FORMAT(NOW(),'%Y-%m-%d')
AND DATE_FORMAT(iip.plan_start_,'%Y-%m-%d') >= #{startTime} AND DATE_FORMAT(iip.plan_start_,'%Y-%m-%d') <= DATE_FORMAT(NOW(),'%Y-%m-%d')
AND FIND_IN_SET(iip.organ_id_,#{organIdsStr})
SELECT
iip.organ_id_ AS 'key',
COUNT(DISTINCT iip.id_) AS 'value'
FROM inspection_item_plan iip
WHERE iip.status_ = 0 AND iip.memo_ = '' AND DATE_FORMAT(iip.plan_start_,'%Y-%m-%d') < DATE_FORMAT(NOW(),'%Y-%m-%d')
AND DATE_FORMAT(iip.plan_start_,'%Y-%m-%d') >= #{startTime} AND DATE_FORMAT(iip.plan_start_,'%Y-%m-%d') <= DATE_FORMAT(NOW(),'%Y-%m-%d')
AND FIND_IN_SET(iip.organ_id_,#{organIdsStr})
GROUP BY iip.organ_id_
SELECT COUNT(DISTINCT ii.id_) FROM inspection_item ii
LEFT JOIN inspection i ON ii.inspection_id_ = i.id_
WHERE ii.item_ = 'VISIT' AND ii.memo_ =''
AND ii.times_ > (SELECT COUNT(DISTINCT sv.id_) FROM student_visit sv
WHERE sv.teacher_id_ = ii.user_id_ AND DATE_FORMAT(i.month_,'%Y-%m') = DATE_FORMAT(sv.visit_time_,'%Y-%m'))
AND i.month_ >= #{startTime} AND i.month_ <= DATE_FORMAT(NOW(),'%Y-%m-%d')
AND FIND_IN_SET(ii.organ_id_,#{organIdsStr})
AND ii.user_id_ = #{userId}
SELECT
ii.organ_id_ AS 'key',
COUNT(DISTINCT ii.id_) AS 'value'
FROM inspection_item ii
LEFT JOIN inspection i ON ii.inspection_id_ = i.id_
WHERE ii.item_ = 'VISIT' AND ii.memo_ =''
AND ii.times_ > (SELECT COUNT(DISTINCT sv.id_) FROM student_visit sv
WHERE sv.teacher_id_ = ii.user_id_ AND DATE_FORMAT(i.month_,'%Y-%m') = DATE_FORMAT(sv.visit_time_,'%Y-%m'))
AND i.month_ >= #{startTime} AND i.month_ <= DATE_FORMAT(NOW(),'%Y-%m-%d')
AND FIND_IN_SET(ii.organ_id_,#{organIdsStr})
AND ii.user_id_ = #{userId}
GROUP BY ii.organ_id_
SELECT
COUNT(id_)
FROM
inspection_item_plan
WHERE
conclusion_status_ = 1 AND memo_ = '' AND DATE_FORMAT(plan_start_,'%Y-%m-%d') >= #{startTime}
AND organ_id_ IN
#{organId}
SELECT
organ_id_ AS 'key',
COUNT(id_) AS 'value'
FROM
inspection_item_plan
WHERE
conclusion_status_ = 1 AND memo_ = '' AND DATE_FORMAT(plan_start_,'%Y-%m-%d') >= #{startTime}
AND organ_id_ IN
#{organId}
GROUP BY organ_id_
SELECT
'NO_CLASS_MUSIC_GROUP_STUDENT_INFO' errorType,
COUNT( DISTINCT sr.music_group_id_ ) num,
COUNT( sr.user_id_ ) num2
FROM
student_registration sr
LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
LEFT JOIN `subject` sub ON sr.actual_subject_id_=sub.id_
LEFT JOIN class_group_student_mapper cgsm ON cgsm.group_type_='MUSIC' AND cgsm.music_group_id_=sr.music_group_id_ AND cgsm.user_id_=sr.user_id_ AND cgsm.status_='NORMAL'
WHERE
sr.music_group_status_ = 'NORMAL'
AND mg.status_ = 'PROGRESS'
AND cgsm.id_ IS NULL
AND sub.parent_subject_id_!=24
AND mg.educational_teacher_id_ = #{educationUserId}
AND mg.organ_id_ IN
#{organId}
SELECT
mg.organ_id_ AS 'key',
COUNT( sr.user_id_ ) AS 'value'
FROM
student_registration sr
LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
LEFT JOIN `subject` sub ON sr.actual_subject_id_=sub.id_
LEFT JOIN class_group_student_mapper cgsm ON cgsm.group_type_='MUSIC' AND cgsm.music_group_id_=sr.music_group_id_ AND cgsm.user_id_=sr.user_id_ AND cgsm.status_='NORMAL'
WHERE
sr.music_group_status_ = 'NORMAL'
AND mg.status_ = 'PROGRESS'
AND cgsm.id_ IS NULL
AND sub.parent_subject_id_!=24
AND mg.educational_teacher_id_ = #{educationUserId}
AND mg.organ_id_ IN
#{organId}
GROUP BY mg.organ_id_
SELECT SUM(fe.amount_) total_num_,SUM(fe.amount_) activate_num_,SUM(fe.amount_) percent_,fe.organ_id_,#{dayStr} month_ FROM financial_expenditure fe
WHERE DATE_FORMAT(fe.create_time_,'%Y-%m-%d') = #{dayStr}
AND del_flag_ = 0 GROUP BY fe.organ_id_
SELECT spo.organ_id_,SUM(spo.balance_payment_amount_) total_num_,
SUM(spo.balance_payment_amount_) activate_num_,
SUM(spo.balance_payment_amount_) percent_,#{dayStr} month_
FROM student_payment_order spo
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') = #{dayStr}
GROUP BY spo.organ_id_
SELECT spo.organ_id_,SUM(spo.actual_amount_) total_num_,
SUM(spo.actual_amount_) activate_num_,
SUM(spo.actual_amount_) percent_,#{dayStr} month_
FROM student_payment_order spo
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') = #{dayStr}
GROUP BY spo.organ_id_
SELECT SUM(fe.amount_) total_num_,SUM(fe.amount_) activate_num_,SUM(fe.amount_) percent_,fe.organ_id_,DATE_FORMAT(fe.create_time_,'%Y-%m-%d') month_
FROM financial_expenditure fe
WHERE DATE_FORMAT(fe.create_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
AND del_flag_ = 0
AND fe.organ_id_ IN
#{organId}
GROUP BY DATE_FORMAT(fe.create_time_,'%Y-%m-%d')
SELECT spo.organ_id_,SUM(CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) total_num_,
SUM(CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) activate_num_,
SUM(CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) percent_,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
FROM student_payment_order spo
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
AND spo.organ_id_ IN
#{organId}
GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
SELECT spo.organ_id_,SUM(spo.actual_amount_) total_num_,
SUM(spo.actual_amount_) activate_num_,
SUM(spo.actual_amount_) percent_,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
FROM student_payment_order spo
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
AND spo.organ_id_ IN
#{organId}
GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
SELECT spo.organ_id_,SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) total_num_,
SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) activate_num_,
SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) percent_,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
FROM student_payment_order spo
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
AND spo.organ_id_ IN
#{organId}
GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
SELECT spo.organ_id_,SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) total_num_,
SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) activate_num_,
SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) percent_,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
FROM student_payment_order spo
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
AND FIND_IN_SET(spo.type_,#{orderType})
AND spo.type_ NOT IN
#{item}
AND spo.organ_id_ IN
#{organId}
GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
SELECT organ_id_,SUM(c.total_num_) total_num_,SUM(c.total_num_) activate_num_,SUM(c.total_num_) percent_,month_ FROM (
SELECT spo.organ_id_,SUM(CASE WHEN spod.price_ IS NULL THEN 0 ELSE spod.price_ END) total_num_,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
FROM student_payment_order spo
LEFT JOIN student_payment_order_detail spod ON spo.id_ = spod.payment_order_id_
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
AND spo.type_ = 'DEGREE' AND spod.type_ IN ('THEORY_COURSE','VIP')
AND spo.organ_id_ IN
#{organId}
GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
UNION ALL
SELECT spo.organ_id_,SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) total_num_
,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
FROM student_payment_order spo
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
AND spo.type_ = 'SMALL_CLASS_TO_BUY'
AND spo.organ_id_ IN
#{organId}
GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
)c GROUP BY DATE_FORMAT(c.month_,'%Y-%m-%d')
SELECT organ_id_,SUM(c.total_num_) total_num_,SUM(c.total_num_) activate_num_,SUM(c.total_num_) percent_,month_ FROM (
SELECT spo.organ_id_,SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) total_num_
,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
FROM student_payment_order spo
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
AND spo.type_ NOT IN ('APPLY','RENEW','PRACTICE_GROUP_BUY','PRACTICE_GROUP_RENEW','SMALL_CLASS_TO_BUY','DEGREE')
AND spo.organ_id_ IN
#{organId}
GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
UNION ALL
SELECT spo.organ_id_,SUM(CASE WHEN spod.price_ IS NULL THEN 0 ELSE spod.price_ END) total_num_,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
FROM student_payment_order spo
LEFT JOIN student_payment_order_detail spod ON spo.id_ = spod.payment_order_id_
WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
AND spo.type_ = 'DEGREE' AND spod.type_ = 'DEGREE_REGISTRATION'
AND spo.organ_id_ IN
#{organId}
GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
)c GROUP BY DATE_FORMAT(c.month_,'%Y-%m-%d')
AND tea.organ_id_ IN
#{organId}
AND sees.monday_ BETWEEN #{monday} AND #{sunday}
AND sees.teacher_id_ = #{teacherId}
AND NOT EXISTS (SELECT id_ FROM teacher_remind WHERE teacher_id_=sees.teacher_id_ AND monday_ = sees.monday_ AND type_='SERVICE')
AND EXISTS (SELECT id_ FROM teacher_remind WHERE teacher_id_=sees.teacher_id_ AND monday_ = sees.monday_ AND type_='SERVICE')
AND EXISTS (SELECT id_ FROM teacher_remind WHERE operator_id_=#{operatorId} AND teacher_id_=sees.teacher_id_ AND monday_ = sees.monday_ AND type_='SERVICE')
AND tea.job_nature_=#{jobNature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
SELECT
e.organ_id_ AS 'key',
COUNT(1) AS 'value'
FROM (
SELECT
tea.organ_id_,
sees.id_
FROM
student_extracurricular_exercises_situation_ sees
LEFT JOIN teacher tea ON tea.id_=sees.teacher_id_
LEFT JOIN teacher_remind tm ON sees.monday_=tm.monday_ AND sees.teacher_id_=tm.teacher_id_
GROUP BY sees.monday_,sees.sunday_,sees.teacher_id_
HAVING
SUM( sees.expect_exercises_num_-sees.not_over_course_num_ ) > SUM( sees.actual_exercises_num_ )
SUM( sees.expect_exercises_num_-sees.not_over_course_num_ ) <= SUM( sees.actual_exercises_num_ )
ORDER BY sees.monday_,sees.sunday_,sees.teacher_id_
) e GROUP BY e.organ_id_
SELECT COUNT(DISTINCT c.user_id_) FROM (
SELECT sa.user_id_ FROM student_attendance sa
LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
WHERE DATE_FORMAT(cs.class_date_,'%Y-%m') >= #{format} AND sa.status_ = 'LEAVE' AND cs.pre_course_flag_ = 0
AND cs.organ_id_ IN
#{item}
AND cs.class_group_id_ IN
#{classGroupId}
GROUP BY sa.user_id_,DATE_FORMAT(cs.class_date_,'%Y-%m')
HAVING COUNT(sa.id_) > 1 AND COUNT(sa.id_) > SUM(sa.leave_visit_flag_)) c
SELECT COUNT(DISTINCT c.user_id_) FROM (
SELECT sa.user_id_ FROM student_attendance sa
LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
LEFT JOIN sys_user su ON su.id_ = sa.user_id_
WHERE DATE_FORMAT(cs.class_date_,'%Y-%m') >= #{currentMonth} AND sa.status_ = 'LEAVE' AND cs.pre_course_flag_ = 0
AND FIND_IN_SET(cs.organ_id_,#{organId})
AND cs.class_group_id_ IN
#{classGroupId}
AND (sa.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
GROUP BY sa.user_id_,DATE_FORMAT(cs.class_date_,'%Y-%m')
HAVING COUNT(sa.id_) > 1 AND COUNT(sa.id_) > SUM(sa.leave_visit_flag_)) c
SELECT organ_id_,organ_name_,user_id_,username_,phone_,current_num_,class_date_
FROM (SELECT cs.organ_id_,o.name_ organ_name_,sa.user_id_,su.username_,su.phone_,
COUNT(sa.id_) current_num_,cs.class_date_
FROM student_attendance sa
LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
LEFT JOIN organization o ON o.id_ = cs.organ_id_
LEFT JOIN sys_user su ON su.id_ = sa.user_id_
WHERE DATE_FORMAT(cs.class_date_,'%Y-%m') >= #{currentMonth} AND sa.status_ = 'LEAVE' AND cs.pre_course_flag_ = 0
AND FIND_IN_SET(cs.organ_id_,#{organId})
AND cs.class_group_id_ IN
#{classGroupId}
AND (sa.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
GROUP BY sa.user_id_,DATE_FORMAT(cs.class_date_,'%Y-%m') HAVING COUNT(sa.id_) > 1 AND COUNT(sa.id_) > SUM(sa.leave_visit_flag_) ORDER BY cs.class_date_ DESC)c
GROUP BY c.user_id_
SELECT COUNT(sa.id_)
FROM student_attendance sa
LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
LEFT JOIN sys_user su ON su.id_ = cs.actual_teacher_id_
sa.user_id_ = #{userId} AND sa.status_ = 'LEAVE' AND cs.pre_course_flag_ = 0
AND (cs.id_ = #{search} OR cs.actual_teacher_id_ = #{search} OR su.real_name_ LIKE CONCAT('%',#{search},'%'))
AND sa.leave_visit_flag_ = #{leaveVisitFlag}
AND cs.type_ = #{courseType}
SELECT sa.leave_visit_flag_,cs.class_date_,cs.start_class_time_,
cs.end_class_time_,su.real_name_ teacher_name_,cs.actual_teacher_id_,
sa.course_schedule_id_,cs.group_type_,cs.type_,cs.name_,cs.music_group_id_
FROM student_attendance sa
LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
LEFT JOIN sys_user su ON su.id_ = cs.actual_teacher_id_
ORDER BY cs.class_date_ DESC,cs.start_class_time_ DESC
SELECT user_id_ 'key',SUM(total_num_) 'value'
FROM (SELECT sa.user_id_,COUNT(sa.id_) total_num_
FROM student_attendance sa
LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
LEFT JOIN sys_user su ON su.id_ = sa.user_id_
WHERE DATE_FORMAT(cs.class_date_,'%Y-%m') >= #{totalMonth} AND sa.status_ = 'LEAVE' AND cs.pre_course_flag_ = 0
AND FIND_IN_SET(cs.organ_id_,#{organId})
AND cs.class_group_id_ IN
#{classGroupId}
AND (sa.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
GROUP BY sa.user_id_,DATE_FORMAT(cs.class_date_,'%Y-%m') HAVING COUNT(sa.id_) > 1 AND COUNT(sa.id_) > SUM(sa.leave_visit_flag_) ORDER BY cs.class_date_ DESC)c
GROUP BY c.user_id_
SELECT
t.organ_id_,
#{dayStr} month_,
COUNT( DISTINCT t.user_id_ ) total_num_,
COUNT( DISTINCT t.user_id_ ) activate_num_,
COUNT( DISTINCT t.user_id_ ) percent_
FROM((
SELECT
su.organ_id_,
sr.user_id_
FROM
student_registration sr
LEFT JOIN sys_user su ON sr.user_id_ = su.id_
WHERE
su.del_flag_ = 0
AND sr.music_group_status_ = 'NORMAL'
AND DATE(sr.create_time_)<= #{dayStr}
)
UNION ALL
(
SELECT
su.organ_id_,
cssp.user_id_
FROM
course_schedule_student_payment cssp
LEFT JOIN course_schedule cs ON cssp.course_schedule_id_ = cs.id_
LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
WHERE
cssp.group_type_ IN ( 'VIP', 'PRACTICE' )
AND cs.status_ = 'NOT_START'
AND su.del_flag_ = 0
AND DATE(cssp.create_time_)<= #{dayStr}
)) t
GROUP BY t.organ_id_
SELECT
su.organ_id_,
#{dayStr} month_,
COUNT(DISTINCT cto.student_id_) total_num_,
COUNT(DISTINCT cto.student_id_) activate_num_,
COUNT(DISTINCT cto.student_id_) percent_
FROM cloud_teacher_order cto
LEFT JOIN sys_user su ON cto.student_id_=su.id_
WHERE su.del_flag_=0 AND cto.status_ IN (1,2)
AND DATE(cto.create_time_)<= #{dayStr}
GROUP BY su.organ_id_
SELECT
su.organ_id_,
#{dayStr} month_,
COUNT(DISTINCT cto.student_id_) total_num_,
COUNT(DISTINCT cto.student_id_) activate_num_,
COUNT(DISTINCT cto.student_id_) percent_
FROM cloud_teacher_order cto
LEFT JOIN sys_user su ON cto.student_id_=su.id_
WHERE su.del_flag_=0 AND cto.status_ IN (1,2)
AND DATE(cto.create_time_)= #{dayStr}
GROUP BY su.organ_id_
SELECT
su.organ_id_,
#{dayStr} month_,
COUNT(DISTINCT stu.user_id_) total_num_,
COUNT(DISTINCT stu.user_id_) activate_num_,
COUNT(DISTINCT stu.user_id_) percent_
FROM student stu
LEFT JOIN cloud_teacher_order cto ON stu.user_id_=cto.student_id_
LEFT JOIN sys_user su ON su.id_=stu.user_id_
WHERE su.del_flag_=0 AND stu.experience_member_rank_setting_id_ IS NOT NULL AND (cto.id_ IS NULL OR cto.status_ NOT IN (1, 2))
AND DATE(stu.experience_membership_start_time_)<= #{dayStr}
GROUP BY su.organ_id_
SELECT
su.organ_id_,
#{dayStr} month_,
COUNT(DISTINCT smcr.user_id_) total_num_,
COUNT(DISTINCT smcr.user_id_) activate_num_,
COUNT(DISTINCT smcr.user_id_) percent_
FROM sys_music_compare_record smcr
LEFT JOIN sys_user su ON smcr.user_id_=su.id_
LEFT JOIN student stu ON smcr.user_id_=stu.user_id_
WHERE su.del_flag_=0 AND stu.user_id_ IS NOT NULL
AND DATE(smcr.create_time_)= #{dayStr}
GROUP BY su.organ_id_
SELECT
t.organ_id_,
#{dayStr} month_,
COUNT(user_id_) total_num_,
COUNT(user_id_) activate_num_,
COUNT(user_id_) percent_
FROM (SELECT
su.organ_id_,
smcr.user_id_,
COUNT(DISTINCT(CASE WHEN DATEDIFF(NOW(), smcr.create_time_)<=15 THEN DATE_FORMAT(smcr.create_time_, '%Y-%m-%d') ELSE NULL END)) days
FROM sys_music_compare_record smcr
LEFT JOIN sys_user su ON smcr.user_id_=su.id_
LEFT JOIN student stu ON smcr.user_id_=stu.user_id_
WHERE su.del_flag_=0 AND stu.user_id_ IS NOT NULL
AND DATE(smcr.create_time_) <= #{dayStr}
GROUP BY smcr.user_id_) t WHERE t.days>=5
GROUP BY t.organ_id_
SELECT
organ_id_,
#{dayStr} month_,
COUNT( DISTINCT user_id_ ) total_num_,
COUNT( DISTINCT user_id_ ) activate_num_,
COUNT( DISTINCT user_id_ ) percent_
FROM
(
SELECT
su.organ_id_,
smcr.user_id_
FROM
sys_music_compare_record smcr
LEFT JOIN sys_user su ON smcr.user_id_ = su.id_
WHERE su.del_flag_ = 0
GROUP BY user_id_
HAVING MIN(DATE( smcr.create_time_ ))= #{dayStr}) t
GROUP BY t.organ_id_