From 9c00d2823f39154144b5cf59105028427ec32b4e Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 19 八月 2024 15:36:41 +0800 Subject: [PATCH] 车辆指标计算测试+修改 --- ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java | 4 ++-- ycl-server/src/main/java/com/ycl/calculate/CarSnapshotDelayCalculation.java | 2 +- ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java | 18 ++++++++++-------- ycl-server/src/main/java/com/ycl/task/CarTask.java | 14 ++++++++++++++ ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java | 6 +++--- 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java index 29b2db9..fac20a8 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java @@ -102,8 +102,8 @@ if (result.getMainNoIntegrityPercent() <= 0.1) { stats.integritySites++; } - //閲嶇偣鐐逛綅涓哄叚椤瑰睘鎬� - if (importantIds.contains(key)) { + //閲嶇偣鐐逛綅涓哄叚椤瑰睘鎬у畬鏁� + if (importantIds.contains(result.getExternalIndexCode())) { stats.importantTotalSites++; if (result.getNoIntegrityPercent() <= 0.1) { stats.importantIntegritySites++; diff --git a/ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java index 651d501..e9e410a 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java @@ -108,7 +108,7 @@ stats.accuracySites++; } //閲嶇偣鐐逛綅涓哄叚椤瑰睘鎬� - if (importantIds.contains(key)) { + if (importantIds.contains(result.getExternalIndexCode())) { stats.importantTotalSites++; if (vehDiff.getImportantConPercent() >= 0.9) { stats.importantAccuracySites++; @@ -118,13 +118,15 @@ if (bigUseful.getBigUsefulPercent() >= 0.9) { stats.picUsabilitySites++; } - //鍥剧墖璁块棶姝e父閲� = 鎶芥閲�-寮傚父閲� - BigDecimal picNormalCount = new BigDecimal(bigUseful.getSampleCount() - bigUseful.getBigPicExpCount()); - //鍥剧墖鎶芥閲� - BigDecimal sampleCount = new BigDecimal(bigUseful.getSampleCount()); - //鍥剧墖璁块棶鐜�>=90% 瑙嗕负鍚堟牸 - if (picNormalCount.divide(sampleCount, 4, RoundingMode.HALF_UP).compareTo(new BigDecimal("0.9")) >= 0) { - stats.urlUsabilitySites++; + if (bigUseful.getSampleCount() != 0) { + //鍥剧墖璁块棶姝e父閲� = 鎶芥閲�-寮傚父閲� + BigDecimal picNormalCount = new BigDecimal(bigUseful.getSampleCount() - bigUseful.getBigPicExpCount()); + //鍥剧墖鎶芥閲� + BigDecimal sampleCount = new BigDecimal(bigUseful.getSampleCount()); + //鍥剧墖璁块棶鐜�>=90% 瑙嗕负鍚堟牸 + if (picNormalCount.divide(sampleCount, 4, RoundingMode.HALF_UP).compareTo(new BigDecimal("0.9")) >= 0) { + stats.urlUsabilitySites++; + } } } diff --git a/ycl-server/src/main/java/com/ycl/calculate/CarSnapshotDelayCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/CarSnapshotDelayCalculation.java index 8fdd2f9..7f91098 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/CarSnapshotDelayCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/CarSnapshotDelayCalculation.java @@ -126,7 +126,7 @@ param.put("delayCount2", stats.delayCount2); param.put("delayCount3", stats.delayCount3); BigDecimal index = snapshopDelay(param); - checkIndexCar.setSiteOnline(index); + checkIndexCar.setVehicleUploadTimeliness(index); return checkIndexCar; } } diff --git a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java index aa66e08..24d8cdc 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java +++ b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java @@ -118,9 +118,9 @@ BigDecimal delayCount2 = new BigDecimal((Integer) param.get("delayCount2")); BigDecimal delayCount3 = new BigDecimal((Integer) param.get("delayCount3")); - BigDecimal result = delayCount1.divide(totalCount, 10, RoundingMode.HALF_UP).multiply(BigDecimal.ONE) + BigDecimal result = BigDecimal.ONE.subtract(delayCount1.divide(totalCount, 10, RoundingMode.HALF_UP).multiply(BigDecimal.ONE) .add(delayCount2.divide(totalCount, 10, RoundingMode.HALF_UP).multiply(new BigDecimal("0.8"))) - .add(delayCount3.divide(totalCount, 10, RoundingMode.HALF_UP).multiply(new BigDecimal("0.6"))); + .add(delayCount3.divide(totalCount, 10, RoundingMode.HALF_UP).multiply(new BigDecimal("0.6")))); return result.setScale(4, RoundingMode.HALF_UP); } @@ -131,7 +131,7 @@ BigDecimal integritySites = new BigDecimal((Integer) param.get("integritySites")); BigDecimal importantIntegritySites = new BigDecimal((Integer) param.get("importantIntegritySites")); BigDecimal result = integritySites.divide(totalSites, 10, RoundingMode.HALF_UP) - .add(importantIntegritySites.divide(importantTotalSites, 10, RoundingMode.HALF_UP)); + .multiply(importantIntegritySites.divide(importantTotalSites, 10, RoundingMode.HALF_UP)); return result.setScale(4, RoundingMode.HALF_UP); } 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 98e0042..8e5fbaa 100644 --- a/ycl-server/src/main/java/com/ycl/task/CarTask.java +++ b/ycl-server/src/main/java/com/ycl/task/CarTask.java @@ -34,6 +34,7 @@ @Autowired private TMonitorMapper monitorMapper; public void siteOnlineTask() { + log.info("寮�濮嬭绠楃偣浣嶅湪绾跨巼鍜岃鍥惧簱瀵规帴绋冲畾鎬�"); Date yesterday = DateUtils.addDays(new Date(), -1); //TODO:鏃堕棿鍐欐浜� Date date = DateUtils.getDay(2024,7,13); @@ -45,9 +46,11 @@ 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); //TODO:鏃堕棿鍐欐浜� Date date = DateUtils.getDay(2024,7,13); @@ -58,9 +61,11 @@ 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); //TODO:鏃堕棿鍐欐浜� Date date = DateUtils.getDay(2024,7,13); @@ -71,9 +76,11 @@ 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); //TODO:鏃堕棿鍐欐浜� Date date = DateUtils.getDay(2024,7,13); @@ -85,9 +92,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); //TODO:鏃堕棿鍐欐浜� Date date = DateUtils.getDay(2024,7,13); @@ -98,9 +107,11 @@ 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); //TODO:鏃堕棿鍐欐浜� Date date = DateUtils.getDay(2024,7,13); @@ -111,14 +122,17 @@ 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("寮�濮嬭绠楄溅杈嗙洰褰曚竴鑷寸巼"); //杞﹁締鐩綍涓�鑷寸巼 List<TMonitorVO> tMonitorVOS = monitorMapper.selectMonitorVOList(); List<TMonitorVO> list = tMonitorVOS.stream().filter(tMonitorVO -> !StringUtils.isEmpty(tMonitorVO.getCameraFunType()) && tMonitorVO.getCameraFunType().contains(CheckConstants.Rule_Category_Car + "")).collect(Collectors.toList()); CalculationStrategy calculator = IndexCalculationFactory.getCalculator(CalculationStrategyConstants.Car_DirectConsistent); calculator.calculate(list); + log.info("缁撴潫璁$畻杞﹁締鐩綍涓�鑷寸巼"); } } -- Gitblit v1.8.0