2024-07-04 11:02:45 +05:00
|
|
|
using AsbCloudDb.Model;
|
2021-10-12 16:07:08 +05:00
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
2023-04-07 16:49:28 +05:00
|
|
|
using System.Linq;
|
2021-10-12 16:07:08 +05:00
|
|
|
|
|
|
|
namespace AsbCloudInfrastructure.Services.WellOperationService
|
|
|
|
{
|
2023-04-18 16:22:53 +05:00
|
|
|
|
2021-10-12 16:07:08 +05:00
|
|
|
class Race
|
|
|
|
{
|
2022-10-18 11:00:34 +05:00
|
|
|
/// <summary>
|
|
|
|
/// Дата начала рейса
|
|
|
|
/// </summary>
|
2021-10-12 16:07:08 +05:00
|
|
|
public DateTime StartDate { get; set; }
|
2022-10-18 11:00:34 +05:00
|
|
|
|
|
|
|
/// <summary>
|
2022-10-19 14:54:53 +05:00
|
|
|
/// Глубина начала рейса, м
|
2022-10-18 11:00:34 +05:00
|
|
|
/// </summary>
|
2021-10-12 16:07:08 +05:00
|
|
|
public double StartWellDepth { get; set; }
|
2022-10-18 11:00:34 +05:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Дата окончания рейса
|
|
|
|
/// </summary>
|
2021-10-12 16:07:08 +05:00
|
|
|
public DateTime EndDate { get; set; }
|
2022-10-18 11:00:34 +05:00
|
|
|
|
|
|
|
/// <summary>
|
2022-10-19 14:54:53 +05:00
|
|
|
/// Глубина окончания рейса, м
|
2022-10-18 11:00:34 +05:00
|
|
|
/// </summary>
|
2021-10-12 16:07:08 +05:00
|
|
|
public double EndWellDepth { get; set; }
|
2022-10-18 11:00:34 +05:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Время рейса, часы
|
|
|
|
/// </summary>
|
2021-10-12 16:07:08 +05:00
|
|
|
public double DrillingTime { get; set; }
|
2022-10-18 11:00:34 +05:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Время НПВ, часы
|
|
|
|
/// </summary>
|
2021-10-12 16:07:08 +05:00
|
|
|
public double NonProductiveHours { get; set; }
|
2022-10-18 11:00:34 +05:00
|
|
|
|
|
|
|
/// <summary>
|
2022-10-19 14:54:53 +05:00
|
|
|
/// Ремонт, часы
|
2022-10-18 11:00:34 +05:00
|
|
|
/// </summary>
|
2022-10-19 14:54:53 +05:00
|
|
|
public double RepairHours { get; set; }
|
2022-10-18 11:00:34 +05:00
|
|
|
|
2022-10-19 14:54:53 +05:00
|
|
|
/// <summary>
|
|
|
|
/// проходка за рейс, м
|
|
|
|
/// </summary>
|
2021-10-12 16:07:08 +05:00
|
|
|
public double DeltaDepth => EndWellDepth - StartWellDepth;
|
2022-10-19 14:54:53 +05:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Полное время рейса, часы
|
|
|
|
/// </summary>
|
|
|
|
public double DeltaHours => (EndDate - StartDate).TotalHours;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Скорость за рейс, м/час
|
|
|
|
/// </summary>
|
|
|
|
public double Speed => DeltaDepth / (DeltaHours - NonProductiveHours - RepairHours + double.Epsilon);
|
2022-10-18 11:00:34 +05:00
|
|
|
|
2022-10-19 14:54:53 +05:00
|
|
|
/// <summary>
|
|
|
|
/// Список операций за рейс
|
|
|
|
/// </summary>
|
2023-04-07 16:49:28 +05:00
|
|
|
public List<WellOperation> Operations { get; internal set; } = new List<WellOperation>();
|
2021-10-12 16:07:08 +05:00
|
|
|
}
|
2023-04-18 16:22:53 +05:00
|
|
|
|
2021-10-12 16:07:08 +05:00
|
|
|
}
|