轨迹模版查询添加模版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>
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="TrackPushAggregate\Dtos\" />
<Folder Include="TrackStatusAggregate\Dtos\" />
<Folder Include="TrackStatusAggregate\Dtos\" />
</ItemGroup>
</Project>

View File

@ -11,4 +11,14 @@ public class GetPageTrackTemplateVO : PageInfoInput
/// 关键字
/// </summary>
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.TrackFlagAggregate;
using SJZY.Track.Domain.TrackStatusAggregate;
@ -45,18 +46,54 @@ public class TrackTemplateRepository : BasicRepository<TrackTemplateEntity>, ITr
/// <returns></returns>
public async Task<UnifyPageResultDto<GetTrackTemplateListVO>> GetPageTrackTemplate(GetPageTrackTemplateVO input)
{
var pagedList = await Context.Queryable<TrackTemplateEntity>().LeftJoin<VSystemEntity>((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
UnifyPageResultDto<GetTrackTemplateListVO> pagedList = new UnifyPageResultDto<GetTrackTemplateListVO>();
pagedList = await Context.Queryable<TrackTemplateEntity>().LeftJoin<VSystemEntity>((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);
//如果轨迹模版id传值了,就置顶在第一条
if (input.TrackTemplateId>0&& (!pagedList.List.IsNullOrEmpty()))
{
if (input.PageIndex==1)
{
Id = a.Id,
Code = a.Code,
CreateTime = a.CreateTime,
Name = a.Name,
SubSystem = b.CnName
})
.ToPagedListAsync(input.PageIndex, input.PageSize);
bool existCurrent = pagedList.List.Any(x => x.Id==input.TrackTemplateId);
if (existCurrent)
{
var item = pagedList.List.FirstOrDefault(x => x.Id==input.TrackTemplateId);
pagedList.List.Remove(item);
pagedList.List.Insert(0, item);
}
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;
}