|
@@ -583,40 +583,29 @@ public class WorkflowController : BaseController
|
|
|
public async Task<FileStreamResult> ScreenListExport([FromBody] ExportExcelDto<QueryOrderCountersignDto> dto)
|
|
|
{
|
|
|
var query = _workflowApplication.QueryOrderCountersigns(dto.QueryDto, _sessionContext)
|
|
|
- .Select((c, w, o) => new { c, o });
|
|
|
+ .Select((c, w, o) => new WorkflowCountersign()
|
|
|
+ {
|
|
|
+ Id = c.Id.SelectAll(),
|
|
|
+ Order = o,
|
|
|
+ });
|
|
|
List<WorkflowCountersign> data;
|
|
|
- List<WorkflowCountersignDto> dataDtos;
|
|
|
|
|
|
if (dto.IsExportAll)
|
|
|
{
|
|
|
- var list = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
- dataDtos= list.Select(d =>
|
|
|
- {
|
|
|
- var dto = _mapper.Map<WorkflowCountersignDto>(d.c);
|
|
|
- dto.Order = _mapper.Map<OrderDto>(d.o);
|
|
|
- dto.CounterSignCount = _workflowCountersignRepository.Queryable().Where(p => p.WorkflowId == d.c.WorkflowId).CountAsync().GetAwaiter().GetResult();
|
|
|
- return dto;
|
|
|
- }).ToList();
|
|
|
-
|
|
|
+ data = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- RefAsync<int> total = 0;
|
|
|
- var items = await query.ToPageListAsync(dto.QueryDto.PageIndex, dto.QueryDto.PageSize, total, HttpContext.RequestAborted);
|
|
|
- dataDtos = items.Select(d =>
|
|
|
- {
|
|
|
- var dto = _mapper.Map<WorkflowCountersignDto>(d.c);
|
|
|
- dto.Order = _mapper.Map<OrderDto>(d.o);
|
|
|
- dto.CounterSignCount = _workflowCountersignRepository.Queryable().Where(p => p.WorkflowId == d.c.WorkflowId).CountAsync().GetAwaiter().GetResult();
|
|
|
- return dto;
|
|
|
- }).ToList();
|
|
|
+
|
|
|
+ var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
+ data = items;
|
|
|
}
|
|
|
|
|
|
- var exportData = _mapper.Map<ICollection<WorkflowCountersignDto>>(dataDtos);
|
|
|
+ var dataDtos = _mapper.Map<ICollection<WorkflowCountersignDto>>(data);
|
|
|
|
|
|
dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
|
|
|
- var dtos = exportData
|
|
|
+ var dtos = dataDtos
|
|
|
.Select(stu => _mapper.Map(stu, typeof(WorkflowCountersignDto), dynamicClass))
|
|
|
.Cast<object>()
|
|
|
.ToList();
|