From 5533880a277aa5dd75c1794f7f5fa4426ea41d6e Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 14 十一月 2024 23:54:08 +0800
Subject: [PATCH] 白名单故障类型

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
index 8da0676..781bf2b 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
@@ -43,6 +43,7 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
@@ -85,8 +86,12 @@
         if (params.getOption() != null) {
             query.addCriteria(Criteria.where("online").is(params.getOption()));
         }
+        Sort sort = Sort.by(
+                Sort.Order.asc("pingOnline"), // 棣栧厛鎸夌収 pingOnline 鍗囧簭鎺掑簭
+                Sort.Order.desc("offLineCount") // 棣栧厛鎸夌収 pingOnline 鍗囧簭鎺掑簭
+        );
         // 閫氳繃pingOnline瀛楁鎺掑簭锛屼负false鐨勬帓鍦ㄥ墠闈�
-        query.with(Sort.by(Sort.Order.asc("pingOnline")));
+        query.with(sort);
         //鍒嗛〉鏁伴噺
         long total = mongoTemplate.count(query, TMonitorResult.class);
         MongoUtil.setPage(query, params, TIME_FIELD);
@@ -105,6 +110,14 @@
                 item.setOnlineStr("绂荤嚎");
             } else {
                 item.setOnlineStr("鏈煡");
+            }
+            List<String> offLineTime = item.getOffLineTimeStr();
+            if(!CollectionUtils.isEmpty(offLineTime)) {
+                //鍚庣画鍙互鏀规垚閰嶇疆鐨勭绾挎鏁�(鎻愬彇鍓峮娆★紝n涓洪厤缃殑绂荤嚎娆℃暟)
+                if (offLineTime.size() > 1) {
+                    offLineTime = offLineTime.subList(0, 2);
+                }
+                item.setOffLineTimeStr(offLineTime);
             }
         });
         params.setDeptTag(-1);
@@ -1006,7 +1019,7 @@
     @Override
     public Result videoImportantPointLabelingAccuracy(DataCenterQuery params) {
         List<String> likeFileds = Arrays.asList("deviceNo", "osdName");
-        List<Criteria> andCriteria = MongoUtil.getAndCriteria(params, "checkTime", likeFileds, 3);
+        List<Criteria> andCriteria = MongoUtil.getAndCriteria(params, "checkTime", likeFileds, null);
         Query query = new Query();
         Criteria and = new Criteria();
         and.andOperator(andCriteria);
@@ -1385,8 +1398,12 @@
         if (params.getOption() != null) {
             query.addCriteria(Criteria.where("online").is(params.getOption()));
         }
+        Sort sort = Sort.by(
+                Sort.Order.asc("pingOnline"), // 棣栧厛鎸夌収 pingOnline 鍗囧簭鎺掑簭
+                Sort.Order.desc("offLineCount") // 棣栧厛鎸夌収 pingOnline 鍗囧簭鎺掑簭
+        );
         // 閫氳繃pingOnline瀛楁鎺掑簭锛屼负false鐨勬帓鍦ㄥ墠闈�
-        query.with(Sort.by(Sort.Order.asc("pingOnline")));
+        query.with(sort);
         //鍒嗛〉鏁伴噺
         long total = mongoTemplate.count(query, TMonitorResult.class);
         MongoUtil.setPage(query, params, TIME_FIELD);
@@ -1408,6 +1425,14 @@
                 item.setOnlineStr("绂荤嚎");
             } else {
                 item.setOnlineStr("鏈煡");
+            }
+            List<String> offLineTime = item.getOffLineTimeStr();
+            if(!CollectionUtils.isEmpty(offLineTime)) {
+                //鍚庣画鍙互鏀规垚閰嶇疆鐨勭绾挎鏁�(鎻愬彇鍓峮娆★紝n涓洪厤缃殑绂荤嚎娆℃暟)
+                if (offLineTime.size() > 1) {
+                    offLineTime = offLineTime.subList(0, 2);
+                }
+                item.setOffLineTimeStr(offLineTime);
             }
         });
 
@@ -2193,8 +2218,12 @@
         if (params.getOption() != null) {
             query.addCriteria(Criteria.where("online").is(params.getOption()));
         }
+        Sort sort = Sort.by(
+                Sort.Order.asc("pingOnline"), // 棣栧厛鎸夌収 pingOnline 鍗囧簭鎺掑簭
+                Sort.Order.desc("offLineCount") // 棣栧厛鎸夌収 pingOnline 鍗囧簭鎺掑簭
+        );
         // 閫氳繃pingOnline瀛楁鎺掑簭锛屼负false鐨勬帓鍦ㄥ墠闈�
-        query.with(Sort.by(Sort.Order.asc("pingOnline")));
+        query.with(sort);
         //鍒嗛〉鏁伴噺
         long total = mongoTemplate.count(query, TMonitorResult.class);
         MongoUtil.setPage(query, params, TIME_FIELD);
@@ -2214,11 +2243,19 @@
             } else {
                 item.setOnlineStr("鏈煡");
             }
+            List<String> offLineTime = item.getOffLineTimeStr();
+            if(!CollectionUtils.isEmpty(offLineTime)) {
+                //鍚庣画鍙互鏀规垚閰嶇疆鐨勭绾挎鏁�(鎻愬彇鍓峮娆★紝n涓洪厤缃殑绂荤嚎娆℃暟)
+                if (offLineTime.size() > 1) {
+                    offLineTime = offLineTime.subList(0, 2);
+                }
+                item.setOffLineTimeStr(offLineTime);
+            }
         });
         params.setDeptTag(-1);
         params.setDeviceType(3);
 
-// 缁熻璁惧鏁伴噺
+        // 缁熻璁惧鏁伴噺
         //鍗$墖缁熻
         int totalCount = 0;
         int onlineCount = 0;

--
Gitblit v1.8.0