From 2587568bec69f9b9956851da73d626c39bc720db Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 09 十二月 2024 10:45:58 +0800 Subject: [PATCH] 点位ping任务调整 --- ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 45 insertions(+), 7 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..ae7b2ce 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); @@ -214,6 +227,7 @@ // 娣诲姞鍥哄畾鏉′欢 criteriaList.add(Criteria.where("monitorType").regex(".*" + CheckConstants.Rule_Category_Video + ".*")); criteriaList.add(Criteria.where("mongoCreateTime").gte(params.getStartTime()).lte(params.getEndTime())); + criteriaList.add(Criteria.where("deptTag").is(Boolean.TRUE)); // 鏍规嵁dataType鍔ㄦ�佹坊鍔犳潯浠� if (params.getDataType() == 1) { criteriaList.add(Criteria.where("provinceTag").is(Boolean.TRUE)); @@ -1006,7 +1020,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); @@ -1081,7 +1095,7 @@ Document errorFilter = new Document("$or", errorConditions); dList2.add(errorFilter); Document osdErrorFilter = new Document("$and", dList2); - //TODO锛氭湭鐭ユ暟 鏂板0鐨勭姸鎬� + //鏈煡鏁� List<Document> dList3 = new ArrayList<>(2); setTag(params,dList3); dList3.add(importantTagCondition); @@ -1220,7 +1234,7 @@ Document errorFilter = new Document("$or", errorConditions); dList2.add(errorFilter); Document osdErrorFilter = new Document("$and", dList2); - //TODO锛氭湭鐭ユ暟 鏂板0鐨勭姸鎬� + //鏈煡鏁� List<Document> dList3 = new ArrayList<>(2); setTag(params,dList3); dList3.add(importantTagCondition); @@ -1385,8 +1399,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 +1426,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 +2219,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 +2244,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