|  | @@ -274,60 +274,52 @@
 | 
	
		
			
				|  |  |  		<if test="expectExercisesNum!=null">
 | 
	
		
			
				|  |  |  			AND expect_exercises_num_ = #{expectExercisesNum}
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  | -		AND (1=1
 | 
	
		
			
				|  |  |  		<if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==0">
 | 
	
		
			
				|  |  | -			OR actual_exercises_num_ < expect_exercises_num_
 | 
	
		
			
				|  |  | +			AND actual_exercises_num_ < expect_exercises_num_
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  		<if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==1">
 | 
	
		
			
				|  |  | -			OR actual_exercises_num_ >= expect_exercises_num_
 | 
	
		
			
				|  |  | +			AND actual_exercises_num_ >= expect_exercises_num_
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  		<if test="submitStartDate==null or submitEndDate==null">
 | 
	
		
			
				|  |  |  			<if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
 | 
	
		
			
				|  |  | -				OR exercises_reply_num_ < actual_exercises_num_
 | 
	
		
			
				|  |  | +				AND exercises_reply_num_ < actual_exercises_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
 | 
	
		
			
				|  |  | -				OR exercises_reply_num_ >= actual_exercises_num_
 | 
	
		
			
				|  |  | +				AND exercises_reply_num_ >= actual_exercises_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
 | 
	
		
			
				|  |  | -				OR exercises_message_num_ < exercises_reply_num_
 | 
	
		
			
				|  |  | +				AND exercises_message_num_ < exercises_reply_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
 | 
	
		
			
				|  |  | -				OR exercises_message_num_ >= exercises_reply_num_
 | 
	
		
			
				|  |  | +				AND exercises_message_num_ >= exercises_reply_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
 | 
	
		
			
				|  |  | -				OR exercises_message_timely_num_ < exercises_message_num_
 | 
	
		
			
				|  |  | +				AND exercises_message_timely_num_ < exercises_message_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
 | 
	
		
			
				|  |  | -				OR exercises_message_timely_num_ >= exercises_message_num_
 | 
	
		
			
				|  |  | +				AND exercises_message_timely_num_ >= exercises_message_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  		<if test="submitStartDate!=null and submitEndDate!=null">
 | 
	
		
			
				|  |  |  			<if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_reply_num_,0) < actual_exercises_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_reply_num_,0) >= actual_exercises_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_message_num_,0) < exercises_reply_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_message_num_,0) >= exercises_reply_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_message_timely_num_,0) < exercises_message_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_message_timely_num_,0) >= exercises_message_num_)
 | 
	
		
			
				|  |  | +				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>
 | 
	
	
		
			
				|  | @@ -367,63 +359,55 @@
 | 
	
		
			
				|  |  |  			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>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		AND (
 | 
	
		
			
				|  |  |  		<if test="expectExercisesNum!=null">
 | 
	
		
			
				|  |  | -			OR expect_exercises_num_ = #{expectExercisesNum}
 | 
	
		
			
				|  |  | +			AND expect_exercises_num_ = #{expectExercisesNum}
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  		<if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==0">
 | 
	
		
			
				|  |  | -			OR actual_exercises_num_ < expect_exercises_num_
 | 
	
		
			
				|  |  | +			AND actual_exercises_num_ < expect_exercises_num_
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  		<if test="actualExercisesNumIsAchieve!=null and actualExercisesNumIsAchieve==1">
 | 
	
		
			
				|  |  | -			OR actual_exercises_num_ >= expect_exercises_num_
 | 
	
		
			
				|  |  | +			AND actual_exercises_num_ >= expect_exercises_num_
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  		<if test="submitStartDate==null or submitEndDate==null">
 | 
	
		
			
				|  |  |  			<if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
 | 
	
		
			
				|  |  | -				OR exercises_reply_num_ < actual_exercises_num_
 | 
	
		
			
				|  |  | +				AND exercises_reply_num_ < actual_exercises_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==1">
 | 
	
		
			
				|  |  | -				OR exercises_reply_num_ >= actual_exercises_num_
 | 
	
		
			
				|  |  | +				AND exercises_reply_num_ >= actual_exercises_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
 | 
	
		
			
				|  |  | -				OR exercises_message_num_ < exercises_reply_num_
 | 
	
		
			
				|  |  | +				AND exercises_message_num_ < exercises_reply_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
 | 
	
		
			
				|  |  | -				OR exercises_message_num_ >= exercises_reply_num_
 | 
	
		
			
				|  |  | +				AND exercises_message_num_ >= exercises_reply_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==0">
 | 
	
		
			
				|  |  | -				OR exercises_message_timely_num_ < exercises_message_num_
 | 
	
		
			
				|  |  | +				AND exercises_message_timely_num_ < exercises_message_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="exercisesMessageTimelyNumIsAchieve!=null and exercisesMessageTimelyNumIsAchieve==1">
 | 
	
		
			
				|  |  | -				OR exercises_message_timely_num_ >= exercises_message_num_
 | 
	
		
			
				|  |  | +				AND exercises_message_timely_num_ >= exercises_message_num_
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  		<if test="submitStartDate!=null and submitEndDate!=null">
 | 
	
		
			
				|  |  |  			<if test="exercisesReplyNumIsAchieve!=null and exercisesReplyNumIsAchieve==0">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_reply_num_,0) < actual_exercises_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_reply_num_,0) >= actual_exercises_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_message_num_,0) < exercises_reply_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_message_num_,0) >= exercises_reply_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_message_timely_num_,0) < exercises_message_num_)
 | 
	
		
			
				|  |  | +				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">
 | 
	
		
			
				|  |  | -				OR (IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND
 | 
	
		
			
				|  |  | -				#{submitEndDate},exercises_message_timely_num_,0) >= exercises_message_num_)
 | 
	
		
			
				|  |  | +				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>
 | 
	
		
			
				|  |  |  
 |