| | |
| | | import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; |
| | | import cn.iocoder.yudao.framework.common.util.object.PageUtils; |
| | | import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; |
| | | import cn.iocoder.yudao.module.bpm.api.event.BpmProcessInstanceStatusEvent; |
| | | import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; |
| | | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.BpmModelMetaInfoVO; |
| | | import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO; |
| | |
| | | } |
| | | |
| | | // 3. 发送流程实例的状态事件 |
| | | processInstanceEventPublisher.sendProcessInstanceResultEvent( |
| | | BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, instance, status, reason)); |
| | | BpmProcessInstanceStatusEvent statusEvent = BpmProcessInstanceConvert.INSTANCE |
| | | .buildProcessInstanceStatusEvent(this, instance, status, reason); |
| | | // 带上流程分类(bpm_process_definition_info.category),便于业务模块兼容同一分类下的历史自定义 Key |
| | | BpmProcessDefinitionInfoDO processDefinitionInfo = processDefinitionService |
| | | .getProcessDefinitionInfo(instance.getProcessDefinitionId()); |
| | | if (processDefinitionInfo != null) { |
| | | statusEvent.setProcessDefinitionCategory(processDefinitionInfo.getCategory()); |
| | | } |
| | | processInstanceEventPublisher.sendProcessInstanceResultEvent(statusEvent); |
| | | |
| | | // 4. 流程后置通知 |
| | | if (Objects.equals(status, BpmProcessInstanceStatusEnum.APPROVE.getStatus())) { |
| | | BpmProcessDefinitionInfoDO processDefinitionInfo = processDefinitionService. |
| | | getProcessDefinitionInfo(instance.getProcessDefinitionId()); |
| | | if (ObjUtil.isNotNull(processDefinitionInfo) && |
| | | ObjUtil.isNotNull(processDefinitionInfo.getProcessAfterTriggerSetting())) { |
| | | BpmModelMetaInfoVO.HttpRequestSetting setting = processDefinitionInfo.getProcessAfterTriggerSetting(); |