From 44cd2d171062c9b07a0eb047cd0ac80d06188e8c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 16 十月 2024 11:58:18 +0800
Subject: [PATCH] 工单bug,数据中心在线率增加存ping状态

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java |  438 +++++++++++++++++++++++++++---------------------------
 1 files changed, 218 insertions(+), 220 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 da8133f..f97323d 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,28 @@
      */
     @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);
+        resultList.forEach(item -> {
+            if (null != item.getPingOnline() && item.getPingOnline()) {
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            } else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+            if(1== item.getOnline() ){
+                item.setOnlineStr("鍦ㄧ嚎");
+            }else if(-1==item.getOnline()){
+                item.setOnlineStr("绂荤嚎");
+            }else {
+                item.setOnlineStr("鏈煡");
+            }
+        });
         params.setDeptTag(-1);
         params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
@@ -86,9 +104,9 @@
             onlineRate = sum.divide(count, 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
         }
         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("count", Arrays.asList(distinctCount + "", this.remove0(onlineRate)));
+        map.put("list", resultList);
+        return Result.ok().data(map).total(total);
     }
 
     /**
@@ -99,12 +117,29 @@
      */
     @Override
     public Result deptVideoPointOnlineRate(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);
+        resultList.forEach(item -> {
+            if (null != item.getPingOnline() && item.getPingOnline()) {
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            } else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+            if (1 == item.getOnline()) {
+                item.setOnlineStr("鍦ㄧ嚎");
+            } else if (-1 == item.getOnline()) {
+                item.setOnlineStr("绂荤嚎");
+            } else {
+                item.setOnlineStr("鏈煡");
+            }
+        });
+        // 缁熻璁惧鏁伴噺
         params.setDeptTag(1);
         params.setDeviceType(1);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
-        // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
         Date now = new Date();
@@ -121,8 +156,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,14 +168,30 @@
      */
     @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);
-
+        resultList.forEach(item -> {
+            if (null != item.getPingOnline() && item.getPingOnline()) {
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            } else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+            if (1 == item.getOnline()) {
+                item.setOnlineStr("鍦ㄧ嚎");
+            } else if (-1 == item.getOnline()) {
+                item.setOnlineStr("绂荤嚎");
+            } else {
+                item.setOnlineStr("鏈煡");
+            }
+        });
         Date now = new Date();
         List<CheckIndexVideo> videoList = new LambdaQueryChainWrapper<>(checkIndexVideoService.getBaseMapper())
                 .select(CheckIndexVideo::getKeySiteOnline)
@@ -155,8 +206,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,14 +218,31 @@
      */
     @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);
-
+        resultList.forEach(item -> {
+            if (null != item.getPingOnline() && item.getPingOnline()) {
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            } else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+            if (1 == item.getOnline()) {
+                item.setOnlineStr("鍦ㄧ嚎");
+            } else if (-1 == item.getOnline()) {
+                item.setOnlineStr("绂荤嚎");
+            } else {
+                item.setOnlineStr("鏈煡");
+            }
+        });
         Date now = new Date();
         List<CheckIndexVideo> videoList = new LambdaQueryChainWrapper<>(checkIndexVideoService.getBaseMapper())
                 .select(CheckIndexVideo::getKeyCommandImageOnline)
@@ -189,8 +257,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 +282,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 +356,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 +417,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 +430,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);
@@ -437,7 +480,7 @@
     @Override
     public Result videoAvailabilityRate(DataCenterQuery params) {
         List<String> likeFileds = Arrays.asList("deviceId", "deviceName");
-        Query query = MongoUtil.getQuery(params,"createTime", likeFileds, null);
+        Query query = MongoUtil.getQuery(params, "createTime", likeFileds, null);
 
         long total = mongoTemplate.count(query, RecordMetaDSumResult.class);
         MongoUtil.setPage(query, params, "createTime");
@@ -450,9 +493,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(
@@ -499,7 +540,7 @@
     @Override
     public Result deptVideoAvailabilityRate(DataCenterQuery params) {
         List<String> likeFileds = Arrays.asList("deviceId", "deviceName");
-        Query query = MongoUtil.getQuery(params,"createTime", likeFileds, 1);
+        Query query = MongoUtil.getQuery(params, "createTime", likeFileds, 1);
 
         long total = mongoTemplate.count(query, RecordMetaDSumResult.class);
         MongoUtil.setPage(query, params, "createTime");
@@ -512,10 +553,8 @@
         List<String> resultCount = status.stream().map(item -> {
             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)));
-            }
+            dList.add(new Document("recordStatus", new Document("$eq", item)));
+            setTag(params, dList);
             Document filter = new Document("$and", dList);
             // 鏋勫缓鑱氬悎绠¢亾
             List<Document> pipeline = Arrays.asList(
@@ -562,7 +601,7 @@
     @Override
     public Result videoImportantPointAvailabilityRate(DataCenterQuery params) {
         List<String> likeFileds = Arrays.asList("deviceId", "deviceName");
-        Query query = MongoUtil.getQuery(params,"createTime", likeFileds, 3);
+        Query query = MongoUtil.getQuery(params, "createTime", likeFileds, 3);
 
         long total = mongoTemplate.count(query, RecordMetaDSumResult.class);
         MongoUtil.setPage(query, params, "createTime");
@@ -576,11 +615,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)));
-            }else if(params.getDataType().equals(2)){
-                dList.add(new Document("deptTag", new Document("$eq", Boolean.TRUE)));
-            }
+            setTag(params, dList);
             Document filter = new Document("$and", dList);
             // 鏋勫缓鑱氬悎绠¢亾
             List<Document> pipeline = Arrays.asList(
@@ -652,7 +687,7 @@
     @Override
     public Result videoImportantPointLabelingAccuracy(DataCenterQuery params) {
         List<String> likeFileds = Arrays.asList("deviceNo", "osdName");
-        Query query = MongoUtil.getQuery(params,"checkTime", likeFileds, 3);
+        Query query = MongoUtil.getQuery(params, "checkTime", likeFileds, 3);
 
         long total = mongoTemplate.count(query, OsdCheckResult.class);
         MongoUtil.setPage(query, params, "checkTime");
@@ -665,27 +700,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);
@@ -764,7 +791,7 @@
     public Result videoImportantPointCheckTimeAccuracy(DataCenterQuery params) {
 
         List<String> likeFileds = Arrays.asList("deviceNo", "osdName");
-        Query query = MongoUtil.getQuery(params,"checkTime", likeFileds, 3);
+        Query query = MongoUtil.getQuery(params, "checkTime", likeFileds, 3);
 
         long total = mongoTemplate.count(query, OsdCheckResult.class);
         MongoUtil.setPage(query, params, "checkTime");
@@ -777,15 +804,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);
@@ -849,27 +872,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);
@@ -920,19 +935,35 @@
      */
     @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);
