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