Skip to content

Commit 1efd40c

Browse files
committed
feat: 升级flow
1 parent f415c38 commit 1efd40c

File tree

6 files changed

+52
-63
lines changed

6 files changed

+52
-63
lines changed

db/quick-boot-flow.sql

Lines changed: 27 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
Target Server Version : 80031
1212
File Encoding : 65001
1313
14-
Date: 02/06/2024 23:23:10
14+
Date: 13/06/2024 16:26:55
1515
*/
1616

1717
SET NAMES utf8mb4;
@@ -33,18 +33,9 @@ CREATE TABLE `flow_definition` (
3333
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
3434
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志',
3535
`tenant_id` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户id',
36-
PRIMARY KEY (`id`) USING BTREE,
37-
UNIQUE INDEX `flow_code_version`(`flow_code` ASC, `version` ASC) USING BTREE
36+
PRIMARY KEY (`id`) USING BTREE
3837
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程定义表' ROW_FORMAT = Dynamic;
3938

40-
-- ----------------------------
41-
-- Records of flow_definition
42-
-- ----------------------------
43-
INSERT INTO `flow_definition` VALUES (1240451602826006528, '999', '99', '9', 0, 'N', NULL, '2024-05-15 15:51:49', '2024-05-15 15:51:49', '0', '1');
44-
INSERT INTO `flow_definition` VALUES (1790761835389313025, 'test', '1', '1', 0, 'N', NULL, NULL, NULL, NULL, NULL);
45-
INSERT INTO `flow_definition` VALUES (1790763197414043650, 'ggg', 'GG', '1', 0, 'N', NULL, NULL, NULL, '0', NULL);
46-
INSERT INTO `flow_definition` VALUES (1790765997636222978, '666', '66', '1', 0, 'N', NULL, NULL, NULL, '0', '1');
47-
4839
-- ----------------------------
4940
-- Table structure for flow_his_task
5041
-- ----------------------------
@@ -53,14 +44,16 @@ CREATE TABLE `flow_his_task` (
5344
`id` bigint UNSIGNED NOT NULL COMMENT '主键id',
5445
`definition_id` bigint NOT NULL COMMENT '对应flow_definition表的id',
5546
`instance_id` bigint NOT NULL COMMENT '对应flow_instance表的id',
47+
`task_id` bigint NOT NULL COMMENT '对应flow_task表的id',
5648
`node_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开始节点编码',
5749
`node_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '开始节点名称',
5850
`node_type` tinyint(1) NULL DEFAULT NULL COMMENT '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
5951
`target_node_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目标节点编码',
6052
`target_node_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '结束节点名称',
6153
`approver` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审批者',
62-
`permission_flag` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,如role:1,role:2)',
63-
`flow_status` tinyint(1) NOT NULL COMMENT '流程状态(0待提交 1审批中 2 审批通过 8已完成 9已退回 10失效)',
54+
`cooperate_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)',
55+
`collaborator` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '协作人',
56+
`flow_status` tinyint(1) NOT NULL COMMENT '流程状态(1审批中 2 审批通过 9已退回 10失效)',
6457
`message` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审批意见',
6558
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
6659
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
@@ -69,10 +62,6 @@ CREATE TABLE `flow_his_task` (
6962
PRIMARY KEY (`id`) USING BTREE
7063
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '历史任务记录表' ROW_FORMAT = Dynamic;
7164

72-
-- ----------------------------
73-
-- Records of flow_his_task
74-
-- ----------------------------
75-
7665
-- ----------------------------
7766
-- Table structure for flow_instance
7867
-- ----------------------------
@@ -85,7 +74,7 @@ CREATE TABLE `flow_instance` (
8574
`node_code` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流程节点编码',
8675
`node_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '流程节点名称',
8776
`variable` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '任务变量',
88-
`flow_status` tinyint(1) NOT NULL COMMENT '流程状态(0待提交 1审批中 2 审批通过 8已完成 9已退回 10失效)',
77+
`flow_status` tinyint(1) NOT NULL COMMENT '流程状态(0待提交 1审批中 2 审批通过 3自动通过 8已完成 9已退回 10失效)',
8978
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
9079
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
9180
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
@@ -95,10 +84,6 @@ CREATE TABLE `flow_instance` (
9584
PRIMARY KEY (`id`) USING BTREE
9685
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程实例表' ROW_FORMAT = Dynamic;
9786

98-
-- ----------------------------
99-
-- Records of flow_instance
100-
-- ----------------------------
101-
10287
-- ----------------------------
10388
-- Table structure for flow_node
10489
-- ----------------------------
@@ -109,27 +94,22 @@ CREATE TABLE `flow_node` (
10994
`definition_id` bigint NOT NULL COMMENT '流程定义id',
11095
`node_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '流程节点编码',
11196
`node_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '流程节点名称',
112-
`permission_flag` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,如role:1,role:2)',
97+
`permission_flag` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,用逗号隔开)',
98+
`node_ratio` decimal(6, 3) NULL DEFAULT NULL COMMENT '流程签署比例值',
11399
`coordinate` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '坐标',
114100
`skip_any_node` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'N' COMMENT '是否可以退回任意节点(Y是 N否)',
115101
`listener_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '监听器类型',
116102
`listener_path` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '监听器路径',
103+
`handler_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器类型',
104+
`handler_path` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '处理器路径',
117105
`version` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '版本',
118106
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
119107
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
120108
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志',
121109
`tenant_id` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户id',
122-
PRIMARY KEY (`id`) USING BTREE,
123-
UNIQUE INDEX `info_id_code`(`definition_id` ASC, `node_code` ASC) USING BTREE COMMENT '保证一个流程中node_code是唯一的'
110+
PRIMARY KEY (`id`) USING BTREE
124111
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程结点表' ROW_FORMAT = Dynamic;
125112

126-
-- ----------------------------
127-
-- Records of flow_node
128-
-- ----------------------------
129-
INSERT INTO `flow_node` VALUES (1246498114894958593, 0, 1240451602826006528, 'Event_2fb1984', '开始', NULL, '250,140|250,180', 'N', NULL, NULL, '9', '2024-06-01 08:18:29', '2024-06-01 08:18:29', '0', '1');
130-
INSERT INTO `flow_node` VALUES (1246498114894958595, 1, 1240451602826006528, 'Activity_63ded5c', '用户任务', NULL, '530,190|530,190', 'N', NULL, NULL, '9', '2024-06-01 08:18:29', '2024-06-01 08:18:29', '0', '1');
131-
INSERT INTO `flow_node` VALUES (1246498114894958597, 2, 1240451602826006528, 'Event_d678d35', '结束', NULL, '810,250|810,290', 'N', NULL, NULL, '9', '2024-06-01 08:18:29', '2024-06-01 08:18:29', '0', '1');
132-
133113
-- ----------------------------
134114
-- Table structure for flow_skip
135115
-- ----------------------------
@@ -152,12 +132,6 @@ CREATE TABLE `flow_skip` (
152132
PRIMARY KEY (`id`) USING BTREE
153133
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '结点跳转关联表' ROW_FORMAT = Dynamic;
154134

155-
-- ----------------------------
156-
-- Records of flow_skip
157-
-- ----------------------------
158-
INSERT INTO `flow_skip` VALUES (1246498114894958594, 1240451602826006528, 'Event_2fb1984', 0, 'Activity_63ded5c', 1, NULL, NULL, NULL, '268,140;298,140;298,190;480,190', '2024-06-01 08:18:29', '2024-06-01 08:18:29', '0', '1');
159-
INSERT INTO `flow_skip` VALUES (1246498114894958596, 1240451602826006528, 'Activity_63ded5c', 1, 'Event_d678d35', 2, NULL, NULL, NULL, '580,190;762,190;762,250;792,250', '2024-06-01 08:18:29', '2024-06-01 08:18:29', '0', '1');
160-
161135
-- ----------------------------
162136
-- Table structure for flow_task
163137
-- ----------------------------
@@ -169,10 +143,6 @@ CREATE TABLE `flow_task` (
169143
`node_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '节点编码',
170144
`node_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '节点名称',
171145
`node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)',
172-
`permission_flag` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,如role:1,role:2)',
173-
`flow_status` tinyint(1) NOT NULL COMMENT '流程状态(0待提交 1审批中 2 审批通过 8已完成 9已退回 10失效)',
174-
`approver` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '审批者',
175-
`assignee` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转办人',
176146
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
177147
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
178148
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志',
@@ -181,7 +151,21 @@ CREATE TABLE `flow_task` (
181151
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '待办任务表' ROW_FORMAT = Dynamic;
182152

183153
-- ----------------------------
184-
-- Records of flow_task
154+
-- Table structure for flow_user
185155
-- ----------------------------
156+
DROP TABLE IF EXISTS `flow_user`;
157+
CREATE TABLE `flow_user` (
158+
`id` bigint UNSIGNED NOT NULL COMMENT '主键id',
159+
`type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '人员类型(1代办任务的审批人权限 2代办任务的转办人权限 3待办任务的委托人权限)',
160+
`processed_by` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限人',
161+
`associated` bigint NOT NULL COMMENT '关联表id',
162+
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
163+
`create_by` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
164+
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
165+
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志',
166+
`tenant_id` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '租户id',
167+
PRIMARY KEY (`id`) USING BTREE,
168+
INDEX `user_processed_type`(`processed_by` ASC, `type` ASC) USING BTREE
169+
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程用户表' ROW_FORMAT = Dynamic;
186170

187171
SET FOREIGN_KEY_CHECKS = 1;

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
<redisson.version>3.25.0</redisson.version>
3636
<hutool-all.version>5.8.16</hutool-all.version>
3737
<lombok.version>1.18.30</lombok.version>
38-
<flow.version>1.1.91</flow.version>
38+
<flow.version>1.2.0</flow.version>
3939
</properties>
4040
<!-- 模块 -->
4141
<modules>

quick-boot-flow/quick-boot-flow-biz/src/main/java/com/quick/flow/handler/FlowDataFillHandler.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
import com.warm.flow.core.entity.RootEntity;
44
import com.warm.flow.core.handler.DataFillHandler;
5-
import com.warm.tools.utils.IdUtils;
6-
import com.warm.tools.utils.ObjectUtil;
5+
import com.warm.flow.core.utils.IdUtils;
6+
import com.warm.flow.core.utils.ObjectUtil;
7+
78
import java.util.Date;
89
import java.util.Objects;
910

quick-boot-flow/quick-boot-flow-biz/src/main/java/com/quick/flow/service/impl/ExecuteServiceImpl.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.warm.flow.core.dto.FlowParams;
77
import com.warm.flow.core.entity.Instance;
88
import com.warm.flow.core.service.InsService;
9-
import com.warm.tools.utils.IdUtils;
9+
import com.warm.flow.core.utils.IdUtils;
1010
import jakarta.annotation.Resource;
1111
import org.springframework.stereotype.Service;
1212

@@ -25,18 +25,18 @@ public class ExecuteServiceImpl implements IExecuteService {
2525

2626
@Override
2727
public void startFlow(Flow flow, String tableName) {
28-
Long id = IdUtils.nextId();
29-
FlowParams flowParams = FlowParams.build().flowCode(tableName)
30-
.createBy(StpUtil.getLoginIdAsString());
31-
// .nickName(
32-
// //user.getUser().getNickName()
33-
// //StpUtil.get
34-
// );
35-
Instance instance = insService.start(String.valueOf(id), flowParams);
36-
flow.setId(id);
37-
flow.setInstanceId(instance.getId());
38-
flow.setNodeCode(instance.getNodeCode());
39-
flow.setNodeName(instance.getNodeName());
40-
flow.setFlowStatus(instance.getFlowStatus());
28+
// Long id = IdUtils.nextId();
29+
// FlowParams flowParams = FlowParams.build().flowCode(tableName)
30+
// .createBy(StpUtil.getLoginIdAsString());
31+
//// .nickName(
32+
//// //user.getUser().getNickName()
33+
//// //StpUtil.get
34+
//// );
35+
// Instance instance = insService.start(String.valueOf(id), flowParams);
36+
// flow.setId(id);
37+
// flow.setInstanceId(instance.getId());
38+
// flow.setNodeCode(instance.getNodeCode());
39+
// flow.setNodeName(instance.getNodeName());
40+
// flow.setFlowStatus(instance.getFlowStatus());
4141
}
4242
}

quick-boot-flow/quick-boot-flow-controller/src/main/java/com/quick/flow/controller/DefController.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import com.warm.flow.core.entity.Definition;
1212
import com.warm.flow.core.service.DefService;
1313
import com.warm.flow.orm.entity.FlowDefinition;
14-
import com.warm.tools.utils.page.Page;
14+
import com.warm.flow.core.utils.page.Page;
1515
import io.swagger.v3.oas.annotations.Operation;
1616
import io.swagger.v3.oas.annotations.Parameter;
1717
import jakarta.annotation.Resource;
@@ -79,6 +79,7 @@ public Result<FlowDefinition> save(@RequestBody FlowDefinition flowDefinition) {
7979
*/
8080
@GetMapping("/publish/{id}")
8181
@Transactional(rollbackFor = Exception.class)
82+
@Operation(summary = "发布流程定义")
8283
public Result<Boolean> publish(@PathVariable("id") Long id) {
8384
return Result.success(defService.publish(id));
8485
}
@@ -89,6 +90,7 @@ public Result<Boolean> publish(@PathVariable("id") Long id) {
8990
*/
9091
@GetMapping("/unPublish/{id}")
9192
@Transactional(rollbackFor = Exception.class)
93+
@Operation(summary = "取消发布流程定义")
9294
public Result<Boolean> unPublish(@PathVariable("id") Long id) {
9395
defService.unPublish(id);
9496
return Result.success();
@@ -121,6 +123,7 @@ public Result<Boolean> removeBatchByIds(@RequestParam("ids") String ids) {
121123

122124
@PostMapping("/saveXml")
123125
@Transactional(rollbackFor = Exception.class)
126+
@Operation(summary = "保存XML")
124127
public Result<Boolean> saveXml(@RequestBody FlowDefinition def) throws Exception {
125128
defService.saveXml(def);
126129
return Result.success();
@@ -131,6 +134,7 @@ public Result<Boolean> saveXml(@RequestBody FlowDefinition def) throws Exception
131134
*/
132135
@GetMapping("/copyDef/{id}")
133136
@Transactional(rollbackFor = Exception.class)
137+
@Operation(summary = "保存XML")
134138
public Result<Boolean> copyDef(@PathVariable("id") Long id) {
135139
return Result.success(defService.copyDef(id));
136140
}

quick-boot-flow/quick-boot-flow-controller/src/main/java/com/quick/flow/controller/ExecuteController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
import com.warm.flow.core.service.InsService;
1515
import com.warm.flow.core.service.NodeService;
1616
import com.warm.flow.core.service.TaskService;
17+
import com.warm.flow.core.utils.StreamUtils;
1718
import com.warm.flow.orm.entity.FlowHisTask;
1819
import com.warm.flow.orm.entity.FlowTask;
19-
import com.warm.tools.utils.StreamUtils;
20-
import com.warm.tools.utils.page.Page;
20+
import com.warm.flow.core.utils.page.Page;
2121
import io.swagger.v3.oas.annotations.Operation;
2222
import jakarta.annotation.Resource;
2323
import org.springframework.beans.BeanUtils;

0 commit comments

Comments
 (0)