|
@@ -27,6 +27,7 @@ using XF.Domain.Extensions;
|
|
|
using XF.Domain.Repository;
|
|
|
using XF.Utility.EnumExtensions;
|
|
|
using Hotline.Share.Dtos.File;
|
|
|
+using Microsoft.Extensions.Logging;
|
|
|
|
|
|
namespace Hotline.Application.FlowEngine;
|
|
|
|
|
@@ -51,6 +52,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
private readonly IMapper _mapper;
|
|
|
private readonly IFileRepository _fileRepository;
|
|
|
+ private readonly ILogger<WorkflowApplication> _logger;
|
|
|
|
|
|
public WorkflowApplication(
|
|
|
IDefinitionDomainService definitionDomainService,
|
|
@@ -69,8 +71,8 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
ITimeLimitDomainService timeLimitDomainService,
|
|
|
ISessionContext sessionContext,
|
|
|
IMapper mapper,
|
|
|
- IFileRepository fileRepository
|
|
|
- )
|
|
|
+ IFileRepository fileRepository,
|
|
|
+ ILogger<WorkflowApplication> logger)
|
|
|
{
|
|
|
_definitionDomainService = definitionDomainService;
|
|
|
_workflowDomainService = workflowDomainService;
|
|
@@ -89,6 +91,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
_sessionContext = sessionContext;
|
|
|
_mapper = mapper;
|
|
|
_fileRepository = fileRepository;
|
|
|
+ _logger = logger;
|
|
|
}
|
|
|
|
|
|
public async Task<string> StartWorkflowAsync(StartWorkflowDto dto, string externalId,
|
|
@@ -138,9 +141,9 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
}
|
|
|
|
|
|
var workflow = await _workflowDomainService.CreateWorkflowAsync(wfModule, dto.Title,
|
|
|
- _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId,
|
|
|
+ _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId,
|
|
|
externalId, expiredTimeConfig?.TimeText,
|
|
|
- expiredTimeConfig?.Count, expiredTimeConfig?.TimeType,
|
|
|
+ expiredTimeConfig?.Count, expiredTimeConfig?.TimeType,
|
|
|
expiredTimeConfig?.ExpiredTime, expiredTimeConfig?.NearlyExpiredTime, cancellationToken);
|
|
|
|
|
|
var startStep = _workflowDomainService.CreateStartStep(workflow, startStepDefine, dto,
|
|
@@ -262,7 +265,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
/// </summary>
|
|
|
public async Task RecallAsync(RecallDto dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
- var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withDefine: true, withSteps: true,
|
|
|
+ var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, withDefine: true, withSteps: true,
|
|
|
cancellationToken: cancellationToken);
|
|
|
|
|
|
//await _orderDomainService.ReadyToRecallAsync(workflow.ExternalId, cancellationToken);
|
|
@@ -300,7 +303,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
EReviewResult? reviewResult = EReviewResult.Unknown,
|
|
|
CancellationToken cancellationToken = default)
|
|
|
{
|
|
|
- var workflow = await _workflowDomainService.GetWorkflowAsync(workflowId, withDefine: true, withSteps: true,
|
|
|
+ var workflow = await _workflowDomainService.GetWorkflowAsync(workflowId, withDefine: true, withSteps: true,
|
|
|
cancellationToken: cancellationToken);
|
|
|
var endStepDefine = workflow.WorkflowDefinition.FindEndStepDefine();
|
|
|
if (endStepDefine is null)
|
|
@@ -798,6 +801,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
x => x.User)
|
|
|
.Where(d => stepDefine.HandlerTypeItems.Select(x => x.Key).Contains(d.Name))
|
|
|
.ToListAsync(cancellationToken);
|
|
|
+ _logger.LogInformation($"角色: {string.Join(",", roles.Select(d => d.Name))}");
|
|
|
var users1 = roles.SelectMany(d => d.Accounts).Select(d => d.User);
|
|
|
|
|
|
//工单办理:除一级部门选择中心汇总(中心会签流程,返回topCountersignStep场景),其余只能选下级部门
|
|
@@ -814,6 +818,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
// .Where(d => d.IsEnable && levels.Contains(d.Level))
|
|
|
// .WhereIF(!isCenter, d => d.Id.StartsWith(levelOneOrgId))
|
|
|
// .ToListAsync(cancellationToken);
|
|
|
+ _logger.LogInformation($"部门等级: {string.Join(",", levels)}");
|
|
|
|
|
|
var query = _organizeRepository.Queryable()
|
|
|
.Where(d => d.IsEnable);
|