feat: 归档L03与L09审批发布能力

- 新增统一审批中心与审批管理页面,支持流程配置、审批详情与角色/用户审批对象

- 接入聊天助手、知识库、工作流的发布与删除审批,并补齐发布态校验与快照展示
This commit is contained in:
2026-04-07 14:41:52 +08:00
parent 7e7c236c2a
commit 3f128e977a
138 changed files with 13035 additions and 346 deletions

View File

@@ -0,0 +1,11 @@
package tech.easyflow.approval.entity;
import com.mybatisflex.annotation.Table;
import tech.easyflow.approval.entity.base.ApprovalFlowBase;
/**
* 审批流程实体。
*/
@Table("tb_approval_flow")
public class ApprovalFlow extends ApprovalFlowBase {
}

View File

@@ -0,0 +1,11 @@
package tech.easyflow.approval.entity;
import com.mybatisflex.annotation.Table;
import tech.easyflow.approval.entity.base.ApprovalFlowScopeBase;
/**
* 审批流程范围实体。
*/
@Table("tb_approval_flow_scope")
public class ApprovalFlowScope extends ApprovalFlowScopeBase {
}

View File

@@ -0,0 +1,11 @@
package tech.easyflow.approval.entity;
import com.mybatisflex.annotation.Table;
import tech.easyflow.approval.entity.base.ApprovalFlowStepBase;
/**
* 审批流程步骤实体。
*/
@Table("tb_approval_flow_step")
public class ApprovalFlowStep extends ApprovalFlowStepBase {
}

View File

@@ -0,0 +1,11 @@
package tech.easyflow.approval.entity;
import com.mybatisflex.annotation.Table;
import tech.easyflow.approval.entity.base.ApprovalInstanceBase;
/**
* 审批实例实体。
*/
@Table("tb_approval_instance")
public class ApprovalInstance extends ApprovalInstanceBase {
}

View File

@@ -0,0 +1,11 @@
package tech.easyflow.approval.entity;
import com.mybatisflex.annotation.Table;
import tech.easyflow.approval.entity.base.ApprovalLogBase;
/**
* 审批日志实体。
*/
@Table("tb_approval_log")
public class ApprovalLog extends ApprovalLogBase {
}

View File

@@ -0,0 +1,11 @@
package tech.easyflow.approval.entity;
import com.mybatisflex.annotation.Table;
import tech.easyflow.approval.entity.base.ApprovalTaskBase;
/**
* 审批任务实体。
*/
@Table("tb_approval_task")
public class ApprovalTask extends ApprovalTaskBase {
}

View File

@@ -0,0 +1,149 @@
package tech.easyflow.approval.entity.base;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
/**
* 审批流程主表基础字段。
*/
public class ApprovalFlowBase implements Serializable {
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Generator, value = "snowFlakeId", comment = "主键")
private BigInteger id;
@Column(comment = "流程名称")
private String name;
@Column(comment = "资源类型")
private String resourceType;
@Column(comment = "动作类型")
private String actionType;
@Column(comment = "优先级")
private Integer priority;
@Column(comment = "流程状态")
private String status;
@Column(comment = "流程版本")
private Integer version;
@Column(comment = "备注")
private String remark;
@Column(comment = "创建时间")
private Date created;
@Column(comment = "创建者")
private BigInteger createdBy;
@Column(comment = "修改时间")
private Date modified;
@Column(comment = "修改者")
private BigInteger modifiedBy;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getResourceType() {
return resourceType;
}
public void setResourceType(String resourceType) {
this.resourceType = resourceType;
}
public String getActionType() {
return actionType;
}
public void setActionType(String actionType) {
this.actionType = actionType;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public BigInteger getCreatedBy() {
return createdBy;
}
public void setCreatedBy(BigInteger createdBy) {
this.createdBy = createdBy;
}
public Date getModified() {
return modified;
}
public void setModified(Date modified) {
this.modified = modified;
}
public BigInteger getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(BigInteger modifiedBy) {
this.modifiedBy = modifiedBy;
}
}

View File

