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;