初始代码

This commit is contained in:
wangmingwei
2026-04-21 16:49:46 +08:00
parent aae9dc4036
commit f0453ff3a3
2396 changed files with 256575 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/18 15:50
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_candidates")
public class CandidatesEntity extends SuperExtendEntity<String> {
/**
* 节点编码
*/
@TableField("f_node_code")
private String nodeCode;
/**
* 任务id
*/
@TableField("f_task_id")
private String taskId;
/**
* 审批人id
*/
@TableField("f_handle_id")
private String handleId;
/**
* 审批人账号
*/
@TableField("f_account")
private String account;
/**
* 候选人
*/
@TableField("f_candidates")
private String candidates;
/**
* 经办主键
*/
@TableField("f_operator_id")
private String operatorId;
/**
* 审批类型(1-候选人 2-异常处理人)
*/
@TableField("f_type")
private Integer type;
}

View File

@@ -0,0 +1,62 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author :云筑产品开发平台组
* @version: V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/4/25 下午6:12
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_circulate")
public class CirculateEntity extends SuperExtendEntity<String> {
/**
* 用户主键
*/
@TableField("f_user_id")
private String userId;
/**
* 任务主键
*/
@TableField("f_task_id")
private String taskId;
/**
* 节点编号
*/
@TableField("f_node_code")
private String nodeCode;
/**
* 节点名称
*/
@TableField("f_node_name")
private String nodeName;
/**
* 节点主键
*/
@TableField("f_node_id")
private String nodeId;
/**
* 经办主键
*/
@TableField("f_operator_id")
private String operatorId;
/**
* 是否已读
*/
@TableField("f_read")
private Integer circulateRead;
}

View File

@@ -0,0 +1,56 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
/**
* 流程评论
*
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
*/
@Data
@TableName("workflow_comment")
public class CommentEntity extends SuperExtendEntity.SuperExtendEnabledEntity<String> {
/**
* 任务主键
*/
@TableField("F_TASK_ID")
private String taskId;
/**
* 评论id
*/
@TableField("F_REPLY_ID")
private String replyId;
/**
* 文本
*/
@TableField("F_TEXT")
private String text;
/**
* 图片
*/
@TableField("F_IMAGE")
private String image;
/**
* 附件
*/
@TableField("F_FILE")
private String files;
/**
* 评论删除
*/
@TableField("f_delete_show")
private Integer deleteShow;
}

View File

@@ -0,0 +1,25 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 常用流程
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/22 20:19
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_common")
public class CommonEntity extends SuperExtendEntity<String> {
/**
* 对象主键
*/
@TableField("F_FLOW_ID")
private String flowId;
}

View File

@@ -0,0 +1,65 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 流程委托
*
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2023/09/27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_delegate")
public class DelegateEntity extends SuperExtendEntity.SuperExtendDEEntity<String> {
/**
* 委托人id
*/
@TableField("F_USER_ID")
private String userId;
/**
* 委托人
*/
@TableField("F_USER_NAME")
private String userName;
/**
* 委托类型0-发起委托1-审批委托)
*/
@TableField("F_TYPE")
private Integer type;
/**
* 委托流程
*/
@TableField("F_FLOW_ID")
private String flowId;
/**
* 委托流程名称
*/
@TableField("F_FLOW_NAME")
private String flowName;
/**
* 开始时间
*/
@TableField("F_START_TIME")
private Date startTime;
/**
* 结束时间
*/
@TableField("F_END_TIME")
private Date endTime;
}

View File

@@ -0,0 +1,40 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/9/2 11:54
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_delegate_info")
public class DelegateInfoEntity extends SuperExtendEntity<String> {
/**
* 委托主键
*/
@TableField("F_DELEGATE_ID")
private String delegateId;
/**
* 被委托人id
*/
@TableField("F_TO_USER_ID")
private String toUserId;
/**
* 被委托人
*/
@TableField("F_TO_USER_NAME")
private String toUserName;
/**
* 状态(0.待确认 1.已接受 2.已拒绝)
*/
@TableField("F_STATUS")
private Integer status;
}

View File

@@ -0,0 +1,55 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 流程发起用户信息
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/18 9:36
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_launch_user")
public class LaunchUserEntity extends SuperExtendEntity<String> {
/**
* 组织主键
*/
@TableField("f_organize_id")
private String organizeId;
/**
* 岗位主键
*/
@TableField("f_position_id")
private String positionId;
/**
* 主管主键
*/
@TableField("f_manager_id")
private String managerId;
/**
* 上级用户
*/
@TableField("f_superior")
private String superior;
/**
* 下属用户
*/
@TableField("f_subordinate")
private String subordinate;
/**
* 任务主键
*/
@TableField("f_task_id")
private String taskId;
/**
* 公司下所有部门
*/
@TableField("f_department")
private String department;
}

View File

@@ -0,0 +1,45 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/6/25 17:00
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_node_record")
public class NodeRecordEntity extends SuperExtendEntity<String> {
/**
* 任务id
*/
@TableField("F_TASK_ID")
private String taskId;
/**
* 节点id
*/
@TableField("F_NODE_ID")
private String nodeId;
/**
* 节点编码
*/
@TableField("F_NODE_CODE")
private String nodeCode;
/**
* 节点名称
*/
@TableField("F_NODE_NAME")
private String nodeName;
/**
* 节点状态1-已提交 2-已通过 3-已拒绝 4-审批中 5-已退回 6-已撤回 7-等待中
*/
@TableField("F_NODE_STATUS")
private Integer nodeStatus;
}

View File

@@ -0,0 +1,112 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 经办
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/18 15:10
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_operator")
public class OperatorEntity extends SuperExtendEntity<String> {
/**
* 节点名称
*/
@TableField("f_node_name")
private String nodeName;
/**
* 节点编码
*/
@TableField("f_node_code")
private String nodeCode;
/**
* 任务id
*/
@TableField("f_task_id")
private String taskId;
/**
* 节点id更新节点是先删除后添加所以节点id待删除
*/
@TableField("f_node_id")
private String nodeId;
/**
* 加签经办父级id
*/
@TableField("f_parent_id")
private String parentId;
/**
* 处理时间
*/
@TableField("f_handle_time")
private Date handleTime;
/**
* 处理人id
*/
@TableField("f_handle_id")
private String handleId;
/**
* 全部处理人
*/
@TableField("f_handle_all")
private String handleAll;
/**
* 处理状态,同意、拒绝
*/
@TableField("f_handle_status")
private Integer handleStatus;
/**
* 处理参数,加签信息
*/
@TableField("f_handle_parameter")
private String handleParameter;
/**
* 开始处理时间
*/
@TableField("f_start_handle_time")
private Date startHandleTime;
/**
* 签收时间
*/
@TableField("f_sign_time")
private Date signTime;
/**
* 截止时间
*/
@TableField("f_duedate")
private Date duedate;
/**
* 状态
*/
@TableField("f_status")
private Integer status;
/**
* 是否完成有操作如加签、同意等变1加签经办完成后变0
*/
@TableField("f_completion")
private Integer completion;
/**
* 流程引擎类型;1.flowable,2,activity,3.camunda
*/
@TableField("f_engine_type")
private Integer engineType;
/**
* 草稿数据
*/
@TableField("f_draft_data")
private String draftData;
/**
* 是否办理节点(0否 1是)
*/
@TableField("f_is_processing")
private Integer isProcessing;
}

View File

@@ -0,0 +1,92 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 经办记录
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/23 9:13
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_record")
public class RecordEntity extends SuperExtendEntity<String> {
/**
* 节点名称
*/
@TableField("f_node_name")
private String nodeName;
/**
* 节点编码
*/
@TableField("f_node_code")
private String nodeCode;
/**
* 节点id
*/
@TableField("f_node_id")
private String nodeId;
/**
* 经办类型
*/
@TableField("f_handle_type")
private Integer handleType;
/**
* 经办人员
*/
@TableField("f_handle_id")
private String handleId;
/**
* 经办时间
*/
@TableField("f_handle_time")
private Date handleTime;
/**
* 经办理由
*/
@TableField("f_handle_opinion")
private String handleOpinion;
/**
* 经办主键
*/
@TableField("f_operator_id")
private String operatorId;
/**
* 任务id
*/
@TableField("f_task_id")
private String taskId;
/**
* 签名图片
*/
@TableField("f_sign_img")
private String signImg;
/**
* 状态0.进行数据 1.加签数据 3.已办不显示数据 -1.作废
*/
@TableField("f_status")
private Integer status;
/**
* 流转操作人
*/
@TableField("f_handle_user_id")
private String handleUserId;
/**
* 经办文件
*/
@TableField("f_file_list")
private String fileList;
/**
* 拓展字段
*/
@TableField("f_expand_field")
private String expandField;
}

View File

@@ -0,0 +1,35 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/8 17:57
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_reject_data")
public class RejectDataEntity extends SuperExtendEntity<String> {
/**
* 任务json
*/
@TableField("F_TASK_JSON")
private String taskJson;
/**
* 经办json
*/
@TableField("F_OPERATOR_JSON")
private String operatorJson;
/**
* 节点编码
*/
@TableField("F_NODE_CODE")
private String nodeCode;
}

View File

@@ -0,0 +1,35 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 撤销
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/8/23 17:27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_revoke")
public class RevokeEntity extends SuperExtendEntity<String> {
/**
* 任务主键
*/
@TableField("F_TASK_ID")
private String taskId;
/**
* 撤销任务主键
*/
@TableField("F_REVOKE_TASK_ID")
private String revokeTaskId;
/**
* 表单数据
*/
@TableField("F_FORM_DATA")
private String formData;
}

View File

@@ -0,0 +1,35 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 子流程发起参数(依次发起)
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/12/6 15:27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_subtask_data")
public class SubtaskDataEntity extends SuperExtendEntity<String> {
/**
* 子流程发起参数
*/
@TableField("F_SUBTASK_JSON")
private String subtaskJson;
/**
* 父流程id
*/
@TableField("F_PARENT_ID")
private String parentId;
/**
* 节点编码
*/
@TableField("F_NODE_CODE")
private String nodeCode;
}

View File

@@ -0,0 +1,180 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 流程引擎
*
* @author 云筑产品开发平台组
* @version V3.4.2
* @copyright 深圳市乐程软件有限公司
* @date 2024年7月11日 上午9:18
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_task")
public class TaskEntity extends SuperExtendEntity<String> {
/**
* 任务编码
*/
@TableField("F_EN_CODE")
private String enCode;
/**
* 任务标题
*/
@TableField("F_FULL_NAME")
private String fullName;
/**
* 流程名称
*/
@TableField("F_FLOW_NAME")
private String flowName;
/**
* 流程编码
*/
@TableField("F_FLOW_CODE")
private String flowCode;
/**
* 任务状态
*/
@TableField("F_STATUS")
private Integer status;
/**
* 历史状态
*/
@TableField("F_HIS_STATUS")
private Integer hisStatus;
/**
* 流程分类
*/
@TableField("F_FLOW_CATEGORY")
private String flowCategory;
/**
* 流程类型
*/
@TableField("F_FLOW_TYPE")
private Integer flowType;
/**
* 流程版本
*/
@TableField("F_FLOW_VERSION")
private String flowVersion;
/**
* 同步异步0同步1异步
*/
@TableField("F_IS_ASYNC")
private Integer isAsync;
/**
* 子流程参数
*/
@TableField("F_SUB_PARAMETER")
private String subParameter;
/**
* 父级实例id
*/
@TableField("F_PARENT_ID")
private String parentId;
/**
* 紧急程度
*/
@TableField("F_URGENT")
private Integer urgent;
/**
* 流程主键
*/
@TableField("F_TEMPLATE_ID")
private String templateId;
/**
* 流程版本主键
*/
@TableField("F_FLOW_ID")
private String flowId;
/**
* 流程引擎实例id
*/
@TableField("F_INSTANCE_ID")
private String instanceId;
/**
* 流程引擎类型;1.flowable,2,activity,3.camunda
*/
@TableField("F_ENGINE_TYPE")
private Integer engineType;
/**
* 委托用户
*/
@TableField("f_delegate_user_id")
private String delegateUserId;
/**
* 开始时间
*/
@TableField("f_start_time")
private Date startTime;
/**
* 结束时间
*/
@TableField("f_end_time")
private Date endTime;
/**
* 当前节点名称
*/
@TableField("f_current_node_name")
private String currentNodeName;
/**
* 当前节点编码
*/
@TableField("f_current_node_code")
private String currentNodeCode;
/**
* 冻结审批,退回前的任务、经办的信息
*/
@TableField("f_reject_data_id")
private String rejectDataId;
/**
* 子流程节点编码
*/
@TableField("f_sub_code")
private String subCode;
/**
* 全局参数
*/
@TableField("f_global_parameter")
private String globalParameter;
/**
* 是否能恢复01不能
*/
@TableField("F_RESTORE")
private Integer isRestore;
/**
* 是否归档null未配置0未归档1已归档
*/
@TableField("F_IS_FILE")
private Integer isFile;
/**
* 类型(0-功能 1-发起)
*/
@TableField("F_TYPE")
private Integer type;
}

