查询修改
continuous-integration/drone/push Build is passing Details

Test_IRC_Net8
he 2025-04-01 15:09:47 +08:00
parent 977adf3153
commit 12c8c641ea
2 changed files with 60 additions and 24 deletions

View File

@ -26,20 +26,20 @@ public class AuditDocumentService(IRepository<AuditDocument> _auditDocumentRepos
IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer): BaseService
{
/// <summary>
/// 获取稽查文档
/// </summary>
/// <param name="inQuery"></param>
/// <returns></returns>
[HttpPost]
public async Task<PageOutput<AuditDocumentView>> GetAuditDocumentList(AuditDocumentQuery inQuery)
{
var auditDocumentQueryable =_auditDocumentRepository
.ProjectTo<AuditDocumentView>(_mapper.ConfigurationProvider);
var pageList= await auditDocumentQueryable.ToPagedListAsync(inQuery);
///// <summary>
///// 获取稽查文档
///// </summary>
///// <param name="inQuery"></param>
///// <returns></returns>
//[HttpPost]
//public async Task<PageOutput<AuditDocumentView>> GetAuditDocumentList(AuditDocumentQuery inQuery)
//{
// var auditDocumentQueryable =_auditDocumentRepository
// .ProjectTo<AuditDocumentView>(_mapper.ConfigurationProvider);
// var pageList= await auditDocumentQueryable.ToPagedListAsync(inQuery);
return pageList;
}
// return pageList;
//}
/// <summary>
/// 修改稽查文档
@ -190,26 +190,60 @@ public class AuditDocumentService(IRepository<AuditDocument> _auditDocumentRepos
/// <param name="inDto"></param>
/// <returns></returns>
[HttpPost]
public async Task<GetAuditDocumentDataOutDto> GetAuditDocumentData(GetAuditDocumentDataInDto inDto)
public async Task<PageOutput<AuditDocumentData>> GetAuditDocumentData(GetAuditDocumentDataInDto inDto)
{
var data= await _auditDocumentRepository
.Where(x=>x.AuditDocumentTypeEnum!=AuditDocumentType.HistoricalVersion)
.WhereIf(inDto.IsAuthorization!=null,x=>x.IsAuthorization==inDto.IsAuthorization).ProjectTo<AuditDocumentData>(_mapper.ConfigurationProvider).ToListAsync();
var root= data
.WhereIf(inDto.Ids != null, x => inDto.Ids.Contains(x.Id.Value))
.WhereIf(inDto.Ids == null,x=>x.ParentId==null).ToList();
if (inDto.Name.IsNotNullOrEmpty())
{
List<Guid> findIds = new List<Guid>();
var findData = data.Where(x => x.Name.Contains(inDto.Name)).Select(x => x.Id.Value).ToList();
GetParentId(findIds, findData, data);
findIds.AddRange(findData);
foreach (var item in root)
data = data.Where(x => findIds.Contains(x.Id.Value)).ToList();
}
var query = data
.WhereIf(inDto.Id != null, x => inDto.Id == x.ParentId)
.WhereIf(inDto.Id == null, x => x.ParentId == null);
PageOutput<AuditDocumentData> result = new PageOutput<AuditDocumentData>()
{
PageIndex = inDto.PageIndex,
PageSize = inDto.PageSize,
TotalCount = query.Count(),
};
var root = query
.OrderBy(x => x.Name)
.Skip(inDto.PageSize * (inDto.PageIndex - 1)).Take(inDto.PageSize).ToList();
foreach (var item in root)
{
GetChildren(item, data);
}
result.CurrentPageData = root;
return result;
return new GetAuditDocumentDataOutDto()
{
Data = root
};
}
public void GetParentId(List<Guid> parentIds, List<Guid> ids, List<AuditDocumentData> dataList)
{
var parentid = dataList.Where(x => ids.Contains(x.Id.Value) && x.ParentId != null).Select(x => x.ParentId.Value).ToList();
parentIds.AddRange(parentid);
GetParentId(parentIds, parentid, dataList);
}
private void GetChildren(AuditDocumentData item, List<AuditDocumentData> dataList)

View File

@ -24,11 +24,13 @@ public class DeleteAuditDocumentInDto
public List<Guid> Ids { get; set; }
}
public class GetAuditDocumentDataInDto
public class GetAuditDocumentDataInDto:PageInput
{
public List<Guid>? Ids { get; set; }
public Guid? Id { get; set; }
public bool? IsAuthorization { get; set; }
public string Name { get; set; } = string.Empty;
}
public class GetAuditDocumentDataOutDto