|
@@ -7,6 +7,7 @@
|
|
|
<mapper namespace="com.ym.mec.biz.dal.dao.StudentRegistrationDao">
|
|
|
<resultMap type="com.ym.mec.biz.dal.entity.StudentRegistration" id="StudentRegistration">
|
|
|
<result column="id_" property="id"/>
|
|
|
+ <result column="tenant_id_" property="tenantId"/>
|
|
|
<result column="user_id_" property="userId"/>
|
|
|
<result column="name_" property="name"/>
|
|
|
<result column="id_card_no_" property="idCardNo"/>
|
|
@@ -133,7 +134,7 @@
|
|
|
<!-- 全查询 -->
|
|
|
<select id="findAll" resultMap="StudentRegistration">
|
|
|
SELECT *
|
|
|
- FROM student_registration
|
|
|
+ FROM student_registration where tenant_id_ = #{tenantId}
|
|
|
ORDER BY id_
|
|
|
</select>
|
|
|
|
|
@@ -212,6 +213,7 @@
|
|
|
<if test="musicGroupPaymentCalenderId != null">
|
|
|
music_group_payment_calender_id_,
|
|
|
</if>
|
|
|
+ tenant_id_
|
|
|
</trim>
|
|
|
VALUES
|
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
@@ -284,6 +286,7 @@
|
|
|
<if test="musicGroupPaymentCalenderId != null">
|
|
|
#{musicGroupPaymentCalenderId},
|
|
|
</if>
|
|
|
+ #{tenantId}
|
|
|
</trim>
|
|
|
</insert>
|
|
|
|
|
@@ -371,7 +374,7 @@
|
|
|
</if>
|
|
|
music_group_payment_calender_id_ =#{musicGroupPaymentCalenderId}
|
|
|
</set>
|
|
|
- WHERE id_ = #{id}
|
|
|
+ WHERE id_ = #{id} and tenant_id_ = #{tenantId}
|
|
|
</update>
|
|
|
|
|
|
<!-- 根据主键删除一条记录 -->
|
|
@@ -381,21 +384,10 @@
|
|
|
WHERE id_ = #{id}
|
|
|
</delete>
|
|
|
|
|
|
- <sql id="queryPageSql">
|
|
|
- <where>
|
|
|
- <if test="isAllowAdjust != null">
|
|
|
- AND is_allow_adjust_ = #{isAllowAdjust,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
|
|
|
- </if>
|
|
|
- <if test="subjectId != null">
|
|
|
- AND subject_id_ = #{subjectId}
|
|
|
- </if>
|
|
|
- </where>
|
|
|
- </sql>
|
|
|
-
|
|
|
<!-- 分页查询 -->
|
|
|
<select id="queryPage" resultMap="StudentRegistration" parameterType="map">
|
|
|
SELECT *
|
|
|
- FROM student_registration
|
|
|
+ FROM student_registration where tenant_id_ = #{tenantId}
|
|
|
ORDER BY id_
|
|
|
<include refid="global.limit"/>
|
|
|
</select>
|
|
@@ -403,13 +395,13 @@
|
|
|
<!-- 查询当前表的总记录数 -->
|
|
|
<select id="queryCount" resultType="int">
|
|
|
SELECT COUNT(*)
|
|
|
- FROM student_registration
|
|
|
+ FROM student_registration where tenant_id_ = #{tenantId}
|
|
|
</select>
|
|
|
|
|
|
|
|
|
<sql id="queryStudentDetailPageSql">
|
|
|
<where>
|
|
|
- sr.music_group_status_ != 'QUIT'
|
|
|
+ sr.music_group_status_ != 'QUIT' and sr.tenant_id_ = #{tenantId}
|
|
|
<if test="musicGroupId != null">
|
|
|
AND sr.music_group_id_ = #{musicGroupId}
|
|
|
</if>
|
|
@@ -740,7 +732,7 @@
|
|
|
INSERT INTO student_registration
|
|
|
(parents_phone_, id_, user_id_, name_, music_group_id_, current_grade_, current_class_, subject_id_,
|
|
|
is_allow_adjust_, kit_purchase_method_, remark_, create_time_, update_time_,
|
|
|
- parents_name_, parents_company_, payment_status_, actual_subject_id_, music_group_status_, is_merge_,music_group_payment_calender_id_)
|
|
|
+ parents_name_, parents_company_, payment_status_, actual_subject_id_, music_group_status_, is_merge_,music_group_payment_calender_id_,tenant_id_)
|
|
|
VALUES
|
|
|
<foreach collection="list" item="item" index="index" separator=",">
|
|
|
(#{item.parentsPhone}, #{item.id}, #{item.userId}, #{item.name}, #{item.musicGroupId}, #{item.currentGrade},
|
|
@@ -749,7 +741,7 @@
|
|
|
#{item.kitPurchaseMethod,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
|
|
|
#{item.remark}, now(), now(), #{item.parentsName}, #{item.parentsCompany},
|
|
|
#{item.paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{item.subjectId},
|
|
|
- #{item.musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{item.isMerge},#{item.musicGroupPaymentCalenderId})
|
|
|
+ #{item.musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{item.isMerge},#{item.musicGroupPaymentCalenderId},#{item.tenantId})
|
|
|
</foreach>
|
|
|
</insert>
|
|
|
|
|
@@ -758,12 +750,12 @@
|
|
|
INSERT INTO student_registration
|
|
|
(parents_phone_, user_id_, name_, music_group_id_, current_grade_, current_class_, subject_id_,
|
|
|
create_time_, update_time_, parents_name_, payment_status_, actual_subject_id_, music_group_status_,
|
|
|
- temporary_course_fee_, class_group_id_,current_grade_num_,current_grade_date_,music_group_payment_calender_id_)
|
|
|
+ temporary_course_fee_, class_group_id_,current_grade_num_,current_grade_date_,music_group_payment_calender_id_,tenant_id_)
|
|
|
VALUES (#{parentsPhone}, #{userId}, #{name}, #{musicGroupId}, #{currentGrade}, #{currentClass}, #{subjectId},
|
|
|
now(), now(), #{parentsName}, #{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
|
|
|
#{subjectId},
|
|
|
#{musicGroupStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{temporaryCourseFee},
|
|
|
- #{classGroupId},#{currentGradeNum},#{currentGradeDate},#{musicGroupPaymentCalenderId})
|
|
|
+ #{classGroupId},#{currentGradeNum},#{currentGradeDate},#{musicGroupPaymentCalenderId},#{tenantId})
|
|
|
</insert>
|
|
|
|
|
|
<!-- 查询乐团userIdList的学生 -->
|
|
@@ -828,9 +820,7 @@
|
|
|
FROM student_registration sr
|
|
|
left join music_group mg on sr.music_group_id_ = mg.id_
|
|
|
where mg.organ_id_ not in (36, 38)
|
|
|
- <if test="organId != null">
|
|
|
AND FIND_IN_SET(mg.organ_id_, #{organId})
|
|
|
- </if>
|
|
|
</select>
|
|
|
<select id="findMapByMusicGroupId" resultType="java.util.Map">
|
|
|
SELECT sr.user_id_ 'key', MIN(sr.parents_phone_) 'value'
|
|
@@ -1087,7 +1077,7 @@
|
|
|
SELECT mg.organ_id_ organId, COUNT(DISTINCT sr.user_id_) estimatedNums
|
|
|
FROM student_registration sr
|
|
|
LEFT JOIN music_group mg ON sr.music_group_id_ = mg.id_
|
|
|
- WHERE sr.music_group_status_ = 'NORMAL'
|
|
|
+ WHERE sr.music_group_status_ = 'NORMAL' and sr.tenant_id_ = #{tenantId}
|
|
|
GROUP BY mg.organ_id_
|
|
|
</select>
|
|
|
|
|
@@ -1239,7 +1229,7 @@
|
|
|
|
|
|
<sql id="queryNoClassMusicStudentsCondition">
|
|
|
<where>
|
|
|
- sr.music_group_status_ = 'NORMAL'
|
|
|
+ sr.music_group_status_ = 'NORMAL' and sr.tenant_id_ = #{tenantId}
|
|
|
AND mg.status_ = 'PROGRESS'
|
|
|
AND cgsm.id_ IS NULL
|
|
|
<if test="organIds != null and organIds.size() > 0">
|
|
@@ -1320,12 +1310,10 @@
|
|
|
AND cg.type_ = 'NORMAL'
|
|
|
AND cg.del_flag_ = 0
|
|
|
AND cg.lock_flag_ = 0
|
|
|
- <if test="studentIds != null and studentIds.size() > 0">
|
|
|
AND sr.user_id_ IN
|
|
|
<foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
|
|
|
#{studentId}
|
|
|
</foreach>
|
|
|
- </if>
|
|
|
</select>
|
|
|
|
|
|
<select id="getPaymentStudentNum" resultType="int">
|
|
@@ -1576,9 +1564,7 @@
|
|
|
<if test="educationUserId != null">
|
|
|
AND mg.educational_teacher_id_ = #{educationUserId}
|
|
|
</if>
|
|
|
- <if test="organIds != null and organIds != ''">
|
|
|
AND FIND_IN_SET(mg.organ_id_,#{organIds})
|
|
|
- </if>
|
|
|
<if test="memberEndAutoQuitMusic != null">
|
|
|
AND cto.id_ IS NULL AND DATEDIFF(sr.membership_end_time_,NOW()) <= #{memberEndAutoQuitMusic} AND sr.membership_end_time_ > NOW()
|
|
|
</if>
|
|
@@ -1596,12 +1582,10 @@
|
|
|
<if test="educationUserId != null">
|
|
|
AND mg.educational_teacher_id_ = #{educationUserId}
|
|
|
</if>
|
|
|
- <if test="organIds != null and organIds.size > 0">
|
|
|
AND mg.organ_id_ IN
|
|
|
<foreach collection="organIds" open="(" close=")" item="item" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
- </if>
|
|
|
<if test="memberEndAutoQuitMusic != null">
|
|
|
AND cto.id_ IS NULL AND DATEDIFF(sr.membership_end_time_,NOW()) <= #{memberEndAutoQuitMusic} AND sr.membership_end_time_ > NOW()
|
|
|
</if>
|
|
@@ -1629,7 +1613,7 @@
|
|
|
from student_registration sr LEFT JOIN sys_user u on sr.user_id_ = u.id_
|
|
|
LEFT JOIN student s on s.user_id_ = sr.user_id_ LEFT JOIN `subject` sub on sub.id_ = sr.actual_subject_id_
|
|
|
LEFT JOIN (select * from student_instrument where id_ in ((select max(id_) from student_instrument group by student_id_))) si on si.student_id_ = sr.user_id_
|
|
|
- WHERE sr.music_group_status_ = 'NORMAL'
|
|
|
+ WHERE sr.music_group_status_ = 'NORMAL' and sr.tenant_id_ = #{tenantId}
|
|
|
<if test="musicGroupId != null">
|
|
|
AND sr.music_group_id_ = #{musicGroupId}
|
|
|
</if>
|
|
@@ -1657,7 +1641,7 @@
|
|
|
from student_registration sr LEFT JOIN sys_user u on sr.user_id_ = u.id_
|
|
|
LEFT JOIN student s on s.user_id_ = sr.user_id_ LEFT JOIN `subject` sub on sub.id_ = sr.actual_subject_id_
|
|
|
LEFT JOIN (select * from student_instrument where id_ in ((select max(id_) from student_instrument group by student_id_))) si on si.student_id_ = sr.user_id_
|
|
|
- WHERE sr.music_group_status_ = 'NORMAL'
|
|
|
+ WHERE sr.music_group_status_ = 'NORMAL' and sr.tenant_id_ = #{tenantId}
|
|
|
<if test="musicGroupId != null">
|
|
|
AND sr.music_group_id_ = #{musicGroupId}
|
|
|
</if>
|
|
@@ -1694,7 +1678,7 @@
|
|
|
</select>
|
|
|
<select id="queryAutoCreateStudentMap" resultType="java.util.Map">
|
|
|
SELECT GROUP_CONCAT(sr.user_id_) 'value',sr.music_group_id_ 'key' FROM student_registration sr
|
|
|
- WHERE sr.membership_end_time_ IS NOT NULL AND DATEDIFF(sr.membership_end_time_,NOW()) + 1 = #{pushMemberRenew}
|
|
|
+ WHERE sr.membership_end_time_ IS NOT NULL AND DATEDIFF(sr.membership_end_time_,NOW()) + 1 = #{pushMemberRenew} and sr.tenant_id_ = #{tenantId}
|
|
|
GROUP BY sr.music_group_id_
|
|
|
</select>
|
|
|
|
|
@@ -1703,12 +1687,10 @@
|
|
|
FROM student_registration sr
|
|
|
LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_
|
|
|
WHERE mg.status_='PROGRESS' AND sr.music_group_status_ != 'QUIT'
|
|
|
- <if test="studentIds!=null and studentIds.size()>0">
|
|
|
AND sr.user_id_ IN
|
|
|
<foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
|
|
|
#{studentId}
|
|
|
</foreach>
|
|
|
- </if>
|
|
|
GROUP BY sr.user_id_
|
|
|
</select>
|
|
|
|
|
@@ -1718,12 +1700,10 @@
|
|
|
LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_
|
|
|
LEFT JOIN sys_user su ON mg.educational_teacher_id_ = su.id_
|
|
|
WHERE mg.status_='PROGRESS' AND sr.music_group_status_ != 'QUIT' AND mg.educational_teacher_id_ IS NOT NULL
|
|
|
- <if test="studentIds!=null and studentIds.size()>0">
|
|
|
AND sr.user_id_ IN
|
|
|
<foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
|
|
|
#{studentId}
|
|
|
</foreach>
|
|
|
- </if>
|
|
|
GROUP BY sr.user_id_
|
|
|
</select>
|
|
|
|
|
@@ -1733,12 +1713,10 @@
|
|
|
LEFT JOIN music_group mg ON sr.music_group_id_=mg.id_
|
|
|
LEFT JOIN school sch ON mg.school_id_=sch.id_
|
|
|
WHERE mg.status_='PROGRESS'
|
|
|
- <if test="studentIds!=null and studentIds.size()>0">
|
|
|
AND sr.user_id_ IN
|
|
|
<foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
|
|
|
#{studentId}
|
|
|
</foreach>
|
|
|
- </if>
|
|
|
GROUP BY sr.user_id_
|
|
|
</select>
|
|
|
<select id="findStudentIds" resultType="java.lang.Integer">
|
|
@@ -1748,62 +1726,15 @@
|
|
|
AND sr.user_id_ NOT IN (SELECT DISTINCT(cssp.`user_id_`) FROM `course_schedule_student_payment` cssp
|
|
|
LEFT JOIN course_schedule cs on cssp.`course_schedule_id_` = cs.`id_`
|
|
|
LEFT JOIN `music_group` mg on mg.`id_` = cssp.`music_group_id_`
|
|
|
- WHERE cs.`group_type_` = 'MUSIC' AND cs.`status_` = 'OVER' AND mg.`status_` = 'PROGRESS'
|
|
|
+ WHERE cs.`group_type_` = 'MUSIC' AND cs.`status_` = 'OVER' AND mg.`status_` = 'PROGRESS' and sr.tenant_id_ = #{tenantId}
|
|
|
GROUP BY cssp.`user_id_` HAVING COUNT(cs.`id_`) > 4) AND sr.user_id_ NOT IN (SELECT user_id_ FROM student WHERE subject_id_list_ REGEXP '21|25|26|27|28|29')
|
|
|
</select>
|
|
|
- <select id="queryHasMemberGroupStudent" resultType="java.lang.Integer">
|
|
|
- SELECT DISTINCT sr.user_id_ FROM student_registration sr
|
|
|
- LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
|
|
|
- WHERE sr.music_group_status_ != 'QUIT' AND mg.status_ NOT IN ('CANCELED','CLOSE') AND mg.course_view_type_ = 2
|
|
|
- </select>
|
|
|
<resultMap id="CloudTeacherActiveTargetJsonDto" type="com.ym.mec.biz.dal.dto.CloudTeacherActiveTargetJsonDto">
|
|
|
<result property="targetNum" column="target_num_"/>
|
|
|
<result property="targetAmount" column="target_amount_"/>
|
|
|
<result property="organId" column="organ_id_"/>
|
|
|
</resultMap>
|
|
|
- <select id="queryOrganTarget" resultMap="CloudTeacherActiveTargetJsonDto">
|
|
|
- SELECT su.organ_id_,COUNT(DISTINCT su.id_) target_num_,COUNT(DISTINCT su.id_) * 2040 target_amount_ FROM student_registration sr
|
|
|
- LEFT JOIN sys_user su ON sr.user_id_ = su.id_
|
|
|
- LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
|
|
|
- -- 新用户
|
|
|
- WHERE su.id_ NOT IN (SELECT DISTINCT(sr.`user_id_`) FROM student_registration sr
|
|
|
- LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
|
|
|
- LEFT JOIN course_schedule cs on cs.`music_group_id_` = mg.`id_` AND cs.`group_type_` = 'MUSIC' AND cs.`status_` = 'OVER' AND cs.del_flag_ = 0
|
|
|
- LEFT JOIN `course_schedule_student_payment` cssp on cssp.`course_schedule_id_` = cs.`id_` AND sr.user_id_ = cssp.user_id_
|
|
|
- WHERE mg.`status_` = 'PROGRESS' AND sr.music_group_status_ = 'NORMAL'
|
|
|
- GROUP BY sr.`user_id_` HAVING COUNT(cssp.`id_`) <= 4)
|
|
|
- -- 非管乐
|
|
|
- AND su.id_ NOT IN (SELECT user_id_ FROM student WHERE subject_id_list_ REGEXP '21|25|26|27|28|29')
|
|
|
- -- 声部排除
|
|
|
- AND su.organ_id_ NOT IN (36,38,39,41,42,43,44,45,46,47,48,49,50,52,54,55,56,63,2,27,22,24)
|
|
|
- -- 购买了云教练
|
|
|
- AND su.id_ NOT IN (SELECT DISTINCT student_id_ FROM cloud_teacher_order WHERE active_remark_ IS NULL AND status_ != 0)
|
|
|
- -- 未退团,不是会员团
|
|
|
- AND su.id_ NOT IN (SELECT DISTINCT sr.user_id_ FROM student_registration sr
|
|
|
- LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_
|
|
|
- WHERE sr.music_group_status_ != 'QUIT' AND mg.course_view_type_ = 2 AND mg.status_ NOT IN ('CANCELED','CLOSE'))
|
|
|
- -- 去掉部分非目标学员
|
|
|
- AND mg.id_ NOT IN ('21062318002900001','20792','21082414270900001','21060314253100001')
|
|
|
- -- 去掉部分非目标学员
|
|
|
- AND sr.user_id_ NOT IN (2127770,2127771,2127772,2127773,2127774,2127775,2127776,2127777,
|
|
|
- 2127778,2127779,2127780,2127781,2127782,2127783,2127784,2127785,2127786,2127787,2127788,
|
|
|
- 2127789,2127790,2127791,2127792,2127793,2127794,2127795,2127796,2127797,2127798,2127799,
|
|
|
- 2127800,2127801,2127802,2127803,2127804,2127805,2127806,2127807,2127808,2127809,2127810,
|
|
|
- 2127811,2127812,2127813,2127814,2127815,2127816,2127817,
|
|
|
- 2122083,2122084,2122085,2122088,2122090,2122092,2122399,2122567,2122577,2122584,2122847,
|
|
|
- 2122892,2122893,2122894,2122896,2122898,2122899,2122901,2122902,2122903,2122951,2122953,
|
|
|
- 2122958,2122962,2122964,2122965,2123157,2123169,2123176,2123187,2123190,2123192,2123201,
|
|
|
- 2123232,2123304,2125139,2125142,2125145,2125147,2125148,2125151,2125152,2125165,2125168,2125197,2125198,
|
|
|
- 2132340,2132341,2132342,2132343,2132344,2132345,2132347,2132348,2132349,2132350,2132351,2132352,2132353,
|
|
|
- 2132354,2132355,2132356,2132357,2132362,2132365,2132366,2132368,2132374,2132375,2132377,2132386,2132387,
|
|
|
- 2132388,2132390,2132391,2132392,2132394,2132395,2132396,2132400,2132401,2132403,2132405,2132407,2132408,
|
|
|
- 2132411,2132413,2132414,2132415,2132417,2132418,2132419,2132423,2132424,2132425,2132431,2132434,2132435,
|
|
|
- 2132436,2132437,2132438,2132440,2132441,2132443,2132444,2132445,2132446,2132447,2132448,2132449,2132452,
|
|
|
- 2132454,2132457,2132459,2132461,2135865)
|
|
|
-
|
|
|
- AND sr.music_group_status_ = 'NORMAL' AND mg.course_view_type_ != 2 AND mg.`status_` = 'PROGRESS'
|
|
|
- GROUP BY su.organ_id_
|
|
|
- </select>
|
|
|
+
|
|
|
<resultMap id="MusicStudentInstrumentDto" type="com.ym.mec.biz.dal.dto.MusicStudentInstrumentDto">
|
|
|
<result property="username" column="username_"/>
|
|
|
<result property="userId" column="user_id_"/>
|