style: 删除无用监听器

This commit is contained in:
2024-07-18 09:47:54 +08:00
parent 108a6b9783
commit d55ddecc67
5 changed files with 0 additions and 233 deletions
@@ -1,39 +0,0 @@
package com.jero.modules.activiti.listener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.enums.FinishFlagEnum;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.util.SpringContextUtil;
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) {
//流程审批信息转办
ProcessApprovalRecordService recordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
String taskId = delegateTask.getId();
String assignee = delegateTask.getAssignee();
//更新审批信息为完成
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessApprovalRecord::getTaskId,taskId);
wrapper.eq(ProcessApprovalRecord::getUserId,assignee);
ProcessApprovalRecord approvalRecord = recordService.getOne(wrapper);
approvalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
recordService.updateById(approvalRecord);
System.out.println(taskId);
System.out.println(delegateTask.getName());
System.out.println(delegateTask.getEventName());
System.out.println(assignee);
}
}
@@ -1,51 +0,0 @@
package com.jero.modules.activiti.listener;
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
import com.jero.modules.activiti.enums.FinishFlagEnum;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.util.SpringContextUtil;
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.TaskListener;
import org.activiti.engine.task.DelegationState;
import org.activiti.engine.task.IdentityLink;
/**
* @author liJiaRao
* @date 2023-10-13 16:43
*/
public class CreateListener implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
//流程信息
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
//流程审批信息
ProcessApprovalRecordService recordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
String id = delegateTask.getId();
String name = delegateTask.getName();
String processInstanceId = delegateTask.getProcessInstanceId();
Date createTime = delegateTask.getCreateTime();
String assignee = delegateTask.getAssignee();
String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
//新增待审批记录
ProcessApprovalRecord approvalRecord = new ProcessApprovalRecord();
approvalRecord.setTaskId(id);
approvalRecord.setTaskName(name);
approvalRecord.setProcessInstanceId(processInstanceId);
approvalRecord.setUserId(assignee);
approvalRecord.setFinishFlag(FinishFlagEnum.INCOMPLETE.getValue());
approvalRecord.setCreateTime(createTime);
approvalRecord.setNodeId(taskDefinitionKey);
recordService.save(approvalRecord);
}
}
@@ -1,43 +0,0 @@
package com.jero.modules.activiti.listener;
import cn.hutool.core.date.DateBetween;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.enums.ProcessStatusEnum;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.util.SpringContextUtil;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.delegate.TaskListener;
import java.util.Date;
/**
* @author liJiaRao
* @date 2023-10-13 16:43
*/
public class EndListener implements ExecutionListener {
@Override
public void notify(DelegateExecution execution) {
//流程信息
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
String processInstanceId = execution.getProcessInstanceId();
ProcessAll processAll = processAllService.getByProcessInstanceId(processInstanceId);
Date createTime = processAll.getCreateTime();
DateTime date = DateUtil.date();
DateBetween between = date.between(createTime);
//更新流程总表信息为已完成
LambdaUpdateWrapper<ProcessAll> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(ProcessAll::getProcessInstanceId,processInstanceId);
wrapper.set(ProcessAll::getPrcStatus, ProcessStatusEnum.COMPLETED.getValue());
wrapper.set(ProcessAll::getEndTime,date);
wrapper.set(ProcessAll::getOverTime,between.toString());
processAllService.update(wrapper);
}
}
@@ -1,56 +0,0 @@
package com.jero.modules.activiti.listener;
import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
/**
* @author liJiaRao
* @date 2023-08-04 10:53
*/
@Slf4j
public class SignListener implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
/**
*
*/
//获取流程id
String taskId = delegateTask.getExecutionId();
//获取流程参数pass,会签人员完成自己的审批任务时会添加流程参数pass,false为拒绝,true为同意
// 1、创建ProcessEngine
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2、获取RunTimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
boolean pass = (Boolean) runtimeService.getVariable(taskId, "pass");
/* ${nrOfCompletedInstances/nrOfInstances==1}
* false:有一个人拒绝,整个流程就结束了,
* 因为Complete condition的值为pass == false,即,当流程参数为pass时会签就结束开始下一个任务
* 所以,当pass == false时,直接设置下一个流程跳转需要的参数
* true:审批人同意,同时要判断是不是所有的人都已经完成了,而不是由一个人同意该会签就结束
* 值得注意的是如果一个审批人完成了审批进入到该监听时nrOfCompletedInstances的值还没有更新,因此需要+1
*/
Integer complete = (Integer) runtimeService.getVariable(taskId, "nrOfCompletedInstances");
Integer all = (Integer) runtimeService.getVariable(taskId, "nrOfInstances");
// 这里的test对应的是第一个节点中的对应的参数
String username= (String) runtimeService.getVariable(delegateTask.getExecutionId(), "test");
if(!pass){
//会签结束,返回发起人节点
runtimeService.setVariable(taskId, "countersignState", 0);
runtimeService.setVariable(taskId, "test", username);
}else{
//说明都完成了并且没有人拒绝
if((complete + 1) / all == 1){
// 流程流向下个节点 test2为下个节点人的参数
runtimeService.setVariable(taskId, "countersignState", 1);
runtimeService.setVariable(taskId, "test2", "xiaowang");
}
}
}
}
@@ -1,44 +0,0 @@
package com.jero.modules.activiti.listener;
import com.jero.modules.activiti.entity.ProcessAll;
import com.jero.modules.activiti.enums.ProcessStatusEnum;
import com.jero.modules.activiti.enums.ProcessTypeEnum;
import com.jero.modules.activiti.service.ProcessAllService;
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
import com.jero.modules.activiti.util.SpringContextUtil;
import org.activiti.engine.*;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
import org.activiti.engine.repository.ProcessDefinition;
/**
* @author liJiaRao
* @date 2023-10-13 16:43
*/
public class StartListener implements ExecutionListener {
@Override
public void notify(DelegateExecution execution) {
//流程信息
ProcessAllService processAllService = SpringContextUtil.getBean(ProcessAllService.class);
//流程审批信息
ProcessApprovalRecordService recordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
String id = execution.getId();
String processInstanceId = execution.getProcessInstanceId();
String processDefinitionId = execution.getProcessDefinitionId();
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
ProcessDefinition processDefinition = repositoryService.getProcessDefinition(processDefinitionId);
String name = processDefinition.getName();
String key = processDefinition.getKey();
//新增流程总表信息(剩余的内容在启动流程时填充)
ProcessAll processAll = new ProcessAll();
processAll.setProcessInstanceId(processInstanceId);
processAll.setPrcType(ProcessTypeEnum.getValueByName(name, processDefinitionId));
processAll.setPrcStatus(ProcessStatusEnum.INCOMPLETE.getValue());
processAllService.save(processAll);
}
}