|
@@ -415,6 +415,68 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
return new PagedDto<OrderSpecialDto>(total, _mapper.Map<IReadOnlyList<OrderSpecialDto>>(items));
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 受理类型前十
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ //[HttpGet("accept_type_top10_list")]
|
|
|
+ //public async Task<object> AcceptTypeTop10List([FromQuery] ReportPagedRequest dto)
|
|
|
+ // {
|
|
|
+ // if (!dto.StartTime.HasValue || !dto.EndTime.HasValue) throw UserFriendlyException.SameMessage("请选择时间!");
|
|
|
+ // dto.PageIndex = 1;
|
|
|
+ // dto.PageSize = 10;
|
|
|
+ // var acceptType = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.AcceptType);
|
|
|
+ // List<dynamic> listReturn = new List<dynamic>();
|
|
|
+ // var validQuery = await _orderRepository.Queryable(false, false, false)
|
|
|
+ // .WhereIF(dto.StartTime.HasValue, x => x.CreationTime >= dto.StartTime)
|
|
|
+ // .WhereIF(dto.EndTime.HasValue, x => x.CreationTime <= dto.EndTime)
|
|
|
+ // .Select(x => new
|
|
|
+ // {
|
|
|
+ // AcceptType = x.AcceptType,
|
|
|
+ // OneHotspot = SqlFunc.Substring(x.HotspotSpliceName, 0, SqlFunc.CharIndex("-", x.HotspotSpliceName + "-")),
|
|
|
+ // Id = x.Id
|
|
|
+ // }).MergeTable()
|
|
|
+ // .GroupBy(x => new { x.OneHotspot })
|
|
|
+ // .Select(x => new
|
|
|
+ // {
|
|
|
+ // Name = x.OneHotspot,
|
|
|
+ // Id = "0",
|
|
|
+ // AcceptName = "有效受理量",
|
|
|
+ // Num = SqlFunc.AggregateSum(SqlFunc.IIF(true, 1, 0)),
|
|
|
+ // }).ToListAsync();
|
|
|
+ // listReturn.AddRange(validQuery);
|
|
|
+ // foreach (var item in acceptType)
|
|
|
+ // {
|
|
|
+ // var query = await _orderRepository.Queryable(false, false, false)
|
|
|
+ // .WhereIF(dto.StartTime.HasValue, x => x.CreationTime >= dto.StartTime)
|
|
|
+ // .WhereIF(dto.EndTime.HasValue, x => x.CreationTime <= dto.EndTime)
|
|
|
+ // .Select(x => new
|
|
|
+ // {
|
|
|
+ // AcceptType = x.AcceptType,
|
|
|
+ // OneHotspot = SqlFunc.Substring(x.HotspotSpliceName, 0, SqlFunc.CharIndex("-", x.HotspotSpliceName + "-")),
|
|
|
+ // Id = x.Id
|
|
|
+ // }).MergeTable()
|
|
|
+ // .GroupBy(x => new { x.OneHotspot })
|
|
|
+ // .Select(x => new
|
|
|
+ // {
|
|
|
+ // Name = x.OneHotspot,
|
|
|
+ // Id = item.Id,
|
|
|
+ // AcceptName = item.DicDataName,
|
|
|
+ // Num = SqlFunc.AggregateSum(SqlFunc.IIF(item.DicDataName.Equals(x.AcceptType), 1, 0)),
|
|
|
+ // }).ToListAsync();
|
|
|
+ // listReturn.AddRange(query);
|
|
|
+ // }
|
|
|
+ // // if (!string.IsNullOrEmpty(dto.SortField))
|
|
|
+ // // {
|
|
|
+ // // listReturn = dto.SortRule == 0 ? (from items in listReturn orderby items.Num select items).ToList() : (from items in listReturn orderby items.Num descending select items).ToList();
|
|
|
+ // //}
|
|
|
+ // // else {
|
|
|
+ // // listReturn = (from items in listReturn orderby items.Num descending select items).ToList() ;
|
|
|
+ // //}
|
|
|
+ // return new { Header= acceptType,Data = listReturn };
|
|
|
+ //}
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 受理类型前十
|
|
|
/// </summary>
|
|
@@ -422,80 +484,80 @@ namespace Hotline.Api.Controllers.Bi
|
|
|
/// <returns></returns>
|
|
|
[HttpGet("accept_type_top10_list")]
|
|
|
public async Task<PagedDto<AcceptTypeTop10Vo>> AcceptTypeTop10List([FromQuery] ReportPagedRequest dto)
|
|
|
- {
|
|
|
- if (!dto.StartTime.HasValue || !dto.EndTime.HasValue) throw UserFriendlyException.SameMessage("请选择时间!");
|
|
|
- dto.PageIndex = 1;
|
|
|
- dto.PageSize = 10;
|
|
|
- var query = _orderRepository.Queryable(false, false, false)
|
|
|
- .WhereIF(dto.StartTime.HasValue, x => x.CreationTime >= dto.StartTime)
|
|
|
- .WhereIF(dto.EndTime.HasValue, x => x.CreationTime <= dto.EndTime)
|
|
|
- .Select(x => new
|
|
|
- {
|
|
|
- AcceptType = x.AcceptType,
|
|
|
- OneHotspot = SqlFunc.Substring(x.HotspotSpliceName, 0, SqlFunc.CharIndex("-", x.HotspotSpliceName + "-")),
|
|
|
- Id = x.Id
|
|
|
- }).MergeTable()
|
|
|
- .GroupBy(x => new { x.OneHotspot })
|
|
|
- .Select(x => new AcceptTypeTop10Vo
|
|
|
+ {
|
|
|
+ if (!dto.StartTime.HasValue || !dto.EndTime.HasValue) throw UserFriendlyException.SameMessage("请选择时间!");
|
|
|
+ dto.PageIndex = 1;
|
|
|
+ dto.PageSize = 10;
|
|
|
+ var query = _orderRepository.Queryable(false, false, false)
|
|
|
+ .WhereIF(dto.StartTime.HasValue, x => x.CreationTime >= dto.StartTime)
|
|
|
+ .WhereIF(dto.EndTime.HasValue, x => x.CreationTime <= dto.EndTime)
|
|
|
+ .Select(x => new
|
|
|
+ {
|
|
|
+ AcceptType = x.AcceptType,
|
|
|
+ OneHotspot = SqlFunc.Substring(x.HotspotSpliceName, 0, SqlFunc.CharIndex("-", x.HotspotSpliceName + "-")),
|
|
|
+ Id = x.Id
|
|
|
+ }).MergeTable()
|
|
|
+ .GroupBy(x => new { x.OneHotspot })
|
|
|
+ .Select(x => new AcceptTypeTop10Vo
|
|
|
{
|
|
|
- Name = x.OneHotspot,
|
|
|
- ValidAccept = SqlFunc.AggregateSum(SqlFunc.IIF(true, 1, 0)),
|
|
|
- Consult = SqlFunc.AggregateSum(SqlFunc.IIF("咨询".Equals(x.AcceptType), 1, 0)),
|
|
|
- Report = SqlFunc.AggregateSum(SqlFunc.IIF("举报".Equals(x.AcceptType), 1, 0)),
|
|
|
- Complaint = SqlFunc.AggregateSum(SqlFunc.IIF("投诉".Equals(x.AcceptType), 1, 0)),
|
|
|
- SeekHelp = SqlFunc.AggregateSum(SqlFunc.IIF("求助".Equals(x.AcceptType), 1, 0)),
|
|
|
- Suggest = SqlFunc.AggregateSum(SqlFunc.IIF("建议".Equals(x.AcceptType), 1, 0)),
|
|
|
- Opinion = SqlFunc.AggregateSum(SqlFunc.IIF("意见".Equals(x.AcceptType), 1, 0)),
|
|
|
- Rests = SqlFunc.AggregateSum(SqlFunc.IIF("其他".Equals(x.AcceptType), 1, 0)),
|
|
|
- BenefitThePeople = SqlFunc.AggregateSum(SqlFunc.IIF("惠民帮助".Equals(x.AcceptType), 1, 0)),
|
|
|
- Praise = SqlFunc.AggregateSum(SqlFunc.IIF("表扬".Equals(x.AcceptType), 1, 0)),
|
|
|
+ Name = x.OneHotspot,
|
|
|
+ ValidAccept = SqlFunc.AggregateSum(SqlFunc.IIF(true, 1, 0)),
|
|
|
+ Consult = SqlFunc.AggregateSum(SqlFunc.IIF("咨询".Equals(x.AcceptType), 1, 0)),
|
|
|
+ Report = SqlFunc.AggregateSum(SqlFunc.IIF("举报".Equals(x.AcceptType), 1, 0)),
|
|
|
+ Complaint = SqlFunc.AggregateSum(SqlFunc.IIF("投诉".Equals(x.AcceptType), 1, 0)),
|
|
|
+ SeekHelp = SqlFunc.AggregateSum(SqlFunc.IIF("求助".Equals(x.AcceptType), 1, 0)),
|
|
|
+ Suggest = SqlFunc.AggregateSum(SqlFunc.IIF("建议".Equals(x.AcceptType), 1, 0)),
|
|
|
+ Opinion = SqlFunc.AggregateSum(SqlFunc.IIF("意见".Equals(x.AcceptType), 1, 0)),
|
|
|
+ Rests = SqlFunc.AggregateSum(SqlFunc.IIF("其他".Equals(x.AcceptType), 1, 0)),
|
|
|
+ BenefitThePeople = SqlFunc.AggregateSum(SqlFunc.IIF("惠民帮助".Equals(x.AcceptType), 1, 0)),
|
|
|
+ Praise = SqlFunc.AggregateSum(SqlFunc.IIF("表扬".Equals(x.AcceptType), 1, 0)),
|
|
|
}).MergeTable();
|
|
|
- switch (dto.SortField)
|
|
|
- {
|
|
|
- case "validAccept":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.ValidAccept) : query.OrderByDescending(x => x.ValidAccept);
|
|
|
- break;
|
|
|
- case "consult":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.Consult) : query.OrderByDescending(x => x.Consult);
|
|
|
- break;
|
|
|
- case "report":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.Report) : query.OrderByDescending(x => x.Report);
|
|
|
- break;
|
|
|
- case "complaint":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.Complaint) : query.OrderByDescending(x => x.Complaint);
|
|
|
- break;
|
|
|
- case "seekHelp":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.SeekHelp) : query.OrderByDescending(x => x.SeekHelp);
|
|
|
- break;
|
|
|
- case "suggest":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.Suggest) : query.OrderByDescending(x => x.Suggest);
|
|
|
- break;
|
|
|
- case "opinion":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.Opinion) : query.OrderByDescending(x => x.Opinion);
|
|
|
- break;
|
|
|
- case "rests":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.Rests) : query.OrderByDescending(x => x.Rests);
|
|
|
- break;
|
|
|
- case "benefitThePeople":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.BenefitThePeople) : query.OrderByDescending(x => x.BenefitThePeople);
|
|
|
- break;
|
|
|
- case "praise":
|
|
|
- query = dto.SortRule == 0 ? query.OrderBy(x => x.Praise) : query.OrderByDescending(x => x.Praise);
|
|
|
- break;
|
|
|
+ switch (dto.SortField)
|
|
|
+ {
|
|
|
+ case "validAccept":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.ValidAccept) : query.OrderByDescending(x => x.ValidAccept);
|
|
|
+ break;
|
|
|
+ case "consult":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.Consult) : query.OrderByDescending(x => x.Consult);
|
|
|
+ break;
|
|
|
+ case "report":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.Report) : query.OrderByDescending(x => x.Report);
|
|
|
+ break;
|
|
|
+ case "complaint":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.Complaint) : query.OrderByDescending(x => x.Complaint);
|
|
|
+ break;
|
|
|
+ case "seekHelp":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.SeekHelp) : query.OrderByDescending(x => x.SeekHelp);
|
|
|
+ break;
|
|
|
+ case "suggest":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.Suggest) : query.OrderByDescending(x => x.Suggest);
|
|
|
+ break;
|
|
|
+ case "opinion":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.Opinion) : query.OrderByDescending(x => x.Opinion);
|
|
|
+ break;
|
|
|
+ case "rests":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.Rests) : query.OrderByDescending(x => x.Rests);
|
|
|
+ break;
|
|
|
+ case "benefitThePeople":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.BenefitThePeople) : query.OrderByDescending(x => x.BenefitThePeople);
|
|
|
+ break;
|
|
|
+ case "praise":
|
|
|
+ query = dto.SortRule == 0 ? query.OrderBy(x => x.Praise) : query.OrderByDescending(x => x.Praise);
|
|
|
+ break;
|
|
|
default:
|
|
|
- query = query.OrderByDescending(x => x.ValidAccept);
|
|
|
+ query = query.OrderByDescending(x => x.ValidAccept);
|
|
|
break;
|
|
|
- }
|
|
|
- var (total, items) = await query.ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
- return new PagedDto<AcceptTypeTop10Vo>(total, items);
|
|
|
+ }
|
|
|
+ var (total, items) = await query.ToPagedListAsync(dto, HttpContext.RequestAborted);
|
|
|
+ return new PagedDto<AcceptTypeTop10Vo>(total, items);
|
|
|
}
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 热点类型部门统计
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- [HttpGet("hotport-org-statistics")]
|
|
|
+ /// <summary>
|
|
|
+ /// 热点类型部门统计
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("hotport-org-statistics")]
|
|
|
public async Task<object> HotPortJoinOrgStatistics([FromQuery]HotPortJoinOrgStatisticsRequest dto)
|
|
|
{
|
|
|
return await _orderRepository.HotPortJoinOrgStatistics(dto.StartTime, dto.EndTime);
|