diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs index 3992554f..baaeb7bb 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/BatchUpsertTrackInput.cs @@ -29,6 +29,11 @@ public class BatchUpsertTrackInput : OrderNosInfo [Required] public DateTime TrackTime { get; set; } + /// + /// 更改后的轨迹发生时间,无需更改保持为空 + /// + public DateTime? NewTrackTime { get; set; } + /// /// 轨迹发生时区 /// diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs index 309d652e..b4cf72ae 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/UpsertTrackInput.cs @@ -29,6 +29,11 @@ public class UpsertTrackInput : OrderNoInfo [Required] public DateTime? TrackTime { get; set; } + /// + /// 更改后的轨迹发生时间,无需更改保持为空 + /// + public DateTime? NewTrackTime { get; set; } + /// /// 轨迹发生时区 /// diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/GetAvailableContentInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/GetAvailableContentInput.cs index fb6aa163..47425b3c 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/GetAvailableContentInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/GetAvailableContentInput.cs @@ -13,7 +13,7 @@ public class GetAvailableContentInput public string? OrderNo { get; set; } /// - /// 操作类型 1=创建 2=修改 + /// 操作类型 1=创建 2=修改 3=删除 /// public TrackOptionType TrackOptionType { get; set; } } @@ -21,5 +21,6 @@ public class GetAvailableContentInput public enum TrackOptionType { 创建 = 1, - 修改 = 2 + 修改 = 2, + 删除 = 3 } diff --git a/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs b/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs index 483c929b..4102df32 100644 --- a/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs +++ b/src/SJZY.Track.Application.Contract/Events/TrackUpsertEvent.cs @@ -49,6 +49,11 @@ public class TrackUpsertEvent /// public DateTime TrackTime { get; set; } + /// + /// 更改后的轨迹发生时间,无需更改保持为空 + /// + public DateTime? NewTrackTime { get; set; } + /// /// 轨迹发生时区 /// diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs index 30feeffa..58b1cd4f 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs @@ -347,7 +347,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe OrderType = order.OrderType, TrackCode = @event.TrackCode, TrackPlace = @event.TrackPlace, - TrackTime = @event.TrackTime, + TrackTime = @event.NewTrackTime ?? @event.TrackTime, TrackTimeZone = @event.TrackTimeZone, ServiceProviderCode = @event.TrackRefreshData.ServiceProviderCode ?? GlobalConst.EmptyString, OriginTrackContent = @event.TrackRefreshData.OriginTrackContent ?? GlobalConst.EmptyString, @@ -357,8 +357,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe //来源轨迹内容,第一次新增的时候使用轨迹内容表提供的 TrackStatus = trackContent.TrackStatus, TrackStatusCode = trackContent.TrackStatusCode, - TrackContent = @event.Content?? trackContent.TrackContent, - TrackEnContent = @event.EnStatus?? trackContent.TrackEnContent, + TrackContent = @event.Content ?? trackContent.TrackContent, + TrackEnContent = @event.EnStatus ?? trackContent.TrackEnContent, //S06新增轨迹明细字段 IsVisibility = @event.IsVisibility, Source = @event.Source, @@ -399,7 +399,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe else { track.TrackPlace = @event.TrackPlace; - track.TrackTime = @event.TrackTime; + track.TrackTime = @event.NewTrackTime ?? @event.TrackTime; track.TrackTimeZone = @event.TrackTimeZone; track.ZeroTrackTime = Math.Abs(track.TrackTimeZone - GlobalConst.NoneTrackTimeZone) < 1 ? track.TrackTime diff --git a/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs b/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs index 8cb91e48..bdc6edab 100644 --- a/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs +++ b/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs @@ -269,6 +269,12 @@ public class TrackContentService : ApplicationService if (!item.IsAllowManuallyUpdate && input.TrackOptionType == TrackOptionType.修改) //跳过不允许手动创建的轨迹内容 continue; + if (!item.IsRepeatable && input.TrackOptionType == TrackOptionType.删除) //删除操作中跳过不重复的轨迹内容 + continue; + + if (!item.IsAllowManuallyCreate && input.TrackOptionType == TrackOptionType.删除) //删除操作中跳过不允许手动创建的轨迹内容 + continue; + res.Data.Add(new GetAvailableContentOutput() { IsExternal = item.IsExternal,