|
@@ -93,22 +93,18 @@ namespace Hotline.Api.Controllers
|
|
var time = DateTime.Parse(tadayTime);
|
|
var time = DateTime.Parse(tadayTime);
|
|
var order = await _orderRepository.Queryable(false, false, false)
|
|
var order = await _orderRepository.Queryable(false, false, false)
|
|
.Includes(o => o.Workflow, w => w.Steps)
|
|
.Includes(o => o.Workflow, w => w.Steps)
|
|
- .Where(o=> o.Workflow.Steps.Any(s => s.Status == EWorkflowStepStatus.Handled) && o.Workflow.ExpiredTime > time)
|
|
|
|
|
|
+ .Where(o => o.Workflow.Steps.Any(s => s.Status == EWorkflowStepStatus.Handled) && o.Workflow.ExpiredTime > time)
|
|
.GroupBy(o=>o.Id)
|
|
.GroupBy(o=>o.Id)
|
|
.Select(o => new {
|
|
.Select(o => new {
|
|
tasksOkNum= SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) , 1, 0)),
|
|
tasksOkNum= SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) , 1, 0)),
|
|
tasksOkOrgNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) , 1, 0)),
|
|
tasksOkOrgNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) , 1, 0)),
|
|
- //handleNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) && o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled) && o.Workflow.ActualHandleTime.Value.ToString("yyyy-MM-dd") == tadayTime && o.Workflow.ActualHandleTime != null, 1, 0)),
|
|
|
|
- //handleOrgNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled) && o.Workflow.ActualHandleTime.Value.ToString("yyyy-MM-dd") == tadayTime && o.Workflow.ActualHandleTime != null, 1, 0)),
|
|
|
|
- //exceedTasksOkNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.Workflow.Steps.Any(s => s.Status == EWorkflowStepStatus.Handled) && SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.ExpiredTime > DateTime.Now, 1, 0)),
|
|
|
|
- //exceedHandleNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled) && SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.ExpiredTime > DateTime.Now, 1, 0)),
|
|
|
|
- }).FirstAsync();
|
|
|
|
- var tasksOkNum = order.tasksOkNum;
|
|
|
|
- var tasksOkOrgNum = order.tasksOkOrgNum;
|
|
|
|
- //var tasksOkOrgNum = await _orderRepository.Queryable(false, false, false)
|
|
|
|
- // .Includes(o => o.Workflow, w => w.Steps)
|
|
|
|
- // .Where(o => o.Workflow.Steps.Any(s => s.Status == EWorkflowStepStatus.Handled))
|
|
|
|
- // .Where(o => SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.Workflow.ExpiredTime > time).CountAsync();
|
|
|
|
|
|
+ //handleNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) && o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled) && o.Workflow.ActualHandleTime.Value.ToString("yyyy-MM-dd") == tadayTime && o.Workflow.ActualHandleTime != null, 1, 0)),
|
|
|
|
+ //handleOrgNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled) && o.Workflow.ActualHandleTime.Value.ToString("yyyy-MM-dd") == tadayTime && o.Workflow.ActualHandleTime != null, 1, 0)),
|
|
|
|
+ //exceedTasksOkNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.Workflow.Steps.Any(s => s.Status == EWorkflowStepStatus.Handled) && SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.ExpiredTime > DateTime.Now, 1, 0)),
|
|
|
|
+ //exceedHandleNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled) && SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.ExpiredTime > DateTime.Now, 1, 0)),
|
|
|
|
+ }).FirstAsync();
|
|
|
|
+ var tasksOkNum = order?.tasksOkNum ?? 0;
|
|
|
|
+ var tasksOkOrgNum = order?.tasksOkOrgNum ?? 0;
|
|
//今日已办
|
|
//今日已办
|
|
var handleOrder = await _orderRepository.Queryable(false, false, false)
|
|
var handleOrder = await _orderRepository.Queryable(false, false, false)
|
|
.Includes(o => o.Workflow, w => w.Steps)
|
|
.Includes(o => o.Workflow, w => w.Steps)
|
|
@@ -119,16 +115,8 @@ namespace Hotline.Api.Controllers
|
|
handleNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId), 1, 0)),
|
|
handleNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId), 1, 0)),
|
|
handleOrgNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId), 1, 0)),
|
|
handleOrgNum = SqlFunc.AggregateSum(SqlFunc.IIF(SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId), 1, 0)),
|
|
}).FirstAsync();
|
|
}).FirstAsync();
|
|
- var handleNum = handleOrder.handleNum;
|
|
|
|
- var handleOrgNum = handleOrder.handleOrgNum;
|
|
|
|
- //var handleNum = await _orderRepository.Queryable(false, false, false)
|
|
|
|
- // .Includes(o => o.Workflow, w => w.Steps)
|
|
|
|
- // .Where(o => o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled))
|
|
|
|
- // .Where(o => o.Workflow.ActualHandleTime != null && SqlFunc.JsonListObjectAny(o.Workflow.HandlerUsers, "Key", _sessionContext.RequiredUserId) && o.Workflow.ActualHandleTime.Value.ToString("yyyy-MM-dd") == tadayTime).CountAsync();
|
|
|
|
- // var handleOrgNum = await _orderRepository.Queryable(false, false, false)
|
|
|
|
- // .Includes(o => o.Workflow, w => w.Steps)
|
|
|
|
- // .Where(o => o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled))
|
|
|
|
- // .Where(o => o.Workflow.ActualHandleTime != null && SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.Workflow.ActualHandleTime.Value.ToString("yyyy-MM-dd") == tadayTime).CountAsync();
|
|
|
|
|
|
+ var handleNum = handleOrder?.handleNum ?? 0;
|
|
|
|
+ var handleOrgNum = handleOrder?.handleOrgNum ?? 0;
|
|
//部门超期
|
|
//部门超期
|
|
var exceedOrder = await _orderRepository.Queryable(false, false, false)
|
|
var exceedOrder = await _orderRepository.Queryable(false, false, false)
|
|
.Includes(o => o.Workflow, w => w.Steps)
|
|
.Includes(o => o.Workflow, w => w.Steps)
|
|
@@ -139,16 +127,8 @@ namespace Hotline.Api.Controllers
|
|
exceedTasksOkNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.Workflow.Steps.Any(s => s.Status == EWorkflowStepStatus.Handled), 1, 0)),
|
|
exceedTasksOkNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.Workflow.Steps.Any(s => s.Status == EWorkflowStepStatus.Handled), 1, 0)),
|
|
exceedHandleNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled), 1, 0)),
|
|
exceedHandleNum = SqlFunc.AggregateSum(SqlFunc.IIF(o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled), 1, 0)),
|
|
}).FirstAsync();
|
|
}).FirstAsync();
|
|
- var exceedTasksOkNum = exceedOrder.exceedTasksOkNum;
|
|
|
|
- var exceedHandleNum = exceedOrder.exceedHandleNum;
|
|
|
|
- //var exceedTasksOkNum = await _orderRepository.Queryable(false, false, false)
|
|
|
|
- // .Includes(o => o.Workflow, w => w.Steps)
|
|
|
|
- // .Where(o => o.Workflow.Steps.Any(s => s.Status == EWorkflowStepStatus.Handled))
|
|
|
|
- // .Where(o => SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.ExpiredTime > DateTime.Now).CountAsync();
|
|
|
|
- // var exceedHandleNum = await _orderRepository.Queryable(false, false, false)
|
|
|
|
- // .Includes(o => o.Workflow, w => w.Steps)
|
|
|
|
- // .Where(o => o.Workflow.Steps.Any(s => s.Status != EWorkflowStepStatus.Handled))
|
|
|
|
- // .Where(o => SqlFunc.JsonListObjectAny(o.Workflow.HandlerOrgs, "Key", _sessionContext.RequiredOrgId) && o.ExpiredTime > DateTime.Now).CountAsync();
|
|
|
|
|
|
+ var exceedTasksOkNum = exceedOrder?.exceedTasksOkNum ?? 0;
|
|
|
|
+ var exceedHandleNum = exceedOrder?.exceedHandleNum ?? 0;
|
|
return new { TasksOkNum = tasksOkNum, TasksOkOrgNum = tasksOkOrgNum, HandleNum = handleNum, HandleOrgNum = handleOrgNum, ExceedTasksOkNum = exceedTasksOkNum, ExceedHandleNum = exceedHandleNum };
|
|
return new { TasksOkNum = tasksOkNum, TasksOkOrgNum = tasksOkOrgNum, HandleNum = handleNum, HandleOrgNum = handleOrgNum, ExceedTasksOkNum = exceedTasksOkNum, ExceedHandleNum = exceedHandleNum };
|
|
}
|
|
}
|
|
}
|
|
}
|