From 74fb0ca8f830e145513cc8e18257c5bac4c5ed62 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期六, 24 八月 2024 12:09:32 +0800
Subject: [PATCH] refactor:合同考核结果详情调整
---
ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java | 35 ++++++++++++++++++++---------------
1 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java
index feddb69..d598f12 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/FaceDeviceSampleCalculation.java
@@ -1,12 +1,13 @@
package com.ycl.calculate;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ycl.platform.domain.entity.CheckIndexFace;
-import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.result.HK.FaceDeviceSamplingResult;
+import com.ycl.platform.domain.vo.TMonitorVO;
import com.ycl.platform.mapper.CheckIndexFaceMapper;
+import com.ycl.platform.mapper.TMonitorMapper;
import com.ycl.platform.service.ICheckIndexFaceService;
-import com.ycl.platform.service.ITMonitorService;
+import constant.ApiConstants;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
@@ -27,11 +28,12 @@
* 鏇存柊鎴栨柊澧�
*/
@Component
+@Slf4j
public class FaceDeviceSampleCalculation extends IndexCalculationServe implements CalculationStrategy<FaceDeviceSamplingResult> {
@Autowired
private CheckIndexFaceMapper checkIndexFaceMapper;
@Autowired
- private ITMonitorService monitorService;
+ private TMonitorMapper monitorMapper;
@Autowired
private ICheckIndexFaceService checkIndexFaceService;
@@ -47,25 +49,24 @@
@Override
public void calculate(List<FaceDeviceSamplingResult> 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(FaceDeviceSamplingResult::getExternalIndexCode).collect(Collectors.toList())))
- .stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity()));
+ Map<String, TMonitorVO> monitorMap = monitorMapper.selectListByIds(list.stream().map(FaceDeviceSamplingResult::getExternalIndexCode).collect(Collectors.toList()))
+ .stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity()));
//鑾峰彇鐪佸巺鍥芥爣鐮侀泦鍚�
List<String> provinceIds = getProvince();
Map<String, AreaStats> areaStatsMap = new HashMap<>();
for (FaceDeviceSamplingResult 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);
// 澶勭悊鐪佸巺鏁版嵁
if (!CollectionUtils.isEmpty(provinceIds) && provinceIds.contains(monitor.getSerialNumber())) {
- String provinceKey = "Province_" + deptId;
+ String provinceKey = ApiConstants.Province + deptId;
updateAreaStats(areaStatsMap, provinceKey, result);
}
}
@@ -92,15 +93,19 @@
//杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value
AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats());
FaceDeviceSamplingResult.BigUsefulness bigUseful = result.getBigUseful();
- FaceDeviceSamplingResult.FaceEligibility faceElig = result.getFaceElig();
+ FaceDeviceSamplingResult.FaceEligibility faceElig = result.getFaceEligibility();
stats.totalSites++;
//90%鍙婁互涓婃暟鎹悎鏍煎垯姝や汉鑴歌澶囪瑙嗕负鍥剧墖鍚堟牸
- if (faceElig.getFaceEligPercent() >= 0.9) {
- stats.picQualifySites++;
+ if (faceElig != null) {
+ if (faceElig.getFaceEligPercent() >= 0.9) {
+ stats.picQualifySites++;
+ }
}
//澶у浘鍙敤鐜囧ぇ浜�90%瑙嗕负鍚堟牸
- if (bigUseful.getBigUsefulPercent() >= 0.9) {
- stats.picUsabilitySites++;
+ if (bigUseful != null) {
+ if (bigUseful.getBigUsefulPercent() >= 0.9) {
+ stats.picUsabilitySites++;
+ }
}
}
--
Gitblit v1.8.0