浏览代码

新增自定义流程属性-串行/并行会签

wangliang 3 年之前
父节点
当前提交
2257026ae0

+ 0 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/custom/handler/EventHandler.java

@@ -1,7 +0,0 @@
-package com.qmth.distributed.print.business.activiti.custom.handler;
-
-import org.activiti.engine.delegate.event.ActivitiEvent;
-
-public interface EventHandler {
-    void handle(ActivitiEvent event);
-}

+ 0 - 16
distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/custom/listener/MultipleAllListener.java

@@ -1,16 +0,0 @@
-package com.qmth.distributed.print.business.activiti.custom.listener;
-
-import org.activiti.engine.delegate.DelegateTask;
-import org.activiti.engine.delegate.TaskListener;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-@Component
-public class MultipleAllListener implements TaskListener {
-
-    @Override
-    public void notify(DelegateTask delegateTask) {
-        List<String> userIdList = (List<String>) delegateTask.getVariable("ALL");
-        delegateTask.setVariable("ALL", userIdList);
-    }
-}

+ 10 - 18
distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/custom/listener/ProcessEventListener.java

@@ -1,34 +1,26 @@
 package com.qmth.distributed.print.business.activiti.custom.listener;
 
-import com.qmth.distributed.print.business.activiti.custom.handler.EventHandler;
 import org.activiti.engine.delegate.event.ActivitiEvent;
 import org.activiti.engine.delegate.event.ActivitiEventListener;
-import org.activiti.engine.delegate.event.ActivitiEventType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
 import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
 
