|
@@ -90,6 +90,8 @@ public class TestController : BaseController
|
|
|
private readonly IExportApplication _exportApplication;
|
|
|
private readonly IAiVisitService _aiVisitService;
|
|
|
private readonly IRepository<WorkflowTrace> _workflowTraceRepository;
|
|
|
+
|
|
|
+ private readonly IRepository<WorkflowStep> _workflowStepRepository;
|
|
|
//private readonly IRepository<WorkflowStepHandler> _workflowStepHandleRepository;
|
|
|
|
|
|
private readonly IRepository<SystemOrganize> _systemOrganizeRepository;
|
|
@@ -129,6 +131,7 @@ public class TestController : BaseController
|
|
|
IExportApplication exportApplication,
|
|
|
IAiVisitService aiVisitService,
|
|
|
IRepository<WorkflowTrace> workflowTraceRepository,
|
|
|
+ IRepository<WorkflowStep> workflowStepRepository,
|
|
|
//IRepository<WorkflowStepHandler> workflowStepHandleRepository,
|
|
|
IRepository<SystemOrganize> systemOrganizeRepository,
|
|
|
IOrderRepository orderRepository,
|
|
@@ -159,6 +162,7 @@ public class TestController : BaseController
|
|
|
_exportApplication = exportApplication;
|
|
|
_aiVisitService = aiVisitService;
|
|
|
_workflowTraceRepository = workflowTraceRepository;
|
|
|
+ _workflowStepRepository = workflowStepRepository;
|
|
|
//_workflowStepHandleRepository = workflowStepHandleRepository;
|
|
|
_systemOrganizeRepository = systemOrganizeRepository;
|
|
|
_orderRepository = orderRepository;
|
|
@@ -467,96 +471,22 @@ public class TestController : BaseController
|
|
|
//await _workflowStepHandleRepository.AddRangeAsync(stepHandlers, HttpContext.RequestAborted);
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 处理FlowAssignType
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
[AllowAnonymous]
|
|
|
[HttpPost("t3")]
|
|
|
public async Task TestExportExcel()
|
|
|
{
|
|
|
- // var items = await _workflowTraceRepository.Queryable()
|
|
|
- // .Where(d => !SqlFunc.Subqueryable<WorkflowStepHandler>().Where(x => x.WorkflowStepId == d.StepId).Any())
|
|
|
- // .ToListAsync(HttpContext.RequestAborted);
|
|
|
-
|
|
|
- //var handlerStepIds = await _workflowStepHandleRepository
|
|
|
- // .Queryable()
|
|
|
- // .Select(d=>d.WorkflowStepId)
|
|
|
- // .ToListAsync(HttpContext.RequestAborted);
|
|
|
- //_logger.LogInformation($"handler stepids: {handlerStepIds.Count}");
|
|
|
-
|
|
|
- //var items = await _workflowTraceRepository
|
|
|
- // .Queryable()
|
|
|
- // .Where(d => !handlerStepIds.Distinct().Contains(d.StepId))
|
|
|
- // .ToListAsync(HttpContext.RequestAborted);
|
|
|
- //_logger.LogInformation($"traces.count: {items.Count}");
|
|
|
-
|
|
|
- ////var items = await _workflowTraceRepository.Queryable()
|
|
|
- //// .LeftJoin<WorkflowStepHandler>((t, h) => t.StepId == h.WorkflowStepId)
|
|
|
- //// .Where((t, h) => h == null)
|
|
|
- //// .Select((t, h) => new { t, h })
|
|
|
- //// .ToListAsync(HttpContext.RequestAborted);
|
|
|
-
|
|
|
- //var handlerIds = items.Select(d => d)
|
|
|
- // .SelectMany(d => d.Handlers)
|
|
|
- // .Select(d => d.Key)
|
|
|
- // .Distinct()
|
|
|
- // .ToList();
|
|
|
- //var users = await _userRepository.Queryable()
|
|
|
- // .Includes(d => d.Organization)
|
|
|
- // .Where(d => handlerIds.Contains(d.Id))
|
|
|
- // .ToListAsync(HttpContext.RequestAborted);
|
|
|
- //var orgs = await _systemOrganizeRepository.Queryable()
|
|
|
- // .Where(d => handlerIds.Contains(d.Id))
|
|
|
- // .ToListAsync(HttpContext.RequestAborted);
|
|
|
-
|
|
|
- //var handlers = new List<WorkflowStepHandler>();
|
|
|
- //var updateTraces = new List<WorkflowTrace>();
|
|
|
- //foreach (var item in items)
|
|
|
- //{
|
|
|
- // var trace = item;
|
|
|
- // foreach (var traceHandler in trace.Handlers)
|
|
|
- // {
|
|
|
- // if (!trace.FlowAssignType.HasValue)
|
|
|
- // {
|
|
|
- // trace.FlowAssignType = traceHandler.Key.Length == 36 ? EFlowAssignType.User : EFlowAssignType.Org;
|
|
|
- // updateTraces.Add(trace);
|
|
|
- // }
|
|
|
-
|
|
|
- // if (trace.FlowAssignType == EFlowAssignType.User)
|
|
|
- // {
|
|
|
- // var user = users.FirstOrDefault(d => d.Id == traceHandler.Key);
|
|
|
- // if (user != null)
|
|
|
- // {
|
|
|
- // var stepHandler = WorkflowStepHandler.Create(trace.WorkflowId, trace.ExternalId,
|
|
|
- // trace.FlowAssignType.Value, user.Id, user.Name, user.OrgId, user.Organization.Name);
|
|
|
- // stepHandler.WorkflowStepId = trace.StepId;
|
|
|
- // handlers.Add(stepHandler);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // else
|
|
|
- // {
|
|
|
- // var org = orgs.FirstOrDefault(d => d.Id == traceHandler.Key);
|
|
|
- // if (org != null)
|
|
|
- // {
|
|
|
- // var stepHandler = WorkflowStepHandler.Create(trace.WorkflowId, trace.ExternalId,
|
|
|
- // trace.FlowAssignType.Value, orgId: org.Id, orgName: org.Name);
|
|
|
- // stepHandler.WorkflowStepId = trace.StepId;
|
|
|
- // handlers.Add(stepHandler);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- //}
|
|
|
-
|
|
|
- //_logger.LogInformation($"待更新traces: {updateTraces.Count}");
|
|
|
- //if (updateTraces.Any())
|
|
|
- // await _workflowTraceRepository.UpdateRangeAsync(updateTraces, HttpContext.RequestAborted);
|
|
|
-
|
|
|
- //_logger.LogInformation($"待更新traces: {handlers.Count}");
|
|
|
- //if (handlers.Any())
|
|
|
- // await _workflowStepHandleRepository.AddRangeAsync(handlers, HttpContext.RequestAborted);
|
|
|
-
|
|
|
- ///////
|
|
|
-
|
|
|
- var orders = await _orderRepository.Queryable(hasHandled: true)
|
|
|
- //.Where(entity=>entity.CreationTime>= DateTime.Now.AddMonths(-1))
|
|
|
+ var steps = await _workflowStepRepository.Queryable()
|
|
|
+ .Includes(d => d.WorkflowTrace)
|
|
|
+ .Where(d => d.FlowAssignType == null)
|
|
|
.ToListAsync(HttpContext.RequestAborted);
|
|
|
+ foreach (var step in steps)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
[HttpGet("rsa")]
|