using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 监测数据上报类型输出参数
/// </summary>
public class ExamDataReportOutput : DEntityOutput
{
    /// <summary>
    /// 监测计划ID
    /// </summary>
    [Required]
    public int ExamPlanId { get; set; }
    /// <summary>
    /// 上报类型
    /// </summary>
    [Required]
    public DataReportType Type { get; set; }
    /// <summary>
    /// 状态
    /// </summary>
    [Required]
    public ExamStatus Status { get; set; }
    /// <summary>
    /// 开始时间
    /// </summary>
    [Required]
    public DateTime BeginTime { get; set; }
    /// <summary>
    /// 结束时间
    /// </summary>
    [Required]
    public DateTime EndTime { get; set; }
    /// <summary>
    /// 上报说明
    /// </summary>
    public string Remark { get; set; }

    /// <summary>
    /// 应上报机构数量
    /// </summary>
    public int Count { get; set; } = 0;
    /// <summary>
    /// 已上报机构数量
    /// </summary>
    public int ReportedCount { get; set; } = 0;
    /// <summary>
    /// 未上报机构数量
    /// </summary>
    public int UnreportCount { get { return Count - ReportedCount; } }

    /// <summary>
    /// 佐证材料列表
    /// </summary>
    public List<AttachmentItem> AttachmentList { get; set; } = new();
}