View File

@@ -0,0 +1,35 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 任务条件
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/8/23 17:27
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_task_line")
public class TaskLineEntity extends SuperExtendEntity<String> {
/**
* 任务主键
*/
@TableField("F_TASK_ID")
private String taskId;
/**
* 线的键
*/
@TableField("F_LINE_KEY")
private String lineKey;
/**
* 线的值
*/
@TableField("F_LINE_VALUE")
private String lineValue;
}

View File

@@ -0,0 +1,97 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
/**
* 流程引擎
*
* @author 云筑产品开发平台组
* @version V3.4.2
* @copyright 深圳市乐程软件有限公司
* @date 2024年7月11日 上午9:18
*/
@Data
@TableName("workflow_template")
public class TemplateEntity extends SuperExtendEntity.SuperExtendDEEntity<String> {
/**
* 流程主版本
*/
@TableField("F_FLOW_ID")
private String flowId;
/**
* 流程主版本
*/
@TableField("F_VERSION")
private String version;
/**
* 流程编码
*/
@TableField("F_EN_CODE")
private String enCode;
/**
* 流程名称
*/
@TableField("F_FULL_NAME")
private String fullName;
/**
* 流程类型0.标准 1.简流
*/
@TableField("F_TYPE")
private Integer type;
/**
* 流程分类
*/
@TableField("F_CATEGORY")
private String category;
/**
* 图标
*/
@TableField("F_ICON")
private String icon;
/**
* 图标背景色
*/
@TableField("F_ICON_BACKGROUND")
private String iconBackground;
/**
* 流程设置
*/
@TableField("F_FLOW_CONFIG")
private String flowConfig;
/**
* 流程权限1全局 2权限
*/
@TableField("F_VISIBLE_TYPE")
private Integer visibleType;
@TableField("F_FLOWABLE_ID")
private String flowableId;
@TableField("F_ACTIVITI_ID")
private String activitiId;
@TableField("F_CAMUNDA_ID")
private String camundaId;
/**
* 流程显示类型0-全局 1-流程 2-菜单)
*/
@TableField("F_SHOW_TYPE")
private Integer showType;
/**
* 状态(0.未上架,1.上架,2.下架-继续审批3.下架-隐藏审批)
*/
@TableField("F_STATUS")
private Integer status;
}

View File

@@ -0,0 +1,66 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
/**
* 流程引擎
*
* @author 云筑产品开发平台组
* @version V3.4.2
* @copyright 深圳市乐程软件有限公司
* @date 2024年7月11日 上午9:18
*/
@Data
@TableName("workflow_version")
public class TemplateJsonEntity extends SuperExtendEntity<String> {
/**
* 流程模板id
*/
@TableField("F_TEMPLATE_ID")
private String templateId;
/**
* 流程版本
*/
@TableField("F_VERSION")
private String version;
/**
* 状态(0.设计,1.启用,2.历史)
*/
@TableField("F_STATUS")
private Integer state;
/**
* 流程模板
*/
@TableField("F_XML")
private String flowXml;
/**
* flowable部署ID
*/
@TableField("f_flowable_id")
private String flowableId;
/**
* activiti部署ID
*/
@TableField("f_activiti_id")
private String activitiId;
/**
* camunda部署ID
*/
@TableField("f_camunda_id")
private String camundaId;
/**
* 消息配置id
*/
@TableField("f_send_config_ids")
private String sendConfigIds;
}

View File

@@ -0,0 +1,47 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
/**
* 流程引擎
*
* @author 云筑产品开发平台组
* @version V3.4.2
* @copyright 深圳市乐程软件有限公司
* @date 2024年7月11日 上午9:18
*/
@Data
@TableName("workflow_node")
public class TemplateNodeEntity extends SuperExtendEntity<String> {
/**
* 流程版本主键
*/
@TableField("F_FLOW_ID")
private String flowId;
/**
* 表单主键
*/
@TableField("f_form_id")
private String formId;
/**
* 节点类型
*/
@TableField("f_node_type")
private String nodeType;
/**
* 节点编码
*/
@TableField("f_node_code")
private String nodeCode;
/**
* 节点属性
*/
@TableField("f_node_json")
private String nodeJson;
}

View File

@@ -0,0 +1,72 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/9/10 17:06
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_trigger_record")
public class TriggerRecordEntity extends SuperExtendEntity<String> {
/**
* 触发主键
*/
@TableField("F_TRIGGER_ID")
private String triggerId;
/**
* 任务主键
*/
@TableField("F_TASK_ID")
private String taskId;
/**
* 节点id
*/
@TableField("F_NODE_ID")
private String nodeId;
/**
* 节点编号
*/
@TableField("F_NODE_CODE")
private String nodeCode;
/**
* 节点名称
*/
@TableField("F_NODE_NAME")
private String nodeName;
/**
* 开始时间
*/
@TableField("F_START_TIME")
private Date startTime;
/**
* 结束时间
*/
@TableField("F_END_TIME")
private Date endTime;
/**
* 状态0-通过 1-异常
*/
@TableField("F_STATUS")
private Integer status;
/**
* 错误提示
*/
@TableField("F_ERROR_TIP")
private String errorTip;
/**
* 错误数据
*/
@TableField("F_ERROR_DATA")
private String errorData;
}

View File

@@ -0,0 +1,93 @@
package com.yunzhupaas.flowable.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunzhupaas.base.entity.SuperExtendEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 触发任务
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/9/10 16:52
*/
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("workflow_trigger_task")
public class TriggerTaskEntity extends SuperExtendEntity<String> {
/**
* 标题
*/
@TableField("F_FULL_NAME")
private String fullName;
/**
* 重试任务开始时间
*/
@TableField("F_PARENT_TIME")
private Date parentTime;
/**
* 重试任务主键id
*/
@TableField("F_PARENT_ID")
private String parentId;
/**
* 标准任务主键
*/
@TableField("F_TASK_ID")
private String taskId;
/**
* 节点编码
*/
@TableField("F_NODE_CODE")
private String nodeCode;
/**
* 节点id
*/
@TableField("F_NODE_ID")
private String nodeId;
/**
* 同步异步
*/
@TableField("F_IS_ASYNC")
private Integer isAsync;
/**
* 开始时间
*/
@TableField("F_START_TIME")
private Date startTime;
/**
* 模板id
*/
@TableField("F_FLOW_ID")
private String flowId;
/**
* 数据
*/
@TableField("F_DATA")
private String data;
/**
* 数据主键
*/
@TableField("F_DATA_ID")
private String dataId;
/**
* 引擎主键
*/
@TableField("F_INSTANCE_ID")
private String instanceId;
/**
* 流程引擎类型;1.flowable,2,activity,3.camunda
*/
@TableField("F_ENGINE_TYPE")
private Integer engineType;
/**
* 状态
*/
@TableField("F_STATUS")
private Integer status;
}

View File

@@ -0,0 +1,36 @@
package com.yunzhupaas.flowable.enums;
import lombok.Getter;
/**
* 分流规则(网关类型)
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/19 9:21
*/
@Getter
public enum DivideRuleEnum {
/**
* 根据条件多分支流转(包容网关)
*/
INCLUSION("inclusion"),
/**
* 根据条件单分支流转(排它网关)
*/
EXCLUSIVE("exclusive"),
/**
* 所有分支都流转(并行网关)
*/
PARALLEL("parallel"),
/**
* 选择分支
*/
CHOOSE("choose");
private final String type;
DivideRuleEnum(String type) {
this.type = type;
}
}

View File

