diff --git a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs index e8e68021..e89dad64 100644 --- a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs +++ b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs @@ -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; diff --git a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs index bd8f35ee..38d221c6 100644 --- a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs @@ -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; } @@ -133,7 +139,7 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex // 规则配置信息 res.Append($",生成预警时间{ruleItem.StartTrackWarningTimeSpan}小时" + - $",时效{ruleItem.TransportTimeSpan}}}小时"); + $",时效{ruleItem.TransportTimeSpan}小时}}"); return res.ToString(); }