forked from ddrilling/AsbCloudServer
Fixed Telemetry analysis start depending on analyze start date
This commit is contained in:
parent
c0918652a3
commit
b60b84b45c
@ -35,7 +35,7 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
|
|
||||||
var timeToStartAnalysis = DateTime.Now;
|
var timeToStartAnalysis = DateTime.Now;
|
||||||
|
|
||||||
while (false)//(!token.IsCancellationRequested)
|
while (!token.IsCancellationRequested)
|
||||||
{
|
{
|
||||||
if(DateTime.Now > timeToStartAnalysis)
|
if(DateTime.Now > timeToStartAnalysis)
|
||||||
{
|
{
|
||||||
|
@ -242,44 +242,47 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
{
|
{
|
||||||
var analyzeStartDate = GetAnalyzeStartDate(idTelemetry);
|
var analyzeStartDate = GetAnalyzeStartDate(idTelemetry);
|
||||||
|
|
||||||
while (GetDataSaubsToAnalyze(idTelemetry, analyzeStartDate).Any())
|
if(analyzeStartDate != default)
|
||||||
{
|
{
|
||||||
var dataSaubsToAnalyze = GetDataSaubsToAnalyze(idTelemetry, analyzeStartDate);
|
while (GetDataSaubsToAnalyze(idTelemetry, analyzeStartDate).Any())
|
||||||
|
|
||||||
analyzeStartDate = dataSaubsToAnalyze.Last().Date;
|
|
||||||
|
|
||||||
foreach (var dataSaub in dataSaubsToAnalyze)
|
|
||||||
{
|
{
|
||||||
var dataSaubDto = dataSaub.Adapt<TelemetryDataSaubDto>();
|
var dataSaubsToAnalyze = GetDataSaubsToAnalyze(idTelemetry, analyzeStartDate);
|
||||||
|
|
||||||
saubDataCache.AddData(dataSaubDto);
|
analyzeStartDate = dataSaubsToAnalyze.Last().Date;
|
||||||
|
|
||||||
if (saubDataCache.GetOrCreateCache(dataSaubDto.IdTelemetry).Count() > 1)
|
foreach (var dataSaub in dataSaubsToAnalyze)
|
||||||
{
|
{
|
||||||
var dataSaubs = saubDataCache.GetOrCreateCache(dataSaubDto.IdTelemetry)
|
var dataSaubDto = dataSaub.Adapt<TelemetryDataSaubDto>();
|
||||||
.OrderBy(d => d.Date);
|
|
||||||
|
|
||||||
var telemetryAnalysisDto = GetDrillingAnalysis(dataSaubs);
|
saubDataCache.AddData(dataSaubDto);
|
||||||
|
|
||||||
if (saubDataCache.CurrentAnalysis is null)
|
if (saubDataCache.GetOrCreateCache(dataSaubDto.IdTelemetry).Count() > 1)
|
||||||
saubDataCache.CurrentAnalysis = telemetryAnalysisDto;
|
|
||||||
|
|
||||||
if (saubDataCache.CurrentAnalysis.IdOperation == telemetryAnalysisDto.IdOperation)
|
|
||||||
{
|
{
|
||||||
saubDataCache.CurrentAnalysis.DurationSec +=
|
var dataSaubs = saubDataCache.GetOrCreateCache(dataSaubDto.IdTelemetry)
|
||||||
telemetryAnalysisDto.DurationSec;
|
.OrderBy(d => d.Date);
|
||||||
saubDataCache.CurrentAnalysis.OperationEndDepth = dataSaubDto.WellDepth;
|
|
||||||
}
|
var telemetryAnalysisDto = GetDrillingAnalysis(dataSaubs);
|
||||||
else
|
|
||||||
{
|
if (saubDataCache.CurrentAnalysis is null)
|
||||||
db.TelemetryAnalysis.Add(saubDataCache.CurrentAnalysis.Adapt<TelemetryAnalysis>());
|
saubDataCache.CurrentAnalysis = telemetryAnalysisDto;
|
||||||
saubDataCache.CurrentAnalysis = telemetryAnalysisDto;
|
|
||||||
saubDataCache.CurrentAnalysis.OperationStartDepth = dataSaubDto.WellDepth;
|
if (saubDataCache.CurrentAnalysis.IdOperation == telemetryAnalysisDto.IdOperation)
|
||||||
|
{
|
||||||
|
saubDataCache.CurrentAnalysis.DurationSec +=
|
||||||
|
telemetryAnalysisDto.DurationSec;
|
||||||
|
saubDataCache.CurrentAnalysis.OperationEndDepth = dataSaubDto.WellDepth;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
db.TelemetryAnalysis.Add(saubDataCache.CurrentAnalysis.Adapt<TelemetryAnalysis>());
|
||||||
|
saubDataCache.CurrentAnalysis = telemetryAnalysisDto;
|
||||||
|
saubDataCache.CurrentAnalysis.OperationStartDepth = dataSaubDto.WellDepth;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
db.SaveChanges();
|
db.SaveChanges();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -334,7 +337,7 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
ds.Date >= analyzeStartDate
|
ds.Date >= analyzeStartDate
|
||||||
select ds).FirstOrDefault();
|
select ds).FirstOrDefault();
|
||||||
|
|
||||||
var firstSaubUtcTime = firstDataSaub.Date.ToUniversalTime();
|
var firstSaubUtcTime = firstDataSaub?.Date.ToUniversalTime() ?? default;
|
||||||
|
|
||||||
return firstSaubUtcTime;
|
return firstSaubUtcTime;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user