@@ -0,0 +1,76 @@
package com.yunzhupaas.flowable.enums;
/**
* 异常规则
*
* @author :云筑产品开发平台组
* @version: V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2022/6/17 10:57
*/
public enum ErrorRuleEnum {
/**
* 1.超级管理员
*/
administrator(1, "超级管理员"),
/**
* 2.指定人员
*/
initiator(2, "指定人员"),
/**
* 3.上一节点审批人指定处理人
*/
node(3, "上一节点审批人指定处理人"),
/**
* 4.默认审批通过
*/
pass(4, "默认审批通过"),
/**
* 5.无法提交
*/
notSubmit(5, "无法提交"),
/**
* 6.发起者本人处理
*/
creatorUserId(6, "发起者本人处理");
private int code;
private String message;
ErrorRuleEnum(int code, String message) {
this.code = code;
this.message = message;
}
/**
* 根据状态code获取枚举名称
*
* @return
*/
public static ErrorRuleEnum getByCode(Integer code) {
for (ErrorRuleEnum status : ErrorRuleEnum.values()) {
if (status.getCode().equals(code)) {
return status;
}
}
return null;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

View File

@@ -0,0 +1,85 @@
package com.yunzhupaas.flowable.enums;
/**
* 附件条件
*
* @author :云筑产品开发平台组
* @version: V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2022/6/14 16:50
*/
public enum ExtraRuleEnum {
/**
* 无条件
*/
unconditional(1, "无条件"),
/**
* 同一部门
*/
organize(2, "同一部门"),
/**
* 同一岗位
*/
position(3, "同一岗位"),
/**
* 发起人上级
*/
manager(4, "发起人上级"),
/**
* 发起人下属
*/
subordinate(5, "发起人下属"),
/**
* 同一公司
*/
department(6, "同一公司"),
/**
* 同一角色
*/
role(7, "同一角色"),
/**
* 同一分组
*/
group(8, "同一分组");
private int code;
private String message;
ExtraRuleEnum(int code, String message) {
this.code = code;
this.message = message;
}
/**
* 根据状态code获取枚举名称
*
* @return
*/
public static ExtraRuleEnum getByCode(Integer code) {
for (ExtraRuleEnum status : ExtraRuleEnum.values()) {
if (status.getCode().equals(code)) {
return status;
}
}
return null;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

View File

@@ -0,0 +1,46 @@
package com.yunzhupaas.flowable.enums;
/**
* 消息类型
*
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024-09-29 上午9:18
*/
public enum FlowMessageEnum {
//发起
me(1, "me"),
//待签
sign(2, "sign"),
//待办
doing(3, "doing"),
//抄送
circulate(4, "circulate");
private String message;
private int code;
FlowMessageEnum(int code, String message) {
this.code = code;
this.message = message;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

View File

@@ -0,0 +1,71 @@
package com.yunzhupaas.flowable.enums;
/**
* 工作流开发
*
* @author 云筑产品开发平台组
* @version V3.0.0
* @copyright 深圳市乐程软件有限公司
* @date 2023/09/27
*/
public enum FlowRecordEnum {
//拒绝
reject(0, "拒绝"),
//同意
audit(1, "同意"),
//提交
submit(2, "提交"),
//撤回
revoke(3, "撤回"),
//终止
cancel(4, "终止"),
//指派
assign(5, "指派"),
//加签
copyId(6, "加签"),
//转办
transfer(7, "转办"),
//变更
change(8, "变更"),
//复活
resurrection(9, "复活"),
//前加签
befoCopyId(10, "前加签"),
//挂起
suspend(11, "挂起"),
//恢复
restore(12, "恢复"),
//转向
swerve(13, "转向"),
//结束
end(100, "结束"),
//节点撤回
recall(-1, "节点撤回");
private Integer code;
private String message;
FlowRecordEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

View File

@@ -0,0 +1,99 @@
package com.yunzhupaas.flowable.enums;
/**
* 经办对象
*
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024-09-26 上午9:18
*/
public enum FlowTaskOperatorEnum {
/**
* 发起者主管
*/
LaunchCharge(1, "发起者主管"),
/**
* 部门经理
*/
DepartmentCharge(2, "部门经理"),
/**
* 发起者本人
*/
InitiatorMe(3, "发起者本人"),
/**
* 变量
*/
Variate(4, "变量"),
/**
* 环节
*/
Tache(5, "环节"),
/**
* 指定人
*/
Nominator(6, "指定人"),
/**
* 候选人
*/
Candidate(7, "候选人"),
/**
* 服务
*/
Serve(9, "服务");
private Integer code;
private String message;
FlowTaskOperatorEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
/**
* 根据状态code获取枚举名称
*
* @return
*/
public static String getMessageByCode(String code) {
for (FlowTaskOperatorEnum status : FlowTaskOperatorEnum.values()) {
if (status.getCode().equals(code)) {
return status.message;
}
}
return null;
}
/**
* 根据状态code获取枚举值
*
* @return
*/
public static FlowTaskOperatorEnum getByCode(String code) {
for (FlowTaskOperatorEnum status : FlowTaskOperatorEnum.values()) {
if (status.getCode().equals(code)) {
return status;
}
}
return null;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

View File

@@ -0,0 +1,96 @@
package com.yunzhupaas.flowable.enums;
public enum NodeEnum {
/**
* 开始
*/
start("start"),
/**
* 结束
*/
end("end"),
/**
* 全局
*/
global("global"),
/**
* 子流程
*/
subFlow("subFlow"),
/**
* 线
*/
connect("connect"),
/**
* 审批
*/
approver("approver"),
/**
* 办理
*/
processing("processing"),
/**
* 触发事件
*/
trigger("trigger"),
/**
* 事件触发
*/
eventTrigger("eventTrigger"),
/**
* 定时触发
*/
timeTrigger("timeTrigger"),
/**
* 通知触发
*/
noticeTrigger("noticeTrigger"),
/**
* webhook触发
*/
webhookTrigger("webhookTrigger"),
/**
* 获取数据
*/
getData("getData"),
/**
* 新增数据
*/
addData("addData"),
/**
* 更新数据
*/
updateData("updateData"),
/**
* 删除数据
*/
deleteData("deleteData"),
/**
* 数据接口
*/
dataInterface("dataInterface"),
/**
* 消息通知
*/
message("message"),
/**
* 发起审批
*/
launchFlow("launchFlow"),
/**
* 创建日程
*/
schedule("schedule");
private final String type;
NodeEnum(String type) {
this.type = type;
}
public String getType() {
return type;
}
}

View File

@@ -0,0 +1,49 @@
package com.yunzhupaas.flowable.enums;
import lombok.Getter;
/**
* 经办类型
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/23 17:23
*/
@Getter
public enum OperatorStateEnum {
// 待去除
WaitSign(0, "待签收"),
Runing(1, "流转中"),
AddSign(2, "加签"),
Transfer(3, "转审"),
Assigned(4, "指派"),
Back(5, "退回"),
Recall(6, "撤回"),
Assist(7, "协办"),
Revoke(8, "撤销"),
TransferProcessing(9, "转办"),
// 无用节点
Futility(-1, "无用节点"),
// 用于嵌入的任务流程
Waiting(-2, "未激活");
private Integer code;
private String message;
OperatorStateEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,69 @@
package com.yunzhupaas.flowable.enums;
/**
* 打印条件
*
* @author :云筑产品开发平台组
* @version: V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2022/6/14 16:50
*/
public enum PrintEnum {
/**
* 不限制
*/
unconditional(1, "不限制"),
/**
* 节点结束
*/
nodeEnd(2, "节点结束"),
/**
* 流程结束
*/
flowEnd(3, "流程结束"),
/**
* 条件设置
*/
conditions(4, "条件设置");
private int code;
private String message;
PrintEnum(int code, String message) {
this.code = code;
this.message = message;
}
/**
* 根据状态code获取枚举名称
*
* @return
*/
public static PrintEnum getByCode(Integer code) {
for (PrintEnum status : PrintEnum.values()) {
if (status.getCode().equals(code)) {
return status;
}
}
return null;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

View File

@@ -0,0 +1,60 @@
package com.yunzhupaas.flowable.enums;
import lombok.Getter;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/26 17:32
*/
@Getter
public enum RecordEnum {
// 拒绝
reject(0, "拒绝"),
// 同意
audit(1, "同意"),
// 提交
submit(2, "提交"),
// 退回
back(3, "退回"),
// 撤回
recall(4, "撤回"),
// 加签
addSign(5, "加签"),
// 减签
subtractSign(6, "减签"),
// 转审
transfer(7, "转审"),
// 暂停
pause(8, "暂停"),
// 重启
reboot(9, "重启"),
// 复活
activate(10, "复活"),
// 指派
assign(11, "指派"),
// 催办
press(12, "催办"),
// 协办
assist(13, "协办"),
// 撤销
revoke(14, "撤销"),
// 终止
cancel(15, "终止"),
auditRevoke(16, "同意撤销"),
rejectRevoke(17, "拒绝撤销"),
transferProcessing(18, "转办");
private Integer code;
private String message;
RecordEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,66 @@
package com.yunzhupaas.flowable.enums;
import lombok.Getter;
/**
* 任务状态枚举
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/17 19:03
*/
@Getter
public enum TaskStatusEnum {
/**
* 待提交
*/
TO_BE_SUBMIT(0, "待提交"),
/**
* 进行中
*/
RUNNING(1, "进行中"),
/**
* 已通过
*/
PASSED(2, "已通过"),
/**
* 已拒绝
*/
REJECTED(3, "已拒绝"),
/**
* 已终止
*/
CANCEL(4, "已终止"),
/**
* 已暂停
*/
PAUSED(5, "已暂停"),
/**
* 撤销中
*/
REVOKING(6, "撤销中"),
/**
* 已撤销
*/
REVOKED(7, "已撤销"),
/**
* 已退回
*/
BACKED(8, "已退回"),
/**
* 已撤回
*/
RECALL(9, "已撤回"),
/**
* 异常
*/
EXCEPTION(10, "异常");
private final Integer code;
private final String message;
TaskStatusEnum(int code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,30 @@
package com.yunzhupaas.flowable.enums;
import lombok.Getter;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/9/11 9:20
*/
@Getter
public enum TriggerRecordEnum {
/**
* 通过
*/
PASSED(0, "通过"),
/**
* 异常
*/
EXCEPTION(1, "异常");
private final Integer code;
private final String message;
TriggerRecordEnum(int code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,25 @@
package com.yunzhupaas.flowable.model.candidates;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/18 21:17
*/
@Data
public class CandidateCheckFo {
String flowId;
Map<String, Object> formData = new HashMap<>();
// 1.同意 0.拒绝
Integer handleStatus = 1;
// 任务主键
String id;
String delegateUser;
}

View File

@@ -0,0 +1,25 @@
package com.yunzhupaas.flowable.model.candidates;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/19 10:24
*/
@Data
public class CandidateCheckVo implements Serializable {
@Schema(description = "节点")
private List<CandidateListModel> list = new ArrayList<>();
/**
* 1.有分支 //2.没有分支有候选人 //3.没有分支也没有候选人
*/
private Integer type = 3;
}

View File

@@ -0,0 +1,29 @@
package com.yunzhupaas.flowable.model.candidates;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/19 10:22
*/
@Data
public class CandidateListModel implements Serializable {
@Schema(description = "节点编码")
private String nodeCode;
@Schema(description = "节点名称")
private String nodeName;
@Schema(description = "是否候选人")
private Boolean isCandidates = false;
@Schema(description = "是否有候选人")
private Boolean hasCandidates = false;
@Schema(description = "已经选择的候选人")
private String selected;
@Schema(description = "是否选择分支")
private Boolean isBranchFlow = false;
}

View File

@@ -0,0 +1,33 @@
package com.yunzhupaas.flowable.model.candidates;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yunzhupaas.base.Pagination;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/20 11:06
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class CandidateUserFo extends Pagination {
/**
* 版本主键
*/
@Schema(description = "版本主键")
private String flowId;
/**
* 节点编码
*/
@Schema(description = "节点编码")
private String nodeCode;
/**
* 委托人
*/
@Schema(description = "委托人")
private String delegateUser;
}

View File

@@ -0,0 +1,25 @@
package com.yunzhupaas.flowable.model.candidates;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/20 11:06
*/
@Data
public class CandidateUserVo implements Serializable {
@Schema(description = "主键")
private String id;
@Schema(description = "名称")
private String fullName;
@Schema(description = "头像")
private String headIcon;
@Schema(description = "组织")
private String organize;
}

View File

@@ -0,0 +1,52 @@
package com.yunzhupaas.flowable.model.candidates;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/18 15:58
*/
@Data
public class CandidatesVo implements Serializable {
/**
* 节点id
*/
@Schema(description = "节点id")
private String nodeId;
/**
* 任务id
*/
@Schema(description = "任务id")
private String taskId;
/**
* 审批人id
*/
@Schema(description = "审批人id")
private String handleId;
/**
* 审批人账号
*/
@Schema(description = "审批人账号")
private String account;
/**
* 候选人
*/
@Schema(description = "候选人")
private String candidates;
/**
* 经办主键
*/
@Schema(description = "经办主键")
private String operatorId;
/**
* 审批类型(1-候选人 2-异常处理人)
*/
@Schema(description = "审批类型(1-候选人 2-异常处理人)")
private Integer type;
}

View File

@@ -0,0 +1,30 @@
package com.yunzhupaas.flowable.model.comment;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 版本: V3.1.0
* 版权: 深圳市乐程软件有限公司
* 作者: 云筑产品开发平台组
*/
@Data
public class CommentCrForm {
@Schema(description = "附件")
private String file;
@Schema(description = "图片")
private String image;
@Schema(description = "流程id")
private String taskId;
@Schema(description = "文本")
private String text;
@Schema(description = "评论id")
private String replyId;
}

View File

@@ -0,0 +1,17 @@
package com.yunzhupaas.flowable.model.comment;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 版本: V3.1.0
* 版权: 深圳市乐程软件有限公司
* 作者: 云筑产品开发平台组
*/
@Data
public class CommentInfoVO extends CommentCrForm{
@Schema(description = "主键")
private String id;
}

View File

@@ -0,0 +1,57 @@
package com.yunzhupaas.flowable.model.comment;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 版本: V3.1.0
* 版权: 深圳市乐程软件有限公司
* 作者: 云筑产品开发平台组
*/
@Data
public class CommentListVO {
@Schema(description = "附件")
private String file;
@Schema(description = "图片")
private String image;
@Schema(description = "流程id")
private String taskId;
@Schema(description = "文本")
private String text;
@Schema(description = "创建人")
private String creatorUserId;
@Schema(description = "创建人")
private String creatorUser;
@Schema(description = "头像")
private String creatorUserHeadIcon;
@Schema(description = "创建时间")
private Long creatorTime;
@Schema(description = "是否删除")
private Integer isDel;
@Schema(description = "主键")
private String id;
@Schema(description = "评论id")
private String replyId;
@Schema(description = "评论删除")
private Integer deleteShow;
@Schema(description = "评论内容")
private String replyText;
@Schema(description = "评论用户")
private String replyUser;
}

View File

@@ -0,0 +1,19 @@
package com.yunzhupaas.flowable.model.comment;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yunzhupaas.base.Pagination;
import lombok.Data;
/**
* 版本: V3.1.0
* 版权: 深圳市乐程软件有限公司
* 作者: 云筑产品开发平台组
*/
@Data
public class CommentPagination extends Pagination {
@Schema(description = "任务主键")
private String taskId;
}

View File

@@ -0,0 +1,50 @@
package com.yunzhupaas.flowable.model.delegate;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/3/15 9:18
*/
@Data
public class DelegateCrForm {
@Schema(description = "委托人名称")
private String userName;
@Schema(description = "委托人id")
private String userId;
/**
* 委托人id集合
*/
private List<String> userIdList = new ArrayList<>();
@Schema(description = "被委托人")
@NotBlank(message = "必填")
private String toUserName;
@Schema(description = "被委托人id")
private List<String> toUserId = new ArrayList<>();
@Schema(description = "委托类型0-发起委托1-审批委托)")
@NotBlank(message = "必填")
private String type;
@Schema(description = "描述")
private String description;
@Schema(description = "开始日期")
@NotNull(message = "必填")
private Long startTime;
@Schema(description = "结束日期")
@NotNull(message = "必填")
private Long endTime;
@Schema(description = "委托流程id")
private String flowId;
@Schema(description = "委托流程名称")
@NotBlank(message = "必填")
private String flowName;
}

View File

@@ -0,0 +1,47 @@
package com.yunzhupaas.flowable.model.delegate;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/9/2 16:31
*/
@Data
public class DelegateInfoModel {
@Schema(description = "主键id")
private String id;
@Schema(description = "委托类型0-发起委托1-审批委托")
private String type;
@Schema(description = "委托人id")
private String userId;
@Schema(description = "委托人")
private String userName;
@Schema(description = "被委托人id")
private String toUserId;
@Schema(description = "被委托人")
private String toUserName;
@Schema(description = "描述")
private String description;
@Schema(description = "开始日期")
private Date startTime;
@Schema(description = "结束日期")
private Date endTime;
@Schema(description = "委托流程id")
private String flowId;
@Schema(description = "委托流程名称")
private String flowName;
@Schema(description = "有效标志")
private Integer enabledMark;
@Schema(description = "状态")
private Integer status;
@Schema(description = "确认状态")
private Integer confirmStatus;
@Schema(description = "委托id")
private String delegateId;
}

View File

@@ -0,0 +1,41 @@
package com.yunzhupaas.flowable.model.delegate;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/3/15 9:18
*/
@Data
public class DelegateInfoVO {
@Schema(description = "主键id")
private String id;
@Schema(description = "委托类型0-发起委托1-审批委托")
private Integer type;
@Schema(description = "委托人id")
private String userId;
@Schema(description = "委托人")
private String userName;
@Schema(description = "流程分类")
private String flowCategory;
@Schema(description = "被委托人")
private String toUserName;
@Schema(description = "被委托人")
private List<String> toUserId;
@Schema(description = "描述")
private String description;
@Schema(description = "开始日期")
private Long startTime;
@Schema(description = "结束日期")
private Long endTime;
@Schema(description = "委托流程id")
private String flowId;
@Schema(description = "委托流程名称")
private String flowName;
}

View File

@@ -0,0 +1,51 @@
package com.yunzhupaas.flowable.model.delegate;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/3/15 9:18
*/
@Data
public class DelegateListVO {
@Schema(description = "主键id")
private String id;
@Schema(description = "委托类型0-发起委托1-审批委托")
private String type;
@Schema(description = "委托人id")
private String userId;
@Schema(description = "委托人")
private String userName;
@Schema(description = "被委托人id")
private String toUserId;
@Schema(description = "被委托人")
private String toUserName;
@Schema(description = "描述")
private String description;
@Schema(description = "开始日期")
private Long startTime;
@Schema(description = "结束日期")
private Long endTime;
@Schema(description = "委托流程id")
private String flowId;
@Schema(description = "委托流程名称")
private String flowName;
@Schema(description = "有效标志")
private Integer enabledMark;
/**
* 生效状态0.未生效 1.生效中 2.已失效
*/
private Integer status;
/**
* 确认状态0.待确认 1.已接受 2.已拒绝
*/
private Integer confirmStatus;
/**
* 是否可编辑
*/
private Boolean isEdit = true;
}

View File

@@ -0,0 +1,21 @@
package com.yunzhupaas.flowable.model.delegate;
import com.yunzhupaas.base.Pagination;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/13 17:35
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class DelegatePagination extends Pagination {
/**
* 1.我的委托 2.委托给我 3.我的代理 4.代理给我
*/
private Integer type;
}

View File

@@ -0,0 +1,15 @@
package com.yunzhupaas.flowable.model.delegate;
import lombok.Data;
/**
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/3/15 9:18
*/
@Data
public class DelegateUpForm extends DelegateCrForm {
}

View File

@@ -0,0 +1,25 @@
package com.yunzhupaas.flowable.model.flowable;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/8 20:12
*/
@Data
public class AfterFo {
/**
* 部署ID
*/
private String deploymentId;
/**
* 节点Key
*/
private List<String> taskKeys = new ArrayList<>();
}

View File

@@ -0,0 +1,25 @@
package com.yunzhupaas.flowable.model.flowable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/8 9:13
*/
@Data
public class BackFo {
/**
* 任务ID
*/
@Schema(name = "taskId", description = "任务ID")
private String taskId;
/**
* 目标节点ID
*/
@Schema(name = "targetKey", description = "目标节点ID")
private String targetKey;
}

View File

@@ -0,0 +1,24 @@
package com.yunzhupaas.flowable.model.flowable;
import lombok.Data;
import java.util.List;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/6/4 15:59
*/
@Data
public class CompensateFo {
/**
* 实例主键
*/
private String instanceId;
/**
* 原先的节点
*/
private List<String> source;
}

View File

@@ -0,0 +1,27 @@
package com.yunzhupaas.flowable.model.flowable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Map;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/9 9:53
*/
@Data
public class CompleteFo {
/**
* 任务ID
*/
@Schema(name = "taskId", description = "任务ID")
private String taskId;
/**
* 变量
*/
@Schema(name = "variables", description = "变量")
private Map<String, Object> variables;
}

View File

@@ -0,0 +1,16 @@
package com.yunzhupaas.flowable.model.flowable;
import lombok.Data;
@Data
public class FlowAbleData {
/**
* 部署ID
*/
private String deploymentId;
/**
* 实例ID
*/
private String instanceId;
}

View File

@@ -0,0 +1,10 @@
package com.yunzhupaas.flowable.model.flowable;
import lombok.Data;
@Data
public class FlowAbleForm {
private String bpmnXml;
private String key;
}

View File

@@ -0,0 +1,11 @@
package com.yunzhupaas.flowable.model.flowable;
import lombok.Data;
@Data
public class FlowAbleModel {
private Boolean success = false;
private Object data = new Object();
private String msg;
}

View File

@@ -0,0 +1,414 @@
package com.yunzhupaas.flowable.model.flowable;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yunzhupaas.config.ConfigValueUtil;
import com.yunzhupaas.constant.MsgCode;
import com.yunzhupaas.exception.WorkFlowException;
import com.yunzhupaas.util.JsonUtil;
import com.yunzhupaas.util.StringUtil;
import com.yunzhupaas.util.UserProvider;
import com.yunzhupaas.util.wxutil.HttpUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.net.URLDecoder;
import java.util.List;
import java.util.Map;
@Slf4j
@Component
public class FlowAbleUrl {
@Autowired
private ConfigValueUtil configValueUtil;
public String deployFlowAble(String flowXml, String key) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/definition/deploy";
FlowAbleForm flowAbleForm = new FlowAbleForm();
flowAbleForm.setKey(key);
try {
flowAbleForm.setBpmnXml(URLDecoder.decode(flowXml, Constants.UTF_8));
} catch (Exception e) {
flowAbleForm.setBpmnXml(flowXml);
}
JSONObject jsonObject = HttpUtil.httpRequest(url, "POST", JsonUtil.getObjectToString(flowAbleForm), UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF090.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
FlowAbleData data = JsonUtil.getJsonToBean(flowAbleModel.getData(), FlowAbleData.class);
return data.getDeploymentId();
}
private String getFlowAbleUrl() {
return configValueUtil.getFlowDomain();
}
/**
* 启动流程实例
*
* @param deploymentId 引擎部署ID
* @param variables 变量
*/
public String startInstance(String deploymentId, Map<String, Object> variables) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/instance/start";
InstanceStartFo fo = new InstanceStartFo();
fo.setDeploymentId(deploymentId);
fo.setVariables(variables);
JSONObject jsonObject = HttpUtil.httpRequest(url, "POST", JsonUtil.getObjectToString(fo), UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF091.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
FlowAbleData data = JsonUtil.getJsonToBean(flowAbleModel.getData(), FlowAbleData.class);
return data.getInstanceId();
}
/**
* 获取当前任务
*
* @param instanceId 引擎实例ID
*/
public List<FlowableTaskModel> getCurrentTask(String instanceId) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/list/" + instanceId;
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF092.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), FlowableTaskModel.class);
}
/**
* 删除流程实例
*
* @param instanceId 实例ID
* @param deleteReason 删除原因
*/
public void deleteInstance(String instanceId, String deleteReason) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/instance?instanceId=" + instanceId;
if (StringUtil.isNotEmpty(deleteReason)) {
url += "&deleteReason=" + deleteReason;
}
JSONObject jsonObject = HttpUtil.httpRequest(url, "DELETE", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel || !flowAbleModel.getSuccess()) {
log.error("流程实例删除异常: {}", flowAbleModel);
}
}
/**
* 获取出线Key集合
*
* @param fo 参数类
*/
public List<String> getOutgoingFlows(OutgoingFlowsFo fo) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/outgoing/flows";
if (StringUtil.isNotEmpty(fo.getTaskId())) {
url += "?taskId=" + fo.getTaskId();
} else {
url += "?deploymentId=" + fo.getDeploymentId() + "&taskKey=" + fo.getTaskKey();
}
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF094.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), String.class);
}
/**
* 获取线之后的任务节点
*
* @param deploymentId 部署id
* @param flowKey 连接线的Key
*/
public List<String> getTaskKeyAfterFlow(String deploymentId, String flowKey) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/flow/target?deploymentId=" + deploymentId + "&flowKey=" + flowKey;
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF095.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), String.class);
}
/**
* 获取下一级任务节点集合
*
* @param fo 参数类
*/
public List<FlowableNodeModel> getNext(NextOrPrevFo fo) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/next";
if (StringUtil.isNotEmpty(fo.getTaskId())) {
url += "?taskId=" + fo.getTaskId();
} else {
url += "?deploymentId=" + fo.getDeploymentId() + "&taskKey=" + fo.getTaskKey();
}
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF096.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), FlowableNodeModel.class);
}
/**
* 获取上一级任务节点id集合
*
* @param fo 参数类
*/
public List<String> getPrev(NextOrPrevFo fo) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/prev";
if (StringUtil.isNotEmpty(fo.getTaskId())) {
url += "?taskId=" + fo.getTaskId();
} else {
url += "?deploymentId=" + fo.getDeploymentId() + "&taskKey=" + fo.getTaskKey();
}
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF097.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), String.class);
}
/**
* 完成流程任务
*
* @param fo 参数类
*/
public void complete(CompleteFo fo) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/complete";
JSONObject jsonObject = HttpUtil.httpRequest(url, "POST", JsonUtil.getObjectToString(fo), UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF098.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
}
/**
* 获取流程实例
*
* @param instanceId 实例id
*/
public FlowableInstanceModel getInstance(String instanceId) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/instance/" + instanceId;
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF099.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToBean(flowAbleModel.getData(), FlowableInstanceModel.class);
}
/**
* 获取未经过的节点
*
* @param instanceId 引擎实例主键
*/
public List<String> getTobePass(String instanceId) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/tobe/pass/" + instanceId;
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF100.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), String.class);
}
/**
* 获取节点的后续节点
*
* @param fo 参数
*/
public List<String> getAfter(AfterFo fo) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/after";
JSONObject jsonObject = HttpUtil.httpRequest(url, "POST", JsonUtil.getObjectToString(fo), UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF101.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), String.class);
}
/**
* 获取可回退的节点ID
*
* @param taskId 引擎任务主键
*/
public List<String> getFallbacks(String taskId) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/fallbacks/" + taskId;
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF102.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), String.class);
}
/**
* 退回
*
* @param fo 参数
*/
public void back(BackFo fo) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/back";
JSONObject jsonObject = HttpUtil.httpRequest(url, "POST", JsonUtil.getObjectToString(fo), UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF103.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
}
/**
* 节点跳转
*
* @param fo 参数
*/
public void jump(JumpFo fo) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/jump";
JSONObject jsonObject = HttpUtil.httpRequest(url, "POST", JsonUtil.getObjectToString(fo), UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF104.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
}
/**
* 任务完成的补偿
*
* @param fo 参数
*/
public List<FlowableTaskModel> compensate(CompensateFo fo) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/compensate";
JSONObject jsonObject = HttpUtil.httpRequest(url, "POST", JsonUtil.getObjectToString(fo), UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error(MsgCode.WF105.get());
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), FlowableTaskModel.class);
}
/**
* 获取历史节点
*
* @param instanceId 实例主键
*/
public List<FlowableHistoricModel> getHistoric(String instanceId) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/historic/" + instanceId;
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error("获取历史节点失败");
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), FlowableHistoricModel.class);
}
/**
* 获取历史结束节点
*
* @param instanceId 实例主键
*/
public List<String> getHistoricEnd(String instanceId) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/historic/end/" + instanceId;
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error("获取历史结束节点失败");
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToList(flowAbleModel.getData(), String.class);
}
/**
* 获取元素信息
*
* @param deploymentId 部署id
* @param key 节点key
*/
public FlowableNodeModel getElementInfo(String deploymentId, String key) throws WorkFlowException {
String url = getFlowAbleUrl() + "/api/Flow/task/element/info";
url += "?deploymentId=" + deploymentId + "&key=" + key;
JSONObject jsonObject = HttpUtil.httpRequest(url, "GET", null, UserProvider.getToken());
FlowAbleModel flowAbleModel = JsonUtil.getJsonToBean(jsonObject, FlowAbleModel.class);
if (null == flowAbleModel) {
log.error("获取元素信息失败");
throw new WorkFlowException(MsgCode.WF142.get());
}
if (!flowAbleModel.getSuccess()) {
throw new WorkFlowException(flowAbleModel.getMsg());
}
return JsonUtil.getJsonToBean(flowAbleModel.getData(), FlowableNodeModel.class);
}
}

