Merge branch 'feature/REQ-2090' into 1.3.1-SNAPSHOT
This commit is contained in:
commit
a1bd31aaba
@ -116,7 +116,7 @@ public class CustomCarbonCopyUserSelectorCmd implements Command<List<BpmnTaskDel
|
||||
case approver_relation:
|
||||
assigners.addAll(getApproverRelationUser(carbon, carbonCopyObjectType,
|
||||
(DelegateExecution) list.get(0),
|
||||
processEngineConfiguration.getHistoryService(), processInstanceId));
|
||||
processEngineConfiguration, processInstanceId));
|
||||
break;
|
||||
case specify_user:
|
||||
assigners.addAll(JSON.parseArray(carbon.getSpecifyValue(), BpmnTaskDelegateAssigner.class));
|
||||
@ -131,13 +131,14 @@ public class CustomCarbonCopyUserSelectorCmd implements Command<List<BpmnTaskDel
|
||||
private List<BpmnTaskDelegateAssigner> getApproverRelationUser(BpmnCarbonCopyConf carbon,
|
||||
CarbonCopyObjectType carbonCopyObjectType,
|
||||
DelegateExecution execution,
|
||||
HistoryService historyService,
|
||||
ProcessEngineConfigurationImpl processEngineConfiguration,
|
||||
String processInstanceId) {
|
||||
List<BpmnTaskDelegateAssigner> assigners = new ArrayList<>();
|
||||
List<String> values = JSON.parseArray(carbon.getSpecifyValue(), String.class)
|
||||
.stream().map(JSON::parseObject)
|
||||
.map(i -> i.getString("value"))
|
||||
.collect(Collectors.toList());
|
||||
HistoryService historyService = processEngineConfiguration.getHistoryService();
|
||||
values.forEach(value -> {
|
||||
CarbonCopyObjectType approverRelationConf = CarbonCopyObjectType.valueOfType(value);
|
||||
switch (approverRelationConf) {
|
||||
@ -147,7 +148,13 @@ public class CustomCarbonCopyUserSelectorCmd implements Command<List<BpmnTaskDel
|
||||
.processInstanceId(processInstanceId)
|
||||
.variableName(INTERNAL_INITIATOR)
|
||||
.singleResult();
|
||||
assigners.add((BpmnTaskDelegateAssigner) historicVariableInstance.getValue());
|
||||
if (Objects.isNull(historicVariableInstance)) {
|
||||
RuntimeService runtimeService = processEngineConfiguration.getRuntimeService();
|
||||
BpmnTaskDelegateAssigner assigner = (BpmnTaskDelegateAssigner) runtimeService.getVariable(processInstanceId, INTERNAL_INITIATOR);
|
||||
assigners.add(assigner);
|
||||
} else {
|
||||
assigners.add((BpmnTaskDelegateAssigner) historicVariableInstance.getValue());
|
||||
}
|
||||
break;
|
||||
case approver:
|
||||
List<HistoricTaskInstance> taskInstances = historyService.createHistoricTaskInstanceQuery()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user