仿钉钉流程设计- code review 修改。扩展属性保存在 extensionElement 尝试

This commit is contained in:
jason
2024-04-11 21:02:38 +08:00
parent 1e97ca282b
commit 9456d461f9
6 changed files with 316 additions and 271 deletions

View File

@ -18,20 +18,17 @@ import java.util.Objects;
public enum BpmSimpleModelNodeType implements IntArrayValuable {
// TODO @jaosn-1、0、1、4、-2 是前端已经定义好的么?感觉未来可以考虑搞成和 BPMN 尽量一致的单词哈;类似 usertask 用户审批;
// TODO @jason_NODE 都删除掉哈;
START_EVENT_NODE(0, "开始节点"),
END_EVENT_NODE(-2, "结束节点"), // TODO @jaosn挪到 START_EVENT_NODE 后;
START_EVENT(0, "开始节点"),
END_EVENT(-2, "结束节点"), // TODO @jaosn挪到 START_EVENT_NODE 后;
APPROVE_USER_NODE(1, "审批人节点"), // TODO @jaosn是不是这里从 10 开始好点相当于说0-9 给开始和结束10-19 给各种节点20-29 给各种条件TODO @jason改成 USER_TASK 是不是好点呀
// 抄送人节点、对应 BPMN 的 ScriptTask. 使用ScriptTask 原因。好像 ServiceTask 自定义属性不能写入 XML
// TODO @jasonServiceTask 自定义 xml有没啥报错信息
SCRIPT_TASK_NODE(2, "抄送人节点"), // TODO @jason是不是改成 COPY_TASK 好一点哈;
USER_TASK(1, "审批人节点"), // TODO @jaosn是不是这里从 10 开始好点相当于说0-9 给开始和结束10-19 给各种节点20-29 给各种条件; TODO 后面改改
COPY_TASK(2, "抄送人节点"),
EXCLUSIVE_GATEWAY_NODE(4, "排他网关"), // TODO @jason是不是改成叫 条件分支?
PARALLEL_GATEWAY_FORK_NODE(5, "并行网关分叉节点"), // TODO @jason是不是一个 并行分支 ?就可以啦?
PARALLEL_GATEWAY_JOIN_NODE(6, "并行网关聚合节点"),
INCLUSIVE_GATEWAY_FORK_NODE(7, "包容网关分叉节点"),
INCLUSIVE_GATEWAY_JOIN_NODE(8, "包容网关聚合节点"),
EXCLUSIVE_GATEWAY(4, "排他网关"), // TODO @jason是不是改成叫 条件分支?
PARALLEL_GATEWAY_FORK(5, "并行网关分叉节点"), // TODO @jason是不是一个 并行分支 ?就可以啦? 后面是否去掉并行网关。只用包容网关
PARALLEL_GATEWAY_JOIN(6, "并行网关聚合节点"),
INCLUSIVE_GATEWAY_FORK(7, "包容网关分叉节点"),
INCLUSIVE_GATEWAY_JOIN(8, "包容网关聚合节点"),
;
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(BpmSimpleModelNodeType::getType).toArray();
@ -39,9 +36,13 @@ public enum BpmSimpleModelNodeType implements IntArrayValuable {
private final Integer type;
private final String name;
public static boolean isGatewayNode(Integer type) {
return Objects.equals(EXCLUSIVE_GATEWAY_NODE.getType(), type) || Objects.equals(PARALLEL_GATEWAY_FORK_NODE.getType(), type)
|| Objects.equals(INCLUSIVE_GATEWAY_FORK_NODE.getType(), type) ;
/**
* 判断是否为分支节点
* @param type 节点类型
*/
public static boolean isBranchNode(Integer type) {
return Objects.equals(EXCLUSIVE_GATEWAY.getType(), type) || Objects.equals(PARALLEL_GATEWAY_FORK.getType(), type)
|| Objects.equals(INCLUSIVE_GATEWAY_FORK.getType(), type) ;
}
public static BpmSimpleModelNodeType valueOf(Integer type) {