From 7b73755e320f1bec9254b86a0f078c5f7969880d Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 19 十二月 2024 10:06:47 +0800
Subject: [PATCH] 接入海康成绩

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java |   95 +++++++++++++++++++++++++----------------------
 1 files changed, 50 insertions(+), 45 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
index 39f5366..3f09bc6 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -780,7 +780,7 @@
         MongoDatabase database = mongoTemplate.getDb();
         MongoCollection<Document> collection = database.getCollection("uy_record_meta_d_sum");
         Integer examineTag = monitorQuery.getExamineTag();
-        Document matchConditions = new Document("mongoCreateTime", new Document("$gte", startDate).append("$lte", endDate));
+        Document matchConditions = new Document("statTime", new Document("$gte", startDate).append("$lte", endDate));
         // 鏍规嵁examineTag鐨勫�煎姩鎬佹坊鍔犻澶栫殑鏉′欢
         if (examineTag != null && examineTag.equals(1)) {
             matchConditions.append("provinceTag", true);
@@ -790,7 +790,7 @@
         // 鏋勫缓鑱氬悎绠¢亾
         List<Document> pipeline = Arrays.asList(
                 new Document("$match", matchConditions),
-                new Document("$group", new Document("_id", "$mongoCreateTime")
+                new Document("$group", new Document("_id", "$statTime")
                         .append("normalCount", new Document("$sum",
                                 new Document("$cond", Arrays.asList(
                                         new Document("$eq", Arrays.asList("$recordStatus", 1)),
@@ -976,7 +976,6 @@
             results.add(homecarVO);
         }
 
-        //TODO锛氬湪绾夸慨鏀癸紝闇�瑕佹妸妫�娴嬫捣搴蜂紭浜戞娴嬬殑缁撴灉瀛樺叆mongo锛宮ongo鏌ョ偣浣嶅湪绾�
         MongoCollection<Document> onlineCollection = database.getCollection("t_monitor_online");
         // 鏋勫缓鍩烘湰鐨�$match鏉′欢
         List<Document> onlineMatch = new ArrayList<>();
@@ -1007,30 +1006,33 @@
         Map<String, Object> resultMap = new HashMap<>();
         //鎸夋椂闂存帓搴�
         results = results.stream().sorted(Comparator.comparing(BaseHomeVO::getCreateDate)).collect(Collectors.toList());
-        int snapCount = 0;
-        for (HomeCarVO vo : results) {
-            if (vo.getSnapCount() != null) {
-                snapCount += vo.getSnapCount();
+        //濡傛灉鏄粯璁ゆ垨绱拰鍒欒繘琛岀疮鍜屼互鍙婅幏鍙栧熀鍑嗙嚎
+        if(monitorQuery.getCategory() == null || monitorQuery.getCategory().equals(1)) {
+            int snapCount = 0;
+            for (HomeCarVO vo : results) {
+                if (vo.getSnapCount() != null) {
+                    snapCount += vo.getSnapCount();
+                }
+                vo.setSnapCount(snapCount);
             }
-            vo.setSnapCount(snapCount);
+            //浠庡瓧鍏歌幏鍙栧熀鍑嗙嚎
+            List<SysDictData> baseLines = dictDataMapper.selectDictDataByType("home_baseLine");
+            String condition;
+            if (examineTag != null && examineTag == 1) {
+                condition = "car_province_baseLine";
+            } else if (examineTag != null && examineTag == 2) {
+                condition = "car_dept_baseLine";
+            } else {
+                condition = "car_all_baseLine";
+            }
+
+            Optional<SysDictData> first = baseLines.stream().filter(sysDictData -> condition.equals(sysDictData.getDictLabel())).findFirst();
+            if (first.isPresent()) {
+                SysDictData sysDictData = first.get();
+                resultMap.put("baseLine", Integer.valueOf(sysDictData.getDictValue()));
+            }
         }
         resultMap.put("list", results);
-        //浠庡瓧鍏歌幏鍙栧熀鍑嗙嚎
-        List<SysDictData> baseLines = dictDataMapper.selectDictDataByType("home_baseLine");
-        String condition;
-        if (examineTag != null && examineTag == 1) {
-            condition = "car_province_baseLine";
-        } else if (examineTag != null && examineTag == 2) {
-            condition = "car_dept_baseLine";
-        } else {
-            condition = "car_all_baseLine";
-        }
-
-        Optional<SysDictData> first = baseLines.stream().filter(sysDictData -> condition.equals(sysDictData.getDictLabel())).findFirst();
-        if (first.isPresent()) {
-            SysDictData sysDictData = first.get();
-            resultMap.put("baseLine", Integer.valueOf(sysDictData.getDictValue()));
-        }
         return resultMap;
     }
 
@@ -1115,32 +1117,35 @@
             HomeFaceVO vo = findOrCreateVO(doc, results, HomeFaceVO.class);
             vo.setOnline(doc.getInteger("onlineCount"));
         }
+        Map<String, Object> resultMap = new HashMap<>();
         //鎸夋椂闂存帓搴�
         results = results.stream().sorted(Comparator.comparing(BaseHomeVO::getCreateDate)).collect(Collectors.toList());
-        int snapCount = 0;
-        for (HomeFaceVO vo : results) {
-            if (vo.getSnapCount() != null) {
-                snapCount += vo.getSnapCount();
+        //濡傛灉鏄粯璁ゆ垨绱拰鍒欒繘琛岀疮鍜屼互鍙婅幏鍙栧熀鍑嗙嚎
+        if(monitorQuery.getCategory() == null || monitorQuery.getCategory().equals(1)) {
+            int snapCount = 0;
+            for (HomeFaceVO vo : results) {
+                if (vo.getSnapCount() != null) {
+                    snapCount += vo.getSnapCount();
+                }
+                vo.setSnapCount(snapCount);
             }
-            vo.setSnapCount(snapCount);
+            //浠庡瓧鍏歌幏鍙栧熀鍑嗙嚎
+            List<SysDictData> baseLines = dictDataMapper.selectDictDataByType("home_baseLine");
+            String condition;
+            if (examineTag != null && examineTag == 1) {
+                condition = "face_province_baseLine";
+            } else if (examineTag != null && examineTag == 2) {
+                condition = "face_dept_baseLine";
+            } else {
+                condition = "face_all_baseLine";
+            }
+            Optional<SysDictData> first = baseLines.stream().filter(sysDictData -> condition.equals(sysDictData.getDictLabel())).findFirst();
+            if (first.isPresent()) {
+                SysDictData sysDictData = first.get();
+                resultMap.put("baseLine", Integer.valueOf(sysDictData.getDictValue()));
+            }
         }
-        Map<String, Object> resultMap = new HashMap<>();
         resultMap.put("list", results);
-        //浠庡瓧鍏歌幏鍙栧熀鍑嗙嚎
-        List<SysDictData> baseLines = dictDataMapper.selectDictDataByType("home_baseLine");
-        String condition;
-        if (examineTag != null && examineTag == 1) {
-            condition = "face_province_baseLine";
-        } else if (examineTag != null && examineTag == 2) {
-            condition = "face_dept_baseLine";
-        } else {
-            condition = "face_all_baseLine";
-        }
-        Optional<SysDictData> first = baseLines.stream().filter(sysDictData -> condition.equals(sysDictData.getDictLabel())).findFirst();
-        if (first.isPresent()) {
-            SysDictData sysDictData = first.get();
-            resultMap.put("baseLine", Integer.valueOf(sysDictData.getDictValue()));
-        }
         return resultMap;
     }
 

--
Gitblit v1.8.0