|
@@ -5858,5 +5858,99 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
})
|
|
|
.ToListAsync(HttpContext.RequestAborted);
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 超期退回统计
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("extended_sendback_statistics")]
|
|
|
+ public async Task<List<ExtendedSendBackVo>> ExtendedSendBackStatistics([FromQuery] PagedKeywordRequest dto)
|
|
|
+ {
|
|
|
+ var quer = _orderApplication.ExtendedSendBackStatistics(dto);
|
|
|
+ var list = await quer.ToListAsync(HttpContext.RequestAborted);
|
|
|
+ list.Add(new ExtendedSendBackVo()
|
|
|
+ {
|
|
|
+ OrgName ="合计",
|
|
|
+ TotalNum = list.Sum(m => m.TotalNum),
|
|
|
+ PassNum = list.Sum(p => p.PassNum),
|
|
|
+ NoPassNum = list.Sum(m => m.NoPassNum),
|
|
|
+ AuditNum = list.Sum(m => m.AuditNum)
|
|
|
+ });
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 超期退回统计
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("extended_sendback_statistics/_export")]
|
|
|
+ public async Task<FileStreamResult> ExtendedSendBackStatisticsExport([FromBody] ExportExcelDto<PagedKeywordRequest> dto)
|
|
|
+ {
|
|
|
+ var query = _orderApplication.ExtendedSendBackStatistics(dto.QueryDto);
|
|
|
+ List<ExtendedSendBackVo> data;
|
|
|
+
|
|
|
+ data = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
+
|
|
|
+ var dtos = data
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(ExtendedSendBackVo), dynamicClass))
|
|
|
+ .Cast<object>()
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
+
|
|
|
+ return ExcelStreamResult(stream, "超期退回统计");
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 超期退回统计明细
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("extended_sendback_detail")]
|
|
|
+ public async Task<PagedDto<SendBackDto>> ExtendedSendBackDetail([FromQuery] ExtendedSendBackRequest dto)
|
|
|
+ {
|
|
|
+ var quer = _orderApplication.ExtendedSendBackDetail(dto);
|
|
|
+ var (total, items) = await quer.ToPagedListAsync(dto.PageIndex, dto.PageSize);
|
|
|
+
|
|
|
+ return new PagedDto<SendBackDto>(total, _mapper.Map<IReadOnlyList<SendBackDto>>(items));
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 超期退回统计明细导出
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("extended_sendback_detail/_export")]
|
|
|
+ public async Task<FileStreamResult> ExtendedSendBackDetailExport([FromBody] ExportExcelDto<ExtendedSendBackRequest> dto)
|
|
|
+ {
|
|
|
+ var query = _orderApplication.ExtendedSendBackDetail(dto.QueryDto);
|
|
|
+ List<OrderSendBackAudit> data;
|
|
|
+ if (dto.IsExportAll)
|
|
|
+ {
|
|
|
+ data = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
+ data = items;
|
|
|
+ }
|
|
|
+
|
|
|
+ var dataDtos = _mapper.Map<ICollection<SendBackDto>>(data);
|
|
|
+
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
+
|
|
|
+ var dtos = dataDtos
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(SendBackDto), dynamicClass))
|
|
|
+ .Cast<object>()
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
+
|
|
|
+ return ExcelStreamResult(stream, "超期退回统计明细");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|