add TaskListener
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package com.jero.modules.activiti.listener;
|
||||
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-10-13 16:43
|
||||
*/
|
||||
public class CreateListener implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
System.out.println(delegateTask.getId());
|
||||
System.out.println(delegateTask.getName());
|
||||
System.out.println(delegateTask.getEventName());
|
||||
System.out.println(delegateTask.getAssignee());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.jero.modules.activiti.listener;
|
||||
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-10-13 16:43
|
||||
*/
|
||||
public class EndListener implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
|
||||
}
|
||||
}
|
||||
+33
@@ -16,6 +16,7 @@ import org.activiti.bpmn.model.*;
|
||||
import org.activiti.bpmn.model.Process;
|
||||
import org.activiti.editor.language.json.converter.BpmnJsonConverter;
|
||||
import org.activiti.engine.RepositoryService;
|
||||
import org.activiti.engine.delegate.TaskListener;
|
||||
import org.activiti.engine.repository.Model;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -167,6 +168,38 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Object testAddTaskListener(AddTaskVO addTaskVO) {
|
||||
try {
|
||||
String modelId = addTaskVO.getModelId();
|
||||
String xmlNodeId = addTaskVO.getXmlNodeId();
|
||||
String nodeName = addTaskVO.getNodeName();
|
||||
|
||||
//查询模型
|
||||
Model model = repositoryService.getModel(modelId);
|
||||
|
||||
byte[] modelEditorSource = repositoryService.getModelEditorSource(modelId);
|
||||
ObjectNode objectNode = (ObjectNode) new ObjectMapper().readTree(modelEditorSource);
|
||||
BpmnModel bpmnModel = new BpmnJsonConverter().convertToBpmnModel(objectNode);
|
||||
|
||||
Process process = bpmnModel.getMainProcess();
|
||||
|
||||
UserTask flowElement1 =(UserTask) process.getFlowElement(xmlNodeId);
|
||||
List<ActivitiListener> taskListeners = flowElement1.getTaskListeners();
|
||||
for (ActivitiListener taskListener : taskListeners) {
|
||||
taskListener.setEvent(TaskListener.EVENTNAME_CREATE);
|
||||
taskListener.setImplementationType("class");
|
||||
taskListener.setImplementation("com.jero.modules.activiti.listener.CreateListener");
|
||||
log.info(taskListener.toString());
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public void deleteTask(AddTaskVO addTaskVO) {
|
||||
try {
|
||||
String modelId = addTaskVO.getModelId();
|
||||
|
||||
Reference in New Issue
Block a user