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