|
@@ -583,24 +583,41 @@ public class WorkflowController : BaseController
|
|
|
public async Task<FileStreamResult> ScreenListExport([FromBody] ExportExcelDto<QueryOrderCountersignDto> dto)
|
|
|
{
|
|
|
var query = _workflowApplication.QueryOrderCountersigns(dto.QueryDto, _sessionContext)
|
|
|
- .MergeTable();
|
|
|
+ .Select((c, w, o) => new { c, o });
|
|
|
List<WorkflowCountersign> data;
|
|
|
- if (dto.IsExportAll)
|
|
|
+ List<WorkflowCountersignDto> dataDtos;
|
|
|
+
|
|
|
+ if (dto.IsExportAll)
|
|
|
{
|
|
|
- data = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
- }
|
|
|
+ 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();
|
|
|
+
|
|
|
+ }
|
|
|
else
|
|
|
- {
|
|
|
- var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
- data = items;
|
|
|
- }
|
|
|
-
|
|
|
- var dataDtos = _mapper.Map<ICollection<WorkflowCountersignDto>>(data);
|
|
|
-
|
|
|
- dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
-
|
|
|
- var dtos = dataDtos
|
|
|
- .Select(stu => _mapper.Map(stu, typeof(WorkflowCountersignDto), dynamicClass))
|
|
|
+ {
|
|
|
+ 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 exportData = _mapper.Map<ICollection<WorkflowCountersignDto>>(dataDtos);
|
|
|
+
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
+
|
|
|
+ var dtos = exportData
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(WorkflowCountersignDto), dynamicClass))
|
|
|
.Cast<object>()
|
|
|
.ToList();
|
|
|
|