View File

@@ -0,0 +1,26 @@
package com.yunzhupaas.flowable.model.flowable;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/6/18 17:21
*/
@Data
public class FlowableHistoricModel {
/**
* 任务ID
*/
private String taskId;
/**
* 节点编码
*/
private String code;
/**
* 开始时间
*/
private Long startTime;
}

View File

@@ -0,0 +1,46 @@
package com.yunzhupaas.flowable.model.flowable;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/25 8:57
*/
@Data
public class FlowableInstanceModel {
/**
* 实例ID
*/
@Schema(name = "instanceId", description = "实例ID")
private String instanceId;
/**
* 开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Schema(name = "startTime", description = "开始时间")
private Date startTime;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Schema(name = "endTime", description = "结束时间")
private Date endTime;
/**
* 耗时
*/
@Schema(name = "durationInMillis", description = "耗时")
private Long durationInMillis;
/**
* 删除原因
*/
@Schema(name = "deleteReason", description = "删除原因")
private String deleteReason;
}

View File

@@ -0,0 +1,38 @@
package com.yunzhupaas.flowable.model.flowable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* flowable节点
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/19 17:52
*/
@Data
public class FlowableNodeModel implements Serializable {
/**
* 元素ID
*/
@Schema(name = "id", description = "元素ID")
private String id;
/**
* 元素名称
*/
@Schema(name = "name", description = "元素名称")
private String name;
/**
* 进线ID
*/
@Schema(name = "incoming", description = "进线ID")
private List<String> incomingList;
/**
* 出线ID
*/
@Schema(name = "outgoingList", description = "出线ID")
private List<String> outgoingList;
}

