From 615af82c9ea47993e78b00e9c64e887e063474f8 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 04 九月 2024 22:08:50 +0800
Subject: [PATCH] 点位修改增加部级标签设置
---
ycl-server/src/main/java/com/ycl/calculate/VideoUsabilityCalculation.java | 43 ++++++++++++++++++++++++++++++-------------
1 files changed, 30 insertions(+), 13 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/calculate/VideoUsabilityCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/VideoUsabilityCalculation.java
index 1b267fc..592a0e8 100644
--- a/ycl-server/src/main/java/com/ycl/calculate/VideoUsabilityCalculation.java
+++ b/ycl-server/src/main/java/com/ycl/calculate/VideoUsabilityCalculation.java
@@ -5,12 +5,14 @@
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.param.UY.RecordMetaDSumParam;
import com.ycl.platform.domain.result.UY.QueryVqdResult;
+import com.ycl.platform.domain.result.UY.RecordMetaDSumResult;
import com.ycl.platform.domain.vo.TMonitorVO;
import com.ycl.platform.mapper.CheckIndexVideoMapper;
import com.ycl.platform.mapper.TMonitorMapper;
import com.ycl.platform.service.ICheckIndexVideoService;
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;
@@ -32,7 +34,8 @@
* 鏇存柊鎴栨柊澧�
*/
@Component
-public class VideoUsabilityCalculation extends IndexCalculationServe implements CalculationStrategy<RecordMetaDSumParam> {
+@Slf4j
+public class VideoUsabilityCalculation extends IndexCalculationServe implements CalculationStrategy<RecordMetaDSumResult> {
@Autowired
private CheckIndexVideoMapper checkIndexVideoMapper;
@Autowired
@@ -46,34 +49,37 @@
int usabilitySites = 0;
int importantSites = 0;
int importantUsabilitySites = 0;
+ int deptSite =0;
+ int depteUsabilitySites = 0;
}
@Override
- public void calculate(List<RecordMetaDSumParam> list) {
+ public void calculate(List<RecordMetaDSumResult> list) {
if (CollectionUtils.isEmpty(list)) {
+ log.info("鏁版嵁涓虹┖");
return;
}
//鑾峰緱鍥芥爣鐮佷负key鐨勮澶噈ap
- Map<String, TMonitorVO> monitorMap = monitorMapper.selectListByIds(list.stream().map(RecordMetaDSumParam::getDeviceId).collect(Collectors.toList()))
+ Map<String, TMonitorVO> monitorMap = monitorMapper.selectListByIds(list.stream().map(RecordMetaDSumResult::getDeviceId).collect(Collectors.toList()))
.stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity()));
//鑾峰彇鐪佸巺鍥芥爣鐮侀泦鍚�
List<String> provinceIds = getProvince();
//閲嶇偣鐐逛綅闆嗗悎
List<String> important = getImportant();
-
+ List<String> deptTag = getDeptTag();
Map<String, AreaStats> areaStatsMap = new HashMap<>();
- for (RecordMetaDSumParam result : list) {
+ for (RecordMetaDSumResult result : list) {
TMonitorVO monitor = monitorMap.get(result.getDeviceId());
if (monitor == null) continue;
String deptId = monitor.getDeptId().toString();
- updateAreaStats(areaStatsMap, deptId, result, important);
+ updateAreaStats(areaStatsMap, deptId, result, important,deptTag);
// 澶勭悊鐪佸巺鏁版嵁
if (!CollectionUtils.isEmpty(provinceIds) && provinceIds.contains(monitor.getSerialNumber())) {
String provinceKey = ApiConstants.Province + deptId;
- updateAreaStats(areaStatsMap, provinceKey, result, important);
+ updateAreaStats(areaStatsMap, provinceKey, result, important,deptTag);
}
}
@@ -95,18 +101,23 @@
/**
* 绱鎬荤偣浣嶆暟銆佸湪绾跨偣浣嶆暟銆侀噸鐐圭偣浣嶆暟銆侀噸鐐圭偣浣嶅湪绾挎暟
*/
- private void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, RecordMetaDSumParam result, List<String> important) {
+ private void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, RecordMetaDSumResult result, List<String> important,List<String> deptTag) {
//杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value
AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats());
stats.totalSites++;
- boolean flag = important.contains(result.getDeviceId());
- if(flag){
+ if(important.contains(result.getDeviceId())){
stats.importantSites++;
+ }
+ if(deptTag.contains(result.getDeviceId())){
+ stats.deptSite++;
}
if (ApiConstants.UY_RecordStatus_Integrity.equals(result.getRecordStatus())){
stats.usabilitySites++;
- if(flag){
+ if(important.contains(result.getDeviceId())){
stats.importantUsabilitySites++;
+ }
+ if(deptTag.contains(result.getDeviceId())){
+ stats.depteUsabilitySites++;
}
}
}
@@ -127,10 +138,16 @@
checkIndexVideo.setVideoAvailable(videoUsability);
//璋冪敤褰曞儚鍙敤鐜囪绠楁柟娉� 璁$畻閲嶇偣鐐逛綅褰曞儚鍙敤鐜�
Map<String, Object> importantParam = new HashMap<>();
- param.put("totalSites", stats.importantSites);
- param.put("usabilitySites", stats.importantUsabilitySites);
+ importantParam.put("totalSites", stats.importantSites);
+ importantParam.put("usabilitySites", stats.importantUsabilitySites);
BigDecimal importantVideoUsability = videoUsability(importantParam);
checkIndexVideo.setKeyVideoAvailable(importantVideoUsability);
+ //璋冪敤褰曞儚鍙敤鐜囪绠楁柟娉� 璁$畻閮ㄧ骇褰曞儚鍙敤鐜�
+ Map<String, Object> deptParam = new HashMap<>();
+ deptParam.put("totalSites", stats.deptSite);
+ deptParam.put("usabilitySites", stats.depteUsabilitySites);
+ BigDecimal deptUseability = videoUsability(deptParam);
+ checkIndexVideo.setMinistryVideoAvailable(deptUseability);
return checkIndexVideo;
}
}
--
Gitblit v1.8.0