|
@@ -55,7 +55,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
private readonly IRepository<OrderSpecialDetail> _orderSpecialDetailRepository;
|
|
|
private readonly IRepository<WorkflowTrace> _workflowTraceRepository;
|
|
|
private readonly IRepository<WorkflowStep> _workflowStepRepository;
|
|
|
- private readonly IRepository<OrderScreen> _orderScreenRepository;
|
|
|
+ private readonly IRepository<OrderScreen> _orderScreenRepository;
|
|
|
private readonly IOrderSecondaryHandlingApplication _orderSecondaryHandlingApplication;
|
|
|
private readonly IOrderApplication _orderApplication;
|
|
|
private readonly ITimeLimitDomainService _timeLimitDomainService;
|
|
@@ -123,7 +123,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
_systemDicDataCacheManager = systemDicDataCacheManager;
|
|
|
_workflowStepRepository = workflowStepRepository;
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 部门超期统计明细
|
|
@@ -2312,7 +2312,7 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
.Where((x, su) => x.CreationTime >= dto.StartTime.Value && x.CreationTime <= dto.EndTime.Value && su.UserId == dto.UserId)
|
|
|
.WhereIF(dto.TitleCode.ToUpper() == "NOSENDORDERNUM", (x, su) => x.Status != EWorkflowStepStatus.Handled)
|
|
|
.WhereIF(dto.TitleCode.ToUpper() == "SENDORDERNUM", (x, su) => x.Status == EWorkflowStepStatus.Handled)
|
|
|
- .GroupBy((x, su) => x.ExternalId)
|
|
|
+ .GroupBy((x, su) => x.ExternalId)
|
|
|
.Select((x, su) => new { Id = x.ExternalId })
|
|
|
.MergeTable()
|
|
|
.LeftJoin<Order>((a, b) => a.Id == b.Id)
|
|
@@ -3382,65 +3382,65 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
public async Task<object> HotspotAndAcceptTypeStatistics([FromQuery] HotspotAndAcceptTypeStatisticsReq dto)
|
|
|
{
|
|
|
|
|
|
- var (areaList, returnList) = await _orderApplication.HotspotAndAcceptTypeStatistics(dto);
|
|
|
+ var (areaList, returnList) = await _orderApplication.HotspotAndAcceptTypeStatistics(dto);
|
|
|
|
|
|
- return new { AreaList = areaList, Data = returnList };
|
|
|
+ return new { AreaList = areaList, Data = returnList };
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 热点受理类型统计导出
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost("hotspot-accepttype-statistics-export")]
|
|
|
+ /// <summary>
|
|
|
+ /// 热点受理类型统计导出
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("hotspot-accepttype-statistics-export")]
|
|
|
public async Task<FileStreamResult> HotspotAndAcceptTypeStatisticsExport([FromBody] HotspotAndAcceptTypeStatisticsReq dto)
|
|
|
{
|
|
|
- var returnList = await _orderApplication.HotspotAndAcceptTypeStatisticsExport(dto);
|
|
|
- var table = _orderApplication.InitHotspotTable(returnList, dto.AddColumnName, dto.HotspotLevel);
|
|
|
- var stream = ExcelHelper.CreateStream(table);
|
|
|
- return ExcelStreamResult(stream, "热点受理类型统计");
|
|
|
+ var returnList = await _orderApplication.HotspotAndAcceptTypeStatisticsExport(dto);
|
|
|
+ var table = _orderApplication.InitHotspotTable(returnList, dto.AddColumnName, dto.HotspotLevel);
|
|
|
+ var stream = ExcelHelper.CreateStream(table);
|
|
|
+ return ExcelStreamResult(stream, "热点受理类型统计");
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 热点受理类型明细
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpGet("hotspot-accepttype-statistics-detail")]
|
|
|
+ /// <summary>
|
|
|
+ /// 热点受理类型明细
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("hotspot-accepttype-statistics-detail")]
|
|
|
public async Task<PagedDto<OrderDto>> HotspotAndAcceptTypeStatisticsDetail([FromQuery] HotspotAndAcceptTypeStatisticsDetailReq dto)
|
|
|
{
|
|
|
- var (total, items) = await _orderApplication.HotspotAndAcceptTypeStatisticsDetail(dto).ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
- return new PagedDto<OrderDto>(total, _mapper.Map<IReadOnlyList<OrderDto>>(items));
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 热点受理类型明细导出
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpPost("hotspot-accepttype-statistics-detail-export")]
|
|
|
+ var (total, items) = await _orderApplication.HotspotAndAcceptTypeStatisticsDetail(dto).ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
+ return new PagedDto<OrderDto>(total, _mapper.Map<IReadOnlyList<OrderDto>>(items));
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 热点受理类型明细导出
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("hotspot-accepttype-statistics-detail-export")]
|
|
|
public async Task<FileStreamResult> HotspotAndAcceptTypeStatisticsDetailExport([FromBody] ExportExcelDto<HotspotAndAcceptTypeStatisticsDetailReq> dto)
|
|
|
{
|
|
|
- var query = _orderApplication.HotspotAndAcceptTypeStatisticsDetail(dto.QueryDto);
|
|
|
-
|
|
|
- List<Order> orders;
|
|
|
- if (dto.IsExportAll)
|
|
|
- {
|
|
|
- orders = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
- orders = items;
|
|
|
- }
|
|
|
- var ordersDtos = _mapper.Map<ICollection<OrderDto>>(orders);
|
|
|
- dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
- var dtos = ordersDtos
|
|
|
- .Select(stu => _mapper.Map(stu, typeof(OrderDto), dynamicClass))
|
|
|
- .Cast<object>()
|
|
|
- .ToList();
|
|
|
-
|
|
|
- var stream = ExcelHelper.CreateStream(dtos);
|
|
|
- return ExcelStreamResult(stream, "热点受理类型明细");
|
|
|
+ var query = _orderApplication.HotspotAndAcceptTypeStatisticsDetail(dto.QueryDto);
|
|
|
+
|
|
|
+ List<Order> orders;
|
|
|
+ if (dto.IsExportAll)
|
|
|
+ {
|
|
|
+ orders = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
+ orders = items;
|
|
|
+ }
|
|
|
+ var ordersDtos = _mapper.Map<ICollection<OrderDto>>(orders);
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
+ var dtos = ordersDtos
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(OrderDto), dynamicClass))
|
|
|
+ .Cast<object>()
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
+ return ExcelStreamResult(stream, "热点受理类型明细");
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -3454,7 +3454,8 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
var (total, items) = await _orderApplication.OrderScreenApply(dto).ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
return new PagedDto<OrderScreenApplyVo>(total, items);
|
|
|
}
|
|
|
- /// <summary>
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
/// 甄别申请统计导出
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
@@ -3495,7 +3496,8 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
var (total, items) = await _orderApplication.OrderScreenAudit(dto).ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
return new PagedDto<OrderScreenAuditVo>(total, items);
|
|
|
}
|
|
|
- /// <summary>
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
/// 甄别审批统计导出
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
@@ -3524,5 +3526,124 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
var stream = ExcelHelper.CreateStream(dtos);
|
|
|
return ExcelStreamResult(stream, "甄别审批统计");
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 未签收统计
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("get_order_nosigen")]
|
|
|
+ public async Task<object> GetOrderNoSigen([FromQuery] OrderNoSigenRequestDto dto)
|
|
|
+ {
|
|
|
+ var items = await _orderReportApplication.GetOrderNoSigen(dto);
|
|
|
+
|
|
|
+ var total = new OrderNoSigenDto
|
|
|
+ {
|
|
|
+ OrgName = "合计",
|
|
|
+ OrgCode = "",
|
|
|
+ OrderNoSigen = items.Sum(p => p.OrderNoSigen),
|
|
|
+ CounterNoSign = items.Sum(p => p.CounterNoSign)
|
|
|
+ };
|
|
|
+
|
|
|
+ return new { List = items, Total = total };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 未签收统计--导出
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("get_order_nosigen_export")]
|
|
|
+ public async Task<FileStreamResult> ExportGetOrderNoSigen([FromBody] ExportExcelDto<OrderNoSigenRequestDto> dto)
|
|
|
+ {
|
|
|
+ var list = await _orderReportApplication.GetOrderNoSigen(dto.QueryDto);
|
|
|
+
|
|
|
+ //增加合计
|
|
|
+ list.Add(new OrderNoSigenDto
|
|
|
+ {
|
|
|
+ OrgName = "合计",
|
|
|
+ OrgCode = "",
|
|
|
+ OrderNoSigen = list.Sum(p => p.OrderNoSigen),
|
|
|
+ CounterNoSign = list.Sum(p => p.CounterNoSign)
|
|
|
+ });
|
|
|
+
|
|
|
+ var orderDtos = _mapper.Map<ICollection<OrderNoSigenDto>>(list);
|
|
|
+
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
+
|
|
|
+ var dtos = orderDtos
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(OrderNoSigenDto), dynamicClass))
|
|
|
+ .Cast<object>()
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
+
|
|
|
+ return ExcelStreamResult(stream, "未签收统计数据");
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 未签收统计--明细
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("get_order_nosigen_detail")]
|
|
|
+ public async Task<PagedDto<OrderDto>> GetOrderNoSigenDetail([FromQuery] OrderNoSigenRequestDto dto)
|
|
|
+ {
|
|
|
+ RefAsync<int> total = 0;
|
|
|
+
|
|
|
+ var queryData = await _orderReportApplication.GetOrderNoSigenDetail(dto)
|
|
|
+ .Select(o => new { o })
|
|
|
+ .ToPageListAsync(dto.PageIndex, dto.PageSize, total, HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ var dtos = queryData.Select(d =>
|
|
|
+ {
|
|
|
+ var dto = _mapper.Map<OrderDto>(d.o);
|
|
|
+ return dto;
|
|
|
+ }).ToList();
|
|
|
+ return new PagedDto<OrderDto>(total, dtos);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 未签收统计--明细--导出
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("get_order_nosigen_detail_export")]
|
|
|
+ public async Task<FileStreamResult> ExportGetOrderNoSigenDetail([FromBody] ExportExcelDto<OrderNoSigenRequestDto> dto)
|
|
|
+ {
|
|
|
+ var query = _orderReportApplication.GetOrderNoSigenDetail(dto.QueryDto).Select(o => new { o });
|
|
|
+
|
|
|
+ List<OrderDto> list = new();
|
|
|
+ if (dto.IsExportAll)
|
|
|
+ {
|
|
|
+ var listData = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
+ list = listData.Select(d =>
|
|
|
+ {
|
|
|
+ var dto = _mapper.Map<OrderDto>(d.o);
|
|
|
+ return dto;
|
|
|
+ }).ToList();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ RefAsync<int> total = 0;
|
|
|
+ var listData = await query.ToPageListAsync(dto.QueryDto.PageIndex, dto.QueryDto.PageSize, total, HttpContext.RequestAborted);
|
|
|
+ list = listData.Select(d =>
|
|
|
+ {
|
|
|
+ var dto = _mapper.Map<OrderDto>(d.o);
|
|
|
+ return dto;
|
|
|
+ }).ToList();
|
|
|
+ }
|
|
|
+
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
+
|
|
|
+ var dtos = list
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(OrderDto), dynamicClass))
|
|
|
+ .Cast<object>()
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
+
|
|
|
+ return ExcelStreamResult(stream, "未签收统计明细数据");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|