forked from ddrilling/AsbCloudServer
Изменение логики фонового сервиса - идентификация MSE
This commit is contained in:
parent
eb987c6ff2
commit
42be246c4b
@ -108,15 +108,21 @@ namespace AsbCloudInfrastructure.Services.Subsystems
|
|||||||
}
|
}
|
||||||
private static async Task<IEnumerable<SubsystemOperationTime>> OperationTimeSaubAsync(int idTelemetry, DateTimeOffset begin, IAsbCloudDbContext db, CancellationToken token)
|
private static async Task<IEnumerable<SubsystemOperationTime>> OperationTimeSaubAsync(int idTelemetry, DateTimeOffset begin, IAsbCloudDbContext db, CancellationToken token)
|
||||||
{
|
{
|
||||||
static int? GetSubsytemId(short mode, short state)
|
static int? GetSubsytemId(short mode)
|
||||||
{
|
{
|
||||||
if (mode == 1 | mode == 3)
|
if (mode == 1 | mode == 3)
|
||||||
return 1;
|
return 1;
|
||||||
if ((state & 1) > 0)
|
|
||||||
return 2;
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool IsSubsystemMse(short state)
|
||||||
|
{
|
||||||
|
if ((state & 1) > 0)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
var query =
|
var query =
|
||||||
$"select tt.date, tt.mode, tt.well_depth, tt.mse_state " +
|
$"select tt.date, tt.mode, tt.well_depth, tt.mse_state " +
|
||||||
$"from ( " +
|
$"from ( " +
|
||||||
@ -151,7 +157,7 @@ namespace AsbCloudInfrastructure.Services.Subsystems
|
|||||||
{
|
{
|
||||||
var mode = result.GetFieldValue<short>(1);
|
var mode = result.GetFieldValue<short>(1);
|
||||||
var mseState = result.GetFieldValue<short>(3);
|
var mseState = result.GetFieldValue<short>(3);
|
||||||
var idSubsystem = GetSubsytemId(mode, mseState);
|
var idSubsystem = GetSubsytemId(mode);
|
||||||
var dateStart = result.GetFieldValue<DateTimeOffset>(0);
|
var dateStart = result.GetFieldValue<DateTimeOffset>(0);
|
||||||
var depthStart = result.GetFieldValue<float>(2);
|
var depthStart = result.GetFieldValue<float>(2);
|
||||||
|
|
||||||
@ -183,13 +189,25 @@ namespace AsbCloudInfrastructure.Services.Subsystems
|
|||||||
DepthEnd = depthEnd
|
DepthEnd = depthEnd
|
||||||
};
|
};
|
||||||
subsystemOperationTime.Add(operationTimeItem);
|
subsystemOperationTime.Add(operationTimeItem);
|
||||||
|
if (IsSubsystemMse(mseState))
|
||||||
|
{
|
||||||
|
var operationTimeItemMse = new SubsystemOperationTime()
|
||||||
|
{
|
||||||
|
IdTelemetry = idTelemetry,
|
||||||
|
IdSubsystem = 2,
|
||||||
|
DateStart = (DateTimeOffset)(prevSubsystem1 ? prevDate : dateStart),
|
||||||
|
DateEnd = dateEnd,
|
||||||
|
DepthStart = depthStart,
|
||||||
|
DepthEnd = depthEnd
|
||||||
|
};
|
||||||
|
subsystemOperationTime.Add(operationTimeItemMse);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mode = result.GetFieldValue<short>(1);
|
mode = result.GetFieldValue<short>(1);
|
||||||
mseState = result.GetFieldValue<short>(3);
|
mseState = result.GetFieldValue<short>(3);
|
||||||
idSubsystem = GetSubsytemId(mode, mseState);
|
idSubsystem = GetSubsytemId(mode);
|
||||||
dateStart = dateEnd;
|
dateStart = dateEnd;
|
||||||
depthStart = depthEnd;
|
depthStart = depthEnd;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user