@@ -0,0 +1,116 @@
package tech.easyflow.approval.entity.base;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
/**
* 审批流程范围基础字段。
*/
public class ApprovalFlowScopeBase implements Serializable {
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Generator, value = "snowFlakeId", comment = "主键")
private BigInteger id;
@Column(comment = "流程ID")
private BigInteger flowId;
@Column(comment = "范围类型")
private String scopeType;
@Column(comment = "范围值")
private BigInteger scopeValue;
@Column(comment = "是否包含子节点")
private Integer includeChildren;
@Column(comment = "创建时间")
private Date created;
@Column(comment = "创建者")
private BigInteger createdBy;
@Column(comment = "修改时间")
private Date modified;
@Column(comment = "修改者")
private BigInteger modifiedBy;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public BigInteger getFlowId() {
return flowId;
}
public void setFlowId(BigInteger flowId) {
this.flowId = flowId;
}
public String getScopeType() {
return scopeType;
}
public void setScopeType(String scopeType) {
this.scopeType = scopeType;
}
public BigInteger getScopeValue() {
return scopeValue;
}
public void setScopeValue(BigInteger scopeValue) {
this.scopeValue = scopeValue;
}
public Integer getIncludeChildren() {
return includeChildren;
}
public void setIncludeChildren(Integer includeChildren) {
this.includeChildren = includeChildren;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public BigInteger getCreatedBy() {
return createdBy;
}
public void setCreatedBy(BigInteger createdBy) {
this.createdBy = createdBy;
}
public Date getModified() {
return modified;
}
public void setModified(Date modified) {
this.modified = modified;
}
public BigInteger getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(BigInteger modifiedBy) {
this.modifiedBy = modifiedBy;
}
}

View File

@@ -0,0 +1,149 @@
package tech.easyflow.approval.entity.base;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
/**
* 审批流程步骤基础字段。
*/
public class ApprovalFlowStepBase implements Serializable {
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Generator, value = "snowFlakeId", comment = "主键")
private BigInteger id;
@Column(comment = "流程ID")
private BigInteger flowId;
@Column(comment = "步骤顺序")
private Integer stepNo;
@Column(comment = "步骤名称")
private String stepName;
@Column(comment = "审批对象类型")
private String assigneeType;
@Column(comment = "审批对象ID")
private BigInteger assigneeTargetId;
@Column(comment = "审批对象编码")
private String assigneeTargetCode;
@Column(comment = "审批对象名称")
private String assigneeTargetName;
@Column(comment = "创建时间")
private Date created;
@Column(comment = "创建者")
private BigInteger createdBy;
@Column(comment = "修改时间")
private Date modified;
@Column(comment = "修改者")
private BigInteger modifiedBy;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public BigInteger getFlowId() {
return flowId;
}
public void setFlowId(BigInteger flowId) {
this.flowId = flowId;
}
public Integer getStepNo() {
return stepNo;
}
public void setStepNo(Integer stepNo) {
this.stepNo = stepNo;
}
public String getStepName() {
return stepName;
}
public void setStepName(String stepName) {
this.stepName = stepName;
}
public String getAssigneeType() {
return assigneeType;
}
public void setAssigneeType(String assigneeType) {
this.assigneeType = assigneeType;
}
public BigInteger getAssigneeTargetId() {
return assigneeTargetId;
}
public void setAssigneeTargetId(BigInteger assigneeTargetId) {
this.assigneeTargetId = assigneeTargetId;
}
public String getAssigneeTargetCode() {
return assigneeTargetCode;
}
public void setAssigneeTargetCode(String assigneeTargetCode) {
this.assigneeTargetCode = assigneeTargetCode;
}
public String getAssigneeTargetName() {
return assigneeTargetName;
}
public void setAssigneeTargetName(String assigneeTargetName) {
this.assigneeTargetName = assigneeTargetName;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public BigInteger getCreatedBy() {
return createdBy;
}
public void setCreatedBy(BigInteger createdBy) {
this.createdBy = createdBy;
}
public Date getModified() {
return modified;
}
public void setModified(Date modified) {
this.modified = modified;
}
public BigInteger getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(BigInteger modifiedBy) {
this.modifiedBy = modifiedBy;
}
}

