|
@@ -500,6 +500,132 @@
|
|
</if>
|
|
</if>
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
+ <select id="listUserWeekPeriod" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
|
|
|
|
+ resultMap="ClassPeriodStudentVo">
|
|
|
|
+ SELECT
|
|
|
|
+ u.user_account,
|
|
|
|
+ u.user_id,
|
|
|
|
+ cgu.`status`,
|
|
|
|
+ u.realname,
|
|
|
|
+ cgg.goods_id,
|
|
|
|
+ u.id_card,
|
|
|
|
+ cgu.grade_id,
|
|
|
|
+ u.telphone,
|
|
|
|
+ u.one_inch_photos,
|
|
|
|
+ up.`status` as profile_status,
|
|
|
|
+ g.class_hours as class_hours,
|
|
|
|
+ g.study_start_time as study_start_time,
|
|
|
|
+ g.study_end_time as study_end_time,
|
|
|
|
+ g.goods_name,
|
|
|
|
+ g.code as goods_code,
|
|
|
|
+ g.stand_price,
|
|
|
|
+ cgu.period_status,
|
|
|
|
+ cg.class_start_time,
|
|
|
|
+ cg.class_end_time,
|
|
|
|
+ cg.class_name,
|
|
|
|
+ cgu.period_plush,
|
|
|
|
+ cgu.period_status_num,
|
|
|
|
+ cgu.period_time,
|
|
|
|
+ <if test="userPhoto != null and userPhoto == 1">
|
|
|
|
+ up.key_value,
|
|
|
|
+ </if>
|
|
|
|
+ cgu.period_wait_time as end_time
|
|
|
|
+ <if test="userPhoto == null">
|
|
|
|
+ ,(select COUNT(up.id) from user_period up LEFT JOIN user_period_status ups on up.id=ups.period_id where up.goods_id = (SELECT cgg.goods_id FROM class_grade_goods cgg where cg.grade_id=cgg.grade_id) and up.grade_id = cgu.grade_id and up.user_id = u.user_id
|
|
|
|
+ and ups.period_status=0 and ups.`status`=0 and (SELECT COUNT(upss.id) from user_period_status upss where upss.id = ups.id and upss.period_status = 1 and upss.`status` = 2) > 0 ) as rebuild_num
|
|
|
|
+ </if>
|
|
|
|
+ FROM
|
|
|
|
+ class_grade_user cgu
|
|
|
|
+ LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id
|
|
|
|
+ LEFT JOIN class_grade_goods cgg on cg.grade_id=cgg.grade_id
|
|
|
|
+ LEFT JOIN `user` u ON u.user_id = cgu.user_id
|
|
|
|
+ LEFT JOIN user_profile up on u.user_id =up.user_id and up.goods_id = cgg.goods_id and cgu.order_goods_id = up.order_goods_id and up.type_status=1 and up.current_status = 1
|
|
|
|
+ LEFT JOIN goods g on cgg.goods_id = g.goods_id
|
|
|
|
+ LEFT JOIN course_business cb ON g.business_id = cb.id
|
|
|
|
+ where 1=1
|
|
|
|
+ and cgu.`status` =1
|
|
|
|
+ <if test="searchWeekStartTime != null and searchWeekEndTime != '' ">
|
|
|
|
+ AND (SELECT count(*) from user_study_record usr where usr.user_id = cgu.user_id AND usr.grade_id = cgu.grade_id AND usr.current_status = 1 AND #{searchWeekEndTime} >= usr.create_time AND usr.create_time >=#{searchWeekStartTime}) >0
|
|
|
|
+ </if>
|
|
|
|
+ <if test="periodPlush != null and periodPlush != ''">
|
|
|
|
+ AND cgu.period_plush = #{periodPlush}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="officialStatus != null and officialStatus != ''">
|
|
|
|
+ AND cgu.official_status = #{officialStatus}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="changeGrade != null and changeGrade != ''">
|
|
|
|
+ AND cgu.change_grade = #{changeGrade}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="profileStatus != null and profileStatus != ''">
|
|
|
|
+ AND up.status = #{profileStatus}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="gradeId != null and gradeId !='' ">
|
|
|
|
+ and cgu.grade_id = #{gradeId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="businessId != null and businessId != ''">
|
|
|
|
+ AND g.business_id = #{businessId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="educationTypeId != null and educationTypeId != ''">
|
|
|
|
+ AND g.education_type_id = #{educationTypeId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="schoolId != null and schoolId != ''">
|
|
|
|
+ AND g.school_id = #{schoolId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="majorId != null and majorId != ''">
|
|
|
|
+ AND g.major_id = #{majorId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="periodStatus != null ">
|
|
|
|
+ and cgu.period_status = #{periodStatus}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="classStartTime != null and classStartTime != '' ">
|
|
|
|
+ AND cg.class_start_time >= #{classStartTime}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="classEndTime != null and classEndTime != '' ">
|
|
|
|
+ AND #{classEndTime} >= cg.class_end_time
|
|
|
|
+ </if>
|
|
|
|
+ <if test="studyStatus != null and studyStatus == 1 ">
|
|
|
|
+ and cgu.period_status = -1
|
|
|
|
+ </if>
|
|
|
|
+ <if test="studyStatus != null and studyStatus == 2 ">
|
|
|
|
+ and cgu.period_status != -1
|
|
|
|
+ </if>
|
|
|
|
+ <if test="className != null and className !='' ">
|
|
|
|
+ and cg.class_name like concat('%', #{className}, '%')
|
|
|
|
+ </if>
|
|
|
|
+ <if test="searchKey != null and searchKey != '' ">
|
|
|
|
+ and (u.realname like concat('%', #{searchKey}, '%') or g.goods_name like concat('%', #{searchKey}, '%') or cg.class_name like concat('%', #{searchKey}, '%'))
|
|
|
|
+ </if>
|
|
|
|
+ <if test="idCard != null and idCard !='' ">
|
|
|
|
+ AND u.id_card = #{idCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="telphone != null and telphone !='' ">
|
|
|
|
+ AND u.telphone = #{telphone,typeHandler=com.zhongzheng.common.type.EncryptHandler}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="searchStartTime != null and searchStartTime !='' ">
|
|
|
|
+ AND cgu.create_time >=#{searchStartTime}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="searchEndTime != null and searchEndTime !='' ">
|
|
|
|
+ AND #{searchEndTime} >= cgu.create_time
|
|
|
|
+ </if>
|
|
|
|
+ <if test="periodStartTime != null and periodStartTime !='' ">
|
|
|
|
+ AND cgu.period_time >=#{periodStartTime}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="periodEndTime != null and periodEndTime !='' ">
|
|
|
|
+ AND #{periodEndTime} >= cgu.period_time
|
|
|
|
+ </if>
|
|
|
|
+ <!-- 数据范围过滤 -->
|
|
|
|
+ ${params.dataScope}
|
|
|
|
+ <if test="periodStatus != 2 and periodStatus != 3">
|
|
|
|
+ order by cgu.update_time desc
|
|
|
|
+ </if>
|
|
|
|
+ <if test="periodStatus == 2 ">
|
|
|
|
+ order by cgu.period_wait_time,cgu.create_time
|
|
|
|
+ </if>
|
|
|
|
+ <if test="periodStatus == 3 ">
|
|
|
|
+ order by cgu.period_ing_time,cgu.create_time
|
|
|
|
+ </if>
|
|
|
|
+ </select>
|
|
|
|
+
|
|
<select id="listUserPeriodExport" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
|
|
<select id="listUserPeriodExport" parameterType="com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo"
|
|
resultMap="ClassPeriodStudentVo">
|
|
resultMap="ClassPeriodStudentVo">
|
|
SELECT
|
|
SELECT
|