From b14531e3b850fe6d2fa916ba7b88b3e2bd2ff30a Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 11 九月 2024 16:47:48 +0800 Subject: [PATCH] OSD加标签 --- ycl-server/src/main/java/com/ycl/task/CarTask.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 93 insertions(+), 9 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 5608389..dff3938 100644 --- a/ycl-server/src/main/java/com/ycl/task/CarTask.java +++ b/ycl-server/src/main/java/com/ycl/task/CarTask.java @@ -1,14 +1,21 @@ 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.CrossDetailResult; -import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; -import com.ycl.platform.domain.result.HK.SnapshotDelayMonitorResult; +import com.ycl.platform.domain.entity.YwPoint; +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; @@ -18,6 +25,8 @@ import java.util.Date; import java.util.List; +import java.util.regex.Pattern; +import java.util.stream.Collectors; /** * 杞﹁締璁$畻鑰冩牳鎸囨爣浠诲姟 @@ -28,19 +37,49 @@ public class CarTask { @Autowired private MongoTemplate mongoTemplate; - + @Autowired + private TMonitorMapper monitorMapper; + @Autowired + private YwPointMapper pointMapper; + //TODO锛氬姞浠诲姟 public void siteOnlineTask() { + log.info("寮�濮嬭绠楃偣浣嶅湪绾跨巼"); + List<TMonitorResult> tMonitorResults = monitorMapper.selectMonitorResult(CheckConstants.Rule_Category_Car); + CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_SiteOnline); + calculator.calculate(tMonitorResults); + log.info("缁撴潫璁$畻瑙嗗浘搴撳鎺ョǔ瀹氭��"); + } + + //TODO锛氭敼浠诲姟鍚� + 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_SiteOnline_ViewStability); + CalculationStrategy<SnapshotDataMonitorResult> calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_ViewStability); calculator.calculate(results); + log.info("缁撴潫璁$畻瑙嗗浘搴撳鎺ョǔ瀹氭��"); } - public void infoAccuracyTask(){ + + 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_Url_PicUsability); + calculator.calculate(results); + log.info("缁撴潫璁$畻杞﹁締鍗″彛璁惧鏁版嵁璇嗗埆鍑嗙‘鎬с�乽rl鍙敤鎬с�佸ぇ鍥惧彲鐢ㄦ��"); + } + + public void infoAccuracyTask() { + log.info("寮�濮嬭绠楄溅杈嗗崱鍙d俊鎭噰闆嗗噯纭巼"); Date yesterday = DateUtils.addDays(new Date(), -1); //璁$畻杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� Query query = new Query(); @@ -49,10 +88,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)) @@ -60,7 +102,49 @@ 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