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,
diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs
index f57dc80c..18df3b65 100644
--- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs
+++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs
@@ -194,20 +194,13 @@ public class TrackOrderService : ApplicationService
if (system == null)
return new UnifyResultDto>(false, "未找到指定id的子系统");
- var trackContent = await _trackContentRepository.GetListAsync(m => m.SubSystemId == input.SystemId);
- if (trackContent == null)
- return new UnifyResultDto>(false, "未找到子系统下的任何轨迹内容");
-
var trackDetails = await _trackDetailsEsRepository.GetListAsync(order.Id);
res.Data = new List();
foreach (var item in trackDetails)
{
- var currentTrackContet = trackContent.FirstOrDefault(m => m.Code == item.TrackCode);
-
-
//如果是外部系统,且轨迹内容不对外则跳过这条轨迹内容
- if (system.SystemProperty == 2 && currentTrackContet != null && !currentTrackContet.IsExternal)
+ if (system.SystemProperty == 2 && !item.IsVisibility)
continue;
res.Data.Add(new GetDetailTimelineOutput()