Explorar o código

课程数据汇总

xdd hai 3 semanas
pai
achega
da89a472e9

+ 2 - 2
fs-company/src/main/java/com/fs/course/controller/FsCourseWatchLogController.java

@@ -115,7 +115,7 @@ public class FsCourseWatchLogController extends BaseController
         if (param.getSTime()==null||param.getETime()==null){
             return getDataTable(new ArrayList<>());
         }
-        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVO(param);
+        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVONew(param);
         return getDataTable(list);
     }
     @GetMapping("/myQwWatchLogAllStatisticsList")
@@ -128,7 +128,7 @@ public class FsCourseWatchLogController extends BaseController
         if (param.getSTime()==null||param.getETime()==null){
             return getDataTable(new ArrayList<>());
         }
-        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVO(param);
+        List<QwWatchLogAllStatisticsListVO> list = qwWatchLogService.selectQwWatchLogAllStatisticsListVONew(param);
         return getDataTable(list);
     }
     @GetMapping("/watchLogStatistics")

+ 69 - 0
fs-service-system/src/main/java/com/fs/qw/mapper/QwWatchLogMapper.java

@@ -185,6 +185,75 @@ public interface QwWatchLogMapper extends BaseMapper<QwWatchLog>{
             "COUNT(CASE WHEN day = 30 and status=2 THEN 1 END) AS d30Over" +
             " from qw_watch_log where qw_user_id=#{id} and DATE(line_time) = DATE(#{createTime})")
     QwWatchLogAllStatisticsListVO selectQwWatchLogAllStatisticsListVO(@Param("id")Long id,@Param("createTime") Date createTime);
