2023-03-06 16:30:36 +05:00
|
|
|
|
using System;
|
2023-11-03 19:16:26 +05:00
|
|
|
|
using System.Collections.Generic;
|
2024-01-16 13:24:42 +05:00
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
2023-11-03 19:16:26 +05:00
|
|
|
|
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;
|
2023-03-06 16:30:36 +05:00
|
|
|
|
|
2023-11-03 19:16:26 +05:00
|
|
|
|
namespace AsbCloudApp.Data.DailyReport;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Суточный отчёт
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class DailyReportDto : IId,
|
|
|
|
|
IWellRelated
|
2022-07-25 18:02:39 +05:00
|
|
|
|
{
|
2023-11-03 19:16:26 +05:00
|
|
|
|
/// <inheritdoc/>
|
2024-01-16 13:24:42 +05:00
|
|
|
|
[Required]
|
2023-11-03 19:16:26 +05:00
|
|
|
|
public int Id { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <inheritdoc/>
|
2024-01-16 13:24:42 +05:00
|
|
|
|
[Required]
|
2023-11-03 19:16:26 +05:00
|
|
|
|
public int IdWell { get; set; }
|
|
|
|
|
|
2024-01-16 13:24:42 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Название скважины
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public string WellCaption { get; set; } = null!;
|
2023-11-03 19:16:26 +05:00
|
|
|
|
|
|
|
|
|
/// <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; }
|
|
|
|
|
|
2024-01-16 13:24:42 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Дата формирования отчёта
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public DateOnly Date { get; set; }
|
2023-11-14 10:51:36 +05:00
|
|
|
|
|
2023-11-03 19:16:26 +05:00
|
|
|
|
/// <summary>
|
2023-11-14 10:51:36 +05:00
|
|
|
|
/// Дата последнего обновления
|
2023-11-03 19:16:26 +05:00
|
|
|
|
/// </summary>
|
2024-03-19 17:21:05 +05:00
|
|
|
|
public DateTimeOffset? DateLastUpdate { get; set; }
|
2023-11-03 19:16:26 +05:00
|
|
|
|
|
2024-01-16 13:24:42 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Блок фактической траектории
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public TrajectoryBlockDto TrajectoryBlock { get; set; } = null!;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Фактические операции
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public WellOperationBlockDto FactWellOperationBlock { get; set; } = null!;
|
2023-11-03 19:16:26 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Баланс времени
|
|
|
|
|
/// </summary>
|
|
|
|
|
public TimeBalanceBlockDto? TimeBalanceBlock { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Наработка подсистем
|
|
|
|
|
/// </summary>
|
|
|
|
|
public SubsystemBlockDto? SubsystemBlock { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Подпись
|
|
|
|
|
/// </summary>
|
|
|
|
|
public SignBlockDto? SignBlock { get; set; }
|
|
|
|
|
|
2024-01-16 13:24:42 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Блок расписания
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public IEnumerable<ScheduleRecordDto> ScheduleBlock { get; set; } = Enumerable.Empty<ScheduleRecordDto>();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// РТК
|
|
|
|
|
/// </summary>
|
|
|
|
|
[Required]
|
|
|
|
|
public IEnumerable<ProcessMapWellDrillingRecordDto> ProcessMapWellDrillingBlock { get; set; } = Enumerable.Empty<ProcessMapWellDrillingRecordDto>();
|
2023-11-03 19:16:26 +05:00
|
|
|
|
}
|