From cb7d99d810f2356096b67fbccd3fac556e638d83 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 22 八月 2024 11:22:56 +0800
Subject: [PATCH] feat:查询条件优化
---
ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java
index 42c1c5d..fac20a8 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/CarDataIntegrityCalculation.java
@@ -6,6 +6,7 @@
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.result.HK.CrossDetailResult;
import com.ycl.platform.domain.result.HK.DataIntegrityMonitoringResult;
+import com.ycl.platform.domain.vo.TMonitorVO;
import com.ycl.platform.mapper.CheckIndexCarMapper;
import com.ycl.platform.mapper.TMonitorMapper;
import com.ycl.platform.service.ICheckIndexCarService;
@@ -13,6 +14,7 @@
import com.ycl.system.mapper.SysConfigMapper;
import constant.ApiConstants;
import constant.CheckConstants;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
@@ -30,11 +32,12 @@
* 鏇存柊鎴栨柊澧�
*/
@Component
+@Slf4j
public class CarDataIntegrityCalculation extends IndexCalculationServe implements CalculationStrategy<DataIntegrityMonitoringResult> {
@Autowired
private CheckIndexCarMapper checkIndexCarMapper;
@Autowired
- private ITMonitorService monitorService;
+ private TMonitorMapper monitorMapper;
@Autowired
private ICheckIndexCarService checkIndexCarService;
@@ -49,27 +52,26 @@
@Override
public void calculate(List<DataIntegrityMonitoringResult> list) {
if (CollectionUtils.isEmpty(list)) {
+ log.info("鏁版嵁涓虹┖");
return;
}
//杩斿洖浠ュ浗鏍囩爜涓簁ey鐨勮澶噈ap
- //TODO锛歮onitor鍘绘帀浜哾eptId
- Map<String, TMonitor> monitorMap = monitorService.list(new QueryWrapper<TMonitor>()
- .in("serial_number", list.stream().map(DataIntegrityMonitoringResult::getExternalIndexCode).collect(Collectors.toList())))
- .stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity()));
+ Map<String, TMonitorVO> monitorMap = monitorMapper.selectListByIds(list.stream().map(DataIntegrityMonitoringResult::getExternalIndexCode).collect(Collectors.toList()))
+ .stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity()));
//鑾峰彇鐪佸巺鍥芥爣鐮侀泦鍚�
List<String> provinceIds = getProvince();
//鑾峰彇閲嶇偣鐐逛綅闆嗗悎
List<String> importantIds = getImportant();
Map<String, AreaStats> areaStatsMap = new HashMap<>();
for (DataIntegrityMonitoringResult result : list) {
- TMonitor monitor = monitorMap.get(result.getExternalIndexCode());
+ TMonitorVO monitor = monitorMap.get(result.getExternalIndexCode());
if (monitor == null) continue;
String deptId = monitor.getDeptId().toString();
updateAreaStats(areaStatsMap, deptId, result, importantIds);
// 澶勭悊鐪佸巺鏁版嵁
if (!CollectionUtils.isEmpty(provinceIds) && provinceIds.contains(monitor.getSerialNumber())) {
- String provinceKey = "Province_" + deptId;
+ String provinceKey = ApiConstants.Province + deptId;
updateAreaStats(areaStatsMap, provinceKey, result, importantIds);
}
}
@@ -100,8 +102,8 @@
if (result.getMainNoIntegrityPercent() <= 0.1) {
stats.integritySites++;
}
- //閲嶇偣鐐逛綅涓哄叚椤瑰睘鎬�
- if (importantIds.contains(key)) {
+ //閲嶇偣鐐逛綅涓哄叚椤瑰睘鎬у畬鏁�
+ if (importantIds.contains(result.getExternalIndexCode())) {
stats.importantTotalSites++;
if (result.getNoIntegrityPercent() <= 0.1) {
stats.importantIntegritySites++;
--
Gitblit v1.8.0