From 5cc564054f04329ce0451a622697b34570084e18 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Wed, 26 Jun 2024 17:10:08 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=9A=E7=AD=BE=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E5=90=8E=EF=BC=8C=E6=9C=AA=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=8F=91=E9=80=81=E5=90=8C=E4=B8=80=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E5=88=A0=E9=99=A4=E5=BE=85=E5=8A=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/MyGlobalEventListener.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java b/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java index a4628437..2809a1e5 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/listener/MyGlobalEventListener.java @@ -60,6 +60,9 @@ public class MyGlobalEventListener implements ActivitiEventListener { case PROCESS_COMPLETED: this.activityComplete(event); break; + case ENTITY_DELETED: + this.entityDeleted(event); + break; default: //log.info("Event received: " + event.getType()); } @@ -300,6 +303,51 @@ public class MyGlobalEventListener implements ActivitiEventListener { pushWorkflowIntegrationAPI.sendActivityComplete(list); } + private void entityDeleted(ActivitiEvent event) { + log.info("===================任务删除事件==================="); + ActivitiEntityEventImpl activitiEntityEvent = (ActivitiEntityEventImpl) event; + TaskEntity delegateTask; + if (activitiEntityEvent.getEntity() instanceof TaskEntity){ + delegateTask = (TaskEntity) activitiEntityEvent.getEntity(); + }else { + return; + } + ExecutionEntity execution = delegateTask.getExecution(); + ProcessApprovalRecordService recordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class); + String taskId = delegateTask.getId(); + String assignee = delegateTask.getAssignee(); + String processDefinitionId = delegateTask.getProcessDefinitionId(); + //更新审批信息为完成 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProcessApprovalRecord::getTaskId,taskId); + wrapper.ne(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.COMPLETE.getValue()); + wrapper.ne(ProcessApprovalRecord::getFinishFlag,FinishFlagEnum.WITHDRAWN.getValue()); + ProcessApprovalRecord approvalRecord = recordService.getOne(wrapper); + if (approvalRecord == null){ + return; + } + Integer finishFlag = approvalRecord.getFinishFlag(); + if (FinishFlagEnum.COMPLETE.getValue().equals(finishFlag)){ + return; + } + log.info("id = " + delegateTask.getId()); + log.info("name = " + delegateTask.getName()); + log.info("taskEntity.getAssignee() = " + delegateTask.getAssignee()); + log.info("taskEntity.getIdentityLinks() = " + delegateTask.getIdentityLinks()); + log.info("execution.getActivityId() = " + execution.getActivityId()); + log.info("taskEntity.getVariables() = " + delegateTask.getVariables()); + // 对接统一平台 + PushWorkflowIntegrationAPI pushWorkflowIntegrationAPI = SpringContextUtil.getBean(PushWorkflowIntegrationAPI.class); + + List todoAddList = new ArrayList<>(); + HiworkTodoAdd hiworkTodoAdd = new HiworkTodoAdd(); + hiworkTodoAdd.setRecordId(approvalRecord.getId()); + hiworkTodoAdd.setProcessDefinitionId(processDefinitionId); + todoAddList.add(hiworkTodoAdd); + //对接统一平台生成删除 + pushWorkflowIntegrationAPI.sendDeleteTask(todoAddList); + } + private void activityComplete(ActivitiEvent event) { log.info("===================流程完成事件==================="); ActivitiEntityEventImpl activitiEntityEvent = (ActivitiEntityEventImpl) event;