|
@@ -6096,13 +6096,19 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
.GroupBy((x, o) => new {o.AcceptorId ,x.ExternalId })
|
|
|
.Select((x, o) => new { 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 = _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)
|
|
|
+ .GroupBy((x, o) => new { x.ApplyOrgId })
|
|
|
+ .Select((x, o) => new { UserId = x.ApplyOrgId, SendOrderBackNum = SqlFunc.AggregateDistinctCount(x.OrderId), SendOrderBackNumber = SqlFunc.AggregateCount(x.Id) });
|
|
|
+
|
|
|
|
|
|
- var filed = _orderRepository.Queryable()
|
|
|
+ var filed = _orderRepository.Queryable()
|
|
|
.Where(x=> x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.Status >= EOrderStatus.Filed && x.FileOrgIsCenter == true)
|
|
|
.GroupBy(x=>x.AcceptorId)
|
|
|
.Select(x => new { UserId = x.AcceptorId, FiledNum = SqlFunc.AggregateDistinctCount(x.Id) });
|
|
@@ -6137,41 +6143,51 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
|
- public ISugarQueryable<Order> SeatSendBackStatisticsDetail(SeatSendBackStatisticsDetail dto) {
|
|
|
-
|
|
|
- var query = _orderRepository.Queryable();
|
|
|
+ public ISugarQueryable<OrderDto> SeatSendBackStatisticsDetail(SeatSendBackStatisticsDetail dto) {
|
|
|
|
|
|
if (dto.StatisticsType == "sendOrderNum")
|
|
|
{
|
|
|
- query = query.Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
- .Where(x => SqlFunc.Subqueryable<WorkflowTrace>().Where(wt => wt.ExternalId == x.Id && wt.HandlerOrgId != OrgSeedData.CenterId && (wt.PrevStepName == "班长审批" || wt.PrevStepName == "派单组")).Any());
|
|
|
+ var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ .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() });
|
|
|
+ return query;
|
|
|
}
|
|
|
else if(dto.StatisticsType == "sendOrderBackNum")
|
|
|
{
|
|
|
- query = query.Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
- .Where(x => SqlFunc.Subqueryable<WorkflowTrace>().Where(wt => wt.ExternalId == x.Id && wt.BusinessType == EBusinessType.Seat && (wt.PrevStepName == "班长审批" || wt.PrevStepName == "派单组")).Any());
|
|
|
+ var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ .Where(x => SqlFunc.Subqueryable<OrderSendBackAudit>().Where(os => os.OrderId == x.Id && os.ApplyOrgId != OrgSeedData.CenterId && (os.SendBackStepName == "班长审批" || os.SendBackStepName == "派单组")).Any())
|
|
|
+ .Select(x => new OrderDto() { Id = x.Id.SelectAll() });
|
|
|
+ return query;
|
|
|
}
|
|
|
else if (dto.StatisticsType == "sendOrderBackNumber")
|
|
|
{
|
|
|
- query = query.LeftJoin<WorkflowTrace>((x, wt) => x.Id == wt.ExternalId && wt.BusinessType == EBusinessType.Seat && (wt.PrevStepName == "班长审批" || wt.PrevStepName == "派单组"))
|
|
|
- .Where((x, wt) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime).Select((x, wt) => x.SelectAll());
|
|
|
+ var query = _orderRepository.Queryable()
|
|
|
+ .LeftJoin<OrderSendBackAudit>((x, os) => x.Id == os.OrderId && os.ApplyOrgId != OrgSeedData.CenterId && (os.SendBackStepName == "班长审批" || os.SendBackStepName == "派单组"))
|
|
|
+ .Where((x, os) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ .Select((x, os) => new OrderDto() { Id = x.Id.SelectAll(), SendBackOpinion = os.Content, SendBackAuditTime = os.AuditTime });
|
|
|
+ return query;
|
|
|
}
|
|
|
else if (dto.StatisticsType == "centreFileNum")
|
|
|
{
|
|
|
- query = query.Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
- .Where(x => x.Status >= EOrderStatus.Filed && x.FileOrgIsCenter == true);
|
|
|
+ var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ .Where(x => x.Status >= EOrderStatus.Filed && x.FileOrgIsCenter == true).Select(x => new OrderDto() { Id = x.Id.SelectAll() });
|
|
|
+ return query;
|
|
|
}
|
|
|
else if (dto.StatisticsType == "centreFileBackNum")
|
|
|
{
|
|
|
- query = query.Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
- .Where(x => SqlFunc.Subqueryable<OrderSpecial>().Where(os => os.OrderId == x.Id && os.SpecialType == ESpecialType.SendBack && os.NextStepCode == "start").Any());
|
|
|
+ var query = _orderRepository.Queryable().Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ .Where(x => SqlFunc.Subqueryable<OrderSpecial>().Where(os => os.OrderId == x.Id && os.SpecialType == ESpecialType.SendBack && os.NextStepCode == "start").Any())
|
|
|
+ .Select(x => new OrderDto() { Id = x.Id.SelectAll() });
|
|
|
+ return query;
|
|
|
}
|
|
|
else if (dto.StatisticsType == "centreFileBackNumber")
|
|
|
{
|
|
|
- query = query.LeftJoin<OrderSpecial>((x, os) => x.Id == os.OrderId && os.SpecialType == ESpecialType.SendBack && os.NextStepCode == "start")
|
|
|
- .Where((x, os) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime).Select((x, os) => x.SelectAll());
|
|
|
+ var query = _orderRepository.Queryable().LeftJoin<OrderSpecial>((x, os) => x.Id == os.OrderId && os.SpecialType == ESpecialType.SendBack && os.NextStepCode == "start")
|
|
|
+ .Where((x, os) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ .Select((x, os) => new OrderDto() { Id = x.Id.SelectAll() , SendBackOpinion = os.Reason , SendBackAuditTime = os.CreationTime });
|
|
|
+ return query;
|
|
|
}
|
|
|
- return query;
|
|
|
+ return null;
|
|
|
}
|
|
|
#endregion
|
|
|
}
|