|
@@ -213,6 +213,22 @@ namespace Hotline.Api.Controllers
|
|
|
return new PagedDto<EarlyPushDto>(total, _mapper.Map<IReadOnlyList<EarlyPushDto>>(items));
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 可以选择推送的工单
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("early-canchooseorder")]
|
|
|
+ public async Task<PagedDto<CanChooseOrderRsp>> CanChooseOrder([FromQuery] CanChooseOrderRequest dto)
|
|
|
+ {
|
|
|
+ var (total,items) = await _earlyWarningOrderDetailRepository.Queryable()
|
|
|
+ .Where(x => x.OrderPushStatus != EOrderPushStatus.FiledPush)
|
|
|
+ .Where(x=> dto.ChooseOrderId.Contains(x.OrderId) == false)
|
|
|
+ .ToPagedListAsync(dto.PageIndex,dto.PageSize,HttpContext.RequestAborted);
|
|
|
+
|
|
|
+ return new PagedDto<CanChooseOrderRsp>(total, _mapper.Map<IReadOnlyList<CanChooseOrderRsp>>(items));
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 新增推送报告 TODO
|
|
|
/// </summary>
|
|
@@ -262,14 +278,37 @@ namespace Hotline.Api.Controllers
|
|
|
List<string> orderIds = dto.Select(x => x.OrderId).ToList();
|
|
|
//查询所有工单
|
|
|
var orderList = await _orderRepository.Queryable().Where(x => orderIds.Contains(x.Id)).ToListAsync();
|
|
|
- var result = from a in orderList
|
|
|
+
|
|
|
+ var result = (from a in orderList
|
|
|
join b in dto on a.Id equals b.OrderId
|
|
|
- select new ReportOrderListDto (){ Id = a.Id, ActualHandleOrgName = a.ActualHandleOrgName, IsSendWord = b.IsSendWord, County = a.County, OneHotspotName = a.HotspotSpliceName.Split("-")[0], HotspotName = a.HotspotName, Status = a.Status,FileOpinion = a.FileOpinion };
|
|
|
+ select new ReportOrderListDto (){ Id = a.Id, ActualHandleOrgName = a.ActualHandleOrgName, IsSendWord = b.IsSendWord, County = a.County, OneHotspotName = a.HotspotSpliceName.Split("-")[0], HotspotName = a.HotspotName, Status = a.Status,FileOpinion = a.FileOpinion, Content = a.Content }).ToList();
|
|
|
+
|
|
|
+ //Title 热点汇总
|
|
|
+ var reportHotDetail = result.GroupBy(x => x.OneHotspotName).ToList();
|
|
|
+ reportHotDetail.ForEach(x =>
|
|
|
+ {
|
|
|
+ reportDto.ReportHotDetails.Add(new ReportHotDetailDto()
|
|
|
+ {
|
|
|
+ HotName = x.Key,
|
|
|
+ Count = x.Count(),
|
|
|
+ Content = string.Join(",",result.Where(d=>d.IsSendWord == true && d.OneHotspotName == x.Key).Select(d=>d.Content))
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ //Title 地区汇总
|
|
|
+ reportDto.ReportAreaDetails = result.GroupBy(x => x.County).Select(x=> new ReportAreaDetailDto() { AreaName = x.Key,Count = x.Count() }).ToList();
|
|
|
|
|
|
- var reportHotDetail = orderList.GroupBy(x => x.HotspotSpliceName).ToList();
|
|
|
+ //附件1:重点诉求处置情况
|
|
|
+ reportDto.ReportOrderDetails = result.Where(x => x.Status < EOrderStatus.Filed && x.IsSendWord == true).Select(x => new ReportOrderDetailDto() { OneHotSportName = x.OneHotspotName, HotSportName = x.HotspotName, Content = x.Content, ActualOpinion = "已转发" + x.ActualHandleOrgName + ",正在处理中" }).ToList();
|
|
|
|
|
|
-
|
|
|
- //reportDto.ReportHotDetailDto =
|
|
|
+ //附件2:
|
|
|
+ //查询往期
|
|
|
+ var earlyWarningPushDetail = await _earlyWarningPushDetailRepository.Queryable().Includes(x=>x.EarlyWarningPush).Where(x => result.Select(x => x.Id).Contains(x.OrderId)).ToListAsync();
|
|
|
+ var fujianTwoList = (from a in result
|
|
|
+ join b in earlyWarningPushDetail on a.Id equals b.OrderId
|
|
|
+ where a.Status>= EOrderStatus.Filed && a.IsSendWord == true
|
|
|
+ select new ReportFiledOrderDetailDto() { ReportName = b.EarlyWarningPush.EarlyWarningPushName, OneHotSportName = a.OneHotspotName, HotSportName = a.HotspotName,Content = a.Content, ActualOpinion = a.FileOpinion }).ToList();
|
|
|
+ reportDto.ReportFiledOrderDetails = fujianTwoList;
|
|
|
|
|
|
return reportDto;
|
|
|
}
|