|
@@ -502,4 +502,51 @@
|
|
|
</if>
|
|
|
GROUP BY pg.student_id_,o.id_
|
|
|
</select>
|
|
|
+
|
|
|
+ <select id="findConvertDefeatStudents" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
|
|
|
+ SELECT
|
|
|
+ DISTINCT su.id_ userId,su.username_ userName, su.avatar_ avatar, su.phone_ phone
|
|
|
+ FROM
|
|
|
+ practice_group pg
|
|
|
+ LEFT JOIN sys_user su ON pg.student_id_ = su.id_
|
|
|
+ WHERE
|
|
|
+ pg.type_='FREE'
|
|
|
+ <if test="search != null">
|
|
|
+ AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT('%', #{search}, '%'))
|
|
|
+ </if>
|
|
|
+ AND pg.student_id_ NOT IN (
|
|
|
+ SELECT student_id_ FROM practice_group WHERE type_='CHARGE'
|
|
|
+ )
|
|
|
+ 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 cs.class_date_>'2020-05-01'
|
|
|
+ )
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
+ <select id="countConvertDefeatStudents" resultType="int">
|
|
|
+ SELECT
|
|
|
+ COUNT(DISTINCT su.id_)
|
|
|
+ FROM
|
|
|
+ practice_group pg
|
|
|
+ LEFT JOIN sys_user su ON pg.student_id_ = su.id_
|
|
|
+ WHERE
|
|
|
+ pg.type_='FREE'
|
|
|
+ <if test="search != null">
|
|
|
+ AND (su.username_ LIKE CONCAT('%', #{search}, '%') OR su.phone_ LIKE CONCAT('%', #{search}, '%'))
|
|
|
+ </if>
|
|
|
+ AND pg.student_id_ NOT IN (
|
|
|
+ SELECT student_id_ FROM practice_group WHERE type_='CHARGE'
|
|
|
+ )
|
|
|
+ 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 cs.class_date_>'2020-05-01'
|
|
|
+ )
|
|
|
+ </select>
|
|
|
+ <select id="findEnableAssignTeachers" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
|
|
|
+ SELECT su.id_ userId,su.username_ userName,su.avatar_ avatar
|
|
|
+ FROM teacher t
|
|
|
+ LEFT JOIN sys_user su ON t.id_=su.id_
|
|
|
+ WHERE
|
|
|
+ FIND_IN_SET(#{subjectId}, t.subject_id_)
|
|
|
+ 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')
|
|
|
+ </select>
|
|
|
</mapper>
|