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 | 137 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 130 insertions(+), 7 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 0834c2b..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.result.HK.SnapshotDataMonitorResult; +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,18 +38,129 @@ 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> snapshotDataMonitorResults = mongoTemplate.find(query, SnapshotDataMonitorResult.class); - CalculationStrategy<SnapshotDataMonitorResult> siteOnlineCalculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.CAR_SiteOnline_ViewStability); - siteOnlineCalculator.calculate(snapshotDataMonitorResults); + .and("dataType").is(ApiConstants.HK_DataType_CAR)); + List<SnapshotDataMonitorResult> results = mongoTemplate.find(query, SnapshotDataMonitorResult.class); + 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鍙敤鎬с�佸ぇ鍥惧彲鐢ㄦ�� + 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_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(); + query.addCriteria(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))); + List<CrossDetailResult> results = mongoTemplate.find(query, CrossDetailResult.class); + CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_InfoAccuracy); + calculator.calculate(results); + log.info("缁撴潫璁$畻杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜�"); + } + + 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)) + .and("dataType").is(ApiConstants.HK_DataType_CAR)); + 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(); + query.addCriteria(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))); + List<DataIntegrityMonitoringResult> results = mongoTemplate.find(query, DataIntegrityMonitoringResult.class); + CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_DataIntegrity); + calculator.calculate(results); + log.info("缁撴潫璁$畻杞﹁締鏁版嵁鎶撴媿瀹屾暣鎬�"); + } + + public void clockAccuracyTask() { + log.info("寮�濮嬭绠楄溅杈嗗崱鍙h澶囨椂閽熷噯纭��"); + Date yesterday = DateUtils.addDays(new Date(), -1); + //璁$畻杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬� + Query query = new Query(); + query.addCriteria(Criteria + .where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))); + List<VehicleDeviceInspectionResult> results = mongoTemplate.find(query, VehicleDeviceInspectionResult.class); + CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_ClockAccuracy); + calculator.calculate(results); + log.info("缁撴潫璁$畻杞﹁締鍗″彛璁惧鏃堕挓鍑嗙‘鎬�"); + } + + public void directConsistentTask() { + 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))); + // 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