From 3e9a6da99aae968123ee7bca352fc08becd7f1f2 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 29 八月 2024 17:29:21 +0800 Subject: [PATCH] 工单过程图接口更换 --- ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java | 46 ++++++++++++++++++++++++---------------------- 1 files changed, 24 insertions(+), 22 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java b/ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java index 4f275ab..e9e410a 100644 --- a/ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java +++ b/ycl-server/src/main/java/com/ycl/calculate/CarDeviceSampleCalculation.java @@ -1,13 +1,13 @@ package com.ycl.calculate; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ycl.platform.domain.entity.CheckIndexCar; -import com.ycl.platform.domain.entity.TMonitor; -import com.ycl.platform.domain.result.HK.DataIntegrityMonitoringResult; import com.ycl.platform.domain.result.HK.VehicleDeviceSamplingResult; +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; -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; @@ -23,17 +23,18 @@ import java.util.stream.Collectors; /** - * 杞﹁締鏁版嵁鎶芥鎺ュ彛 * 璁$畻杞﹁締灞炴�ц瘑鍒噯纭巼銆乽rl鍙敤鎬с�佸ぇ鍥惧彲鐢ㄦ�� + * 杞﹁締鏁版嵁鎶芥鎺ュ彛 * 鑾峰彇鍒嗙渷鍘呫�佸尯鍩熺殑map<k,v> k涓篸eptId鎴栬�匬rovince_deptId * 鏇存柊鎴栨柊澧� */ @Component +@Slf4j public class CarDeviceSampleCalculation extends IndexCalculationServe implements CalculationStrategy<VehicleDeviceSamplingResult> { @Autowired private CheckIndexCarMapper checkIndexCarMapper; @Autowired - private ITMonitorService monitorService; + private TMonitorMapper monitorMapper; @Autowired private ICheckIndexCarService checkIndexCarService; @@ -54,27 +55,26 @@ @Override public void calculate(List<VehicleDeviceSamplingResult> 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(VehicleDeviceSamplingResult::getExternalIndexCode).collect(Collectors.toList()))) - .stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity())); + Map<String, TMonitorVO> monitorMap = monitorMapper.selectListByIds(list.stream().map(VehicleDeviceSamplingResult::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 (VehicleDeviceSamplingResult 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); } } @@ -108,7 +108,7 @@ stats.accuracySites++; } //閲嶇偣鐐逛綅涓哄叚椤瑰睘鎬� - if (importantIds.contains(key)) { + if (importantIds.contains(result.getExternalIndexCode())) { stats.importantTotalSites++; if (vehDiff.getImportantConPercent() >= 0.9) { stats.importantAccuracySites++; @@ -118,13 +118,15 @@ if (bigUseful.getBigUsefulPercent() >= 0.9) { stats.picUsabilitySites++; } - //鍥剧墖璁块棶姝e父閲� = 鎶芥閲�-寮傚父閲� - BigDecimal picNormalCount = new BigDecimal(bigUseful.getSampleCount() - bigUseful.getBigPicExpCount()); - //鍥剧墖鎶芥閲� - BigDecimal sampleCount = new BigDecimal(bigUseful.getSampleCount()); - //鍥剧墖璁块棶鐜�>=90% 瑙嗕负鍚堟牸 - if (picNormalCount.divide(sampleCount, 4, RoundingMode.HALF_UP).compareTo(new BigDecimal("0.9")) >= 0) { - stats.urlUsabilitySites++; + if (bigUseful.getSampleCount() != 0) { + //鍥剧墖璁块棶姝e父閲� = 鎶芥閲�-寮傚父閲� + BigDecimal picNormalCount = new BigDecimal(bigUseful.getSampleCount() - bigUseful.getBigPicExpCount()); + //鍥剧墖鎶芥閲� + BigDecimal sampleCount = new BigDecimal(bigUseful.getSampleCount()); + //鍥剧墖璁块棶鐜�>=90% 瑙嗕负鍚堟牸 + if (picNormalCount.divide(sampleCount, 4, RoundingMode.HALF_UP).compareTo(new BigDecimal("0.9")) >= 0) { + stats.urlUsabilitySites++; + } } } @@ -152,8 +154,8 @@ checkIndexCar.setVehicleUrlAvailability(urlUsability); //璋冪敤澶у浘鍙敤鎬ц绠楁柟娉� Map<String, Object> usabilityParam = new HashMap<>(); - urlParam.put("totalSites", stats.totalSites); - urlParam.put("picUsabilitySites", stats.picUsabilitySites); + usabilityParam.put("totalSites", stats.totalSites); + usabilityParam.put("picUsabilitySites", stats.picUsabilitySites); BigDecimal picUsability = picUsability(usabilityParam); checkIndexCar.setVehiclePictureAvailability(picUsability); return checkIndexCar; -- Gitblit v1.8.0