View File

@@ -0,0 +1,206 @@
package tech.easyflow.approval.entity.base;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.core.handler.FastjsonTypeHandler;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.Map;
/**
* 审批实例基础字段。
*/
public class ApprovalInstanceBase implements Serializable {
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Generator, value = "snowFlakeId", comment = "主键")
private BigInteger id;
@Column(comment = "流程ID")
private BigInteger flowId;
@Column(comment = "流程版本")
private Integer flowVersion;
@Column(comment = "资源类型")
private String resourceType;
@Column(comment = "资源ID")
private BigInteger resourceId;
@Column(comment = "动作类型")
private String actionType;
@Column(comment = "实例状态")
private String status;
@Column(comment = "当前步骤序号")
private Integer currentStepNo;
@Column(typeHandler = FastjsonTypeHandler.class, comment = "审批快照")
private Map<String, Object> snapshotJson;
@Column(comment = "审批摘要")
private String summary;
@Column(comment = "申请人ID")
private BigInteger applicantId;
@Column(comment = "提交时间")
private Date submittedAt;
@Column(comment = "完成时间")
private Date finishedAt;
@Column(comment = "创建时间")
private Date created;
@Column(comment = "创建者")
private BigInteger createdBy;
@Column(comment = "修改时间")
private Date modified;
@Column(comment = "修改者")
private BigInteger modifiedBy;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public BigInteger getFlowId() {
return flowId;
}
public void setFlowId(BigInteger flowId) {
this.flowId = flowId;
}
public Integer getFlowVersion() {
return flowVersion;
}
public void setFlowVersion(Integer flowVersion) {
this.flowVersion = flowVersion;
}
public String getResourceType() {
return resourceType;
}
public void setResourceType(String resourceType) {
this.resourceType = resourceType;
}
public BigInteger getResourceId() {
return resourceId;
}
public void setResourceId(BigInteger resourceId) {
this.resourceId = resourceId;
}
public String getActionType() {
return actionType;
}
public void setActionType(String actionType) {
this.actionType = actionType;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Integer getCurrentStepNo() {
return currentStepNo;
}
public void setCurrentStepNo(Integer currentStepNo) {
this.currentStepNo = currentStepNo;
}
public Map<String, Object> getSnapshotJson() {
return snapshotJson;
}
public void setSnapshotJson(Map<String, Object> snapshotJson) {
this.snapshotJson = snapshotJson;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public BigInteger getApplicantId() {
return applicantId;
}
public void setApplicantId(BigInteger applicantId) {
this.applicantId = applicantId;
}
public Date getSubmittedAt() {
return submittedAt;
}
public void setSubmittedAt(Date submittedAt) {
this.submittedAt = submittedAt;
}
public Date getFinishedAt() {
return finishedAt;
}
public void setFinishedAt(Date finishedAt) {
this.finishedAt = finishedAt;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public BigInteger getCreatedBy() {
return createdBy;
}
public void setCreatedBy(BigInteger createdBy) {
this.createdBy = createdBy;
}
public Date getModified() {
return modified;
}
public void setModified(Date modified) {
this.modified = modified;
}
public BigInteger getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(BigInteger modifiedBy) {
this.modifiedBy = modifiedBy;
}
}

View File

@@ -0,0 +1,118 @@
package tech.easyflow.approval.entity.base;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.core.handler.FastjsonTypeHandler;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
import java.util.Map;
/**
* 审批日志基础字段。
*/
public class ApprovalLogBase implements Serializable {
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Generator, value = "snowFlakeId", comment = "主键")
private BigInteger id;
@Column(comment = "审批实例ID")
private BigInteger instanceId;
@Column(comment = "事件类型")
private String eventType;
@Column(comment = "操作人ID")
private BigInteger operatorId;
@Column(typeHandler = FastjsonTypeHandler.class, comment = "事件载荷")
private Map<String, Object> payloadJson;
@Column(comment = "创建时间")
private Date created;
@Column(comment = "创建者")
private BigInteger createdBy;
@Column(comment = "修改时间")
private Date modified;
@Column(comment = "修改者")
private BigInteger modifiedBy;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public BigInteger getInstanceId() {
return instanceId;
}
public void setInstanceId(BigInteger instanceId) {
this.instanceId = instanceId;
}
public String getEventType() {
return eventType;
}
public void setEventType(String eventType) {
this.eventType = eventType;
}
public BigInteger getOperatorId() {
return operatorId;
}
public void setOperatorId(BigInteger operatorId) {
this.operatorId = operatorId;
}
public Map<String, Object> getPayloadJson() {
return payloadJson;
}
public void setPayloadJson(Map<String, Object> payloadJson) {
this.payloadJson = payloadJson;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public BigInteger getCreatedBy() {
return createdBy;
}
public void setCreatedBy(BigInteger createdBy) {
this.createdBy = createdBy;
}
public Date getModified() {
return modified;
}
public void setModified(Date modified) {
this.modified = modified;
}
public BigInteger getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(BigInteger modifiedBy) {
this.modifiedBy = modifiedBy;
}
}

View File

@@ -0,0 +1,193 @@
package tech.easyflow.approval.entity.base;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;
/**
* 审批任务基础字段。
*/
public class ApprovalTaskBase implements Serializable {
private static final long serialVersionUID = 1L;
@Id(keyType = KeyType.Generator, value = "snowFlakeId", comment = "主键")
private BigInteger id;
@Column(comment = "审批实例ID")
private BigInteger instanceId;
@Column(comment = "步骤序号")
private Integer stepNo;
@Column(comment = "任务状态")
private String status;
@Column(comment = "指派角色编码")
private String assigneeRoleCode;
@Column(comment = "审批对象类型")
private String assigneeType;
@Column(comment = "审批对象ID")
private BigInteger assigneeTargetId;
@Column(comment = "审批对象编码")
private String assigneeTargetCode;
@Column(comment = "审批对象名称")
private String assigneeTargetName;
@Column(comment = "处理人ID")
private BigInteger actedBy;
@Column(comment = "处理时间")
private Date actedAt;
@Column(comment = "处理意见")
private String comment;
@Column(comment = "创建时间")
private Date created;
@Column(comment = "创建者")
private BigInteger createdBy;
@Column(comment = "修改时间")
private Date modified;
@Column(comment = "修改者")
private BigInteger modifiedBy;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public BigInteger getInstanceId() {
return instanceId;
}
public void setInstanceId(BigInteger instanceId) {
this.instanceId = instanceId;
}
public Integer getStepNo() {
return stepNo;
}
public void setStepNo(Integer stepNo) {
this.stepNo = stepNo;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getAssigneeRoleCode() {
return assigneeRoleCode;
}
public void setAssigneeRoleCode(String assigneeRoleCode) {
this.assigneeRoleCode = assigneeRoleCode;
}
public String getAssigneeType() {
return assigneeType;
}
public void setAssigneeType(String assigneeType) {
this.assigneeType = assigneeType;
}
public BigInteger getAssigneeTargetId() {
return assigneeTargetId;
}
public void setAssigneeTargetId(BigInteger assigneeTargetId) {
this.assigneeTargetId = assigneeTargetId;
}
public String getAssigneeTargetCode() {
return assigneeTargetCode;
}
public void setAssigneeTargetCode(String assigneeTargetCode) {
this.assigneeTargetCode = assigneeTargetCode;
}
public String getAssigneeTargetName() {
return assigneeTargetName;
}
public void setAssigneeTargetName(String assigneeTargetName) {
this.assigneeTargetName = assigneeTargetName;
}
public BigInteger getActedBy() {
return actedBy;
}
public void setActedBy(BigInteger actedBy) {
this.actedBy = actedBy;
}
public Date getActedAt() {
return actedAt;
}
public void setActedAt(Date actedAt) {
this.actedAt = actedAt;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public BigInteger getCreatedBy() {
return createdBy;
}
public void setCreatedBy(BigInteger createdBy) {
this.createdBy = createdBy;
}
public Date getModified() {
return modified;
}
public void setModified(Date modified) {
this.modified = modified;
}
public BigInteger getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(BigInteger modifiedBy) {
this.modifiedBy = modifiedBy;
}
}

View File

@@ -0,0 +1,29 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
/**
* 审批动作请求。
*/
public class ApprovalActionRequest {
private BigInteger instanceId;
private String comment;
public BigInteger getInstanceId() {
return instanceId;
}
public void setInstanceId(BigInteger instanceId) {
this.instanceId = instanceId;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
}

View File

@@ -0,0 +1,39 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
/**
* 审批对象选项。
*/
public class ApprovalAssigneeOptionVo {
private BigInteger id;
private String code;
private String name;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@@ -0,0 +1,41 @@
package tech.easyflow.approval.entity.vo;
import tech.easyflow.approval.entity.ApprovalInstance;
import java.math.BigInteger;
/**
* 审批回调上下文。
*/
public class ApprovalCallbackContext {
private ApprovalInstance instance;
private BigInteger operatorId;
private String comment;
public ApprovalInstance getInstance() {
return instance;
}
public void setInstance(ApprovalInstance instance) {
this.instance = instance;
}
public BigInteger getOperatorId() {
return operatorId;
}
public void setOperatorId(BigInteger operatorId) {
this.operatorId = operatorId;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
}

View File

@@ -0,0 +1,152 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 审批流程详情。
*/
public class ApprovalFlowDetailVo {
private BigInteger id;
private String name;
private String resourceType;
private String actionType;
private Integer priority;
private String status;
private Integer version;
private String remark;
private Date created;
private Date modified;
private boolean deletable;
private long pendingInstanceCount;
private List<ApprovalFlowScopeVo> scopes = new ArrayList<>();
private List<ApprovalFlowStepVo> steps = new ArrayList<>();
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getResourceType() {
return resourceType;
}
public void setResourceType(String resourceType) {
this.resourceType = resourceType;
}
public String getActionType() {
return actionType;
}
public void setActionType(String actionType) {
this.actionType = actionType;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public Date getModified() {
return modified;
}
public void setModified(Date modified) {
this.modified = modified;
}
public boolean isDeletable() {
return deletable;
}
public void setDeletable(boolean deletable) {
this.deletable = deletable;
}
public long getPendingInstanceCount() {
return pendingInstanceCount;
}
public void setPendingInstanceCount(long pendingInstanceCount) {
this.pendingInstanceCount = pendingInstanceCount;
}
public List<ApprovalFlowScopeVo> getScopes() {
return scopes;
}
public void setScopes(List<ApprovalFlowScopeVo> scopes) {
this.scopes = scopes;
}
public List<ApprovalFlowStepVo> getSteps() {
return steps;
}
public void setSteps(List<ApprovalFlowStepVo> steps) {
this.steps = steps;
}
}

View File

@@ -0,0 +1,120 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
import java.util.Date;
/**
* 审批流程分页项。
*/
public class ApprovalFlowPageVo {
private BigInteger id;
private String name;
private String resourceType;
private String actionType;
private Integer priority;
private String status;
private Integer version;
private String scopeSummary;
private Integer stepCount;
private long pendingInstanceCount;
private Date modified;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getResourceType() {
return resourceType;
}
public void setResourceType(String resourceType) {
this.resourceType = resourceType;
}
public String getActionType() {
return actionType;
}
public void setActionType(String actionType) {
this.actionType = actionType;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
public String getScopeSummary() {
return scopeSummary;
}
public void setScopeSummary(String scopeSummary) {
this.scopeSummary = scopeSummary;
}
public Integer getStepCount() {
return stepCount;
}
public void setStepCount(Integer stepCount) {
this.stepCount = stepCount;
}
public long getPendingInstanceCount() {
return pendingInstanceCount;
}
public void setPendingInstanceCount(long pendingInstanceCount) {
this.pendingInstanceCount = pendingInstanceCount;
}
public Date getModified() {
return modified;
}
public void setModified(Date modified) {
this.modified = modified;
}
}

View File

@@ -0,0 +1,49 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
/**
* 审批流程范围项。
*/
public class ApprovalFlowScopeVo {
private BigInteger id;
private String scopeType;
private BigInteger scopeValue;
private Integer includeChildren;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public String getScopeType() {
return scopeType;
}
public void setScopeType(String scopeType) {
this.scopeType = scopeType;
}
public BigInteger getScopeValue() {
return scopeValue;
}
public void setScopeValue(BigInteger scopeValue) {
this.scopeValue = scopeValue;
}
public Integer getIncludeChildren() {
return includeChildren;
}
public void setIncludeChildren(Integer includeChildren) {
this.includeChildren = includeChildren;
}
}

View File

@@ -0,0 +1,79 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
/**
* 审批流程步骤项。
*/
public class ApprovalFlowStepVo {
private BigInteger id;
private Integer stepNo;
private String stepName;
private String assigneeType;
private BigInteger assigneeTargetId;
private String assigneeTargetCode;
private String assigneeTargetName;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public Integer getStepNo() {
return stepNo;
}
public void setStepNo(Integer stepNo) {
this.stepNo = stepNo;
}
public String getStepName() {
return stepName;
}
public void setStepName(String stepName) {
this.stepName = stepName;
}
public String getAssigneeType() {
return assigneeType;
}
public void setAssigneeType(String assigneeType) {
this.assigneeType = assigneeType;
}
public BigInteger getAssigneeTargetId() {
return assigneeTargetId;
}
public void setAssigneeTargetId(BigInteger assigneeTargetId) {
this.assigneeTargetId = assigneeTargetId;
}
public String getAssigneeTargetCode() {
return assigneeTargetCode;
}
public void setAssigneeTargetCode(String assigneeTargetCode) {
this.assigneeTargetCode = assigneeTargetCode;
}
public String getAssigneeTargetName() {
return assigneeTargetName;
}
public void setAssigneeTargetName(String assigneeTargetName) {
this.assigneeTargetName = assigneeTargetName;
}
}

View File

@@ -0,0 +1,203 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 审批实例详情。
*/
public class ApprovalInstanceDetailVo {
private BigInteger id;
private BigInteger flowId;
private Integer flowVersion;
private String resourceType;
private BigInteger resourceId;
private String actionType;
private String status;
private Integer currentStepNo;
private String summary;
private BigInteger applicantId;
private String applicantName;
private Date submittedAt;
private Date finishedAt;
private Map<String, Object> snapshotJson;
private boolean canApprove;
private boolean canReject;
private boolean canRevoke;
private List<ApprovalTaskVo> tasks = new ArrayList<>();
private List<ApprovalLogVo> logs = new ArrayList<>();
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public BigInteger getFlowId() {
return flowId;
}
public void setFlowId(BigInteger flowId) {
this.flowId = flowId;
}
public Integer getFlowVersion() {
return flowVersion;
}
public void setFlowVersion(Integer flowVersion) {
this.flowVersion = flowVersion;
}
public String getResourceType() {
return resourceType;
}
public void setResourceType(String resourceType) {
this.resourceType = resourceType;
}
public BigInteger getResourceId() {
return resourceId;
}
public void setResourceId(BigInteger resourceId) {
this.resourceId = resourceId;
}
public String getActionType() {
return actionType;
}
public void setActionType(String actionType) {
this.actionType = actionType;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Integer getCurrentStepNo() {
return currentStepNo;
}
public void setCurrentStepNo(Integer currentStepNo) {
this.currentStepNo = currentStepNo;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public BigInteger getApplicantId() {
return applicantId;
}
public void setApplicantId(BigInteger applicantId) {
this.applicantId = applicantId;
}
public String getApplicantName() {
return applicantName;
}
public void setApplicantName(String applicantName) {
this.applicantName = applicantName;
}
public Date getSubmittedAt() {
return submittedAt;
}
public void setSubmittedAt(Date submittedAt) {
this.submittedAt = submittedAt;
}
public Date getFinishedAt() {
return finishedAt;
}
public void setFinishedAt(Date finishedAt) {
this.finishedAt = finishedAt;
}
public Map<String, Object> getSnapshotJson() {
return snapshotJson;
}
public void setSnapshotJson(Map<String, Object> snapshotJson) {
this.snapshotJson = snapshotJson;
}
public boolean isCanApprove() {
return canApprove;
}
public void setCanApprove(boolean canApprove) {
this.canApprove = canApprove;
}
public boolean isCanReject() {
return canReject;
}
public void setCanReject(boolean canReject) {
this.canReject = canReject;
}
public boolean isCanRevoke() {
return canRevoke;
}
public void setCanRevoke(boolean canRevoke) {
this.canRevoke = canRevoke;
}
public List<ApprovalTaskVo> getTasks() {
return tasks;
}
public void setTasks(List<ApprovalTaskVo> tasks) {
this.tasks = tasks;
}
public List<ApprovalLogVo> getLogs() {
return logs;
}
public void setLogs(List<ApprovalLogVo> logs) {
this.logs = logs;
}
}

View File

@@ -0,0 +1,150 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
import java.util.Date;
/**
* 审批实例分页项。
*/
public class ApprovalInstancePageVo {
private BigInteger id;
private String resourceType;
private BigInteger resourceId;
private String actionType;
private String status;
private Integer currentStepNo;
private String currentStepName;
private String summary;
private BigInteger applicantId;
private Date submittedAt;
private Date finishedAt;
private boolean canApprove;
private boolean canReject;
private boolean canRevoke;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public String getResourceType() {
return resourceType;
}
public void setResourceType(String resourceType) {
this.resourceType = resourceType;
}
public BigInteger getResourceId() {
return resourceId;
}
public void setResourceId(BigInteger resourceId) {
this.resourceId = resourceId;
}
public String getActionType() {
return actionType;
}
public void setActionType(String actionType) {
this.actionType = actionType;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Integer getCurrentStepNo() {
return currentStepNo;
}
public void setCurrentStepNo(Integer currentStepNo) {
this.currentStepNo = currentStepNo;
}
public String getCurrentStepName() {
return currentStepName;
}
public void setCurrentStepName(String currentStepName) {
this.currentStepName = currentStepName;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public BigInteger getApplicantId() {
return applicantId;
}
public void setApplicantId(BigInteger applicantId) {
this.applicantId = applicantId;
}
public Date getSubmittedAt() {
return submittedAt;
}
public void setSubmittedAt(Date submittedAt) {
this.submittedAt = submittedAt;
}
public Date getFinishedAt() {
return finishedAt;
}
public void setFinishedAt(Date finishedAt) {
this.finishedAt = finishedAt;
}
public boolean isCanApprove() {
return canApprove;
}
public void setCanApprove(boolean canApprove) {
this.canApprove = canApprove;
}
public boolean isCanReject() {
return canReject;
}
public void setCanReject(boolean canReject) {
this.canReject = canReject;
}
public boolean isCanRevoke() {
return canRevoke;
}
public void setCanRevoke(boolean canRevoke) {
this.canRevoke = canRevoke;
}
}

View File

@@ -0,0 +1,71 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
import java.util.Date;
import java.util.Map;
/**
* 审批日志视图。
*/
public class ApprovalLogVo {
private BigInteger id;
private String eventType;
private BigInteger operatorId;
private String operatorName;
private Date created;
private Map<String, Object> payloadJson;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public String getEventType() {
return eventType;
}
public void setEventType(String eventType) {
this.eventType = eventType;
}
public BigInteger getOperatorId() {
return operatorId;
}
public void setOperatorId(BigInteger operatorId) {
this.operatorId = operatorId;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public Map<String, Object> getPayloadJson() {
return payloadJson;
}
public void setPayloadJson(Map<String, Object> payloadJson) {
this.payloadJson = payloadJson;
}
}

View File

@@ -0,0 +1,59 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
/**
* 审批提交后回调上下文。
*/
public class ApprovalSubmitCallbackContext {
private BigInteger instanceId;
private String resourceType;
private BigInteger resourceId;
private String actionType;
private BigInteger operatorId;
public BigInteger getInstanceId() {
return instanceId;
}
public void setInstanceId(BigInteger instanceId) {
this.instanceId = instanceId;
}
public String getResourceType() {
return resourceType;
}
public void setResourceType(String resourceType) {
this.resourceType = resourceType;
}
public BigInteger getResourceId() {
return resourceId;
}
public void setResourceId(BigInteger resourceId) {
this.resourceId = resourceId;
}
public String getActionType() {
return actionType;
}
public void setActionType(String actionType) {
this.actionType = actionType;
}
public BigInteger getOperatorId() {
return operatorId;
}
public void setOperatorId(BigInteger operatorId) {
this.operatorId = operatorId;
}
}

View File

@@ -0,0 +1,90 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
import java.util.Map;
/**
* 发起审批请求。
*/
public class ApprovalSubmitRequest {
private String resourceType;
private BigInteger resourceId;
private String actionType;
private BigInteger categoryId;
private BigInteger deptId;
private BigInteger applicantId;
private String summary;
private Map<String, Object> snapshotJson;
public String getResourceType() {
return resourceType;
}
public void setResourceType(String resourceType) {
this.resourceType = resourceType;
}
public BigInteger getResourceId() {
return resourceId;
}
public void setResourceId(BigInteger resourceId) {
this.resourceId = resourceId;
}
public String getActionType() {
return actionType;
}
public void setActionType(String actionType) {
this.actionType = actionType;
}
public BigInteger getCategoryId() {
return categoryId;
}
public void setCategoryId(BigInteger categoryId) {
this.categoryId = categoryId;
}
public BigInteger getDeptId() {
return deptId;
}
public void setDeptId(BigInteger deptId) {
this.deptId = deptId;
}
public BigInteger getApplicantId() {
return applicantId;
}
public void setApplicantId(BigInteger applicantId) {
this.applicantId = applicantId;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public Map<String, Object> getSnapshotJson() {
return snapshotJson;
}
public void setSnapshotJson(Map<String, Object> snapshotJson) {
this.snapshotJson = snapshotJson;
}
}

View File

@@ -0,0 +1,140 @@
package tech.easyflow.approval.entity.vo;
import java.math.BigInteger;
import java.util.Date;
/**
* 审批任务视图。
*/
public class ApprovalTaskVo {
private BigInteger id;
private Integer stepNo;
private String stepName;
private String status;
private String assigneeRoleCode;
private String assigneeType;
private BigInteger assigneeTargetId;
private String assigneeTargetCode;
private String assigneeTargetName;
private BigInteger actedBy;
private String actedByName;
private Date actedAt;
private String comment;
public BigInteger getId() {
return id;
}
public void setId(BigInteger id) {
this.id = id;
}
public Integer getStepNo() {
return stepNo;
}
public void setStepNo(Integer stepNo) {
this.stepNo = stepNo;
}
public String getStepName() {
return stepName;
}
public void setStepName(String stepName) {
this.stepName = stepName;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getAssigneeRoleCode() {
return assigneeRoleCode;
}
public void setAssigneeRoleCode(String assigneeRoleCode) {
this.assigneeRoleCode = assigneeRoleCode;
}
public String getAssigneeType() {
return assigneeType;
}
public void setAssigneeType(String assigneeType) {
this.assigneeType = assigneeType;
}
public BigInteger getAssigneeTargetId() {
return assigneeTargetId;
}
public void setAssigneeTargetId(BigInteger assigneeTargetId) {
this.assigneeTargetId = assigneeTargetId;
}
public String getAssigneeTargetCode() {
return assigneeTargetCode;
}
public void setAssigneeTargetCode(String assigneeTargetCode) {
this.assigneeTargetCode = assigneeTargetCode;
}
public String getAssigneeTargetName() {
return assigneeTargetName;
}
public void setAssigneeTargetName(String assigneeTargetName) {
this.assigneeTargetName = assigneeTargetName;
}
public BigInteger getActedBy() {
return actedBy;
}
public void setActedBy(BigInteger actedBy) {
this.actedBy = actedBy;
}
public String getActedByName() {
return actedByName;
}
public void setActedByName(String actedByName) {
this.actedByName = actedByName;
}
public Date getActedAt() {
return actedAt;
}
public void setActedAt(Date actedAt) {
this.actedAt = actedAt;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
}