View File

@@ -0,0 +1,37 @@
package com.yunzhupaas.flowable.model.flowable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 引擎任务
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/18 9:17
*/
@Data
public class FlowableTaskModel implements Serializable {
/**
* 任务ID
*/
@Schema(name = "taskId", description = "任务ID")
private String taskId;
/**
* 任务名称
*/
@Schema(name = "taskName", description = "任务名称")
private String taskName;
/**
* 任务Key
*/
@Schema(name = "taskKey", description = "任务Key")
private String taskKey;
/**
* 实例ID
*/
@Schema(name = "instanceId", description = "实例ID")
private String instanceId;
}

View File

@@ -0,0 +1,28 @@
package com.yunzhupaas.flowable.model.flowable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.Map;
/**
* 启动实例参数类
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/17 21:14
*/
@Data
public class InstanceStartFo implements Serializable {
/**
* 部署ID
*/
@Schema(name = "deploymentId", description = "部署ID")
private String deploymentId;
/**
* 变量
*/
@Schema(name = "variables", description = "变量")
private Map<String, Object> variables;
}

View File

@@ -0,0 +1,28 @@
package com.yunzhupaas.flowable.model.flowable;
import lombok.Data;
import java.util.List;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/9 16:36
*/
@Data
public class JumpFo {
/**
* 实例ID
*/
private String instanceId;
/**
* 源节点集合
*/
private List<String> source;
/**
* 目标节点集合
*/
private List<String> target;
}

View File

@@ -0,0 +1,31 @@
package com.yunzhupaas.flowable.model.flowable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/23 11:06
*/
@Data
public class NextOrPrevFo {
/**
* 部署ID
*/
@Schema(name = "deploymentId", description = "部署ID")
private String deploymentId;
/**
* 节点Key
*/
@Schema(name = "taskKey", description = "节点Key")
private String taskKey;
/**
* 任务ID
*/
@Schema(name = "taskId", description = "任务ID")
private String taskId;
}

View File

@@ -0,0 +1,32 @@
package com.yunzhupaas.flowable.model.flowable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/18 13:34
*/
@Data
public class OutgoingFlowsFo implements Serializable {
/**
* 部署ID
*/
@Schema(name = "deploymentId", description = "部署ID")
private String deploymentId;
/**
* 节点Key
*/
@Schema(name = "taskKey", description = "节点Key")
private String taskKey;
/**
* 任务ID
*/
@Schema(name = "taskId", description = "任务ID")
private String taskId;
}

View File

@@ -0,0 +1,30 @@
package com.yunzhupaas.flowable.model.message;
import lombok.Data;
/**
* @author :云筑产品开发平台组
* @version: V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/4/25 下午5:13
*/
@Data
public class ContModel {
/**
* 引擎id
*/
private String flowId;
/**
* 任务id
*/
private String taskId;
/**
* 经办id或抄送id
*/
private String operatorId;
/**
* 页面类型
*/
private String opType;
}

View File

@@ -0,0 +1,33 @@
package com.yunzhupaas.flowable.model.message;
import com.yunzhupaas.base.UserInfo;
import com.yunzhupaas.flowable.entity.TaskEntity;
import com.yunzhupaas.flowable.model.util.FlowNature;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/3/15 9:18
*/
@Data
public class DelegateModel {
//true 委托 false 审批
private Boolean delegate = true;
//0.发起 1.审批 2.结束
private Integer type = FlowNature.StartMsg;
private List<String> toUserIds = new ArrayList<>();
private UserInfo userInfo = new UserInfo();
private TaskEntity flowTask = new TaskEntity();
//审批是否要发送消息
private Boolean approve = true;
/**
* 确认
*/
private Integer ack = 0;
}

View File

@@ -0,0 +1,41 @@
package com.yunzhupaas.flowable.model.message;
import com.yunzhupaas.flowable.entity.RecordEntity;
import com.yunzhupaas.flowable.entity.TaskEntity;
import com.yunzhupaas.flowable.model.templatenode.nodejson.TemplateJsonModel;
import com.yunzhupaas.permission.entity.UserEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Map;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/23 9:41
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FlowEventModel {
//数据
private String dataJson;
//表单数据
private Map<String, Object> data;
//系统匹配
private TemplateJsonModel templateJson;
//操作对象
private RecordEntity record;
// 任务
private TaskEntity taskEntity;
private UserEntity createUser;
private UserEntity delegate;
}

View File

@@ -0,0 +1,117 @@
package com.yunzhupaas.flowable.model.message;
import com.yunzhupaas.flowable.entity.CirculateEntity;
import com.yunzhupaas.flowable.entity.OperatorEntity;
import com.yunzhupaas.flowable.entity.TaskEntity;
import com.yunzhupaas.flowable.entity.TemplateNodeEntity;
import com.yunzhupaas.flowable.model.task.FlowModel;
import com.yunzhupaas.flowable.model.templatenode.nodejson.MsgConfig;
import com.yunzhupaas.flowable.model.util.FlowNature;
import com.yunzhupaas.permission.entity.UserEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author :云筑产品开发平台组
* @version: V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/4/25 下午1:49
*/
@Data
@Accessors(chain = true)
@NoArgsConstructor
public class FlowMsgModel {
private Boolean startHandId = false;
private FlowModel flowModel = new FlowModel();
private TaskEntity taskEntity = new TaskEntity();
private String nodeCode;
private List<TemplateNodeEntity> nodeList = new ArrayList<>();
private List<OperatorEntity> operatorList = new ArrayList<>();
private List<CirculateEntity> circulateList = new ArrayList<>();
private Map<String, Map<String, Object>> formData = new HashMap<>();
/**
* 代办 (通知代办)
*/
private Boolean wait = true;
/**
* 同意
*/
private Boolean approve = false;
/**
* 退回
*/
private Boolean back = false;
/**
* 抄送人
*/
private Boolean copy = false;
/**
* 结束 (通知发起人)
*/
private Boolean end = false;
/**
* 子流程通知
*/
private Boolean launch = false;
/**
* 拒绝发起节点
*/
private Boolean start = false;
/**
* 超时
*/
private Boolean overtime = false;
/**
* 提醒
*/
private Boolean notice = false;
/**
* 评论
*/
private Boolean comment = false;
/**
* 拒绝
*/
private Boolean reject = false;
private Boolean transfer = false;
private Boolean assign = false;
private Boolean press = false;
/**
* 消息类型
*/
private MsgConfig msgConfig = new MsgConfig();
/**
* 审批类型
*/
private String opType = FlowNature.LaunchCreate;
/**
* 节点数据
*/
private Map<String, Object> data = new HashMap<>();
/**
* 审批人
*/
private List<String> userList = new ArrayList<>();
/**
*
*/
private Map<String, String> contMsg = new HashMap<>();
/**
* 创建人
*/
private UserEntity createUser;
/**
* 委托人
*/
private UserEntity delegate;
}

View File

@@ -0,0 +1,19 @@
package com.yunzhupaas.flowable.model.monitor;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/15 11:11
*/
@Data
public class MonitorModel {
@Schema(description = "主键")
private List<String> ids;
}

View File

