update TaskListener
This commit is contained in:
+26
-5
@@ -8,6 +8,8 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessModelNode;
|
||||
import com.jero.modules.activiti.listener.CompleteListener;
|
||||
import com.jero.modules.activiti.listener.CreateListener;
|
||||
import com.jero.modules.activiti.service.LawsProcessNodeOriginService;
|
||||
import com.jero.modules.activiti.service.ProcessModelNodeService;
|
||||
import com.jero.modules.activiti.util.CreatedTools;
|
||||
@@ -19,10 +21,12 @@ import io.swagger.annotations.ApiImplicitParams;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.bpmn.converter.BpmnXMLConverter;
|
||||
import org.activiti.bpmn.model.BpmnModel;
|
||||
import org.activiti.bpmn.model.*;
|
||||
import org.activiti.bpmn.model.Process;
|
||||
import org.activiti.editor.constants.ModelDataJsonConstants;
|
||||
import org.activiti.editor.language.json.converter.BpmnJsonConverter;
|
||||
import org.activiti.engine.RepositoryService;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.repository.*;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -39,10 +43,7 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -91,6 +92,26 @@ public class ModelerController {
|
||||
model.setMetaInfo(modelNode.toString());
|
||||
repositoryService.saveModel(model);
|
||||
String modelId = model.getId();
|
||||
Process mainProcess = bpmnModel.getMainProcess();
|
||||
//向所有userTask节点增加创建和完成时任务监听器
|
||||
Collection<FlowElement> flowElements = mainProcess.getFlowElements();
|
||||
for (FlowElement flowElement : flowElements) {
|
||||
if (flowElement instanceof UserTask) {
|
||||
UserTask userTask = (UserTask) flowElement;
|
||||
List<ActivitiListener> taskListeners = userTask.getTaskListeners();
|
||||
ActivitiListener createListener = new ActivitiListener();
|
||||
createListener.setEvent(TaskListener.EVENTNAME_CREATE);
|
||||
createListener.setImplementationType("class");
|
||||
createListener.setImplementation(CreateListener.class.toString());
|
||||
taskListeners.add(createListener);
|
||||
ActivitiListener completeListener = new ActivitiListener();
|
||||
completeListener.setEvent(TaskListener.EVENTNAME_COMPLETE);
|
||||
completeListener.setImplementationType("class");
|
||||
completeListener.setImplementation(CompleteListener.class.toString());
|
||||
taskListeners.add(completeListener);
|
||||
userTask.setTaskListeners(taskListeners);
|
||||
}
|
||||
}
|
||||
ObjectNode objectNode = new BpmnJsonConverter().convertToJson(bpmnModel);
|
||||
repositoryService.addModelEditorSource(modelId, objectNode.toString().getBytes(StandardCharsets.UTF_8));
|
||||
//生成节点
|
||||
|
||||
Reference in New Issue
Block a user