diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 2d856921..75806f9e 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -205,13 +205,18 @@ public class TrackOrderService : ApplicationService if (system.SystemProperty == 2 && !item.IsVisibility) continue; + //时间和时区任意一个为空则使用创建时间做为排序参照值 + var timeTick = ToUnixTimestamp((item.TrackTime == null + || Math.Abs(item.TrackTimeZone - GlobalConst.NoneTrackTimeZone) < 1) + ? item.CreateTime + : item.TrackTime); res.Data.Add(new GetDetailTimelineOutput() { IsHighlight = true, IsShowHover = true, Remark = item.Remarks == null || item.Remarks == "--" ? "" : item.Remarks, TrackTimeZone = $"GMT{(item.TrackTimeZone >= 0 ? "+" : "-")}{GetTimeZoneStr(item.TrackTimeZone)}", - TrackTime = ToUnixTimestamp(item.TrackTime), + TrackTime = timeTick, TrackPlace = item.TrackPlace, EnContent = item.TrackEnContent, Files = item.Files == null @@ -231,7 +236,7 @@ public class TrackOrderService : ApplicationService } // 按轨迹发生时间正序排序 - res.Data = res.Data?.OrderBy(m => m.TrackTime).ToList(); + res.Data = res.Data.OrderBy(m => m.TrackTime).ToList(); if (!order.IsCompleted) //如果没完结则显示签收节点 {