diff --git a/src/SJZY.Track.Application/Dtos/TrackContents/EditTrackContentInput.cs b/src/SJZY.Track.Application/Dtos/TrackContents/EditTrackContentInput.cs
index 87cc3632..23294dfe 100644
--- a/src/SJZY.Track.Application/Dtos/TrackContents/EditTrackContentInput.cs
+++ b/src/SJZY.Track.Application/Dtos/TrackContents/EditTrackContentInput.cs
@@ -11,22 +11,70 @@ namespace SJZY.Track.Application.Dtos.TrackContents
///
/// Id
///
- public int Id { get; set; }
+ public int Id { get; set; }
///
/// 操作类型
///
- public OptionType Options { get; set; }
+ public OptionType Options { get; set; }
///
/// 子系统id
///
- public int SubSystemId { get; set; }
+ public int SubSystemId { get; set; }
///
/// 所属轨迹状态id
///
- public int TrackStatusId { get; set; }
+ public int TrackStatusId { get; set; }
+
+ ///
+ /// 轨迹内容代码
+ ///
+ public string Code { get; set; }
+
+ ///
+ /// 轨迹内容
+ ///
+ public string Content { get; set; }
+
+ ///
+ /// 轨迹内容英文
+ ///
+ public string EnContent { get; set; }
+
+ ///
+ /// 轨迹标记id
+ ///
+ public int TrackFlagId { get; set; }
+ }
+
+ public class GetTrackContentDetailDto
+ {
+ ///
+ /// Id
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 子系统
+ ///
+ public string SubSystem { get; set; }
+
+ ///
+ /// 所属轨迹状态id
+ ///
+ public int TrackStatusId { get; set; }
+
+ ///
+ /// 所属轨迹状态
+ ///
+ public string TrackStatus { get; set; }
///
/// 轨迹内容代码
@@ -41,11 +89,17 @@ namespace SJZY.Track.Application.Dtos.TrackContents
///
/// 轨迹内容英文
///
- public string EnContent { get; set; }
+ public string EnContent { get; set; }
///
/// 轨迹标记id
///
public int TrackFlagId { get; set; }
+
+ ///
+ /// 轨迹标记
+ ///
+ public string TrackFlag { get; set; }
}
}
+
diff --git a/src/SJZY.Track.Application/Dtos/TrackContents/GetPageTrackContentInput.cs b/src/SJZY.Track.Application/Dtos/TrackContents/GetPageTrackContentInput.cs
new file mode 100644
index 00000000..a494d030
--- /dev/null
+++ b/src/SJZY.Track.Application/Dtos/TrackContents/GetPageTrackContentInput.cs
@@ -0,0 +1,84 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SJZY.Track.Application.Dtos.TrackContents
+{
+ public class GetPageTrackContentInput : PageInfoInput
+ {
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 关键字
+ ///
+ public string Keywords { get; set; }
+ }
+
+ public class GetTrackContentListDto
+ {
+ ///
+ /// Id
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 子系统
+ ///
+ public string SubSystem { get; set; }
+
+ ///
+ /// 轨迹内容代码
+ ///
+ public string Code { get; set; }
+
+ ///
+ /// 轨迹内容
+ ///
+ public string Content { get; set; }
+
+ ///
+ /// 轨迹内容英文
+ ///
+ public string EnContent { get; set; }
+
+ ///
+ /// 所属状态
+ ///
+ public string TrackStatus { get; set; }
+
+ ///
+ /// 所属节点
+ ///
+ public string Node { get; set; }
+
+ ///
+ /// 轨迹标记
+ ///
+ public string TrackFlag { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 创建人
+ ///
+ public string CreateUser { get; set; }
+
+ ///
+ /// 修改时间
+ ///
+ public DateTime? UpdateTime { get; set; }
+
+ ///
+ /// 修改人
+ ///
+ public string UpdateUser { get; set; }
+ }
+}
diff --git a/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs b/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs
index dc5c40c2..fb7bacb5 100644
--- a/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs
+++ b/src/SJZY.Track.Application/Services/TrackContents/TrackContentService.cs
@@ -1,6 +1,8 @@
using SJZY.Track.Application.Dtos.TrackContents;
using SJZY.Track.Application.Dtos.TrackStatus;
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
+using SJZY.Track.Domain.Dtos.TrackContents;
+using SJZY.Track.Domain.Dtos.TrackStatus;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -42,6 +44,41 @@ namespace SJZY.Track.Application.Services.TrackContents
};
}
+ ///
+ /// 根据内容id获取轨迹内容
+ ///
+ ///
+ ///
+ [HttpGet("GetDetail")]
+ public async Task> GetDetailAsync(int id)
+ {
+ var detailInfo = await _trackContentRepository.GetDetailAsync(id);
+ if (detailInfo == null)
+ {
+ return new UnifyResultDto(false, null, "未查询到轨迹状态");
+ }
+
+ var dto = ObjectMapper.Map(detailInfo);
+ return new UnifyResultDto("200", "", dto);
+ }
+
+ ///
+ /// 获取分页轨迹内容
+ ///
+ ///
+ ///
+ [HttpPost("GetList")]
+ public async Task> GetPageTrackContent(GetPageTrackContentInput input)
+ {
+ var vo = ObjectMapper.Map(input);
+ var resultDto = await _trackContentRepository.GetPageTrackContent(vo);
+ var pageResultDto =
+ ObjectMapper.Map, UnifyPageResultDto>(
+ resultDto);
+
+ return pageResultDto;
+ }
+
#region 私有方法
private async Task AddAsync(EditTrackContentInput input)
{
diff --git a/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs
index b343163b..fbd0e412 100644
--- a/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs
+++ b/src/SJZY.Track.Domain/Aggregates/TrackContentAggregate/ITrackContentRepository.cs
@@ -1,5 +1,10 @@
-namespace SJZY.Track.Domain.Aggregates.TrackContentAggregate;
+using SJZY.Track.Domain.Dtos.TrackContents;
+using SJZY.Track.Domain.Dtos.TrackStatus;
+
+namespace SJZY.Track.Domain.Aggregates.TrackContentAggregate;
public interface ITrackContentRepository : IBasicRepository
{
+ Task GetDetailAsync(int id);
+ Task> GetPageTrackContent(GetPageTrackContentVO input);
}
\ No newline at end of file
diff --git a/src/SJZY.Track.Domain/Dtos/TrackContents/GetPageTrackContentVO.cs b/src/SJZY.Track.Domain/Dtos/TrackContents/GetPageTrackContentVO.cs
new file mode 100644
index 00000000..f093836d
--- /dev/null
+++ b/src/SJZY.Track.Domain/Dtos/TrackContents/GetPageTrackContentVO.cs
@@ -0,0 +1,84 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SJZY.Track.Domain.Dtos.TrackContents
+{
+ public class GetPageTrackContentVO : PageInfoInput
+ {
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 关键字
+ ///
+ public string Keywords { get; set; }
+ }
+
+ public class GetTrackContentListVO
+ {
+ ///
+ /// Id
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 子系统
+ ///
+ public string SubSystem { get; set; }
+
+ ///
+ /// 轨迹内容代码
+ ///
+ public string Code { get; set; }
+
+ ///
+ /// 轨迹内容
+ ///
+ public string Content { get; set; }
+
+ ///
+ /// 轨迹内容英文
+ ///
+ public string EnContent { get; set; }
+
+ ///
+ /// 所属状态
+ ///
+ public string TrackStatus { get; set; }
+
+ ///
+ /// 所属节点
+ ///
+ public string Node { get; set; }
+
+ ///
+ /// 轨迹标记
+ ///
+ public string TrackFlag { get; set; }
+
+ ///
+ /// 创建时间
+ ///
+ public DateTime? CreateTime { get; set; }
+
+ ///
+ /// 创建人
+ ///
+ public string CreateUser { get; set; }
+
+ ///
+ /// 修改时间
+ ///
+ public DateTime? UpdateTime { get; set; }
+
+ ///
+ /// 修改人
+ ///
+ public string UpdateUser { get; set; }
+ }
+}
diff --git a/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs b/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs
new file mode 100644
index 00000000..b58df450
--- /dev/null
+++ b/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs
@@ -0,0 +1,61 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace SJZY.Track.Domain.Dtos.TrackContents
+{
+ public class GetTrackContentDetailVO
+ {
+ ///
+ /// Id
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 子系统id
+ ///
+ public int SubSystemId { get; set; }
+
+ ///
+ /// 子系统
+ ///
+ public string SubSystem { get; set; }
+
+ ///
+ /// 所属轨迹状态id
+ ///
+ public int TrackStatusId { get; set; }
+
+ ///
+ /// 所属轨迹状态
+ ///
+ public string TrackStatus { get; set; }
+
+ ///
+ /// 轨迹内容代码
+ ///
+ public string Code { get; set; }
+
+ ///
+ /// 轨迹内容
+ ///
+ public string Content { get; set; }
+
+ ///
+ /// 轨迹内容英文
+ ///
+ public string EnContent { get; set; }
+
+ ///
+ /// 轨迹标记id
+ ///
+ public int TrackFlagId { get; set; }
+
+ ///
+ /// 轨迹标记
+ ///
+ public string TrackFlag { get; set; }
+ }
+}
diff --git a/src/SJZY.Track.Repository/TrackContentRepository.cs b/src/SJZY.Track.Repository/TrackContentRepository.cs
index 075b925a..1671ac80 100644
--- a/src/SJZY.Track.Repository/TrackContentRepository.cs
+++ b/src/SJZY.Track.Repository/TrackContentRepository.cs
@@ -1,4 +1,8 @@
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
+using SJZY.Track.Domain.Aggregates.TrackStatusAggregate;
+using SJZY.Track.Domain.Dtos.TrackContents;
+using SJZY.Track.Domain.Dtos.TrackStatus;
+using SJZY.Track.Domain.VEntities;
namespace SJZY.Track.Repository;
@@ -10,5 +14,67 @@ public class TrackContentRepository : BasicRepository, ITrac
}
+ ///
+ /// 获取轨迹内容明细
+ ///
+ ///
+ ///
+ public async Task GetDetailAsync(int id)
+ {
+ var detail = await Context.Queryable()
+ .LeftJoin((a, b) => a.SubSystemId == b.Id)
+ .Where((a, b) => a.Id == id)
+ .Select((a, b) => new GetTrackContentDetailVO
+ {
+ Id = a.Id,
+ SubSystemId = a.SubSystemId,
+ SubSystem = b.CnName,
+ TrackStatusId=a.TrackStatusId,
+ TrackStatus= "",
+ Code = a.Code,
+ Content = a.Content,
+ EnContent = a.EnContent,
+ TrackFlagId=a.TrackFlagId,
+ TrackFlag=""
+ })
+ .FirstAsync();
+ return detail;
+ }
+ ///
+ /// 分页获取轨迹内容
+ ///
+ ///
+ ///
+ public async Task> GetPageTrackContent(GetPageTrackContentVO input)
+ {
+ UnifyPageResultDto pagedList = new UnifyPageResultDto();
+ pagedList = await Context.Queryable()
+ .LeftJoin((a, b) => a.SubSystemId == b.Id)
+ .LeftJoin((a, b, c) => a.CreateUserId == c.Id)
+ .LeftJoin((a, b, c, d) => a.UpdateUserId == d.Id)
+ .WhereIF(input.SubSystemId > 0, (a, b, c, d) => a.SubSystemId == input.SubSystemId)
+ .WhereIF(!input.Keywords.IsNullOrWhiteSpace(),
+ (a, b, c, d) => a.Code.Contains(input.Keywords)
+ )
+ .Select((a, b, c, d) => new GetTrackContentListVO
+ {
+ Id = a.Id,
+ SubSystem = b.CnName,
+ Code = a.Code,
+ Content = a.Content,
+ EnContent = a.EnContent,
+ TrackStatus= "",
+ Node = "",
+ TrackFlag= "",
+ CreateTime = a.CreateTime,
+ CreateUser = c.Name,
+ UpdateTime = a.UpdateTime,
+ UpdateUser = d.Name,
+
+ })
+ .ToPagedListAsync(input.PageIndex, input.PageSize);
+
+ return pagedList;
+ }
}
\ No newline at end of file