fix:修复运输时效预警收到截止轨迹时的累计运输计算错误
This commit is contained in:
parent
f3da66267f
commit
13dc04b252
@ -381,15 +381,15 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen
|
|||||||
if (detail.CalcStatus() == TransportWarningStatus.已超时.GetHashCode())
|
if (detail.CalcStatus() == TransportWarningStatus.已超时.GetHashCode())
|
||||||
detail.Status = TransportWarningStatus.超时完成.GetHashCode();
|
detail.Status = TransportWarningStatus.超时完成.GetHashCode();
|
||||||
|
|
||||||
// 维护累计运输时间(由于变更为终止态,此时为最后一次变更)
|
|
||||||
detail.CumulativeTimeSpan = detail.CalcCumulativeTimeSpan();
|
|
||||||
|
|
||||||
// 填充终止状态轨迹信息
|
// 填充终止状态轨迹信息
|
||||||
detail.EndTrackContentId = earliestTrack.TrackContentId;
|
detail.EndTrackContentId = earliestTrack.TrackContentId;
|
||||||
detail.EndTrackContent = earliestTrack.TrackContent;
|
detail.EndTrackContent = earliestTrack.TrackContent;
|
||||||
detail.EndTrackTime = earliestTrack.TrackTime;
|
detail.EndTrackTime = earliestTrack.TrackTime;
|
||||||
detail.EndTrackTimeZone = earliestTrack.TrackTimeZone;
|
detail.EndTrackTimeZone = earliestTrack.TrackTimeZone;
|
||||||
|
|
||||||
|
// 维护累计运输时间(由于变更为终止态,此时为最后一次变更)
|
||||||
|
detail.CumulativeTimeSpan = detail.CalcCumulativeTimeSpan();
|
||||||
|
|
||||||
updateDetails.Add(detail);
|
updateDetails.Add(detail);
|
||||||
closeNotifyDetailIds.Add(detail.Id);
|
closeNotifyDetailIds.Add(detail.Id);
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@ -4,6 +4,7 @@ using Nest;
|
|||||||
using SJZY.Expand.ElasticSearch;
|
using SJZY.Expand.ElasticSearch;
|
||||||
using SJZY.Track.Domain.Aggregates.KPIAreaAggregate;
|
using SJZY.Track.Domain.Aggregates.KPIAreaAggregate;
|
||||||
using SJZY.Track.Domain.Consts;
|
using SJZY.Track.Domain.Consts;
|
||||||
|
using SJZY.Track.Domain.Enums;
|
||||||
|
|
||||||
namespace SJZY.Track.Domain.Aggregates.WarningAggregate.Transport;
|
namespace SJZY.Track.Domain.Aggregates.WarningAggregate.Transport;
|
||||||
|
|
||||||
@ -76,6 +77,11 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex
|
|||||||
|
|
||||||
public long CalcCumulativeTimeSpan()
|
public long CalcCumulativeTimeSpan()
|
||||||
{
|
{
|
||||||
|
// 已完成/超时完成,截止轨迹时间 - 起始轨迹时间
|
||||||
|
if (Status is (int) TransportWarningStatus.已完成 or (int) TransportWarningStatus.超时完成)
|
||||||
|
return (long)EndTrackTime!.Value.Subtract(StartTrackTime).TotalMilliseconds;
|
||||||
|
|
||||||
|
// 已关闭,当前时间 - 起始轨迹时间
|
||||||
return (long)DateTime.Now.Subtract(StartTrackTime).TotalMilliseconds;
|
return (long)DateTime.Now.Subtract(StartTrackTime).TotalMilliseconds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user