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_,create_time_,update_time_)
VALUES(#{month},#{organId},#{totalNum},#{activateNum},#{percent},#{dataType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},NOW(),NOW())
INSERT INTO index_base_month_data (month_,organ_id_,total_num_,activate_num_,percent_,data_type_,create_time_,update_time_)
VALUES
(#{data.month},#{data.organId},#{data.totalNum},#{data.activateNum},#{data.percent},
#{dataType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},NOW(),NOW())
INSERT INTO index_base_month_data (month_,organ_id_,total_num_,activate_num_,percent_,data_type_,create_time_,update_time_)
VALUES
(#{data.month},#{data.organId},#{data.totalNum},#{data.activateNum},#{data.percent},
#{data.dataType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},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},
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
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
(
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.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}
)) 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.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.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.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.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
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.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 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_
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 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}
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') >= DATE_FORMAT(mgpc.payment_valid_start_date_,'%Y-%m-%d')
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 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'
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
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.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.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= '2021-02-01'
AND (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0)))
AND ta.sign_in_status_ IS NOT NULL AND ta.sign_out_status_ IS NOT NULL
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
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 (((ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ != 'NORMAL' AND sa.visit_flag_ = 0)))
AND ta.sign_in_status_ IS NOT NULL AND ta.sign_out_status_ IS NOT NULL
AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
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 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 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 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 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 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 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 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 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 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 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')
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_
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_