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.api.vo.Result;
|
||||||
import com.jero.common.util.MessageUtils;
|
import com.jero.common.util.MessageUtils;
|
||||||
import com.jero.modules.activiti.entity.ProcessModelNode;
|
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.LawsProcessNodeOriginService;
|
||||||
import com.jero.modules.activiti.service.ProcessModelNodeService;
|
import com.jero.modules.activiti.service.ProcessModelNodeService;
|
||||||
import com.jero.modules.activiti.util.CreatedTools;
|
import com.jero.modules.activiti.util.CreatedTools;
|
||||||
@@ -19,10 +21,12 @@ import io.swagger.annotations.ApiImplicitParams;
|
|||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.activiti.bpmn.converter.BpmnXMLConverter;
|
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.constants.ModelDataJsonConstants;
|
||||||
import org.activiti.editor.language.json.converter.BpmnJsonConverter;
|
import org.activiti.editor.language.json.converter.BpmnJsonConverter;
|
||||||
import org.activiti.engine.RepositoryService;
|
import org.activiti.engine.RepositoryService;
|
||||||
|
import org.activiti.engine.delegate.TaskListener;
|
||||||
import org.activiti.engine.repository.*;
|
import org.activiti.engine.repository.*;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -39,10 +43,7 @@ import java.io.IOException;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -91,6 +92,26 @@ public class ModelerController {
|
|||||||
model.setMetaInfo(modelNode.toString());
|
model.setMetaInfo(modelNode.toString());
|
||||||
repositoryService.saveModel(model);
|
repositoryService.saveModel(model);
|
||||||
String modelId = model.getId();
|
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);
|
ObjectNode objectNode = new BpmnJsonConverter().convertToJson(bpmnModel);
|
||||||
repositoryService.addModelEditorSource(modelId, objectNode.toString().getBytes(StandardCharsets.UTF_8));
|
repositoryService.addModelEditorSource(modelId, objectNode.toString().getBytes(StandardCharsets.UTF_8));
|
||||||
//生成节点
|
//生成节点
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package com.jero.modules.activiti.listener;
|
||||||
|
|
||||||
|
import org.activiti.engine.delegate.DelegateTask;
|
||||||
|
import org.activiti.engine.delegate.TaskListener;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author liJiaRao
|
||||||
|
* @date 2023-10-15 17:02
|
||||||
|
*/
|
||||||
|
public class CompleteListener 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());
|
||||||
|
// todo 对接统一平台完成任务
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,7 +1,17 @@
|
|||||||
package com.jero.modules.activiti.listener;
|
package com.jero.modules.activiti.listener;
|
||||||
|
|
||||||
|
import org.activiti.bpmn.model.ActivitiListener;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import org.activiti.engine.delegate.DelegateExecution;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import org.activiti.engine.delegate.DelegateTask;
|
import org.activiti.engine.delegate.DelegateTask;
|
||||||
import org.activiti.engine.delegate.TaskListener;
|
import org.activiti.engine.delegate.TaskListener;
|
||||||
|
import org.activiti.engine.task.DelegationState;
|
||||||
|
import org.activiti.engine.task.IdentityLink;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author liJiaRao
|
* @author liJiaRao
|
||||||
@@ -10,9 +20,32 @@ import org.activiti.engine.delegate.TaskListener;
|
|||||||
public class CreateListener implements TaskListener {
|
public class CreateListener implements TaskListener {
|
||||||
@Override
|
@Override
|
||||||
public void notify(DelegateTask delegateTask) {
|
public void notify(DelegateTask delegateTask) {
|
||||||
|
String id = delegateTask.getId();
|
||||||
|
String name = delegateTask.getName();
|
||||||
|
String description = delegateTask.getDescription();
|
||||||
|
int priority = delegateTask.getPriority();
|
||||||
|
String processInstanceId = delegateTask.getProcessInstanceId();
|
||||||
|
String executionId = delegateTask.getExecutionId();
|
||||||
|
String processDefinitionId = delegateTask.getProcessDefinitionId();
|
||||||
|
Date createTime = delegateTask.getCreateTime();
|
||||||
|
String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
|
||||||
|
boolean isSuspended = delegateTask.isSuspended();
|
||||||
|
String tenantId = delegateTask.getTenantId();
|
||||||
|
String formKey = delegateTask.getFormKey();
|
||||||
|
DelegateExecution execution = delegateTask.getExecution();
|
||||||
|
String eventName = delegateTask.getEventName();
|
||||||
|
ActivitiListener currentActivitiListener = delegateTask.getCurrentActivitiListener();
|
||||||
|
DelegationState delegationState = delegateTask.getDelegationState();
|
||||||
|
String owner = delegateTask.getOwner();
|
||||||
|
String assignee = delegateTask.getAssignee();
|
||||||
|
Date dueDate = delegateTask.getDueDate();
|
||||||
|
String category = delegateTask.getCategory();
|
||||||
|
Set<IdentityLink> candidates = delegateTask.getCandidates();
|
||||||
|
|
||||||
System.out.println(delegateTask.getId());
|
System.out.println(delegateTask.getId());
|
||||||
System.out.println(delegateTask.getName());
|
System.out.println(delegateTask.getName());
|
||||||
System.out.println(delegateTask.getEventName());
|
System.out.println(delegateTask.getEventName());
|
||||||
System.out.println(delegateTask.getAssignee());
|
System.out.println(delegateTask.getAssignee());
|
||||||
|
// todo 对接统一平台完成任务
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user