+
+
+
+    @Select("select \n" +
+            "COUNT(CASE WHEN day = 0 and status in (1,2) THEN 1 END) AS firstOnline,\n" +
+            "COUNT(CASE WHEN day = 0 and status=2 THEN 1 END) AS firstOver,\n" +
+            "COUNT(CASE WHEN day = 1 and status in (1,2) THEN 1 END) AS d1Online,\n" +
+            "COUNT(CASE WHEN day = 1 and status=2 THEN 1 END) AS d1Over,\n" +
+            "COUNT(CASE WHEN day = 2 and status in (1,2) THEN 1 END) AS d2Online,\n" +
+            "COUNT(CASE WHEN day = 2 and status=2 THEN 1 END) AS d2Over,\n" +
+            "COUNT(CASE WHEN day = 3 and status in (1,2) THEN 1 END) AS d3Online,\n" +
+            "COUNT(CASE WHEN day = 3 and status=2 THEN 1 END) AS d3Over,\n" +
+            "COUNT(CASE WHEN day = 4 and status in (1,2) THEN 1 END) AS d4Online,\n" +
+            "COUNT(CASE WHEN day = 4 and status=2 THEN 1 END) AS d4Over,\n" +
+            "COUNT(CASE WHEN day = 5 and status in (1,2) THEN 1 END) AS d5Online,\n" +
+            "COUNT(CASE WHEN day = 5 and status=2 THEN 1 END) AS d5Over,\n" +
+            "COUNT(CASE WHEN day = 6 and status in (1,2) THEN 1 END) AS d6Online,\n" +
+            "COUNT(CASE WHEN day = 6 and status=2 THEN 1 END) AS d6Over,\n" +
+            "COUNT(CASE WHEN day = 7 and status in (1,2) THEN 1 END) AS d7Online,\n" +
+            "COUNT(CASE WHEN day = 7 and status=2 THEN 1 END) AS d7Over,\n" +
+            "COUNT(CASE WHEN day = 8 and status in (1,2) THEN 1 END) AS d8Online,\n" +
+            "COUNT(CASE WHEN day = 8 and status=2 THEN 1 END) AS d8Over,\n" +
+            "COUNT(CASE WHEN day = 9 and status in (1,2) THEN 1 END) AS d9Online,\n" +
+            "COUNT(CASE WHEN day = 9 and status=2 THEN 1 END) AS d9Over,\n" +
+            "COUNT(CASE WHEN day = 10 and status in (1,2) THEN 1 END) AS d10Online,\n" +
+            "COUNT(CASE WHEN day = 10 and status=2 THEN 1 END) AS d10Over,\n" +
+            "COUNT(CASE WHEN day = 11 and status in (1,2) THEN 1 END) AS d11Online,\n" +
+            "COUNT(CASE WHEN day = 11 and status=2 THEN 1 END) AS d11Over,\n" +
+            "COUNT(CASE WHEN day = 12 and status in (1,2) THEN 1 END) AS d12Online,\n" +
+            "COUNT(CASE WHEN day = 12 and status=2 THEN 1 END) AS d12Over,\n" +
+            "COUNT(CASE WHEN day = 13 and status in (1,2) THEN 1 END) AS d13Online,\n" +
+            "COUNT(CASE WHEN day = 13 and status=2 THEN 1 END) AS d13Over,\n" +
+            "COUNT(CASE WHEN day = 14 and status in (1,2) THEN 1 END) AS d14Online,\n" +
+            "COUNT(CASE WHEN day = 14 and status=2 THEN 1 END) AS d14Over,\n" +
+            "COUNT(CASE WHEN day = 15 and status in (1,2) THEN 1 END) AS d15Online,\n" +
+            "COUNT(CASE WHEN day = 15 and status=2 THEN 1 END) AS d15Over,\n" +
+            "COUNT(CASE WHEN day = 16 and status in (1,2) THEN 1 END) AS d16Online,\n" +
+            "COUNT(CASE WHEN day = 16 and status=2 THEN 1 END) AS d16Over,\n" +
+            "COUNT(CASE WHEN day = 17 and status in (1,2) THEN 1 END) AS d17Online,\n" +
+            "COUNT(CASE WHEN day = 17 and status=2 THEN 1 END) AS d17Over,\n" +
+            "COUNT(CASE WHEN day = 18 and status in (1,2) THEN 1 END) AS d18Online,\n" +
+            "COUNT(CASE WHEN day = 18 and status=2 THEN 1 END) AS d18Over,\n" +
+            "COUNT(CASE WHEN day = 19 and status in (1,2) THEN 1 END) AS d19Online,\n" +
+            "COUNT(CASE WHEN day = 19 and status=2 THEN 1 END) AS d19Over,\n" +
+            "COUNT(CASE WHEN day = 20 and status in (1,2) THEN 1 END) AS d20Online,\n" +
+            "COUNT(CASE WHEN day = 20 and status=2 THEN 1 END) AS d20Over,\n" +
+            "COUNT(CASE WHEN day = 21 and status in (1,2) THEN 1 END) AS d21Online,\n" +
+            "COUNT(CASE WHEN day = 21 and status=2 THEN 1 END) AS d21Over,\n" +
+            "COUNT(CASE WHEN day = 22 and status in (1,2) THEN 1 END) AS d22Online,\n" +
+            "COUNT(CASE WHEN day = 22 and status=2 THEN 1 END) AS d22Over,\n" +
+            "COUNT(CASE WHEN day = 23 and status in (1,2) THEN 1 END) AS d23Online,\n" +
+            "COUNT(CASE WHEN day = 23 and status=2 THEN 1 END) AS d23Over,\n" +
+            "COUNT(CASE WHEN day = 24 and status in (1,2) THEN 1 END) AS d24Online,\n" +
+            "COUNT(CASE WHEN day = 24 and status=2 THEN 1 END) AS d24Over,\n" +
+            "COUNT(CASE WHEN day = 25 and status in (1,2) THEN 1 END) AS d25Online,\n" +
+            "COUNT(CASE WHEN day = 25 and status=2 THEN 1 END) AS d25Over,\n" +
+            "COUNT(CASE WHEN day = 26 and status in (1,2) THEN 1 END) AS d26Online,\n" +
+            "COUNT(CASE WHEN day = 26 and status=2 THEN 1 END) AS d26Over,\n" +
+            "COUNT(CASE WHEN day = 27 and status in (1,2) THEN 1 END) AS d27Online,\n" +
+            "COUNT(CASE WHEN day = 27 and status=2 THEN 1 END) AS d27Over,\n" +
+            "COUNT(CASE WHEN day = 28 and status in (1,2) THEN 1 END) AS d28Online,\n" +
+            "COUNT(CASE WHEN day = 28 and status=2 THEN 1 END) AS d28Over,\n" +
+            "COUNT(CASE WHEN day = 29 and status in (1,2) THEN 1 END) AS d29Online,\n" +
+            "COUNT(CASE WHEN day = 29 and status=2 THEN 1 END) AS d29Over,\n" +
+            "COUNT(CASE WHEN day = 30 and status in (1,2) THEN 1 END) AS d30Online,\n" +
+            "COUNT(CASE WHEN day = 30 and status=2 THEN 1 END) AS d30Over," +
+            "COUNT(1) AS line" +
+            " from qw_watch_log where company_user_id=#{companyUserId} and DATE(line_time) between #{sDate} AND #{eDate}")
+    QwWatchLogAllStatisticsListVO selectQwWatchLogAllStatisticsListVONew(@Param("companyUserId")Long companyUserId,@Param("sDate") Date sDate,@Param("eDate") Date eDate);
     @Select({"<script> " +
             "SELECT\n" +
             "    qec.qw_user_id id,\n" +

+ 1 - 0
fs-service-system/src/main/java/com/fs/qw/service/IQwWatchLogService.java

@@ -67,4 +67,5 @@ public interface IQwWatchLogService extends IService<QwWatchLog>{
     List<QwWatchLogStatisticsListVO> selectQwWatchLogStatisticsListVONew(QwWatchLogStatisticsListParam param);
 
     List<QwWatchLogAllStatisticsListVO> selectQwWatchLogAllStatisticsListVO(QwWatchLogStatisticsListParam param);
+    List<QwWatchLogAllStatisticsListVO> selectQwWatchLogAllStatisticsListVONew(QwWatchLogStatisticsListParam param);
 }

+ 13 - 0
fs-service-system/src/main/java/com/fs/qw/service/impl/QwWatchLogServiceImpl.java

@@ -173,9 +173,22 @@ public class QwWatchLogServiceImpl extends ServiceImpl<QwWatchLogMapper, QwWatch
             list.add(stat);
         }
 
+        return list;
+    }
 
+    @Override
+    public List<QwWatchLogAllStatisticsListVO> selectQwWatchLogAllStatisticsListVONew(QwWatchLogStatisticsListParam param) {
+        // 获取当前公司下的所有销售
+        List<CompanyUser> companyUsers = companyUserMapper.selectCompanyUserByCompanyId(param.getCompanyId());
 
+        List<QwWatchLogAllStatisticsListVO> list = new ArrayList<>();
 
+        for (CompanyUser companyUser : companyUsers) {
+            QwWatchLogAllStatisticsListVO vo = qwWatchLogMapper.selectQwWatchLogAllStatisticsListVONew(companyUser.getCompanyId(), param.getSTime(), param.getETime());
+            vo.setQwUserName(companyUser.getUserName());
+            vo.setCreateTime(companyUser.getCreateTime());
+            list.add(vo);
+        }
         return list;
     }