轨迹模版查询添加模版id查询

This commit is contained in:
moyongzhen 2024-02-27 20:26:54 +08:00
parent 0a3a9b1822
commit 393c6a8e54
4 changed files with 65 additions and 12 deletions

View File

@ -14,5 +14,10 @@
/// 关键字 /// 关键字
/// </summary> /// </summary>
public string Keywords { get; set; } public string Keywords { get; set; }
/// <summary>
/// 轨迹模版id,轨迹映射的查询使用
/// </summary>
public int TrackTemplateId { get; set; }
} }
} }

View File

@ -17,6 +17,7 @@
<Folder Include="TrackPullAggregate\Dtos\" /> <Folder Include="TrackPullAggregate\Dtos\" />
<Folder Include="TrackPushAggregate\Dtos\" /> <Folder Include="TrackPushAggregate\Dtos\" />
<Folder Include="TrackStatusAggregate\Dtos\" /> <Folder Include="TrackStatusAggregate\Dtos\" />
<Folder Include="TrackStatusAggregate\Dtos\" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -11,4 +11,14 @@ public class GetPageTrackTemplateVO : PageInfoInput
/// 关键字 /// 关键字
/// </summary> /// </summary>
public string Keywords { get; set; } public string Keywords { get; set; }
///// <summary>
///// 是否置顶
///// </summary>
//public bool IsTop { get; set; }=false;
/// <summary>
/// 轨迹模版id
/// </summary>
public int TrackTemplateId { get; set; }
} }

View File

@ -1,4 +1,5 @@
using SJZY.Expand.ABP.Core.PublicMethords; using SJZY.Expand.ABP.Core.Common.Dto;
using SJZY.Expand.ABP.Core.PublicMethords;
using SJZY.Track.Domain.TrackContentAggregate; using SJZY.Track.Domain.TrackContentAggregate;
using SJZY.Track.Domain.TrackFlagAggregate; using SJZY.Track.Domain.TrackFlagAggregate;
using SJZY.Track.Domain.TrackStatusAggregate; using SJZY.Track.Domain.TrackStatusAggregate;
@ -45,18 +46,54 @@ public class TrackTemplateRepository : BasicRepository<TrackTemplateEntity>, ITr
/// <returns></returns> /// <returns></returns>
public async Task<UnifyPageResultDto<GetTrackTemplateListVO>> GetPageTrackTemplate(GetPageTrackTemplateVO input) public async Task<UnifyPageResultDto<GetTrackTemplateListVO>> GetPageTrackTemplate(GetPageTrackTemplateVO input)
{ {
var pagedList = await Context.Queryable<TrackTemplateEntity>().LeftJoin<VSystemEntity>((a, b) => a.SubSystemId == b.Id) UnifyPageResultDto<GetTrackTemplateListVO> pagedList = new UnifyPageResultDto<GetTrackTemplateListVO>();
.WhereIF(input.SubSystemId > 0, (a, b) => a.SubSystemId == input.SubSystemId) pagedList = await Context.Queryable<TrackTemplateEntity>().LeftJoin<VSystemEntity>((a, b) => a.SubSystemId == b.Id)
.WhereIF(!input.Keywords.IsNullOrWhiteSpace(), (a, b) => a.Name.Contains(input.Keywords) || a.Code.Contains(input.Keywords)) .WhereIF(input.SubSystemId > 0, (a, b) => a.SubSystemId == input.SubSystemId)
.Select((a, b) => new GetTrackTemplateListVO .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);
//如果轨迹模版id传值了,就置顶在第一条
if (input.TrackTemplateId>0&& (!pagedList.List.IsNullOrEmpty()))
{
if (input.PageIndex==1)
{ {
Id = a.Id, bool existCurrent = pagedList.List.Any(x => x.Id==input.TrackTemplateId);
Code = a.Code, if (existCurrent)
CreateTime = a.CreateTime, {
Name = a.Name, var item = pagedList.List.FirstOrDefault(x => x.Id==input.TrackTemplateId);
SubSystem = b.CnName pagedList.List.Remove(item);
}) pagedList.List.Insert(0, item);
.ToPagedListAsync(input.PageIndex, input.PageSize); }
else
{
var item = await Context.Queryable<TrackTemplateEntity>().LeftJoin<VSystemEntity>((a, b) => a.SubSystemId == b.Id)
.Where((a, b) => a.Id==input.TrackTemplateId)
.Select((a, b) => new GetTrackTemplateListVO
{
Id = a.Id,
Code = a.Code,
CreateTime = a.CreateTime,
Name = a.Name,
SubSystem = b.CnName
})
.FirstAsync();
if (item!=null)
{
var removeItem = pagedList.List.LastOrDefault();
pagedList.List.Remove(removeItem);
pagedList.List.Insert(0, item);
}
}
}
}
return pagedList; return pagedList;
} }