using OrpaonVision.Core.PlacementJudgment; using OrpaonVision.Core.LayerCompletion; using OrpaonVision.Core.LayerTransition; using OrpaonVision.Core.FinalJudgment; using OrpaonVision.Core.AlarmSystem; using OrpaonVision.Core.Statistics; using OrpaonVision.Core.HistoryTrace; using OrpaonVision.Core.ManualOverride; using OrpaonVision.Core.Common; namespace OrpaonVision.SiteApp.Runtime.Options { /// /// 运行端 MVP 配置。 /// public sealed class RuntimeOptions { /// /// 当前工位层总数。 /// public int TotalLayers { get; set; } = 4; /// /// 相机标识。 /// public string CameraId { get; set; } = "CAM-01"; /// /// NG 置信度阈值。 /// public decimal NgConfidenceThreshold { get; set; } = 0.6m; // === 机种切换配置 === /// /// 最小切换间隔(分钟)。 /// public int MinSwitchIntervalMinutes { get; set; } = 5; /// /// 是否启用机种切换权限检查。 /// public bool EnableSwitchPermissionCheck { get; set; } = true; /// /// 是否启用机种切换频率限制。 /// public bool EnableSwitchFrequencyLimit { get; set; } = true; /// /// 是否启用强制切换审批。 /// public bool EnableForceSwitchApproval { get; set; } = true; /// /// 强制切换审批人角色。 /// public string[] ForceSwitchApprovalRoles { get; set; } = { "班组长", "工艺工程师" }; /// /// 运行时状态检查:运行中是否允许切换。 /// public bool AllowSwitchWhenRunning { get; set; } = false; /// /// 运行时状态检查:暂停时是否允许切换。 /// public bool AllowSwitchWhenPaused { get; set; } = true; /// /// 运行时状态检查:完成后是否允许切换。 /// public bool AllowSwitchWhenCompleted { get; set; } = false; /// /// 机种切换历史记录保留数量。 /// public int SwitchHistoryRetentionCount { get; set; } = 100; /// /// 是否记录机种切换审计日志。 /// public bool EnableSwitchAuditLog { get; set; } = true; // === 机种锁定配置 === /// /// 是否启用机种自动锁定。 /// public bool EnableProductAutoLock { get; set; } = true; /// /// 运行中自动锁定机种。 /// public bool AutoLockWhenRunning { get; set; } = true; /// /// 维护模式自动锁定机种。 /// public bool AutoLockWhenMaintenance { get; set; } = true; /// /// 机种锁定过期时间(小时)。 /// public int ProductLockExpirationHours { get; set; } = 24; // === 层级识别配置 === /// /// 层级识别置信度阈值。 /// public double LayerRecognitionConfidenceThreshold { get; set; } = 0.7; /// /// 层级稳定性阈值。 /// public double LayerStabilityThreshold { get; set; } = 0.8; /// /// 主导层级阈值(百分比)。 /// public double DominantLayerThreshold { get; set; } = 0.6; /// /// 层级稳定性窗口大小。 /// public int LayerStabilityWindowSize { get; set; } = 5; /// /// 最大层级历史记录数量。 /// public int MaxLayerHistoryCount { get; set; } = 1000; /// /// 是否启用层级变化检测。 /// public bool EnableLayerTransitionDetection { get; set; } = true; /// /// 层级变化检测置信度阈值。 /// public double LayerTransitionConfidenceThreshold { get; set; } = 0.6; /// /// 是否启用多方法融合识别。 /// public bool EnableMultiMethodFusion { get; set; } = true; /// /// 规则识别方法权重。 /// public double RuleBasedMethodWeight { get; set; } = 0.3; /// /// 特征匹配方法权重。 /// public double FeatureMatchingMethodWeight { get; set; } = 0.4; /// /// 机器学习方法权重。 /// public double MachineLearningMethodWeight { get; set; } = 0.6; /// /// 是否启用层级特征提取。 /// public bool EnableLayerFeatureExtraction { get; set; } = true; /// /// 特征向量维度。 /// public int FeatureVectorDimension { get; set; } = 20; /// /// 是否启用层级模型训练。 /// public bool EnableLayerModelTraining { get; set; } = true; /// /// 最小训练样本数量。 /// public int MinTrainingSampleCount { get; set; } = 100; /// /// 训练数据验证比例。 /// public double TrainingValidationRatio { get; set; } = 0.2; /// /// 是否启用层级识别统计。 /// public bool EnableLayerRecognitionStatistics { get; set; } = true; /// /// 统计数据保留天数。 /// public int StatisticsRetentionDays { get; set; } = 30; /// /// 是否启用层级识别缓存。 /// public bool EnableLayerRecognitionCache { get; set; } = true; /// /// 缓存过期时间(分钟)。 /// public int CacheExpirationMinutes { get; set; } = 30; /// /// 最大缓存大小。 /// public int MaxCacheSize { get; set; } = 10000; // === 部件识别配置 === /// /// 部件识别置信度阈值。 /// public double PartRecognitionConfidenceThreshold { get; set; } = 0.6; /// /// 部件匹配阈值。 /// public double PartMatchThreshold { get; set; } = 0.7; /// /// 部件位置容差。 /// public double PartPositionTolerance { get; set; } = 10.0; /// /// 部件大小容差。 /// public double PartSizeTolerance { get; set; } = 0.1; /// /// 最大映射历史记录数量。 /// public int MaxMappingHistoryCount { get; set; } = 5000; /// /// 是否启用部件模糊匹配。 /// public bool EnablePartFuzzyMatching { get; set; } = true; /// /// 部件模糊匹配阈值。 /// public double PartFuzzyMatchingThreshold { get; set; } = 0.8; /// /// 是否启用部件批量映射。 /// public bool EnableBatchPartMapping { get; set; } = true; /// /// 批量映射批次大小。 /// public int BatchMappingSize { get; set; } = 100; /// /// 是否启用部件精度校验。 /// public bool EnablePartAccuracyValidation { get; set; } = true; /// /// 部件精度校验阈值。 /// public double PartAccuracyValidationThreshold { get; set; } = 0.8; /// /// 是否启用部件模型训练。 /// public bool EnablePartModelTraining { get; set; } = true; /// /// 最小部件训练样本数量。 /// public int MinPartTrainingSampleCount { get; set; } = 200; /// /// 部件训练数据验证比例。 /// public double PartTrainingValidationRatio { get; set; } = 0.2; /// /// 是否启用部件参数优化。 /// public bool EnablePartParameterOptimization { get; set; } = true; /// /// 部件优化迭代次数。 /// public int PartOptimizationIterations { get; set; } = 50; /// /// 是否启用部件识别统计。 /// public bool EnablePartRecognitionStatistics { get; set; } = true; /// /// 部件统计数据保留天数。 /// public int PartStatisticsRetentionDays { get; set; } = 30; /// /// 是否启用部件识别缓存。 /// public bool EnablePartRecognitionCache { get; set; } = true; /// /// 部件缓存过期时间(分钟)。 /// public int PartCacheExpirationMinutes { get; set; } = 60; /// /// 最大部件缓存大小。 /// public int MaxPartCacheSize { get; set; } = 20000; /// /// 部件类别映射权重。 /// public Dictionary PartClassMappingWeights { get; set; } = new(); /// /// 部件类型优先级。 /// public Dictionary PartTypePriorities { get; set; } = new(); /// /// 部件识别超时时间(毫秒)。 /// public int PartRecognitionTimeoutMs { get; set; } = 5000; /// /// 部件批量处理超时时间(毫秒)。 /// public int BatchPartProcessingTimeoutMs { get; set; } = 30000; // === 数量校验配置 === /// /// 数量校验置信度阈值。 /// public double QuantityValidationConfidenceThreshold { get; set; } = 0.8; /// /// 最大校验历史记录数量。 /// public int MaxValidationHistoryCount { get; set; } = 10000; /// /// 是否启用数量校验缓存。 /// public bool EnableQuantityValidationCache { get; set; } = true; /// /// 数量校验缓存过期时间(分钟)。 /// public int QuantityValidationCacheExpirationMinutes { get; set; } = 30; /// /// 最大数量校验缓存大小。 /// public int MaxQuantityValidationCacheSize { get; set; } = 5000; /// /// 是否启用批量数量校验。 /// public bool EnableBatchQuantityValidation { get; set; } = true; /// /// 批量数量校验批次大小。 /// public int BatchQuantityValidationSize { get; set; } = 50; /// /// 数量校验超时时间(毫秒)。 /// public int QuantityValidationTimeoutMs { get; set; } = 3000; /// /// 批量数量校验超时时间(毫秒)。 /// public int BatchQuantityValidationTimeoutMs { get; set; } = 15000; /// /// 是否启用数量校验统计。 /// public bool EnableQuantityValidationStatistics { get; set; } = true; /// /// 数量校验统计数据保留天数。 /// public int QuantityValidationStatisticsRetentionDays { get; set; } = 30; /// /// 精确数量校验容差。 /// public int ExactQuantityTolerance { get; set; } = 0; /// /// 最少数量校验容差。 /// public int MinimumQuantityTolerance { get; set; } = 0; /// /// 范围数量校验容差。 /// public int RangeQuantityTolerance { get; set; } = 0; /// /// 唯一数量校验容差。 /// public int UniqueQuantityTolerance { get; set; } = 0; /// /// 是否启用数量校验规则优先级。 /// public bool EnableQuantityValidationRulePriority { get; set; } = true; /// /// 数量校验规则默认优先级。 /// public int DefaultQuantityValidationRulePriority { get; set; } = 1; /// /// 是否启用数量校验错误恢复。 /// public bool EnableQuantityValidationErrorRecovery { get; set; } = true; /// /// 数量校验错误重试次数。 /// public int QuantityValidationErrorRetryCount { get; set; } = 3; /// /// 数量校验错误重试间隔(毫秒)。 /// public int QuantityValidationErrorRetryIntervalMs { get; set; } = 1000; /// /// 是否启用数量校验性能监控。 /// public bool EnableQuantityValidationPerformanceMonitoring { get; set; } = true; /// /// 数量校验性能监控阈值(毫秒)。 /// public double QuantityValidationPerformanceThresholdMs { get; set; } = 100.0; /// /// 是否启用数量校验并发处理。 /// public bool EnableQuantityValidationConcurrentProcessing { get; set; } = true; /// /// 数量校验并发处理最大线程数。 /// public int QuantityValidationConcurrentMaxThreads { get; set; } = 4; /// /// 是否启用数量校验内存优化。 /// public bool EnableQuantityValidationMemoryOptimization { get; set; } = true; /// /// 数量校验内存优化阈值(MB)。 /// public double QuantityValidationMemoryOptimizationThresholdMb { get; set; } = 100.0; // === 位置校验配置 === /// /// 位置校验置信度阈值。 /// public double PositionValidationConfidenceThreshold { get; set; } = 0.8; /// /// 最大位置校验历史记录数量。 /// public int MaxPositionValidationHistoryCount { get; set; } = 10000; /// /// 是否启用位置校验缓存。 /// public bool EnablePositionValidationCache { get; set; } = true; /// /// 位置校验缓存过期时间(分钟)。 /// public int PositionValidationCacheExpirationMinutes { get; set; } = 30; /// /// 最大位置校验缓存大小。 /// public int MaxPositionValidationCacheSize { get; set; } = 5000; /// /// 是否启用批量位置校验。 /// public bool EnableBatchPositionValidation { get; set; } = true; /// /// 批量位置校验批次大小。 /// public int BatchPositionValidationSize { get; set; } = 50; /// /// 位置校验超时时间(毫秒)。 /// public int PositionValidationTimeoutMs { get; set; } = 3000; /// /// 批量位置校验超时时间(毫秒)。 /// public int BatchPositionValidationTimeoutMs { get; set; } = 15000; /// /// 是否启用位置校验统计。 /// public bool EnablePositionValidationStatistics { get; set; } = true; /// /// 位置校验统计数据保留天数。 /// public int PositionValidationStatisticsRetentionDays { get; set; } = 30; /// /// 槽位校验位置容差。 /// public double SlotValidationPositionTolerance { get; set; } = 10.0; /// /// 槽位校验大小容差。 /// public double SlotValidationSizeTolerance { get; set; } = 0.1; /// /// 重叠率校验默认阈值。 /// public double DefaultOverlapRatioThreshold { get; set; } = 0.2; /// /// 中心点校验默认容差。 /// public double CenterPointValidationDefaultTolerance { get; set; } = 15.0; /// /// 边界框校验默认容差。 /// public double BoundingBoxValidationDefaultTolerance { get; set; } = 10.0; /// /// 角度校验默认容差(度)。 /// public double AngleValidationDefaultTolerance { get; set; } = 5.0; /// /// 是否启用位置校验规则优先级。 /// public bool EnablePositionValidationRulePriority { get; set; } = true; /// /// 位置校验规则默认优先级。 /// public int DefaultPositionValidationRulePriority { get; set; } = 1; /// /// 是否启用位置校验错误恢复。 /// public bool EnablePositionValidationErrorRecovery { get; set; } = true; /// /// 位置校验错误重试次数。 /// public int PositionValidationErrorRetryCount { get; set; } = 3; /// /// 位置校验错误重试间隔(毫秒)。 /// public int PositionValidationErrorRetryIntervalMs { get; set; } = 1000; /// /// 是否启用位置校验性能监控。 /// public bool EnablePositionValidationPerformanceMonitoring { get; set; } = true; /// /// 位置校验性能监控阈值(毫秒)。 /// public double PositionValidationPerformanceThresholdMs { get; set; } = 100.0; /// /// 是否启用位置校验并发处理。 /// public bool EnablePositionValidationConcurrentProcessing { get; set; } = true; /// /// 位置校验并发处理最大线程数。 /// public int PositionValidationConcurrentMaxThreads { get; set; } = 4; /// /// 是否启用位置校验内存优化。 /// public bool EnablePositionValidationMemoryOptimization { get; set; } = true; /// /// 位置校验内存优化阈值(MB)。 /// public double PositionValidationMemoryOptimizationThresholdMb { get; set; } = 100.0; /// /// 几何特征计算超时时间(毫秒)。 /// public int GeometricFeaturesCalculationTimeoutMs { get; set; } = 5000; /// /// 是否启用几何特征缓存。 /// public bool EnableGeometricFeaturesCache { get; set; } = true; /// /// 几何特征缓存过期时间(分钟)。 /// public int GeometricFeaturesCacheExpirationMinutes { get; set; } = 60; /// /// 最大几何特征缓存大小。 /// public int MaxGeometricFeaturesCacheSize { get; set; } = 2000; /// /// 中心点密度计算半径。 /// public double CenterPointDensityCalculationRadius { get; set; } = 100.0; /// /// 重叠率分布区间数量。 /// public int OverlapRatioDistributionBucketCount { get; set; } = 10; /// /// 是否启用位置校验结果持久化。 /// public bool EnablePositionValidationResultPersistence { get; set; } = true; /// /// 位置校验结果持久化保留天数。 /// public int PositionValidationResultPersistenceRetentionDays { get; set; } = 90; /// /// 是否启用位置校验实时监控。 /// public bool EnablePositionValidationRealTimeMonitoring { get; set; } = true; /// /// 位置校验实时监控采样率。 /// public double PositionValidationRealTimeMonitoringSamplingRate { get; set; } = 0.1; /// /// 是否启用位置校验异常检测。 /// public bool EnablePositionValidationAnomalyDetection { get; set; } = true; /// /// 位置校验异常检测阈值。 /// public double PositionValidationAnomalyDetectionThreshold { get; set; } = 2.0; /// /// 是否启用位置校验趋势分析。 /// public bool EnablePositionValidationTrendAnalysis { get; set; } = true; /// /// 位置校验趋势分析窗口大小。 /// public int PositionValidationTrendAnalysisWindowSize { get; set; } = 100; // === 到位判定配置 === /// /// 到位判定置信度阈值。 /// public double PlacementJudgmentConfidenceThreshold { get; set; } = 0.7; /// /// 最大到位判定历史记录数量。 /// public int MaxPlacementJudgmentHistoryCount { get; set; } = 10000; /// /// 是否启用到位判定缓存。 /// public bool EnablePlacementJudgmentCache { get; set; } = true; /// /// 到位判定缓存过期时间(分钟)。 /// public int PlacementJudgmentCacheExpirationMinutes { get; set; } = 30; /// /// 最大到位判定缓存大小。 /// public int MaxPlacementJudgmentCacheSize { get; set; } = 5000; /// /// 是否启用批量到位判定。 /// public bool EnableBatchPlacementJudgment { get; set; } = true; /// /// 批量到位判定批次大小。 /// public int BatchPlacementJudgmentSize { get; set; } = 50; /// /// 到位判定超时时间(毫秒)。 /// public int PlacementJudgmentTimeoutMs { get; set; } = 3000; /// /// 批量到位判定超时时间(毫秒)。 /// public int BatchPlacementJudgmentTimeoutMs { get; set; } = 15000; /// /// 是否启用到位判定统计。 /// public bool EnablePlacementJudgmentStatistics { get; set; } = true; /// /// 到位判定统计数据保留天数。 /// public int PlacementJudgmentStatisticsRetentionDays { get; set; } = 30; /// /// 默认面积容差(百分比)。 /// public double DefaultAreaTolerance { get; set; } = 0.15; /// /// 默认位置容差。 /// public double DefaultPositionTolerance { get; set; } = 15.0; /// /// 默认稳定性阈值。 /// public double DefaultStabilityThreshold { get; set; } = 0.8; /// /// 默认稳定帧窗口大小。 /// public int DefaultStabilityWindowSize { get; set; } = 10; /// /// 默认复合判定策略。 /// public CompositeJudgmentStrategy DefaultCompositeStrategy { get; set; } = CompositeJudgmentStrategy.WeightedAverage; /// /// 默认面积权重。 /// public double DefaultAreaWeight { get; set; } = 0.3; /// /// 默认位置权重。 /// public double DefaultPositionWeight { get; set; } = 0.4; /// /// 默认稳定性权重。 /// public double DefaultStabilityWeight { get; set; } = 0.3; /// /// 是否启用到位判定规则优先级。 /// public bool EnablePlacementJudgmentRulePriority { get; set; } = true; /// /// 到位判定规则默认优先级。 /// public int DefaultPlacementJudgmentRulePriority { get; set; } = 1; /// /// 是否启用到位判定错误恢复。 /// public bool EnablePlacementJudgmentErrorRecovery { get; set; } = true; /// /// 到位判定错误重试次数。 /// public int PlacementJudgmentErrorRetryCount { get; set; } = 3; /// /// 到位判定错误重试间隔(毫秒)。 /// public int PlacementJudgmentErrorRetryIntervalMs { get; set; } = 1000; /// /// 是否启用到位判定性能监控。 /// public bool EnablePlacementJudgmentPerformanceMonitoring { get; set; } = true; /// /// 到位判定性能监控阈值(毫秒)。 /// public double PlacementJudgmentPerformanceThresholdMs { get; set; } = 100.0; /// /// 是否启用到位判定并发处理。 /// public bool EnablePlacementJudgmentConcurrentProcessing { get; set; } = true; /// /// 到位判定并发处理最大线程数。 /// public int PlacementJudgmentConcurrentMaxThreads { get; set; } = 4; /// /// 是否启用到位判定内存优化。 /// public bool EnablePlacementJudgmentMemoryOptimization { get; set; } = true; /// /// 到位判定内存优化阈值(MB)。 /// public double PlacementJudgmentMemoryOptimizationThresholdMb { get; set; } = 100.0; /// /// 稳定性计算超时时间(毫秒)。 /// public int StabilityCalculationTimeoutMs { get; set; } = 5000; /// /// 是否启用稳定性计算缓存。 /// public bool EnableStabilityCalculationCache { get; set; } = true; /// /// 稳定性计算缓存过期时间(分钟)。 /// public int StabilityCalculationCacheExpirationMinutes { get; set; } = 60; /// /// 最大稳定性计算缓存大小。 /// public int MaxStabilityCalculationCacheSize { get; set; } = 2000; /// /// 复合判定最小通过条件。 /// public int CompositeJudgmentMinimumPassConditions { get; set; } = 2; /// /// 复合判定加权平均阈值。 /// public double CompositeJudgmentWeightedAverageThreshold { get; set; } = 0.7; /// /// 是否启用到位判定结果持久化。 /// public bool EnablePlacementJudgmentResultPersistence { get; set; } = true; /// /// 到位判定结果持久化保留天数。 /// public int PlacementJudgmentResultPersistenceRetentionDays { get; set; } = 90; /// /// 是否启用到位判定实时监控。 /// public bool EnablePlacementJudgmentRealTimeMonitoring { get; set; } = true; /// /// 到位判定实时监控采样率。 /// public double PlacementJudgmentRealTimeMonitoringSamplingRate { get; set; } = 0.1; /// /// 是否启用到位判定异常检测。 /// public bool EnablePlacementJudgmentAnomalyDetection { get; set; } = true; /// /// 到位判定异常检测阈值。 /// public double PlacementJudgmentAnomalyDetectionThreshold { get; set; } = 2.0; /// /// 是否启用到位判定趋势分析。 /// public bool EnablePlacementJudgmentTrendAnalysis { get; set; } = true; /// /// 到位判定趋势分析窗口大小。 /// public int PlacementJudgmentTrendAnalysisWindowSize { get; set; } = 100; // === 层级完成判定配置 === /// /// 层级完成判定置信度阈值。 /// public double LayerCompletionConfidenceThreshold { get; set; } = 0.7; /// /// 最大层级完成判定历史记录数量。 /// public int MaxLayerCompletionHistoryCount { get; set; } = 10000; /// /// 是否启用层级完成判定缓存。 /// public bool EnableLayerCompletionCache { get; set; } = true; /// /// 层级完成判定缓存过期时间(分钟)。 /// public int LayerCompletionCacheExpirationMinutes { get; set; } = 30; /// /// 最大层级完成判定缓存大小。 /// public int MaxLayerCompletionCacheSize { get; set; } = 5000; /// /// 是否启用批量层级完成判定。 /// public bool EnableBatchLayerCompletion { get; set; } = true; /// /// 批量层级完成判定批次大小。 /// public int BatchLayerCompletionSize { get; set; } = 50; /// /// 层级完成判定超时时间(毫秒)。 /// public int LayerCompletionTimeoutMs { get; set; } = 3000; /// /// 批量层级完成判定超时时间(毫秒)。 /// public int BatchLayerCompletionTimeoutMs { get; set; } = 15000; /// /// 是否启用层级完成判定统计。 /// public bool EnableLayerCompletionStatistics { get; set; } = true; /// /// 层级完成判定统计数据保留天数。 /// public int LayerCompletionStatisticsRetentionDays { get; set; } = 30; /// /// 必装部件完成阈值(百分比)。 /// public double RequiredPartsCompletionThreshold { get; set; } = 100.0; /// /// 关键部件完成阈值(百分比)。 /// public double CriticalPartsCompletionThreshold { get; set; } = 100.0; /// /// 稳定性完成阈值(百分比)。 /// public double StabilityCompletionThreshold { get; set; } = 80.0; /// /// 禁装检查阈值(数量)。 /// public int ForbiddenCheckThreshold { get; set; } = 0; /// /// 是否启用硬条件优先级。 /// public bool EnableHardConditionPriority { get; set; } = true; /// /// 硬条件默认优先级。 /// public int DefaultHardConditionPriority { get; set; } = 1; /// /// 是否启用层级完成判定错误恢复。 /// public bool EnableLayerCompletionErrorRecovery { get; set; } = true; /// /// 层级完成判定错误重试次数。 /// public int LayerCompletionErrorRetryCount { get; set; } = 3; /// /// 层级完成判定错误重试间隔(毫秒)。 /// public int LayerCompletionErrorRetryIntervalMs { get; set; } = 1000; /// /// 是否启用层级完成判定性能监控。 /// public bool EnableLayerCompletionPerformanceMonitoring { get; set; } = true; /// /// 层级完成判定性能监控阈值(毫秒)。 /// public double LayerCompletionPerformanceThresholdMs { get; set; } = 100.0; /// /// 是否启用层级完成判定并发处理。 /// public bool EnableLayerCompletionConcurrentProcessing { get; set; } = true; /// /// 层级完成判定并发处理最大线程数。 /// public int LayerCompletionConcurrentMaxThreads { get; set; } = 4; /// /// 是否启用层级完成判定内存优化。 /// public bool EnableLayerCompletionMemoryOptimization { get; set; } = true; /// /// 层级完成判定内存优化阈值(MB)。 /// public double LayerCompletionMemoryOptimizationThresholdMb { get; set; } = 100.0; /// /// 层级完成计算超时时间(毫秒)。 /// public int LayerCompletionCalculationTimeoutMs { get; set; } = 5000; /// /// 是否启用层级完成计算缓存。 /// public bool EnableLayerCompletionCalculationCache { get; set; } = true; /// /// 层级完成计算缓存过期时间(分钟)。 /// public int LayerCompletionCalculationCacheExpirationMinutes { get; set; } = 60; /// /// 最大层级完成计算缓存大小。 /// public int MaxLayerCompletionCalculationCacheSize { get; set; } = 2000; /// /// 层级完成质量优秀阈值。 /// public double LayerCompletionExcellentThreshold { get; set; } = 90.0; /// /// 层级完成质量良好阈值。 /// public double LayerCompletionGoodThreshold { get; set; } = 80.0; /// /// 层级完成质量一般阈值。 /// public double LayerCompletionFairThreshold { get; set; } = 70.0; /// /// 是否启用层级完成判定结果持久化。 /// public bool EnableLayerCompletionResultPersistence { get; set; } = true; /// /// 层级完成判定结果持久化保留天数。 /// public int LayerCompletionResultPersistenceRetentionDays { get; set; } = 90; /// /// 是否启用层级完成判定实时监控。 /// public bool EnableLayerCompletionRealTimeMonitoring { get; set; } = true; /// /// 层级完成判定实时监控采样率。 /// public double LayerCompletionRealTimeMonitoringSamplingRate { get; set; } = 0.1; /// /// 是否启用层级完成判定异常检测。 /// public bool EnableLayerCompletionAnomalyDetection { get; set; } = true; /// /// 层级完成判定异常检测阈值。 /// public double LayerCompletionAnomalyDetectionThreshold { get; set; } = 2.0; /// /// 是否启用层级完成判定趋势分析。 /// public bool EnableLayerCompletionTrendAnalysis { get; set; } = true; /// /// 层级完成判定趋势分析窗口大小。 /// public int LayerCompletionTrendAnalysisWindowSize { get; set; } = 100; // === 切层保护配置 === /// /// 是否启用切层保护。 /// public bool EnableLayerTransitionProtection { get; set; } = true; /// /// 默认切层保护策略。 /// public LayerTransitionProtectionStrategy DefaultLayerTransitionProtectionStrategy { get; set; } = LayerTransitionProtectionStrategy.Comprehensive; /// /// 默认最小停留时间(秒)。 /// public int DefaultMinimumStayTimeSeconds { get; set; } = 10; /// /// 默认最大停留时间(秒)。 /// public int DefaultMaximumStayTimeSeconds { get; set; } = 300; /// /// 默认完成度阈值(百分比)。 /// public double DefaultCompletionThreshold { get; set; } = 90.0; /// /// 是否允许强制切层。 /// public bool AllowForceLayerTransition { get; set; } = true; /// /// 强制切层所需权限。 /// public string RequiredPermissionForForceTransition { get; set; } = "supervisor"; /// /// 是否启用自动回滚。 /// public bool EnableAutoRollback { get; set; } = false; /// /// 自动回滚检查间隔(秒)。 /// public int AutoRollbackCheckIntervalSeconds { get; set; } = 30; /// /// 自动回滚连续失败阈值。 /// public int AutoRollbackConsecutiveFailuresThreshold { get; set; } = 3; /// /// 最大切层转换历史记录数量。 /// public int MaxLayerTransitionHistoryCount { get; set; } = 10000; /// /// 是否启用切层转换缓存。 /// public bool EnableLayerTransitionCache { get; set; } = true; /// /// 切层转换缓存过期时间(分钟)。 /// public int LayerTransitionCacheExpirationMinutes { get; set; } = 30; /// /// 最大切层转换缓存大小。 /// public int MaxLayerTransitionCacheSize { get; set; } = 5000; /// /// 切层转换超时时间(毫秒)。 /// public int LayerTransitionTimeoutMs { get; set; } = 5000; /// /// 是否启用切层转换统计。 /// public bool EnableLayerTransitionStatistics { get; set; } = true; /// /// 切层转换统计数据保留天数。 /// public int LayerTransitionStatisticsRetentionDays { get; set; } = 30; /// /// 是否启用切层保护优先级。 /// public bool EnableLayerTransitionProtectionPriority { get; set; } = true; /// /// 切层保护默认优先级。 /// public int DefaultLayerTransitionProtectionPriority { get; set; } = 1; /// /// 是否启用切层转换错误恢复。 /// public bool EnableLayerTransitionErrorRecovery { get; set; } = true; /// /// 切层转换错误重试次数。 /// public int LayerTransitionErrorRetryCount { get; set; } = 3; /// /// 切层转换错误重试间隔(毫秒)。 /// public int LayerTransitionErrorRetryIntervalMs { get; set; } = 1000; /// /// 是否启用切层转换性能监控。 /// public bool EnableLayerTransitionPerformanceMonitoring { get; set; } = true; /// /// 切层转换性能监控阈值(毫秒)。 /// public double LayerTransitionPerformanceThresholdMs { get; set; } = 100.0; /// /// 是否启用切层转换并发处理。 /// public bool EnableLayerTransitionConcurrentProcessing { get; set; } = true; /// /// 切层转换并发处理最大线程数。 /// public int LayerTransitionConcurrentMaxThreads { get; set; } = 4; /// /// 是否启用切层转换内存优化。 /// public bool EnableLayerTransitionMemoryOptimization { get; set; } = true; /// /// 切层转换内存优化阈值(MB)。 /// public double LayerTransitionMemoryOptimizationThresholdMb { get; set; } = 100.0; /// /// 切层保护检查超时时间(毫秒)。 /// public int LayerTransitionProtectionCheckTimeoutMs { get; set; } = 3000; /// /// 是否启用切层保护检查缓存。 /// public bool EnableLayerTransitionProtectionCheckCache { get; set; } = true; /// /// 切层保护检查缓存过期时间(分钟)。 /// public int LayerTransitionProtectionCheckCacheExpirationMinutes { get; set; } = 15; /// /// 最大切层保护检查缓存大小。 /// public int MaxLayerTransitionProtectionCheckCacheSize { get; set; } = 2000; /// /// 切层转换建议等待时间上限(秒)。 /// public int LayerTransitionSuggestedWaitTimeMaxSeconds { get; set; } = 300; /// /// 是否启用切层转换结果持久化。 /// public bool EnableLayerTransitionResultPersistence { get; set; } = true; /// /// 切层转换结果持久化保留天数。 /// public int LayerTransitionResultPersistenceRetentionDays { get; set; } = 90; /// /// 是否启用切层转换实时监控。 /// public bool EnableLayerTransitionRealTimeMonitoring { get; set; } = true; /// /// 切层转换实时监控采样率。 /// public double LayerTransitionRealTimeMonitoringSamplingRate { get; set; } = 0.1; /// /// 是否启用切层转换异常检测。 /// public bool EnableLayerTransitionAnomalyDetection { get; set; } = true; /// /// 切层转换异常检测阈值。 /// public double LayerTransitionAnomalyDetectionThreshold { get; set; } = 2.0; /// /// 是否启用切层转换趋势分析。 /// public bool EnableLayerTransitionTrendAnalysis { get; set; } = true; /// /// 切层转换趋势分析窗口大小。 /// public int LayerTransitionTrendAnalysisWindowSize { get; set; } = 100; // === 整机完成判定配置 === /// /// 是否启用整机完成判定。 /// public bool EnableFinalJudgment { get; set; } = true; /// /// 整机完成判定通过阈值。 /// public double FinalJudgmentPassThreshold { get; set; } = 80.0; /// /// 最大整机完成判定历史记录数量。 /// public int MaxFinalJudgmentHistoryCount { get; set; } = 10000; /// /// 是否启用整机完成判定缓存。 /// public bool EnableFinalJudgmentCache { get; set; } = true; /// /// 整机完成判定缓存过期时间(分钟)。 /// public int FinalJudgmentCacheExpirationMinutes { get; set; } = 30; /// /// 最大整机完成判定缓存大小。 /// public int MaxFinalJudgmentCacheSize { get; set; } = 5000; /// /// 是否启用批量整机完成判定。 /// public bool EnableBatchFinalJudgment { get; set; } = true; /// /// 批量整机完成判定批次大小。 /// public int BatchFinalJudgmentSize { get; set; } = 20; /// /// 整机完成判定超时时间(毫秒)。 /// public int FinalJudgmentTimeoutMs { get; set; } = 10000; /// /// 批量整机完成判定超时时间(毫秒)。 /// public int BatchFinalJudgmentTimeoutMs { get; set; } = 60000; /// /// 是否启用整机完成判定统计。 /// public bool EnableFinalJudgmentStatistics { get; set; } = true; /// /// 整机完成判定统计数据保留天数。 /// public int FinalJudgmentStatisticsRetentionDays { get; set; } = 90; /// /// 是否启用NG原因分析。 /// public bool EnableNGCauseAnalysis { get; set; } = true; /// /// NG原因分析缓存过期时间(分钟)。 /// public int NGCauseAnalysisCacheExpirationMinutes { get; set; } = 60; /// /// 热点NG原因数量。 /// public int HotNGCauseCount { get; set; } = 10; /// /// 是否启用证据链生成。 /// public bool EnableEvidenceChainGeneration { get; set; } = true; /// /// 证据链完整性评分阈值。 /// public double EvidenceChainCompletenessThreshold { get; set; } = 80.0; /// /// 证据链可信度评分阈值。 /// public double EvidenceChainCredibilityThreshold { get; set; } = 85.0; /// /// 是否启用判定报告生成。 /// public bool EnableJudgmentReportGeneration { get; set; } = true; /// /// 默认报告格式。 /// public ReportFormat DefaultReportFormat { get; set; } = ReportFormat.Text; /// /// 是否启用终判规则优先级。 /// public bool EnableFinalRulePriority { get; set; } = true; /// /// 终判规则默认优先级。 /// public int DefaultFinalRulePriority { get; set; } = 1; /// /// 是否启用整机完成判定错误恢复。 /// public bool EnableFinalJudgmentErrorRecovery { get; set; } = true; /// /// 整机完成判定错误重试次数。 /// public int FinalJudgmentErrorRetryCount { get; set; } = 3; /// /// 整机完成判定错误重试间隔(毫秒)。 /// public int FinalJudgmentErrorRetryIntervalMs { get; set; } = 2000; /// /// 是否启用整机完成判定性能监控。 /// public bool EnableFinalJudgmentPerformanceMonitoring { get; set; } = true; /// /// 整机完成判定性能监控阈值(毫秒)。 /// public double FinalJudgmentPerformanceThresholdMs { get; set; } = 5000.0; /// /// 是否启用整机完成判定并发处理。 /// public bool EnableFinalJudgmentConcurrentProcessing { get; set; } = true; /// /// 整机完成判定并发处理最大线程数。 /// public int FinalJudgmentConcurrentMaxThreads { get; set; } = 2; /// /// 是否启用整机完成判定内存优化。 /// public bool EnableFinalJudgmentMemoryOptimization { get; set; } = true; /// /// 整机完成判定内存优化阈值(MB)。 /// public double FinalJudgmentMemoryOptimizationThresholdMb { get; set; } = 200.0; /// /// 规则判定计算超时时间(毫秒)。 /// public int RuleJudgmentCalculationTimeoutMs { get; set; } = 3000; /// /// 是否启用规则判定计算缓存。 /// public bool EnableRuleJudgmentCalculationCache { get; set; } = true; /// /// 规则判定计算缓存过期时间(分钟)。 /// public int RuleJudgmentCalculationCacheExpirationMinutes { get; set; } = 30; /// /// 最大规则判定计算缓存大小。 /// public int MaxRuleJudgmentCalculationCacheSize { get; set; } = 1000; /// /// 判定质量优秀阈值。 /// public double JudgmentQualityExcellentThreshold { get; set; } = 95.0; /// /// 判定质量良好阈值。 /// public double JudgmentQualityGoodThreshold { get; set; } = 85.0; /// /// 判定质量一般阈值。 /// public double JudgmentQualityFairThreshold { get; set; } = 70.0; /// /// 判定质量较差阈值。 /// public double JudgmentQualityPoorThreshold { get; set; } = 50.0; /// /// 是否启用整机完成判定结果持久化。 /// public bool EnableFinalJudgmentResultPersistence { get; set; } = true; /// /// 整机完成判定结果持久化保留天数。 /// public int FinalJudgmentResultPersistenceRetentionDays { get; set; } = 180; /// /// 是否启用整机完成判定实时监控。 /// public bool EnableFinalJudgmentRealTimeMonitoring { get; set; } = true; /// /// 整机完成判定实时监控采样率。 /// public double FinalJudgmentRealTimeMonitoringSamplingRate { get; set; } = 0.05; /// /// 是否启用整机完成判定异常检测。 /// public bool EnableFinalJudgmentAnomalyDetection { get; set; } = true; /// /// 整机完成判定异常检测阈值。 /// public double FinalJudgmentAnomalyDetectionThreshold { get; set; } = 3.0; /// /// 是否启用整机完成判定趋势分析。 /// public bool EnableFinalJudgmentTrendAnalysis { get; set; } = true; /// /// 整机完成判定趋势分析窗口大小。 /// public int FinalJudgmentTrendAnalysisWindowSize { get; set; } = 100; // === 异常报警系统配置 === /// /// 是否启用异常报警系统。 /// public bool EnableAlarmSystem { get; set; } = true; /// /// 最大报警栈大小。 /// public int MaxAlarmStackSize { get; set; } = 1000; /// /// 是否启用报警缓存。 /// public bool EnableAlarmCache { get; set; } = true; /// /// 报警缓存过期时间(分钟)。 /// public int AlarmCacheExpirationMinutes { get; set; } = 60; /// /// 最大报警缓存大小。 /// public int MaxAlarmCacheSize { get; set; } = 5000; /// /// 报警触发超时时间(毫秒)。 /// public int AlarmTriggerTimeoutMs { get; set; } = 3000; /// /// 是否启用批量报警操作。 /// public bool EnableBatchAlarmOperations { get; set; } = true; /// /// 批量报警操作最大批次大小。 /// public int BatchAlarmOperationMaxSize { get; set; } = 50; /// /// 是否启用报警统计。 /// public bool EnableAlarmStatistics { get; set; } = true; /// /// 报警统计数据保留天数。 /// public int AlarmStatisticsRetentionDays { get; set; } = 30; /// /// 是否启用报警规则优先级。 /// public bool EnableAlarmRulePriority { get; set; } = true; /// /// 报警规则默认优先级。 /// public int DefaultAlarmRulePriority { get; set; } = 1; /// /// 是否启用报警自动清除。 /// public bool EnableAlarmAutoClear { get; set; } = true; /// /// 报警自动清除检查间隔(秒)。 /// public int AlarmAutoClearCheckIntervalSeconds { get; set; } = 30; /// /// 默认报警自动清除时间(秒)。 /// public int DefaultAlarmAutoClearSeconds { get; set; } = 300; /// /// 是否启用报警重复检测。 /// public bool EnableAlarmDuplicateDetection { get; set; } = true; /// /// 报警重复检测时间窗口(秒)。 /// public int AlarmDuplicateDetectionTimeWindowSeconds { get; set; } = 60; /// /// 是否启用报警恢复状态管理。 /// public bool EnableAlarmRecoveryStatus { get; set; } = true; /// /// 报警恢复检查间隔(秒)。 /// public int AlarmRecoveryCheckIntervalSeconds { get; set; } = 30; /// /// 是否启用报警条件检查。 /// public bool EnableAlarmConditionCheck { get; set; } = true; /// /// 报警条件检查超时时间(毫秒)。 /// public int AlarmConditionCheckTimeoutMs { get; set; } = 5000; /// /// 是否启用报警条件检查缓存。 /// public bool EnableAlarmConditionCheckCache { get; set; } = true; /// /// 报警条件检查缓存过期时间(分钟)。 /// public int AlarmConditionCheckCacheExpirationMinutes { get; set; } = 15; /// /// 最大报警条件检查缓存大小。 /// public int MaxAlarmConditionCheckCacheSize { get; set; } = 1000; /// /// 是否启用报警错误恢复。 /// public bool EnableAlarmErrorRecovery { get; set; } = true; /// /// 报警错误重试次数。 /// public int AlarmErrorRetryCount { get; set; } = 3; /// /// 报警错误重试间隔(毫秒)。 /// public int AlarmErrorRetryIntervalMs { get; set; } = 1000; /// /// 是否启用报警性能监控。 /// public bool EnableAlarmPerformanceMonitoring { get; set; } = true; /// /// 报警性能监控阈值(毫秒)。 /// public double AlarmPerformanceThresholdMs { get; set; } = 100.0; /// /// 是否启用报警并发处理。 /// public bool EnableAlarmConcurrentProcessing { get; set; } = true; /// /// 报警并发处理最大线程数。 /// public int AlarmConcurrentMaxThreads { get; set; } = 4; /// /// 是否启用报警内存优化。 /// public bool EnableAlarmMemoryOptimization { get; set; } = true; /// /// 报警内存优化阈值(MB)。 /// public double AlarmMemoryOptimizationThresholdMb { get; set; } = 100.0; /// /// 是否启用报警分级处理。 /// public bool EnableAlarmLevelProcessing { get; set; } = true; /// /// 不同级别报警的处理优先级映射。 /// public Dictionary AlarmLevelPriorityMapping { get; set; } = new() { { OrpaonVision.Core.AlarmSystem.AlarmLevel.Info, 4 }, { OrpaonVision.Core.AlarmSystem.AlarmLevel.Warning, 3 }, { OrpaonVision.Core.AlarmSystem.AlarmLevel.Error, 2 }, { OrpaonVision.Core.AlarmSystem.AlarmLevel.Critical, 1 }, { OrpaonVision.Core.AlarmSystem.AlarmLevel.Fatal, 0 } }; /// /// 是否启用报警类型过滤。 /// public bool EnableAlarmTypeFiltering { get; set; } = true; /// /// 启用的报警类型列表。 /// public HashSet EnabledAlarmTypes { get; set; } = new() { OrpaonVision.Core.AlarmSystem.AlarmType.System, OrpaonVision.Core.AlarmSystem.AlarmType.Equipment, OrpaonVision.Core.AlarmSystem.AlarmType.Process, OrpaonVision.Core.AlarmSystem.AlarmType.Quality, OrpaonVision.Core.AlarmSystem.AlarmType.Safety, OrpaonVision.Core.AlarmSystem.AlarmType.Performance }; /// /// 是否启用报警结果持久化。 /// public bool EnableAlarmResultPersistence { get; set; } = true; /// /// 报警结果持久化保留天数。 /// public int AlarmResultPersistenceRetentionDays { get; set; } = 90; /// /// 是否启用报警实时监控。 /// public bool EnableAlarmRealTimeMonitoring { get; set; } = true; /// /// 报警实时监控采样率。 /// public double AlarmRealTimeMonitoringSamplingRate { get; set; } = 0.1; /// /// 是否启用报警异常检测。 /// public bool EnableAlarmAnomalyDetection { get; set; } = true; /// /// 报警异常检测阈值。 /// public double AlarmAnomalyDetectionThreshold { get; set; } = 2.0; /// /// 是否启用报警趋势分析。 /// public bool EnableAlarmTrendAnalysis { get; set; } = true; /// /// 报警趋势分析窗口大小。 /// public int AlarmTrendAnalysisWindowSize { get; set; } = 100; /// /// 是否启用报警通知。 /// public bool EnableAlarmNotification { get; set; } = true; /// /// 报警通知方式。 /// public HashSet AlarmNotificationTypes { get; set; } = new() { AlarmNotificationType.UI, AlarmNotificationType.Log, AlarmNotificationType.Email }; /// /// 报警通知最小级别。 /// public OrpaonVision.Core.AlarmSystem.AlarmLevel AlarmNotificationMinLevel { get; set; } = OrpaonVision.Core.AlarmSystem.AlarmLevel.Warning; /// /// 是否启用报警升级机制。 /// public bool EnableAlarmEscalation { get; set; } = true; /// /// 报警升级时间间隔(分钟)。 /// public int AlarmEscalationIntervalMinutes { get; set; } = 30; /// /// 最大报警升级级别。 /// public OrpaonVision.Core.AlarmSystem.AlarmLevel MaxAlarmEscalationLevel { get; set; } = OrpaonVision.Core.AlarmSystem.AlarmLevel.Fatal; // === 统计口径配置 === /// /// 是否启用统计服务。 /// public bool EnableStatisticsService { get; set; } = true; /// /// 是否启用统计缓存。 /// public bool EnableStatisticsCache { get; set; } = true; /// /// 统计缓存过期时间(分钟)。 /// public int StatisticsCacheExpirationMinutes { get; set; } = 30; /// /// 最大统计缓存大小。 /// public int MaxStatisticsCacheSize { get; set; } = 1000; /// /// 是否启用节拍统计。 /// public bool EnableCycleTimeStatistics { get; set; } = true; /// /// 节拍统计目标时间(秒)。 /// public double CycleTimeTargetSeconds { get; set; } = 60.0; /// /// 节拍统计容差百分比。 /// public double CycleTimeTolerancePercentage { get; set; } = 10.0; /// /// 是否启用班次统计。 /// public bool EnableShiftStatistics { get; set; } = true; /// /// 班次统计时长(小时)。 /// public double ShiftStatisticsDurationHours { get; set; } = 8.0; /// /// 班次统计目标生产率。 /// public int ShiftStatisticsTargetProductionRate { get; set; } = 100; /// /// 是否启用生产效率统计。 /// public bool EnableProductionEfficiencyStatistics { get; set; } = true; /// /// 生产效率统计默认粒度。 /// public OrpaonVision.Core.Statistics.StatisticsGranularity ProductionEfficiencyDefaultGranularity { get; set; } = OrpaonVision.Core.Statistics.StatisticsGranularity.Hourly; /// /// 是否启用质量统计。 /// public bool EnableQualityStatistics { get; set; } = true; /// /// 质量统计目标合格率。 /// public double QualityStatisticsTargetPassRate { get; set; } = 95.0; /// /// 是否启用设备利用率统计。 /// public bool EnableEquipmentUtilizationStatistics { get; set; } = true; /// /// 设备利用率统计目标利用率。 /// public double EquipmentUtilizationTargetRate { get; set; } = 85.0; /// /// 是否启用综合报告。 /// public bool EnableComprehensiveReport { get; set; } = true; /// /// 综合报告默认类型。 /// public ProductionReportType ComprehensiveReportDefaultType { get; set; } = ProductionReportType.Daily; /// /// 是否启用实时统计仪表板。 /// public bool EnableRealTimeStatisticsDashboard { get; set; } = true; /// /// 实时统计仪表板更新间隔(秒)。 /// public int RealTimeStatisticsDashboardUpdateIntervalSeconds { get; set; } = 30; /// /// 是否启用历史趋势分析。 /// public bool EnableHistoricalTrendAnalysis { get; set; } = true; /// /// 历史趋势分析默认粒度。 /// public OrpaonVision.Core.Statistics.StatisticsGranularity HistoricalTrendDefaultGranularity { get; set; } = OrpaonVision.Core.Statistics.StatisticsGranularity.Hourly; /// /// 是否启用统计配置管理。 /// public bool EnableStatisticsConfigManagement { get; set; } = true; /// /// 是否启用统计数据导出。 /// public bool EnableStatisticsExport { get; set; } = true; /// /// 统计数据导出默认格式。 /// public ExportFormat StatisticsExportDefaultFormat { get; set; } = ExportFormat.Csv; /// /// 统计数据导出最大记录数。 /// public int StatisticsExportMaxRecordCount { get; set; } = 10000; /// /// 是否启用统计性能监控。 /// public bool EnableStatisticsPerformanceMonitoring { get; set; } = true; /// /// 统计性能监控阈值(毫秒)。 /// public double StatisticsPerformanceThresholdMs { get; set; } = 1000.0; /// /// 是否启用统计并发处理。 /// public bool EnableStatisticsConcurrentProcessing { get; set; } = true; /// /// 统计并发处理最大线程数。 /// public int StatisticsConcurrentMaxThreads { get; set; } = 2; /// /// 是否启用统计内存优化。 /// public bool EnableStatisticsMemoryOptimization { get; set; } = true; /// /// 统计内存优化阈值(MB)。 /// public double StatisticsMemoryOptimizationThresholdMb { get; set; } = 50.0; /// /// 是否启用统计错误恢复。 /// public bool EnableStatisticsErrorRecovery { get; set; } = true; /// /// 统计错误重试次数。 /// public int StatisticsErrorRetryCount { get; set; } = 3; /// /// 统计错误重试间隔(毫秒)。 /// public int StatisticsErrorRetryIntervalMs { get; set; } = 1000; /// /// 是否启用统计数据持久化。 /// public bool EnableStatisticsDataPersistence { get; set; } = true; /// /// 统计数据持久化保留天数。 /// public int StatisticsDataPersistenceRetentionDays { get; set; } = 90; /// /// 是否启用统计实时监控。 /// public bool EnableStatisticsRealTimeMonitoring { get; set; } = true; /// /// 统计实时监控采样率。 /// public double StatisticsRealTimeMonitoringSamplingRate { get; set; } = 0.05; /// /// 是否启用统计异常检测。 /// public bool EnableStatisticsAnomalyDetection { get; set; } = true; /// /// 统计异常检测阈值。 /// public double StatisticsAnomalyDetectionThreshold { get; set; } = 2.0; /// /// 是否启用统计趋势分析。 /// public bool EnableStatisticsTrendAnalysis { get; set; } = true; /// /// 统计趋势分析窗口大小。 /// public int StatisticsTrendAnalysisWindowSize { get; set; } = 100; /// /// 是否启用统计预测分析。 /// public bool EnableStatisticsPredictiveAnalysis { get; set; } = true; /// /// 统计预测分析置信度阈值。 /// public double StatisticsPredictiveAnalysisConfidenceThreshold { get; set; } = 0.7; /// /// 是否启用统计基准对比。 /// public bool EnableStatisticsBenchmarkComparison { get; set; } = true; /// /// 统计基准对比行业数据。 /// public Dictionary StatisticsBenchmarkIndustryData { get; set; } = new() { ["OEE"] = 75.0, ["QualityPassRate"] = 95.0, ["EquipmentUtilization"] = 85.0, ["ProductionEfficiency"] = 80.0 }; /// /// 是否启用统计改进建议。 /// public bool EnableStatisticsImprovementSuggestions { get; set; } = true; /// /// 统计改进建议最大数量。 /// public int StatisticsImprovementSuggestionsMaxCount { get; set; } = 10; /// /// 统计数据聚合间隔(分钟)。 /// public int StatisticsDataAggregationIntervalMinutes { get; set; } = 5; /// /// 统计数据压缩阈值(天)。 /// public int StatisticsDataCompressionThresholdDays { get; set; } = 30; /// /// 统计数据备份间隔(小时)。 /// public int StatisticsDataBackupIntervalHours { get; set; } = 24; /// /// 统计API超时时间(毫秒)。 /// public int StatisticsApiTimeoutMs { get; set; } = 30000; /// /// 统计批量处理大小。 /// public int StatisticsBatchProcessingSize { get; set; } = 100; /// /// 统计结果缓存时间(秒)。 /// public int StatisticsResultCacheTimeSeconds { get; set; } = 300; /// /// 统计历史数据清理间隔(天)。 /// public int StatisticsHistoryDataCleanupIntervalDays { get; set; } = 7; // === 历史追溯配置 === /// /// 是否启用历史追溯服务。 /// public bool EnableHistoryTraceService { get; set; } = true; /// /// 是否启用历史追溯缓存。 /// public bool EnableHistoryTraceCache { get; set; } = true; /// /// 历史追溯缓存过期时间(分钟)。 /// public int HistoryTraceCacheExpirationMinutes { get; set; } = 60; /// /// 最大历史追溯缓存大小。 /// public int MaxHistoryTraceCacheSize { get; set; } = 500; /// /// 是否启用产品会话历史追溯。 /// public bool EnableProductSessionHistoryTrace { get; set; } = true; /// /// 产品会话历史保留天数。 /// public int ProductSessionHistoryRetentionDays { get; set; } = 90; /// /// 是否启用层处理历史追溯。 /// public bool EnableLayerProcessingHistoryTrace { get; set; } = true; /// /// 层处理历史保留天数。 /// public int LayerProcessingHistoryRetentionDays { get; set; } = 90; /// /// 是否启用截图历史追溯。 /// public bool EnableScreenshotHistoryTrace { get; set; } = true; /// /// 截图历史保留天数。 /// public int ScreenshotHistoryRetentionDays { get; set; } = 30; /// /// 是否启用证据链追溯。 /// public bool EnableEvidenceChainTrace { get; set; } = true; /// /// 证据链保留天数。 /// public int EvidenceChainRetentionDays { get; set; } = 180; /// /// 是否启用层级证据回溯。 /// public bool EnableLayerEvidenceTraceback { get; set; } = true; /// /// 层级证据回溯深度。 /// public int LayerEvidenceTracebackDepth { get; set; } = 10; /// /// 是否启用缺陷追溯。 /// public bool EnableDefectTraceback { get; set; } = true; /// /// 缺陷追溯分析深度。 /// public int DefectTracebackAnalysisDepth { get; set; } = 5; /// /// 是否启用操作历史追溯。 /// public bool EnableOperationHistoryTrace { get; set; } = true; /// /// 操作历史保留天数。 /// public int OperationHistoryRetentionDays { get; set; } = 60; /// /// 是否启用综合追溯报告。 /// public bool EnableComprehensiveTracebackReport { get; set; } = true; /// /// 综合追溯报告默认类型。 /// public TracebackReportType ComprehensiveTracebackReportDefaultType { get; set; } = TracebackReportType.Standard; /// /// 是否启用追溯统计数据。 /// public bool EnableTracebackStatistics { get; set; } = true; /// /// 追溯统计数据保留天数。 /// public int TracebackStatisticsRetentionDays { get; set; } = 365; /// /// 是否启用历史搜索功能。 /// public bool EnableHistorySearch { get; set; } = true; /// /// 历史搜索最大结果数量。 /// public int HistorySearchMaxResultCount { get; set; } = 1000; /// /// 历史搜索超时时间(毫秒)。 /// public int HistorySearchTimeoutMs { get; set; } = 30000; /// /// 是否启用追溯数据导出。 /// public bool EnableTracebackDataExport { get; set; } = true; /// /// 追溯数据导出默认格式。 /// public ExportFormat TracebackDataExportDefaultFormat { get; set; } = ExportFormat.Csv; /// /// 追溯数据导出最大记录数。 /// public int TracebackDataExportMaxRecordCount { get; set; } = 10000; /// /// 是否启用追溯性能监控。 /// public bool EnableTracebackPerformanceMonitoring { get; set; } = true; /// /// 追溯性能监控阈值(毫秒)。 /// public double TracebackPerformanceThresholdMs { get; set; } = 2000.0; /// /// 是否启用追溯并发处理。 /// public bool EnableTracebackConcurrentProcessing { get; set; } = true; /// /// 追溯并发处理最大线程数。 /// public int TracebackConcurrentMaxThreads { get; set; } = 2; /// /// 是否启用追溯内存优化。 /// public bool EnableTracebackMemoryOptimization { get; set; } = true; /// /// 追溯内存优化阈值(MB)。 /// public double TracebackMemoryOptimizationThresholdMb { get; set; } = 100.0; /// /// 是否启用追溯错误恢复。 /// public bool EnableTracebackErrorRecovery { get; set; } = true; /// /// 追溯错误重试次数。 /// public int TracebackErrorRetryCount { get; set; } = 3; /// /// 追溯错误重试间隔(毫秒)。 /// public int TracebackErrorRetryIntervalMs { get; set; } = 2000; /// /// 是否启用追溯数据持久化。 /// public bool EnableTracebackDataPersistence { get; set; } = true; /// /// 追溯数据持久化保留天数。 /// public int TracebackDataPersistenceRetentionDays { get; set; } = 365; /// /// 是否启用追溯实时监控。 /// public bool EnableTracebackRealTimeMonitoring { get; set; } = true; /// /// 追溯实时监控采样率。 /// public double TracebackRealTimeMonitoringSamplingRate { get; set; } = 0.02; /// /// 是否启用追溯异常检测。 /// public bool EnableTracebackAnomalyDetection { get; set; } = true; /// /// 追溯异常检测阈值。 /// public double TracebackAnomalyDetectionThreshold { get; set; } = 3.0; /// /// 是否启用追溯趋势分析。 /// public bool EnableTracebackTrendAnalysis { get; set; } = true; /// /// 追溯趋势分析窗口大小。 /// public int TracebackTrendAnalysisWindowSize { get; set; } = 200; /// /// 是否启用追溯预测分析。 /// public bool EnableTracebackPredictiveAnalysis { get; set; } = true; /// /// 追溯预测分析置信度阈值。 /// public double TracebackPredictiveAnalysisConfidenceThreshold { get; set; } = 0.65; /// /// 是否启用追溯基准对比。 /// public bool EnableTracebackBenchmarkComparison { get; set; } = true; /// /// 追溯基准对比行业数据。 /// public Dictionary TracebackBenchmarkIndustryData { get; set; } = new() { ["SessionCompletionRate"] = 95.0, ["LayerPassRate"] = 92.0, ["DefectRate"] = 2.0, ["ProcessingEfficiency"] = 85.0, ["EvidenceChainCompleteness"] = 90.0 }; /// /// 是否启用追溯改进建议。 /// public bool EnableTracebackImprovementSuggestions { get; set; } = true; /// /// 追溯改进建议最大数量。 /// public int TracebackImprovementSuggestionsMaxCount { get; set; } = 15; /// /// 追溯数据聚合间隔(分钟)。 /// public int TracebackDataAggregationIntervalMinutes { get; set; } = 10; /// /// 追溯数据压缩阈值(天)。 /// public int TracebackDataCompressionThresholdDays { get; set; } = 60; /// /// 追溯数据备份间隔(小时)。 /// public int TracebackDataBackupIntervalHours { get; set; } = 48; /// /// 追溯API超时时间(毫秒)。 /// public int TracebackApiTimeoutMs { get; set; } = 60000; /// /// 追溯批量处理大小。 /// public int TracebackBatchProcessingSize { get; set; } = 50; /// /// 追溯结果缓存时间(秒)。 /// public int TracebackResultCacheTimeSeconds { get; set; } = 600; /// /// 追溯历史数据清理间隔(天)。 /// public int TracebackHistoryDataCleanupIntervalDays { get; set; } = 14; /// /// 截图文件存储路径。 /// public string ScreenshotStoragePath { get; set; } = "./screenshots"; /// /// 截图文件最大大小(MB)。 /// public int ScreenshotMaxFileSizeMb { get; set; } = 10; /// /// 截图文件压缩质量。 /// public int ScreenshotCompressionQuality { get; set; } = 85; /// /// 证据链完整性最小阈值。 /// public double EvidenceChainCompletenessMinThreshold { get; set; } = 0.7; /// /// 证据链可信度最小阈值。 /// public double EvidenceChainCredibilityMinThreshold { get; set; } = 0.75; /// /// 缺陷追溯分析最小样本数。 /// public int DefectTracebackAnalysisMinSampleSize { get; set; } = 10; /// /// 追溯报告生成超时时间(毫秒)。 /// public int TracebackReportGenerationTimeoutMs { get; set; } = 120000; /// /// 追溯搜索索引更新间隔(分钟)。 /// public int TracebackSearchIndexUpdateIntervalMinutes { get; set; } = 30; /// /// 追溯数据导出临时目录。 /// public string TracebackExportTempDirectory { get; set; } = "./temp/exports"; /// /// 追溯数据清理策略。 /// public TracebackDataCleanupStrategy TracebackDataCleanupStrategy { get; set; } = TracebackDataCleanupStrategy.RetentionBased; /// /// 追溯数据备份保留天数。 /// public int TracebackDataBackupRetentionDays { get; set; } = 30; // === 人工复位放行配置 === /// /// 是否启用人工复位放行服务。 /// public bool EnableManualOverrideService { get; set; } = true; /// /// 是否启用复位放行缓存。 /// public bool EnableManualOverrideCache { get; set; } = true; /// /// 复位放行缓存过期时间(分钟)。 /// public int ManualOverrideCacheExpirationMinutes { get; set; } = 30; /// /// 最大复位放行缓存大小。 /// public int MaxManualOverrideCacheSize { get; set; } = 200; /// /// 是否启用可复位会话查询。 /// public bool EnableOverrideableSessionQuery { get; set; } = true; /// /// 可复位会话查询保留天数。 /// public int OverrideableSessionQueryRetentionDays { get; set; } = 30; /// /// 是否启用权限验证。 /// public bool EnablePermissionValidation { get; set; } = true; /// /// 权限验证缓存时间(分钟)。 /// public int PermissionValidationCacheTimeMinutes { get; set; } = 15; /// /// 是否启用复位条件验证。 /// public bool EnableOverrideConditionValidation { get; set; } = true; /// /// 复位条件验证超时时间(毫秒)。 /// public int OverrideConditionValidationTimeoutMs { get; set; } = 10000; /// /// 是否启用批量复位操作。 /// public bool EnableBatchOverrideOperation { get; set; } = true; /// /// 批量复位操作最大数量。 /// public int BatchOverrideOperationMaxCount { get; set; } = 50; /// /// 批量复位操作超时时间(毫秒)。 /// public int BatchOverrideOperationTimeoutMs { get; set; } = 120000; /// /// 是否启用复位历史记录。 /// public bool EnableOverrideHistoryRecord { get; set; } = true; /// /// 复位历史记录保留天数。 /// public int OverrideHistoryRecordRetentionDays { get; set; } = 90; /// /// 是否启用复位撤销功能。 /// public bool EnableOverrideRevoke { get; set; } = true; /// /// 复位撤销超时时间(毫秒)。 /// public int OverrideRevokeTimeoutMs { get; set; } = 15000; /// /// 是否启用复位统计功能。 /// public bool EnableOverrideStatistics { get; set; } = true; /// /// 复位统计数据保留天数。 /// public int OverrideStatisticsRetentionDays { get; set; } = 365; /// /// 是否启用审计日志记录。 /// public bool EnableAuditLogRecord { get; set; } = true; /// /// 审计日志保留天数。 /// public int AuditLogRecordRetentionDays { get; set; } = 730; /// /// 审计日志级别。 /// public AuditLevel AuditLogLevel { get; set; } = AuditLevel.Info; /// /// 是否启用复位报告生成。 /// public bool EnableOverrideReportGeneration { get; set; } = true; /// /// 复位报告默认类型。 /// public OverrideReportType OverrideReportDefaultType { get; set; } = OverrideReportType.Weekly; /// /// 复位报告生成超时时间(毫秒)。 /// public int OverrideReportGenerationTimeoutMs { get; set; } = 180000; /// /// 是否启用合规性检查。 /// public bool EnableComplianceCheck { get; set; } = true; /// /// 合规性检查最低评分。 /// public double ComplianceCheckMinScore { get; set; } = 70.0; /// /// 合规性检查超时时间(毫秒)。 /// public int ComplianceCheckTimeoutMs { get; set; } = 20000; /// /// 是否启用复位模板功能。 /// public bool EnableOverrideTemplate { get; set; } = true; /// /// 复位模板缓存时间(分钟)。 /// public int OverrideTemplateCacheTimeMinutes { get; set; } = 60; /// /// 是否启用复位性能监控。 /// public bool EnableOverridePerformanceMonitoring { get; set; } = true; /// /// 复位性能监控阈值(毫秒)。 /// public double OverridePerformanceThresholdMs { get; set; } = 5000.0; /// /// 是否启用复位并发处理。 /// public bool EnableOverrideConcurrentProcessing { get; set; } = true; /// /// 复位并发处理最大线程数。 /// public int OverrideConcurrentMaxThreads { get; set; } = 3; /// /// 是否启用复位内存优化。 /// public bool EnableOverrideMemoryOptimization { get; set; } = true; /// /// 复位内存优化阈值(MB)。 /// public double OverrideMemoryOptimizationThresholdMb { get; set; } = 80.0; /// /// 是否启用复位错误恢复。 /// public bool EnableOverrideErrorRecovery { get; set; } = true; /// /// 复位错误重试次数。 /// public int OverrideErrorRetryCount { get; set; } = 2; /// /// 复位错误重试间隔(毫秒)。 /// public int OverrideErrorRetryIntervalMs { get; set; } = 3000; /// /// 是否启用复位数据持久化。 /// public bool EnableOverrideDataPersistence { get; set; } = true; /// /// 复位数据持久化保留天数。 /// public int OverrideDataPersistenceRetentionDays { get; set; } = 365; /// /// 是否启用复位实时监控。 /// public bool EnableOverrideRealTimeMonitoring { get; set; } = true; /// /// 复位实时监控采样率。 /// public double OverrideRealTimeMonitoringSamplingRate { get; set; } = 0.01; /// /// 是否启用复位异常检测。 /// public bool EnableOverrideAnomalyDetection { get; set; } = true; /// /// 复位异常检测阈值。 /// public double OverrideAnomalyDetectionThreshold { get; set; } = 2.5; /// /// 是否启用复位趋势分析。 /// public bool EnableOverrideTrendAnalysis { get; set; } = true; /// /// 复位趋势分析窗口大小。 /// public int OverrideTrendAnalysisWindowSize { get; set; } = 150; /// /// 是否启用复位预测分析。 /// public bool EnableOverridePredictiveAnalysis { get; set; } = true; /// /// 复位预测分析置信度阈值。 /// public double OverridePredictiveAnalysisConfidenceThreshold { get; set; } = 0.6; /// /// 是否启用复位基准对比。 /// public bool EnableOverrideBenchmarkComparison { get; set; } = true; /// /// 复位基准对比行业数据。 /// public Dictionary OverrideBenchmarkIndustryData { get; set; } = new() { ["OverrideRate"] = 5.0, ["SuccessRate"] = 95.0, ["AverageTime"] = 2000.0, ["ComplianceScore"] = 85.0 }; /// /// 是否启用复位改进建议。 /// public bool EnableOverrideImprovementSuggestions { get; set; } = true; /// /// 复位改进建议最大数量。 /// public int OverrideImprovementSuggestionsMaxCount { get; set; } = 12; /// /// 复位数据聚合间隔(分钟)。 /// public int OverrideDataAggregationIntervalMinutes { get; set; } = 5; /// /// 复位数据压缩阈值(天)。 /// public int OverrideDataCompressionThresholdDays { get; set; } = 90; /// /// 复位数据备份间隔(小时)。 /// public int OverrideDataBackupIntervalHours { get; set; } = 72; /// /// 复位API超时时间(毫秒)。 /// public int OverrideApiTimeoutMs { get; set; } = 45000; /// /// 复位批量处理大小。 /// public int OverrideBatchProcessingSize { get; set; } = 25; /// /// 复位结果缓存时间(秒)。 /// public int OverrideResultCacheTimeSeconds { get; set; } = 180; /// /// 复位历史数据清理间隔(天)。 /// public int OverrideHistoryDataCleanupIntervalDays { get; set; } = 21; /// /// 复位附件存储路径。 /// public string OverrideAttachmentStoragePath { get; set; } = "./attachments/overrides"; /// /// 复位附件最大文件大小(MB)。 /// public int OverrideAttachmentMaxFileSizeMb { get; set; } = 20; /// /// 复位附件允许的文件类型。 /// public IReadOnlyList OverrideAttachmentAllowedFileTypes { get; set; } = new List { ".jpg", ".jpeg", ".png", ".pdf", ".docx", ".xlsx" }; /// /// 复位权限最小级别。 /// public OperatorPermissionLevel OverrideMinPermissionLevel { get; set; } = OperatorPermissionLevel.TeamLeader; /// /// 复位权限缓存时间(分钟)。 /// public int OverridePermissionCacheTimeMinutes { get; set; } = 10; /// /// 复位审批超时时间(小时)。 /// public int OverrideApprovalTimeoutHours { get; set; } = 24; /// /// 复位撤销超时时间(小时)。 /// public int OverrideRevokeTimeoutHours { get; set; } = 48; /// /// 复位报告导出格式。 /// public IReadOnlyList OverrideReportExportFormats { get; set; } = new List { ExportFormat.Pdf, ExportFormat.Excel, ExportFormat.Csv }; /// /// 复位报告模板路径。 /// public string OverrideReportTemplatePath { get; set; } = "./templates/override-reports"; /// /// 复位审计日志文件路径。 /// public string OverrideAuditLogFilePath { get; set; } = "./logs/override-audit"; /// /// 复位数据清理策略。 /// public OverrideDataCleanupStrategy OverrideDataCleanupStrategy { get; set; } = OverrideDataCleanupStrategy.RetentionBased; /// /// 复位数据备份保留天数。 /// public int OverrideDataBackupRetentionDays { get; set; } = 60; /// /// 复位操作最大等待时间(毫秒)。 /// public int OverrideOperationMaxWaitTimeMs { get; set; } = 30000; /// /// 复位验证最大重试次数。 /// public int OverrideValidationMaxRetryCount { get; set; } = 3; /// /// 复位验证重试间隔(毫秒)。 /// public int OverrideValidationRetryIntervalMs { get; set; } = 2000; /// /// 复位通知邮件模板。 /// public string OverrideNotificationEmailTemplate { get; set; } = "override-notification"; /// /// 复位通知短信模板。 /// public string OverrideNotificationSmsTemplate { get; set; } = "override-sms"; /// /// 复位紧急通知阈值。 /// public OverridePriority OverrideEmergencyNotificationThreshold { get; set; } = OverridePriority.Urgent; /// /// 复位操作记录详细程度。 /// public OverrideOperationDetailLevel OverrideOperationDetailLevel { get; set; } = OverrideOperationDetailLevel.Standard; /// /// 复位数据加密算法。 /// public string OverrideDataEncryptionAlgorithm { get; set; } = "AES-256"; /// /// 复位数据完整性检查间隔(小时)。 /// public int OverrideDataIntegrityCheckIntervalHours { get; set; } = 24; /// /// 复位系统健康检查间隔(分钟)。 /// public int OverrideSystemHealthCheckIntervalMinutes { get; set; } = 15; /// /// 复位性能指标收集间隔(秒)。 /// public int OverridePerformanceMetricsCollectionIntervalSeconds { get; set; } = 30; /// /// 复位异常处理策略。 /// public OverrideExceptionHandlingStrategy OverrideExceptionHandlingStrategy { get; set; } = OverrideExceptionHandlingStrategy.LogAndContinue; /// /// 复位并发控制策略。 /// public OverrideConcurrencyControlStrategy OverrideConcurrencyControlStrategy { get; set; } = OverrideConcurrencyControlStrategy.QueueBased; /// /// 复位资源限制策略。 /// public OverrideResourceLimitStrategy OverrideResourceLimitStrategy { get; set; } = OverrideResourceLimitStrategy.MemoryBased; /// /// 复位安全策略。 /// public OverrideSecurityStrategy OverrideSecurityStrategy { get; set; } = OverrideSecurityStrategy.RoleBased; /// /// 复位监控策略。 /// public OverrideMonitoringStrategy OverrideMonitoringStrategy { get; set; } = OverrideMonitoringStrategy.RealTime; /// /// 复位备份策略。 /// public OverrideBackupStrategy OverrideBackupStrategy { get; set; } = OverrideBackupStrategy.Incremental; /// /// 复位恢复策略。 /// public OverrideRecoveryStrategy OverrideRecoveryStrategy { get; set; } = OverrideRecoveryStrategy.Automatic; /// /// 复位维护策略。 /// public OverrideMaintenanceStrategy OverrideMaintenanceStrategy { get; set; } = OverrideMaintenanceStrategy.Scheduled; /// /// 复位升级策略。 /// public OverrideUpgradeStrategy OverrideUpgradeStrategy { get; set; } = OverrideUpgradeStrategy.Rolling; /// /// 复位测试策略。 /// public OverrideTestingStrategy OverrideTestingStrategy { get; set; } = OverrideTestingStrategy.Automated; /// /// 复位部署策略。 /// public OverrideDeploymentStrategy OverrideDeploymentStrategy { get; set; } = OverrideDeploymentStrategy.BlueGreen; } } namespace OrpaonVision.SiteApp.Runtime.Options { public enum CompositeJudgmentStrategy { WeightedAverage = 0, AnyTwoPass = 1, AllPass = 2 } public enum LayerTransitionProtectionStrategy { Basic = 0, Strict = 1, Comprehensive = 2 } public enum ProductionReportType { Daily = 0, Weekly = 1, Monthly = 2 } public enum TracebackReportType { Standard = 0, Detailed = 1 } public enum AuditLevel { Info = 0, Warning = 1, Error = 2 } public enum OverrideReportType { Daily = 0, Weekly = 1, Monthly = 2 } public enum OperatorPermissionLevel { Operator = 0, TeamLeader = 1, Supervisor = 2, Engineer = 3, Admin = 4 } public enum OverridePriority { Low = 0, Normal = 1, High = 2, Urgent = 3 } public enum TracebackDataCleanupStrategy { RetentionBased = 0, ArchiveThenDelete = 1 } public enum OverrideDataCleanupStrategy { RetentionBased = 0, ArchiveThenDelete = 1 } public enum OverrideOperationDetailLevel { Minimal = 0, Standard = 1, Verbose = 2 } public enum OverrideExceptionHandlingStrategy { LogAndContinue = 0, StopOnError = 1 } public enum OverrideConcurrencyControlStrategy { QueueBased = 0, LockBased = 1 } public enum OverrideResourceLimitStrategy { MemoryBased = 0, ThroughputBased = 1 } public enum OverrideSecurityStrategy { RoleBased = 0, PolicyBased = 1 } public enum OverrideMonitoringStrategy { RealTime = 0, Periodic = 1 } public enum OverrideBackupStrategy { Incremental = 0, Full = 1 } public enum OverrideRecoveryStrategy { Automatic = 0, Manual = 1 } public enum OverrideMaintenanceStrategy { Scheduled = 0, OnDemand = 1 } public enum OverrideUpgradeStrategy { Rolling = 0, BlueGreen = 1 } public enum OverrideTestingStrategy { Automated = 0, Manual = 1 } public enum OverrideDeploymentStrategy { BlueGreen = 0, Rolling = 1 } }