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