|
@@ -1193,34 +1193,58 @@ public class OrderController : BaseController
|
|
|
[HttpGet("visit/judge-query")]
|
|
|
public async Task<PagedDto<OrderVisitDto>> VisitJudgeQuery([FromQuery] VisitJudgeQueryReq dto)
|
|
|
{
|
|
|
- var (total, items) = await _orderVisitRepository.Queryable()
|
|
|
- .Includes(x => x.Order)
|
|
|
- .Includes(x => x.Employee)
|
|
|
- .Where(x => x.VisitState == EVisitState.Visited)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.No), x => x.No == dto.No)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Order.Title.Contains(dto.Title))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.VisitUserName), x => x.Employee.Name.Contains(dto.VisitUserName))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.AcceptType), d => d.Order.AcceptTypeCode == dto.AcceptType)//受理类型
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.Hotspot), d => d.Order.HotspotSpliceName != null && d.Order.HotspotSpliceName.Contains(dto.Hotspot))//热点类型
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.OrgId), d => d.Order.CurrentHandleOrgId == dto.OrgId)//接办部门
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.NameOrNo),
|
|
|
- d => d.Order.AcceptorName.Contains(dto.NameOrNo!) || d.Order.AcceptorStaffNo.Contains(dto.NameOrNo!)) //受理人/坐席
|
|
|
- .WhereIF(dto.CreationTimeStart.HasValue, d => d.CreationTime >= dto.CreationTimeStart) //受理时间开始
|
|
|
- .WhereIF(dto.CreationTimeEnd.HasValue, d => d.CreationTime <= dto.CreationTimeEnd) //受理时间结束
|
|
|
- .WhereIF(dto.ActualHandleTimeStart.HasValue, d => d.Order.ActualHandleTime >= dto.ActualHandleTimeStart) //办结时间开始
|
|
|
- .WhereIF(dto.ActualHandleTimeEnd.HasValue, d => d.Order.ActualHandleTime <= dto.ActualHandleTimeEnd) //办结时间结束
|
|
|
- .WhereIF(dto.VisitTimeStart.HasValue, d => d.VisitTime >= dto.VisitTimeStart) //回访开始时间
|
|
|
- .WhereIF(dto.VisitTimeEnd.HasValue, d => d.VisitTime <= dto.VisitTimeEnd)
|
|
|
- .WhereIF(dto.IsIng == true, d => d.JudgeState == EJudgeState.Judging)
|
|
|
- .WhereIF(dto.IsIng == false, d => d.JudgeState != EJudgeState.Judging)
|
|
|
- .WhereIF(dto.JudgeState != null, d => d.JudgeState == dto.JudgeState)
|
|
|
- .WhereIF(dto.OrgJudge != null, d => d.OrgJudge == dto.OrgJudge)
|
|
|
- .WhereIF(dto.SeatJudge != null, d => d.SeatJudge == dto.SeatJudge)
|
|
|
- .OrderByDescending(x => x.VisitTime)
|
|
|
+ var (total, items) = await _orderRepository.VisitJudgeQuery(dto)
|
|
|
.ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
|
|
|
return new PagedDto<OrderVisitDto>(total, _mapper.Map<IReadOnlyList<OrderVisitDto>>(items));
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 扭转列表查询基础数据
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("visit/judge-query-basedata")]
|
|
|
+ public async Task<object> VisitJudgeQueryBaseData()
|
|
|
+ {
|
|
|
+ return new
|
|
|
+ {
|
|
|
+ FiledTypeOptions = EnumExts.GetDescriptions<FiledType>(),
|
|
|
+ AcceptTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.AcceptType),
|
|
|
+ OrgsOptions = await _organizeRepository.GetOrgJson(),
|
|
|
+ CallForwardingOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.CallForwardingSource)
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 扭转列表导出
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("visit/judge-query-export")]
|
|
|
+ public async Task<FileStreamResult> VisitJudgeQueryExport([FromBody]ExportExcelDto<VisitJudgeQueryReq> dto)
|
|
|
+ {
|
|
|
+ var query = _orderRepository.VisitJudgeQuery(dto.QueryDto);
|
|
|
+
|
|
|
+ List<OrderVisit> datas;
|
|
|
+ if (dto.IsExportAll)
|
|
|
+ {
|
|
|
+ datas = await query.ToListAsync(HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var (_, items) = await query.ToPagedListAsync(dto.QueryDto, HttpContext.RequestAborted);
|
|
|
+ datas = items;
|
|
|
+ }
|
|
|
+ var orderDtos = _mapper.Map<ICollection<OrderVisitDto>>(datas);
|
|
|
+ dynamic? dynamicClass = DynamicClassHelper.CreateDynamicClass(dto.ColumnInfos);
|
|
|
+ var dtos = orderDtos
|
|
|
+ .Select(stu => _mapper.Map(stu, typeof(OrderVisitDto), dynamicClass))
|
|
|
+ .Cast<object>()
|
|
|
+ .ToList();
|
|
|
+
|
|
|
+ var stream = ExcelHelper.CreateStream(dtos);
|
|
|
+ return ExcelStreamResult(stream, "扭转明细");
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 扭转满意度
|
|
|
/// </summary>
|