forked from ddrilling/AsbCloudServer
Изменение алгоритма выбора подсистемы АКБ
This commit is contained in:
parent
174be9b35f
commit
c6a49056bd
@ -151,13 +151,12 @@ namespace AsbCloudInfrastructure.Services.Subsystems
|
||||
|
||||
var subsystemOperationTime = new List<SubsystemOperationTime>(32);
|
||||
|
||||
var prevSubsystem1 = false;
|
||||
DateTimeOffset? prevDate = null;
|
||||
if (result.Read())
|
||||
{
|
||||
var mode = result.GetFieldValue<short>(1);
|
||||
var mseState = result.GetFieldValue<short>(3);
|
||||
//var mseState = result.GetFieldValue<short>(3);
|
||||
var idSubsystem = GetSubsytemId(mode);
|
||||
var foundSubsystem = idSubsystem.HasValue;
|
||||
var dateStart = result.GetFieldValue<DateTimeOffset>(0);
|
||||
var depthStart = result.GetFieldValue<float>(2);
|
||||
|
||||
@ -165,53 +164,32 @@ namespace AsbCloudInfrastructure.Services.Subsystems
|
||||
{
|
||||
var dateEnd = result.GetFieldValue<DateTimeOffset>(0);
|
||||
var depthEnd = result.GetFieldValue<float>(2);
|
||||
if (idSubsystem.HasValue)
|
||||
var currentMode = result.GetFieldValue<short>(1);
|
||||
var currentSubsystemAkb = GetSubsytemId(currentMode);
|
||||
var endSubsystemAkb = !currentSubsystemAkb.HasValue;
|
||||
if (foundSubsystem && endSubsystemAkb)
|
||||
{
|
||||
if (idSubsystem == 1)
|
||||
{
|
||||
prevSubsystem1 = true;
|
||||
prevDate = dateStart;
|
||||
}
|
||||
else
|
||||
{
|
||||
prevSubsystem1 = false;
|
||||
prevDate = null;
|
||||
}
|
||||
|
||||
|
||||
var operationTimeItem = new SubsystemOperationTime()
|
||||
{
|
||||
IdTelemetry = idTelemetry,
|
||||
IdSubsystem = idSubsystem.Value,
|
||||
DateStart = (DateTimeOffset)(prevSubsystem1 ? prevDate : dateStart),
|
||||
DateStart = dateStart,
|
||||
DateEnd = dateEnd,
|
||||
DepthStart = depthStart,
|
||||
DepthEnd = depthEnd
|
||||
};
|
||||
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);
|
||||
foundSubsystem = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
mode = result.GetFieldValue<short>(1);
|
||||
mseState = result.GetFieldValue<short>(3);
|
||||
idSubsystem = GetSubsytemId(mode);
|
||||
if (currentSubsystemAkb.HasValue && !foundSubsystem)
|
||||
{
|
||||
idSubsystem = currentSubsystemAkb;
|
||||
dateStart = dateEnd;
|
||||
foundSubsystem = true;
|
||||
depthStart = depthEnd;
|
||||
}
|
||||
}
|
||||
}
|
||||
return subsystemOperationTime;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user