|
@@ -518,10 +518,10 @@
|
|
SELECT
|
|
SELECT
|
|
DISTINCT su.id_ userId,su.username_ userName, su.avatar_ avatar, su.phone_ phone
|
|
DISTINCT su.id_ userId,su.username_ userName, su.avatar_ avatar, su.phone_ phone
|
|
FROM
|
|
FROM
|
|
- practice_group pg
|
|
|
|
- LEFT JOIN sys_user su ON pg.student_id_ = su.id_
|
|
|
|
|
|
+ sys_user su
|
|
WHERE
|
|
WHERE
|
|
- pg.type_ IN ('FREE', 'TRIAL')
|
|
|
|
|
|
+ 1=1
|
|
|
|
+ AND FIND_IN_SET('STUDENT',su.user_type_)
|
|
<if test="organIdList!=null">
|
|
<if test="organIdList!=null">
|
|
AND su.organ_id_ IN
|
|
AND su.organ_id_ IN
|
|
<foreach collection="organIdList" item="organId" open="(" close=")" separator=",">
|
|
<foreach collection="organIdList" item="organId" open="(" close=")" separator=",">
|
|
@@ -531,11 +531,11 @@
|
|
<if test="search != null">
|
|
<if test="search != null">
|
|
AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT('%', #{search}, '%'))
|
|
AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT('%', #{search}, '%'))
|
|
</if>
|
|
</if>
|
|
- AND pg.student_id_ NOT IN (
|
|
|
|
- SELECT student_id_ FROM practice_group WHERE type_='CHARGE'
|
|
|
|
|
|
+ AND su.id_ NOT IN (
|
|
|
|
+ SELECT student_id_ FROM practice_group WHERE type_='CHARGE' AND group_status_ IN ('NORMAL', 'FINISH')
|
|
)
|
|
)
|
|
AND NOT EXISTS (
|
|
AND NOT EXISTS (
|
|
- SELECT user_id_ FROM course_schedule_student_payment cssp LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_ WHERE cssp.user_id_=pg.student_id_ AND cs.teach_mode_='ONLINE' AND CONCAT(cs.class_date_, ' ', cs.start_class_time_) > NOW()
|
|
|
|
|
|
+ SELECT user_id_ FROM course_schedule_student_payment cssp LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_ WHERE cssp.user_id_=su.id_ AND cs.teach_mode_='ONLINE' AND CONCAT(cs.class_date_, ' ', cs.start_class_time_) > NOW()
|
|
)
|
|
)
|
|
<include refid="global.limit"/>
|
|
<include refid="global.limit"/>
|
|
</select>
|
|
</select>
|
|
@@ -543,10 +543,10 @@
|
|
SELECT
|
|
SELECT
|
|
COUNT(DISTINCT su.id_)
|
|
COUNT(DISTINCT su.id_)
|
|
FROM
|
|
FROM
|
|
- practice_group pg
|
|
|
|
- LEFT JOIN sys_user su ON pg.student_id_ = su.id_
|
|
|
|
|
|
+ sys_user su
|
|
WHERE
|
|
WHERE
|
|
- pg.type_ IN ('FREE', 'TRIAL')
|
|
|
|
|
|
+ 1=1
|
|
|
|
+ AND FIND_IN_SET('STUDENT',su.user_type_)
|
|
<if test="organIdList!=null">
|
|
<if test="organIdList!=null">
|
|
AND su.organ_id_ IN
|
|
AND su.organ_id_ IN
|
|
<foreach collection="organIdList" item="organId" open="(" close=")" separator=",">
|
|
<foreach collection="organIdList" item="organId" open="(" close=")" separator=",">
|
|
@@ -556,11 +556,11 @@
|
|
<if test="search != null">
|
|
<if test="search != null">
|
|
AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT('%', #{search}, '%'))
|
|
AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT('%', #{search}, '%'))
|
|
</if>
|
|
</if>
|
|
- AND pg.student_id_ NOT IN (
|
|
|
|
- SELECT student_id_ FROM practice_group WHERE type_='CHARGE'
|
|
|
|
|
|
+ AND su.id_ NOT IN (
|
|
|
|
+ SELECT student_id_ FROM practice_group WHERE type_='CHARGE' AND group_status_ IN ('NORMAL', 'FINISH')
|
|
)
|
|
)
|
|
AND NOT EXISTS (
|
|
AND NOT EXISTS (
|
|
- SELECT user_id_ FROM course_schedule_student_payment cssp LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_ WHERE cssp.user_id_=pg.student_id_ AND cs.teach_mode_='ONLINE' AND CONCAT(cs.class_date_, ' ', cs.start_class_time_) > NOW()
|
|
|
|
|
|
+ SELECT user_id_ FROM course_schedule_student_payment cssp LEFT JOIN course_schedule cs ON cs.id_=cssp.course_schedule_id_ WHERE cssp.user_id_=su.id_ AND cs.teach_mode_='ONLINE' AND CONCAT(cs.class_date_, ' ', cs.start_class_time_) > NOW()
|
|
)
|
|
)
|
|
</select>
|
|
</select>
|
|
<select id="findEnableAssignTeachers" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
|
|
<select id="findEnableAssignTeachers" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
|
|
@@ -570,7 +570,17 @@
|
|
WHERE
|
|
WHERE
|
|
FIND_IN_SET(#{subjectId}, t.subject_id_)
|
|
FIND_IN_SET(#{subjectId}, t.subject_id_)
|
|
AND (t.organ_id_ = #{studentOrganId} OR FIND_IN_SET(#{studentOrganId},t.flow_organ_range_))
|
|
AND (t.organ_id_ = #{studentOrganId} OR FIND_IN_SET(#{studentOrganId},t.flow_organ_range_))
|
|
- AND NOT EXISTS (SELECT user_id_ FROM practice_group WHERE student_id_=#{studentId} AND t.id_=user_id_ AND type_='TRIAL')
|
|
|
|
|
|
+ AND NOT EXISTS (SELECT
|
|
|
|
+ cs.actual_teacher_id_
|
|
|
|
+ FROM
|
|
|
|
+ course_schedule_student_payment cssp
|
|
|
|
+ LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
|
|
|
|
+ LEFT JOIN practice_group pg ON cssp.music_group_id_=pg.id_
|
|
|
|
+ WHERE
|
|
|
|
+ cssp.user_id_ = #{studentId}
|
|
|
|
+ AND cs.actual_teacher_id_ = t.id_
|
|
|
|
+ AND pg.type_='TRIAL'
|
|
|
|
+ AND cssp.group_type_ = 'PRACTICE')
|
|
</select>
|
|
</select>
|
|
|
|
|
|
<select id="findLastPracticeSubject" resultType="int">
|
|
<select id="findLastPracticeSubject" resultType="int">
|
|
@@ -601,11 +611,13 @@
|
|
</select>
|
|
</select>
|
|
<select id="countStudentTrialPractices" resultType="int">
|
|
<select id="countStudentTrialPractices" resultType="int">
|
|
SELECT
|
|
SELECT
|
|
- COUNT(pg.id_)
|
|
|
|
|
|
+ COUNT( DISTINCT pg.id_ )
|
|
FROM
|
|
FROM
|
|
- practice_group pg
|
|
|
|
|
|
+ course_schedule cs
|
|
|
|
+ LEFT JOIN practice_group pg ON pg.id_ = cs.music_group_id_
|
|
WHERE
|
|
WHERE
|
|
pg.student_id_ = #{studentId}
|
|
pg.student_id_ = #{studentId}
|
|
|
|
+ AND cs.group_type_ = 'PRACTICE'
|
|
AND pg.type_ = 'TRIAL'
|
|
AND pg.type_ = 'TRIAL'
|
|
</select>
|
|
</select>
|
|
<select id="findStudentAndTeacherTrialPractices" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
|
|
<select id="findStudentAndTeacherTrialPractices" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
|