From 8f889738db488b852b5a475af1819b1803a7c074 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 21 十月 2024 11:49:46 +0800
Subject: [PATCH] 数据中心时间搜索改成某天

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java |  445 +++++++++++++++++++++++++++---------------------------
 1 files changed, 222 insertions(+), 223 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..7c0f34a 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,18 +67,35 @@
      */
     @Override
     public Result videoPointOnlineRate(DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("name", "no", "ip");
+        Query query = MongoUtil.getQuery(params, TIME_FIELD, likeFileds, null);
+        System.out.println("鏌ヨ鏉′欢"+query.toString());
+        //鍒嗛〉鏁伴噺
+        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();
         List<CheckIndexVideo> videoList = new LambdaQueryChainWrapper<>(checkIndexVideoService.getBaseMapper())
                 .select(CheckIndexVideo::getSiteOnline)
-                .between(CheckIndexVideo::getCreateTime, DateUtils.getDayStart(now), DateUtils.getDayEnd(now))
+                .between(CheckIndexVideo::getCreateTime,  params.getStartTime(),  params.getEndTime())
                 .list();
         BigDecimal onlineRate = BigDecimal.ZERO;
         if (CollectionUtils.isNotEmpty(videoList)) {
@@ -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,19 +117,35 @@
      */
     @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();
         List<CheckIndexVideo> videoList = new LambdaQueryChainWrapper<>(checkIndexVideoService.getBaseMapper())
                 .select(CheckIndexVideo::getMinistrySiteOnline)
                 .eq(params.getDataType().equals(1), CheckIndexVideo::getExamineTag, CheckConstants.Examine_Tag_Province)
-                .between(CheckIndexVideo::getCreateTime, DateUtils.getDayStart(now), DateUtils.getDayEnd(now))
+                .between(CheckIndexVideo::getCreateTime, params.getStartTime(),  params.getEndTime())
                 .list();
         BigDecimal onlineRate = BigDecimal.ZERO;
         if (CollectionUtils.isNotEmpty(videoList)) {
@@ -121,8 +155,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 +167,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 +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);
     }
 
     /**
@@ -167,14 +217,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 +256,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 +281,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 +355,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 +416,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 +429,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 +479,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 +492,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 +539,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 +552,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 +600,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,9 +614,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 +630,7 @@
                 uniqueDeviceIdCount = doc.getInteger("uniqueDeviceIds");
                 break; // 涓嶉渶瑕佺户缁亶鍘嗭紝鍥犱负 $count 鍙細浜х敓涓�涓粨鏋�
             }
-            return uniqueDeviceIdCount + "%";
+            return uniqueDeviceIdCount + "";
         }).collect(Collectors.toList());
 
         Date now = new Date();
@@ -650,7 +686,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");
@@ -663,27 +699,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);
@@ -762,7 +790,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");
@@ -775,15 +803,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 +871,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,19 +934,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)) {
@@ -940,8 +972,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 +997,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 +1070,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 +1216,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 +1388,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 +1448,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);
 
@@ -1471,8 +1490,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 +1515,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 +1588,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 +1661,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 +1735,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 +1805,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);
@@ -1905,6 +1888,7 @@
         map.put("list", resultList);
         return Result.ok().data(map).total(total);
     }
+
     /**
      * 瑙嗛锛氳棰戝浘鍍忚祫婧愬畨鍏ㄧ鐞�
      *
@@ -1926,6 +1910,7 @@
 
     /**
      * 鍒犻櫎灏鹃儴鐨�0
+     *
      * @param rate
      * @return
      */
@@ -1933,4 +1918,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