+/**
+ * @Description: 全局监听
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2022/2/8
+ */
 @Component
 public class ProcessEventListener implements ActivitiEventListener, Serializable {
     private final static Logger log = LoggerFactory.getLogger(ProcessEventListener.class);
 
-    /**
-     * 各类 Event 的处理器
-     */
-    private Map<ActivitiEventType, EventHandler> handlers = new HashMap<ActivitiEventType, EventHandler>();
-
-    //简单的完成一下监听器的效果
     @Override
     public void onEvent(ActivitiEvent event) {
-        EventHandler eventHandler = handlers.get(event.getType());
-        if (Objects.nonNull(eventHandler)) {
-            eventHandler.handle(event);
-        }
         switch (event.getType()) {
             case PROCESS_STARTED:
                 // 流程启动
@@ -44,7 +36,7 @@ public class ProcessEventListener implements ActivitiEventListener, Serializable
 //                break;
             case ACTIVITY_COMPLETED:
                 // 一个节点成功结束
-                log.info("ACTIVITY_COMPLETED:ProcessInstanceId:{},ExecutionId:{},ProcessDefinitionId:{}", event.getProcessInstanceId(), event.getExecutionId(), event.getProcessDefinitionId());
+                log.info("流程节点完成_ACTIVITY_COMPLETED:ProcessInstanceId:{},ExecutionId:{},ProcessDefinitionId:{}", event.getProcessInstanceId(), event.getExecutionId(), event.getProcessDefinitionId());
                 break;
 //            case ACTIVITY_ERROR_RECEIVED:
 //                // 一个节点收到了一个错误事件。在节点实际处理错误之前触发。 事件的activityId对应着处理错误的节点。 这个事件后续会是ACTIVITY_SIGNALLED或ACTIVITY_COMPLETE, 如果错误发送成功的话。
@@ -127,7 +119,7 @@ public class ProcessEventListener implements ActivitiEventListener, Serializable
 //                break;
             case TASK_COMPLETED:
                 // 任务被完成了。它会在ENTITY_DELETE事件之前触发。当任务是流程一部分时,事件会在流程继续运行之前, 后续事件将是ACTIVITY_COMPLETE,对应着完成任务的节点。
-                log.info("TASK_COMPLETED:ProcessInstanceId:{},ExecutionId:{},ProcessDefinitionId:{}", event.getProcessInstanceId(), event.getExecutionId(), event.getProcessDefinitionId());
+                log.info("流程任务完成_TASK_COMPLETED:ProcessInstanceId:{},ExecutionId:{},ProcessDefinitionId:{}", event.getProcessInstanceId(), event.getExecutionId(), event.getProcessDefinitionId());
                 break;
 //            case TIMER_FIRED:
 //                // 触发了定时器。job包含在事件中。
@@ -146,7 +138,7 @@ public class ProcessEventListener implements ActivitiEventListener, Serializable
 //                log.info("VARIABLE_UPDATED:ProcessInstanceId:{},ExecutionId:{},ProcessDefinitionId:{}", event.getProcessInstanceId(), event.getExecutionId(), event.getProcessDefinitionId());
 //                break;
             default:
-                log.info("default->type:{},ProcessInstanceId:{},ExecutionId:{},ProcessDefinitionId:{}", event.getType(), event.getProcessInstanceId(), event.getExecutionId(), event.getProcessDefinitionId());
+//                log.info("default->type:{},ProcessInstanceId:{},ExecutionId:{},ProcessDefinitionId:{}", event.getType(), event.getProcessInstanceId(), event.getExecutionId(), event.getProcessDefinitionId());
                 break;
         }
     }

+ 0 - 21
distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/custom/listener/TaskCreateListener.java

@@ -1,21 +0,0 @@
-package com.qmth.distributed.print.business.activiti.custom.listener;
-
-import com.qmth.distributed.print.business.activiti.custom.handler.EventHandler;
-import org.activiti.engine.delegate.event.ActivitiEvent;
-import org.activiti.engine.delegate.event.impl.ActivitiEntityEventImpl;
-import org.activiti.engine.impl.persistence.entity.TaskEntity;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-
-@Component
-public class TaskCreateListener implements EventHandler {
-    private final static Logger log = LoggerFactory.getLogger(TaskCreateListener.class);
-
-    @Override
-    public void handle(ActivitiEvent event) {
-        ActivitiEntityEventImpl eventImpl = (ActivitiEntityEventImpl) event;
-        TaskEntity taskEntity = (TaskEntity) eventImpl.getEntity();
-    }
-}
-

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/api/TFCustomFlowController.java

@@ -73,7 +73,7 @@ public class TFCustomFlowController {
         }
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
         customFlowSaveDto.setSchoolAndOrgInfo(sysUser.getSchoolId(), sysUser.getOrgId());
-        log.info("customFlowSaveDto:{}", JacksonUtil.parseJson(customFlowSaveDto));
+//        log.info("customFlowSaveDto:{}", JacksonUtil.parseJson(customFlowSaveDto));
         String flowBpmnId = MD5Util.encoder(customFlowSaveDto.toString());
         BasicSchool basicSchool = commonCacheService.schoolCache(customFlowSaveDto.getSchoolId());
         flowBpmnId = basicSchool.getCode() + "_" + flowBpmnId;

+ 27 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/activiti/custom/config/ActivitiConfig.java → distributed-print/src/main/java/com/qmth/distributed/print/config/ActivitiConfig.java

@@ -1,7 +1,9 @@
-package com.qmth.distributed.print.business.activiti.custom.config;
+package com.qmth.distributed.print.config;
 
 import com.qmth.distributed.print.business.activiti.custom.listener.ProcessEventListener;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import org.activiti.engine.delegate.event.ActivitiEventListener;
+import org.activiti.engine.impl.cfg.IdGenerator;
 import org.activiti.spring.SpringProcessEngineConfiguration;
 import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer;
 import org.springframework.stereotype.Component;
@@ -10,16 +12,39 @@ import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * @Description: activiti配置
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/7/14
+ */
 @Component
-public class ActivitiConfig implements ProcessEngineConfigurationConfigurer {
+public class ActivitiConfig implements IdGenerator, ProcessEngineConfigurationConfigurer {
 
     @Resource
     ProcessEventListener processEventListener;
 
+    /**
+     * activiti 分布式id
+     *
+     * @return
+     */
+    @Override
+    public String getNextId() {
+        return String.valueOf(SystemConstant.getDbUuid());
+    }
+
+    /**
+     * activiti 全局监听
+     *
+     * @param springProcessEngineConfiguration
+     */
     @Override
     public void configure(SpringProcessEngineConfiguration springProcessEngineConfiguration) {
         List<ActivitiEventListener> activitiEventListener = new ArrayList<ActivitiEventListener>();
         activitiEventListener.add(processEventListener);//配置全局监听器
         springProcessEngineConfiguration.setEventListeners(activitiEventListener);
+
     }
 }

+ 0 - 21
distributed-print/src/main/java/com/qmth/distributed/print/config/ActivitiIdGenerator.java

@@ -1,21 +0,0 @@
-package com.qmth.distributed.print.config;
-
-import com.qmth.teachcloud.common.contant.SystemConstant;
-import org.activiti.engine.impl.cfg.IdGenerator;
-import org.springframework.stereotype.Component;
-
-/**
- * @Description: activiti 分布式id
- * @Param:
- * @return:
- * @Author: wangliang
- * @Date: 2021/7/14
- */
-@Component
-public class ActivitiIdGenerator implements IdGenerator {
-
-    @Override
-    public String getNextId() {
-        return String.valueOf(SystemConstant.getDbUuid());
-    }
-}

+ 1 - 1
distributed-print/src/main/java/com/qmth/distributed/print/config/MyProcessEngineConfigurator.java

@@ -17,7 +17,7 @@ import javax.annotation.Resource;
 public class MyProcessEngineConfigurator {
 
     @Resource
-    ActivitiIdGenerator activitiIdGenerator;
+    ActivitiConfig activitiIdGenerator;
 
     @Bean
     public ProcessEngineConfigurationImpl processEngineConfigurationImpl(ProcessEngineConfigurationImpl processEngineConfigurationImpl) {