@@ -0,0 +1,152 @@
package com.yunzhupaas.flowable.model.monitor;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/15 11:00
*/
@Data
public class MonitorVo {
/**
* 主键
*/
@Schema(description = "主键")
private String id;
/**
* 任务编码
*/
@Schema(description = "任务编码")
private String enCode;
/**
* 任务标题
*/
@Schema(description = "任务标题")
private String fullName;
/**
* 流程名称
*/
@Schema(description = "流程名称")
private String flowName;
/**
* 流程编码
*/
@Schema(description = "流程编码")
private String flowCode;
/**
* 任务状态
*/
@Schema(description = "任务状态")
private Integer status;
/**
* 流程分类
*/
@Schema(description = "流程分类")
private String flowCategory;
/**
* 流程类型
*/
@Schema(description = "流程类型")
private String flowType;
/**
* 流程版本
*/
@Schema(description = "流程版本")
private String flowVersion;
/**
* 同步异步0同步1异步
*/
@Schema(description = "同步异步0同步1异步")
private Integer isAsync;
/**
* 父级实例节点编码
*/
@Schema(description = "父级实例节点编码")
private String parentCode;
/**
* 父级实例id
*/
@Schema(description = "父级实例id")
private String parentId;
/**
* 紧急程度
*/
@Schema(description = "紧急程度")
private Integer flowUrgent;
/**
* 流程主键
*/
@Schema(description = "流程主键")
private String templateId;
/**
* 流程版本主键
*/
@Schema(description = "流程版本主键")
private String flowId;
/**
* 是否批量01
*/
@Schema(description = "是否批量01")
private Integer isBatch;
/**
* 委托用户
*/
@Schema(description = "委托用户")
private String delegateUserId;
/**
* 开始时间
*/
@Schema(description = "开始时间")
private Date startTime;
/**
* 结束时间
*/
@Schema(description = "结束时间")
private Date endTime;
/**
* 当前节点名称
*/
@Schema(description = "当前节点名称")
private String currentNodeName;
/**
* 指派节点
*/
@Schema(description = "指派节点")
private String assignNode;
/**
* 创建人
*/
@Schema(description = "创建人")
private String creatorUser;
/**
* 创建时间
*/
@Schema(description = "创建时间")
private Long creatorTime;
/**
* 归档状态
*/
@Schema(description = "归档状态")
private String isFile;
}

View File

@@ -0,0 +1,37 @@
package com.yunzhupaas.flowable.model.operator;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 加签参数
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/30 10:33
*/
@Data
public class AddSignModel {
/**
* 加签人
*/
private List<String> addSignUserIdList = new ArrayList<>();
/**
* 加签类型 1.前 2 后
*/
private Integer addSignType = 1;
/**
* 审批类型0或签 1会签 2依次审批
*/
private Integer counterSign = 0;
/**
* 会签比例
*/
private Integer auditRatio = 100;
/**
* 加签层级
*/
private Integer level = 1;
}

View File

@@ -0,0 +1,21 @@
package com.yunzhupaas.flowable.model.operator;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/16 10:07
*/
@Data
public class FlowBatchModel {
@Schema(description = "名称")
private String fullName;
@Schema(description = "主键")
private String id;
@Schema(description = "数量")
private Long num;
}

View File

@@ -0,0 +1,168 @@
package com.yunzhupaas.flowable.model.operator;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/18 15:23
*/
@Data
public class OperatorVo {
/**
* 主键
*/
@Schema(description = "主键")
private String id;
/**
* 节点名称
*/
@Schema(description = "节点名称")
private String nodeName;
/**
* 节点编码
*/
@Schema(description = "节点编码")
private String nodeCode;
/**
* 任务id
*/
@Schema(description = "任务id")
private String taskId;
/**
* 节点id
*/
@Schema(description = "节点id")
private String nodeId;
/**
* 加签经办父级id
*/
@Schema(description = "加签经办父级id")
private String parentId;
/**
* 处理时间
*/
@Schema(description = "处理时间")
private Date handleTime;
/**
* 处理人id
*/
@Schema(description = "处理人id")
private String handleId;
/**
* 处理状态
*/
@Schema(description = "处理状态")
private Integer handleStatus;
/**
* 处理参数
*/
@Schema(description = "处理参数")
private String handleParameter;
/**
* 退回参数
*/
@Schema(description = "退回参数")
private String backParameter;
/**
* 开始处理时间
*/
@Schema(description = "开始处理时间")
private Date startHandleTime;
/**
* 签收时间
*/
@Schema(description = "签收时间")
private Date signTime;
/**
* 截止时间
*/
@Schema(description = "截止时间")
private Date duedate;
/**
* 协办id
*/
@Schema(description = "协办id")
private String assistId;
/**
* 草稿数据
*/
@Schema(description = "草稿数据")
private String draftData;
/**
* 是否办理节点(0否 1是)
*/
@Schema(description = "是否办理节点")
private Integer isProcessing;
/* --------------- 任务相关属性 --------------- */
/**
* 任务标题
*/
@Schema(description = "任务标题")
private String fullName;
/**
* 流程名称
*/
@Schema(description = "流程名称")
private String flowName;
/**
* 紧急程度
*/
@Schema(description = "紧急程度")
private Integer flowUrgent;
/**
* 当前节点名称
*/
@Schema(description = "当前节点名称")
private String currentNodeName;
/**
* 创建人id
*/
@Schema(description = "创建人id")
private String creatorUserId;
/**
* 创建人
*/
@Schema(description = "创建人")
private String creatorUser;
/**
* 创建时间
*/
@Schema(description = "创建时间")
private Date creatorTime;
/**
* 任务
*/
@Schema(description = "任务")
private Integer status;
@Schema(description = "版本主键")
private String flowId;
@Schema(description = "版本")
private String flowVersion;
@Schema(description = "开始时间")
private Date startTime;
@Schema(description = "流程分类")
private String flowCategory;
private String delegateUser;
/**
* 经办审批人id
*/
@Schema(description = "经办审批人id")
private String operatorHandleId;
/**
* 记录创建人id
*/
@Schema(description = "记录创建人id")
private String recordCreatorUserId;
}

View File

@@ -0,0 +1,20 @@
package com.yunzhupaas.flowable.model.operator;
import com.yunzhupaas.base.Pagination;
import com.yunzhupaas.flowable.entity.OperatorEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/7 15:22
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class ReducePagination extends Pagination {
private OperatorEntity operator;
}

View File

@@ -0,0 +1,17 @@
package com.yunzhupaas.flowable.model.operator;
import com.yunzhupaas.flowable.model.candidates.CandidateUserVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 可减签人员
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/7 15:20
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class ReduceUserModel extends CandidateUserVo {
}

View File

@@ -0,0 +1,34 @@
package com.yunzhupaas.flowable.model.record;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/6/25 17:18
*/
@Data
public class NodeRecordModel {
/**
* 任务id
*/
private String taskId;
/**
* 节点id
*/
private String nodeId;
/**
* 节点编码
*/
private String nodeCode;
/**
* 节点名称
*/
private String nodeName;
/**
* 节点状态1-已提交 2-已通过 3-已拒绝 4-审批中 5-已退回 6-已撤回
*/
private Integer nodeStatus;
}

View File

@@ -0,0 +1,61 @@
package com.yunzhupaas.flowable.model.record;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/6/18 17:09
*/
@Data
public class ProgressModel {
/**
* 主键
*/
private String id;
/**
* 开始时间
*/
private Long startTime;
/**
* 节点id
*/
private String nodeId;
/**
* 节点编码
*/
private String nodeCode;
/**
* 节点名称
*/
private String nodeName;
/**
* 节点类型
*/
private String nodeType;
/**
* 节点状态, 1-已提交 2-已通过 3-已拒绝 4-审批中. 7等待中、8待办理
*/
private Integer nodeStatus;
/**
* 审批类型0或签 1会签 2依次审批
*/
private Integer counterSign;
/**
* 审批人
*/
private List<UserItem> approver = new ArrayList<>();
/**
* 审批人数
*/
private Integer approverCount = 0;
/**
* 显示任务流程按钮
*/
private Boolean showTaskFlow = false;
}

View File

@@ -0,0 +1,33 @@
package com.yunzhupaas.flowable.model.record;
import com.yunzhupaas.flowable.entity.OperatorEntity;
import com.yunzhupaas.flowable.model.task.FlowModel;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/26 17:10
*/
@Data
public class RecordModel {
/**
* 记录操作类型RecordEnum
*/
private Integer type;
/**
* 审批原因
*/
private FlowModel flowModel = new FlowModel();
/**
* 流转操作人,如加签给谁
*/
private String userId;
/**
* 经办对象
*/
private OperatorEntity operator = new OperatorEntity();
}

View File

@@ -0,0 +1,102 @@
package com.yunzhupaas.flowable.model.record;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.*;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/29 10:55
*/
@Data
public class RecordVo {
/**
* 主键
*/
@Schema(description = "主键")
private String id;
/**
* 节点名称
*/
@Schema(description = "节点名称")
private String nodeName;
/**
* 节点编码
*/
@Schema(description = "节点编码")
private String nodeCode;
/**
* 经办类型
*/
@Schema(description = "经办类型")
private Integer handleType;
/**
* 经办人员
*/
@Schema(description = "经办人员")
private String handleId;
/**
* 经办时间
*/
@Schema(description = "经办时间")
private Date handleTime;
/**
* 经办理由
*/
@Schema(description = "经办理由")
private String handleOpinion;
/**
* 经办主键
*/
@Schema(description = "经办主键")
private String operatorId;
/**
* 任务id
*/
@Schema(description = "任务id")
private String taskId;
/**
* 签名图片
*/
@Schema(description = "签名图片")
private String signImg;
/**
* 状态
*/
@Schema(description = "状态")
private Integer status;
/**
* 流转操作人名称
*/
@Schema(description = "流转操作人名称")
private String handleUserName;
/**
* 经办文件
*/
@Schema(description = "经办文件")
private String fileList;
/**
* 用户名称
*/
@Schema(description = "用户名称")
private String userName;
/**
* 创建时间
*/
@Schema(description = "创建时间")
private Date creatorTime;
/**
* 头像
*/
@Schema(description = "头像")
private String headIcon;
/**
* 拓展字段
*/
@Schema(description = "拓展字段")
private List<Map> approvalField = new ArrayList<>();
}

View File

@@ -0,0 +1,30 @@
package com.yunzhupaas.flowable.model.record;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/6/18 17:12
*/
@Data
public class UserItem {
/**
* 审批人名
*/
private String userName;
/**
* 头像
*/
private String headIcon;
/**
* 审批人
*/
private String userId;
/**
* 审批类型
*/
private Integer handleType;
}

View File

@@ -0,0 +1,30 @@
package com.yunzhupaas.flowable.model.task;
import com.yunzhupaas.flowable.model.templatenode.FlowErrorModel;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 审批返回
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/6/20 15:49
*/
@Data
public class AuditModel {
/**
* 是否结束
*/
private Boolean isEnd = false;
/**
* 异常处理
*/
private List<FlowErrorModel> errorCodeList = new ArrayList<>();
/**
* 任务主键
*/
private String taskId;
}

View File

@@ -0,0 +1,37 @@
package com.yunzhupaas.flowable.model.task;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 归档模型
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/28 14:16
*/
@Data
public class FileModel {
/**
* 归档文件夹名称
*/
public static String FOLDER_NAME = "流程归档";
/**
* 归档路径
*/
private String parentId;
/**
* 文件名称
*/
private String filename;
/**
* 创建人
*/
private String userId;
/**
* 分享人
*/
private List<String> userList = new ArrayList<>();
}

View File

