package com.ycl.factory; import com.ycl.calculate.*; import com.ycl.platform.domain.result.UY.VideoQualityResult; import constant.CalculationStrategyConstants; import java.util.HashMap; import java.util.Map; public class IndexCalculationFactory { private static final Map calculators = new HashMap<>(); static { //车辆点位在线、视图库对接稳定性 calculators.put(CalculationStrategyConstants.Car_SiteOnline_ViewStability, new CarSnapshopDataCalculation()); //车辆信息准确率 calculators.put(CalculationStrategyConstants.Car_InfoAccuracy, new CarInFoAccuracyCalculation()); //车辆抓拍数据上传延迟 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()); //Osd准确率和时间标注准确率 calculators.put(CalculationStrategyConstants.Video_OsdTime,new VideoOsdCalculation()); } public static CalculationStrategy getCalculator(String indexName) { return calculators.get(indexName); } }