167 lines
4.4 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using YunDa.SOMS.Entities.DataMonitoring;
namespace YunDa.SOMS.DataTransferObject.DataMonitoring.SecondaryCircuitInspection
{
/// <summary>
/// 二次回路巡检统计查询输入DTO
/// </summary>
public class SecondaryCircuitInspectionStatisticsQueryInput
{
/// <summary>
/// 变电站ID
/// </summary>
public Guid? TransformerSubstationId { get; set; }
/// <summary>
/// 变电站ID列表
/// </summary>
public List<Guid> TransformerSubstationIds { get; set; }
/// <summary>
/// 巡检计划ID
/// </summary>
public Guid? InspectionPlanId { get; set; }
/// <summary>
/// 巡检计划ID列表
/// </summary>
public List<Guid> InspectionPlanIds { get; set; }
/// <summary>
/// 统计开始时间
/// </summary>
[Required(ErrorMessage = "统计开始时间不能为空")]
public DateTime StartTime { get; set; }
/// <summary>
/// 统计结束时间
/// </summary>
[Required(ErrorMessage = "统计结束时间不能为空")]
public DateTime EndTime { get; set; }
/// <summary>
/// 统计类型
/// </summary>
[Required(ErrorMessage = "统计类型不能为空")]
public SecondaryCircuitInspectionStatisticsType StatisticsType { get; set; }
/// <summary>
/// 统计维度
/// </summary>
public SecondaryCircuitInspectionStatisticsDimension? StatisticsDimension { get; set; }
/// <summary>
/// 是否包含异常统计
/// </summary>
public bool IncludeAbnormalStatistics { get; set; } = true;
/// <summary>
/// 是否包含执行时长统计
/// </summary>
public bool IncludeExecutionDurationStatistics { get; set; } = true;
/// <summary>
/// 是否包含成功率统计
/// </summary>
public bool IncludeSuccessRateStatistics { get; set; } = true;
/// <summary>
/// 是否包含趋势分析
/// </summary>
public bool IncludeTrendAnalysis { get; set; } = false;
/// <summary>
/// 主模块类型列表
/// </summary>
public List<SecondaryCircuitInspectionModuleType> ModuleTypes { get; set; }
/// <summary>
/// 巡检优先级列表
/// </summary>
public List<SecondaryCircuitInspectionPriority> Priorities { get; set; }
public SecondaryCircuitInspectionStatisticsQueryInput()
{
TransformerSubstationIds = new List<Guid>();
InspectionPlanIds = new List<Guid>();
ModuleTypes = new List<SecondaryCircuitInspectionModuleType>();
Priorities = new List<SecondaryCircuitInspectionPriority>();
}
}
/// <summary>
/// 二次回路巡检统计类型枚举
/// </summary>
public enum SecondaryCircuitInspectionStatisticsType
{
/// <summary>
/// 执行次数统计
/// </summary>
ExecutionCount = 0,
/// <summary>
/// 成功率统计
/// </summary>
SuccessRate = 1,
/// <summary>
/// 异常统计
/// </summary>
AbnormalStatistics = 2,
/// <summary>
/// 执行时长统计
/// </summary>
ExecutionDuration = 3,
/// <summary>
/// 综合统计
/// </summary>
Comprehensive = 4,
/// <summary>
/// 趋势分析
/// </summary>
TrendAnalysis = 5
}
/// <summary>
/// 二次回路巡检统计维度枚举
/// </summary>
public enum SecondaryCircuitInspectionStatisticsDimension
{
/// <summary>
/// 按变电站统计
/// </summary>
ByTransformerSubstation = 0,
/// <summary>
/// 按巡检计划统计
/// </summary>
ByInspectionPlan = 1,
/// <summary>
/// 按巡检子项统计
/// </summary>
ByInspectionItem = 2,
/// <summary>
/// 按模块类型统计
/// </summary>
ByModuleType = 3,
/// <summary>
/// 按时间统计
/// </summary>
ByTime = 4,
/// <summary>
/// 按执行人统计
/// </summary>
ByExecutor = 5
}
}