|
@@ -43,6 +43,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
private readonly IRepository<Role> _roleRepository;
|
|
|
private readonly IWfModuleCacheManager _wfModuleCacheManager;
|
|
|
private readonly ISessionContextProvider _sessionContextProvider;
|
|
|
+ private readonly ISessionContext _sessionContext;
|
|
|
private readonly IMapper _mapper;
|
|
|
private readonly IFileRepository _fileRepository;
|
|
|
private readonly ILogger<WorkflowApplication> _logger;
|
|
@@ -58,6 +59,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
IRepository<Role> roleRepository,
|
|
|
IWfModuleCacheManager wfModuleCacheManager,
|
|
|
ISessionContextProvider sessionContextProvider,
|
|
|
+ ISessionContext sessionContext,
|
|
|
IMapper mapper,
|
|
|
IFileRepository fileRepository,
|
|
|
ISystemSettingCacheManager systemSettingCacheManager,
|
|
@@ -72,6 +74,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
_roleRepository = roleRepository;
|
|
|
_wfModuleCacheManager = wfModuleCacheManager;
|
|
|
_sessionContextProvider = sessionContextProvider;
|
|
|
+ _sessionContext = sessionContext;
|
|
|
_mapper = mapper;
|
|
|
_fileRepository = fileRepository;
|
|
|
_logger = logger;
|
|
@@ -99,7 +102,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
//
|
|
|
// //下一节点是否为动态节点
|
|
|
// var isNextDynamic = startStepDefine.InstanceMode is EInstanceMode.Dynamic &&
|
|
|
- // !_workflowDomainService.DynamicShouldTerminal(startStepDefine, _sessionContextProvider.SessionContext.OrgLevel);
|
|
|
+ // !_workflowDomainService.DynamicShouldTerminal(startStepDefine, _sessionContext.OrgLevel);
|
|
|
// var firstStepDefine = isNextDynamic
|
|
|
// ? startStepDefine
|
|
|
// : definition.FindStepDefine(dto.NextStepCode);
|
|
@@ -125,7 +128,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
// }
|
|
|
//
|
|
|
// var workflow = await _workflowDomainService.CreateWorkflowAsync(wfModule, dto.Title,
|
|
|
- // _sessionContextProvider.SessionContext.RequiredUserId, _sessionContextProvider.SessionContext.RequiredOrgId,
|
|
|
+ // _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId,
|
|
|
// externalId, cancellationToken);
|
|
|
//
|
|
|
// //var startStepHandles = new List<WorkflowStepHandler>{WorkflowStepHandler.Create(workflow.Id, workflow.ExternalId,
|
|
@@ -135,22 +138,22 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
// var defineHandler = startStepDefine.HandlerTypeItems.First();
|
|
|
//
|
|
|
// var assigner = new UserInfo(
|
|
|
- // _sessionContextProvider.SessionContext.UserId,
|
|
|
- // _sessionContextProvider.SessionContext.UserName,
|
|
|
- // _sessionContextProvider.SessionContext.OrgId,
|
|
|
- // _sessionContextProvider.SessionContext.OrgName,
|
|
|
- // _sessionContextProvider.SessionContext.OrgIsCenter
|
|
|
+ // _sessionContext.UserId,
|
|
|
+ // _sessionContext.UserName,
|
|
|
+ // _sessionContext.OrgId,
|
|
|
+ // _sessionContext.OrgName,
|
|
|
+ // _sessionContext.OrgIsCenter
|
|
|
// );
|
|
|
//
|
|
|
// var startStep = _workflowDomainService.CreateStartStep(workflow, startStepDefine, dto, assigner,
|
|
|
// new FlowStepHandler
|
|
|
// {
|
|
|
- // Key = _sessionContextProvider.SessionContext.RequiredUserId,
|
|
|
- // Value = _sessionContextProvider.SessionContext.UserName,
|
|
|
- // UserId = _sessionContextProvider.SessionContext.UserId,
|
|
|
- // Username = _sessionContextProvider.SessionContext.UserName,
|
|
|
- // OrgId = _sessionContextProvider.SessionContext.RequiredOrgId,
|
|
|
- // OrgName = _sessionContextProvider.SessionContext.OrgName,
|
|
|
+ // Key = _sessionContext.RequiredUserId,
|
|
|
+ // Value = _sessionContext.UserName,
|
|
|
+ // UserId = _sessionContext.UserId,
|
|
|
+ // Username = _sessionContext.UserName,
|
|
|
+ // OrgId = _sessionContext.RequiredOrgId,
|
|
|
+ // OrgName = _sessionContext.OrgName,
|
|
|
// RoleId = defineHandler.Key,
|
|
|
// RoleName = defineHandler.Value,
|
|
|
// }, expiredTime);
|
|
@@ -181,11 +184,11 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
//
|
|
|
// //更新受理人信息
|
|
|
// workflow.UpdateAcceptor(
|
|
|
- // _sessionContextProvider.SessionContext.RequiredUserId,
|
|
|
- // _sessionContextProvider.SessionContext.UserName,
|
|
|
- // _sessionContextProvider.SessionContext.StaffNo,
|
|
|
- // _sessionContextProvider.SessionContext.RequiredOrgId,
|
|
|
- // _sessionContextProvider.SessionContext.OrgName);
|
|
|
+ // _sessionContext.RequiredUserId,
|
|
|
+ // _sessionContext.UserName,
|
|
|
+ // _sessionContext.StaffNo,
|
|
|
+ // _sessionContext.RequiredOrgId,
|
|
|
+ // _sessionContext.OrgName);
|
|
|
//
|
|
|
// await _workflowDomainService.StartAsync(workflow, startStep, dto, firstStepDefine, isNextDynamic,
|
|
|
// flowAssignInfo, counterSignType, expiredTime, cancellationToken);
|
|
@@ -216,29 +219,29 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
var startStepDefine = definition.FindStartStepDefine();
|
|
|
|
|
|
var workflow = await _workflowDomainService.CreateWorkflowAsync(wfModule, dto.Title,
|
|
|
- _sessionContextProvider.SessionContext.RequiredUserId, _sessionContextProvider.SessionContext.RequiredOrgId,
|
|
|
+ _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId,
|
|
|
externalId, cancellationToken);
|
|
|
|
|
|
var defineHandler = startStepDefine.HandlerTypeItems.First();
|
|
|
|
|
|
var assigner = new UserInfo(
|
|
|
- _sessionContextProvider.SessionContext.UserId,
|
|
|
- _sessionContextProvider.SessionContext.UserName,
|
|
|
- _sessionContextProvider.SessionContext.OrgId,
|
|
|
- _sessionContextProvider.SessionContext.OrgName,
|
|
|
- _sessionContextProvider.SessionContext.OrgIsCenter
|
|
|
+ _sessionContext.UserId,
|
|
|
+ _sessionContext.UserName,
|
|
|
+ _sessionContext.OrgId,
|
|
|
+ _sessionContext.OrgName,
|
|
|
+ _sessionContext.OrgIsCenter
|
|
|
);
|
|
|
|
|
|
//todo 需求:所有坐席都可以办,临时方案,后期重构:依据策略决定指派对象
|
|
|
var startStep = _workflowDomainService.CreateStartStep(workflow, startStepDefine, dto, assigner,
|
|
|
new StepAssignInfo
|
|
|
{
|
|
|
- Key = _sessionContextProvider.SessionContext.RequiredUserId,
|
|
|
- Value = _sessionContextProvider.SessionContext.UserName,
|
|
|
- UserId = _sessionContextProvider.SessionContext.UserId,
|
|
|
- Username = _sessionContextProvider.SessionContext.UserName,
|
|
|
- OrgId = _sessionContextProvider.SessionContext.RequiredOrgId,
|
|
|
- OrgName = _sessionContextProvider.SessionContext.OrgName,
|
|
|
+ Key = _sessionContext.RequiredUserId,
|
|
|
+ Value = _sessionContext.UserName,
|
|
|
+ UserId = _sessionContext.UserId,
|
|
|
+ Username = _sessionContext.UserName,
|
|
|
+ OrgId = _sessionContext.RequiredOrgId,
|
|
|
+ OrgName = _sessionContext.OrgName,
|
|
|
RoleId = defineHandler.Key,
|
|
|
RoleName = defineHandler.Value,
|
|
|
FlowAssignType = EFlowAssignType.Role,
|
|
@@ -261,11 +264,11 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
|
|
|
//更新受理人信息
|
|
|
workflow.UpdateAcceptor(
|
|
|
- _sessionContextProvider.SessionContext.RequiredUserId,
|
|
|
- _sessionContextProvider.SessionContext.UserName,
|
|
|
- _sessionContextProvider.SessionContext.StaffNo,
|
|
|
- _sessionContextProvider.SessionContext.RequiredOrgId,
|
|
|
- _sessionContextProvider.SessionContext.OrgName);
|
|
|
+ _sessionContext.RequiredUserId,
|
|
|
+ _sessionContext.UserName,
|
|
|
+ _sessionContext.StaffNo,
|
|
|
+ _sessionContext.RequiredOrgId,
|
|
|
+ _sessionContext.OrgName);
|
|
|
|
|
|
return workflow.Id;
|
|
|
}
|
|
@@ -296,7 +299,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
|
|
|
// //下一节点是否为动态节点
|
|
|
// var isNextDynamic = currentStepDefine.InstanceMode is EInstanceMode.Dynamic &&
|
|
|
- // !_workflowDomainService.DynamicShouldTerminal(currentStepDefine, _sessionContextProvider.SessionContext.OrgLevel);
|
|
|
+ // !_workflowDomainService.DynamicShouldTerminal(currentStepDefine, _sessionContext.OrgLevel);
|
|
|
|
|
|
// StepDefine nextStepDefine;
|
|
|
// if (isNextDynamic
|
|
@@ -355,11 +358,11 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
withTraces: true, withCountersigns: true, cancellationToken: cancellationToken);
|
|
|
|
|
|
return await _workflowDomainService.PreviousAsync(workflow, dto, new OperatorInfo(
|
|
|
- _sessionContextProvider.SessionContext.RequiredUserId, _sessionContextProvider.SessionContext.UserName,
|
|
|
- _sessionContextProvider.SessionContext.RequiredOrgId, _sessionContextProvider.SessionContext.OrgName,
|
|
|
- _sessionContextProvider.SessionContext.OrgAreaCode, _sessionContextProvider.SessionContext.OrgAreaName,
|
|
|
- _sessionContextProvider.SessionContext.OrgIsCenter, _sessionContextProvider.SessionContext.Roles,
|
|
|
- _sessionContextProvider.SessionContext.OrgLevel), handleMode, newStepConfig, cancellationToken);
|
|
|
+ _sessionContext.RequiredUserId, _sessionContext.UserName,
|
|
|
+ _sessionContext.RequiredOrgId, _sessionContext.OrgName,
|
|
|
+ _sessionContext.OrgAreaCode, _sessionContext.OrgAreaName,
|
|
|
+ _sessionContext.OrgIsCenter, _sessionContext.Roles,
|
|
|
+ _sessionContext.OrgLevel), handleMode, newStepConfig, cancellationToken);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -480,7 +483,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
|
|
|
var startStepDefine = definition.FindStartStepDefine();
|
|
|
if (startStepDefine.InstanceMode is EInstanceMode.Dynamic &&
|
|
|
- !_workflowDomainService.DynamicShouldTerminal(startStepDefine, _sessionContextProvider.SessionContext.OrgLevel))
|
|
|
+ !_workflowDomainService.DynamicShouldTerminal(startStepDefine, _sessionContext.OrgLevel))
|
|
|
{
|
|
|
var settingHandle = _systemSettingCacheManager.GetSetting(SettingConstants.RoleJingBanRen);
|
|
|
var settingLead = _systemSettingCacheManager.GetSetting(SettingConstants.RoleLingDao);
|
|
@@ -525,8 +528,8 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
var workflow = await _workflowDomainService.GetWorkflowAsync(workflowId, withDefine: true, withSteps: true,
|
|
|
cancellationToken: cancellationToken);
|
|
|
var currentStep = _workflowDomainService.FindCurrentStepWaitForHandle(workflow,
|
|
|
- _sessionContextProvider.SessionContext.RequiredUserId, _sessionContextProvider.SessionContext.RequiredOrgId,
|
|
|
- _sessionContextProvider.SessionContext.Roles);
|
|
|
+ _sessionContext.RequiredUserId, _sessionContext.RequiredOrgId,
|
|
|
+ _sessionContext.Roles);
|
|
|
if (currentStep.StepType is EStepType.End)
|
|
|
throw new UserFriendlyException("结束节点无需办理");
|
|
|
|
|
@@ -638,7 +641,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
var currentStepDefine = _workflowDomainService.GetStepDefine(workflow.WorkflowDefinition, currentStep.Code);
|
|
|
|
|
|
if (currentStep.InstanceMode is EInstanceMode.Dynamic &&
|
|
|
- !_workflowDomainService.DynamicShouldTerminal(currentStepDefine, _sessionContextProvider.SessionContext.OrgLevel))
|
|
|
+ !_workflowDomainService.DynamicShouldTerminal(currentStepDefine, _sessionContext.OrgLevel))
|
|
|
{
|
|
|
var settingHandle = _systemSettingCacheManager.GetSetting(SettingConstants.RoleJingBanRen);
|
|
|
var settingLead = _systemSettingCacheManager.GetSetting(SettingConstants.RoleLingDao);
|
|
@@ -827,7 +830,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
nextDto.ReviewResult = EReviewResult.Failed;
|
|
|
nextDto.NextStepCode = endStepDefine.Code;
|
|
|
nextDto.NextStepName = endStepDefine.Name;
|
|
|
- nextDto.FlowDirection = _sessionContextProvider.SessionContext.OrgIsCenter
|
|
|
+ nextDto.FlowDirection = _sessionContext.OrgIsCenter
|
|
|
? EFlowDirection.CenterToFile
|
|
|
: EFlowDirection.OrgToFile;
|
|
|
|
|
@@ -969,7 +972,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
};
|
|
|
}
|
|
|
|
|
|
- var orgId = _sessionContextProvider.SessionContext.RequiredOrgId;
|
|
|
+ var orgId = _sessionContext.RequiredOrgId;
|
|
|
var levelOneOrgId = orgId.GetHigherOrgId();
|
|
|
var isCenter = levelOneOrgId.IsCenter();
|
|
|
switch (stepDefine.HandlerType)
|
|
@@ -1065,8 +1068,8 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- var upLevels = levels.Where(d => d <= _sessionContextProvider.SessionContext.OrgLevel).ToList();
|
|
|
- var lowLevels = levels.Where(d => d > _sessionContextProvider.SessionContext.OrgLevel).ToList();
|
|
|
+ var upLevels = levels.Where(d => d <= _sessionContext.OrgLevel).ToList();
|
|
|
+ var lowLevels = levels.Where(d => d > _sessionContext.OrgLevel).ToList();
|
|
|
orgs1 = await query
|
|
|
.Where(d => (upLevels.Contains(d.Level) && d.Id.StartsWith(levelOneOrgId)) ||
|
|
|
(lowLevels.Contains(d.Level) && d.Id.StartsWith(orgId)))
|
|
@@ -1183,7 +1186,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
switch (policy)
|
|
|
{
|
|
|
case EDynamicPolicy.OrgUpCenterTop:
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel - 1;
|
|
|
if (orgLevel < 0) orgLevel = 0;
|
|
|
|
|
|
if (orgLevel == 0)
|
|
@@ -1209,7 +1212,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
businessType = EBusinessType.Department;
|
|
|
|
|
|
//上级部门Id
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => d.Id == upperOrgId)
|
|
|
.Select(d => new StepAssignInfo
|
|
@@ -1225,15 +1228,15 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
|
|
|
break;
|
|
|
case EDynamicPolicy.OrgUp:
|
|
|
- businessType = _sessionContextProvider.SessionContext.OrgIsCenter
|
|
|
+ businessType = _sessionContext.OrgIsCenter
|
|
|
? EBusinessType.Send
|
|
|
- : _sessionContextProvider.SessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
+ : _sessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
? EBusinessType.Send
|
|
|
: EBusinessType.Department;
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel - 1;
|
|
|
if (orgLevel <= 0) orgLevel = 1;
|
|
|
//上级部门Id
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => d.Id == upperOrgId)
|
|
|
.Select(d => new StepAssignInfo
|
|
@@ -1247,7 +1250,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
.ToListAsync(cancellationToken);
|
|
|
break;
|
|
|
case EDynamicPolicy.OrgUpHandleCenterTop:
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel - 1;
|
|
|
if (orgLevel < 0) orgLevel = 0;
|
|
|
|
|
|
if (orgLevel == 0)
|
|
@@ -1273,7 +1276,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
businessType = EBusinessType.Department;
|
|
|
roleName = handleRoleName;
|
|
|
//上级部门Id
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => d.Id == upperOrgId)
|
|
|
.Select(d => new StepAssignInfo
|
|
@@ -1291,16 +1294,16 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
|
|
|
break;
|
|
|
case EDynamicPolicy.OrgUpHandle:
|
|
|
- businessType = _sessionContextProvider.SessionContext.OrgIsCenter
|
|
|
+ businessType = _sessionContext.OrgIsCenter
|
|
|
? EBusinessType.Send
|
|
|
- : _sessionContextProvider.SessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
+ : _sessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
? EBusinessType.Send
|
|
|
: EBusinessType.Department;
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel - 1;
|
|
|
if (orgLevel <= 0) orgLevel = 1;
|
|
|
roleName = handleRoleName;
|
|
|
//上级部门Id
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => d.Id == upperOrgId)
|
|
|
.Select(d => new StepAssignInfo
|
|
@@ -1316,11 +1319,11 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
.ToListAsync(cancellationToken);
|
|
|
break;
|
|
|
case EDynamicPolicy.OrgUpLeadCenterTop:
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel - 1;
|
|
|
if (orgLevel < 0) orgLevel = 0;
|
|
|
- isLead = _sessionContextProvider.SessionContext.Roles.Any(x => x == leadRoleCode);
|
|
|
+ isLead = _sessionContext.Roles.Any(x => x == leadRoleCode);
|
|
|
isSkip = await _userRepository.Queryable()
|
|
|
- .AnyAsync(x => x.OrgId == _sessionContextProvider.SessionContext.RequiredOrgId && x.Roles.Any(r => r.Name == leadRoleCode),
|
|
|
+ .AnyAsync(x => x.OrgId == _sessionContext.RequiredOrgId && x.Roles.Any(r => r.Name == leadRoleCode),
|
|
|
cancellationToken);
|
|
|
if (orgLevel == 0 && (isLead || !isSkip))
|
|
|
{
|
|
@@ -1343,7 +1346,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
else
|
|
|
{
|
|
|
businessType = EBusinessType.Department;
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(_sessionContextProvider.SessionContext.OrgLevel);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(_sessionContext.OrgLevel);
|
|
|
if (!isLead)
|
|
|
{
|
|
|
if (isSkip)
|
|
@@ -1356,7 +1359,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
if (isLead || !isSkip)
|
|
|
{
|
|
|
//上级部门Id
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
roleId = handleRoleCode;
|
|
|
roleName = handleRoleName;
|
|
|
}
|
|
@@ -1382,19 +1385,19 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
|
|
|
break;
|
|
|
case EDynamicPolicy.OrgUpLead:
|
|
|
- businessType = _sessionContextProvider.SessionContext.OrgIsCenter
|
|
|
+ businessType = _sessionContext.OrgIsCenter
|
|
|
? EBusinessType.Send
|
|
|
- : _sessionContextProvider.SessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
+ : _sessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
? EBusinessType.Send
|
|
|
: EBusinessType.Department;
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel - 1;
|
|
|
if (orgLevel <= 0) orgLevel = 1;
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(_sessionContextProvider.SessionContext.OrgLevel);
|
|
|
- isLead = _sessionContextProvider.SessionContext.Roles.Any(x => x == leadRoleCode);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(_sessionContext.OrgLevel);
|
|
|
+ isLead = _sessionContext.Roles.Any(x => x == leadRoleCode);
|
|
|
if (!isLead)
|
|
|
{
|
|
|
isSkip = await _userRepository.Queryable()
|
|
|
- .AnyAsync(x => x.OrgId == _sessionContextProvider.SessionContext.RequiredOrgId && x.Roles.Any(r => r.Name == leadRoleCode),
|
|
|
+ .AnyAsync(x => x.OrgId == _sessionContext.RequiredOrgId && x.Roles.Any(r => r.Name == leadRoleCode),
|
|
|
cancellationToken);
|
|
|
if (isSkip)
|
|
|
{
|
|
@@ -1406,7 +1409,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
if (isLead || !isSkip)
|
|
|
{
|
|
|
//上级部门Id
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
roleId = handleRoleCode;
|
|
|
roleName = handleRoleName;
|
|
|
}
|
|
@@ -1430,12 +1433,12 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
.ToListAsync(cancellationToken);
|
|
|
break;
|
|
|
case EDynamicPolicy.ArriveCenter:
|
|
|
- businessType = _sessionContextProvider.SessionContext.OrgIsCenter
|
|
|
+ businessType = _sessionContext.OrgIsCenter
|
|
|
? EBusinessType.Send
|
|
|
- : _sessionContextProvider.SessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
+ : _sessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
? EBusinessType.Send
|
|
|
: EBusinessType.Department;
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel - 1;
|
|
|
if (orgLevel <= 0) orgLevel = 1;
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => d.IsCenter)
|
|
@@ -1450,12 +1453,12 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
.ToListAsync(cancellationToken);
|
|
|
break;
|
|
|
case EDynamicPolicy.ArriveOneOrg:
|
|
|
- businessType = _sessionContextProvider.SessionContext.OrgIsCenter ? EBusinessType.Send : EBusinessType.Department;
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgIsCenter ? 0 : 1;
|
|
|
+ businessType = _sessionContext.OrgIsCenter ? EBusinessType.Send : EBusinessType.Department;
|
|
|
+ orgLevel = _sessionContext.OrgIsCenter ? 0 : 1;
|
|
|
//上级部门Id
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.OrgIsCenter
|
|
|
- ? _sessionContextProvider.SessionContext.RequiredOrgId.Substring(0, 3)
|
|
|
- : _sessionContextProvider.SessionContext.RequiredOrgId.Substring(0, 6);
|
|
|
+ upperOrgId = _sessionContext.OrgIsCenter
|
|
|
+ ? _sessionContext.RequiredOrgId.Substring(0, 3)
|
|
|
+ : _sessionContext.RequiredOrgId.Substring(0, 6);
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => d.Id == upperOrgId)
|
|
|
.Select(d => new StepAssignInfo
|
|
@@ -1470,7 +1473,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
break;
|
|
|
case EDynamicPolicy.OrgDownCenterTop:
|
|
|
businessType = EBusinessType.Department;
|
|
|
- if (_sessionContextProvider.SessionContext.OrgIsCenter)
|
|
|
+ if (_sessionContext.OrgIsCenter)
|
|
|
{
|
|
|
orgLevel = 1;
|
|
|
items = await _organizeRepository.Queryable()
|
|
@@ -1487,10 +1490,10 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel + 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel + 1;
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => !d.IsCenter && d.Level == orgLevel &&
|
|
|
- d.Id.StartsWith(_sessionContextProvider.SessionContext.RequiredOrgId))
|
|
|
+ d.Id.StartsWith(_sessionContext.RequiredOrgId))
|
|
|
.Select(d => new StepAssignInfo
|
|
|
{
|
|
|
Key = d.Id,
|
|
@@ -1505,9 +1508,9 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
break;
|
|
|
case EDynamicPolicy.OrgDown:
|
|
|
businessType = EBusinessType.Department;
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel + 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel + 1;
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
- .Where(d => d.Level == orgLevel && d.Id.StartsWith(_sessionContextProvider.SessionContext.RequiredOrgId))
|
|
|
+ .Where(d => d.Level == orgLevel && d.Id.StartsWith(_sessionContext.RequiredOrgId))
|
|
|
.Select(d => new StepAssignInfo
|
|
|
{
|
|
|
Key = d.Id,
|
|
@@ -1552,7 +1555,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
switch (policy)
|
|
|
{
|
|
|
case ECountersignPolicy.OrgUpCenterTop:
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel - 1;
|
|
|
if (orgLevel < 0) orgLevel = 0;
|
|
|
|
|
|
if (orgLevel == 0)
|
|
@@ -1578,7 +1581,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
businessType = EBusinessType.Department;
|
|
|
|
|
|
//上级部门Id
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => d.Id == upperOrgId)
|
|
|
.Select(d => new StepAssignInfo
|
|
@@ -1594,15 +1597,15 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
|
|
|
break;
|
|
|
case ECountersignPolicy.OrgUp:
|
|
|
- businessType = _sessionContextProvider.SessionContext.OrgIsCenter
|
|
|
+ businessType = _sessionContext.OrgIsCenter
|
|
|
? EBusinessType.Send
|
|
|
- : _sessionContextProvider.SessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
+ : _sessionContext.RequiredOrgId.CalcOrgLevel() == 1
|
|
|
? EBusinessType.Send
|
|
|
: EBusinessType.Department;
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel - 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel - 1;
|
|
|
if (orgLevel <= 0) orgLevel = 1;
|
|
|
//上级部门Id
|
|
|
- upperOrgId = _sessionContextProvider.SessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
+ upperOrgId = _sessionContext.RequiredOrgId.GetHigherOrgId(orgLevel);
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => d.Id == upperOrgId)
|
|
|
.Select(d => new StepAssignInfo
|
|
@@ -1617,7 +1620,7 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
break;
|
|
|
case ECountersignPolicy.OrgDownCenterTop:
|
|
|
businessType = EBusinessType.Department;
|
|
|
- if (_sessionContextProvider.SessionContext.OrgIsCenter)
|
|
|
+ if (_sessionContext.OrgIsCenter)
|
|
|
{
|
|
|
orgLevel = 1;
|
|
|
items = await _organizeRepository.Queryable()
|
|
@@ -1634,10 +1637,10 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel + 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel + 1;
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
.Where(d => !d.IsCenter && d.Level == orgLevel &&
|
|
|
- d.Id.StartsWith(_sessionContextProvider.SessionContext.RequiredOrgId))
|
|
|
+ d.Id.StartsWith(_sessionContext.RequiredOrgId))
|
|
|
.Select(d => new StepAssignInfo
|
|
|
{
|
|
|
Key = d.Id,
|
|
@@ -1652,9 +1655,9 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
|
|
|
break;
|
|
|
case ECountersignPolicy.OrgDown:
|
|
|
businessType = EBusinessType.Department;
|
|
|
- orgLevel = _sessionContextProvider.SessionContext.OrgLevel + 1;
|
|
|
+ orgLevel = _sessionContext.OrgLevel + 1;
|
|
|
items = await _organizeRepository.Queryable()
|
|
|
- .Where(d => d.Level == orgLevel && d.Id.StartsWith(_sessionContextProvider.SessionContext.RequiredOrgId))
|
|
|
+ .Where(d => d.Level == orgLevel && d.Id.StartsWith(_sessionContext.RequiredOrgId))
|
|
|
.Select(d => new StepAssignInfo
|
|
|
{
|
|
|
Key = d.Id,
|