diff --git a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs index eaa7d010..e74dbe83 100644 --- a/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs +++ b/src/SJZY.Track.Application/Services/TrackTemplates/TrackTemplateService.cs @@ -8,6 +8,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using SJZY.Track.Domain.TrackTemplateAggregate; using Volo.Abp.DependencyInjection; using Volo.Abp.ObjectMapping; diff --git a/src/SJZY.Track.Repository/TrackTemplate/Services/TrackTemplateRepository.cs b/src/SJZY.Track.Repository/TrackTemplate/Services/TrackTemplateRepository.cs new file mode 100644 index 00000000..7a91300d --- /dev/null +++ b/src/SJZY.Track.Repository/TrackTemplate/Services/TrackTemplateRepository.cs @@ -0,0 +1,58 @@ +using SJZY.Track.Repository.TrackTemplate.Entitys; +using SJZY.Track.Repository.TrackTemplate.ValueObjects; +using SJZY.Track.Repository.VData.Entitys; + +namespace SJZY.Track.Repository.TrackTemplate.Services +{ + public class TrackTemplateRepository : BasicRepository, ITrackTemplateRepository, IScopedDependency + { + public TrackTemplateRepository() + { + } + + /// + /// 获取轨迹模版明细 + /// + /// + /// + 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 + GetTrackTemplateDetailVO + { + Id = a.Id, + Code = a.Code, + Name = a.Name, + SubSystemId = a.SubSystemId, + SubSystem=b.CnName + }).FirstAsync(); + + return detail; + } + + + /// + /// 分页获取轨迹模版 + /// + /// + /// + public async Task> GetPageTrackTemplate(GetPageTrackTemplateVO input) + { + var pagedList = await Context.Queryable().LeftJoin((a, b) => a.SubSystemId==b.Id) + .WhereIF(input.SubSystemId>0, (a, b) => a.SubSystemId==input.SubSystemId) + .WhereIF(!input.Keywords.IsNullOrWhiteSpace(), (a, b) => a.Name.Contains(input.Keywords)|| a.Code.Contains(input.Keywords)) + .Select((a, b) => new GetTrackTemplateListVO + { + Id=a.Id, + Code=a.Code, + CreateTime= a.CreateTime, + Name = a.Name, + SubSystem = b.CnName + }) + .ToPagedListAsync(input.PageIndex, input.PageSize); + return pagedList; + } + } +}