From ddeb7622109f7a459029a746fb8eb649434ecdb2 Mon Sep 17 00:00:00 2001 From: wangli Date: Tue, 5 Dec 2023 23:27:29 +0800 Subject: [PATCH] =?UTF-8?q?add=20-=20=E7=94=B1=E4=BA=8E=20Flowable=20?= =?UTF-8?q?=E6=A1=86=E6=9E=B6=E8=87=AA=E8=BA=AB=E4=B8=8D=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=20Task=20=E7=9A=84=E6=93=8D=E4=BD=9C=E7=8A=B6=E6=80=81,?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8E=86=E5=8F=B2=E4=BB=BB=E5=8A=A1=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E8=AE=B0=E5=BD=95=E6=89=A9=E5=B1=95=E8=A1=A8,?= =?UTF-8?q?=E7=94=A8=E4=BA=8E=E8=AE=B0=E5=BD=95=E6=AF=8F=E4=B8=AA=20task?= =?UTF-8?q?=20=E7=9A=84=E6=93=8D=E4=BD=9C=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/entity/ExtAxHiTaksInst.java | 50 +++++++++++++++++++ .../mapper/ExtAxHiTaskInstMapper.java | 15 ++++++ .../core/service/ExtAxHiTaskInstService.java | 11 ++++ .../impl/BpmnProcessTaskServiceImpl.java | 3 +- .../impl/ExtAxHiTaskInstServiceImpl.java | 25 ++++++++++ .../main/resources/sql/ext_ax_hi_taskInst.sql | 14 ++++++ .../ExtDatabaseInitializer.java | 2 +- 7 files changed, 118 insertions(+), 2 deletions(-) create mode 100644 workflow-engine-core/src/main/java/cn/axzo/workflow/core/repository/entity/ExtAxHiTaksInst.java create mode 100644 workflow-engine-core/src/main/java/cn/axzo/workflow/core/repository/mapper/ExtAxHiTaskInstMapper.java create mode 100644 workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/ExtAxHiTaskInstService.java create mode 100644 workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/ExtAxHiTaskInstServiceImpl.java create mode 100644 workflow-engine-core/src/main/resources/sql/ext_ax_hi_taskInst.sql rename workflow-engine-server/src/main/java/cn/axzo/workflow/server/{conf => initializer}/ExtDatabaseInitializer.java (98%) diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/repository/entity/ExtAxHiTaksInst.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/repository/entity/ExtAxHiTaksInst.java new file mode 100644 index 000000000..26c1c9160 --- /dev/null +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/repository/entity/ExtAxHiTaksInst.java @@ -0,0 +1,50 @@ +package cn.axzo.workflow.core.repository.entity; + +import cn.axzo.framework.data.mybatisplus.model.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + + +/** + * 流程历史任务信息扩展表 + * + * @author wangli + * @version V1.0 + * @date 2023/10/9 16:01 + */ +@EqualsAndHashCode(callSuper = true) +@TableName(value = "ext_ax_hi_taskinst", autoResultMap = true) +@Data +@ToString(callSuper = true) +public class ExtAxHiTaksInst extends BaseEntity { + + private static final long serialVersionUID = 1L; + + /** + * 流程模型ID + */ + @TableField("model_id") + private String procInstId; + + /** + * 流程任务 ID + */ + @TableField("task_id") + private String taskId; + + /** + * 流程节点定义 ID + */ + @TableField("task_definition_key") + private String taskDefinitionKey; + + /** + * 操作状态 + */ + @TableField("status") + private String status; + +} diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/repository/mapper/ExtAxHiTaskInstMapper.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/repository/mapper/ExtAxHiTaskInstMapper.java new file mode 100644 index 000000000..036516775 --- /dev/null +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/repository/mapper/ExtAxHiTaskInstMapper.java @@ -0,0 +1,15 @@ +package cn.axzo.workflow.core.repository.mapper; + +import cn.axzo.workflow.core.repository.entity.ExtAxHiTaksInst; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + * ExtAxHiTaskInstMapper + * + * @author wangli + * @since 2023/11/18 22:16 + */ +@Mapper +public interface ExtAxHiTaskInstMapper extends BaseMapper { +} diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/ExtAxHiTaskInstService.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/ExtAxHiTaskInstService.java new file mode 100644 index 000000000..601414218 --- /dev/null +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/ExtAxHiTaskInstService.java @@ -0,0 +1,11 @@ +package cn.axzo.workflow.core.service; + +/** + * 流程定义扩展表操作 Service + * + * @author wangli + * @since 2023/11/18 22:25 + */ +public interface ExtAxHiTaskInstService { + +} diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java index 6e04a3278..35c5bb48f 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/BpmnProcessTaskServiceImpl.java @@ -325,8 +325,9 @@ public class BpmnProcessTaskServiceImpl implements BpmnProcessTaskService { //加签子任务 没有executionId taskService.complete(task.getId()); } - String parentTaskId = task.getParentTaskId(); + //add by zuoqinbo 处理加签任务,分为向前加签和向后加签 + String parentTaskId = task.getParentTaskId(); if (StringUtils.hasLength(parentTaskId)) { String tableName = managementService.getTableName(TaskEntity.class); String sql = "select count(1) from " + tableName + " where PARENT_TASK_ID_=#{parentTaskId}"; diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/ExtAxHiTaskInstServiceImpl.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/ExtAxHiTaskInstServiceImpl.java new file mode 100644 index 000000000..318a10d97 --- /dev/null +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/service/impl/ExtAxHiTaskInstServiceImpl.java @@ -0,0 +1,25 @@ +package cn.axzo.workflow.core.service.impl; + +import cn.axzo.workflow.core.repository.mapper.ExtAxHiTaskInstMapper; +import cn.axzo.workflow.core.service.ExtAxHiTaskInstService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 流程定义扩展表操作服务实现 + * + * @author wangli + * @since 2023/11/18 22:27 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class ExtAxHiTaskInstServiceImpl implements ExtAxHiTaskInstService { + + @Resource + private ExtAxHiTaskInstMapper extAxHiTaskInstMapper; + +} diff --git a/workflow-engine-core/src/main/resources/sql/ext_ax_hi_taskInst.sql b/workflow-engine-core/src/main/resources/sql/ext_ax_hi_taskInst.sql new file mode 100644 index 000000000..2503a50a5 --- /dev/null +++ b/workflow-engine-core/src/main/resources/sql/ext_ax_hi_taskInst.sql @@ -0,0 +1,14 @@ +DROP TABLE IF EXISTS `EXT_AX_HI_TASKINST`; +CREATE TABLE IF NOT EXISTS EXT_AX_HI_TASKINST +( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', + `proc_inst_id` varchar(100) NOT NULL DEFAULT '' COMMENT '流程实例ID', + `task_id` varchar(100) NOT NULL DEFAULT '' COMMENT '流程任务ID', + `task_definition_key` varchar(100) NOT NULL DEFAULT '' COMMENT '流程节点定义ID', + `status` varchar(100) NOT NULL DEFAULT '' COMMENT '状态 通过/拒绝等', + `create_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `is_delete` bigint NOT NULL DEFAULT '0' COMMENT '是否删除', + PRIMARY KEY (`id`) +) ENGINE = InnoDB COMMENT '流程历史任务信息扩展表'; +create index idx_proc_def_id on EXT_AX_HI_TASKINST (proc_inst_id, task_definition_key, task_id); diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/conf/ExtDatabaseInitializer.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/ExtDatabaseInitializer.java similarity index 98% rename from workflow-engine-server/src/main/java/cn/axzo/workflow/server/conf/ExtDatabaseInitializer.java rename to workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/ExtDatabaseInitializer.java index 96aea845f..56e2d51c7 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/conf/ExtDatabaseInitializer.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/initializer/ExtDatabaseInitializer.java @@ -1,4 +1,4 @@ -package cn.axzo.workflow.server.conf; +package cn.axzo.workflow.server.initializer; import cn.axzo.framework.jackson.utility.JSON; import lombok.AllArgsConstructor;