From 35d325f87d78d942d78a538dd36d5317f0876313 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 15 十月 2024 19:03:55 +0800 Subject: [PATCH] 异常恢复的统计数bug --- ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java | 380 ++++++++++++++++++++++++------------------------------ 1 files changed, 168 insertions(+), 212 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..4dded27 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,21 @@ */ @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("绂荤嚎"); + } + }); 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 +98,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 +110,22 @@ */ @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("绂荤嚎"); + } + }); + // 缁熻璁惧鏁伴噺 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 +142,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 +154,23 @@ */ @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("绂荤嚎"); + } + }); Date now = new Date(); List<CheckIndexVideo> videoList = new LambdaQueryChainWrapper<>(checkIndexVideoService.getBaseMapper()) .select(CheckIndexVideo::getKeySiteOnline) @@ -155,8 +185,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 +197,24 @@ */ @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("绂荤嚎"); + } + }); Date now = new Date(); List<CheckIndexVideo> videoList = new LambdaQueryChainWrapper<>(checkIndexVideoService.getBaseMapper()) .select(CheckIndexVideo::getKeyCommandImageOnline) @@ -189,8 +229,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 +254,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 +328,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 +389,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 +402,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 +465,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 +526,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 +587,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 +603,7 @@ uniqueDeviceIdCount = doc.getInteger("uniqueDeviceIds"); break; // 涓嶉渶瑕佺户缁亶鍘嗭紝鍥犱负 $count 鍙細浜х敓涓�涓粨鏋� } - return uniqueDeviceIdCount + "%"; + return uniqueDeviceIdCount + ""; }).collect(Collectors.toList()); Date now = new Date(); @@ -663,27 +672,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 +776,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 +844,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 +907,29 @@ */ @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); + //TODO锛氫紭浜戝湪绾跨粨鏋� 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("绂荤嚎"); + } + }); 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 +939,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 +964,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 +1037,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 +1183,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 +1355,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 +1415,21 @@ */ @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("绂荤嚎"); + } + }); 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 +1450,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 +1475,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 +1548,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 +1621,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 +1695,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 +1765,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 +1876,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