From f8889f7364adae89e45a5ec3fcf4b38e430cf389 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 10 九月 2024 10:41:18 +0800 Subject: [PATCH] 工单详情 --- ycl-server/src/main/java/com/ycl/task/CarTask.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 98 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..af47c9a 100644 --- a/ycl-server/src/main/java/com/ycl/task/CarTask.java +++ b/ycl-server/src/main/java/com/ycl/task/CarTask.java @@ -3,10 +3,15 @@ import com.ycl.calculate.CalculationStrategy; import com.ycl.factory.IndexCalculationFactory; -import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; +import com.ycl.platform.domain.result.HK.*; +import com.ycl.platform.domain.result.UY.MonitorQualifyResult; +import com.ycl.platform.domain.vo.TMonitorVO; +import com.ycl.platform.mapper.TMonitorMapper; 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 +21,8 @@ import java.util.Date; import java.util.List; +import java.util.regex.Pattern; +import java.util.stream.Collectors; /** * 杞﹁締璁$畻鑰冩牳鎸囨爣浠诲姟 @@ -26,18 +33,102 @@ public class CarTask { @Autowired private MongoTemplate mongoTemplate; - + @Autowired + private TMonitorMapper monitorMapper; 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_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_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(); + 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