|  | @@ -380,28 +380,82 @@
 | 
	
		
			
				|  |  |  			AND st.tenant_id_ = #{tenantId}
 | 
	
		
			
				|  |  |  		</if>
 | 
	
		
			
				|  |  |  		group by st.user_id_
 | 
	
		
			
				|  |  | +		<trim prefix="HAVING" suffixOverrides="AND" >
 | 
	
		
			
				|  |  | +			<if test="minTrainTimes != null">
 | 
	
		
			
				|  |  | +				trainTimes >= #{minTrainTimes} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="maxTrainTimes != null">
 | 
	
		
			
				|  |  | +				trainTimes <= #{maxTrainTimes} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="minTrainDays != null">
 | 
	
		
			
				|  |  | +				trainDays >= #{minTrainDays} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="maxTrainDays != null">
 | 
	
		
			
				|  |  | +				trainDays <= #{maxTrainDays} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="minAvgTrainTimes != null">
 | 
	
		
			
				|  |  | +				avgTrainTimes >= #{minAvgTrainTimes} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="maxAvgTrainTimes != null">
 | 
	
		
			
				|  |  | +				avgTrainTimes <= #{maxAvgTrainTimes} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +		</trim>
 | 
	
		
			
				|  |  |  		ORDER BY ${sortField} ${sortType}
 | 
	
		
			
				|  |  |  		<include refid="global.limit"/>
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  |  	<select id="countWeChatStudentTrainData" resultType="java.lang.Integer">
 | 
	
		
			
				|  |  | -		select COUNT(DISTINCT st.user_id_)
 | 
	
		
			
				|  |  | +		select COUNT(c.user_id_) from
 | 
	
		
			
				|  |  | +		(
 | 
	
		
			
				|  |  | +		select st.user_id_
 | 
	
		
			
				|  |  |  		from student st
 | 
	
		
			
				|  |  | -		left join sys_user su ON st.user_id_ = su.id_
 | 
	
		
			
				|  |  | -		LEFT JOIN sys_music_compare_record smcr ON smcr.user_id_ = st.user_id_
 | 
	
		
			
				|  |  | +		left join
 | 
	
		
			
				|  |  | +		(select smcr.user_id_,
 | 
	
		
			
				|  |  | +		DATE_FORMAT(smcr.create_time_, '%Y-%m-%d') create_time_,
 | 
	
		
			
				|  |  | +		SUM(smcr.play_time_)                       playTime
 | 
	
		
			
				|  |  | +		from sys_music_compare_record smcr
 | 
	
		
			
				|  |  |  		<where>
 | 
	
		
			
				|  |  | -			<if test="clientId != null and clientId!= ''">
 | 
	
		
			
				|  |  | -				AND smcr.client_id_ = #{clientId}
 | 
	
		
			
				|  |  | +			<if test="startTime != null and startTime != ''">
 | 
	
		
			
				|  |  | +				AND smcr.create_time_ BETWEEN #{startTime} AND #{endTime}
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  			<if test="tenantId != null">
 | 
	
		
			
				|  |  |  				AND smcr.tenant_id_ = #{tenantId}
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  | -			<if test="startTime != null and startTime != ''">
 | 
	
		
			
				|  |  | -				AND smcr.create_time_ BETWEEN #{startTime} AND #{endTime}
 | 
	
		
			
				|  |  | -			</if>
 | 
	
		
			
				|  |  | -			<if test="search != null and search != ''">
 | 
	
		
			
				|  |  | -				AND su.username_ LIKE CONCAT('%',#{keyword},'%')
 | 
	
		
			
				|  |  | +			<if test="clientId != null and clientId!= ''">
 | 
	
		
			
				|  |  | +				AND smcr.client_id_ = #{clientId}
 | 
	
		
			
				|  |  |  			</if>
 | 
	
		
			
				|  |  |  		</where>
 | 
	
		
			
				|  |  | +		group by smcr.user_id_, DATE_FORMAT(create_time_, '%Y-%m-%d')) mprs ON mprs.user_id_ = st.user_id_
 | 
	
		
			
				|  |  | +		left join sys_user su ON st.user_id_ = su.id_
 | 
	
		
			
				|  |  | +		left join subject sb ON sb.id_ = st.subject_id_
 | 
	
		
			
				|  |  | +		where mprs.user_id_ = st.user_id_
 | 
	
		
			
				|  |  | +		<if test="search != null and search != ''">
 | 
	
		
			
				|  |  | +			AND su.username_ LIKE CONCAT('%',#{keyword},'%')
 | 
	
		
			
				|  |  | +		</if>
 | 
	
		
			
				|  |  | +		<if test="tenantId != null">
 | 
	
		
			
				|  |  | +			AND st.tenant_id_ = #{tenantId}
 | 
	
		
			
				|  |  | +		</if>
 | 
	
		
			
				|  |  | +		group by st.user_id_
 | 
	
		
			
				|  |  | +		<trim prefix="HAVING" suffixOverrides="AND" >
 | 
	
		
			
				|  |  | +			<if test="minTrainTimes != null">
 | 
	
		
			
				|  |  | +				trainTimes >= #{minTrainTimes} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="maxTrainTimes != null">
 | 
	
		
			
				|  |  | +				trainTimes <= #{maxTrainTimes} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="minTrainDays != null">
 | 
	
		
			
				|  |  | +				trainDays >= #{minTrainDays} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="maxTrainDays != null">
 | 
	
		
			
				|  |  | +				trainDays <= #{maxTrainDays} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="minAvgTrainTimes != null">
 | 
	
		
			
				|  |  | +				avgTrainTimes >= #{minAvgTrainTimes} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +			<if test="maxAvgTrainTimes != null">
 | 
	
		
			
				|  |  | +				avgTrainTimes <= #{maxAvgTrainTimes} AND
 | 
	
		
			
				|  |  | +			</if>
 | 
	
		
			
				|  |  | +		</trim>
 | 
	
		
			
				|  |  | +		)c
 | 
	
		
			
				|  |  |  	</select>
 | 
	
		
			
				|  |  |  	<select id="wechatCompareRecordSum"
 | 
	
		
			
				|  |  |  			resultType="com.yonge.cooleshow.biz.dal.queryInfo.SysMusicCompareRecordQueryInfo$WechatCompareRecordSumDto">
 |