+        //绯荤粺ping鐨勭粨鏋�
+        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);
-
-        Date now = new Date();
+        resultList.forEach(item -> {
+            if (null != item.getPingOnline() && item.getPingOnline()) {
+                item.setPingOnlineStr("鍦ㄧ嚎");
+            } else {
+                item.setPingOnlineStr("绂荤嚎");
+            }
+            if (1 == item.getOnline()) {
+                item.setOnlineStr("鍦ㄧ嚎");
+            } else if (-1 == item.getOnline()) {
+                item.setOnlineStr("绂荤嚎");
+            } else {
+                item.setOnlineStr("鏈煡");
+            }
+        });
         List<CheckIndexCar> videoList = new LambdaQueryChainWrapper<>(checkIndexCarService.getBaseMapper())
                 .select(CheckIndexCar::getSiteOnline)
                 .eq(params.getDataType().equals(1), CheckIndexCar::getExamineTag, CheckConstants.Examine_Tag_Province)
-                .between(CheckIndexCar::getCreateTime, DateUtils.getDayStart(now), DateUtils.getDayEnd(now))
+                .between(CheckIndexCar::getCreateTime, DateUtils.getDayStart(params.getStartTime()), DateUtils.getDayEnd(params.getEndTime()))
                 .list();
         BigDecimal onlineRate = BigDecimal.ZERO;
         if (CollectionUtils.isNotEmpty(videoList)) {
@@ -942,8 +973,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);
     }
 
     /**
@@ -967,24 +998,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);
@@ -1048,24 +1071,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);
@@ -1202,19 +1217,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);
@@ -1380,24 +1389,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);
@@ -1448,11 +1449,28 @@
      */
     @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);
+        resultList.forEach(item -> {
+            if (null != item.getPingOnline() && item.getPingOnline()) {
+                item.setOnlineStr("鍦ㄧ嚎");
+            } else {
+                item.setOnlineStr("绂荤嚎");
+            }
+            if (1 == item.getOnline()) {
+                item.setOnlineStr("鍦ㄧ嚎");
+            } else if (-1 == item.getOnline()) {
+                item.setOnlineStr("绂荤嚎");
+            } else {
+                item.setOnlineStr("鏈煡");
+            }
+        });
         params.setDeptTag(-1);
         params.setDeviceType(3);
-        IPage<PointDetailVO> page = PageUtil.getPage(params, PointDetailVO.class);
-        pointMapper.dataCenterPage(page, params);
-
         // 缁熻璁惧鏁伴噺
         Integer distinctCount = pointMapper.distinctCount(params);
 
@@ -1473,8 +1491,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);
     }
 
     /**
@@ -1498,24 +1516,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);
@@ -1579,24 +1589,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);
@@ -1660,24 +1662,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);
@@ -1742,19 +1736,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);
@@ -1818,19 +1806,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);
@@ -1907,6 +1889,7 @@
         map.put("list", resultList);
         return Result.ok().data(map).total(total);
     }
+
     /**
      * 瑙嗛锛氳棰戝浘鍍忚祫婧愬畨鍏ㄧ鐞�
      *
@@ -1928,6 +1911,7 @@
 
     /**
      * 鍒犻櫎灏鹃儴鐨�0
+     *
      * @param rate
      * @return
      */
@@ -1935,4 +1919,18 @@
         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