|
@@ -326,67 +326,67 @@ public class TestController : BaseController
|
|
|
[HttpGet("wfdefine")]
|
|
|
public async Task GetWorkflowDefine([FromQuery] string id)
|
|
|
{
|
|
|
- var query = _workflowTraceRepository.Queryable()
|
|
|
- .LeftJoin<Workflow>((t, w) => t.WorkflowId == w.Id)
|
|
|
- .LeftJoin<Order>((t, w, o) => w.ExternalId == o.Id)
|
|
|
- .Where((t, w, o) => o.No.Length == 14);
|
|
|
-
|
|
|
- if (!string.IsNullOrEmpty(id))
|
|
|
- query = query.Where(d => d.WorkflowId == id);
|
|
|
- var list = await query
|
|
|
- .Select((t, w, o) => new { t, w, o })
|
|
|
- .ToListAsync(HttpContext.RequestAborted);
|
|
|
+ //var query = _workflowTraceRepository.Queryable()
|
|
|
+ // .LeftJoin<Workflow>((t, w) => t.WorkflowId == w.Id)
|
|
|
+ // .LeftJoin<Order>((t, w, o) => w.ExternalId == o.Id)
|
|
|
+ // .Where((t, w, o) => o.No.Length == 14);
|
|
|
+
|
|
|
+ //if (!string.IsNullOrEmpty(id))
|
|
|
+ // query = query.Where(d => d.WorkflowId == id);
|
|
|
+ //var list = await query
|
|
|
+ // .Select((t, w, o) => new { t, w, o })
|
|
|
+ // .ToListAsync(HttpContext.RequestAborted);
|
|
|
|
|
|
- var toUsers = list.Where(d => d.t.FlowAssignType == EFlowAssignType.User).ToList();
|
|
|
- var userIds = toUsers.SelectMany(d => d.t.Handlers).Select(d => d.Key).Distinct().ToList();
|
|
|
- var users = await _userRepository.Queryable()
|
|
|
- .Includes(d => d.Organization)
|
|
|
- .Where(d => userIds.Contains(d.Id))
|
|
|
- .ToListAsync(HttpContext.RequestAborted);
|
|
|
- //var orgTraces = list.Where(d => d.FlowAssignType == EFlowAssignType.Org).ToList();
|
|
|
- var stepHandlers = new List<WorkflowStepHandler>();
|
|
|
- foreach (var toUser in toUsers)
|
|
|
- {
|
|
|
- foreach (var traceHandler in toUser.t.Handlers)
|
|
|
- {
|
|
|
- var user = users.FirstOrDefault(d => d.Id == traceHandler.Key);
|
|
|
- if (user != null)
|
|
|
- stepHandlers.Add(new WorkflowStepHandler
|
|
|
- {
|
|
|
- WorkflowId = toUser.w.Id,
|
|
|
- ExternalId = toUser.w.ExternalId,
|
|
|
- WorkflowStepId = toUser.t.StepId,
|
|
|
- FlowAssignType = toUser.t.FlowAssignType.Value,
|
|
|
- UserId = user.Id,
|
|
|
- Username = user.Name,
|
|
|
- OrgId = user.OrgId,
|
|
|
- OrgName = user.Organization.Name,
|
|
|
- IsActualHandler = user.Id == toUser.t.HandlerId
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
+ //var toUsers = list.Where(d => d.t.FlowAssignType == EFlowAssignType.User).ToList();
|
|
|
+ //var userIds = toUsers.SelectMany(d => d.t.Handlers).Select(d => d.Key).Distinct().ToList();
|
|
|
+ //var users = await _userRepository.Queryable()
|
|
|
+ // .Includes(d => d.Organization)
|
|
|
+ // .Where(d => userIds.Contains(d.Id))
|
|
|
+ // .ToListAsync(HttpContext.RequestAborted);
|
|
|
+ ////var orgTraces = list.Where(d => d.FlowAssignType == EFlowAssignType.Org).ToList();
|
|
|
+ //var stepHandlers = new List<WorkflowStepHandler>();
|
|
|
+ //foreach (var toUser in toUsers)
|
|
|
+ //{
|
|
|
+ // foreach (var traceHandler in toUser.t.Handlers)
|
|
|
+ // {
|
|
|
+ // var user = users.FirstOrDefault(d => d.Id == traceHandler.Key);
|
|
|
+ // if (user != null)
|
|
|
+ // stepHandlers.Add(new WorkflowStepHandler
|
|
|
+ // {
|
|
|
+ // WorkflowId = toUser.w.Id,
|
|
|
+ // ExternalId = toUser.w.ExternalId,
|
|
|
+ // WorkflowStepId = toUser.t.StepId,
|
|
|
+ // FlowAssignType = toUser.t.FlowAssignType.Value,
|
|
|
+ // UserId = user.Id,
|
|
|
+ // Username = user.Name,
|
|
|
+ // OrgId = user.OrgId,
|
|
|
+ // OrgName = user.Organization.Name,
|
|
|
+ // IsActualHandler = user.Id == toUser.t.HandlerId
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ //}
|
|
|
|
|
|
- var toOrgs = list.Where(d => d.t.FlowAssignType == EFlowAssignType.Org).ToList();
|
|
|
- foreach (var toOrg in toOrgs)
|
|
|
- {
|
|
|
- foreach (var handler in toOrg.t.Handlers)
|
|
|
- {
|
|
|
- stepHandlers.Add(new WorkflowStepHandler
|
|
|
- {
|
|
|
- WorkflowId = toOrg.w.Id,
|
|
|
- ExternalId = toOrg.w.ExternalId,
|
|
|
- WorkflowStepId = toOrg.t.StepId,
|
|
|
- FlowAssignType = toOrg.t.FlowAssignType.Value,
|
|
|
- OrgId = handler.Key,
|
|
|
- OrgName = handler.Value,
|
|
|
- IsActualHandler = handler.Key == toOrg.t.HandlerOrgId
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
+ //var toOrgs = list.Where(d => d.t.FlowAssignType == EFlowAssignType.Org).ToList();
|
|
|
+ //foreach (var toOrg in toOrgs)
|
|
|
+ //{
|
|
|
+ // foreach (var handler in toOrg.t.Handlers)
|
|
|
+ // {
|
|
|
+ // stepHandlers.Add(new WorkflowStepHandler
|
|
|
+ // {
|
|
|
+ // WorkflowId = toOrg.w.Id,
|
|
|
+ // ExternalId = toOrg.w.ExternalId,
|
|
|
+ // WorkflowStepId = toOrg.t.StepId,
|
|
|
+ // FlowAssignType = toOrg.t.FlowAssignType.Value,
|
|
|
+ // OrgId = handler.Key,
|
|
|
+ // OrgName = handler.Value,
|
|
|
+ // IsActualHandler = handler.Key == toOrg.t.HandlerOrgId
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ //}
|
|
|
|
|
|
- _logger.LogInformation($"生成handlers: {stepHandlers.Count} 条");
|
|
|
+ //_logger.LogInformation($"生成handlers: {stepHandlers.Count} 条");
|
|
|
|
|
|
- await _workflowStepHandleRepository.AddRangeAsync(stepHandlers, HttpContext.RequestAborted);
|
|
|
+ //await _workflowStepHandleRepository.AddRangeAsync(stepHandlers, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
[AllowAnonymous]
|