From 1ffc844e3483cd3ac7cc73b5fb17c62e09d1ff2f Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 30 八月 2024 10:54:34 +0800 Subject: [PATCH] 工单取图像查询工单范围调整、分页图片查询 --- ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java | 43 ++++++++++++++++++++++++++----------------- 1 files changed, 26 insertions(+), 17 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java index d654649..5c04496 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/MonitorRegistrationCalculation.java @@ -10,7 +10,9 @@ import com.ycl.platform.mapper.TMonitorMapper; import com.ycl.platform.service.ICheckIndexVideoService; import constant.ApiConstants; +import constant.CheckThreadConstants; import constant.RedisConstant; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; @@ -29,6 +31,7 @@ * 鏇存柊鎴栨柊澧� */ @Component +@Slf4j public class MonitorRegistrationCalculation extends IndexCalculationServe implements CalculationStrategy<TMonitorVO> { @Autowired private CheckIndexVideoMapper checkIndexVideoMapper; @@ -52,22 +55,23 @@ @Override public void calculate(List<TMonitorVO> list) { if (CollectionUtils.isEmpty(list)) { + log.info("鏁版嵁涓虹┖"); return; } //鑾峰緱鍥芥爣鐮佷负key鐨勮澶噈ap Map<String, TMonitorVO> monitorMap = new HashMap<>(); - if(!CollectionUtils.isEmpty(list)){ + if (!CollectionUtils.isEmpty(list)) { monitorMap = list.stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity())); } //鑾峰彇鐪佸巺鍥芥爣鐮侀泦鍚� List<String> provinceIds = getProvince(); //鏈敞鍐岃澶� - Map<String,TMonitor> newMonitorMap = new HashMap<>(); + Map<String, TMonitor> newMonitorMap = new HashMap<>(); //Mongo涓�鏈轰竴妗e悓姝ysql鏃舵斁鍏edis String json = (String) redisTemplate.opsForValue().get(RedisConstant.New_Monitor_Set); if (!StringUtils.isEmpty(json)) { List<TMonitor> newMonitors = JSONArray.parseArray(json, TMonitor.class); - if(!CollectionUtils.isEmpty(newMonitors)){ + if (!CollectionUtils.isEmpty(newMonitors)) { newMonitorMap = newMonitors.stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity())); } } @@ -80,22 +84,22 @@ if (monitor == null) continue; String deptId = monitor.getDeptId().toString(); - updateAreaStats(areaStatsMap, deptId, result,newMonitorMap,todayMonitor); + updateAreaStats(areaStatsMap, deptId, result, newMonitorMap, todayMonitor); // 澶勭悊鐪佸巺鏁版嵁 if (!CollectionUtils.isEmpty(provinceIds) && provinceIds.contains(monitor.getSerialNumber())) { String provinceKey = ApiConstants.Province + deptId; - updateAreaStats(areaStatsMap, provinceKey, result,newMonitorMap,todayMonitor); + updateAreaStats(areaStatsMap, provinceKey, result, newMonitorMap, todayMonitor); } } // 鏌ヨ鏄惁index琛ㄥ凡缁忓瓨鍦ㄤ粖鏃ユ暟鎹� List<CheckIndexVideo> checkIndexVideoList = checkIndexVideoMapper.selectToday(DateUtils.getDate()); List<CheckIndexVideo> checkIndexVideos = new ArrayList<>(); - areaStatsMap.forEach((deptId, stats) -> { + areaStatsMap.forEach((key, stats) -> { if (stats.totalSites > 0) { - CheckIndexVideo CheckIndexVideo = createOrUpdateCheckIndexVideo(deptId, stats, checkIndexVideoList); - if (CheckIndexVideo != null) { - checkIndexVideos.add(CheckIndexVideo); + CheckIndexVideo checkIndexVideo = createOrUpdateCheckIndexVideo(key, stats, checkIndexVideoList); + if (checkIndexVideo != null) { + checkIndexVideos.add(checkIndexVideo); } } }); @@ -106,15 +110,15 @@ /** * 绱鎬荤偣浣嶆暟銆佸湪绾跨偣浣嶆暟銆侀噸鐐圭偣浣嶆暟銆侀噸鐐圭偣浣嶅湪绾挎暟銆佹寚鎸ュ浘鍍忔暟銆佹寚鎸ュ浘鍍忓湪绾挎暟 */ - private void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, TMonitorVO result,Map<String,TMonitor> newMonitors,List<String> todayMonitor) { + private void updateAreaStats(Map<String, AreaStats> areaStatsMap, String key, TMonitorVO result, Map<String, TMonitor> newMonitors, List<String> todayMonitor) { //杩斿洖瀵硅薄鐨勫紩鐢紝濡傛灉涓嶅瓨鍦ㄤ細鏀惧叆鏂扮殑key,value AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats()); stats.totalSites++; stats.allFiles++; - if(newMonitors.containsKey(result.getSerialNumber())){ + if (newMonitors.containsKey(result.getSerialNumber())) { stats.newSites++; } - if(todayMonitor.contains(result.getSerialNumber())){ + if (todayMonitor.contains(result.getSerialNumber())) { stats.todayFiles++; } } @@ -134,11 +138,16 @@ BigDecimal monitorRegistration = monitorRegistration(param); checkIndexVideo.setMonitorRegistration(monitorRegistration); //璋冪敤妗f鑰冩牳姣旇绠� - Map<String, Object> importantParam = new HashMap<>(); - param.put("allFiles", stats.allFiles); - param.put("todayFiles", stats.todayFiles); - BigDecimal archivesRate = archivesRate(importantParam); - checkIndexVideo.setArchivesRate(archivesRate); + Map<String, Object> archiveParam = new HashMap<>(); + archiveParam.put("allFiles", stats.allFiles); + archiveParam.put("todayFiles", stats.todayFiles); + BigDecimal archivesRate = archivesRate(archiveParam); + //濡傛灉妗f鑰冩牳姣斾綆浜�0.9涓嶅緱鍒� + if (new BigDecimal(CheckThreadConstants.Check_Video_Archive).compareTo(archivesRate) <= 0) { + checkIndexVideo.setArchivesRate(archivesRate); + } else { + checkIndexVideo.setArchivesRate(BigDecimal.ZERO); + } return checkIndexVideo; } -- Gitblit v1.8.0