feat: initial iShare project code
This commit is contained in:
37
pigx-flow/pigx-flow-task/pigx-flow-task-api/pom.xml
Normal file
37
pigx-flow/pigx-flow-task/pigx-flow-task-api/pom.xml
Normal file
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
||||
http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.pig4cloud</groupId>
|
||||
<artifactId>pigx-flow-task</artifactId>
|
||||
<version>5.2.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>pigx-flow-task-api</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<!--core 工具类-->
|
||||
<dependency>
|
||||
<groupId>com.pig4cloud</groupId>
|
||||
<artifactId>pigx-common-core</artifactId>
|
||||
</dependency>
|
||||
<!--mybatis plus extension,包含了mybatis plus core-->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-extension</artifactId>
|
||||
</dependency>
|
||||
<!--feign 工具类-->
|
||||
<dependency>
|
||||
<groupId>com.pig4cloud</groupId>
|
||||
<artifactId>pigx-common-feign</artifactId>
|
||||
</dependency>
|
||||
<!-- excel 导入导出 -->
|
||||
<dependency>
|
||||
<groupId>com.pig4cloud</groupId>
|
||||
<artifactId>pigx-common-excel</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
@@ -0,0 +1,127 @@
|
||||
package com.pig4cloud.pigx.flow.task.api.feign;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pig4cloud.pigx.common.core.constant.ServiceNameConstants;
|
||||
import com.pig4cloud.pigx.common.core.util.R;
|
||||
import com.pig4cloud.pigx.flow.task.dto.*;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lengleng
|
||||
* @date 2023/7/14
|
||||
*/
|
||||
@FeignClient(contextId = "remoteFlowEngineService", value = ServiceNameConstants.FLOW_ENGINE_SERVER)
|
||||
public interface RemoteFlowEngineService {
|
||||
|
||||
/**
|
||||
* 查询任务变量
|
||||
* @param variableQueryParamDto 变量查询参数
|
||||
* @return 任务变量结果
|
||||
*/
|
||||
@PostMapping("/task/queryTaskVariables")
|
||||
R<Map<String, Object>> queryTaskVariables(@RequestBody VariableQueryParamDto variableQueryParamDto);
|
||||
|
||||
/**
|
||||
* 查询简单数据
|
||||
* @param userId 用户ID
|
||||
* @return 索引页统计数据
|
||||
*/
|
||||
@GetMapping("/process-instance/querySimpleData")
|
||||
R<IndexPageStatistics> querySimpleData(@RequestParam("userId") Long userId);
|
||||
|
||||
/**
|
||||
* 创建流程
|
||||
* @param map 流程JSON对象
|
||||
* @return 创建流程结果
|
||||
*/
|
||||
@PostMapping("/flow/create")
|
||||
R<String> createFlow(@RequestBody Map<String, Object> map);
|
||||
|
||||
/**
|
||||
* 启动流程实例
|
||||
* @param processInstanceParamDto 流程实例参数
|
||||
* @return 启动流程结果
|
||||
*/
|
||||
@PostMapping("/flow/start")
|
||||
R<String> startProcess(@RequestBody ProcessInstanceParamDto processInstanceParamDto);
|
||||
|
||||
/**
|
||||
* 查询待办任务
|
||||
* @param paramDto 任务查询参数
|
||||
* @return 待办任务列表
|
||||
*/
|
||||
@PostMapping("/flow/queryAssignTask")
|
||||
R<Page<TaskDto>> queryAssignTask(@RequestBody TaskQueryParamDto paramDto);
|
||||
|
||||
/**
|
||||
* 查询已完成任务
|
||||
* @param paramDto 任务查询参数
|
||||
* @return 已完成任务列表
|
||||
*/
|
||||
@PostMapping("/flow/queryCompletedTask")
|
||||
R<Page<TaskDto>> queryCompletedTask(@RequestBody TaskQueryParamDto paramDto);
|
||||
|
||||
/**
|
||||
* 完成任务
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 完成任务结果
|
||||
*/
|
||||
@PostMapping("/task/complete")
|
||||
R<String> completeTask(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 设置任务负责人
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 设置负责人结果
|
||||
*/
|
||||
@PostMapping("/task/setAssignee")
|
||||
R<String> setAssignee(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 停止流程实例
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 停止流程实例结果
|
||||
*/
|
||||
@PostMapping("/flow/stopProcessInstance")
|
||||
R<String> stopProcessInstance(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 解决任务
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 解决任务结果
|
||||
*/
|
||||
@PostMapping("/task/resolveTask")
|
||||
R<String> resolveTask(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 退回任务
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 退回任务结果
|
||||
*/
|
||||
@PostMapping("/task/back")
|
||||
R<String> back(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 委派任务
|
||||
* @param taskParamDto 任务参数
|
||||
* @return 委派任务结果
|
||||
*/
|
||||
@PostMapping("/task/delegateTask")
|
||||
R<String> delegateTask(@RequestBody TaskParamDto taskParamDto);
|
||||
|
||||
/**
|
||||
* 查询任务
|
||||
* @param taskId 任务ID
|
||||
* @param userId 用户ID
|
||||
* @return 任务查询结果
|
||||
*/
|
||||
@GetMapping("/task/engine/queryTask")
|
||||
R<TaskResultDto> queryTask(@RequestParam("taskId") String taskId, @RequestParam("userId") Long userId);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.pig4cloud.pigx.flow.task.api.feign;
|
||||
|
||||
import com.pig4cloud.pigx.common.core.constant.ServiceNameConstants;
|
||||
import com.pig4cloud.pigx.common.core.util.R;
|
||||
import com.pig4cloud.pigx.flow.task.dto.*;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lengleng
|
||||
* @date 2023/7/14
|
||||
*/
|
||||
@FeignClient(contextId = "remoteFlowTaskService", value = ServiceNameConstants.FLOW_TASK_SERVER)
|
||||
public interface RemoteFlowTaskService {
|
||||
|
||||
/**
|
||||
* 节点开始事件
|
||||
* @param nodeRecordParamDto
|
||||
*/
|
||||
@PostMapping("/remote/startNodeEvent")
|
||||
void startNodeEvent(@RequestBody ProcessNodeRecordParamDto nodeRecordParamDto);
|
||||
|
||||
/**
|
||||
* 节点结束事件
|
||||
* @param nodeRecordParamDto
|
||||
*/
|
||||
@PostMapping("/remote/endNodeEvent")
|
||||
void endNodeEvent(@RequestBody ProcessNodeRecordParamDto nodeRecordParamDto);
|
||||
|
||||
/**
|
||||
* 流程结束事件
|
||||
* @param processInstanceParamDto
|
||||
*/
|
||||
@PostMapping("/remote/endProcess")
|
||||
void endProcessEvent(@RequestBody ProcessInstanceParamDto processInstanceParamDto);
|
||||
|
||||
/**
|
||||
* 创建流程事件
|
||||
* @param processInstanceRecordParamDto
|
||||
*/
|
||||
@PostMapping("/remote/createProcessEvent")
|
||||
void createProcessEvent(@RequestBody ProcessInstanceRecordParamDto processInstanceRecordParamDto);
|
||||
|
||||
/**
|
||||
* 根据角色id集合查询用户id集合
|
||||
* @param roleIdList
|
||||
*/
|
||||
@PostMapping("/remote/queryUserIdListByRoleIdList")
|
||||
R<List<String>> queryUserIdListByRoleIdList(@RequestBody List<String> roleIdList);
|
||||
|
||||
/**
|
||||
* 根据部门id集合查询所有的用户id集合
|
||||
* @param deptIdList
|
||||
*/
|
||||
@PostMapping("/remote/queryUserIdListByDepIdList")
|
||||
R<List<String>> queryUserIdListByDepIdList(@RequestBody List<String> deptIdList);
|
||||
|
||||
/**
|
||||
* 查询流程管理员
|
||||
* @param flowId 流程id
|
||||
*/
|
||||
@GetMapping("/remote/queryProcessAdmin")
|
||||
R<Long> queryProcessAdmin(@RequestParam("flowId") String flowId);
|
||||
|
||||
/**
|
||||
* 查询节点数据
|
||||
* @param flowId 流程id
|
||||
* @param nodeId 节点id
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/processNodeData/getNodeData")
|
||||
R<Node> queryNodeOriData(@RequestParam("flowId") String flowId, @RequestParam("nodeId") String nodeId);
|
||||
|
||||
/**
|
||||
* 节点开始指派用户了
|
||||
* @param processNodeRecordAssignUserParamDto
|
||||
*/
|
||||
@PostMapping("/remote/startAssignUser")
|
||||
R startAssignUser(@RequestBody ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto);
|
||||
|
||||
/**
|
||||
* 任务结束事件
|
||||
* @param processNodeRecordAssignUserParamDto
|
||||
*/
|
||||
@PostMapping("/remote/taskEndEvent")
|
||||
R taskEndEvent(@RequestBody ProcessNodeRecordAssignUserParamDto processNodeRecordAssignUserParamDto);
|
||||
|
||||
/**
|
||||
* 保存抄送数据
|
||||
* @param processCopyDto
|
||||
*/
|
||||
@PostMapping("/remote/savecc")
|
||||
R saveCC(@RequestBody ProcessCopyDto processCopyDto);
|
||||
|
||||
/**
|
||||
* 保存节点原始数据
|
||||
* @param processNodeDataDto
|
||||
*/
|
||||
@PostMapping("/processNodeData/saveNodeData")
|
||||
R saveNodeOriData(@RequestBody ProcessNodeDataDto processNodeDataDto);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/*
|
||||
@author pigx archetype
|
||||
* <p>
|
||||
* feign client 存放目录,注意 @EnablePigxFeignClients 的扫描范围
|
||||
*/
|
||||
package com.pig4cloud.pigx.flow.task.api.feign;
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
/**
|
||||
* EasyCaptcha 验证码类型枚举
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2023/03/24
|
||||
*/
|
||||
public enum CaptchaTypeEnum {
|
||||
|
||||
/**
|
||||
* 算数
|
||||
*/
|
||||
ARITHMETIC,
|
||||
/**
|
||||
* 中文
|
||||
*/
|
||||
CHINESE,
|
||||
/**
|
||||
* 中文闪图
|
||||
*/
|
||||
CHINESE_GIF,
|
||||
/**
|
||||
* 闪图
|
||||
*/
|
||||
GIF, SPEC
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* 表单类型枚举
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum FormTypeEnum {
|
||||
|
||||
INPUT("Input", "单行文本", ""), TEXTAREA("Textarea", "多行文本", ""), NUMBER("Number", "数字", null),
|
||||
DATE("Date", "日期", null), DATE_TIME("DateTime", "日期时间", null),
|
||||
|
||||
SEQUENCE("Sequence", "发号器", null), LAYOUT("Layout", "明细", null), TIME("Time", "时间", null),
|
||||
MONEY("Money", "金额", null), SINGLE_SELECT("SingleSelect", "单选", new ArrayList<>()),
|
||||
SELECT_DEPT("SelectDept", "部门", new ArrayList<>()), SELECT_USER("SelectUser", "用户", new ArrayList<>()),
|
||||
|
||||
;
|
||||
|
||||
private String type;
|
||||
|
||||
private String name;
|
||||
|
||||
private Object defaultValue;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 枚举通用接口
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2022/3/27 12:06
|
||||
*/
|
||||
public interface IBaseEnum<T> {
|
||||
|
||||
T getValue();
|
||||
|
||||
String getLabel();
|
||||
|
||||
/**
|
||||
* 根据值获取枚举
|
||||
* @param value
|
||||
* @param clazz
|
||||
* @param <E> 枚举
|
||||
* @return
|
||||
*/
|
||||
static <E extends Enum<E> & IBaseEnum> E getEnumByValue(Object value, Class<E> clazz) {
|
||||
Objects.requireNonNull(value);
|
||||
EnumSet<E> allEnums = EnumSet.allOf(clazz); // 获取类型下的所有枚举
|
||||
E matchEnum = allEnums.stream().filter(e -> ObjectUtil.equal(e.getValue(), value)).findFirst().orElse(null);
|
||||
return matchEnum;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据文本标签获取值
|
||||
* @param value
|
||||
* @param clazz
|
||||
* @param <E>
|
||||
* @return
|
||||
*/
|
||||
static <E extends Enum<E> & IBaseEnum> String getLabelByValue(Object value, Class<E> clazz) {
|
||||
Objects.requireNonNull(value);
|
||||
EnumSet<E> allEnums = EnumSet.allOf(clazz); // 获取类型下的所有枚举
|
||||
E matchEnum = allEnums.stream().filter(e -> ObjectUtil.equal(e.getValue(), value)).findFirst().orElse(null);
|
||||
|
||||
String label = null;
|
||||
if (matchEnum != null) {
|
||||
label = matchEnum.getLabel();
|
||||
}
|
||||
return label;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据文本标签获取值
|
||||
* @param label
|
||||
* @param clazz
|
||||
* @param <E>
|
||||
* @return
|
||||
*/
|
||||
static <E extends Enum<E> & IBaseEnum> Object getValueByLabel(String label, Class<E> clazz) {
|
||||
Objects.requireNonNull(label);
|
||||
EnumSet<E> allEnums = EnumSet.allOf(clazz); // 获取类型下的所有枚举
|
||||
String finalLabel = label;
|
||||
E matchEnum = allEnums.stream().filter(e -> ObjectUtil.equal(e.getLabel(), finalLabel)).findFirst()
|
||||
.orElse(null);
|
||||
|
||||
Object value = null;
|
||||
if (matchEnum != null) {
|
||||
value = matchEnum.getValue();
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 菜单类型枚举
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2022/4/23 9:36
|
||||
*/
|
||||
|
||||
public enum MenuTypeEnum implements IBaseEnum<Integer> {
|
||||
|
||||
NULL(0, null), MENU(1, "菜单"), CATALOG(2, "目录"), EXTLINK(3, "外链"), BUTTON(4, "按钮");
|
||||
|
||||
@Getter
|
||||
@EnumValue // Mybatis-Plus 提供注解表示插入数据库时插入该值
|
||||
private Integer value;
|
||||
|
||||
@Getter
|
||||
// @JsonValue // 表示对枚举序列化时返回此字段
|
||||
private String label;
|
||||
|
||||
MenuTypeEnum(Integer value, String label) {
|
||||
this.value = value;
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum NodeStatusEnum {
|
||||
|
||||
WKS(0, "未开始"), JXZ(1, "进行中"), YJS(2, "已结束"),;
|
||||
|
||||
private int code;
|
||||
|
||||
private String name;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* 节点枚举
|
||||
*/
|
||||
@Getter
|
||||
public enum NodeTypeEnum {
|
||||
|
||||
ROOT("根节点", 0, false), END("结束节点", -1, false),
|
||||
|
||||
APPROVAL("审批节点", 1, false), CC("抄送节点", 2, false), EXCLUSIVE_GATEWAY("条件分支", 4, true),
|
||||
|
||||
PARALLEL_GATEWAY("并行分支", 5, true), EMPTY("空", 3, false),
|
||||
|
||||
;
|
||||
|
||||
public static NodeTypeEnum getByValue(int value) {
|
||||
return Arrays.stream(NodeTypeEnum.values()).filter(w -> w.getValue() == value).findAny().orElse(null);
|
||||
}
|
||||
|
||||
NodeTypeEnum(String name, Integer value, Boolean branch) {
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
this.branch = branch;
|
||||
}
|
||||
|
||||
private String name;
|
||||
|
||||
private Integer value;
|
||||
|
||||
private Boolean branch;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 用户节点类型枚举
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum NodeUserTypeEnum {
|
||||
|
||||
USER("user", "用户"), DEPT("dept", "部门"), ROLE("role", "角色"),;
|
||||
|
||||
private String key;
|
||||
|
||||
private String name;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
public class ProcessInstanceConstant {
|
||||
|
||||
/**
|
||||
* 空执行人
|
||||
*/
|
||||
public static final Long DEFAULT_EMPTY_ASSIGN = -99999999L;
|
||||
|
||||
/**
|
||||
* 用户任务没有执行人的情况下如何处理 自动通过
|
||||
*/
|
||||
public static final String USER_TASK_NOBODY_HANDLER_TO_PASS = "TO_PASS";
|
||||
|
||||
/**
|
||||
* 转交给管理员
|
||||
*/
|
||||
public static final String USER_TASK_NOBODY_HANDLER_TO_ADMIN = "TO_ADMIN";
|
||||
|
||||
/**
|
||||
* 指定人员
|
||||
*/
|
||||
public static final String USER_TASK_NOBODY_HANDLER_TO_USER = "TO_USER";
|
||||
|
||||
/**
|
||||
* 结束流程
|
||||
*/
|
||||
public static final String USER_TASK_NOBODY_HANDLER_TO_END = "TO_END";
|
||||
|
||||
public static final String USER_TASK_NOBODY_HANDLER_TO_REFUSE = "TO_REFUSE";
|
||||
|
||||
/**
|
||||
* 拒绝之后 结束流程
|
||||
*/
|
||||
public static final String USER_TASK_REFUSE_TYPE_TO_END = "TO_END";
|
||||
|
||||
/**
|
||||
* 拒绝之后 到某个节点
|
||||
*/
|
||||
public static final String USER_TASK_REFUSE_TYPE_TO_NODE = "TO_NODE";
|
||||
|
||||
/**
|
||||
* 会签
|
||||
*/
|
||||
public static final int MULTIPLE_MODE_AL_SAME = 1;
|
||||
|
||||
/**
|
||||
* 或签
|
||||
*/
|
||||
public static final int MULTIPLE_MODE_ONE = 2;
|
||||
|
||||
/**
|
||||
* 顺签
|
||||
*/
|
||||
public static final int MULTIPLE_MODE_ALL_SORT = 3;
|
||||
|
||||
public static class AssignedTypeClass {
|
||||
|
||||
// 指定用户
|
||||
public static final int USER = 1;
|
||||
|
||||
// 指定主管
|
||||
public static final int LEADER = 2;
|
||||
|
||||
// 发起人自己
|
||||
public static final int SELF = 5;
|
||||
|
||||
// 表单人员
|
||||
public static final int FORM_USER = 8;
|
||||
|
||||
// 发起人自选
|
||||
public static final int SELF_SELECT = 4;
|
||||
|
||||
// 角色
|
||||
public static final int ROLE = 3;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 表单权限
|
||||
*/
|
||||
public static class FormPermClass {
|
||||
|
||||
// 隐藏
|
||||
public static final String HIDE = "H";
|
||||
|
||||
// 只读
|
||||
public static final String READ = "R";
|
||||
|
||||
// 编辑
|
||||
public static final String EDIT = "E";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 状态枚举
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2022/10/14
|
||||
*/
|
||||
public enum StatusEnum implements IBaseEnum<Integer> {
|
||||
|
||||
ENABLE(1, "启用"), DISABLE(0, "禁用");
|
||||
|
||||
@Getter
|
||||
private Integer value;
|
||||
|
||||
@Getter
|
||||
private String label;
|
||||
|
||||
StatusEnum(Integer value, String label) {
|
||||
this.value = value;
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
|
||||
/**
|
||||
* 系统常量
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2022/10/22
|
||||
*/
|
||||
public interface SystemConstants {
|
||||
|
||||
/**
|
||||
* 根节点ID
|
||||
*/
|
||||
Long ROOT_NODE_ID = 0L;
|
||||
|
||||
/**
|
||||
* 系统默认密码
|
||||
*/
|
||||
String DEFAULT_PASSWORD = "123456";
|
||||
|
||||
/**
|
||||
* 超级管理员角色编码
|
||||
*/
|
||||
String ROOT_ROLE_CODE = "ROOT";
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/*
|
||||
* @author pigx archetype
|
||||
* <p>
|
||||
* 常量和枚举定义
|
||||
*/
|
||||
package com.pig4cloud.pigx.flow.task.constant;
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 检查子部门DTO
|
||||
*/
|
||||
@Data
|
||||
public class CheckChildDto {
|
||||
|
||||
/**
|
||||
* 子部门ID
|
||||
*/
|
||||
private Long childId;
|
||||
|
||||
/**
|
||||
* 父部门ID列表
|
||||
*/
|
||||
private List<Long> deptIdList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 检查是否是给定的父级
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class CheckParentDto {
|
||||
|
||||
private Long parentId;
|
||||
|
||||
private List<Long> deptIdList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 条件类
|
||||
*/
|
||||
@Data
|
||||
public class Condition {
|
||||
|
||||
/**
|
||||
* 条件键
|
||||
*/
|
||||
private String key;
|
||||
|
||||
/**
|
||||
* 表达式
|
||||
*/
|
||||
private String expression;
|
||||
|
||||
/**
|
||||
* 值
|
||||
*/
|
||||
private Object value;
|
||||
|
||||
/**
|
||||
* 键类型
|
||||
*/
|
||||
private String keyType;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 分组条件类
|
||||
*/
|
||||
@Data
|
||||
public class GroupCondition {
|
||||
|
||||
/**
|
||||
* 是否并行
|
||||
*/
|
||||
private Boolean mode;
|
||||
|
||||
/**
|
||||
* 条件列表
|
||||
*/
|
||||
private List<Condition> conditionList;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 首页统计数据
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class IndexPageStatistics {
|
||||
|
||||
/**
|
||||
* 待办数量
|
||||
*/
|
||||
private Long pendingNum;
|
||||
|
||||
/**
|
||||
* 发起数量
|
||||
*/
|
||||
private Long startedNum;
|
||||
|
||||
/**
|
||||
* 抄送任务
|
||||
*/
|
||||
private Long copyNum;
|
||||
|
||||
/**
|
||||
* 完成数量
|
||||
*/
|
||||
private Long completedNum;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class Nobody {
|
||||
|
||||
private String handler;
|
||||
|
||||
private List<NodeUser> assignedUser;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class Node {
|
||||
|
||||
private String id;
|
||||
|
||||
private String parentId;
|
||||
|
||||
private String headId;
|
||||
|
||||
private String tailId;
|
||||
|
||||
private String placeHolder;
|
||||
|
||||
private Integer type;
|
||||
|
||||
@JsonProperty(value = "nodeName")
|
||||
private String name;
|
||||
|
||||
private Boolean error;
|
||||
|
||||
@JsonProperty("childNode")
|
||||
private Node children;
|
||||
|
||||
private Integer assignedType;
|
||||
|
||||
private Boolean multiple;
|
||||
|
||||
private Integer multipleMode;
|
||||
|
||||
private Integer deptLeaderLevel;
|
||||
|
||||
private String formUserId;
|
||||
|
||||
private String formUserName;
|
||||
|
||||
private List<NodeUser> nodeUserList;
|
||||
|
||||
private List<Node> conditionNodes;
|
||||
|
||||
private Map<String, String> formPerms;
|
||||
|
||||
private Nobody nobody;
|
||||
|
||||
private Boolean groupMode;
|
||||
|
||||
private List<GroupCondition> conditionList;
|
||||
|
||||
private Refuse refuse;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 节点处理http请求结果对象
|
||||
*/
|
||||
@Data
|
||||
public class NodeHttpResultVO {
|
||||
|
||||
private Boolean ok;
|
||||
|
||||
private Map<String, Object> data;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 节点用户对象
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
public class NodeUser {
|
||||
|
||||
/**
|
||||
* 用户od
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 选择
|
||||
*/
|
||||
private Boolean selected;
|
||||
|
||||
private String avatar;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
public class ProcessCopyDto {
|
||||
|
||||
/**
|
||||
* 当前节点时间
|
||||
*/
|
||||
private LocalDateTime nodeTime;
|
||||
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
private Long startUserId;
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 实例id
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 节点id
|
||||
*/
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 节点 名称
|
||||
*/
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 表单数据
|
||||
*/
|
||||
private String formData;
|
||||
|
||||
/**
|
||||
* 抄送人id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 流程实例参数对象
|
||||
*/
|
||||
@Data
|
||||
public class ProcessInstanceParamDto {
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 参数集合
|
||||
*/
|
||||
private Map<String, Object> paramMap = new HashMap<>();
|
||||
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
private String startUserId;
|
||||
|
||||
/**
|
||||
* 实例id
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程记录
|
||||
* </p>
|
||||
*
|
||||
* @author Vincent
|
||||
* @since 2023-05-07
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class ProcessInstanceRecordParamDto {
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
private String parentProcessInstanceId;
|
||||
|
||||
/**
|
||||
* 表单数据
|
||||
*/
|
||||
private String formData;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ProcessNodeDataDto {
|
||||
|
||||
private String flowId;
|
||||
|
||||
private String nodeId;
|
||||
|
||||
private String data;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 流程节点记录-执行人
|
||||
*/
|
||||
@Data
|
||||
public class ProcessNodeRecordAssignUserParamDto {
|
||||
|
||||
/**
|
||||
* 流程id (process id)
|
||||
*/
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 流程实例id (process instance id)
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 表单数据 (form data)
|
||||
*/
|
||||
private String data;
|
||||
|
||||
/**
|
||||
* 本地数据 (local data)
|
||||
*/
|
||||
private String localData;
|
||||
|
||||
/**
|
||||
* 节点id (node id)
|
||||
*/
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 用户id (user id)
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 执行id (execution id)
|
||||
*/
|
||||
private String executionId;
|
||||
|
||||
/**
|
||||
* 任务id (task id)
|
||||
*/
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 审批描述 (approval description)
|
||||
*/
|
||||
private String approveDesc;
|
||||
|
||||
/**
|
||||
* 节点名称 (node name)
|
||||
*/
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 任务类型 (task type)
|
||||
*/
|
||||
private String taskType;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 流程节点记录
|
||||
*/
|
||||
@Data
|
||||
public class ProcessNodeRecordParamDto {
|
||||
|
||||
/**
|
||||
* 流程id (process id)
|
||||
*/
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 流程实例id (process instance id)
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 表单数据 (form data)
|
||||
*/
|
||||
private String data;
|
||||
|
||||
/**
|
||||
* 节点id (node id)
|
||||
*/
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 节点类型 (node type)
|
||||
*/
|
||||
private String nodeType;
|
||||
|
||||
/**
|
||||
* 节点名字 (node name)
|
||||
*/
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 执行id (execution id)
|
||||
*/
|
||||
private String executionId;
|
||||
|
||||
/**
|
||||
* 任务id (task id)
|
||||
*/
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 审批描述 (approval description)
|
||||
*/
|
||||
private String approveDesc;
|
||||
|
||||
/**
|
||||
* 任务类型 (task type)
|
||||
*/
|
||||
private String taskType;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class Refuse {
|
||||
|
||||
private String handler;
|
||||
|
||||
private String nodeId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Huijun Zhao
|
||||
* @description
|
||||
* @date 2023-07-28 10:36
|
||||
*/
|
||||
@Data
|
||||
public class SelectValue {
|
||||
|
||||
private String key;
|
||||
|
||||
private String value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,97 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 任务对象
|
||||
*/
|
||||
@Data
|
||||
public class TaskDto {
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 参数集合
|
||||
*/
|
||||
private Map<String, Object> paramMap;
|
||||
|
||||
/**
|
||||
* 实例id
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 执行id
|
||||
*/
|
||||
private String executionId;
|
||||
|
||||
/**
|
||||
* 耗时
|
||||
*/
|
||||
private Long durationInMillis;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 执行人
|
||||
*/
|
||||
private String assign;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 节点id
|
||||
*/
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 任务创建时间
|
||||
*/
|
||||
private Date taskCreateTime;
|
||||
|
||||
private Date taskEndTime;
|
||||
|
||||
/**
|
||||
* 流程组名字
|
||||
*/
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 发起人id
|
||||
*/
|
||||
private Long rootUserId;
|
||||
|
||||
/**
|
||||
* 发起人名字
|
||||
*/
|
||||
private String rootUserName;
|
||||
|
||||
/**
|
||||
* 发起人头像
|
||||
*/
|
||||
private String rootUserAvatarUrl;
|
||||
|
||||
/**
|
||||
* 发起时间
|
||||
*/
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 流程名称
|
||||
*/
|
||||
private String processName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 任务完成参数对象
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class TaskParamDto {
|
||||
|
||||
private String processInstanceId;
|
||||
|
||||
private List<String> processInstanceIdList;
|
||||
|
||||
/**
|
||||
* 节点id
|
||||
*/
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 添加子流程发起人
|
||||
*/
|
||||
private Boolean appendChildProcessRootId;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 模板用户id
|
||||
*/
|
||||
private String targetUserId;
|
||||
|
||||
/**
|
||||
* 参数
|
||||
*/
|
||||
private Map<String, Object> paramMap;
|
||||
|
||||
/**
|
||||
* 任务本地变量
|
||||
*/
|
||||
private Map<String, Object> taskLocalParamMap;
|
||||
|
||||
/**
|
||||
* 模板节点
|
||||
*/
|
||||
private String targetNodeId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 用户任务查询参数
|
||||
*/
|
||||
@Data
|
||||
public class TaskQueryParamDto {
|
||||
|
||||
/**
|
||||
* 任务执行人
|
||||
*/
|
||||
private String assign;
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum;
|
||||
|
||||
/**
|
||||
* 每页的数量
|
||||
*/
|
||||
private Integer pageSize;
|
||||
|
||||
/**
|
||||
* 流程名称
|
||||
*/
|
||||
private String processName;
|
||||
|
||||
/**
|
||||
* 任务时间
|
||||
*/
|
||||
private LocalDateTime[] taskTime;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 任务结果对象
|
||||
*
|
||||
*/
|
||||
@Data
|
||||
public class TaskResultDto {
|
||||
|
||||
private Boolean currentTask;
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
private String flowId;
|
||||
|
||||
private Node taskNode;
|
||||
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 实例id
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 委派状态
|
||||
*/
|
||||
private String delegationState;
|
||||
|
||||
/**
|
||||
* 是否允许继续委派
|
||||
*/
|
||||
private Boolean delegate;
|
||||
|
||||
/**
|
||||
* 所有变量
|
||||
*/
|
||||
private Map<String, Object> variableAll;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class VariableQueryParamDto {
|
||||
|
||||
private String taskId;
|
||||
|
||||
private List<String> keyList;
|
||||
|
||||
private String executionId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/*
|
||||
* @author pigx archetype
|
||||
* <p>
|
||||
* DTO 存放目录
|
||||
*/
|
||||
package com.pig4cloud.pigx.flow.task.dto;
|
||||
@@ -0,0 +1,136 @@
|
||||
package com.pig4cloud.pigx.flow.task.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author Vincent
|
||||
* @since 2023-07-06
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("process")
|
||||
public class Process {
|
||||
|
||||
/**
|
||||
* 表单ID
|
||||
*/
|
||||
@TableField("flow_id")
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 表单名称
|
||||
*/
|
||||
@TableField("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 图标配置
|
||||
*/
|
||||
@TableField("logo")
|
||||
private String logo;
|
||||
|
||||
/**
|
||||
* 设置项
|
||||
*/
|
||||
@TableField("settings")
|
||||
private String settings;
|
||||
|
||||
/**
|
||||
* 分组ID
|
||||
*/
|
||||
@TableField("group_id")
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 表单设置内容
|
||||
*/
|
||||
@TableField("form_items")
|
||||
private String formItems;
|
||||
|
||||
/**
|
||||
* 流程设置内容
|
||||
*/
|
||||
@TableField("process")
|
||||
private String process;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField("remark")
|
||||
private String remark;
|
||||
|
||||
@TableField("sort")
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 0 正常 1=隐藏
|
||||
*/
|
||||
@TableField("is_hidden")
|
||||
private Boolean hidden;
|
||||
|
||||
/**
|
||||
* 0 正常 1=停用
|
||||
*/
|
||||
@TableField("is_stop")
|
||||
private Boolean stop;
|
||||
|
||||
/**
|
||||
* 流程管理员
|
||||
*/
|
||||
@TableField("admin_id")
|
||||
private Long adminId;
|
||||
|
||||
/**
|
||||
* 唯一性id
|
||||
*/
|
||||
@TableField("unique_id")
|
||||
private String uniqueId;
|
||||
|
||||
/**
|
||||
* 管理员
|
||||
*/
|
||||
@TableField("admin_list")
|
||||
private String adminList;
|
||||
|
||||
/**
|
||||
* 范围描述显示
|
||||
*/
|
||||
@TableField("range_show")
|
||||
private String rangeShow;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
package com.pig4cloud.pigx.flow.task.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程抄送数据
|
||||
* </p>
|
||||
*
|
||||
* @author Vincent
|
||||
* @since 2023-07-06
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("process_copy")
|
||||
public class ProcessCopy {
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 流程发起时间
|
||||
*/
|
||||
@TableField("start_time")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 当前节点时间
|
||||
*/
|
||||
@TableField("node_time")
|
||||
private LocalDateTime nodeTime;
|
||||
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
@TableField("start_user_id")
|
||||
private Long startUserId;
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
@TableField("flow_id")
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 实例id
|
||||
*/
|
||||
@TableField("process_instance_id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 节点id
|
||||
*/
|
||||
@TableField("node_id")
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 分组id
|
||||
*/
|
||||
@TableField("group_id")
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 分组名称
|
||||
*/
|
||||
@TableField("group_name")
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 流程名称
|
||||
*/
|
||||
@TableField("process_name")
|
||||
private String processName;
|
||||
|
||||
/**
|
||||
* 节点 名称
|
||||
*/
|
||||
@TableField("node_name")
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 表单数据
|
||||
*/
|
||||
@TableField("form_data")
|
||||
private String formData;
|
||||
|
||||
/**
|
||||
* 抄送人id
|
||||
*/
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.pig4cloud.pigx.flow.task.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
*
|
||||
* </p>
|
||||
*
|
||||
* @author Vincent
|
||||
* @since 2023-07-06
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("process_group")
|
||||
public class ProcessGroup {
|
||||
|
||||
/**
|
||||
* 分组名
|
||||
*/
|
||||
@TableField("group_name")
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@TableField("sort")
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package com.pig4cloud.pigx.flow.task.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程记录
|
||||
* </p>
|
||||
*
|
||||
* @author Vincent
|
||||
* @since 2023-07-06
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("process_instance_record")
|
||||
public class ProcessInstanceRecord {
|
||||
|
||||
/**
|
||||
* 流程名字
|
||||
*/
|
||||
@TableField("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
@TableField("logo")
|
||||
private String logo;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
@TableField("flow_id")
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@TableField("process_instance_id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 表单数据
|
||||
*/
|
||||
@TableField("form_data")
|
||||
private String formData;
|
||||
|
||||
/**
|
||||
* 组id
|
||||
*/
|
||||
@TableField("group_id")
|
||||
private Long groupId;
|
||||
|
||||
/**
|
||||
* 组名称
|
||||
*/
|
||||
@TableField("group_name")
|
||||
private String groupName;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@TableField("end_time")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 上级流程实例id
|
||||
*/
|
||||
@TableField("parent_process_instance_id")
|
||||
private String parentProcessInstanceId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.pig4cloud.pigx.flow.task.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程节点数据
|
||||
* </p>
|
||||
*
|
||||
* @author Vincent
|
||||
* @since 2023-07-06
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("process_node_data")
|
||||
public class ProcessNodeData {
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
@TableField("flow_id")
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 表单数据
|
||||
*/
|
||||
@TableField("data")
|
||||
private String data;
|
||||
|
||||
@TableField("node_id")
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.pig4cloud.pigx.flow.task.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程节点记录
|
||||
* </p>
|
||||
*
|
||||
* @author Vincent
|
||||
* @since 2023-07-06
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("process_node_record")
|
||||
public class ProcessNodeRecord {
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
@TableField("flow_id")
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@TableField("process_instance_id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 表单数据
|
||||
*/
|
||||
@TableField("data")
|
||||
private String data;
|
||||
|
||||
@TableField("node_id")
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 节点类型
|
||||
*/
|
||||
@TableField("node_type")
|
||||
private String nodeType;
|
||||
|
||||
/**
|
||||
* 节点名字
|
||||
*/
|
||||
@TableField("node_name")
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 节点状态
|
||||
*/
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@TableField("start_time")
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@TableField("end_time")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 执行id
|
||||
*/
|
||||
@TableField("execution_id")
|
||||
private String executionId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,130 @@
|
||||
package com.pig4cloud.pigx.flow.task.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程节点记录-执行人
|
||||
* </p>
|
||||
*
|
||||
* @author Vincent
|
||||
* @since 2023-07-06
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("process_node_record_assign_user")
|
||||
public class ProcessNodeRecordAssignUser {
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
@TableField("flow_id")
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@TableField("process_instance_id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 表单数据
|
||||
*/
|
||||
@TableField("data")
|
||||
private String data;
|
||||
|
||||
@TableField("node_id")
|
||||
private String nodeId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableField("user_id")
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 节点状态
|
||||
*/
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@TableField("start_time")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@TableField("end_time")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 执行id
|
||||
*/
|
||||
@TableField("execution_id")
|
||||
private String executionId;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@TableField("task_id")
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 审批意见
|
||||
*/
|
||||
@TableField("approve_desc")
|
||||
private String approveDesc;
|
||||
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
@TableField("node_name")
|
||||
private String nodeName;
|
||||
|
||||
/**
|
||||
* 任务类型
|
||||
*/
|
||||
@TableField("task_type")
|
||||
private String taskType;
|
||||
|
||||
/**
|
||||
* 表单本地数据
|
||||
*/
|
||||
@TableField("local_data")
|
||||
private String localData;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.pig4cloud.pigx.flow.task.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 流程发起人
|
||||
* </p>
|
||||
*
|
||||
* @author Vincent
|
||||
* @since 2023-07-06
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Accessors(chain = true)
|
||||
@TableName("process_starter")
|
||||
public class ProcessStarter {
|
||||
|
||||
/**
|
||||
* 用户id或者部门id
|
||||
*/
|
||||
@TableField("type_id")
|
||||
private Long typeId;
|
||||
|
||||
/**
|
||||
* 类型 user dept
|
||||
*/
|
||||
@TableField("type")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
@TableField("process_id")
|
||||
private Long processId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 逻辑删除字段
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String delFlag;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
/*
|
||||
* @author pigx archetype
|
||||
* <p>
|
||||
* 实体 存放目录
|
||||
*/
|
||||
package com.pig4cloud.pigx.flow.task.entity;
|
||||
@@ -0,0 +1,82 @@
|
||||
package com.pig4cloud.pigx.flow.task.utils;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.pig4cloud.pigx.flow.task.constant.NodeTypeEnum;
|
||||
import com.pig4cloud.pigx.flow.task.constant.ProcessInstanceConstant;
|
||||
import com.pig4cloud.pigx.flow.task.dto.Node;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class NodeUtil {
|
||||
|
||||
public static String getFlowId(String processDefinitionId) {
|
||||
return StrUtil.subBefore(processDefinitionId, ":", false);
|
||||
}
|
||||
|
||||
public static boolean isNode(Node childNode) {
|
||||
return childNode != null && StrUtil.isNotBlank(childNode.getId());
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加结束节点
|
||||
* @param node
|
||||
*/
|
||||
public static void addEndNode(Node node) {
|
||||
|
||||
Node children = node.getChildren();
|
||||
if (isNode(children)) {
|
||||
addEndNode(children);
|
||||
}
|
||||
else {
|
||||
Node end = new Node();
|
||||
end.setId("end");
|
||||
end.setType(NodeTypeEnum.END.getValue());
|
||||
end.setName("结束节点");
|
||||
end.setParentId(node.getId());
|
||||
node.setChildren(end);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 需要发起人选择用户的节点
|
||||
* @param node
|
||||
*/
|
||||
public static List<String> selectUserNodeId(Node node) {
|
||||
List<String> list = new ArrayList<>();
|
||||
|
||||
if (!isNode(node)) {
|
||||
return list;
|
||||
}
|
||||
|
||||
Integer type = node.getType();
|
||||
|
||||
if (type == NodeTypeEnum.APPROVAL.getValue().intValue()) {
|
||||
|
||||
Integer assignedType = node.getAssignedType();
|
||||
|
||||
boolean selfSelect = assignedType == ProcessInstanceConstant.AssignedTypeClass.SELF_SELECT;
|
||||
if (selfSelect) {
|
||||
list.add(node.getId());
|
||||
}
|
||||
}
|
||||
|
||||
if (type == NodeTypeEnum.EXCLUSIVE_GATEWAY.getValue().intValue()
|
||||
|| type == NodeTypeEnum.PARALLEL_GATEWAY.getValue().intValue()) {
|
||||
|
||||
// 条件分支
|
||||
List<Node> branchs = node.getConditionNodes();
|
||||
for (Node branch : branchs) {
|
||||
Node children = branch.getChildren();
|
||||
List<String> strings = selectUserNodeId(children);
|
||||
list.addAll(strings);
|
||||
}
|
||||
}
|
||||
|
||||
List<String> next = selectUserNodeId(node.getChildren());
|
||||
list.addAll(next);
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.pig4cloud.pigx.flow.task.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author : willian fu
|
||||
* @date : 2022/7/4
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class ErrorRspVo {
|
||||
|
||||
private Integer code;
|
||||
|
||||
private String msg;
|
||||
|
||||
private String desp;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.pig4cloud.pigx.flow.task.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author : willian fu
|
||||
* @date : 2020/9/21
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class FormGroupVo {
|
||||
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 流程名字
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 流程
|
||||
*/
|
||||
private List<FlowVo> items;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
public static class FlowVo {
|
||||
|
||||
private String flowId;
|
||||
|
||||
/**
|
||||
* 发起范围
|
||||
*/
|
||||
private String rangeShow;
|
||||
|
||||
private String name;
|
||||
|
||||
private String logo;
|
||||
|
||||
private Boolean stop;
|
||||
|
||||
private String remark;
|
||||
|
||||
private LocalDateTime updated;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.pig4cloud.pigx.flow.task.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 表单
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public class FormItemVO {
|
||||
|
||||
private String id;
|
||||
|
||||
private String perm;
|
||||
|
||||
private String icon;
|
||||
|
||||
private String name;
|
||||
|
||||
private String type;
|
||||
|
||||
private Boolean required;
|
||||
|
||||
private String typeName;
|
||||
|
||||
private String placeholder;
|
||||
|
||||
private Props props;
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
public static class Props {
|
||||
|
||||
private Object value;
|
||||
|
||||
private Object dictValue;
|
||||
|
||||
private Object options;
|
||||
|
||||
private Boolean self;
|
||||
|
||||
private Boolean multi;
|
||||
|
||||
private Object oriForm;
|
||||
|
||||
private Object maxLength;
|
||||
|
||||
private Object minLength;
|
||||
|
||||
private Object regex;
|
||||
|
||||
private Object regexDesc;
|
||||
|
||||
private String prefix;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.pig4cloud.pigx.flow.task.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class NodeFormatParamVo {
|
||||
|
||||
private String flowId;
|
||||
|
||||
private String processInstanceId;
|
||||
|
||||
private String taskId;
|
||||
|
||||
private Map<String, Object> paramMap;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.pig4cloud.pigx.flow.task.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流程节点显示对象
|
||||
*/
|
||||
@Data
|
||||
public class NodeVo {
|
||||
|
||||
/**
|
||||
* nodeId
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 用户列表
|
||||
*/
|
||||
private List<UserVo> userVoList;
|
||||
|
||||
/**
|
||||
* 显示
|
||||
*/
|
||||
private String placeholder;
|
||||
|
||||
/**
|
||||
* 状态 1进行中2已完成
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 节点类型
|
||||
*/
|
||||
private Object type;
|
||||
|
||||
/**
|
||||
* 发起人选择用户
|
||||
*/
|
||||
private Boolean selectUser;
|
||||
|
||||
/**
|
||||
* 是否多选
|
||||
*/
|
||||
private Boolean multiple;
|
||||
|
||||
/**
|
||||
* 子级列表
|
||||
*/
|
||||
private List<NodeVo> children;
|
||||
|
||||
/**
|
||||
* 分支列表
|
||||
*/
|
||||
private List<NodeVo> branch;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.pig4cloud.pigx.flow.task.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author : willian fu
|
||||
* @version : 1.0
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrgTreeVo {
|
||||
|
||||
/**
|
||||
* 用户od
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 选择
|
||||
*/
|
||||
private Boolean selected;
|
||||
|
||||
private String avatar;
|
||||
|
||||
private Integer status = 1;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.pig4cloud.pigx.flow.task.vo;
|
||||
|
||||
import com.pig4cloud.pigx.flow.task.entity.ProcessCopy;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ProcessCopyVo extends ProcessCopy {
|
||||
|
||||
private String startUserName;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.pig4cloud.pigx.flow.task.vo;
|
||||
|
||||
import com.pig4cloud.pigx.flow.task.entity.Process;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class ProcessVO extends Process {
|
||||
|
||||
/**
|
||||
* 需要发起人选择的节点id
|
||||
*/
|
||||
private List<String> selectUserNodeId;
|
||||
|
||||
private Map<String, Object> variableMap;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.pig4cloud.pigx.flow.task.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserVo {
|
||||
|
||||
/**
|
||||
* 用户od
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
private LocalDateTime showTime;
|
||||
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 意见
|
||||
*/
|
||||
private String approveDesc;
|
||||
|
||||
private String operType;
|
||||
|
||||
/**
|
||||
* 状态 1进行中2已完成
|
||||
*/
|
||||
private Integer status = 0;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
com.pig4cloud.pigx.flow.task.api.feign.RemoteFlowTaskService
|
||||
com.pig4cloud.pigx.flow.task.api.feign.RemoteFlowEngineService
|
||||
Reference in New Issue
Block a user