|
@@ -1278,9 +1278,7 @@ FROM
|
|
|
COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.log_id END) AS finishedCount,
|
|
COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.log_id END) AS finishedCount,
|
|
|
COUNT(DISTINCT CASE WHEN log.log_type IN ('1', '3', '4') THEN log.log_id END) AS unfinishedCount,
|
|
COUNT(DISTINCT CASE WHEN log.log_type IN ('1', '3', '4') THEN log.log_id END) AS unfinishedCount,
|
|
|
COUNT(DISTINCT log.log_id)-COUNT(DISTINCT log.user_id) AS notWatchedCount,
|
|
COUNT(DISTINCT log.log_id)-COUNT(DISTINCT log.user_id) AS notWatchedCount,
|
|
|
- COUNT(DISTINCT log.log_id) - COUNT(DISTINCT a.watch_log_id) AS notAnsweredCount,
|
|
|
|
|
- COALESCE(SUM(rp.amount), 0) AS redPacketAmount,
|
|
|
|
|
- COUNT(rp.log_id) AS redPacketCount
|
|
|
|
|
|
|
+ COUNT(DISTINCT log.log_id) - COUNT(DISTINCT a.watch_log_id) AS notAnsweredCount
|
|
|
FROM
|
|
FROM
|
|
|
fs_course_watch_log log
|
|
fs_course_watch_log log
|
|
|
<if test="orderSTime != null and orderETime != null">
|
|
<if test="orderSTime != null and orderETime != null">
|
|
@@ -1291,7 +1289,6 @@ FROM
|
|
|
LEFT JOIN company_dept d ON cu.dept_id = d.dept_id
|
|
LEFT JOIN company_dept d ON cu.dept_id = d.dept_id
|
|
|
LEFT JOIN company c ON d.company_id = c.company_id
|
|
LEFT JOIN company c ON d.company_id = c.company_id
|
|
|
LEFT JOIN fs_course_answer_logs a ON a.watch_log_id = log.log_id
|
|
LEFT JOIN fs_course_answer_logs a ON a.watch_log_id = log.log_id
|
|
|
- LEFT JOIN fs_course_red_packet_log rp ON rp.watch_log_id = log.log_id
|
|
|
|
|
WHERE log.send_type =1 and log.watch_type =2
|
|
WHERE log.send_type =1 and log.watch_type =2
|
|
|
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
|
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
|
|
AND log.create_time >= #{startDate} AND log.create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
|
AND log.create_time >= #{startDate} AND log.create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
|
@@ -1333,27 +1330,27 @@ FROM
|
|
|
GROUP BY cu.user_id
|
|
GROUP BY cu.user_id
|
|
|
|
|
|
|
|
</select>
|
|
</select>
|
|
|
- <select id="selectCompanyBaseData" resultType="com.fs.his.vo.WatchLogReportVO">
|
|
|
|
|
- SELECT
|
|
|
|
|
- log.user_id userId,
|
|
|
|
|
- log.period_id periodId,
|
|
|
|
|
- log.log_id logId,
|
|
|
|
|
- log.create_time courseTime,
|
|
|
|
|
- d.dept_id AS deptId,
|
|
|
|
|
- d.dept_name AS salesDept,
|
|
|
|
|
- c.company_name AS salesCompany,
|
|
|
|
|
- COUNT(DISTINCT cu.user_id) AS salesCount,
|
|
|
|
|
- COUNT(DISTINCT u.user_id) AS userCount,
|
|
|
|
|
- COUNT(DISTINCT CASE WHEN u.STATUS = 1 THEN u.user_id END) AS onlineUserCount,
|
|
|
|
|
- cv.title videoTitle,
|
|
|
|
|
- COUNT(DISTINCT log.log_id) AS totalLogCount,
|
|
|
|
|
- COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.log_id END) AS finishedCount,
|
|
|
|
|
- COUNT(DISTINCT CASE WHEN log.log_type IN ('1', '3', '4') THEN log.log_id END) AS unfinishedCount,
|
|
|
|
|
- COUNT(DISTINCT log.user_id) - COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.user_id END) AS notWatchedCount
|
|
|
|
|
- FROM fs_course_watch_log log
|
|
|
|
|
- <if test="orderSTime != null and orderETime != null">
|
|
|
|
|
- LEFT JOIN fs_package_order po ON po.user_id = log.user_id
|
|
|
|
|
- </if>
|
|
|
|
|
|
|
+ <select id="selectCompanyBaseData" resultType="com.fs.his.vo.WatchLogReportVO">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ log.user_id userId,
|
|
|
|
|
+ log.period_id periodId,
|
|
|
|
|
+ log.log_id logId,
|
|
|
|
|
+ log.create_time courseTime,
|
|
|
|
|
+ d.dept_id AS deptId,
|
|
|
|
|
+ d.dept_name AS salesDept,
|
|
|
|
|
+ c.company_name AS salesCompany,
|
|
|
|
|
+ COUNT(DISTINCT cu.user_id) AS salesCount,
|
|
|
|
|
+ COUNT(DISTINCT u.user_id) AS userCount,
|
|
|
|
|
+ COUNT(DISTINCT CASE WHEN u.STATUS = 1 THEN u.user_id END) AS onlineUserCount,
|
|
|
|
|
+ cv.title videoTitle,
|
|
|
|
|
+ COUNT(DISTINCT log.log_id) AS totalLogCount,
|
|
|
|
|
+ COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.log_id END) AS finishedCount,
|
|
|
|
|
+ COUNT(DISTINCT CASE WHEN log.log_type IN ('1', '3', '4') THEN log.log_id END) AS unfinishedCount,
|
|
|
|
|
+ COUNT(DISTINCT log.user_id) - COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.user_id END) AS notWatchedCount
|
|
|
|
|
+ FROM fs_course_watch_log log
|
|
|
|
|
+ <if test="orderSTime != null and orderETime != null">
|
|
|
|
|
+ LEFT JOIN fs_package_order po ON po.user_id = log.user_id
|
|
|
|
|
+ </if>
|
|
|
LEFT JOIN company_user cu ON log.company_user_id = cu.user_id
|
|
LEFT JOIN company_user cu ON log.company_user_id = cu.user_id
|
|
|
LEFT JOIN fs_user u on log.user_id= u.user_id
|
|
LEFT JOIN fs_user u on log.user_id= u.user_id
|
|
|
LEFT JOIN company_dept d ON cu.dept_id = d.dept_id
|
|
LEFT JOIN company_dept d ON cu.dept_id = d.dept_id
|
|
@@ -1467,6 +1464,54 @@ FROM
|
|
|
</foreach>
|
|
</foreach>
|
|
|
GROUP BY rp.watch_log_id
|
|
GROUP BY rp.watch_log_id
|
|
|
</select>
|
|
</select>
|
|
|
|
|
+
|
|
|
|
|
+ <select id="selectRedPacketStatsByCompanyUserIds" resultType="com.fs.his.vo.WatchLogReportVO">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ w.company_user_id AS companyUserId,
|
|
|
|
|
+ SUM(rp.amount) AS redPacketAmount,
|
|
|
|
|
+ COUNT(rp.log_id) AS redPacketCount
|
|
|
|
|
+ FROM fs_course_red_packet_log rp
|
|
|
|
|
+ INNER JOIN fs_course_watch_log w ON rp.watch_log_id = w.log_id
|
|
|
|
|
+ WHERE w.company_user_id IN
|
|
|
|
|
+ <foreach collection="companyUserIds" item="companyUserId" open="(" separator="," close=")">
|
|
|
|
|
+ #{companyUserId}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ <if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
|
|
|
|
+ AND w.create_time >= #{startDate} AND w.create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="periodId != null and periodId != ''">
|
|
|
|
|
+ AND w.period_id = #{periodId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="trainingCampId != null and trainingCampId != ''">
|
|
|
|
|
+ AND w.period_id IN (SELECT period_id FROM fs_user_course_period WHERE training_camp_id = #{trainingCampId})
|
|
|
|
|
+ </if>
|
|
|
|
|
+ GROUP BY w.company_user_id
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <select id="selectRedPacketStatsByDeptIds" resultType="com.fs.his.vo.WatchLogReportVO">
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ cu.dept_id AS deptId,
|
|
|
|
|
+ SUM(rp.amount) AS redPacketAmount,
|
|
|
|
|
+ COUNT(rp.log_id) AS redPacketCount
|
|
|
|
|
+ FROM fs_course_red_packet_log rp
|
|
|
|
|
+ INNER JOIN fs_course_watch_log w ON rp.watch_log_id = w.log_id
|
|
|
|
|
+ INNER JOIN company_user cu ON w.company_user_id = cu.user_id
|
|
|
|
|
+ WHERE cu.dept_id IN
|
|
|
|
|
+ <foreach collection="deptIds" item="deptId" open="(" separator="," close=")">
|
|
|
|
|
+ #{deptId}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ <if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
|
|
|
|
+ AND w.create_time >= #{startDate} AND w.create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="periodId != null and periodId != ''">
|
|
|
|
|
+ AND w.period_id = #{periodId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="trainingCampId != null and trainingCampId != ''">
|
|
|
|
|
+ AND w.period_id IN (SELECT period_id FROM fs_user_course_period WHERE training_camp_id = #{trainingCampId})
|
|
|
|
|
+ </if>
|
|
|
|
|
+ GROUP BY cu.dept_id
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
<select id="selectOrderStats" resultType="com.fs.his.vo.WatchLogReportVO">
|
|
<select id="selectOrderStats" resultType="com.fs.his.vo.WatchLogReportVO">
|
|
|
SELECT
|
|
SELECT
|
|
|
user_id AS userId,
|
|
user_id AS userId,
|
|
@@ -1835,16 +1880,13 @@ FROM
|
|
|
COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.log_id END) AS finishedCount,
|
|
COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.log_id END) AS finishedCount,
|
|
|
COUNT(DISTINCT CASE WHEN log.log_type IN ('1', '3', '4') THEN log.log_id END) AS unfinishedCount,
|
|
COUNT(DISTINCT CASE WHEN log.log_type IN ('1', '3', '4') THEN log.log_id END) AS unfinishedCount,
|
|
|
COUNT(DISTINCT log.user_id) - COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.user_id END) AS notWatchedCount,
|
|
COUNT(DISTINCT log.user_id) - COUNT(DISTINCT CASE WHEN log.log_type = '2' THEN log.user_id END) AS notWatchedCount,
|
|
|
- COUNT(DISTINCT log.log_id) - COUNT(DISTINCT a.watch_log_id) AS notAnsweredCount,
|
|
|
|
|
- COALESCE(SUM(rp.amount), 0) AS redPacketAmount,
|
|
|
|
|
- COUNT(rp.log_id) AS redPacketCount
|
|
|
|
|
|
|
+ COUNT(DISTINCT log.log_id) - COUNT(DISTINCT a.watch_log_id) AS notAnsweredCount
|
|
|
FROM fs_course_watch_log log
|
|
FROM fs_course_watch_log log
|
|
|
LEFT JOIN company_user cu ON log.company_user_id = cu.user_id
|
|
LEFT JOIN company_user cu ON log.company_user_id = cu.user_id
|
|
|
LEFT JOIN fs_user u ON log.user_id = u.user_id
|
|
LEFT JOIN fs_user u ON log.user_id = u.user_id
|
|
|
LEFT JOIN company_dept d ON cu.dept_id = d.dept_id
|
|
LEFT JOIN company_dept d ON cu.dept_id = d.dept_id
|
|
|
LEFT JOIN company c ON d.company_id = c.company_id
|
|
LEFT JOIN company c ON d.company_id = c.company_id
|
|
|
LEFT JOIN fs_course_answer_logs a ON a.watch_log_id = log.log_id
|
|
LEFT JOIN fs_course_answer_logs a ON a.watch_log_id = log.log_id
|
|
|
- LEFT JOIN fs_course_red_packet_log rp ON rp.watch_log_id = log.log_id
|
|
|
|
|
WHERE log.send_type = 1 AND log.watch_type = 2
|
|
WHERE log.send_type = 1 AND log.watch_type = 2
|
|
|
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
|
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
|
|
AND log.create_time >= #{startDate} AND log.create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
|
AND log.create_time >= #{startDate} AND log.create_time < DATE_ADD(#{endDate}, INTERVAL 1 DAY)
|
|
@@ -2114,7 +2156,7 @@ FROM
|
|
|
SELECT
|
|
SELECT
|
|
|
log.user_id userId,
|
|
log.user_id userId,
|
|
|
u.nick_name AS nickName,
|
|
u.nick_name AS nickName,
|
|
|
- u.source loginChannel,
|
|
|
|
|
|
|
+ u.app_create_time loginChannel,
|
|
|
cu.nick_name AS salesName,
|
|
cu.nick_name AS salesName,
|
|
|
c.company_name AS salesCompany,
|
|
c.company_name AS salesCompany,
|
|
|
cd.dept_name AS salesDept,
|
|
cd.dept_name AS salesDept,
|