diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs
index 94ed8b56..8b1aca31 100644
--- a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs
+++ b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs
@@ -119,4 +119,19 @@ public class GetTrackContentDetailDto
/// 是否对外
///
public bool IsExternal { get; set; }
+
+ ///
+ /// 是否可重复
+ ///
+ public bool IsRepeatable { get; set; }
+
+ ///
+ /// 是否允许手动修改
+ ///
+ public bool IsAllowManuallyUpdate { get; set; }
+
+ ///
+ /// 是否允许手动创建
+ ///
+ public bool IsAllowManuallyCreate { get; set; }
}
diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs
index ef68e72f..a5035d63 100644
--- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs
+++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs
@@ -282,6 +282,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
CreateTime = DateTime.Now,
//来源轨迹内容,第一次新增的时候使用轨迹内容表提供的
TrackStatus = trackContent.TrackStatus,
+ TrackStatusCode = trackContent.TrackStatusCode,
TrackContent = trackContent.TrackContent,
TrackEnContent = trackContent.TrackEnContent,
//新增轨迹明细字段
diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs
index 4d0aea12..41ccf841 100644
--- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs
+++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs
@@ -199,12 +199,13 @@ public class TrackOrderService : ApplicationService
var trackDetails = await _trackDetailsEsRepository.GetListAsync(order.Id);
res.Data = new List();
var isCompleted = false;
- foreach (var item in trackDetails.OrderBy(m => m.CreateTime).ToList())
+ foreach (var item in trackDetails)
{
- var currentTrackStatus = trackStatus.FirstOrDefault(m => m.Code == item.TrackStatus);
+ var currentTrackStatus = trackStatus.FirstOrDefault(m => m.Code == item.TrackStatusCode);
//是否完结
- isCompleted = currentTrackStatus?.IsCompleted == true;
+ if (!isCompleted)
+ isCompleted = currentTrackStatus is { IsCompleted: true };
//如果是内部系统,且轨迹内容不对外则跳过这条轨迹内容
if (system.SystemProperty == 1 && item.IsVisibility)
@@ -219,7 +220,7 @@ public class TrackOrderService : ApplicationService
TrackTime = ToUnixTimestamp(item.TrackTime),
TrackPlace = item.TrackPlace,
EnContent = item.TrackEnContent,
- Files = item.Files?.Any() == true
+ Files = item.Files == null
? new List()
: item.Files!.Select(m => new TrackFileItem()
{
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs
index 99ea5e25..887ac5f9 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs
@@ -37,6 +37,11 @@ public class TrackDetailsIndex : IdBaseIndex
///
public string TrackStatus { get; set; } = GlobalConst.EmptyString;
+ ///
+ /// 轨迹状态code
+ ///
+ public string TrackStatusCode { get; set; } = GlobalConst.EmptyString;
+
///
/// 轨迹内容代码
///
diff --git a/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs b/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs
index 2d1d8426..fe5b29d2 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs
@@ -56,4 +56,18 @@ public class GetTrackContentDetailVO
/// 是否对外
///
public bool IsExternal { get; set; }
+ ///
+ /// 是否可重复
+ ///
+ public bool IsRepeatable { get; set; }
+
+ ///
+ /// 是否允许手动修改
+ ///
+ public bool IsAllowManuallyUpdate { get; set; }
+
+ ///
+ /// 是否允许手动创建
+ ///
+ public bool IsAllowManuallyCreate { get; set; }
}
diff --git a/src/SJZY.Track.Domain/Dtos/TrackContents/TrackContentVO.cs b/src/SJZY.Track.Domain/Dtos/TrackContents/TrackContentVO.cs
index 374fa387..b0a98b0e 100644
--- a/src/SJZY.Track.Domain/Dtos/TrackContents/TrackContentVO.cs
+++ b/src/SJZY.Track.Domain/Dtos/TrackContents/TrackContentVO.cs
@@ -31,4 +31,9 @@ public class TrackContentVO
/// 是否完成态
///
public bool IsCompleted { get; set; }
+
+ ///
+ /// 轨迹状态代码
+ ///
+ public string TrackStatusCode { get; set; }
}
diff --git a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs
index 91550425..c91ba95d 100644
--- a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs
+++ b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs
@@ -87,6 +87,7 @@ public class ProvideQueries : ISugarRepository, IProvideQueries, ITransientDepen
SubSystemCode = z.Key,
TrackStatusId = x.TrackStatusId,
TrackStatus = y.Status,
+ TrackStatusCode = y.Code,
TrackContent = x.Content,
TrackEnContent = x.EnContent,
IsCompleted = y.IsCompleted,
diff --git a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs
index a4fe71cd..0cb9d205 100644
--- a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs
+++ b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs
@@ -33,6 +33,9 @@ public class TrackContentRepository : BasicRepository, ITrac
EnContent = a.EnContent,
TrackFlagId = a.TrackFlagId,
IsExternal = a.IsExternal,
+ IsRepeatable = a.IsRepeatable,
+ IsAllowManuallyUpdate = a.IsAllowManuallyUpdate,
+ IsAllowManuallyCreate = a.IsAllowManuallyCreate
})
.Mapper(x => { x.TrackFlagIds = x.TrackFlagId?.Split(',').Select(int.Parse).ToList(); })
.FirstAsync();