From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 24 六月 2025 14:09:07 +0800
Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均

---
 ycl-server/src/main/java/com/ycl/task/CarTask.java |   86 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 75 insertions(+), 11 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/task/CarTask.java b/ycl-server/src/main/java/com/ycl/task/CarTask.java
index 1c5ed20..e11a81a 100644
--- a/ycl-server/src/main/java/com/ycl/task/CarTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/CarTask.java
@@ -1,12 +1,22 @@
 package com.ycl.task;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ycl.calculate.CalculationStrategy;
 import com.ycl.factory.IndexCalculationFactory;
+import com.ycl.platform.domain.entity.YwPoint;
+import com.ycl.platform.domain.form.VideoExportForm;
 import com.ycl.platform.domain.result.HK.*;
+import com.ycl.platform.domain.result.SYS.TMonitorResult;
+import com.ycl.platform.domain.result.UY.MonitorQualifyResult;
+import com.ycl.platform.domain.vo.TMonitorVO;
+import com.ycl.platform.mapper.TMonitorMapper;
+import com.ycl.platform.mapper.YwPointMapper;
 import com.ycl.utils.DateUtils;
+import com.ycl.utils.StringUtils;
 import constant.ApiConstants;
 import constant.CalculationStrategyConstants;
+import constant.CheckConstants;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.mongodb.core.MongoTemplate;
@@ -16,6 +26,8 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
 
 /**
  * 杞﹁締璁$畻鑰冩牳鎸囨爣浠诲姟
@@ -26,31 +38,64 @@
 public class CarTask {
     @Autowired
     private MongoTemplate mongoTemplate;
-
+    @Autowired
+    private TMonitorMapper monitorMapper;
+    @Autowired
+    private YwPointMapper pointMapper;
     public void siteOnlineTask() {
+        log.info("寮�濮嬭绠楃偣浣嶅湪绾跨巼");
         Date yesterday = DateUtils.addDays(new Date(), -1);
-        //璁$畻鐐逛綅鍦ㄧ嚎鐜囧拰瑙嗗浘搴撳鎺ョǔ瀹氭��
+        //璁$畻鐐逛綅鍦ㄧ嚎鐜�
         Query query = new Query();
         query.addCriteria(Criteria
                 .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))
                 .and("dataType").is(ApiConstants.HK_DataType_CAR));
         List<SnapshotDataMonitorResult> results = mongoTemplate.find(query, SnapshotDataMonitorResult.class);
-        CalculationStrategy<SnapshotDataMonitorResult> calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_SiteOnline_ViewStability);
+        CalculationStrategy<SnapshotDataMonitorResult> calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_SiteOnline);
         calculator.calculate(results);
+        log.info("缁撴潫璁$畻鐐逛綅鍦ㄧ嚎鐜�");
+    }
+
+    public void viewConnectTask() {
+        log.info("寮�濮嬭绠楄鍥惧簱瀵规帴绋冲畾鎬�");
+        Date yesterday = DateUtils.addDays(new Date(), -1);
+        //璁$畻瑙嗗浘搴撳鎺ョǔ瀹氭��
+        Query query = new Query();
+        query.addCriteria(Criteria
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))
+                .and("dataType").is(ApiConstants.HK_DataType_CAR));
+        List<SnapshotDataMonitorResult> results = mongoTemplate.find(query, SnapshotDataMonitorResult.class);
+        CalculationStrategy<SnapshotDataMonitorResult> calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_ViewStability);
+        calculator.calculate(results);
+        log.info("缁撴潫璁$畻瑙嗗浘搴撳鎺ョǔ瀹氭��");
     }
 
     public void deviceSampleTask() {
+        log.info("寮�濮嬭绠楄溅杈嗗崱鍙h澶囨暟鎹瘑鍒噯纭�с�乽rl鍙敤鎬с�佸ぇ鍥惧彲鐢ㄦ��");
         Date yesterday = DateUtils.addDays(new Date(), -1);
-        //璁$畻杞﹁締鍗″彛璁惧鎶撴媿鏁版嵁鍑嗙‘鎬с�乽rl鍙敤鎬с�佸ぇ鍥惧彲鐢ㄦ��
+        //璁$畻杞﹁締鍗″彛璁惧鏁版嵁璇嗗埆鍑嗙‘鎬с�乽rl鍙敤鎬с�佸ぇ鍥惧彲鐢ㄦ��
         Query query = new Query();
         query.addCriteria(Criteria
                 .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
         List<VehicleDeviceSamplingResult> results = mongoTemplate.find(query, VehicleDeviceSamplingResult.class);
-        CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_DataIntegrity);
+        CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_DataAccuracy_PicUsability);
         calculator.calculate(results);
+        log.info("缁撴潫璁$畻杞﹁締鍗″彛璁惧鏁版嵁璇嗗埆鍑嗙‘鎬с�乽rl鍙敤鎬с�佸ぇ鍥惧彲鐢ㄦ��");
     }
-
+    public void carUrlTask() {
+        log.info("寮�濮嬭绠楄溅杈唘rl鍙敤鎬�");
+        Date yesterday = DateUtils.addDays(new Date(), -1);
+        //璁$畻杞﹁締鍗″彛璁惧鏁版嵁璇嗗埆鍑嗙‘鎬с�乽rl鍙敤鎬с�佸ぇ鍥惧彲鐢ㄦ��
+        Query query = new Query();
+        query.addCriteria(Criteria
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
+        List<PicAccessResult> results = mongoTemplate.find(query, PicAccessResult.class);
+        CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_Url);
+        calculator.calculate(results);
+        log.info("缁撴潫璁$畻url鍙敤鎬�");
+    }
     public void infoAccuracyTask() {
+        log.info("寮�濮嬭绠楄溅杈嗗崱鍙d俊鎭噰闆嗗噯纭巼");
         Date yesterday = DateUtils.addDays(new Date(), -1);
         //璁$畻杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�
         Query query = new Query();
@@ -59,11 +104,13 @@
         List<CrossDetailResult> results = mongoTemplate.find(query, CrossDetailResult.class);
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_InfoAccuracy);
         calculator.calculate(results);
+        log.info("缁撴潫璁$畻杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�");
     }
 
-    public void snapShopDelay() {
+    public void snapShopDelayTask() {
+        log.info("寮�濮嬭绠楄溅杈嗘姄鎷嶆暟鎹笂浼犲強鏃舵��");
         Date yesterday = DateUtils.addDays(new Date(), -1);
-        //璁$畻杞﹁締鎶撴媿鏁版嵁涓婁紶寤惰繜
+        //璁$畻杞﹁締鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬�
         Query query = new Query();
         query.addCriteria(Criteria
                 .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))
@@ -71,9 +118,11 @@
         List<SnapshotDelayMonitorResult> results = mongoTemplate.find(query, SnapshotDelayMonitorResult.class);
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_SnapshotDelay);
         calculator.calculate(results);
+        log.info("缁撴潫璁$畻杞﹁締鎶撴媿鏁版嵁涓婁紶鍙婃椂鎬�");
     }
 
     public void snapShopDataIntegrity() {
+        log.info("寮�濮嬭绠楄溅杈嗘暟鎹姄鎷嶅畬鏁存��");
         Date yesterday = DateUtils.addDays(new Date(), -1);
         //璁$畻杞﹁締鏁版嵁鎶撴媿瀹屾暣鎬�
         Query query = new Query();
@@ -82,9 +131,11 @@
         List<DataIntegrityMonitoringResult> results = mongoTemplate.find(query, DataIntegrityMonitoringResult.class);
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_DataIntegrity);
         calculator.calculate(results);
+        log.info("缁撴潫璁$畻杞﹁締鏁版嵁鎶撴媿瀹屾暣鎬�");
     }
 
-    public void CarClockAccuracyTask() {
+    public void clockAccuracyTask() {
+        log.info("寮�濮嬭绠楄溅杈嗗崱鍙h澶囨椂閽熷噯纭��");
         Date yesterday = DateUtils.addDays(new Date(), -1);
         //璁$畻杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬�
         Query query = new Query();
@@ -93,10 +144,23 @@
         List<VehicleDeviceInspectionResult> results = mongoTemplate.find(query, VehicleDeviceInspectionResult.class);
         CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_ClockAccuracy);
         calculator.calculate(results);
+        log.info("缁撴潫璁$畻杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬�");
     }
 
-    public void test() {
+    public void directConsistentTask() {
+        log.info("寮�濮嬭绠楄溅杈嗙洰褰曚竴鑷寸巼");
+        //杞﹁締鐩綍涓�鑷寸巼
         Date yesterday = DateUtils.addDays(new Date(), -1);
-        //TODO锛氫竴鏈轰竴妗� 鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼 鍙杛edis
+        Query query = new Query();
+        query.addCriteria(Criteria
+                .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday)));
+        // 1/2/3 瑙嗛/杞﹁締/浜鸿劯
+        Pattern pattern = Pattern.compile(".*2.*");
+        query.addCriteria(Criteria.where("sxjgnlx.value").regex(pattern));
+        List<MonitorQualifyResult> results = mongoTemplate.find(query, MonitorQualifyResult.class);
+        CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_DirectConsistent);
+        calculator.calculate(results);
+        log.info("缁撴潫璁$畻杞﹁締鐩綍涓�鑷寸巼");
     }
+
 }

--
Gitblit v1.8.0