|
@@ -208,4 +208,64 @@
|
|
|
</if>
|
|
|
GROUP BY student_id_
|
|
|
</select>
|
|
|
+ <resultMap id="CloudTeacherActiveTargetDetailDto" type="com.ym.mec.biz.dal.dto.CloudTeacherActiveTargetDetailDto">
|
|
|
+ <result property="userId" column="student_id_"/>
|
|
|
+ <result property="username" column="username_"/>
|
|
|
+ <result property="amount" column="amount_"/>
|
|
|
+ <result property="remark" column="remark_"/>
|
|
|
+ <result property="cooperationName" column="cooperation_name_"/>
|
|
|
+ <result property="musicGroupName" column="music_group_name_"/>
|
|
|
+ <result property="chargeType" column="charge_type_name_"/>
|
|
|
+ <result property="subjectName" column="subject_name_"/>
|
|
|
+ <result property="currentGradeNum" column="current_grade_num_"/>
|
|
|
+ <result property="teacherName" column="teacher_name_"/>
|
|
|
+ </resultMap>
|
|
|
+ <select id="queryCloudTeacherActiveDetail" resultMap="CloudTeacherActiveTargetDetailDto">
|
|
|
+ SELECT su.username_,cto.remark_,cto.amount_,cto.student_id_,GROUP_CONCAT(DISTINCT co.name_) cooperation_name_,
|
|
|
+ GROUP_CONCAT(DISTINCT mg.name_) music_group_name_,GROUP_CONCAT(DISTINCT ct.name_) charge_type_name_,
|
|
|
+ sj.name_ subject_name_,st.current_grade_num_,sus.real_name_ teacher_name_
|
|
|
+ FROM cloud_teacher_order cto
|
|
|
+ LEFT JOIN sys_user su ON su.id_ = cto.student_id_
|
|
|
+ LEFT JOIN student_registration sr ON sr.user_id_ = cto.student_id_ AND sr.music_group_status_ = 'NORMAL'
|
|
|
+ LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_ AND mg.status_ = 'PROGRESS'
|
|
|
+ LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
|
|
|
+ LEFT JOIN charge_type ct ON ct.id_ = mg.charge_type_id_
|
|
|
+ LEFT JOIN student st ON st.user_id_ = cto.student_id_
|
|
|
+ LEFT JOIN sys_user sus ON sus.id_ = st.teacher_id_
|
|
|
+ LEFT JOIN `subject` sj ON sj.id_ = st.user_id_
|
|
|
+ <include refid="queryCloudTeacherActiveDetailSql"/>
|
|
|
+ GROUP BY cto.id_
|
|
|
+ <include refid="global.limit"/>
|
|
|
+ </select>
|
|
|
+ <select id="countCloudTeacherActiveDetail" resultType="int">
|
|
|
+ SELECT COUNT(DISTINCT cto.id_)
|
|
|
+ FROM cloud_teacher_order cto
|
|
|
+ LEFT JOIN sys_user su ON su.id_ = cto.student_id_
|
|
|
+ LEFT JOIN student_registration sr ON sr.user_id_ = cto.student_id_ AND sr.music_group_status_ = 'NORMAL'
|
|
|
+ LEFT JOIN music_group mg ON mg.id_ = sr.music_group_id_ AND mg.status_ = 'PROGRESS'
|
|
|
+ <include refid="queryCloudTeacherActiveDetailSql"/>
|
|
|
+ </select>
|
|
|
+ <sql id="queryCloudTeacherActiveDetailSql">
|
|
|
+ <where>
|
|
|
+ <if test="organIds != null and organIds != ''">
|
|
|
+ AND FIND_IN_SET(su.organ_id_,#{organIds})
|
|
|
+ </if>
|
|
|
+ <if test="search != null and search != ''">
|
|
|
+ AND (su.id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR mg.id_ LIKE CONCAT('%',#{search},'%'))
|
|
|
+ </if>
|
|
|
+ <if test="chargeType != null">
|
|
|
+ AND mg.charge_type_id_ = #{chargeType}
|
|
|
+ </if>
|
|
|
+ <if test="subjectId != null">
|
|
|
+ AND s.subject_id_list_ = #{subjectId}
|
|
|
+ </if>
|
|
|
+ <if test="teacherId != null">
|
|
|
+ AND s.teacher_id_ = #{teacherId}
|
|
|
+ </if>
|
|
|
+ <if test="remarkType != null and remarkType != ''">
|
|
|
+ AND cto.active_remark_ = #{remarkType}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ </sql>
|
|
|
+
|
|
|
</mapper>
|