|
@@ -194,31 +194,31 @@
|
|
|
|
|
|
<select id="findExercisesSituations" resultMap="StudentExercisesSituationDto">
|
|
|
SELECT
|
|
|
- MAX(sees.id_) id_,
|
|
|
+ sees.id_ id_,
|
|
|
student_id_,
|
|
|
stu.username_ student_name_,
|
|
|
- GROUP_CONCAT(DISTINCT tea.real_name_ ORDER BY tea.id_) teacher_name_,
|
|
|
+ tea.real_name_ teacher_name_,
|
|
|
o.name_ organ_name_,
|
|
|
- SUM( expect_exercises_num_ ) expect_exercises_num_,
|
|
|
- SUM( actual_exercises_num_ ) actual_exercises_num_,
|
|
|
+ expect_exercises_num_ expect_exercises_num_,
|
|
|
+ actual_exercises_num_ actual_exercises_num_,
|
|
|
<if test="submitStartDate==null or submitEndDate==null">
|
|
|
- SUM( exercises_reply_num_ ) exercises_reply_num_,
|
|
|
- SUM( exercises_message_num_ ) exercises_message_num_,
|
|
|
- SUM( exercises_message_timely_num_ ) exercises_message_timely_num_,
|
|
|
- MAX(last_submit_time_) last_submit_time_
|
|
|
+ exercises_reply_num_ exercises_reply_num_,
|
|
|
+ exercises_message_num_ exercises_message_num_,
|
|
|
+ exercises_message_timely_num_ exercises_message_timely_num_,
|
|
|
+ last_submit_time_ last_submit_time_
|
|
|
</if>
|
|
|
<if test="submitStartDate!=null and submitEndDate!=null">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0)) exercises_reply_num_,
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0)) exercises_message_num_,
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0)) exercises_message_timely_num_,
|
|
|
- MAX(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},last_submit_time_, NULL)) last_submit_time_
|
|
|
+ IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0) exercises_reply_num_,
|
|
|
+ IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) exercises_message_num_,
|
|
|
+ IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0) exercises_message_timely_num_,
|
|
|
+ IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},last_submit_time_, NULL) last_submit_time_
|
|
|
</if>
|
|
|
FROM
|
|
|
- student_extracurricular_exercises_situation_ sees
|
|
|
- LEFT JOIN sys_user stu ON stu.id_=sees.student_id_
|
|
|
- LEFT JOIN teacher t ON t.id_=sees.teacher_id_
|
|
|
- LEFT JOIN sys_user tea ON tea.id_=sees.teacher_id_
|
|
|
- LEFT JOIN organization o ON stu.organ_id_=o.id_
|
|
|
+ student_extracurricular_exercises_situation_ sees
|
|
|
+ LEFT JOIN sys_user stu ON stu.id_=sees.student_id_
|
|
|
+ LEFT JOIN teacher t ON t.id_=sees.teacher_id_
|
|
|
+ LEFT JOIN sys_user tea ON tea.id_=sees.teacher_id_
|
|
|
+ LEFT JOIN organization o ON stu.organ_id_=o.id_
|
|
|
WHERE
|
|
|
sees.monday_ >= #{monday}
|
|
|
AND sees.sunday_ <= #{sunday}
|
|
@@ -243,57 +243,56 @@
|
|
|
<if test="existPracticeCourse!=null and existPracticeCourse==0">
|
|
|
AND NOT EXISTS (SELECT cssp.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 pg.id_=cssp.music_group_id_ WHERE cssp.user_id_=sees.student_id_ AND cssp.group_type_='PRACTICE' AND pg.type_='CHARGE' AND class_date_ BETWEEN #{monday} AND #{sunday})
|
|
|
</if>
|
|
|
- GROUP BY
|
|
|
- student_id_
|
|
|
- <trim prefix="HAVING" suffixOverrides="and">
|
|
|
- <if test="expectExercisesNum!=null"> SUM( expect_exercises_num_ ) = #{expectExercisesNum}</if>
|
|
|
- <if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==0">
|
|
|
- SUM( actual_exercises_num_ )<SUM( expect_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==1">
|
|
|
- SUM( actual_exercises_num_ )>=SUM( expect_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="submitStartDate==null or submitEndDate==null">
|
|
|
- <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
|
|
|
- SUM( exercises_reply_num_ ) < SUM( actual_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
|
|
|
- SUM( exercises_reply_num_ ) >= SUM( actual_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
|
|
|
- SUM( exercises_message_num_ ) < SUM( exercises_reply_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
|
|
|
- SUM( exercises_message_num_ ) >= SUM( exercises_reply_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
|
|
|
- SUM( exercises_message_timely_num_ ) < SUM( exercises_message_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
|
|
|
- SUM( exercises_message_timely_num_ ) >= SUM( exercises_message_num_ ) and
|
|
|
- </if>
|
|
|
+
|
|
|
+ <if test="expectExercisesNum!=null">
|
|
|
+ AND expect_exercises_num_ = #{expectExercisesNum}
|
|
|
+ </if>
|
|
|
+ <if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==0">
|
|
|
+ AND actual_exercises_num_ < expect_exercises_num_
|
|
|
+ </if>
|
|
|
+ <if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==1">
|
|
|
+ AND actual_exercises_num_ >= expect_exercises_num_ and
|
|
|
+ </if>
|
|
|
+ <if test="submitStartDate==null or submitEndDate==null">
|
|
|
+ <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
|
|
|
+ AND exercises_reply_num_ < SUM( actual_exercises_num_ ) and
|
|
|
</if>
|
|
|
- <if test="submitStartDate!=null and submitEndDate!=null">
|
|
|
- <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0)) < SUM( actual_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0)) >= SUM( actual_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0)) < SUM( exercises_reply_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0)) >= SUM( exercises_reply_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0)) < SUM( exercises_message_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0)) >= SUM( exercises_message_num_ ) and
|
|
|
- </if>
|
|
|
+ <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
|
|
|
+ AND exercises_reply_num_ >= actual_exercises_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
|
|
|
+ AND exercises_message_num_ < exercises_reply_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
|
|
|
+ AND exercises_message_num_ >= exercises_reply_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
|
|
|
+ AND exercises_message_timely_num_ < exercises_message_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
|
|
|
+ AND exercises_message_timely_num_ >= exercises_message_num_
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test="submitStartDate!=null and submitEndDate!=null">
|
|
|
+ <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0) < actual_exercises_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0) >= actual_exercises_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) < exercises_reply_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) >= exercises_reply_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0) < exercises_message_num_
|
|
|
</if>
|
|
|
- </trim>
|
|
|
+ <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0) >= exercises_message_num_
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
ORDER BY student_id_
|
|
|
<include refid="global.limit"/>
|
|
|
</select>
|
|
@@ -332,57 +331,56 @@
|
|
|
<if test="existPracticeCourse!=null and existPracticeCourse==0">
|
|
|
AND NOT EXISTS (SELECT cssp.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 pg.id_=cssp.music_group_id_ WHERE cssp.user_id_=sees.student_id_ AND cssp.group_type_='PRACTICE' AND pg.type_='CHARGE' AND class_date_ BETWEEN #{monday} AND #{sunday})
|
|
|
</if>
|
|
|
- GROUP BY
|
|
|
- student_id_
|
|
|
- <trim prefix="HAVING" suffixOverrides="and">
|
|
|
- <if test="expectExercisesNum!=null"> SUM( expect_exercises_num_ ) = #{expectExercisesNum}</if>
|
|
|
- <if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==0">
|
|
|
- SUM( actual_exercises_num_ )<SUM( expect_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==1">
|
|
|
- SUM( actual_exercises_num_ )>=SUM( expect_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="submitStartDate==null or submitEndDate==null">
|
|
|
- <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
|
|
|
- SUM( exercises_reply_num_ ) < SUM( actual_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
|
|
|
- SUM( exercises_reply_num_ ) >= SUM( actual_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
|
|
|
- SUM( exercises_message_num_ ) < SUM( exercises_reply_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
|
|
|
- SUM( exercises_message_num_ ) >= SUM( exercises_reply_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
|
|
|
- SUM( exercises_message_timely_num_ ) < SUM( exercises_message_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
|
|
|
- SUM( exercises_message_timely_num_ ) >= SUM( exercises_message_num_ ) and
|
|
|
- </if>
|
|
|
+
|
|
|
+ <if test="expectExercisesNum!=null">
|
|
|
+ AND expect_exercises_num_ = #{expectExercisesNum}
|
|
|
+ </if>
|
|
|
+ <if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==0">
|
|
|
+ AND actual_exercises_num_ < expect_exercises_num_
|
|
|
+ </if>
|
|
|
+ <if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==1">
|
|
|
+ AND actual_exercises_num_ >= expect_exercises_num_ and
|
|
|
+ </if>
|
|
|
+ <if test="submitStartDate==null or submitEndDate==null">
|
|
|
+ <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
|
|
|
+ AND exercises_reply_num_ < SUM( actual_exercises_num_ ) and
|
|
|
</if>
|
|
|
- <if test="submitStartDate!=null and submitEndDate!=null">
|
|
|
- <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0)) < SUM( actual_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0)) >= SUM( actual_exercises_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0)) < SUM( exercises_reply_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0)) >= SUM( exercises_reply_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0)) < SUM( exercises_message_num_ ) and
|
|
|
- </if>
|
|
|
- <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
|
|
|
- SUM(IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0)) >= SUM( exercises_message_num_ ) and
|
|
|
- </if>
|
|
|
+ <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
|
|
|
+ AND exercises_reply_num_ >= actual_exercises_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
|
|
|
+ AND exercises_message_num_ < exercises_reply_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
|
|
|
+ AND exercises_message_num_ >= exercises_reply_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
|
|
|
+ AND exercises_message_timely_num_ < exercises_message_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
|
|
|
+ AND exercises_message_timely_num_ >= exercises_message_num_
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test="submitStartDate!=null and submitEndDate!=null">
|
|
|
+ <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0) < actual_exercises_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_reply_num_,0) >= actual_exercises_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) < exercises_reply_num_
|
|
|
</if>
|
|
|
- </trim>
|
|
|
+ <if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) >= exercises_reply_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0) < exercises_message_num_
|
|
|
+ </if>
|
|
|
+ <if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
|
|
|
+ AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_timely_num_,0) >= exercises_message_num_
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
) tmp
|
|
|
</select>
|
|
|
|