|
@@ -1,4 +1,5 @@
|
|
|
-using DocumentFormat.OpenXml.Spreadsheet;
|
|
|
+using DocumentFormat.OpenXml.Drawing.Diagrams;
|
|
|
+using DocumentFormat.OpenXml.Spreadsheet;
|
|
|
using DotNetCore.CAP;
|
|
|
using FluentValidation;
|
|
|
using Hotline.Application.FlowEngine;
|
|
@@ -4030,24 +4031,44 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
/// <returns></returns>
|
|
|
public ISugarQueryable<OrderScreenAuditVo> OrderScreenAudit(OrderScreenAuditPagedRequest dto)
|
|
|
{
|
|
|
- var query = _workflowTraceRepository.Queryable()
|
|
|
- .Where(x => x.ModuleCode == "OrderScreen")
|
|
|
- .WhereIF(dto.StartTime.HasValue && dto.EndTime.HasValue, x => x.HandleTime >= dto.StartTime && x.HandleTime <= dto.EndTime)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.AuditUserName), x => x.HandlerName == dto.AuditUserName)
|
|
|
- .Where(x => x.HandlerName != null && x.HandlerName != "")
|
|
|
- .WhereIF(dto.AuditType is 1, x => x.Name == "班长审批")
|
|
|
- .WhereIF(dto.AuditType is 2, x => x.Name == "中心领导")
|
|
|
- .WhereIF(_appOptions.Value.IsZiGong && dto.AuditType is 3, x => x.Name == "中心初审")
|
|
|
- .GroupBy(x => new { x.HandlerName })
|
|
|
- .Select(x => new OrderScreenAuditVo
|
|
|
- {
|
|
|
- AuditName = x.HandlerName,
|
|
|
- AuditNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.TraceType == EWorkflowTraceType.Normal && x.TraceState == EWorkflowTraceState.Normal, 1,
|
|
|
- 0)),
|
|
|
- AuditBackNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.TraceState == EWorkflowTraceState.StepRemoveByPrevious ||
|
|
|
- x.TraceState == EWorkflowTraceState.StepRemoveByRecall, 1, 0)),
|
|
|
- });
|
|
|
- return query;
|
|
|
+ if (_appOptions.Value.IsZiGong)
|
|
|
+ {
|
|
|
+ return _workflowTraceRepository.Queryable()
|
|
|
+ .Where(x => x.ModuleCode == "OrderScreen")
|
|
|
+ .WhereIF(dto.StartTime.HasValue && dto.EndTime.HasValue, x => x.HandleTime >= dto.StartTime && x.HandleTime <= dto.EndTime)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.AuditUserName), x => x.HandlerName == dto.AuditUserName)
|
|
|
+ .Where(x => x.HandlerName != null && x.HandlerName != "")
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.StepName), x => x.Name == dto.StepName)
|
|
|
+ //.WhereIF(dto.AuditType is 1, x => x.Name == "班长审批")
|
|
|
+ //.WhereIF(dto.AuditType is 2, x => x.Name == "中心领导")
|
|
|
+ // .WhereIF(_appOptions.Value.IsZiGong && dto.AuditType is 3, x => x.Name == "中心初审")
|
|
|
+ .GroupBy(x => new { x.HandlerName, x.Name })
|
|
|
+ .Select(x => new OrderScreenAuditVo
|
|
|
+ {
|
|
|
+ AuditName = x.HandlerName,
|
|
|
+ StepName = x.Name,
|
|
|
+ AuditNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.TraceType == EWorkflowTraceType.Normal && x.TraceState == EWorkflowTraceState.Normal, 1, 0)),
|
|
|
+ AuditBackNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.TraceState == EWorkflowTraceState.StepRemoveByPrevious || x.TraceState == EWorkflowTraceState.StepRemoveByRecall, 1, 0)),
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return _workflowTraceRepository.Queryable()
|
|
|
+ .Where(x => x.ModuleCode == "OrderScreen")
|
|
|
+ .WhereIF(dto.StartTime.HasValue && dto.EndTime.HasValue, x => x.HandleTime >= dto.StartTime && x.HandleTime <= dto.EndTime)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.AuditUserName), x => x.HandlerName == dto.AuditUserName)
|
|
|
+ .Where(x => x.HandlerName != null && x.HandlerName != "")
|
|
|
+ .WhereIF(dto.AuditType is 1, x => x.Name == "班长审批")
|
|
|
+ .WhereIF(dto.AuditType is 2, x => x.Name == "中心领导")
|
|
|
+ .WhereIF(_appOptions.Value.IsZiGong && dto.AuditType is 3, x => x.Name == "中心初审")
|
|
|
+ .GroupBy(x => new { x.HandlerName })
|
|
|
+ .Select(x => new OrderScreenAuditVo
|
|
|
+ {
|
|
|
+ AuditName = x.HandlerName,
|
|
|
+ AuditNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.TraceType == EWorkflowTraceType.Normal && x.TraceState == EWorkflowTraceState.Normal, 1, 0)),
|
|
|
+ AuditBackNum = SqlFunc.AggregateSum(SqlFunc.IIF(x.TraceState == EWorkflowTraceState.StepRemoveByPrevious, 1, 0)),
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -4769,15 +4790,16 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
case EBusinessType.Send:
|
|
|
// 平均派单
|
|
|
var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
|
|
|
- if (averageSendOrder) {
|
|
|
- var sendOrderTrace = workflow.Traces
|
|
|
- .Where(x => x.BusinessType == EBusinessType.Send && x.HandlerId != AppDefaults.SendPoolId)
|
|
|
- .MaxBy(x => x.CreationTime);
|
|
|
- var prevSendOrder = sendOrderTrace is not null;
|
|
|
- if (prevSendOrder)
|
|
|
- {
|
|
|
- prevSendOrder = await _orderDomainService.SchedulingAtWork(sendOrderTrace.HandlerId);
|
|
|
- }
|
|
|
+ if (averageSendOrder)
|
|
|
+ {
|
|
|
+ var sendOrderTrace = workflow.Traces
|
|
|
+ .Where(x => x.BusinessType == EBusinessType.Send && x.HandlerId != AppDefaults.SendPoolId)
|
|
|
+ .MaxBy(x => x.CreationTime);
|
|
|
+ var prevSendOrder = sendOrderTrace is not null;
|
|
|
+ if (prevSendOrder)
|
|
|
+ {
|
|
|
+ prevSendOrder = await _orderDomainService.SchedulingAtWork(sendOrderTrace.HandlerId);
|
|
|
+ }
|
|
|
if (prevSendOrder)
|
|
|
{
|
|
|
rsp = new StepAssignInfo()
|
|
@@ -4792,10 +4814,11 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
|
|
|
};
|
|
|
}
|
|
|
- else {
|
|
|
- rsp = await _orderDomainService.AverageOrder(cancellationToken);
|
|
|
- }
|
|
|
- }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ rsp = await _orderDomainService.AverageOrder(cancellationToken);
|
|
|
+ }
|
|
|
+ }
|
|
|
break;
|
|
|
case EBusinessType.Department:
|
|
|
rsp = new StepAssignInfo
|
|
@@ -4980,37 +5003,37 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
case EBusinessType.Send:
|
|
|
// 平均派单
|
|
|
var averageSendOrder = bool.Parse(_systemSettingCacheManager.GetSetting(SettingConstants.AverageSendOrder).SettingValue[0]);
|
|
|
- if (averageSendOrder)
|
|
|
- {
|
|
|
- var sendOrderTrace = workflow.Traces
|
|
|
- .Where(x => x.BusinessType == EBusinessType.Send && x.HandlerId != AppDefaults.SendPoolId)
|
|
|
- .MaxBy(x => x.CreationTime);
|
|
|
- var prevSendOrder = sendOrderTrace is not null;
|
|
|
- if (prevSendOrder)
|
|
|
- {
|
|
|
- prevSendOrder = await _orderDomainService.SchedulingAtWork(sendOrderTrace.HandlerId);
|
|
|
- }
|
|
|
- if (prevSendOrder)
|
|
|
- {
|
|
|
- //todo
|
|
|
- rsp = new StepAssignInfo()
|
|
|
- {
|
|
|
- Key = sendOrderTrace.HandlerId,
|
|
|
- Value = sendOrderTrace.HandlerName,
|
|
|
- UserId = sendOrderTrace.HandlerId,
|
|
|
- Username = sendOrderTrace.HandlerName,
|
|
|
- OrgId = sendOrderTrace.HandlerOrgId,
|
|
|
- OrgName = sendOrderTrace.HandlerOrgName,
|
|
|
- FlowAssignType = EFlowAssignType.User
|
|
|
-
|
|
|
- };
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- rsp = await _orderDomainService.AverageOrder(cancellationToken);
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
+ if (averageSendOrder)
|
|
|
+ {
|
|
|
+ var sendOrderTrace = workflow.Traces
|
|
|
+ .Where(x => x.BusinessType == EBusinessType.Send && x.HandlerId != AppDefaults.SendPoolId)
|
|
|
+ .MaxBy(x => x.CreationTime);
|
|
|
+ var prevSendOrder = sendOrderTrace is not null;
|
|
|
+ if (prevSendOrder)
|
|
|
+ {
|
|
|
+ prevSendOrder = await _orderDomainService.SchedulingAtWork(sendOrderTrace.HandlerId);
|
|
|
+ }
|
|
|
+ if (prevSendOrder)
|
|
|
+ {
|
|
|
+ //todo
|
|
|
+ rsp = new StepAssignInfo()
|
|
|
+ {
|
|
|
+ Key = sendOrderTrace.HandlerId,
|
|
|
+ Value = sendOrderTrace.HandlerName,
|
|
|
+ UserId = sendOrderTrace.HandlerId,
|
|
|
+ Username = sendOrderTrace.HandlerName,
|
|
|
+ OrgId = sendOrderTrace.HandlerOrgId,
|
|
|
+ OrgName = sendOrderTrace.HandlerOrgName,
|
|
|
+ FlowAssignType = EFlowAssignType.User
|
|
|
+
|
|
|
+ };
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ rsp = await _orderDomainService.AverageOrder(cancellationToken);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
case EBusinessType.Department:
|
|
|
rsp = new StepAssignInfo
|
|
|
{
|
|
@@ -6489,40 +6512,40 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
}
|
|
|
|
|
|
|
|
|
- #region 坐席退回统计表
|
|
|
- /// <summary>
|
|
|
- /// 坐席退回统计表
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- public ISugarQueryable<SeatSendBackStatisticsVo> SeatSendBackStatistics(PagedKeywordRequest dto)
|
|
|
+ #region 坐席退回统计表
|
|
|
+ /// <summary>
|
|
|
+ /// 坐席退回统计表
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public ISugarQueryable<SeatSendBackStatisticsVo> SeatSendBackStatistics(PagedKeywordRequest dto)
|
|
|
{
|
|
|
- var setting = _systemSettingCacheManager.GetSetting(SettingConstants.RoleZuoXi);
|
|
|
- var roles = setting?.SettingValue.ToList();
|
|
|
- var seats = _userRepository.Queryable()
|
|
|
- .Includes(d => d.Organization)
|
|
|
- .Includes(d => d.Roles)
|
|
|
- .Where(d => d.Roles.Any(x => roles.Contains(x.Name)));
|
|
|
+ var setting = _systemSettingCacheManager.GetSetting(SettingConstants.RoleZuoXi);
|
|
|
+ var roles = setting?.SettingValue.ToList();
|
|
|
+ var seats = _userRepository.Queryable()
|
|
|
+ .Includes(d => d.Organization)
|
|
|
+ .Includes(d => d.Roles)
|
|
|
+ .Where(d => d.Roles.Any(x => roles.Contains(x.Name)));
|
|
|
var send = _workflowTraceRepository.Queryable()
|
|
|
.LeftJoin<Order>((x, o) => x.ExternalId == o.Id)
|
|
|
- .Where((x, o) => x.HandlerOrgId != OrgSeedData.CenterId && (x.PrevStepName == "班长审批"|| x.PrevStepName == "派单组") && o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime && x.CreationTime >= dto.StartTime)
|
|
|
- .GroupBy((x, o) => new {o.AcceptorId })
|
|
|
- .Select((x, o) => new SeatSendBackStatisticsVo { UserId = o.AcceptorId , SendOrderNum = SqlFunc.AggregateDistinctCount(x.ExternalId) });
|
|
|
-
|
|
|
- // var sendBack = _workflowTraceRepository.Queryable()
|
|
|
- //.LeftJoin<Order>((x, o) => x.ExternalId == o.Id)
|
|
|
- // .Where((x, o) => o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime && x.CreationTime >= dto.StartTime && x.BusinessType == EBusinessType.Seat && (x.PrevStepName == "班长审批" || x.PrevStepName == "派单组"))
|
|
|
- //.GroupBy((x, o) => new { o.AcceptorId})
|
|
|
- //.Select((x, o) => new { UserId = o.AcceptorId, SendOrderBackNum = SqlFunc.AggregateDistinctCount(x.ExternalId), SendOrderBackNumber = SqlFunc.AggregateCount(x.ExternalId) });
|
|
|
+ .Where((x, o) => x.HandlerOrgId != OrgSeedData.CenterId && (x.PrevStepName == "班长审批" || x.PrevStepName == "派单组") && o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime && x.CreationTime >= dto.StartTime)
|
|
|
+ .GroupBy((x, o) => new { o.AcceptorId })
|
|
|
+ .Select((x, o) => new SeatSendBackStatisticsVo { UserId = o.AcceptorId, SendOrderNum = SqlFunc.AggregateDistinctCount(x.ExternalId) });
|
|
|
+
|
|
|
+ // var sendBack = _workflowTraceRepository.Queryable()
|
|
|
+ //.LeftJoin<Order>((x, o) => x.ExternalId == o.Id)
|
|
|
+ // .Where((x, o) => o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime && x.CreationTime >= dto.StartTime && x.BusinessType == EBusinessType.Seat && (x.PrevStepName == "班长审批" || x.PrevStepName == "派单组"))
|
|
|
+ //.GroupBy((x, o) => new { o.AcceptorId})
|
|
|
+ //.Select((x, o) => new { UserId = o.AcceptorId, SendOrderBackNum = SqlFunc.AggregateDistinctCount(x.ExternalId), SendOrderBackNumber = SqlFunc.AggregateCount(x.ExternalId) });
|
|
|
var sendBack = _orderSendBackAuditRepository.Queryable()
|
|
|
.LeftJoin<Order>((x, o) => x.OrderId == o.Id)
|
|
|
- .Where((x, o) => x.ApplyOrgId != OrgSeedData.CenterId && (x.SendBackStepName == "班长审批" || x.SendBackStepName == "派单组") && o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime)
|
|
|
+ .Where((x, o) => x.ApplyOrgId != OrgSeedData.CenterId && (x.SendBackStepName == "话务部") && o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime)
|
|
|
.GroupBy((x, o) => new { o.AcceptorId })
|
|
|
.Select((x, o) => new SeatSendBackStatisticsVo { UserId = o.AcceptorId, SendOrderBackNum = SqlFunc.AggregateDistinctCount(x.OrderId), SendOrderBackNumber = SqlFunc.AggregateCount(x.Id) });
|
|
|
|
|
|
|
|
|
var filed = _orderRepository.Queryable()
|
|
|
- .Where(x=> x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.Status >= EOrderStatus.Filed && x.FileOrgIsCenter == true)
|
|
|
+ .Where(x=> x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.Status >= EOrderStatus.Filed && x.FileOrgIsCenter == true && x.FileUserRole == EFileUserType.Seat)
|
|
|
.GroupBy(x=>x.AcceptorId)
|
|
|
.Select(x => new SeatSendBackStatisticsVo { UserId = x.AcceptorId, CentreFileNum = SqlFunc.AggregateDistinctCount(x.Id) });
|
|
|
|
|
@@ -6530,56 +6553,57 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
.LeftJoin<Order>((x, o) => x.OrderId == o.Id)
|
|
|
.Where((x, o) => o.CreationTime >= dto.StartTime && o.CreationTime <= dto.EndTime && x.SpecialType == ESpecialType.SendBack && x.NextStepCode == "start")
|
|
|
.GroupBy((x, o) => new { o.AcceptorId })
|
|
|
- .Select((x, o) => new SeatSendBackStatisticsVo { UserId = o.AcceptorId, CentreFileBackNum = SqlFunc.AggregateDistinctCount(x.OrderId), CentreFileBackNumber = SqlFunc.AggregateCount(x.OrderId)});
|
|
|
-
|
|
|
- var query = seats.LeftJoin(send, (s, sd) => s.Id == sd.UserId)
|
|
|
- .LeftJoin(sendBack, (s, sd, sb) => s.Id == sb.UserId)
|
|
|
- .LeftJoin(filed, (s, sd, sb, f) => s.Id == f.UserId)
|
|
|
- .LeftJoin(back, (s, sd, sb, f, b) => s.Id == b.UserId)
|
|
|
- .GroupBy((s, sd, sb, f, b) => new { s.Id, s.Name })
|
|
|
- .Select((s, sd, sb, f, b) => new SeatSendBackStatisticsVo
|
|
|
- {
|
|
|
- UserId = s.Id,
|
|
|
- UserName = s.Name,
|
|
|
- SendOrderNum = SqlFunc.AggregateSum(sd.SendOrderNum),
|
|
|
- SendOrderBackNum = SqlFunc.AggregateSum(sb.SendOrderBackNum),
|
|
|
- SendOrderBackNumber = SqlFunc.AggregateSum(sb.SendOrderBackNumber),
|
|
|
- CentreFileNum = SqlFunc.AggregateSum(f.CentreFileNum),
|
|
|
- CentreFileBackNum = SqlFunc.AggregateSum(b.CentreFileBackNum),
|
|
|
- CentreFileBackNumber = SqlFunc.AggregateSum(b.CentreFileBackNumber),
|
|
|
- });
|
|
|
+ .Select((x, o) => new SeatSendBackStatisticsVo { UserId = o.AcceptorId, CentreFileBackNum = SqlFunc.AggregateDistinctCount(x.OrderId), CentreFileBackNumber = SqlFunc.AggregateCount(x.OrderId) });
|
|
|
+
|
|
|
+ var query = seats.LeftJoin(send, (s, sd) => s.Id == sd.UserId)
|
|
|
+ .LeftJoin(sendBack, (s, sd, sb) => s.Id == sb.UserId)
|
|
|
+ .LeftJoin(filed, (s, sd, sb, f) => s.Id == f.UserId)
|
|
|
+ .LeftJoin(back, (s, sd, sb, f, b) => s.Id == b.UserId)
|
|
|
+ .GroupBy((s, sd, sb, f, b) => new { s.Id, s.Name })
|
|
|
+ .Select((s, sd, sb, f, b) => new SeatSendBackStatisticsVo
|
|
|
+ {
|
|
|
+ UserId = s.Id,
|
|
|
+ UserName = s.Name,
|
|
|
+ SendOrderNum = SqlFunc.AggregateSum(sd.SendOrderNum),
|
|
|
+ SendOrderBackNum = SqlFunc.AggregateSum(sb.SendOrderBackNum),
|
|
|
+ SendOrderBackNumber = SqlFunc.AggregateSum(sb.SendOrderBackNumber),
|
|
|
+ CentreFileNum = SqlFunc.AggregateSum(f.CentreFileNum),
|
|
|
+ CentreFileBackNum = SqlFunc.AggregateSum(b.CentreFileBackNum),
|
|
|
+ CentreFileBackNumber = SqlFunc.AggregateSum(b.CentreFileBackNumber),
|
|
|
+ });
|
|
|
return query;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- /// <summary>
|
|
|
- /// 坐席退回统计表明细
|
|
|
- /// </summary>
|
|
|
- /// <param name="dto"></param>
|
|
|
- /// <returns></returns>
|
|
|
- public ISugarQueryable<OrderDto> SeatSendBackStatisticsDetail(SeatSendBackStatisticsDetail dto) {
|
|
|
+ /// <summary>
|
|
|
+ /// 坐席退回统计表明细
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public ISugarQueryable<OrderDto> SeatSendBackStatisticsDetail(SeatSendBackStatisticsDetail dto)
|
|
|
+ {
|
|
|
|
|
|
- if (dto.StatisticsType == "sendOrderNum")
|
|
|
+ if (dto.StatisticsType == "sendOrderNum")
|
|
|
{
|
|
|
- var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.UserId ),x=> x.AcceptorId == dto.UserId)
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.No), x => x.No.Contains(dto.No!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Title.Contains(dto.Title!))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.AcceptType), x => x.AcceptTypeCode == dto.AcceptType) //受理类型
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.Channel), x => x.SourceChannelCode == dto.Channel) //来源渠道
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.Hotspot),
|
|
|
- x => x.HotspotSpliceName != null && x.HotspotSpliceName.Contains(dto.Hotspot)) //热点分类
|
|
|
- .Where(x => SqlFunc.Subqueryable<WorkflowTrace>().Where(wt => wt.ExternalId == x.Id && wt.HandlerOrgId != OrgSeedData.CenterId && (wt.PrevStepName == "班长审批" || wt.PrevStepName == "派单组")).Any())
|
|
|
- .Select(x=> new OrderDto() { Id = x.Id.SelectAll() })
|
|
|
- .OrderByIF(dto is { SortField: "startTime", SortRule: 0 }, x => x.StartTime, OrderByType.Asc)
|
|
|
- .OrderByIF(dto is { SortField: "startTime", SortRule: 1 }, x => x.StartTime, OrderByType.Desc)
|
|
|
- .OrderByIF(dto is { SortField: "filedTime", SortRule: 0 }, x => x.FiledTime, OrderByType.Asc)
|
|
|
- .OrderByIF(dto is { SortField: "filedTime", SortRule: 1 }, x => x.FiledTime, OrderByType.Desc)
|
|
|
- .OrderByIF(dto is { SortField: "sendBackAuditTime", SortRule: 0 }, x => x.SendBackAuditTime, OrderByType.Asc)
|
|
|
- .OrderByIF(dto is { SortField: "sendBackAuditTime", SortRule: 1 }, x => x.SendBackAuditTime, OrderByType.Desc);
|
|
|
+ var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.UserId), x => x.AcceptorId == dto.UserId)
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.No), x => x.No.Contains(dto.No!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Title.Contains(dto.Title!))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.AcceptType), x => x.AcceptTypeCode == dto.AcceptType) //受理类型
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Channel), x => x.SourceChannelCode == dto.Channel) //来源渠道
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.Hotspot),
|
|
|
+ x => x.HotspotSpliceName != null && x.HotspotSpliceName.Contains(dto.Hotspot)) //热点分类
|
|
|
+ .Where(x => SqlFunc.Subqueryable<WorkflowTrace>().Where(wt => wt.ExternalId == x.Id && wt.HandlerOrgId != OrgSeedData.CenterId && (wt.PrevStepName == "班长审批" || wt.PrevStepName == "派单组")).Any())
|
|
|
+ .Select(x => new OrderDto() { Id = x.Id.SelectAll() })
|
|
|
+ .OrderByIF(dto is { SortField: "startTime", SortRule: 0 }, x => x.StartTime, OrderByType.Asc)
|
|
|
+ .OrderByIF(dto is { SortField: "startTime", SortRule: 1 }, x => x.StartTime, OrderByType.Desc)
|
|
|
+ .OrderByIF(dto is { SortField: "filedTime", SortRule: 0 }, x => x.FiledTime, OrderByType.Asc)
|
|
|
+ .OrderByIF(dto is { SortField: "filedTime", SortRule: 1 }, x => x.FiledTime, OrderByType.Desc)
|
|
|
+ .OrderByIF(dto is { SortField: "sendBackAuditTime", SortRule: 0 }, x => x.SendBackAuditTime, OrderByType.Asc)
|
|
|
+ .OrderByIF(dto is { SortField: "sendBackAuditTime", SortRule: 1 }, x => x.SendBackAuditTime, OrderByType.Desc);
|
|
|
return query;
|
|
|
}
|
|
|
- else if(dto.StatisticsType == "sendOrderBackNum")
|
|
|
+ else if (dto.StatisticsType == "sendOrderBackNum")
|
|
|
{
|
|
|
var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime )
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.UserId), x => x.AcceptorId == dto.UserId)
|
|
@@ -6589,7 +6613,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Channel), x => x.SourceChannelCode == dto.Channel) //来源渠道
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Hotspot),
|
|
|
x => x.HotspotSpliceName != null && x.HotspotSpliceName.Contains(dto.Hotspot)) //热点分类
|
|
|
- .Where(x => SqlFunc.Subqueryable<OrderSendBackAudit>().Where(os => os.OrderId == x.Id && os.ApplyOrgId != OrgSeedData.CenterId && (os.SendBackStepName == "班长审批" || os.SendBackStepName == "派单组")).Any())
|
|
|
+ .Where(x => SqlFunc.Subqueryable<OrderSendBackAudit>().Where(os => os.OrderId == x.Id && os.ApplyOrgId != OrgSeedData.CenterId && (os.SendBackStepName == "话务部")).Any())
|
|
|
.Select(x => new OrderDto() { Id = x.Id.SelectAll() })
|
|
|
.OrderByIF(dto is { SortField: "startTime", SortRule: 0 }, x => x.StartTime, OrderByType.Asc)
|
|
|
.OrderByIF(dto is { SortField: "startTime", SortRule: 1 }, x => x.StartTime, OrderByType.Desc)
|
|
@@ -6602,7 +6626,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
else if (dto.StatisticsType == "sendOrderBackNumber")
|
|
|
{
|
|
|
var query = _orderRepository.Queryable()
|
|
|
- .LeftJoin<OrderSendBackAudit>((x, os) => x.Id == os.OrderId && os.ApplyOrgId != OrgSeedData.CenterId && (os.SendBackStepName == "班长审批" || os.SendBackStepName == "派单组"))
|
|
|
+ .LeftJoin<OrderSendBackAudit>((x, os) => x.Id == os.OrderId && os.ApplyOrgId != OrgSeedData.CenterId && (os.SendBackStepName == "话务部"))
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), (x, os) => x.No.Contains(dto.No!))
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Title), (x, os) => x.Title.Contains(dto.Title!))
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.AcceptType), (x, os) => x.AcceptTypeCode == dto.AcceptType) //受理类型
|
|
@@ -6623,7 +6647,7 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
}
|
|
|
else if (dto.StatisticsType == "centreFileNum")
|
|
|
{
|
|
|
- var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime )
|
|
|
+ var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.FileUserRole == EFileUserType.Seat )
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.UserId), x => x.AcceptorId == dto.UserId)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.No), x => x.No.Contains(dto.No!))
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.Title), x => x.Title.Contains(dto.Title!))
|
|
@@ -6673,15 +6697,15 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.UserId), (x, os) => x.AcceptorId == dto.UserId)
|
|
|
.Select((x, os) => new OrderDto() { Id = x.Id.SelectAll() , SendBackOpinion = os.Reason , SendBackAuditTime = os.CreationTime })
|
|
|
.MergeTable()
|
|
|
- .OrderByIF(dto is { SortField: "startTime", SortRule: 0 }, x => x.StartTime, OrderByType.Asc)
|
|
|
- .OrderByIF(dto is { SortField: "startTime", SortRule: 1 }, x => x.StartTime, OrderByType.Desc)
|
|
|
- .OrderByIF(dto is { SortField: "filedTime", SortRule: 0 }, x => x.FiledTime, OrderByType.Asc)
|
|
|
- .OrderByIF(dto is { SortField: "filedTime", SortRule: 1 }, x => x.FiledTime, OrderByType.Desc)
|
|
|
- .OrderByIF(dto is { SortField: "sendBackAuditTime", SortRule: 0 }, x => x.SendBackAuditTime, OrderByType.Asc)
|
|
|
- .OrderByIF(dto is { SortField: "sendBackAuditTime", SortRule: 1 }, x => x.SendBackAuditTime, OrderByType.Desc);
|
|
|
- return query;
|
|
|
- }
|
|
|
+ .OrderByIF(dto is { SortField: "startTime", SortRule: 0 }, x => x.StartTime, OrderByType.Asc)
|
|
|
+ .OrderByIF(dto is { SortField: "startTime", SortRule: 1 }, x => x.StartTime, OrderByType.Desc)
|
|
|
+ .OrderByIF(dto is { SortField: "filedTime", SortRule: 0 }, x => x.FiledTime, OrderByType.Asc)
|
|
|
+ .OrderByIF(dto is { SortField: "filedTime", SortRule: 1 }, x => x.FiledTime, OrderByType.Desc)
|
|
|
+ .OrderByIF(dto is { SortField: "sendBackAuditTime", SortRule: 0 }, x => x.SendBackAuditTime, OrderByType.Asc)
|
|
|
+ .OrderByIF(dto is { SortField: "sendBackAuditTime", SortRule: 1 }, x => x.SendBackAuditTime, OrderByType.Desc);
|
|
|
+ return query;
|
|
|
+ }
|
|
|
return null;
|
|
|
- }
|
|
|
- #endregion
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
}
|