update - 兼容一个发起人的变量
This commit is contained in:
parent
e0cf547f27
commit
ea62693a6e
@ -10,6 +10,8 @@ public interface BpmnConstants {
|
||||
*/
|
||||
String FLOWABLE_SKIP_EXPRESSION_ENABLE = "[_FLOWABLE_SKIP_EXPRESSION_ENABLED_]";
|
||||
String INTERNAL_INITIATOR = "[_INTERNAL_INITIATOR_]";
|
||||
@Deprecated
|
||||
String OLD_INTERNAL_INITIATOR = "_INTERNAL_INITIATOR";
|
||||
String INTERNAL_END_USER_ID = "[_INTERNAL_END_USER_ID_]";
|
||||
String INTERNAL_END_TENANT_ID = "[_INTERNAL_END_TENANT_ID_]";
|
||||
String INTERNAL_END_USER_NAME = "[_INTERNAL_END_USER_NAME_]";
|
||||
|
||||
@ -22,7 +22,7 @@ public class CustomActivityBehaviorFactory extends DefaultActivityBehaviorFactor
|
||||
@Override
|
||||
public ParallelMultiInstanceBehavior createParallelMultiInstanceBehavior(Activity activity,
|
||||
AbstractBpmnActivityBehavior innerActivityBehavior) {
|
||||
return new CustomParallelMultiInstanceActivityBehavior(activity, innerActivityBehavior);
|
||||
return new CustomParallelMultiInstanceBehavior(activity, innerActivityBehavior);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -20,9 +20,9 @@ import java.util.Iterator;
|
||||
* @author wangli
|
||||
* @since 2023/7/29 00:25
|
||||
*/
|
||||
public class CustomParallelMultiInstanceActivityBehavior extends ParallelMultiInstanceBehavior {
|
||||
public CustomParallelMultiInstanceActivityBehavior(Activity activity,
|
||||
AbstractBpmnActivityBehavior originalActivityBehavior) {
|
||||
public class CustomParallelMultiInstanceBehavior extends ParallelMultiInstanceBehavior {
|
||||
public CustomParallelMultiInstanceBehavior(Activity activity,
|
||||
AbstractBpmnActivityBehavior originalActivityBehavior) {
|
||||
super(activity, originalActivityBehavior);
|
||||
}
|
||||
|
||||
@ -64,6 +64,11 @@ public class EngineActivityEventListener extends AbstractFlowableEngineEventList
|
||||
getOrderedListeners().forEach(i -> i.onCompleted(event));
|
||||
}
|
||||
|
||||
/**
|
||||
* 多实例 UserTask 通过,
|
||||
*
|
||||
* @param event
|
||||
*/
|
||||
@Override
|
||||
protected void multiInstanceActivityCompletedWithCondition(FlowableMultiInstanceActivityCompletedEvent event) {
|
||||
log.info("activityCompleted: activityId: {} activityName: {}", event.getActivityId(), event.getActivityName());
|
||||
|
||||
@ -75,6 +75,7 @@ import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_END_USER_N
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_INITIATOR;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_PROCESS_TYPE_CANCEL;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.INTERNAL_SPECIFY_NEXT_APPROVER;
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.OLD_INTERNAL_INITIATOR;
|
||||
import static cn.axzo.workflow.common.enums.BpmnFlowNodeMode.AND;
|
||||
import static cn.axzo.workflow.common.enums.BpmnFlowNodeMode.OR;
|
||||
import static cn.axzo.workflow.core.common.enums.BpmnErrorCode.PROCESS_DEFINITION_ID_NOT_EXISTS;
|
||||
@ -367,9 +368,16 @@ public class BpmnProcessInstanceServiceImpl implements BpmnProcessInstanceServic
|
||||
BpmnTaskDelegateAssigner assigner;
|
||||
if (dto.getHasVariable()) {
|
||||
assigner = (BpmnTaskDelegateAssigner) processInstance.getProcessVariables().get(INTERNAL_INITIATOR);
|
||||
if (Objects.isNull(assigner)) {
|
||||
assigner = (BpmnTaskDelegateAssigner) processInstance.getProcessVariables().get(OLD_INTERNAL_INITIATOR);
|
||||
}
|
||||
} else {
|
||||
assigner = (BpmnTaskDelegateAssigner) runtimeService.getVariable(processInstance.getId(),
|
||||
INTERNAL_INITIATOR);
|
||||
if (Objects.isNull(assigner)) {
|
||||
assigner = (BpmnTaskDelegateAssigner) runtimeService.getVariable(processInstance.getId(),
|
||||
OLD_INTERNAL_INITIATOR);
|
||||
}
|
||||
}
|
||||
|
||||
return instanceConverter.toVo(processInstance, processDefinition, assigner);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user