@@ -0,0 +1,117 @@
package com.yunzhupaas.flowable.model.task;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yunzhupaas.base.Pagination;
import com.yunzhupaas.flowable.model.util.FlowNature;
import lombok.Data;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/3/15 9:17
*/
@Data
public class FlowHandleModel extends Pagination {
/**
* 意见
**/
@Schema(description = "意见")
private String handleOpinion;
/**
* 拓展字段
**/
@Schema(description = "拓展字段")
private List<Map> approvalField = new ArrayList<>();
/**
* 处理人,如 转审人、指派人
**/
@Schema(description = "处理人")
private String handleIds;
/**
* 审批数据
**/
@Schema(description = "审批数据")
private Map<String, Object> formData = new HashMap<>();
/**
* 自定义抄送人
**/
@Schema(description = "自定义抄送人")
private String copyIds;
/**
* 签名
**/
@Schema(description = "签名")
private String signImg;
/**
* 指派节点
**/
@Schema(description = "指派节点")
private String nodeCode;
/**
* 候选人
*/
@Schema(description = "候选人")
private Map<String, List<String>> candidateList = new HashMap<>();
/**
* 异常处理人
*/
@Schema(description = "异常处理人")
private Map<String, List<String>> errorRuleUserList = new HashMap<>();
/**
* 选择分支
*/
@Schema(description = "选择分支")
private List<String> branchList = new ArrayList<>();
/**
* 批量审批id
*/
@Schema(description = "批量审批主键")
private List<String> ids = new ArrayList<>();
/**
* 签收类型0、签收 1、退签 2、表示流程监控的类型为任务流程
*/
@Schema(description = "签收类型")
private Integer type = 0;
/**
* 经办文件
**/
@Schema(description = "经办文件")
private List<Object> fileList = new ArrayList<>();
/**
* 批量审批类型 0.通过 1.拒绝 2.转办
*/
@Schema(description = "批量审批类型")
private Integer batchType = 0;
/**
* 批量发起用户
*/
@Schema(description = "批量发起用户")
private List<String> delegateUserList = new ArrayList<>();
/**
* 退回节点
*/
@Schema(description = "退回节点")
private String backNodeCode = FlowNature.START;
/**
* 退回类型 1.重新审批 2.从当前节点审批
*/
@Schema(description = "退回类型")
private Integer backType = FlowNature.RestartType;
/**
* false 变更 true 复活
*/
@Schema(description = "类型")
private Boolean resurgence = false;
/**
* true 同步子流程 false 全部子流程
*/
@Schema(description = "冻结类型")
private Boolean suspend = false;
}

View File

@@ -0,0 +1,277 @@
package com.yunzhupaas.flowable.model.task;
import com.yunzhupaas.base.UserInfo;
import com.yunzhupaas.flowable.entity.CirculateEntity;
import com.yunzhupaas.flowable.entity.OperatorEntity;
import com.yunzhupaas.flowable.entity.TaskEntity;
import com.yunzhupaas.flowable.entity.TemplateNodeEntity;
import com.yunzhupaas.flowable.model.operator.AddSignModel;
import com.yunzhupaas.flowable.model.templatenode.FlowErrorModel;
import com.yunzhupaas.flowable.model.templatenode.TaskNodeModel;
import com.yunzhupaas.flowable.model.templatenode.nodejson.Assign;
import com.yunzhupaas.flowable.model.templatenode.nodejson.NodeModel;
import com.yunzhupaas.flowable.model.templatenode.nodejson.ProperCond;
import com.yunzhupaas.permission.entity.UserEntity;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author :云筑产品开发平台组
* @version: V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/6/24 下午4:57
*/
@Data
@Accessors(chain = true)
public class FlowMethod {
//handleAssignOperator
/**
* 任务主键
*/
public String taskId;
/**
* 审批对象
*/
private FlowModel flowModel;
//createOperator
/**
* 经办实体
*/
private OperatorEntity operatorEntity;
/**
* 状态
*/
private Integer state;
/**
* 节点
*/
private NodeModel nodeModel;
//prevNodeList
/**
* flowable部署id
*/
private String deploymentId;
/**
* 节点编码
*/
private String nodeCode;
/**
* 节点对象
*/
private List<TemplateNodeEntity> nodeEntityList;
private List<String> nodeCodeList;
//handleErrorRule
private List<FlowErrorModel> errorList;
//handleCondition
/**
* 表单数据
*/
private Map<String, Object> formData = new HashMap<>();
/**
* 节点集合
*/
private Map<String, NodeModel> nodes;
/**
* 任务
*/
private TaskEntity taskEntity;
//completeNode
/**
* flowable主键
*/
private String flowableTaskId;
/**
* 结果Map
*/
private Map<String, Boolean> resMap = new HashMap<>();
//FlowDataModel
/**
* 节点对象
*/
private TemplateNodeEntity nodeEntity;
// false 仅查询表单数据
/**
* 是否保存表单数据
*/
private Boolean isAssign = true;
/**
* 是否查询数据
*/
private Boolean isData = true;
//getNextApprover
/**
* 下一节点
*/
private List<NodeModel> nextNode = new ArrayList<>();
//RecordModel
/**
* 记录操作类型RecordEnum
*/
private Integer type;
/**
* 流转操作人,如加签给谁
*/
private String userId;
//improperSort
/**
* 审批用户
*/
private List<String> userIds;
//TaskOperator
/**
* 异常规则
*/
private Boolean errorRule = false;
/**
* 附加条件
*/
private Boolean extraRule = false;
/**
* 默认审批通过
*/
private Integer pass = 0;
/**
* 无法提交
*/
private Integer notSubmit = 0;
/**
* 上一节点审批人指定处理人
*/
private Integer node = 0;
//rule
private Integer rule;
//getManageOrgByLevel
private String organizeOrManager;
private Integer level;
//formData
private List<Assign> assignListAll;
//checkNextCandidates
private List<NodeModel> nodeList;
//deleteFormData
private List<TaskEntity> taskList;
//getConditionResult
/**
* 出线集合
*/
private List<String> outgoingFlows;
/**
* 条件
*/
private List<ProperCond> conditions;
/**
* 条件匹配逻辑
*/
private String matchLogic;
//checkPrint
/**
* 打印对象
*/
private List<TaskNodeModel> printNodeList;
private String handId;
/**
* 未经过的节点
*/
private List<String> tobePass;
/**
* 当前节点
*/
private List<String> currentNodes;
/**
* 是否签收
*/
private Boolean signFor;
/**
* 审批方式
*/
private Integer handleStatus;
/**
* 加签审批方式
*/
private AddSignModel addSignModel;
/**
* 当前用户
*/
private UserEntity userEntity;
/**
* 创建人
*/
private UserEntity createUser;
/**
* 委托人
*/
private UserEntity delegate;
/**
* 用户信息
*/
private UserInfo userInfo;
/**
* 经办集合
*/
private List<OperatorEntity> operatorList;
/**
* 抄送集合
*/
List<CirculateEntity> circulateList = new ArrayList<>();
/**
* 选择分支时(true) 判断 审批比例 标识
*/
private Boolean auditFlag = false;
/**
* 获取下一级节点,是否获取子流程节点
*/
private Boolean nextSubFlow = false;
/**
* 子流程表单数据
*/
private Map<String, Object> subFormData = new HashMap<>();
/**
* 是否撤销流程
*/
private Boolean isRevoke = false;
}

View File

@@ -0,0 +1,261 @@
package com.yunzhupaas.flowable.model.task;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yunzhupaas.base.UserInfo;
import com.yunzhupaas.flowable.entity.*;
import com.yunzhupaas.flowable.enums.TaskStatusEnum;
import com.yunzhupaas.flowable.model.operator.AddSignModel;
import com.yunzhupaas.flowable.model.templatejson.TemplateJsonInfoVO;
import com.yunzhupaas.flowable.model.templatenode.FlowErrorModel;
import com.yunzhupaas.flowable.model.templatenode.TaskNodeModel;
import com.yunzhupaas.flowable.model.templatenode.nodejson.NodeModel;
import com.yunzhupaas.flowable.model.util.FlowNature;
import lombok.Data;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 云筑产品开发平台组
* @version V3.1.0
* @copyright 深圳市乐程软件有限公司
* @date 2024/3/15 9:17
*/
@Data
@JsonInclude
public class FlowModel extends FlowHandleModel {
/**
* 判断新增
**/
@Schema(description = "判断新增")
private String id;
/**
* 版本ID
**/
@Schema(description = "版本ID")
private String flowId;
/**
* 部署id
**/
@Schema(description = "部署id")
private String deploymentId;
private TemplateJsonEntity jsonEntity;
private TaskEntity taskEntity = new TaskEntity();
private List<TemplateNodeEntity> nodeEntityList = new ArrayList<>();
private Map<String, NodeModel> nodes = new HashMap<>();
private String flowableTaskId;
private TemplateNodeEntity nodeEntity = new TemplateNodeEntity();
/**
* 加签参数
*/
private AddSignModel addSignParameter = new AddSignModel();
/**
* 审批处理标识0.拒绝 1.同意
*/
private Integer handleStatus = FlowNature.AuditCompletion;
/**
* 任务详情类型
* -1-我发起的新建/编辑
* 0-我发起的详情
* 1-待签事宜
* 2-待办事宜
* 3-在办事宜
* 4-已办事宜
* 5-抄送事宜
* 6-流程监控
*/
private String opType = "-1";
private TemplateJsonInfoVO jsonInfoVO = new TemplateJsonInfoVO();
private OperatorEntity operatorEntity = new OperatorEntity();
private RecordEntity recordEntity = new RecordEntity();
private List<OperatorEntity> list = new ArrayList<>();
private List<TaskEntity> taskList = new ArrayList<>();
private TemplateEntity templateEntity = new TemplateEntity();
/**
* 判断撤回的标识 1.发起撤回 2.审批撤回
*/
private Integer flag = 1;
/**
* 事件状态
*/
private Integer eventStatus = 0;
/**
* 判断撤回时为true会抛出异常
*/
private Boolean isException = false;
/**
* 下一级节点编码
*/
private List<String> nextCodes = new ArrayList<>();
/**
* 挂起0.全部 1.仅主流程
*/
private Integer pause = 0;
/**
* 流程结束是否更新为结束节点
*/
private Boolean finishFlag = true;
/**
* 子流程节点编码
*/
private String subCode;
/**
* 子流程参数
*/
private SubParameterModel subParameter;
/**
* 流程详情节点
*/
private List<TaskNodeModel> nodeList = new ArrayList<>();
/**
* 是否流程0-菜单 1-发起
*/
private Integer isFlow = 0;
/**
* 签名主键
*/
private String signId;
/**
* 下次继续使用此签名
*/
private Boolean useSignNext = false;
/**
* 触发动作1同意 2拒绝 3退回
*/
private Integer action;
/**
* 拒绝直接结束的触发标识
*/
private Boolean rejectTrigger = false;
/**
* 退回id任务流程为退回触发时获取最后一个执行节点的id用于退回
*/
private String backId;
/**
* 流程主键
**/
@Schema(description = "流程主键")
private String processId;
/**
* 流程标题
**/
@Schema(description = "流程标题")
private String flowTitle;
/**
* 紧急程度
*/
@Schema(description = "紧急程度")
private Integer flowUrgent = 1;
/**
* 流水号
**/
@Schema(description = "流水号")
private String billNo;
/**
* 0.保存 1.提交
**/
@Schema(description = "类型")
private Integer status = TaskStatusEnum.TO_BE_SUBMIT.getCode();
/**
* 父级实例节点编码
*/
@Schema(description = "父级实例节点编码")
private String parentCode;
/**
* 子流程
**/
@Schema(description = "子流程")
private String parentId = FlowNature.ParentId;
/**
* 创建人
**/
@Schema(description = "创建人")
private String userId;
/**
* 被委托人
*/
@Schema(description = "被委托人")
private String delegateUser;
/**
* 当前经办id
**/
@Schema(description = "当前经办id")
private String operatorId;
/**
* 回流id
*/
@Schema(description = "回流主键")
private String rollbackId;
/**
* 任务主键
*/
@Schema(description = "任务主键")
private String taskId;
/**
* 任务主键
*/
@Schema(description = "变更节点")
private String taskNodeId;
/**
* 是否冻结审批
*/
private Boolean rejectUser = false;
/**
* 子流程,是否异步
**/
private Integer isAsync = 0;
/**
* 用户信息
*/
private UserInfo userInfo;
/**
* 定时器
*/
private Boolean isTimer = false;
/**
* 系统主键
*/
private String systemId;
/**
* 自动审批
*/
private Boolean voluntarily = false;
/**
* 抄送消息标识
*/
private Boolean copyMsgFlag = true;
/**
* 自动转审,走指派方法的标识
*/
private Boolean autoTransferFlag = false;
/**
* 子流程是否暂存标识
*/
private Boolean subFlow = false;
private List<FlowErrorModel> errorList = new ArrayList<>();
/**
* 流程模板id
*/
private String templateId;
/**
* 发起人
*/
private List<String> userIds = new ArrayList<>();
/**
* 表单数据集合
*/
private List<Map<String, Object>> formDataList = new ArrayList<>();
}

