package com.ycl.calculate; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ycl.platform.domain.entity.TMonitor; import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; import com.ycl.platform.service.ITMonitorService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.function.Function; import java.util.stream.Collectors; /** * 计算公式 */ @Component public class IndexCalculationServe { @Autowired private ITMonitorService monitorService; //点位在线率 public BigDecimal siteOnline(Map param) { BigDecimal totalSites = new BigDecimal((Integer) param.get("totalSites")); BigDecimal offlineSites = new BigDecimal((Integer) param.get("offlineSites")); BigDecimal onlineSites = totalSites.subtract(offlineSites); return onlineSites.divide(totalSites, 4, RoundingMode.HALF_UP); } //视图库对接稳定性 public BigDecimal viewConnectStability(Map param) { BigDecimal totalDataSum = new BigDecimal((Integer) param.get("totalDataSum")); BigDecimal avgCount = new BigDecimal((Integer) param.get("avgCount")); return avgCount.divide(totalDataSum, 4, RoundingMode.HALF_UP); } //标注正确率 public BigDecimal InfoAccuracy(Map param) { BigDecimal totalSitesCount = new BigDecimal((Integer) param.get("totalSites")); BigDecimal qualifySiteCount = new BigDecimal((Integer) param.get("qualifySite")); return qualifySiteCount.divide(totalSitesCount, 4, RoundingMode.HALF_UP); } //返回省厅国标码集合 public List getProvince() { // TODO: 分省厅市局 需要补充集合数据 List list = new ArrayList<>(); return list; } }