forked from ddrilling/AsbCloudServer
Merge branch 'dev' into RefactorWellService
This commit is contained in:
commit
d40bced3a0
@ -7,12 +7,12 @@ namespace AsbCloudApp.Data
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата и время начала
|
/// Дата и время начала
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime Start { get; set; }
|
public DateTime? Start { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Дата и время окончания
|
/// Дата и время окончания
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime End { get; set; }
|
public DateTime? End { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Глубина, м
|
/// Глубина, м
|
||||||
|
@ -186,7 +186,7 @@ namespace AsbCloudInfrastructure.Services.WellOperationService
|
|||||||
return statWellDto;
|
return statWellDto;
|
||||||
|
|
||||||
statWellDto.Sections = CalcSectionsStats(wellOperations);
|
statWellDto.Sections = CalcSectionsStats(wellOperations);
|
||||||
statWellDto.Total = GetStatTotal(wellOperations);
|
statWellDto.Total = GetStatTotal(wellOperations, well.IdState);
|
||||||
|
|
||||||
return statWellDto;
|
return statWellDto;
|
||||||
}
|
}
|
||||||
@ -219,14 +219,18 @@ namespace AsbCloudInfrastructure.Services.WellOperationService
|
|||||||
return sections;
|
return sections;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static PlanFactBase<StatOperationsDto> GetStatTotal(IEnumerable<WellOperation> operations)
|
private static PlanFactBase<StatOperationsDto> GetStatTotal(IEnumerable<WellOperation> operations,
|
||||||
|
int idWellState)
|
||||||
{
|
{
|
||||||
var operationsPlan = operations.Where(o => o.IdType == idOperationTypePlan);
|
var operationsPlan = operations.Where(o => o.IdType == idOperationTypePlan);
|
||||||
var operationsFact = operations.Where(o => o.IdType == idOperationTypeFact);
|
var operationsFact = operations.Where(o => o.IdType == idOperationTypeFact);
|
||||||
|
var factEnd = CalcStat(operationsFact);
|
||||||
|
if (idWellState != 2)
|
||||||
|
factEnd.End = null;
|
||||||
var section = new PlanFactBase<StatOperationsDto>
|
var section = new PlanFactBase<StatOperationsDto>
|
||||||
{
|
{
|
||||||
Plan = CalcStat(operationsPlan),
|
Plan = CalcStat(operationsPlan),
|
||||||
Fact = CalcStat(operationsFact),
|
Fact = factEnd,
|
||||||
};
|
};
|
||||||
return section;
|
return section;
|
||||||
}
|
}
|
||||||
@ -240,7 +244,7 @@ namespace AsbCloudInfrastructure.Services.WellOperationService
|
|||||||
|
|
||||||
return CalcStat(sectionOperations);
|
return CalcStat(sectionOperations);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static StatOperationsDto CalcStat(IEnumerable<WellOperation> operations)
|
private static StatOperationsDto CalcStat(IEnumerable<WellOperation> operations)
|
||||||
{
|
{
|
||||||
if (!operations.Any())
|
if (!operations.Any())
|
||||||
@ -250,8 +254,8 @@ namespace AsbCloudInfrastructure.Services.WellOperationService
|
|||||||
|
|
||||||
var section = new StatOperationsDto
|
var section = new StatOperationsDto
|
||||||
{
|
{
|
||||||
Start = operations.First().DateStart,
|
Start = operations.FirstOrDefault()?.DateStart,
|
||||||
End = operations.Max(o => (o.DateStart.AddHours(o.DurationHours))),
|
End = operations.Max(o => o.DateStart.AddHours(o.DurationHours)),
|
||||||
WellDepthStart = operations.Min(o => o.DepthStart),
|
WellDepthStart = operations.Min(o => o.DepthStart),
|
||||||
WellDepthEnd = operations.Max(o => o.DepthStart),
|
WellDepthEnd = operations.Max(o => o.DepthStart),
|
||||||
Rop = CalcROP(operations),
|
Rop = CalcROP(operations),
|
||||||
|
Loading…
Reference in New Issue
Block a user