View File

@@ -0,0 +1,34 @@
package com.yunzhupaas.flowable.model.task;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/8/26 11:00
*/
@Data
public class RevokeFormDataModel {
/**
* 审批编号
*/
private String billRule;
/**
* 提交时间
*/
private Long creatorTime;
/**
* 撤销理由
*/
private String handleOpinion;
/**
* 关联流程id
*/
private String revokeTaskId;
/**
* 关联流程名称
*/
private String revokeTaskName;
}

View File

@@ -0,0 +1,22 @@
package com.yunzhupaas.flowable.model.task;
import lombok.Data;
/**
* 任务子流程参数
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/21 9:43
*/
@Data
public class SubParameterModel {
/**
* 子流程 上一级任务 节点编码(如果子流程是合流节点 就存最后一个审批的分流节点)
*/
private String parentCode;
/**
* flowable task id
*/
private String nodeId;
}

View File

@@ -0,0 +1,44 @@
package com.yunzhupaas.flowable.model.task;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yunzhupaas.base.PaginationTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/22 9:06
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class TaskPagination extends PaginationTime {
@Schema(description = "所属名称")
private String flowId;
@Schema(description = "分类")
private String flowCategory;
@Schema(description = "紧急程度")
private Integer flowUrgent;
@Schema(description = "所属流程")
private String templateId;
@Schema(description = "状态")
private Integer status;
@Schema(description = "用户主键")
private String creatorUserId;
@Schema(description = "编码")
private String nodeCode;
/**
* 待签、待办、在办、已办、批量在办
*/
private String category;
@JsonIgnore
private Boolean delegateType = false;
@JsonIgnore
private String userId;
@JsonIgnore
private Integer isBatch;
}

View File

@@ -0,0 +1,31 @@
package com.yunzhupaas.flowable.model.task;
import com.yunzhupaas.flowable.entity.CirculateEntity;
import com.yunzhupaas.flowable.entity.OperatorEntity;
import com.yunzhupaas.flowable.entity.RecordEntity;
import com.yunzhupaas.flowable.entity.TaskEntity;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/21 11:15
*/
@Data
public class TaskUserListModel {
private List<String> allUserIdList;
private TaskEntity flowTask;
private List<OperatorEntity> operatorList = new ArrayList<>();
private List<CirculateEntity> circulateList = new ArrayList<>();
private List<RecordEntity> operatorRecordList = new ArrayList<>();
}

View File

@@ -0,0 +1,151 @@
package com.yunzhupaas.flowable.model.task;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/17 15:02
*/
@Data
public class TaskVo implements Serializable {
/**
* 主键
*/
@Schema(description = "主键")
private String id;
/**
* 任务编码
*/
@Schema(description = "任务编码")
private String enCode;
/**
* 任务标题
*/
@Schema(description = "任务标题")
private String fullName;
/**
* 流程名称
*/
@Schema(description = "流程名称")
private String flowName;
/**
* 流程编码
*/
@Schema(description = "流程编码")
private String flowCode;
/**
* 任务状态
*/
@Schema(description = "任务状态")
private Integer status;
/**
* 流程分类
*/
@Schema(description = "流程分类")
private String flowCategory;
/**
* 流程类型
*/
@Schema(description = "流程类型")
private String flowType;
/**
* 流程版本
*/
@Schema(description = "流程版本")
private String flowVersion;
/**
* 同步异步0同步1异步
*/
@Schema(description = "同步异步0同步1异步")
private Integer isAsync;
/**
* 父级实例id
*/
@Schema(description = "父级实例id")
private String parentId;
/**
* 紧急程度
*/
@Schema(description = "紧急程度")
private Integer flowUrgent;
/**
* 流程主键
*/
@Schema(description = "流程主键")
private String templateId;
/**
* 流程版本主键
*/
@Schema(description = "流程版本主键")
private String flowId;
/**
* 流程引擎实例id
*/
@Schema(description = "流程引擎实例id")
private String instanceId;
/**
* 流程引擎类型;1.flowable,2,activity,3.camunda
*/
@Schema(description = "流程引擎类型;1.flowable,2,activity,3.camunda")
private Integer engineType;
/**
* 委托用户
*/
@Schema(description = "委托用户")
private String delegateUser;
/**
* 开始时间
*/
@Schema(description = "开始时间")
private Date startTime;
/**
* 结束时间
*/
@Schema(description = "结束时间")
private Date endTime;
/**
* 当前节点名称
*/
@Schema(description = "当前节点名称")
private String currentNodeName;
/**
* 创建人
*/
@Schema(description = "创建人")
private String creatorUser;
/**
* 创建人头像
*/
@Schema(description = "创建人头像")
private String headIcon;
/**
* 创建时间
*/
@Schema(description = "创建时间")
private Date creatorTime;
/**
* 是否撤销流程
*/
private Boolean isRevokeTask = false;
}

View File

@@ -0,0 +1,22 @@
package com.yunzhupaas.flowable.model.task;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* 查看表单
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/8/29 9:42
*/
@Data
public class ViewFormModel {
@Schema(description = "表单详情")
private Object formInfo;
@Schema(description = "表单数据")
private Map<String, Object> formData = new HashMap<>();
}

View File

@@ -0,0 +1,67 @@
package com.yunzhupaas.flowable.model.template;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yunzhupaas.flowable.model.record.ProgressModel;
import com.yunzhupaas.flowable.model.record.RecordVo;
import com.yunzhupaas.flowable.model.task.TaskVo;
import com.yunzhupaas.flowable.model.templatejson.TemplateJsonInfoVO;
import com.yunzhupaas.flowable.model.templatenode.ButtonModel;
import com.yunzhupaas.flowable.model.templatenode.TaskNodeModel;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 发起、审批详情
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/17 15:32
*/
@Data
public class BeforeInfoVo implements Serializable {
@Schema(description = "当前节点属性")
private Map<String, Object> nodeProperties = new HashMap<>();
@Schema(description = "表单详情")
private Object formInfo;
@Schema(description = "流程详情")
private TemplateJsonInfoVO flowInfo;
@Schema(description = "流程任务")
private TaskVo taskInfo;
/**
* 用于节点的完成情况、经办人等
*/
@Schema(description = "节点")
private List<TaskNodeModel> nodeList = new ArrayList<>();
@Schema(description = "流转记录")
private List<RecordVo> recordList = new ArrayList<>();
@Schema(description = "表单权限")
private List<Map<String, Object>> formOperates = new ArrayList<>();
@Schema(description = "表单数据")
private Map<String, Object> formData = new HashMap<>();
@Schema(description = "按钮控制")
private ButtonModel btnInfo;
@Schema(description = "进度")
private List<ProgressModel> progressList = new ArrayList<>();
@Schema(description = "草稿")
private Object draftData;
@Schema(description = "最新的线的集合")
private List<String> lineKeyList = new ArrayList<>();
}

View File

@@ -0,0 +1,25 @@
package com.yunzhupaas.flowable.model.template;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/24 9:57
*/
@Data
public class FlowByFormModel {
/**
* 流程集合
*/
private List<TemplateByFormModel> list = new ArrayList<>();
/**
* 是否绑定流程
*/
private Boolean isConfig = false;
}

View File

@@ -0,0 +1,18 @@
package com.yunzhupaas.flowable.model.template;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/7/22 11:15
*/
@Data
public class FlowConfigModel {
/**
* 发起可见类型(1-全部 2-权限)
*/
private Integer visibleType = 1;
}

View File

@@ -0,0 +1,22 @@
package com.yunzhupaas.flowable.model.template;
import lombok.Data;
/**
* 类的描述
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/5/22 11:20
*/
@Data
public class TemplateByFormModel {
/**
* 流程版本主键
*/
private String id;
/**
* 流程名称
*/
private String fullName;
}

View File

@@ -0,0 +1,52 @@
package com.yunzhupaas.flowable.model.template;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class TemplateCrForm {
@Schema(description = "流程编码")
private String enCode;
@Schema(description = "流程名称")
private String fullName;
/**
* 0.标准 1.简流
*/
@Schema(description = "流程类型")
private Integer type = 0;
@Schema(description = "流程分类")
private String category;
@Schema(description = "图标")
private String icon;
@Schema(description = "图标背景色")
private String iconBackground;
// @Schema(description = "流程参数")
// private String configuration;
@Schema(description = "说明")
private String description;
@Schema(description = "排序")
private Long sortCode;
@Schema(description = "流程设置")
private String flowConfig;
/**
* 流程显示类型0-全局 1-流程 2-菜单)
*/
private Integer showType = 0;
/**
* 状态(0.未上架,1.上架,2.下架-继续审批3.下架-隐藏审批)
*/
private Integer status = 0;
}

View File

@@ -0,0 +1,29 @@
package com.yunzhupaas.flowable.model.template;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yunzhupaas.flowable.entity.TemplateEntity;
import com.yunzhupaas.flowable.entity.TemplateNodeEntity;
import com.yunzhupaas.flowable.model.templatejson.TemplateJsonExportModel;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* 定义导出
*
* @author YUNZHUPAASYUNZHUPAAS开发组
* @version 5.0.x
* @since 2024/4/17 10:38
*/
@Data
public class TemplateExportModel implements Serializable {
@Schema(description = "流程定义")
private TemplateEntity template;
@Schema(description = "流程定义版本")
private TemplateJsonExportModel flowVersion;
@Schema(description = "流程节点")
private List<TemplateNodeEntity> nodeList;
}

View File

@@ -0,0 +1,9 @@
package com.yunzhupaas.flowable.model.template;
import lombok.Data;
@Data
public class TemplateInfoVO extends TemplateUpForm {
private Integer visibleType;
}

View File

@@ -0,0 +1,41 @@
package com.yunzhupaas.flowable.model.template;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
@Data
public class TemplatePageLisVO {
@Schema(description = "流程编码")
private String enCode;
@Schema(description = "流程名称")
private String fullName;
@Schema(description = "主键")
private String id;
@Schema(description = "流程分类")
private String category;
@Schema(description = "流程类型")
private Integer type;
@Schema(description = "排序码")
private Long sortCode;
@Schema(description = "图标")
private String icon;
@Schema(description = "图标背景色")
private String iconBackground;
@Schema(description = "创建人")
private String creatorUser;
@Schema(description = "创建时间")
private Date creatorTime;
@Schema(description = "有效标志")
private Integer enabledMark;
@Schema(description = "有效标志")
private Integer visibleType;
@Schema(description = "版本主键")
private String flowId;
@Schema(description = "流程显示类型0-全局 1-流程 2-菜单)")
private Integer showType;
@Schema(description = "状态(0.未上架,1.上架,2.下架-继续审批3.下架-隐藏审批)")
private Integer status;
}

View File

@@ -0,0 +1,40 @@
package com.yunzhupaas.flowable.model.template;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
@Data
public class TemplatePageModel {
@Schema(description = "流程编码")
private String enCode;
@Schema(description = "流程名称")
private String fullName;
@Schema(description = "版本主键")
private String id;
@Schema(description = "流程分类")
private String category;
@Schema(description = "流程类型")
private Integer type;
@Schema(description = "排序码")
private Long sortCode;
@Schema(description = "图标")
private String icon;
@Schema(description = "图标背景色")
private String iconBackground;
@Schema(description = "创建人")
private String creatorUser;
@Schema(description = "创建时间")
private Long creatorTime;
@Schema(description = "有效标志")
private Integer enabledMark;
@Schema(description = "有效标志")
private Integer visibleType;
@Schema(description = "定义主键")
private String templateId;
@Schema(description = "是否常用")
private Boolean isCommonFlow;
}

Some files were not shown because too many files have changed in this diff Show More