From eb8c2e062f554aa250d660ac798cdb1de7eeeb99 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 12 十二月 2024 00:14:15 +0800 Subject: [PATCH] 首页抓拍量按钮 --- ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | 97 +++++++++++++++++++++++++----------------------- 1 files changed, 51 insertions(+), 46 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java index d353ed2..3f09bc6 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java @@ -780,7 +780,7 @@ MongoDatabase database = mongoTemplate.getDb(); MongoCollection<Document> collection = database.getCollection("uy_record_meta_d_sum"); Integer examineTag = monitorQuery.getExamineTag(); - Document matchConditions = new Document("mongoCreateTime", new Document("$gte", startDate).append("$lte", endDate)); + Document matchConditions = new Document("statTime", new Document("$gte", startDate).append("$lte", endDate)); // 鏍规嵁examineTag鐨勫�煎姩鎬佹坊鍔犻澶栫殑鏉′欢 if (examineTag != null && examineTag.equals(1)) { matchConditions.append("provinceTag", true); @@ -790,7 +790,7 @@ // 鏋勫缓鑱氬悎绠¢亾 List<Document> pipeline = Arrays.asList( new Document("$match", matchConditions), - new Document("$group", new Document("_id", "$mongoCreateTime") + new Document("$group", new Document("_id", "$statTime") .append("normalCount", new Document("$sum", new Document("$cond", Arrays.asList( new Document("$eq", Arrays.asList("$recordStatus", 1)), @@ -897,7 +897,7 @@ String type = car.replaceAll("3", "浜鸿劯"); monitor.setCameraFunType(type); } - StringBuilder tag = new StringBuilder("" + (monitor.getProvinceTag() ? "鐪佸巺銆�" : "") + (monitor.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (monitor.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (monitor.getDeptTag() ? "閮ㄧ骇銆�" : "")); + StringBuilder tag = new StringBuilder("" + (monitor.getProvinceTagVideo() ? "鐪佸巺瑙嗛銆�" : "") + (monitor.getProvinceTagCar() ? "鐪佸巺杞﹁締銆�" : "")+ (monitor.getProvinceTagFace() ? "鐪佸巺浜鸿劯銆�" : "")+ (monitor.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (monitor.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (monitor.getDeptTag() ? "閮ㄧ骇銆�" : "")); //鍔ㄦ�佸垪澶勭悊鍔犲湪鏍囩閲� if (!CollectionUtils.isEmpty(monitor.getDynamicColumnList())) { List<DynamicColumnVO> dynamicColumnList = monitor.getDynamicColumnList(); @@ -976,7 +976,6 @@ results.add(homecarVO); } - //TODO锛氬湪绾夸慨鏀癸紝闇�瑕佹妸妫�娴嬫捣搴蜂紭浜戞娴嬬殑缁撴灉瀛樺叆mongo锛宮ongo鏌ョ偣浣嶅湪绾� MongoCollection<Document> onlineCollection = database.getCollection("t_monitor_online"); // 鏋勫缓鍩烘湰鐨�$match鏉′欢 List<Document> onlineMatch = new ArrayList<>(); @@ -1007,30 +1006,33 @@ Map<String, Object> resultMap = new HashMap<>(); //鎸夋椂闂存帓搴� results = results.stream().sorted(Comparator.comparing(BaseHomeVO::getCreateDate)).collect(Collectors.toList()); - int snapCount = 0; - for (HomeCarVO vo : results) { - if (vo.getSnapCount() != null) { - snapCount += vo.getSnapCount(); + //濡傛灉鏄粯璁ゆ垨绱拰鍒欒繘琛岀疮鍜屼互鍙婅幏鍙栧熀鍑嗙嚎 + if(monitorQuery.getCategory() == null || monitorQuery.getCategory().equals(1)) { + int snapCount = 0; + for (HomeCarVO vo : results) { + if (vo.getSnapCount() != null) { + snapCount += vo.getSnapCount(); + } + vo.setSnapCount(snapCount); } - vo.setSnapCount(snapCount); + //浠庡瓧鍏歌幏鍙栧熀鍑嗙嚎 + List<SysDictData> baseLines = dictDataMapper.selectDictDataByType("home_baseLine"); + String condition; + if (examineTag != null && examineTag == 1) { + condition = "car_province_baseLine"; + } else if (examineTag != null && examineTag == 2) { + condition = "car_dept_baseLine"; + } else { + condition = "car_all_baseLine"; + } + + Optional<SysDictData> first = baseLines.stream().filter(sysDictData -> condition.equals(sysDictData.getDictLabel())).findFirst(); + if (first.isPresent()) { + SysDictData sysDictData = first.get(); + resultMap.put("baseLine", Integer.valueOf(sysDictData.getDictValue())); + } } resultMap.put("list", results); - //浠庡瓧鍏歌幏鍙栧熀鍑嗙嚎 - List<SysDictData> baseLines = dictDataMapper.selectDictDataByType("home_baseLine"); - String condition; - if (examineTag != null && examineTag == 1) { - condition = "car_province_baseLine"; - } else if (examineTag != null && examineTag == 2) { - condition = "car_dept_baseLine"; - } else { - condition = "car_all_baseLine"; - } - - Optional<SysDictData> first = baseLines.stream().filter(sysDictData -> condition.equals(sysDictData.getDictLabel())).findFirst(); - if (first.isPresent()) { - SysDictData sysDictData = first.get(); - resultMap.put("baseLine", Integer.valueOf(sysDictData.getDictValue())); - } return resultMap; } @@ -1115,32 +1117,35 @@ HomeFaceVO vo = findOrCreateVO(doc, results, HomeFaceVO.class); vo.setOnline(doc.getInteger("onlineCount")); } + Map<String, Object> resultMap = new HashMap<>(); //鎸夋椂闂存帓搴� results = results.stream().sorted(Comparator.comparing(BaseHomeVO::getCreateDate)).collect(Collectors.toList()); - int snapCount = 0; - for (HomeFaceVO vo : results) { - if (vo.getSnapCount() != null) { - snapCount += vo.getSnapCount(); + //濡傛灉鏄粯璁ゆ垨绱拰鍒欒繘琛岀疮鍜屼互鍙婅幏鍙栧熀鍑嗙嚎 + if(monitorQuery.getCategory() == null || monitorQuery.getCategory().equals(1)) { + int snapCount = 0; + for (HomeFaceVO vo : results) { + if (vo.getSnapCount() != null) { + snapCount += vo.getSnapCount(); + } + vo.setSnapCount(snapCount); } - vo.setSnapCount(snapCount); + //浠庡瓧鍏歌幏鍙栧熀鍑嗙嚎 + List<SysDictData> baseLines = dictDataMapper.selectDictDataByType("home_baseLine"); + String condition; + if (examineTag != null && examineTag == 1) { + condition = "face_province_baseLine"; + } else if (examineTag != null && examineTag == 2) { + condition = "face_dept_baseLine"; + } else { + condition = "face_all_baseLine"; + } + Optional<SysDictData> first = baseLines.stream().filter(sysDictData -> condition.equals(sysDictData.getDictLabel())).findFirst(); + if (first.isPresent()) { + SysDictData sysDictData = first.get(); + resultMap.put("baseLine", Integer.valueOf(sysDictData.getDictValue())); + } } - Map<String, Object> resultMap = new HashMap<>(); resultMap.put("list", results); - //浠庡瓧鍏歌幏鍙栧熀鍑嗙嚎 - List<SysDictData> baseLines = dictDataMapper.selectDictDataByType("home_baseLine"); - String condition; - if (examineTag != null && examineTag == 1) { - condition = "face_province_baseLine"; - } else if (examineTag != null && examineTag == 2) { - condition = "face_dept_baseLine"; - } else { - condition = "face_all_baseLine"; - } - Optional<SysDictData> first = baseLines.stream().filter(sysDictData -> condition.equals(sysDictData.getDictLabel())).findFirst(); - if (first.isPresent()) { - SysDictData sysDictData = first.get(); - resultMap.put("baseLine", Integer.valueOf(sysDictData.getDictValue())); - } return resultMap; } -- Gitblit v1.8.0