From 3a40cec4bd55a9668f1b47111c48e99889a5c7d8 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 02 八月 2024 11:56:43 +0800
Subject: [PATCH] 车辆时钟准确性

---
 ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

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 e8c5f19..58ff734 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/IndexCalculationServe.java
@@ -60,7 +60,7 @@
     }
 
     //杞﹁締鏁版嵁瀹屾暣鎬�
-    public BigDecimal dataIntegrity(Map<String, Object> param){
+    public BigDecimal dataIntegrity(Map<String, Object> param) {
         BigDecimal totalSites = new BigDecimal((Integer) param.get("totalSites"));
         BigDecimal importantTotalSites = new BigDecimal((Integer) param.get("importantTotalSites"));
         BigDecimal integritySites = new BigDecimal((Integer) param.get("integritySites"));
@@ -71,7 +71,7 @@
     }
 
     //杞﹁締鏁版嵁瀹屾暣鎬�
-    public BigDecimal dataAccuracy(Map<String, Object> param){
+    public BigDecimal dataAccuracy(Map<String, Object> param) {
         BigDecimal totalSites = new BigDecimal((Integer) param.get("totalSites"));
         BigDecimal importantTotalSites = new BigDecimal((Integer) param.get("importantTotalSites"));
         BigDecimal accuracySites = new BigDecimal((Integer) param.get("accuracySites"));
@@ -80,6 +80,14 @@
                 .add(importantAccuracySites.divide(importantTotalSites, 10, RoundingMode.HALF_UP));
         return result.setScale(4, RoundingMode.HALF_UP);
     }
+
+    //鏃堕挓鍑嗙‘鎬�
+    public BigDecimal clockAccuracy(Map<String, Object> param) {
+        BigDecimal totalSitesCount = new BigDecimal((Integer) param.get("totalSites"));
+        BigDecimal accuracySites = new BigDecimal((Integer) param.get("accuracySites"));
+        return accuracySites.divide(totalSitesCount, 4, RoundingMode.HALF_UP);
+    }
+
     //杩斿洖鐪佸巺鍥芥爣鐮侀泦鍚�
     public List<String> getProvince() {
         // TODO: 鍒嗙渷鍘呭競灞� 闇�瑕佽ˉ鍏呴泦鍚堟暟鎹�
@@ -95,7 +103,7 @@
     }
 
     //妫�鏌ユ槸鍚﹀瓨鍦ㄥ綋鏃ユ暟鎹�
-    public <T extends CheckIndex> T getCheckIndex(String key, List<T> checkIndexList) {
+    public <T extends CheckIndex> T getCheckIndex(String key, List<T> checkIndexList, Class<T> clazz) {
         T checkIndex;
 
         // 妫�鏌ユ槸鍚﹀凡瀛樺湪浠婃棩鏁版嵁
@@ -109,7 +117,7 @@
             checkIndex = existingIndex.get();
         } else {
             try {
-                checkIndex = (T) CheckIndexCar.class.getDeclaredConstructor().newInstance();
+                checkIndex = clazz.getDeclaredConstructor().newInstance();
                 checkIndex.setDeptId(key.startsWith("Province_") ? Long.parseLong(key.split("_")[1]) : Long.parseLong(key));
                 checkIndex.setExamineTag(key.startsWith("Province_") ? CheckConstants.Examine_Tag_City : CheckConstants.Examine_Tag_County);
                 checkIndex.setCreateTime(new Date());

--
Gitblit v1.8.0