forked from ddrilling/AsbCloudServer
Merge branch 'dev' into fix/wellOperation-date-time-offset
This commit is contained in:
commit
e0f018fa0c
@ -173,16 +173,16 @@ namespace AsbCloudInfrastructure.Services.DetectOperations
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private IQueryable<DetectedOperation> BuildQueryBase(WellDto well, DetectedOperationRequest request)
|
private IQueryable<DetectedOperation> BuildQueryBase(WellDto well, DetectedOperationRequest request)
|
||||||
{
|
{
|
||||||
var query = db.Set<DetectedOperation>()
|
var query = db.Set<DetectedOperation>()
|
||||||
.Where(o => o.IdTelemetry == well.IdTelemetry);
|
.Where(o => o.IdTelemetry == well.IdTelemetry);
|
||||||
|
|
||||||
if (request is not null)
|
|
||||||
{
|
|
||||||
if (request.IdsTelemetries.Any())
|
if (request.IdsTelemetries.Any())
|
||||||
query = query.Where(o => request.IdsTelemetries.Contains(o.IdTelemetry));
|
{
|
||||||
|
query = query
|
||||||
|
.Union(db.Set<DetectedOperation>().Where(o => request.IdsTelemetries.Contains(o.IdTelemetry)));
|
||||||
|
}
|
||||||
|
|
||||||
if (request.IdsCategories.Any())
|
if (request.IdsCategories.Any())
|
||||||
query = query.Where(o => request.IdsCategories.Contains(o.IdCategory));
|
query = query.Where(o => request.IdsCategories.Contains(o.IdCategory));
|
||||||
@ -201,7 +201,6 @@ namespace AsbCloudInfrastructure.Services.DetectOperations
|
|||||||
|
|
||||||
if (request.IdTelemetryUser is not null)
|
if (request.IdTelemetryUser is not null)
|
||||||
query = query.Where(o => o.IdUsersAtStart == request.IdTelemetryUser);
|
query = query.Where(o => o.IdUsersAtStart == request.IdTelemetryUser);
|
||||||
}
|
|
||||||
|
|
||||||
return query;
|
return query;
|
||||||
}
|
}
|
||||||
@ -211,7 +210,7 @@ namespace AsbCloudInfrastructure.Services.DetectOperations
|
|||||||
IQueryable<DetectedOperation> query = BuildQueryBase(well, request)
|
IQueryable<DetectedOperation> query = BuildQueryBase(well, request)
|
||||||
.Include(o => o.OperationCategory);
|
.Include(o => o.OperationCategory);
|
||||||
|
|
||||||
if (request?.SortFields?.Any() == true)
|
if (request.SortFields?.Any() == true)
|
||||||
{
|
{
|
||||||
query = query.SortBy(request.SortFields);
|
query = query.SortBy(request.SortFields);
|
||||||
}
|
}
|
||||||
@ -220,10 +219,10 @@ namespace AsbCloudInfrastructure.Services.DetectOperations
|
|||||||
.OrderBy(o => o.DateStart)
|
.OrderBy(o => o.DateStart)
|
||||||
.ThenBy(o => o.DepthStart);
|
.ThenBy(o => o.DepthStart);
|
||||||
|
|
||||||
if (request?.Skip > 0)
|
if (request.Skip.HasValue)
|
||||||
query = query.Skip((int)request.Skip);
|
query = query.Skip((int)request.Skip);
|
||||||
|
|
||||||
if (request?.Take > 0)
|
if (request.Take.HasValue)
|
||||||
query = query.Take((int)request.Take);
|
query = query.Take((int)request.Take);
|
||||||
|
|
||||||
return query;
|
return query;
|
||||||
|
@ -227,19 +227,17 @@ internal class SubsystemService : ISubsystemService
|
|||||||
|
|
||||||
var request = new DetectedOperationRequest
|
var request = new DetectedOperationRequest
|
||||||
{
|
{
|
||||||
IdsTelemetries = idsTelemetries,
|
IdWell = well.Id,
|
||||||
IdsCategories = WellOperationCategory.MechanicalDrillingSubIds,
|
IdsCategories = WellOperationCategory.MechanicalDrillingSubIds,
|
||||||
GeDateStart = geDateStartUtc,
|
GeDateStart = geDateStartUtc,
|
||||||
LeDateEnd = leDateUtc,
|
LeDateEnd = leDateUtc,
|
||||||
};
|
};
|
||||||
|
|
||||||
var operations = await detectedOperationService
|
var telemetryOperations = await detectedOperationService
|
||||||
.GetOperationsAsync(request, token);
|
.GetOperationsAsync(request, token);
|
||||||
|
|
||||||
var wellStat = new SubsystemActiveWellStatDto { Well = well };
|
var wellStat = new SubsystemActiveWellStatDto { Well = well };
|
||||||
|
|
||||||
var telemetryOperations = operations.Where(o => o.IdTelemetry == well.IdTelemetry);
|
|
||||||
|
|
||||||
if (!telemetryOperations.Any())
|
if (!telemetryOperations.Any())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@ -250,6 +248,7 @@ internal class SubsystemService : ISubsystemService
|
|||||||
|
|
||||||
wellStat.SubsystemAPD = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemAPD);
|
wellStat.SubsystemAPD = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemAPD);
|
||||||
wellStat.SubsystemOscillation = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemOscillation);
|
wellStat.SubsystemOscillation = subsystemStat.FirstOrDefault(s => s.IdSubsystem == IdSubsystemOscillation);
|
||||||
|
wellsStat.Add(wellStat);
|
||||||
}
|
}
|
||||||
|
|
||||||
return wellsStat;
|
return wellsStat;
|
||||||
|
Loading…
Reference in New Issue
Block a user