From 3d5198eca9b5a6b7114f48936b0e46068236be80 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 04 九月 2024 01:36:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-server/src/main/java/com/ycl/utils/MongoUtil.java | 58 +++ ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml | 18 + ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java | 8 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java | 726 +++++++++++++++++++-------------------------------- ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java | 5 ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java | 17 + 6 files changed, 365 insertions(+), 467 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java index e135d62..55cb5e8 100644 --- a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java +++ b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java @@ -110,7 +110,7 @@ @PostMapping("/videoMinistrySiteOnline") public Result videoMinistrySiteOnline(@RequestBody DataCenterQuery query) { query.setTime(); - return dataCenterService.videoPointOnlineRate(query); + return dataCenterService.deptVideoPointOnlineRate(query); } /** @@ -122,8 +122,7 @@ @PostMapping("/videoMinistryVideoAvailable") public Result videoMinistryVideoAvailable(@RequestBody DataCenterQuery query) { query.setTime(); - // TODO 鍋氶儴绾ф暟鎹尯鍒� - return dataCenterService.videoLabelingAccuracy(query); + return dataCenterService.deptVideoAvailabilityRate(query); } /** diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java index 14afa13..9ab9d15 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java @@ -77,4 +77,12 @@ * @return */ YwPointVO countNotFinishedWorkOrderByGb(@Param("serialNumber") String serialNumber); + + /** + * 鏌ヨ鏈夐儴绾ф爣绛剧殑鐐逛綅鐨勫浗鏍囩爜 + * + * @param tagType 0 閮ㄧ骇 1 閲嶇偣 2 閲嶇偣鎸囨尌鍥惧儚 + * @return + */ + List<String> getDeptPointGB(@Param("tagType") Integer tagType); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java b/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java index 732fef8..8db5653 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java @@ -26,6 +26,15 @@ Result videoPointOnlineRate(DataCenterQuery query); /** + * 瑙嗛锛氱偣浣嶅湪绾跨巼 + * + * @param query + * @return + */ + Result deptVideoPointOnlineRate(DataCenterQuery query); + + + /** * 瑙嗛锛氫竴鏈轰竴妗f敞鍐岀巼 * * @param query @@ -58,6 +67,14 @@ Result videoAvailabilityRate(DataCenterQuery query); /** + * 瑙嗛锛氶儴绾х偣浣嶅綍鍍忓彲鐢ㄧ巼 + * + * @param query + * @return + */ + Result deptVideoAvailabilityRate(DataCenterQuery query); + + /** * 瑙嗛锛氶噸鐐圭偣浣嶅綍鍍忓彲鐢ㄧ巼 * * @param query 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 4dc66d0..1693bed 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 @@ -1,14 +1,19 @@ package com.ycl.platform.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.ycl.platform.domain.entity.ImageResourceSecurityDetail; +import com.ycl.platform.domain.entity.YwPoint; import com.ycl.platform.domain.query.DataCenterQuery; import com.ycl.platform.domain.result.HK.*; import com.ycl.platform.domain.result.UY.*; import com.ycl.platform.mapper.ImageResourceSecurityDetailMapper; +import com.ycl.platform.mapper.YwPointMapper; import com.ycl.platform.service.DataCenterService; +import com.ycl.platform.service.YwPointService; import com.ycl.system.Result; +import com.ycl.system.page.PageUtil; import com.ycl.utils.MongoUtil; import lombok.RequiredArgsConstructor; import org.apache.commons.collections.CollectionUtils; @@ -16,12 +21,10 @@ import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.TextCriteria; import org.springframework.stereotype.Service; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * 鏁版嵁涓績鎺ュ彛 @@ -35,6 +38,9 @@ private final MongoTemplate mongoTemplate; private final ImageResourceSecurityDetailMapper securityDetailMapper; + private final YwPointMapper pointMapper; + + private final static String TIME_FIELD = "mongoCreateTime"; /** @@ -45,34 +51,97 @@ */ @Override public Result videoPointOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + // 鐢熸垚鏌ヨ + Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, null); + + // 鍏堟煡鎬绘暟鍐嶅垎椤� long total = mongoTemplate.count(query, VideoOnlineResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.class); - // 缁熻 - Criteria criteriaCount = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteriaCount.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - Query countQuery = new Query(); - countQuery.addCriteria(criteriaCount); - long count = mongoTemplate.count(countQuery, VideoOnlineResult.class); HashMap<String, Object> map = new HashMap<>(); - map.put("count", Arrays.asList(count)); + map.put("count", Arrays.asList(total)); + map.put("list", resultList); + return Result.ok().data(map).total(total); + } + + /** + * 瑙嗛锛氶儴绾х偣浣嶅湪绾跨巼 + * + * @param params + * @return + */ + @Override + public Result deptVideoPointOnlineRate(DataCenterQuery params) { + // 鍏堟煡鍑洪儴绾х偣浣嶇殑鍥芥爣 + List<String> deptGBList = pointMapper.getDeptPointGB(0); + + // 鐢熸垚鏌ヨ + Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, deptGBList); + + // 鍏堟煡鎬绘暟鍐嶅垎椤� + long total = mongoTemplate.count(query, VideoOnlineResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.class); + + HashMap<String, Object> map = new HashMap<>(); + map.put("count", Arrays.asList(total)); + map.put("list", resultList); + return Result.ok().data(map).total(total); + } + + /** + * 瑙嗛锛氶噸鐐圭偣浣嶅湪绾跨巼 + * + * @param params + * @return + */ + @Override + public Result videoImportantPointOnlineRate(DataCenterQuery params) { + // 鍏堟煡鍑洪噸鐐圭偣浣嶇殑鍥芥爣 + List<String> deptGBList = pointMapper.getDeptPointGB(1); + + Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, deptGBList); + + long total = mongoTemplate.count(query, VideoOnlineResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.class); + // 缁熻鏁� + long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), VideoOnlineResult.class); + long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), VideoOnlineResult.class); + long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), VideoOnlineResult.class); + long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), VideoOnlineResult.class); + long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), VideoOnlineResult.class); + HashMap<String, Object> map = new HashMap<>(); + map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); + map.put("list", resultList); + return Result.ok().data(map).total(total); + } + + /** + * 瑙嗛锛氶噸鐐规寚鎸ュ浘鍍忓湪绾跨巼 + * + * @param params + * @return + */ + @Override + public Result videoImportantPointImageOnlineRate(DataCenterQuery params) { + // 鍏堟煡鍑洪噸鐐规寚鎸ュ浘鍍忕偣浣嶇殑鍥芥爣 + List<String> deptGBList = pointMapper.getDeptPointGB(2); + + Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, deptGBList); + + long total = mongoTemplate.count(query, VideoOnlineResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.class); + // 缁熻鏁� + long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), VideoOnlineResult.class); + long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), VideoOnlineResult.class); + long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), VideoOnlineResult.class); + long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), VideoOnlineResult.class); + long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), VideoOnlineResult.class); + HashMap<String, Object> map = new HashMap<>(); + map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); map.put("list", resultList); return Result.ok().data(map).total(total); } @@ -85,26 +154,18 @@ */ @Override public Result videoOneMachineDocumentRegister(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); - long total = mongoTemplate.count(query, OneMachineFileResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); - List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class); + + Query query = MongoUtil.getQuery(params, "serialNumber.showValue", TIME_FIELD, null); + + long total = mongoTemplate.count(query, MonitorQualifyResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<MonitorQualifyResult> resultList = mongoTemplate.find(query, MonitorQualifyResult.class); // 缁熻鏁� - long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); - long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OneMachineFileResult.class); - long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OneMachineFileResult.class); - long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OneMachineFileResult.class); - long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OneMachineFileResult.class); + long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), MonitorQualifyResult.class); + long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), MonitorQualifyResult.class); + long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), MonitorQualifyResult.class); + long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), MonitorQualifyResult.class); + long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), MonitorQualifyResult.class); HashMap<String, Object> map = new HashMap<>(); map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); map.put("list", resultList); @@ -119,19 +180,11 @@ */ @Override public Result videoOneMachineDocumentQualified(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "serialNumber.showValue", TIME_FIELD, null); + long total = mongoTemplate.count(query, MonitorQualifyResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<MonitorQualifyResult> resultList = mongoTemplate.find(query, MonitorQualifyResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -148,26 +201,18 @@ */ @Override public Result videoAssessmentFileRatio(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); - long total = mongoTemplate.count(query, OneMachineFileResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); - List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class); + // TODO 鏂板涓�寮犺〃璁板綍姣忔鐨勬。妗堣�冩牳 + Query query = MongoUtil.getQuery(params, "serialNumber.showValue", TIME_FIELD, null); + + long total = mongoTemplate.count(query, MonitorQualifyResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<MonitorQualifyResult> resultList = mongoTemplate.find(query, MonitorQualifyResult.class); // 缁熻鏁� - long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); - long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OneMachineFileResult.class); - long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OneMachineFileResult.class); - long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OneMachineFileResult.class); - long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OneMachineFileResult.class); + long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), MonitorQualifyResult.class); + long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), MonitorQualifyResult.class); + long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), MonitorQualifyResult.class); + long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), MonitorQualifyResult.class); + long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), MonitorQualifyResult.class); HashMap<String, Object> map = new HashMap<>(); map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); map.put("list", resultList); @@ -182,19 +227,37 @@ */ @Override public Result videoAvailabilityRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "createTime", null); + long total = mongoTemplate.count(query, RecordMetaDSumResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, "createTime"); + List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class); + // 缁熻鏁� + long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("1")), RecordMetaDSumResult.class); + long two = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("2")), RecordMetaDSumResult.class); + long three = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("-1")), RecordMetaDSumResult.class); + HashMap<String, Object> map = new HashMap<>(); + map.put("count", Arrays.asList(one, two, three)); + map.put("list", resultList); + return Result.ok().data(map).total(total); + } + + /** + * 瑙嗛锛氶儴绾у綍鍍忓彲鐢ㄧ巼 + * + * @param params + * @return + */ + @Override + public Result deptVideoAvailabilityRate(DataCenterQuery params) { + + List<String> deptGBList = pointMapper.getDeptPointGB(0); + + Query query = MongoUtil.getQuery(params, "deviceId", "createTime", deptGBList); + + long total = mongoTemplate.count(query, RecordMetaDSumResult.class); + MongoUtil.setPage(query, params, "createTime"); List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("1")), RecordMetaDSumResult.class); @@ -214,19 +277,13 @@ */ @Override public Result videoImportantPointAvailabilityRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + List<String> deptGBList = pointMapper.getDeptPointGB(1); + + Query query = MongoUtil.getQuery(params, "deviceId", "createTime", deptGBList); + long total = mongoTemplate.count(query, RecordMetaDSumResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, "createTime"); List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("recordStatus").is("1")), OneMachineFileResult.class); @@ -246,19 +303,10 @@ */ @Override public Result videoLabelingAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, RecordMetaDSumResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<RecordMetaDSumResult> resultList = mongoTemplate.find(query, RecordMetaDSumResult.class); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), RecordMetaDSumResult.class); @@ -280,19 +328,12 @@ */ @Override public Result videoImportantPointLabelingAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + List<String> deptGBList = pointMapper.getDeptPointGB(1); + Query query = MongoUtil.getQuery(params, "deviceNo", "checkTime", deptGBList); + long total = mongoTemplate.count(query, OsdCheckResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, "checkTime"); List<OsdCheckResult> resultList = mongoTemplate.find(query, OsdCheckResult.class); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OsdCheckResult.class); @@ -314,19 +355,10 @@ */ @Override public Result videoCheckTimeAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", "", new ArrayList<>()); + long total = mongoTemplate.count(query, OneMachineFileResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class); // 缁熻鏁� long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); @@ -348,101 +380,25 @@ */ @Override public Result videoImportantPointCheckTimeAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); - long total = mongoTemplate.count(query, OneMachineFileResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); - List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class); + + List<String> deptGBList = pointMapper.getDeptPointGB(1); + + Query query = MongoUtil.getQuery(params, "deviceId", "checkTime", deptGBList); + + long total = mongoTemplate.count(query, OsdCheckResult.class); + MongoUtil.setPage(query, params, "checkTime"); + List<OsdCheckResult> resultList = mongoTemplate.find(query, OsdCheckResult.class); // 缁熻鏁� - long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); - long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OneMachineFileResult.class); - long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OneMachineFileResult.class); - long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OneMachineFileResult.class); - long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OneMachineFileResult.class); + long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OsdCheckResult.class); + long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OsdCheckResult.class); + long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OsdCheckResult.class); + long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OsdCheckResult.class); + long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OsdCheckResult.class); HashMap<String, Object> map = new HashMap<>(); map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); map.put("list", resultList); return Result.ok().data(map).total(total); } - - /** - * 瑙嗛锛氶噸鐐圭偣浣嶅湪绾跨巼 - * - * @param params - * @return - */ - @Override - public Result videoImportantPointOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); - long total = mongoTemplate.count(query, OneMachineFileResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); - List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class); - // 缁熻鏁� - long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); - long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OneMachineFileResult.class); - long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OneMachineFileResult.class); - long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OneMachineFileResult.class); - long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OneMachineFileResult.class); - HashMap<String, Object> map = new HashMap<>(); - map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); - map.put("list", resultList); - return Result.ok().data(map).total(total); - } - - /** - * 瑙嗛锛氶噸鐐规寚鎸ュ浘鍍忓湪绾跨巼 - * - * @param params - * @return - */ - @Override - public Result videoImportantPointImageOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); - long total = mongoTemplate.count(query, VideoOnlineResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); - List<VideoOnlineResult> resultList = mongoTemplate.find(query, VideoOnlineResult.class); - // 缁熻鏁� - long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), VideoOnlineResult.class); - long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), VideoOnlineResult.class); - long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), VideoOnlineResult.class); - long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), VideoOnlineResult.class); - long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), VideoOnlineResult.class); - HashMap<String, Object> map = new HashMap<>(); - map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); - map.put("list", resultList); - return Result.ok().data(map).total(total); - } - - /** @@ -453,19 +409,11 @@ */ @Override public Result vehicleViewDockStable(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, SnapshotDataMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<SnapshotDataMonitorResult> resultList = mongoTemplate.find(query, SnapshotDataMonitorResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("resultType").is("1")), SnapshotDataMonitorResult.class); @@ -486,19 +434,11 @@ */ @Override public Result vehiclePointOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, SnapshotDataMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<SnapshotDataMonitorResult> resultList = mongoTemplate.find(query, SnapshotDataMonitorResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("resultType").is("1")), SnapshotDataMonitorResult.class); @@ -519,26 +459,18 @@ */ @Override public Result vehicleNetDeviceDirectoryConsistency(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); - long total = mongoTemplate.count(query, OneMachineFileResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); - List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + + long total = mongoTemplate.count(query, MonitorQualifyResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<MonitorQualifyResult> resultList = mongoTemplate.find(query, MonitorQualifyResult.class); // 缁熻鏁� - long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); - long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OneMachineFileResult.class); - long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OneMachineFileResult.class); - long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OneMachineFileResult.class); - long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OneMachineFileResult.class); + long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), MonitorQualifyResult.class); + long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), MonitorQualifyResult.class); + long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), MonitorQualifyResult.class); + long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), MonitorQualifyResult.class); + long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), MonitorQualifyResult.class); HashMap<String, Object> map = new HashMap<>(); map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); map.put("list", resultList); @@ -553,19 +485,11 @@ */ @Override public Result vehicleCollectionConsistency(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, CrossDetailResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<CrossDetailResult> resultList = mongoTemplate.find(query, CrossDetailResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("lalType").is("1")), CrossDetailResult.class); @@ -586,19 +510,11 @@ */ @Override public Result vehicleCollectionDataIntegrity(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, DataIntegrityMonitoringResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<DataIntegrityMonitoringResult> resultList = mongoTemplate.find(query, DataIntegrityMonitoringResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -615,19 +531,11 @@ */ @Override public Result vehicleCollectionDataCaptured(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, AttrRecognitionMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<AttrRecognitionMonitorResult> resultList = mongoTemplate.find(query, AttrRecognitionMonitorResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -644,19 +552,11 @@ */ @Override public Result vehicleClockAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, VehicleDeviceInspectionResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<VehicleDeviceInspectionResult> resultList = mongoTemplate.find(query, VehicleDeviceInspectionResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("snapResult").is("1")), VehicleDeviceInspectionResult.class); @@ -676,19 +576,11 @@ */ @Override public Result vehicleTimelyUploadAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, SnapshotDelayMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<SnapshotDelayMonitorResult> resultList = mongoTemplate.find(query, SnapshotDelayMonitorResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -705,19 +597,11 @@ */ @Override public Result vehicleUrlAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, PicAccessResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<PicAccessResult> resultList = mongoTemplate.find(query, PicAccessResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -734,19 +618,11 @@ */ @Override public Result vehicleBigImgAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, new ArrayList<>()); + long total = mongoTemplate.count(query, VehicleDeviceSamplingResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<VehicleDeviceSamplingResult> resultList = mongoTemplate.find(query, VehicleDeviceSamplingResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); @@ -763,19 +639,11 @@ */ @Override public Result faceViewDockStable(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, SnapshotDataMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<SnapshotDataMonitorResult> resultList = mongoTemplate.find(query, SnapshotDataMonitorResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("resultType").is("1")), SnapshotDataMonitorResult.class); @@ -796,19 +664,11 @@ */ @Override public Result facePointOnlineRate(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, SnapshotDataMonitorResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<SnapshotDataMonitorResult> resultList = mongoTemplate.find(query, SnapshotDataMonitorResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("resultType").is("1")), SnapshotDataMonitorResult.class); @@ -829,26 +689,18 @@ */ @Override public Result faceDirectoryConsistency(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); - long total = mongoTemplate.count(query, OneMachineFileResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); - List<OneMachineFileResult> resultList = mongoTemplate.find(query, OneMachineFileResult.class); + + Query query = MongoUtil.getQuery(params, "serialNumber.showValue", TIME_FIELD, null); + + long total = mongoTemplate.count(query, MonitorQualifyResult.class); + MongoUtil.setPage(query, params, TIME_FIELD); + List<MonitorQualifyResult> resultList = mongoTemplate.find(query, MonitorQualifyResult.class); // 缁熻鏁� - long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), OneMachineFileResult.class); - long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), OneMachineFileResult.class); - long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), OneMachineFileResult.class); - long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), OneMachineFileResult.class); - long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), OneMachineFileResult.class); + long nonNetwork = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("0")), MonitorQualifyResult.class); + long network = mongoTemplate.count(new Query().addCriteria(Criteria.where("LWSX").is("1")), MonitorQualifyResult.class); + long video = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*1.*")), MonitorQualifyResult.class); + long car = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*2.*")), MonitorQualifyResult.class); + long face = mongoTemplate.count(new Query().addCriteria(Criteria.where("SXJGNLX").regex(".*3.*")), MonitorQualifyResult.class); HashMap<String, Object> map = new HashMap<>(); map.put("count", Arrays.asList(nonNetwork, network, video, car, face)); map.put("list", resultList); @@ -863,19 +715,11 @@ */ @Override public Result faceCollectionConsistency(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, CrossDetailResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<CrossDetailResult> resultList = mongoTemplate.find(query, CrossDetailResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("lalType").is("1")), CrossDetailResult.class); @@ -896,19 +740,11 @@ */ @Override public Result faceImgQualification(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "deviceId", TIME_FIELD, null); + long total = mongoTemplate.count(query, MonitoringDetailResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<MonitoringDetailResult> resultList = mongoTemplate.find(query, MonitoringDetailResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("lalType").is("1")), MonitoringDetailResult.class); @@ -929,19 +765,11 @@ */ @Override public Result faceCapturesImagesAccuracy(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, FaceDeviceInspectionResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<FaceDeviceInspectionResult> resultList = mongoTemplate.find(query, FaceDeviceInspectionResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("snapResult").is("1")), FaceDeviceInspectionResult.class); @@ -961,19 +789,11 @@ */ @Override public Result faceTimelyUpload(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, FaceDeviceInspectionResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<FaceDeviceInspectionResult> resultList = mongoTemplate.find(query, FaceDeviceInspectionResult.class); // 缁熻鏁� long one = mongoTemplate.count(new Query().addCriteria(Criteria.where("snapResult").is("1")), FaceDeviceInspectionResult.class); @@ -993,19 +813,11 @@ */ @Override public Result faceAvailabilityOfLargeImg(DataCenterQuery params) { - Query query = new Query(); - // 鍏ㄦ枃绱㈠紩鏌ヨ - MongoUtil.fullText(query, params.getKeyword()); - Criteria criteria = new Criteria(); - // 鏅�氭煡璇� - if (Objects.nonNull(params.getStartTime()) && Objects.nonNull(params.getEndTime())) { - criteria.andOperator( - Criteria.where(TIME_FIELD).gte(params.getStartTime()).lte(params.getEndTime()) - ); - } - query.addCriteria(criteria); + + Query query = MongoUtil.getQuery(params, "externalIndexCode", TIME_FIELD, null); + long total = mongoTemplate.count(query, FaceDeviceSamplingResult.class); - query.with(Sort.by(Sort.Order.asc(TIME_FIELD))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); + MongoUtil.setPage(query, params, TIME_FIELD); List<FaceDeviceSamplingResult> resultList = mongoTemplate.find(query, FaceDeviceSamplingResult.class); // 缁熻鏁� HashMap<String, Object> map = new HashMap<>(); diff --git a/ycl-server/src/main/java/com/ycl/utils/MongoUtil.java b/ycl-server/src/main/java/com/ycl/utils/MongoUtil.java index 4f88595..0089c62 100644 --- a/ycl-server/src/main/java/com/ycl/utils/MongoUtil.java +++ b/ycl-server/src/main/java/com/ycl/utils/MongoUtil.java @@ -1,11 +1,17 @@ package com.ycl.utils; +import com.ycl.platform.domain.query.DataCenterQuery; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.TextCriteria; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import java.util.Objects; /** @@ -17,16 +23,54 @@ public class MongoUtil { /** - * 鏋勯�犲叏鏂囩储寮曠殑鏉′欢 + * 鏋勯�犳暟鎹腑蹇冩悳绱㈢殑鏉′欢 * - * @param query - * @param keyword + * @param params 鏁版嵁涓績璇锋眰鍙傛暟 + * @param gbFiled 鍥芥爣鐮佸瓧娈垫槸鍝竴涓� + * @param timeFiled 鏃堕棿瀛楁鏄摢涓�涓� + * @param gbList 鍥芥爣鐮� */ - public static void fullText(Query query, String keyword) { - if (StringUtils.hasText(keyword)) { - TextCriteria criteria = TextCriteria.forDefaultLanguage().matching(keyword); - query.addCriteria(criteria); + public static Query getQuery(DataCenterQuery params, String gbFiled, String timeFiled, List<String> gbList) { + // 鍏抽敭瀛� + TextCriteria text = null; + if (StringUtils.hasText(params.getKeyword())) { + text = TextCriteria.forDefaultLanguage().matching(params.getKeyword()); } + + Criteria in = null; + // in + if (! CollectionUtils.isEmpty(gbList)) { + in = Criteria.where(gbFiled).in(gbList); + } + + // 鏃堕棿 + Criteria time = Criteria.where(timeFiled).gte(params.getStartTime()).lte(params.getEndTime()); + + // 灏嗘煡璇㈡潯浠禷nd璧锋潵 + Criteria and = new Criteria(); + List<Criteria> qList = new ArrayList<>(3); + if (Objects.nonNull(text)) { + qList.add(Criteria.byExample(text)); + } + if (Objects.nonNull(in)) { + qList.add(in); + } + qList.add(time); + and.andOperator(qList); + // 杩斿洖鏌ヨ + return Query.query(and); + } + + /** + * 鏋勯�犳暟鎹腑蹇冩悳绱㈢殑鏉′欢 + * + * @param query 鏌ヨ鏉′欢 + * @param timeFiled 鏃堕棿瀛楁鏄摢涓�涓� + * @param params 璇锋眰鍙傛暟 + */ + public static void setPage(Query query,DataCenterQuery params, String timeFiled) { + // 鎺掑簭鍒嗛〉 + query.with(Sort.by(Sort.Order.desc(timeFiled))).skip(params.getSkipNum()).limit(Math.toIntExact(params.getPageSize())); } } diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml index 70e0166..5be7391 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml @@ -163,4 +163,22 @@ LIMIT 1 </select> + <select id="getDeptPointGB" resultType="string"> + SELECT + DISTINCT serial_number + FROM + t_yw_point + WHERE + <if test="tagType == 0"> + dept_tag = 1 + </if> + <if test="tagType == 1"> + important_tag = 1 + </if> + <if test="tagType == 2"> + important_command_image_tag = 1 + </if> + AND deleted = 0 + </select> + </mapper> -- Gitblit v1.8.0