From 628b80d0452602c5c02cec9ddbbee266f89d60c8 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 30 九月 2024 18:12:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java |  334 +++++++++++++++++++++----------------------------------
 1 files changed, 127 insertions(+), 207 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 7d463d4..2e7fe8a 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
@@ -10,6 +10,7 @@
 import com.ycl.platform.domain.entity.*;
 import com.ycl.platform.domain.query.DataCenterQuery;
 import com.ycl.platform.domain.result.HK.*;
+import com.ycl.platform.domain.result.SYS.TMonitorResult;
 import com.ycl.platform.domain.result.UY.*;
 import com.ycl.platform.domain.vo.PointDetailVO;
 import com.ycl.platform.mapper.ImageResourceSecurityDetailMapper;
@@ -66,11 +67,15 @@
      */
     @Override
     public Result videoPointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
+
         params.setDeptTag(-1);
         params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
@@ -87,8 +92,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "",this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -99,12 +104,16 @@
      */
     @Override
     public Result deptVideoPointOnlineRate(DataCenterQuery params) {
-        params.setDeptTag(1);
-        params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
 
         // 缁熻璁惧鏁伴噺
+        params.setDeptTag(1);
+        params.setDeviceType(1);
         Integer distinctCount = pointMapper.distinctCount(params);
 
         Date now = new Date();
@@ -121,8 +130,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "", this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list",resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -133,11 +142,14 @@
      */
     @Override
     public Result videoImportantPointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
         params.setDeptTag(3);
         params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
@@ -155,8 +167,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "", this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -167,11 +179,15 @@
      */
     @Override
     public Result videoImportantPointImageOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
+
         params.setDeptTag(4);
         params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
@@ -189,8 +205,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "", this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -214,24 +230,16 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("ip.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("macdz.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("latitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("longitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document latitudeErrFilter = new Document("$and", dList3);
@@ -296,24 +304,16 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("ip.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("macdz.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("latitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("longitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document latitudeErrFilter = new Document("$and", dList3);
@@ -365,7 +365,6 @@
      */
     @Override
     public Result videoAssessmentFileRatio(DataCenterQuery params) {
-        // TODO 鏂板涓�寮犺〃璁板綍姣忔鐨勬。妗堣�冩牳
         List<String> likeFileds = Arrays.asList("ip.showValue", "name.showValue", "serialNumber.showValue");
         Query query = MongoUtil.getQuery(params, TIME_FIELD, likeFileds, null);
 
@@ -379,24 +378,16 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("ip.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("macdz.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("latitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("longitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document latitudeErrFilter = new Document("$and", dList3);
@@ -450,9 +441,7 @@
         List<String> resultCount = status.stream().map(item -> {
             List<Document> dList = new ArrayList<>(2);
             dList.add(new Document("recordStatus", new Document("$eq", item)));
-            if (params.getDataType().equals(1)) {
-                dList.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-            }
+            setTag(params, dList);
             Document filter = new Document("$and", dList);
             // 鏋勫缓鑱氬悎绠¢亾
             List<Document> pipeline = Arrays.asList(
@@ -513,9 +502,7 @@
             List<Document> dList = new ArrayList<>(4);
             dList.add(new Document("deptTag", new Document("$eq", Boolean.TRUE)));
             dList.add(new Document("recordStatus",  new Document("$eq", item)));
-            if (params.getDataType().equals(1)) {
-                dList.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-            }
+            setTag(params,dList);
             Document filter = new Document("$and", dList);
             // 鏋勫缓鑱氬悎绠¢亾
             List<Document> pipeline = Arrays.asList(
@@ -576,9 +563,7 @@
             List<Document> dList = new ArrayList<>(4);
             dList.add(new Document("importantTag", new Document("$eq", Boolean.TRUE)));
             dList.add(new Document("recordStatus", new Document("$eq", item)));
-            if (params.getDataType().equals(1)) {
-                dList.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-            }
+            setTag(params,dList);
             Document filter = new Document("$and", dList);
             // 鏋勫缓鑱氬悎绠¢亾
             List<Document> pipeline = Arrays.asList(
@@ -594,7 +579,7 @@
                 uniqueDeviceIdCount = doc.getInteger("uniqueDeviceIds");
                 break; // 涓嶉渶瑕佺户缁亶鍘嗭紝鍥犱负 $count 鍙細浜х敓涓�涓粨鏋�
             }
-            return uniqueDeviceIdCount + "%";
+            return uniqueDeviceIdCount + "";
         }).collect(Collectors.toList());
 
         Date now = new Date();
@@ -663,27 +648,19 @@
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("importantTag", Boolean.TRUE));
         dList1.add(new Document("osdNameCorrect", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("importantTag", Boolean.TRUE));
         dList2.add(new Document("osdNameCorrect", new Document("$eq", -1)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("importantTag", Boolean.TRUE));
         dList3.add(new Document("osdTimeCorrect", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("importantTag", Boolean.TRUE));
         dList4.add(new Document("osdTimeCorrect", new Document("$eq", -1)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document osdNameFilter = new Document("$and", dList1);
         Document osdNameErrFilter = new Document("$and", dList2);
         Document osdTimeFilter = new Document("$and", dList3);
@@ -775,15 +752,11 @@
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("importantTag", Boolean.TRUE));
         dList1.add(new Document("osdTimeCorrect", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("importantTag", Boolean.TRUE));
         dList2.add(new Document("osdTimeCorrect", new Document("$eq", -1)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         Document osdTimeFilter = new Document("$and", dList1);
         Document osdTimeErrFilter = new Document("$and", dList2);
         List<Document> lists = Arrays.asList(osdTimeFilter, osdTimeErrFilter);
@@ -847,27 +820,19 @@
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("importantTag", Boolean.TRUE));
         dList1.add(new Document("resultType", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("importantTag", Boolean.TRUE));
         dList2.add(new Document("resultType", new Document("$eq", 2)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("importantTag", Boolean.TRUE));
         dList3.add(new Document("resultType", new Document("$eq", 3)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("importantTag", Boolean.TRUE));
         dList4.add(new Document("resultType", new Document("$eq", 4)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document normalFilter = new Document("$and", dList1);
         Document noDataFilter = new Document("$and", dList2);
         Document trFilter = new Document("$and", dList3);
@@ -918,11 +883,15 @@
      */
     @Override
     public Result vehiclePointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
+
         params.setDeptTag(-1);
         params.setDeviceType(2);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
@@ -940,8 +909,8 @@
         }
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", Arrays.asList(distinctCount + "", this.remove0(onlineRate)));
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -965,24 +934,16 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("ip.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("macdz.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("latitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("longitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document latitudeErrFilter = new Document("$and", dList3);
@@ -1046,24 +1007,16 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("lalType", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("lalType", new Document("$eq", 2)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("lalType", new Document("$eq", 3)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("lalType", new Document("$eq", 4)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document latitudeErrFilter = new Document("$and", dList3);
@@ -1200,19 +1153,13 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("snapResult", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("snapResult", new Document("$eq", 2)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("snapResult", new Document("$eq", 4)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document longitudeErrFilter = new Document("$and", dList3);
@@ -1378,24 +1325,16 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("resultType", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("resultType", new Document("$eq", 2)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("resultType", new Document("$eq", 3)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("resultType", new Document("$eq", 4)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document normalFilter = new Document("$and", dList1);
         Document noDataFilter = new Document("$and", dList2);
         Document trFilter = new Document("$and", dList3);
@@ -1446,11 +1385,15 @@
      */
     @Override
     public Result facePointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no","ip");
+        Query query = MongoUtil.getQuery(params,TIME_FIELD, likeFileds, null);
+        //鍒嗛〉鏁伴噺
+        long total = mongoTemplate.count(query, TMonitorResult.class);
+        MongoUtil.setPage(query, params, TIME_FIELD);
+        List<TMonitorResult> resultList = mongoTemplate.find(query, TMonitorResult.class);
+
         params.setDeptTag(-1);
         params.setDeviceType(3);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
@@ -1471,8 +1414,8 @@
         rList.add(this.remove0(onlineRate));
         HashMap<String, Object> map = new HashMap<>();
         map.put("count", rList);
-        map.put("list", page.getRecords());
-        return Result.ok().data(map).total(page.getTotal());
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -1496,24 +1439,16 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("ip.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("macdz.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("latitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("longitude.error", new Document("$eq", Boolean.TRUE)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document latitudeErrFilter = new Document("$and", dList3);
@@ -1577,24 +1512,16 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("lalType", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("lalType", new Document("$eq", 2)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("lalType", new Document("$eq", 3)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("lalType", new Document("$eq", 4)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document latitudeErrFilter = new Document("$and", dList3);
@@ -1658,24 +1585,16 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("lalType", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("lalType", new Document("$eq", 2)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("lalType", new Document("$eq", 3)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         List<Document> dList4 = new ArrayList<>(2);
         dList4.add(new Document("lalType", new Document("$eq", 4)));
-        if (params.getDataType().equals(1)) {
-            dList4.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList4);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document latitudeErrFilter = new Document("$and", dList3);
@@ -1740,19 +1659,13 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("snapResult", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("snapResult", new Document("$eq", 2)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("snapResult", new Document("$eq", 4)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document longitudeErrFilter = new Document("$and", dList3);
@@ -1816,19 +1729,13 @@
 
         List<Document> dList1 = new ArrayList<>(2);
         dList1.add(new Document("snapResult", new Document("$eq", 1)));
-        if (params.getDataType().equals(1)) {
-            dList1.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList1);
         List<Document> dList2 = new ArrayList<>(2);
         dList2.add(new Document("snapResult", new Document("$eq", 2)));
-        if (params.getDataType().equals(1)) {
-            dList2.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList2);
         List<Document> dList3 = new ArrayList<>(2);
         dList3.add(new Document("snapResult", new Document("$eq", 4)));
-        if (params.getDataType().equals(1)) {
-            dList3.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
-        }
+        setTag(params,dList3);
         Document ipErrFilter = new Document("$and", dList1);
         Document macdzErrFilter = new Document("$and", dList2);
         Document longitudeErrFilter = new Document("$and", dList3);
@@ -1933,4 +1840,17 @@
         DF.setDecimalSeparatorAlwaysShown(false);
         return DF.format(rate) + "%";
     }
+
+    /**
+     * 璁剧疆鏍囩鎼滅储鏉′欢
+     * @param params
+     * @param dList
+     */
+    private void setTag(DataCenterQuery params, List<Document> dList) {
+        if (params.getDataType().equals(1)) {
+            dList.add(new Document("provinceTag", new Document("$eq", Boolean.TRUE)));
+        } else if (params.getDataType().equals(2)) {
+            dList.add(new Document("deptTag", new Document("$eq", Boolean.TRUE)));
+        }
+    }
 }

--
Gitblit v1.8.0