DD.WellWorkover.Cloud/AsbCloudApp/Data/DailyReport/DailyReportDto.cs

117 lines
3.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using AsbCloudApp.Data.DailyReport.Blocks;
using AsbCloudApp.Data.DailyReport.Blocks.Sign;
using AsbCloudApp.Data.DailyReport.Blocks.Subsystems;
using AsbCloudApp.Data.DailyReport.Blocks.TimeBalance;
using AsbCloudApp.Data.DailyReport.Blocks.WellOperation;
namespace AsbCloudApp.Data.DailyReport;
/// <summary>
/// Суточный отчёт
/// </summary>
public class DailyReportDto : IId,
IWellRelated
{
/// <inheritdoc/>
[Required]
public int Id { get; set; }
/// <inheritdoc/>
[Required]
public int IdWell { get; set; }
/// <summary>
/// Название скважины
/// </summary>
[Required]
public string WellCaption { get; set; } = null!;
/// <summary>
/// Название типа скважины
/// </summary>
public string? WellType { get; set; }
/// <summary>
/// Название куста
/// </summary>
public string? Cluster { get; set; }
/// <summary>
/// Заказчик
/// </summary>
public string? Customer { get; set; }
/// <summary>
/// Подрядчик
/// </summary>
public string? Contractor { get; set; }
/// <summary>
/// Месторождение
/// </summary>
public string? Deposit { get; set; }
/// <summary>
/// Глубина забоя на дату начала интервала
/// </summary>
public double? DepthStart { get; set; }
/// <summary>
/// Глубина забоя на дату окончания интервала
/// </summary>
public double? DepthEnd { get; set; }
/// <summary>
/// Дата формирования отчёта
/// </summary>
[Required]
public DateOnly Date { get; set; }
/// <summary>
/// Дата последнего обновления
/// </summary>
public DateTimeOffset? DateLastUpdate { get; set; }
/// <summary>
/// Блок фактической траектории
/// </summary>
[Required]
public TrajectoryBlockDto TrajectoryBlock { get; set; } = null!;
/// <summary>
/// Фактические операции
/// </summary>
[Required]
public WellOperationBlockDto FactWellOperationBlock { get; set; } = null!;
/// <summary>
/// Баланс времени
/// </summary>
public TimeBalanceBlockDto? TimeBalanceBlock { get; set; }
/// <summary>
/// Наработка подсистем
/// </summary>
public SubsystemBlockDto? SubsystemBlock { get; set; }
/// <summary>
/// Подпись
/// </summary>
public SignBlockDto? SignBlock { get; set; }
/// <summary>
/// Блок расписания
/// </summary>
[Required]
public IEnumerable<ScheduleRecordDto> ScheduleBlock { get; set; } = Enumerable.Empty<ScheduleRecordDto>();
/// <summary>
/// РТК
/// </summary>
[Required]
public IEnumerable<ProcessMapWellDrillingRecordDto> ProcessMapWellDrillingBlock { get; set; } = Enumerable.Empty<ProcessMapWellDrillingRecordDto>();
}