| 
					
				 | 
			
			
				@@ -31,28 +31,36 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </sql> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <select id="queryList" resultType="com.fs.statis.domain.FsStatisSalerWatch"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                company_user_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ANY_VALUE(dept_id) as dept_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(train_camp_num) as train_camp_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(not_registered_num) as not_registered_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(registered_num) as registered_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(reg_rate) as reg_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(finished_rate) as finished_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(offline_total) as offline_total, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(offline_not_part) as offline_not_part, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(offline_not_watched) as offline_not_watched, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(online_total) as online_total, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(online_online_rate) as online_online_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(online_playback_comple_rate) as online_playback_comple_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(online_incomplete_playback) as online_incomplete_playback, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               sum(online_complete_playback) as online_complete_playback 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-               from fs_statis_saler_watch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SELECT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        company_user_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ANY_VALUE(dept_id) as dept_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(train_camp_num) as train_camp_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(not_registered_num) as not_registered_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(registered_num) as registered_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(offline_total) as offline_total, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(offline_not_part) as offline_not_part, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(offline_not_watched) as offline_not_watched, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(online_total) as online_total, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(online_incomplete_playback) as online_incomplete_playback, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(online_complete_playback) as online_complete_playback, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(train_camp_num) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND(SUM(registered_num) * 1.0 / SUM(train_camp_num), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as reg_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(registered_num) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND((SUM(registered_num) - SUM(not_registered_num)) * 1.0 / SUM(registered_num), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as finished_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(online_total) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND(SUM(online_complete_playback) * 1.0 / SUM(online_total), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as online_online_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(online_total) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND(SUM(online_complete_playback) * 1.0 / SUM(online_total), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as online_playback_comple_rate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FROM fs_statis_saler_watch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <if test="userIds != null and userIds.size() > 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 AND company_user_id IN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 <foreach collection="userIds" open="(" close=")" separator="," item="item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     ${item} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <foreach collection="userIds" open="(" close=")" separator="," item="item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ${item} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <if test="periodList != null and periodList.size() > 0"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -65,8 +73,99 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 AND data_date BETWEEN #{startDate} AND #{endDate} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        group by company_user_id,data_date 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GROUP BY company_user_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="queryPeriodList" resultType="com.fs.statis.domain.FsStatisSalerWatch"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SELECT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        period_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ANY_VALUE(dept_id) as dept_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(train_camp_num) as train_camp_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(not_registered_num) as not_registered_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(registered_num) as registered_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(offline_total) as offline_total, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(offline_not_part) as offline_not_part, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(offline_not_watched) as offline_not_watched, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(online_total) as online_total, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(online_incomplete_playback) as online_incomplete_playback, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(online_complete_playback) as online_complete_playback, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(train_camp_num) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND(SUM(registered_num) * 1.0 / SUM(train_camp_num), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as reg_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(registered_num) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND((SUM(registered_num) - SUM(not_registered_num)) * 1.0 / SUM(registered_num), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as finished_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(online_total) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND(SUM(online_complete_playback) * 1.0 / SUM(online_total), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as online_online_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(online_total) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND(SUM(online_complete_playback) * 1.0 / SUM(online_total), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as online_playback_comple_rate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FROM fs_statis_saler_watch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="userIds != null and userIds.size() > 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                AND company_user_id IN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <foreach collection="userIds" open="(" close=")" separator="," item="item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ${item} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="periodList != null and periodList.size() > 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                AND period_id IN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <foreach collection="periodList" open="(" close=")" separator="," item="item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    #{item} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="startDate != null and endDate != null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                AND data_date BETWEEN #{startDate} AND #{endDate} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GROUP BY period_id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <select id="queryTodayList" resultType="com.fs.statis.domain.FsStatisSalerWatch"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SELECT 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data_date, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ANY_VALUE(dept_id) as dept_id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(train_camp_num) as train_camp_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(not_registered_num) as not_registered_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(registered_num) as registered_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(offline_total) as offline_total, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(offline_not_part) as offline_not_part, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(offline_not_watched) as offline_not_watched, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(online_total) as online_total, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(online_incomplete_playback) as online_incomplete_playback, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SUM(online_complete_playback) as online_complete_playback, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(train_camp_num) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND(SUM(registered_num) * 1.0 / SUM(train_camp_num), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as reg_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(registered_num) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND((SUM(registered_num) - SUM(not_registered_num)) * 1.0 / SUM(registered_num), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as finished_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(online_total) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND(SUM(online_complete_playback) * 1.0 / SUM(online_total), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as online_online_rate, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CASE WHEN SUM(online_total) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        THEN ROUND(SUM(online_complete_playback) * 1.0 / SUM(online_total), 4) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ELSE 0 END as online_playback_comple_rate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FROM fs_statis_saler_watch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="userIds != null and userIds.size() > 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                AND company_user_id IN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <foreach collection="userIds" open="(" close=")" separator="," item="item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ${item} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="periodList != null and periodList.size() > 0"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                AND period_id IN 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <foreach collection="periodList" open="(" close=")" separator="," item="item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    #{item} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <if test="startDate != null and endDate != null"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                AND data_date BETWEEN #{startDate} AND #{endDate} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </if> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </where> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        GROUP BY data_date 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <insert id="batchSave"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         INSERT INTO fs_statis_saler_watch ( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -98,6 +197,20 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 #{item.dataDate,jdbcType=VARCHAR} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </foreach> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ON DUPLICATE KEY UPDATE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        train_camp_num = VALUES(train_camp_num), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        not_registered_num = VALUES(not_registered_num), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        registered_num = VALUES(registered_num), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        reg_rate = VALUES(reg_rate), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        finished_rate = VALUES(finished_rate), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        offline_total = VALUES(offline_total), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        offline_not_part = VALUES(offline_not_part), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        offline_not_watched = VALUES(offline_not_watched), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        online_total = VALUES(online_total), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        online_online_rate = VALUES(online_online_rate), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        online_playback_comple_rate = VALUES(online_playback_comple_rate), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        online_incomplete_playback = VALUES(online_incomplete_playback), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        online_complete_playback = VALUES(online_complete_playback) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </insert> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </mapper> 
			 |