fuliqi
2024-08-15 b3764b100a9e8783e2c061473ada3f5316d84f55
ycl-server/src/main/java/com/ycl/factory/IndexCalculationFactory.java
@@ -1,6 +1,7 @@
package com.ycl.factory;
import com.ycl.calculate.*;
import com.ycl.platform.domain.result.UY.VideoQualityResult;
import constant.CalculationStrategyConstants;
import java.util.HashMap;
@@ -10,15 +11,44 @@
    private static final Map<String, CalculationStrategy> calculators = new HashMap<>();
    static {
        //点位在线、视图库对接稳定性
        calculators.put(CalculationStrategyConstants.Car_SiteOnline_ViewStability, new CarSiteOnlineCalculation());
        calculators.put(CalculationStrategyConstants.Face_SiteOnline_ViewStability, new FaceSiteOnlineCalculation());
        //信息准确率
        //车辆点位在线、视图库对接稳定性
        calculators.put(CalculationStrategyConstants.Car_SiteOnline_ViewStability, new CarSnapshopDataCalculation());
        //车辆信息准确率
        calculators.put(CalculationStrategyConstants.Car_InfoAccuracy, new CarInFoAccuracyCalculation());
        calculators.put(CalculationStrategyConstants.Face_InfoAccuracy, new FaceInFoAccuracyCalculation());
        //抓拍数据上传延迟
        //车辆抓拍数据上传延迟
        calculators.put(CalculationStrategyConstants.Car_SnapshotDelay, new CarSnapshotDelayCalculation());
        //车辆数据抓拍完整性
        calculators.put(CalculationStrategyConstants.Car_DataIntegrity, new CarDataIntegrityCalculation());
        //车辆数据抓拍准确性、url、大图可用
        calculators.put(CalculationStrategyConstants.Car_DataAccuracy_Url_PicUsability, new CarDeviceSampleCalculation());
        //车辆时钟准确性
        calculators.put(CalculationStrategyConstants.Car_ClockAccuracy, new CarClockAccuracyCalculation());
        //车辆目录一致
        calculators.put(CalculationStrategyConstants.Car_DirectConsistent, new CarConsistentCalculation());
        //人脸点位在线、视图库对接稳定
        calculators.put(CalculationStrategyConstants.Face_SiteOnline_ViewStability, new FaceSnapshotDataCalculation());
        //人脸信息准确率
        calculators.put(CalculationStrategyConstants.Face_InfoAccuracy, new FaceInFoAccuracyCalculation());
        //人脸抓拍数据延迟
        calculators.put(CalculationStrategyConstants.Face_SnapshotDelay, new FaceSnapshotDelayCalculation());
        //人脸图片合格、大图可用
        calculators.put(CalculationStrategyConstants.Face_DataAccuracy_PicUsability, new FaceDeviceSampleCalculation());
        //人脸时钟准确性
        calculators.put(CalculationStrategyConstants.Face_ClockAccuracy, new FaceClockAccuracyCalculation());
        //人脸目录一致
        calculators.put(CalculationStrategyConstants.Face_DirectConsistent, new FaceConsistentCalculation());
        //一机一档注册率、档案考核比
        calculators.put(CalculationStrategyConstants.Video_MonitorRegis_ArchiveRate,new MonitorRegistrationCalculation())
        //一机一档合格率
        calculators.put(CalculationStrategyConstants.Video_MonitorQualify, new MonitorQualifyCalculation());
        //视频点位在线率
        calculators.put(CalculationStrategyConstants.Video_SiteOnline, new VideoOnlineCalculation());
        //视频录像可用率
        calculators.put(CalculationStrategyConstants.Video_Usability, new VideoUsabilityCalculation());
        //平台在线率
        calculators.put(CalculationStrategyConstants.Video_PlatformOnline,new PlatformOnlineCalculation());
    }
    public static CalculationStrategy getCalculator(String indexName) {