From 3df894d20b45ebd5717b5013be5e5468709fb714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E5=96=9C=E6=97=BA?= Date: Sat, 27 Jul 2024 09:39:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=8A=82=E7=82=B9=E8=A1=A8=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AD=90=E7=B3=BB=E7=BB=9F=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TrackNodeService.cs | 12 ++++++++ .../ITrackNodeRepository.cs | 7 +++++ .../Dtos/TrackNode/TrackNodeDto.cs | 5 ++++ .../Repositories/TrackNodeRepository.cs | 29 +++++++++++++++++-- 4 files changed, 51 insertions(+), 2 deletions(-) rename src/SJZY.Track.Application/Services/{TrackNodeServices => TrackNode}/TrackNodeService.cs (92%) diff --git a/src/SJZY.Track.Application/Services/TrackNodeServices/TrackNodeService.cs b/src/SJZY.Track.Application/Services/TrackNode/TrackNodeService.cs similarity index 92% rename from src/SJZY.Track.Application/Services/TrackNodeServices/TrackNodeService.cs rename to src/SJZY.Track.Application/Services/TrackNode/TrackNodeService.cs index 7b8f3d3a..76506271 100644 --- a/src/SJZY.Track.Application/Services/TrackNodeServices/TrackNodeService.cs +++ b/src/SJZY.Track.Application/Services/TrackNode/TrackNodeService.cs @@ -54,6 +54,18 @@ namespace SJZY.Track.Application.Services.TrackNodeServices var resultDto = await _trackNodeRepository.GetPageList(queryParam); return resultDto; } + + /// + /// 获取详情 + /// + /// 节点id + /// + [HttpPost("GetDetail")] + public async Task GetDetail(int nodeid) + { + var resultDto = await _trackNodeRepository.GetDetail(nodeid); + return new UnifyResultDto(true,resultDto); + } /// /// 获取分页轨迹字典,下拉框用的 diff --git a/src/SJZY.Track.Domain/Aggregates/TrackNodeAggregate/ITrackNodeRepository.cs b/src/SJZY.Track.Domain/Aggregates/TrackNodeAggregate/ITrackNodeRepository.cs index 10d1cb70..6ab6f473 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackNodeAggregate/ITrackNodeRepository.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackNodeAggregate/ITrackNodeRepository.cs @@ -24,4 +24,11 @@ public interface ITrackNodeRepository:IBasicRepository /// /// Task DeleteById(long inputId); + + /// + /// 获取详情 + /// + /// + /// + Task GetDetail(long id); } \ No newline at end of file diff --git a/src/SJZY.Track.Domain/Dtos/TrackNode/TrackNodeDto.cs b/src/SJZY.Track.Domain/Dtos/TrackNode/TrackNodeDto.cs index 185f432f..401ec773 100644 --- a/src/SJZY.Track.Domain/Dtos/TrackNode/TrackNodeDto.cs +++ b/src/SJZY.Track.Domain/Dtos/TrackNode/TrackNodeDto.cs @@ -14,6 +14,11 @@ public class TrackNodeDto /// 子系统id /// public int SubSystemId { get; set; } + + /// + /// 系统名称 + /// + public string? SystemName { get; set; } /// /// 节点名称 diff --git a/src/SJZY.Track.Repository/Repositories/TrackNodeRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackNodeRepository.cs index be340230..9f767780 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackNodeRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackNodeRepository.cs @@ -11,10 +11,11 @@ public class TrackNodeRepository: BasicRepository,ITrackNodeRep var result = await Context.Queryable() .LeftJoin((t,u1)=>t.CreateUserId==u1.Id) .LeftJoin((t,u1,u2)=>t.UpdateUserId==u2.Id) + .LeftJoin((t,u1,u2,u3)=>t.SubSystemId==u3.Id) .Where((t,u1,u2)=>!t.IsDeleted&&!u1.IsDeleted&&!u2.IsDeleted) .WhereIF(!string.IsNullOrEmpty(queryParam.KeyWord), (t,u1,u2)=>t.NodeName!.Contains(queryParam.KeyWord)||t.NodeEnName!.Contains(queryParam.KeyWord)) .WhereIF(queryParam.SystemId.HasValue,(t,u1,u2)=>t.SubSystemId == queryParam.SystemId.Value) - .Select((t, u1, u2) =>new TrackNodeDto() + .Select((t, u1, u2,u3) =>new TrackNodeDto() { Id = t.Id, NodeName = t.NodeName, @@ -24,7 +25,8 @@ public class TrackNodeRepository: BasicRepository,ITrackNodeRep CreateTime = t.CreateTime, UpdateUserId = t.UpdateUserId, UpdateUserName = u2.Name, - CreateUserName = u1.Name + CreateUserName = u1.Name, + SystemName = u3.CnName }).ToPagedListAsync(queryParam.PageIndex, queryParam.PageSize); return result; @@ -50,4 +52,27 @@ public class TrackNodeRepository: BasicRepository,ITrackNodeRep { return Context.Deleteable().Where(val=>val.Id==inputId).ExecuteCommandAsync(); } + + public async Task GetDetail(long id) + { + var result = await Context.Queryable() + .LeftJoin((t, u1) => t.CreateUserId == u1.Id) + .LeftJoin((t, u1, u2) => t.UpdateUserId == u2.Id) + .LeftJoin((t, u1, u2, u3) => t.SubSystemId == u3.Id) + .Where((t, u1, u2) => !t.IsDeleted && !u1.IsDeleted && !u2.IsDeleted) + .Select((t, u1, u2, u3) => new TrackNodeDto() + { + Id = t.Id, + NodeName = t.NodeName, + NodeEnName = t.NodeEnName, + SubSystemId = t.SubSystemId, + UpdateTime = t.UpdateTime, + CreateTime = t.CreateTime, + UpdateUserId = t.UpdateUserId, + UpdateUserName = u2.Name, + CreateUserName = u1.Name, + SystemName = u3.CnName + }).FirstAsync(); + return result; + } } \ No newline at end of file