forked from ddrilling/AsbCloudServer
edit fill TimeBalanceDto
This commit is contained in:
parent
1f9406c70d
commit
12e70cb7c0
@ -16,7 +16,6 @@ namespace AsbCloudApp.Services
|
|||||||
Task<int> DeleteAsync(DetectedOperationRequest request, CancellationToken token);
|
Task<int> DeleteAsync(DetectedOperationRequest request, CancellationToken token);
|
||||||
Task<IEnumerable<DetectedOperationStatDto>?> GetOperationsStatAsync(DetectedOperationRequest request, CancellationToken token);
|
Task<IEnumerable<DetectedOperationStatDto>?> GetOperationsStatAsync(DetectedOperationRequest request, CancellationToken token);
|
||||||
Task<Stream> ExportAsync(IEnumerable<int> idsWells, CancellationToken token);
|
Task<Stream> ExportAsync(IEnumerable<int> idsWells, CancellationToken token);
|
||||||
double GetSumValues(IEnumerable<DetectedOperationStatDto> detectedOperations, int idOperation);
|
|
||||||
}
|
}
|
||||||
#nullable disable
|
#nullable disable
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ using System.Collections.Generic;
|
|||||||
using AsbCloudApp.Data.DailyReport;
|
using AsbCloudApp.Data.DailyReport;
|
||||||
using AsbCloudApp.Requests;
|
using AsbCloudApp.Requests;
|
||||||
using AsbCloudInfrastructure.Services.DetectOperations;
|
using AsbCloudInfrastructure.Services.DetectOperations;
|
||||||
|
using AsbCloudApp.Data.DetectedOperation;
|
||||||
|
|
||||||
namespace AsbCloudInfrastructure.Services.DailyReport
|
namespace AsbCloudInfrastructure.Services.DailyReport
|
||||||
{
|
{
|
||||||
@ -127,25 +128,36 @@ namespace AsbCloudInfrastructure.Services.DailyReport
|
|||||||
WellName = well?.Caption ?? "",
|
WellName = well?.Caption ?? "",
|
||||||
ClusterName = well?.Cluster ?? "",
|
ClusterName = well?.Cluster ?? "",
|
||||||
},
|
},
|
||||||
TimeBalance = detectedOperations is null ? new TimeBalanceDto() { } : new TimeBalanceDto()
|
TimeBalance = detectedOperations is null ? new TimeBalanceDto() { } : GetTimeBalanceDto(detectedOperations),
|
||||||
{
|
|
||||||
Drilling = $"{detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.IdOperationRotor) + detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.IdOperationSlide)}",
|
|
||||||
Flushing = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationFlushing).ToString(),
|
|
||||||
Building = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.IdOperationSlipsTime).ToString(),
|
|
||||||
Elaboration = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationElaboration).ToString(),
|
|
||||||
ElaborationBeforeBuilding = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationElaborationBeforeBuilding).ToString(),
|
|
||||||
TemplatingBeforeBuilding = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationTemplatingBeforeBuilding).ToString(),
|
|
||||||
FlushingBeforeBuilding = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationFlushingBeforeBuilding).ToString(),
|
|
||||||
StaticSurveying = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationStaticSurveying).ToString(),
|
|
||||||
Gis = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationGis).ToString(),
|
|
||||||
Ozc = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationOzc).ToString(),
|
|
||||||
Cementing = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationCementing).ToString(),
|
|
||||||
Npv = detectedOperationService.GetSumValues(detectedOperations, DetectedOperationService.idOperationNpv).ToString(),
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
return dto;
|
return dto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private TimeBalanceDto GetTimeBalanceDto(IEnumerable<DetectedOperationStatDto> stat)
|
||||||
|
{
|
||||||
|
var dto = stat is null ? new TimeBalanceDto() { } : new TimeBalanceDto()
|
||||||
|
{
|
||||||
|
Drilling = $"{FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.IdOperationRotor)) + FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.IdOperationSlide))}",
|
||||||
|
Flushing = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationFlushing)).ToString(),
|
||||||
|
Building = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.IdOperationSlipsTime)).ToString(),
|
||||||
|
Elaboration = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationElaboration)).ToString(),
|
||||||
|
ElaborationBeforeBuilding = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationElaborationBeforeBuilding)).ToString(),
|
||||||
|
TemplatingBeforeBuilding = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationTemplatingBeforeBuilding)).ToString(),
|
||||||
|
FlushingBeforeBuilding = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationFlushingBeforeBuilding)).ToString(),
|
||||||
|
StaticSurveying = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationStaticSurveying)).ToString(),
|
||||||
|
Gis = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationGis)).ToString(),
|
||||||
|
Ozc = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationOzc)).ToString(),
|
||||||
|
Cementing = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationCementing)).ToString(),
|
||||||
|
Npv = FormatOperationValue(stat.FirstOrDefault(x => x.IdCategory == DetectedOperationService.idOperationNpv)).ToString(),
|
||||||
|
};
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
|
||||||
|
private double FormatOperationValue(DetectedOperationStatDto? operationStat)
|
||||||
|
{
|
||||||
|
return operationStat is not null ? Math.Round(operationStat.MinutesTotal / 60, 2) : 0;
|
||||||
|
}
|
||||||
|
|
||||||
private static DailyReportDto Convert(AsbCloudDb.Model.DailyReport.DailyReport entity)
|
private static DailyReportDto Convert(AsbCloudDb.Model.DailyReport.DailyReport entity)
|
||||||
{
|
{
|
||||||
var dto = entity.Info.Adapt<DailyReportDto>();
|
var dto = entity.Info.Adapt<DailyReportDto>();
|
||||||
|
@ -296,15 +296,6 @@ namespace AsbCloudInfrastructure.Services.DetectOperations
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public double GetSumValues(IEnumerable<DetectedOperationStatDto> detectedOperations, int idOperation)
|
|
||||||
{
|
|
||||||
var result = detectedOperations
|
|
||||||
.Where(o => o.IdCategory == idOperation)
|
|
||||||
.Select(o => o.MinutesTotal)
|
|
||||||
.Sum() / 60;
|
|
||||||
return Math.Round(result, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task<Stream> ExportAsync(IEnumerable<int> idsWells, CancellationToken token)
|
public Task<Stream> ExportAsync(IEnumerable<int> idsWells, CancellationToken token)
|
||||||
{
|
{
|
||||||
var exportService = new DetectedOperationExportService(db, wellService);
|
var exportService = new DetectedOperationExportService(db, wellService);
|
||||||
|
Loading…
Reference in New Issue
Block a user