|
@@ -597,18 +597,6 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
NoHandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.Status < EOrderStatus.Filed && o.ExpiredTime < SqlFunc.GetDate(), 1, 0)),
|
|
|
}).MergeTable();
|
|
|
|
|
|
- //var queryCountersign = _workflowCountersignRepository.Queryable()
|
|
|
- // .LeftJoin<WorkflowCountersignMember>((x, o) => x.Id == o.WorkflowCountersignId)
|
|
|
- // .WhereIF(dto.StartTime.HasValue, x => x.CreationTime >= dto.StartTime)
|
|
|
- // .WhereIF(dto.EndTime.HasValue, x => x.CreationTime <= dto.EndTime)
|
|
|
- // .GroupBy((x, o) => o.Key)
|
|
|
- // .Select((x, o) => new OrderBiOrgDataListVo
|
|
|
- // {
|
|
|
- // OrgId = o.Key,
|
|
|
- // CounterHandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.IsHandled && x.IsExpired.HasValue && x.IsExpired.Value == true, 1, 0)),
|
|
|
- // CounterNoHandlerExtendedNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.IsHandled == false && x.IsExpired.HasValue && x.IsExpired.Value == true, 1, 0)),
|
|
|
- // }).MergeTable();
|
|
|
-
|
|
|
var queryCountersign = _workflowStepRepository.Queryable()
|
|
|
.Where(x=>x.CountersignPosition != ECountersignPosition.None)
|
|
|
.WhereIF(dto.StartTime.HasValue, x => x.CreationTime >= dto.StartTime)
|
|
@@ -664,42 +652,31 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
{
|
|
|
dto.EndTime = dto.EndTime.AddDays(1).AddSeconds(-1);
|
|
|
|
|
|
- var quer = _orderRepository.Queryable()
|
|
|
- .InnerJoin<SystemOrganize>((x, so) => x.ActualHandleOrgCode == so.Id)
|
|
|
- .Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
- //.WhereIF(dto.Statuses.Any(), x => dto.Statuses.Contains(x.Status)) //工单状态
|
|
|
- .WhereIF(dto.QueryType == 1, x => x.Status >= EOrderStatus.Filed && x.ExpiredTime < x.FiledTime) //业务已办超期
|
|
|
- .WhereIF(dto.QueryType == 3, x => x.Status < EOrderStatus.Filed && x.ExpiredTime < SqlFunc.GetDate()) //业务待办超期
|
|
|
- .WhereIF(dto.QueryType == 5, x =>
|
|
|
- (x.Status >= EOrderStatus.Filed && x.ExpiredTime < x.FiledTime) || (x.Status < EOrderStatus.Filed && x.ExpiredTime < SqlFunc.GetDate()))
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.QueryType is 1 or 3 , x => x.ActualHandleOrgCode == dto.OrgCode)
|
|
|
- //.WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.QueryType is 1 or 3 && dto.OrgCode != "001", x => x.ActualHandleOrgCode.StartsWith(dto.OrgCode))
|
|
|
- .MergeTable();
|
|
|
+ var quer = _orderRepository.Queryable()
|
|
|
+ .Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ //.WhereIF(dto.Statuses.Any(), x => dto.Statuses.Contains(x.Status)) //工单状态
|
|
|
+ .WhereIF(dto.QueryType == 1, x => x.Status >= EOrderStatus.Filed && x.ExpiredTime < x.FiledTime) //业务已办超期
|
|
|
+ .WhereIF(dto.QueryType == 3, x => x.Status < EOrderStatus.Filed && x.ExpiredTime < SqlFunc.GetDate()) //业务待办超期
|
|
|
+ .WhereIF(dto.QueryType == 5, x =>
|
|
|
+ (x.Status >= EOrderStatus.Filed && x.ExpiredTime < x.FiledTime) || (x.Status < EOrderStatus.Filed && x.ExpiredTime < SqlFunc.GetDate()))
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.QueryType is 1 or 3, x => x.ActualHandleOrgCode == dto.OrgCode)
|
|
|
+ .Select(x => x);
|
|
|
|
|
|
if (dto.QueryType is 2 or 4 or 5)
|
|
|
{
|
|
|
- //var queryCountersign = _workflowCountersignRepository.Queryable()
|
|
|
- // .LeftJoin<WorkflowCountersignMember>((x, o) => x.Id == o.WorkflowCountersignId)
|
|
|
- // .Where((x, o) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.IsExpired.HasValue && x.IsExpired.Value == true)
|
|
|
- // .WhereIF(dto.QueryType == 2, (x, o) => o.IsHandled == true) //会签已办超期
|
|
|
- // .WhereIF(dto.QueryType == 4, (x, o) => o.IsHandled == false) //会签待办超期
|
|
|
- // .WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.QueryType is 2 or 4 or 5, (x, o) => o.Key.StartsWith(dto.OrgCode))
|
|
|
- // //.GroupBy((x,o)=>x.WorkflowId)
|
|
|
- // .Select((x, o) => new { Id = x.WorkflowId })
|
|
|
- // .MergeTable();
|
|
|
var queryCountersign = _workflowStepRepository.Queryable()
|
|
|
- .Includes(x=>x.Workflow)
|
|
|
- .LeftJoin<Order>((x,o)=>x.ExternalId == o.Id)
|
|
|
- .Where((x, o) => x.CountersignPosition != ECountersignPosition.None && x.Workflow.ModuleCode == "OrderHandle")
|
|
|
- .Where((x, o) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
- .WhereIF(dto.QueryType == 2, (x, o) => x.Status == Share.Enums.FlowEngine.EWorkflowStepStatus.Handled && x.StepExpiredTime < x.HandleTime) //会签已办超期
|
|
|
- .WhereIF(dto.QueryType == 4, (x, o) => x.Status != Share.Enums.FlowEngine.EWorkflowStepStatus.Handled && x.StepExpiredTime < SqlFunc.GetDate())//会签待办超期
|
|
|
- .WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.QueryType is 2 or 4 or 5, (x, o) => x.HandlerOrgId == dto.OrgCode)
|
|
|
- .GroupBy((x, o) => o)
|
|
|
- .Select((x, o)=>o)
|
|
|
+ .Includes(x => x.Workflow)
|
|
|
+ .Where(x=> x.CountersignPosition != ECountersignPosition.None && x.Workflow.ModuleCode == "OrderHandle")
|
|
|
+ .Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ .WhereIF(dto.QueryType == 2, x => x.Status == Share.Enums.FlowEngine.EWorkflowStepStatus.Handled && x.StepExpiredTime < x.HandleTime) //会签已办超期
|
|
|
+ .WhereIF(dto.QueryType == 4, x => x.Status != Share.Enums.FlowEngine.EWorkflowStepStatus.Handled && x.StepExpiredTime < SqlFunc.GetDate())//会签待办超期
|
|
|
+ .WhereIF(!string.IsNullOrEmpty(dto.OrgCode) && dto.QueryType is 2 or 4 or 5, x => x.HandlerOrgId == dto.OrgCode)
|
|
|
+ .GroupBy(x=>x.ExternalId)
|
|
|
+ .Select(x=>new {Id = x.ExternalId, WorkflowId = x.ExternalId } )
|
|
|
.MergeTable();
|
|
|
- //quer = quer.InnerJoin(queryCountersign, (x, c) => x.WorkflowId == c.Id);
|
|
|
- quer = _orderRepository.UnionAll(quer, queryCountersign).Distinct();
|
|
|
+
|
|
|
+ var queryCountersignOrder = _orderRepository.Queryable().InnerJoin(queryCountersign, (o, w) => o.Id == w.Id).Select(o => o);
|
|
|
+ quer = _orderRepository.UnionAll(quer, queryCountersignOrder).MergeTable().InnerJoin<SystemOrganize>((x, so) => x.ActualHandleOrgCode == so.Id);
|
|
|
}
|
|
|
return quer;
|
|
|
}
|
|
@@ -715,7 +692,6 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
bool IsCenter = _sessionContext.OrgIsCenter;
|
|
|
|
|
|
var quer = _orderRepository.Queryable()
|
|
|
- .InnerJoin<SystemOrganize>((x, so) => x.ActualHandleOrgCode == so.Id)
|
|
|
.Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
.WhereIF(dto.Statuses.Any(), x => dto.Statuses.Contains(x.Status)) //工单状态
|
|
|
.WhereIF( dto.ExpiredType is 2, x=>x.OrderDelays.Any(x=> x.DelayState == EDelayState.Pass))
|
|
@@ -723,36 +699,20 @@ public class OrderApplication : IOrderApplication, IScopeDependency
|
|
|
(x.Status >= EOrderStatus.Filed && x.ExpiredTime < x.FiledTime) || (x.Status < EOrderStatus.Filed && x.ExpiredTime < SqlFunc.GetDate()))
|
|
|
.WhereIF(IsCenter == false, x => x.ActualHandleOrgCode == _sessionContext.RequiredOrgId)
|
|
|
.WhereIF(!string.IsNullOrEmpty(dto.OrgName) , x => x.AcceptorOrgName == dto.OrgName)
|
|
|
- .MergeTable();
|
|
|
-
|
|
|
- // var queryCountersign = _workflowCountersignRepository.Queryable()
|
|
|
- // .LeftJoin<WorkflowCountersignMember>((x, o) => x.Id == o.WorkflowCountersignId)
|
|
|
- // .Where((x, o) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime && x.IsExpired.HasValue && x.IsExpired.Value == true)
|
|
|
- // .WhereIF(IsCenter == false, (x, o) => o.Key.StartsWith(_sessionContext.RequiredOrgId))
|
|
|
- //.WhereIF(!string.IsNullOrEmpty(dto.OrgName), (x, o) => o.Value == dto.OrgName)
|
|
|
- // .Select((x, o) => new { Id = x.WorkflowId, ActualHandleOrgCode = o.Key, ActualHandleOrgName = o.Value })
|
|
|
- // .MergeTable();
|
|
|
+ .Select( x => new Order { DaysOverdueOrgName = x.ActualHandleOrgCode, Id = x.Id.SelectAll() });
|
|
|
+
|
|
|
var queryCountersign = _workflowStepRepository.Queryable()
|
|
|
.Includes(x => x.Workflow)
|
|
|
- .LeftJoin<Order>((x, o) => x.ExternalId == o.Id)
|
|
|
- .Where((x, o) => x.CountersignPosition != ECountersignPosition.None && x.Workflow.ModuleCode == "OrderHandle")
|
|
|
- .Where((x, o) => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
- .Where((x, o) => (x.Status == Share.Enums.FlowEngine.EWorkflowStepStatus.Handled && x.StepExpiredTime < x.HandleTime)||(x.Status != Share.Enums.FlowEngine.EWorkflowStepStatus.Handled && x.StepExpiredTime < SqlFunc.GetDate()))
|
|
|
- .WhereIF(IsCenter == false, (x,o) => x.HandlerOrgId == _sessionContext.RequiredOrgId)
|
|
|
- .GroupBy((x, o) => o)
|
|
|
- .Select((x, o) => new Order
|
|
|
- {
|
|
|
- DaysOverdueOrgName = x.HandlerOrgName,
|
|
|
- Id = x.Id.SelectAll()
|
|
|
- })
|
|
|
- .MergeTable();
|
|
|
-
|
|
|
- //quer = quer.LeftJoin(queryCountersign, (x, c) => x.WorkflowId == c.Id).Select((x, c) => new Order
|
|
|
- // {
|
|
|
- // DaysOverdueOrgName = SqlFunc.IIF(!string.IsNullOrEmpty(c.Id), c.ActualHandleOrgName, x.ActualHandleOrgName),
|
|
|
- // Id = x.Id.SelectAll()
|
|
|
- //}) ;
|
|
|
- quer = _orderRepository.UnionAll(quer, queryCountersign).Distinct();
|
|
|
+ .Where(x => x.CountersignPosition != ECountersignPosition.None && x.Workflow.ModuleCode == "OrderHandle")
|
|
|
+ .Where(x => x.CreationTime >= dto.StartTime && x.CreationTime <= dto.EndTime)
|
|
|
+ .Where(x => (x.Status == Share.Enums.FlowEngine.EWorkflowStepStatus.Handled && x.StepExpiredTime < x.HandleTime)||(x.Status != Share.Enums.FlowEngine.EWorkflowStepStatus.Handled && x.StepExpiredTime < SqlFunc.GetDate()))
|
|
|
+ .WhereIF(IsCenter == false, x => x.HandlerOrgId == _sessionContext.RequiredOrgId)
|
|
|
+ .GroupBy(x => new { x.ExternalId, x.HandlerOrgName })
|
|
|
+ .Select(x => new { Id = x.ExternalId, WorkflowId = x.ExternalId, HandlerOrgName = x.HandlerOrgName });
|
|
|
+
|
|
|
+ var queryCountersignOrder = _orderRepository.Queryable().InnerJoin(queryCountersign, (o, w) => o.Id == w.Id)
|
|
|
+ .Select((o,w)=> new Order { DaysOverdueOrgName = w.HandlerOrgName, Id = o.Id.SelectAll() });
|
|
|
+ quer = _orderRepository.UnionAll(quer, queryCountersignOrder);
|
|
|
return quer;
|
|
|
}
|
|
|
|