diff --git a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs index e89dad64..58a73efa 100644 --- a/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs +++ b/src/SJZY.Track.Application/Services/Warning/Handlers/TransportWarningHandler.cs @@ -376,10 +376,10 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen var earliestTrack = trackStatusIdEarliestTrackDict[detail.EndTrackStatusId]; // 修改为完成态 - if (detail.Status == TransportWarningStatus.即将超时.GetHashCode()) - detail.Status = TransportWarningStatus.已完成.GetHashCode(); if (detail.CalcStatus() == TransportWarningStatus.已超时.GetHashCode()) detail.Status = TransportWarningStatus.超时完成.GetHashCode(); + if (detail.Status == TransportWarningStatus.即将超时.GetHashCode()) + detail.Status = TransportWarningStatus.已完成.GetHashCode(); // 填充终止状态轨迹信息 detail.EndTrackContentId = earliestTrack.TrackContentId; @@ -834,7 +834,8 @@ public class TransportWarningHandler : ITransportWarningHandler, ITransientDepen { var key = group.Key; var ruleItem = updateRuleItemIdDict[key.RuleItemId]; - var orderTracks = orderTrackStatusIdsDict[key.OrderId]; + var orderTracks = orderTrackStatusIdsDict.GetValueOrDefault(key.OrderId); + if (orderTracks == null) continue; // tips:该订单不存在任何轨迹 var orderStatusIds = orderTracks .Select(x => x.TrackStatusId) .ToHashSet(); diff --git a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs index 38d221c6..adb66af4 100644 --- a/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/WarningAggregate/Transport/TransportWarningDetailsIndex.cs @@ -100,11 +100,11 @@ public sealed class TransportWarningDetailsIndex : IdBaseIndex //时效>累计运输时间>=预警时效 状态调整为【即将超时】 if (transportTimeSpan > cumulativeTimeSpan && cumulativeTimeSpan >= startTrackWarningTimeSpan) - return Status = 1; + return Status = (int) TransportWarningStatus.即将超时; //时效<累计运输时间 状态调整为【已超时】 if (transportTimeSpan < cumulativeTimeSpan) - return Status = 2; + return Status = (int) TransportWarningStatus.已超时; return Status; }