feat(process): 添加业务流程管理相关API接口
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springblade</groupId>
|
||||
<artifactId>blade-service-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>blade-process-api</artifactId>
|
||||
<name>${project.artifactId}</name>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
</project>
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
package org.springblade.process.feign;
|
||||
|
||||
import org.springblade.core.launch.constant.AppConstant;
|
||||
import org.springblade.core.tool.api.FR;
|
||||
import org.springblade.process.pojo.dto.BusinessProcessCurrentHandlerRefreshDTO;
|
||||
import org.springblade.process.pojo.dto.BusinessProcessDeleteDTO;
|
||||
import org.springblade.process.pojo.dto.BusinessProcessSubmitDTO;
|
||||
import org.springblade.process.pojo.dto.BusinessProcessUpdateDTO;
|
||||
import org.springblade.process.pojo.vo.BusinessProcessVO;
|
||||
import org.springblade.process.pojo.vo.ProcessApprovedRecordVO;
|
||||
import org.springblade.process.pojo.vo.ProcessTodoVO;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 业务流程关联表 Feign接口类
|
||||
*
|
||||
* @author BladeX
|
||||
* @since 2024-09-19
|
||||
*/
|
||||
@FeignClient(
|
||||
value = AppConstant.APPLICATION_SYSTEM_NAME
|
||||
)
|
||||
public interface IBusinessProcessClient {
|
||||
|
||||
String API_PREFIX = "/feign/client/businessProcess";
|
||||
String SUBMIT_BUSINESS_PROCESS = API_PREFIX + "/submitBusinessProcess";
|
||||
String UPDATE_BUSINESS_PROCESS_APPROVER = API_PREFIX + "/updateBusinessProcessApprover";
|
||||
String REFRESH_BUSINESS_PROCESS_CURRENT_HANDLERS = API_PREFIX + "/refreshBusinessProcessCurrentHandlers";
|
||||
String UPDATE_BUSINESS_PROCESS_STATUS = API_PREFIX + "/updateBusinessProcessStatus";
|
||||
String DELETE_BUSINESS_PROCESS = API_PREFIX + "/deleteBusinessProcess";
|
||||
String QUERY_TODO_LIST = API_PREFIX + "/queryTodoList";
|
||||
String QUERY_BUSINESS_PROCESS_SNAPSHOT = API_PREFIX + "/queryBusinessProcessSnapshot";
|
||||
String QUERY_APPROVED_RECORD_LIST = API_PREFIX + "/queryApprovedRecordsNoAttachments";
|
||||
|
||||
/**
|
||||
* 提交业务流程
|
||||
* @param param
|
||||
*/
|
||||
@PostMapping(SUBMIT_BUSINESS_PROCESS)
|
||||
FR<BusinessProcessVO> submitBusinessProcess(@Validated @RequestBody BusinessProcessSubmitDTO<?> param);
|
||||
|
||||
/**
|
||||
* 修改业务流程状态
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(UPDATE_BUSINESS_PROCESS_STATUS)
|
||||
FR<Boolean> updateBusinessProcessStatus(@Validated @RequestBody BusinessProcessUpdateDTO param);
|
||||
|
||||
/**
|
||||
* 修改业务流程审批人
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(UPDATE_BUSINESS_PROCESS_APPROVER)
|
||||
FR<BusinessProcessVO> updateBusinessProcessApprover(@Validated @RequestBody BusinessProcessUpdateDTO param);
|
||||
|
||||
/**
|
||||
* 只刷新当前节点和当前处理人
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(REFRESH_BUSINESS_PROCESS_CURRENT_HANDLERS)
|
||||
FR<BusinessProcessVO> refreshBusinessProcessCurrentHandlers(@Validated @RequestBody BusinessProcessCurrentHandlerRefreshDTO param);
|
||||
|
||||
/**
|
||||
* 查询流程当前待办列表
|
||||
* @param processInstanceId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(QUERY_TODO_LIST)
|
||||
FR<List<ProcessTodoVO>> queryTodoList(@RequestParam("processInstanceId") String processInstanceId);
|
||||
|
||||
/**
|
||||
* 查询业务流程当前快照
|
||||
* @param processInstanceId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(QUERY_BUSINESS_PROCESS_SNAPSHOT)
|
||||
FR<BusinessProcessVO> queryBusinessProcessSnapshot(@RequestParam("processInstanceId") String processInstanceId);
|
||||
|
||||
/**
|
||||
* 删除业务流程
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping(DELETE_BUSINESS_PROCESS)
|
||||
FR<Boolean> deleteBusinessProcess(@Validated @RequestBody BusinessProcessDeleteDTO param);
|
||||
|
||||
/**
|
||||
* 查询流程审批记录不处理附件
|
||||
* @param bizId
|
||||
* @param processInstanceId
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(QUERY_APPROVED_RECORD_LIST)
|
||||
FR<List<ProcessApprovedRecordVO>> queryApprovedRecordsNoAttachments(@RequestParam(name = "bizId", required = false) String bizId, @RequestParam(name = "processInstanceId", required = false) String processInstanceId);
|
||||
}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
package org.springblade.process.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 附加操作信息
|
||||
*
|
||||
* @author linbb
|
||||
*/
|
||||
@Schema(description = "附加操作信息")
|
||||
@Data
|
||||
public class AdditionOperationParameterDTO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 操作类型
|
||||
*/
|
||||
private String operationType;
|
||||
|
||||
/**
|
||||
* 操作身份
|
||||
*/
|
||||
private String operationIdentity;
|
||||
|
||||
/**
|
||||
* 操作参数
|
||||
*/
|
||||
private String parameter;
|
||||
}
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
package org.springblade.process.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* mk审批中心查询参数
|
||||
* @author bfhuange
|
||||
* @since 2025/4/2
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "mk审批中心查询参数")
|
||||
public class ApprovalDTO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 单据类型 myApproving 我的待审,myApproved 我的已审,myReading 我的待阅,myReaded 我的已阅,myRelated 我参与的,myCreated 我发起的
|
||||
*/
|
||||
@NotBlank(message = "单据类型不能为空")
|
||||
@Schema(description = "单据类型 myApproving 我的待审,myApproved 我的已审,myReading 我的待阅,myReaded 我的已阅,myRelated 我参与的,myCreated 我发起的")
|
||||
private String docType;
|
||||
/**
|
||||
* 关键字
|
||||
*/
|
||||
@Schema(description = "关键字")
|
||||
private String keyword;
|
||||
/**
|
||||
* 模板名称
|
||||
*/
|
||||
@Schema(description = "模板名称")
|
||||
private String templateName;
|
||||
/**
|
||||
* 申请时间开始
|
||||
*/
|
||||
@Schema(description = "申请时间开始")
|
||||
private Date applicantTimeStart;
|
||||
/**
|
||||
* 申请时间结束
|
||||
*/
|
||||
@Schema(description = "申请时间结束")
|
||||
private Date applicantTimeEnd;
|
||||
|
||||
//==================================待办参数=======================
|
||||
|
||||
/**
|
||||
* 接收时间开始
|
||||
*/
|
||||
@Schema(description = "接收时间开始")
|
||||
private Date receiveTimeStart;
|
||||
/**
|
||||
* 接收时间结束
|
||||
*/
|
||||
@Schema(description = "接收时间结束")
|
||||
private Date receiveTimeEnd;
|
||||
|
||||
//==================================已处理参数=======================
|
||||
|
||||
/**
|
||||
* 流程状态 00 – 废弃、10 – 草稿、11 – 驳回 20 – 待审、21 – 异常、40 – 挂起 30 – 结束
|
||||
*/
|
||||
@Schema(description = "流程状态 00 – 废弃、10 – 草稿、11 – 驳回 20 – 待审、21 – 异常、40 – 挂起 30 – 结束")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 结束时间开始
|
||||
*/
|
||||
@Schema(description = "结束时间开始")
|
||||
private Date finishTimeStart;
|
||||
/**
|
||||
* 结束时间结束
|
||||
*/
|
||||
@Schema(description = "结束时间结束")
|
||||
private Date finishTimeEnd;
|
||||
|
||||
/**
|
||||
* 最后处理时间开始
|
||||
*/
|
||||
@Schema(description = "最后处理时间开始")
|
||||
private Date lastHandleStart;
|
||||
/**
|
||||
* 最后处理时间结束
|
||||
*/
|
||||
@Schema(description = "最后处理时间结束")
|
||||
private Date lastHandleEnd;
|
||||
|
||||
//==================================已阅参数=======================
|
||||
/**
|
||||
* 阅读时间开始
|
||||
*/
|
||||
@Schema(description = "阅读时间开始")
|
||||
private Date readTimeStart;
|
||||
/**
|
||||
* 阅读时间结束
|
||||
*/
|
||||
@Schema(description = "阅读时间结束")
|
||||
private Date readTimeEnd;
|
||||
|
||||
//==================================我参与的参数=======================
|
||||
/**
|
||||
* 创建时间开始
|
||||
*/
|
||||
@Schema(description = "创建时间开始")
|
||||
private Date createTimeStart;
|
||||
/**
|
||||
* 创建时间结束
|
||||
*/
|
||||
@Schema(description = "创建时间结束")
|
||||
private Date createTimeEnd;
|
||||
/**
|
||||
* 登录名
|
||||
*/
|
||||
@Schema(description = "登录名", hidden = true)
|
||||
private String loginName;
|
||||
}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
package org.springblade.process.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 业务流程当前处理人刷新参数
|
||||
*
|
||||
* @author bfhuange
|
||||
* @date 2026/4/9
|
||||
*/
|
||||
@Schema(description = "业务流程当前处理人刷新参数")
|
||||
@Data
|
||||
public class BusinessProcessCurrentHandlerRefreshDTO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@NotBlank(message = "流程实例id不能为空")
|
||||
@Schema(description = "流程实例id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 发起人登录名,可为空。
|
||||
* 为空时优先从业务流程表回填;仅当业务流程不存在时,才回退使用调用方传入值。
|
||||
*/
|
||||
@Schema(description = "发起人登录名,可为空;为空时优先从业务流程表回填")
|
||||
private String promoterLoginName;
|
||||
|
||||
/**
|
||||
* 是否流程已完成
|
||||
*/
|
||||
@Schema(description = "是否流程已完成")
|
||||
private boolean complete;
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
package org.springblade.process.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 业务流程删除参数
|
||||
*
|
||||
* @author BladeX
|
||||
* @since 2024-11-26
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Schema(description = "业务流程删除参数")
|
||||
@Data
|
||||
public class BusinessProcessDeleteDTO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 业务id
|
||||
*/
|
||||
@NotNull(message = "业务id不能为空")
|
||||
@Schema(description = "业务id")
|
||||
private Long bizId;
|
||||
/**
|
||||
* 发起人登录名,即erp手机号或账号
|
||||
*/
|
||||
// @NotBlank(message = "发起人登录名不能为空")
|
||||
@Schema(description = "发起人登录名,即erp手机号或账号")
|
||||
private String promoterLoginName;
|
||||
|
||||
public BusinessProcessDeleteDTO(Long bizId) {
|
||||
this.bizId = bizId;
|
||||
}
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
package org.springblade.process.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 业务流程查询参数
|
||||
*
|
||||
* @author BladeX
|
||||
* @since 2024-09-23
|
||||
*/
|
||||
@Schema(description = "业务流程查询参数")
|
||||
@Data
|
||||
public class BusinessProcessQueryDTO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 流程类型
|
||||
*/
|
||||
@Schema(description = "审批类型")
|
||||
private String processType;
|
||||
/**
|
||||
* 文档编号
|
||||
*/
|
||||
@Schema(description = "审批编号")
|
||||
private String docCode;
|
||||
/**
|
||||
* 类型 todo:待审批,create:我创建的,done:我参与的
|
||||
*/
|
||||
@NotBlank(message = "类型不能为空")
|
||||
@Schema(defaultValue = "类型 todo:待审批,create:我创建的,done:我参与的")
|
||||
private String type;
|
||||
/**
|
||||
* 当前登录人账号
|
||||
*/
|
||||
@Schema(hidden = true)
|
||||
private String loginName;
|
||||
}
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
package org.springblade.process.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 业务流程提交参数
|
||||
*
|
||||
* @author BladeX
|
||||
* @since 2024-09-19
|
||||
*/
|
||||
@Schema(description = "业务流程提交参数")
|
||||
@Data
|
||||
public class BusinessProcessSubmitDTO<T> implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 业务id
|
||||
*/
|
||||
@NotNull(message = "业务id不能为空")
|
||||
@Schema(description = "业务id")
|
||||
private Long bizId;
|
||||
/**
|
||||
* 流程类型
|
||||
*/
|
||||
@NotBlank(message = "流程类型不能为空")
|
||||
@Schema(description = "流程类型")
|
||||
private String processType;
|
||||
/**
|
||||
* 文档编号
|
||||
*/
|
||||
@Schema(description = "文档编号")
|
||||
private String docCode;
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@Schema(description = "标题")
|
||||
private String subject;
|
||||
/**
|
||||
* 发起人id,空自动取登录人id
|
||||
*/
|
||||
@Schema(description = "发起人id")
|
||||
private Long promoterId;
|
||||
/**
|
||||
* 发起人名称,空自动取登录人名称
|
||||
*/
|
||||
@Schema(description = "发起人名称")
|
||||
private String promoterName;
|
||||
/**
|
||||
* 发起人登录名
|
||||
*/
|
||||
@Schema(description = "发起人登录名")
|
||||
private String promoterLoginName;
|
||||
/**
|
||||
* 提交时间,空自动取当前时间
|
||||
*/
|
||||
@Schema(description = "提交时间")
|
||||
private Date submitTime;
|
||||
/**
|
||||
* 流程参数,如果流程没有用到参数做条件判断或动态部门,可以不传
|
||||
*/
|
||||
@Schema(description = "流程参数")
|
||||
private T processParam;
|
||||
/**
|
||||
* 流程执行参数,透传mk参数
|
||||
*/
|
||||
@Schema(description = "流程执行参数")
|
||||
private ProcessExecuteDTO executeParam;
|
||||
/**
|
||||
* 添加群组编码
|
||||
*/
|
||||
@Schema(description = "添加群组编码")
|
||||
private boolean addGroupCode;
|
||||
}
|
||||
+39
@@ -0,0 +1,39 @@
|
||||
package org.springblade.process.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 业务流程修改参数
|
||||
*
|
||||
* @author BladeX
|
||||
* @since 2024-09-19
|
||||
*/
|
||||
@Schema(description = "业务流程修改参数")
|
||||
@Data
|
||||
public class BusinessProcessUpdateDTO extends BusinessProcessCurrentHandlerRefreshDTO {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 操作节点id,流程审批结束为空
|
||||
*/
|
||||
@Schema(description = "操作节点id")
|
||||
private String operationNodeId;
|
||||
/**
|
||||
* 操作节点编号,流程审批结束为空
|
||||
*/
|
||||
@Schema(description = "操作节点编号")
|
||||
private String operationNodeNumber;
|
||||
/**
|
||||
* 驳回节点id N2 是起草节点
|
||||
*/
|
||||
@Schema(description = "驳回节点id")
|
||||
private String rejectNodeId;
|
||||
/**
|
||||
* 审批状态
|
||||
*/
|
||||
@Schema(description = "审批状态")
|
||||
private String approveStatus;
|
||||
}
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
package org.springblade.process.pojo.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springblade.system.pojo.dto.AdditionOperationParameterDTO;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* mk 流程执行参数
|
||||
* @author bfhuange
|
||||
* @date 2024/9/26
|
||||
*/
|
||||
@Schema(description = "mk 流程执行参数")
|
||||
@Data
|
||||
public class ProcessExecuteDTO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 表单实例id,业务id
|
||||
*/
|
||||
private String formInstanceId;
|
||||
/**
|
||||
* 登录账号 登录用户账号/手机号
|
||||
*/
|
||||
private String loginName;
|
||||
/**
|
||||
* 流程标题
|
||||
*/
|
||||
private String subject;
|
||||
/**
|
||||
* 任务ID
|
||||
*/
|
||||
private String taskId;
|
||||
/**
|
||||
* 任务类型
|
||||
*/
|
||||
private String activityType;
|
||||
/**
|
||||
* 操作详细参数(json)
|
||||
*/
|
||||
private String parameter;
|
||||
/**
|
||||
* 流程实例ID
|
||||
*/
|
||||
private String processId;
|
||||
/**
|
||||
* 操作标识(相同操作类型和相同操作身份可能存在多个操作配置)
|
||||
*/
|
||||
private String operationId;
|
||||
/**
|
||||
* 操作类型
|
||||
*/
|
||||
private String operationType;
|
||||
/**
|
||||
* 操作身份
|
||||
*/
|
||||
private String operationIdentity;
|
||||
/**
|
||||
* 附加操作参数信息
|
||||
*/
|
||||
private List<AdditionOperationParameterDTO> additionParameters;
|
||||
/**
|
||||
* 表单实例Model Name
|
||||
*/
|
||||
private String formInstanceModel;
|
||||
/**
|
||||
* 业务表单字段值集合
|
||||
*/
|
||||
// private Map<String, Object> formValues;
|
||||
private Object formValues;
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
package org.springblade.process.pojo.dto.process;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 公共部门编码流程参数
|
||||
* @author bfhuange
|
||||
* @date 2024/10/9
|
||||
*/
|
||||
@Data
|
||||
public class CommonDeptCodeProcessParam implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 部门编码
|
||||
*/
|
||||
private String deptCode;
|
||||
|
||||
}
|
||||
+164
@@ -0,0 +1,164 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license
|
||||
* from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for such purposes. Copyright of this software
|
||||
* remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
|
||||
* not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.process.pojo.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springblade.core.tool.utils.DateUtil;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 业务流程关联表 实体类
|
||||
*
|
||||
* @author BladeX
|
||||
* @since 2024-09-19
|
||||
*/
|
||||
@Data
|
||||
@TableName("blade_business_process")
|
||||
@Schema(description = "BusinessProcess对象")
|
||||
public class BusinessProcess implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@Schema(description = "主键")
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 业务id
|
||||
*/
|
||||
@Schema(description = "业务id")
|
||||
private Long bizId;
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@Schema(description = "流程实例id")
|
||||
private String processInstanceId;
|
||||
/**
|
||||
* 流程类型
|
||||
*/
|
||||
@Schema(description = "流程类型")
|
||||
private String processType;
|
||||
/**
|
||||
* 文档编号
|
||||
*/
|
||||
@Schema(description = "文档编号")
|
||||
private String docCode;
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@Schema(description = "标题")
|
||||
private String subject;
|
||||
/**
|
||||
* 发起人id
|
||||
*/
|
||||
@Schema(description = "发起人id")
|
||||
private Long promoterId;
|
||||
/**
|
||||
* 发起人名称
|
||||
*/
|
||||
@Schema(description = "发起人名称")
|
||||
private String promoterName;
|
||||
/**
|
||||
* 发起人登录名
|
||||
*/
|
||||
@Schema(description = "发起人登录名")
|
||||
private String promoterLoginName;
|
||||
/**
|
||||
* 提交时间
|
||||
*/
|
||||
@Schema(description = "提交时间")
|
||||
private Date submitTime;
|
||||
/**
|
||||
* 完成时间
|
||||
*/
|
||||
@Schema(description = "完成时间")
|
||||
private Date completeTime;
|
||||
/**
|
||||
* 当前节点id,多个用逗号拼接
|
||||
*/
|
||||
@Schema(description = "当前节点id,多个用逗号拼接")
|
||||
private String currentNodeIds;
|
||||
/**
|
||||
* 当前节点名称,多个用逗号拼接
|
||||
*/
|
||||
@Schema(description = "当前节点名称,多个用逗号拼接")
|
||||
private String currentNodeNames;
|
||||
/**
|
||||
* 当前处理人,多个用逗号拼接
|
||||
*/
|
||||
@Schema(description = "当前处理人,多个用逗号拼接")
|
||||
private String currentHandlers;
|
||||
/**
|
||||
* 接收时间
|
||||
*/
|
||||
@Schema(description = "接收时间")
|
||||
private Date receiveTime;
|
||||
/**
|
||||
* 是否已完成(0:未完成, 1:已完成)
|
||||
*/
|
||||
@Schema(description = "是否已完成")
|
||||
private Integer isCompleted;
|
||||
/**
|
||||
* 审批状态
|
||||
*/
|
||||
@Schema(description = "审批状态")
|
||||
private String approveStatus;
|
||||
/**
|
||||
* 租户ID
|
||||
*/
|
||||
@Schema(description = "租户ID")
|
||||
private String tenantId;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATE)
|
||||
@Schema(description = "创建时间", hidden = true)
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Date createTime;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATE)
|
||||
@Schema(description = "更新时间", hidden = true)
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private Date updateTime;
|
||||
}
|
||||
+165
@@ -0,0 +1,165 @@
|
||||
/**
|
||||
* BladeX Commercial License Agreement
|
||||
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
|
||||
* <p>
|
||||
* Use of this software is governed by the Commercial License Agreement
|
||||
* obtained after purchasing a license from BladeX.
|
||||
* <p>
|
||||
* 1. This software is for development use only under a valid license
|
||||
* from BladeX.
|
||||
* <p>
|
||||
* 2. Redistribution of this software's source code to any third party
|
||||
* without a commercial license is strictly prohibited.
|
||||
* <p>
|
||||
* 3. Licensees may copyright their own code but cannot use segments
|
||||
* from this software for such purposes. Copyright of this software
|
||||
* remains with BladeX.
|
||||
* <p>
|
||||
* Using this software signifies agreement to this License, and the software
|
||||
* must not be used for illegal purposes.
|
||||
* <p>
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
|
||||
* not liable for any claims arising from secondary or illegal development.
|
||||
* <p>
|
||||
* Author: Chill Zhuang (bladejava@qq.com)
|
||||
*/
|
||||
package org.springblade.process.pojo.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 审批状态
|
||||
*
|
||||
* @author LiuXinjie
|
||||
* @apiNote 合同审批状态
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum ApproveStatusEnum {
|
||||
|
||||
/**
|
||||
* 默认编号
|
||||
*/
|
||||
DRAFT("draft", "草稿"), //可提交
|
||||
APPROVING("approval", "审批中"),
|
||||
APPROVED("pass", "审批通过"),
|
||||
REJECTED("reject", "审批驳回"), //通用的流程 驳回可编辑
|
||||
REVOCATION("revocation", "已撤回"), //可重新提交
|
||||
ABANDON("abandon", "废弃"),
|
||||
;
|
||||
|
||||
final String value;
|
||||
final String text;
|
||||
|
||||
public boolean match(String value){
|
||||
return this.value.equals(value);
|
||||
}
|
||||
|
||||
public static String getValueByText(String text) {
|
||||
if (text == null) {
|
||||
return null;
|
||||
}
|
||||
for (ApproveStatusEnum item : values()) {
|
||||
if (Objects.equals(item.getText(), text)) {
|
||||
return item.getValue();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String getTextByValue(String value) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
for (ApproveStatusEnum item : values()) {
|
||||
if (Objects.equals(item.getValue(), value)) {
|
||||
return item.getText();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否可以撤回
|
||||
*
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
public static boolean canRevoke(String value) {
|
||||
return APPROVING.getValue().equals(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 能不能删除审批流
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
public static boolean canDelAuditFlow(String value){
|
||||
return REJECTED.getValue().equals(value) || REVOCATION.getValue().equals(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 驳回或撤回
|
||||
* @return
|
||||
*/
|
||||
public static boolean rejectedOrRevocation(String approveStatus) {
|
||||
return canDelAuditFlow(approveStatus);
|
||||
}
|
||||
|
||||
/**
|
||||
* 能不能删除数据
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
public static boolean canDeleteData(String value){
|
||||
return ABANDON.getValue().equals(value) || DRAFT.getValue().equals(value) || canDelAuditFlow(value);
|
||||
}
|
||||
|
||||
public static String getNameStr(String value) {
|
||||
for (ApproveStatusEnum state : values()) {
|
||||
if (state.value.equals(value)) {
|
||||
return state.text;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 是否可以编辑表单
|
||||
*
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
public static boolean canEdit(String value) {
|
||||
return DRAFT.getValue().equals(value) || REJECTED.getValue().equals(value) || REVOCATION.getValue().equals(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取可驳回状态
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static List<String> buildPreviousApproveStatusList(String currentStatus) {
|
||||
if (ApproveStatusEnum.APPROVING.getValue().equals(currentStatus)) {
|
||||
// 变更成审批中,前置条件为 草稿或者审批中
|
||||
return List.of(ApproveStatusEnum.APPROVING.getValue());
|
||||
} else if (ApproveStatusEnum.APPROVED.getValue().equals(currentStatus)) {
|
||||
// 变更成审批通过,前置条件为 审批中
|
||||
return List.of(ApproveStatusEnum.APPROVING.getValue());
|
||||
} else if (ApproveStatusEnum.REJECTED.getValue().equals(currentStatus)) {
|
||||
// 变更成审批驳回,前置条件为 审批中
|
||||
return List.of(ApproveStatusEnum.APPROVING.getValue());
|
||||
} else if (ApproveStatusEnum.REVOCATION.getValue().equals(currentStatus)) {
|
||||
// 变更成撤回,前置条件为 审批中
|
||||
return List.of(ApproveStatusEnum.APPROVING.getValue());
|
||||
} else {
|
||||
// 其他情况,前置条件为 草稿
|
||||
return List.of(ApproveStatusEnum.DRAFT.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
package org.springblade.process.pojo.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 待办状态枚举
|
||||
* @author bfhuange
|
||||
* @date 2024/9/20
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum TodoStatus {
|
||||
/**
|
||||
* 待办
|
||||
*/
|
||||
TODO("todo", "待办"),
|
||||
/**
|
||||
* 已办
|
||||
*/
|
||||
DONE("done", "已办"),
|
||||
/**
|
||||
* 身份重复跳过
|
||||
*/
|
||||
SKIP("skip", "身份重复跳过"),
|
||||
;
|
||||
|
||||
/**
|
||||
* 待办状态编码
|
||||
*/
|
||||
private final String code;
|
||||
/**
|
||||
* 待办状态名称
|
||||
*/
|
||||
private final String name;
|
||||
}
|
||||
+177
@@ -0,0 +1,177 @@
|
||||
package org.springblade.process.pojo.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springblade.core.tool.utils.DateUtil;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author bfhuange
|
||||
* @since 2025/4/2
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "mk审批中心记录")
|
||||
public class ApprovalVO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Schema(description = "id")
|
||||
private String id;
|
||||
/**
|
||||
* 流程所属应用
|
||||
*/
|
||||
@Schema(description = "流程所属应用")
|
||||
private String appName;
|
||||
/**
|
||||
* 申请人名称
|
||||
*/
|
||||
@Schema(description = "申请人名称")
|
||||
private String applicantName;
|
||||
/**
|
||||
* 申请人登录名
|
||||
*/
|
||||
@Schema(description = "申请人登录名")
|
||||
private String applicantLoginName;
|
||||
/**
|
||||
* 发起人名称
|
||||
*/
|
||||
@Schema(description = "发起人名称")
|
||||
private String creator;
|
||||
/**
|
||||
* 处理人名称
|
||||
*/
|
||||
@Schema(description = "处理人名称")
|
||||
private String handlerName;
|
||||
/**
|
||||
* 处理人登录名
|
||||
*/
|
||||
@Schema(description = "处理人登录名")
|
||||
private String handlerLoginName;
|
||||
/**
|
||||
* 当前处理人名称
|
||||
*/
|
||||
@Schema(description = "当前处理人名称")
|
||||
private String currentHandler;
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
@Schema(description = "节点名称")
|
||||
private String nodeName;
|
||||
/**
|
||||
* 流程id
|
||||
*/
|
||||
@Schema(description = "流程id")
|
||||
private String processId;
|
||||
/**
|
||||
* 流程发起时间
|
||||
*/
|
||||
@Schema(description = "流程发起时间")
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME, timezone = "GMT+8")
|
||||
private Date startTime;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME, timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
/**
|
||||
* 如果是待办:待办接收时间 如果是待阅:传阅接收时间
|
||||
*/
|
||||
@Schema(description = "如果是待办:待办接收时间 如果是待阅:传阅接收时间")
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME, timezone = "GMT+8")
|
||||
private Date receiveTime;
|
||||
/**
|
||||
* 任务结束时间
|
||||
*/
|
||||
@Schema(description = "任务结束时间")
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME, timezone = "GMT+8")
|
||||
private Date finishTime;
|
||||
/**
|
||||
* 阅读时间(待阅任务)
|
||||
*/
|
||||
@Schema(description = "阅读时间(待阅任务)")
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME, timezone = "GMT+8")
|
||||
private Date readTime;
|
||||
/**
|
||||
* 最后处理时间(待审任务)
|
||||
*/
|
||||
@Schema(description = "最后处理时间(待审任务)")
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME, timezone = "GMT+8")
|
||||
private Date lastHandleTime;
|
||||
/**
|
||||
* 流程结束时间
|
||||
*/
|
||||
@Schema(description = "流程结束时间")
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME, timezone = "GMT+8")
|
||||
private Date processFinishTime;
|
||||
/**
|
||||
* 流程状态 00 – 废弃、10 – 草稿、11 – 驳回 20 – 待审、21 – 异常、40 – 挂起 30 – 结束
|
||||
*/
|
||||
@Schema(description = "流程状态 00 – 废弃、10 – 草稿、11 – 驳回 20 – 待审、21 – 异常、40 – 挂起 30 – 结束")
|
||||
private String status;
|
||||
/**
|
||||
* 流程状态名称
|
||||
*/
|
||||
@Schema(description = "流程状态名称")
|
||||
private String statusStr;
|
||||
/**
|
||||
* 流程主题
|
||||
*/
|
||||
@Schema(description = "流程主题")
|
||||
private String subject;
|
||||
/**
|
||||
* 模板编码
|
||||
*/
|
||||
@Schema(description = "模板编码")
|
||||
private String templateCode;
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@Schema(description = "任务id")
|
||||
private String taskId;
|
||||
/**
|
||||
* 任务状态 20 - 激活、30 - 结束、40 - 挂起、50 - 自动跳过
|
||||
*/
|
||||
@Schema(description = "任务状态 20 - 激活、30 - 结束、40 - 挂起、50 - 自动跳过")
|
||||
private String taskStatus;
|
||||
/**
|
||||
* 任务标题
|
||||
*/
|
||||
@Schema(description = "任务标题")
|
||||
private String taskSubject;
|
||||
/**
|
||||
* 催办标记
|
||||
*/
|
||||
@Schema(description = "催办标记")
|
||||
private String urgeTab;
|
||||
/**
|
||||
* 任务类型 1待办,2待阅
|
||||
*/
|
||||
@Schema(description = "任务类型 1待办,2待阅")
|
||||
private Integer taskType;
|
||||
/**
|
||||
* 待办优先级
|
||||
*/
|
||||
@Schema(description = "待办优先级")
|
||||
private Integer level;
|
||||
/**
|
||||
* 模板名称中文
|
||||
*/
|
||||
@Schema(description = "模板名称中文")
|
||||
private String templateNameCn;
|
||||
}
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
package org.springblade.process.pojo.vo;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author bfhuange
|
||||
* @date 2024/9/23
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "BusinessProcessListVO")
|
||||
public class BusinessProcessListVO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@Schema(description = "主键")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 业务id
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@Schema(description = "业务id")
|
||||
private Long bizId;
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@Schema(description = "流程实例id")
|
||||
private String processInstanceId;
|
||||
/**
|
||||
* 流程类型
|
||||
*/
|
||||
@Schema(description = "审批类型")
|
||||
private String processType;
|
||||
/**
|
||||
* 流程类型名称
|
||||
*/
|
||||
@Schema(description = "审批类型名称")
|
||||
private String processTypeStr;
|
||||
/**
|
||||
* 文档编号
|
||||
*/
|
||||
@Schema(description = "审批单号")
|
||||
private String docCode;
|
||||
/**
|
||||
* 发起人id
|
||||
*/
|
||||
@Schema(description = "发起人id")
|
||||
private Long promoterId;
|
||||
/**
|
||||
* 发起人名称
|
||||
*/
|
||||
@Schema(description = "发起人名称")
|
||||
private String promoterName;
|
||||
/**
|
||||
* 提交时间
|
||||
*/
|
||||
@Schema(description = "提交时间")
|
||||
private Date submitTime;
|
||||
/**
|
||||
* 接收时间
|
||||
*/
|
||||
@Schema(description = "接收时间")
|
||||
private Date receiveTime;
|
||||
/**
|
||||
* 完成时间
|
||||
*/
|
||||
@Schema(description = "完成时间")
|
||||
private Date completeTime;
|
||||
/**
|
||||
* 当前节点id,多个用逗号拼接
|
||||
*/
|
||||
@Schema(description = "当前节点id,多个用逗号拼接")
|
||||
private String currentNodeIds;
|
||||
/**
|
||||
* 当前节点名称,多个用逗号拼接
|
||||
*/
|
||||
@Schema(description = "当前节点名称,多个用逗号拼接")
|
||||
private String currentNodeNames;
|
||||
/**
|
||||
* 当前处理人,多个用逗号拼接
|
||||
*/
|
||||
@Schema(description = "当前处理人,多个用逗号拼接")
|
||||
private String currentHandlers;
|
||||
/**
|
||||
* 是否已完成(0:未完成, 1:已完成)
|
||||
*/
|
||||
@Schema(description = "是否已完成(0:未完成, 1:已完成)")
|
||||
private Integer isCompleted;
|
||||
/**
|
||||
* 审批状态
|
||||
*/
|
||||
@Schema(description = "审批状态")
|
||||
private String approveStatus;
|
||||
/**
|
||||
* 审批状态名称
|
||||
*/
|
||||
@Schema(description = "审批状态名称")
|
||||
private String approveStatusStr;
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
package org.springblade.process.pojo.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author bfhuange
|
||||
* @date 2024/9/20
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "BusinessProcessVO")
|
||||
public class BusinessProcessVO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
private String processInstanceId;
|
||||
/**
|
||||
* 当前节点id,多个用逗号拼接
|
||||
*/
|
||||
@Schema(description = "当前节点id,多个用逗号拼接")
|
||||
private String currentNodeIds;
|
||||
/**
|
||||
* 当前节点名称,多个用逗号拼接
|
||||
*/
|
||||
@Schema(description = "当前节点名称,多个用逗号拼接")
|
||||
private String currentNodeNames;
|
||||
/**
|
||||
* 当前处理人,多个用逗号拼接
|
||||
*/
|
||||
@Schema(description = "当前处理人,多个用逗号拼接")
|
||||
private String currentHandlers;
|
||||
/**
|
||||
* 接收时间
|
||||
*/
|
||||
@Schema(description = "接收时间")
|
||||
private Date receiveTime;
|
||||
}
|
||||
+110
@@ -0,0 +1,110 @@
|
||||
package org.springblade.process.pojo.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springblade.core.tool.utils.DateUtil;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author bfhuange
|
||||
* @since 2025/2/24
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "流程审批记录")
|
||||
public class ProcessApprovedRecordVO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 记录主键
|
||||
*/
|
||||
@Schema(description = "id")
|
||||
private String id;
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@Schema(description = "处理人")
|
||||
private String handler;
|
||||
/**
|
||||
* 操作
|
||||
*/
|
||||
@Schema(description = "操作")
|
||||
private String action;
|
||||
/**
|
||||
* 操作编码
|
||||
*/
|
||||
@Schema(description = "操作编码")
|
||||
private String actionCode;
|
||||
/**
|
||||
* 操作描述(系统操作)
|
||||
*/
|
||||
@Schema(description = "操作描述(系统操作)")
|
||||
private String actionDesc;
|
||||
/**
|
||||
* 操作名称
|
||||
*/
|
||||
@Schema(description = "操作名称")
|
||||
private String actionName;
|
||||
/**
|
||||
* 处理意见
|
||||
*/
|
||||
@Schema(description = "处理意见")
|
||||
private String message;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@Schema(description = "创建时间")
|
||||
private Date createTime;
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@Schema(description = "流程实例id")
|
||||
private String processInstanceId;
|
||||
/**
|
||||
* 节点实例id
|
||||
*/
|
||||
@Schema(description = "节点实例id")
|
||||
private String nodeInstanceId;
|
||||
/**
|
||||
* 节点类型
|
||||
*/
|
||||
@Schema(description = "节点类型")
|
||||
private String nodeType;
|
||||
/**
|
||||
* 节点id
|
||||
*/
|
||||
@Schema(description = "节点id")
|
||||
private String nodeId;
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
@Schema(description = "节点名称")
|
||||
private String nodeName;
|
||||
/**
|
||||
* 节点编号
|
||||
*/
|
||||
@Schema(description = "节点编号")
|
||||
private String nodeNumber;
|
||||
/**
|
||||
* 抄送人列表
|
||||
*/
|
||||
@Schema(description = "抄送人列表")
|
||||
private List<String> senders;
|
||||
/**
|
||||
* 附件参数
|
||||
*/
|
||||
@Schema(description = "附件参数")
|
||||
private List<ProcessAttachmentVO> attachmentParameter;
|
||||
/**
|
||||
* 流程附言
|
||||
*/
|
||||
@Schema(description = "流程附言")
|
||||
private List<ProcessCommentVO> processComments;
|
||||
}
|
||||
+43
@@ -0,0 +1,43 @@
|
||||
package org.springblade.process.pojo.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author bfhuange
|
||||
* @since 2025/2/24
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "流程附件")
|
||||
public class ProcessAttachmentVO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Schema(description = "id")
|
||||
private String id;
|
||||
/**
|
||||
* 附件名称
|
||||
*/
|
||||
@Schema(description = "附件名称")
|
||||
private String name;
|
||||
/**
|
||||
* 附件类型 electronicSign 电子签名,attachment 附件
|
||||
*/
|
||||
@Schema(description = "附件类型 electronicSign 电子签名,attachment 附件")
|
||||
private String type;
|
||||
/**
|
||||
* 附件ID
|
||||
*/
|
||||
@Schema(description = "附件ID")
|
||||
private String fileId;
|
||||
/**
|
||||
* base64
|
||||
*/
|
||||
@Schema(description = "base64")
|
||||
private String base64;
|
||||
}
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
package org.springblade.process.pojo.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springblade.core.tool.utils.DateUtil;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流程附言
|
||||
* @author bfhuange
|
||||
* @since 2025/2/24
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "流程附言")
|
||||
public class ProcessCommentVO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@Schema(description = "id")
|
||||
private String id;
|
||||
/**
|
||||
* 附言内容
|
||||
*/
|
||||
@Schema(description = "附言内容")
|
||||
private String content;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@Schema(description = "创建时间")
|
||||
private Date createTime;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
|
||||
@Schema(description = "更新时间")
|
||||
private Date updateTime;
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@Schema(description = "用户id")
|
||||
private String userId;
|
||||
/**
|
||||
* 用户名称
|
||||
*/
|
||||
@Schema(description = "用户名称")
|
||||
private String userName;
|
||||
/**
|
||||
* 附言附件
|
||||
*/
|
||||
@Schema(description = "附言附件")
|
||||
private List<ProcessAttachmentVO> attachments;
|
||||
}
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
package org.springblade.process.pojo.vo;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author bfhuange
|
||||
* @since 2025/3/10
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "流程待办")
|
||||
public class ProcessTodoVO implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
@Schema(description = "主键")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@Schema(description = "流程实例id")
|
||||
private String processInstanceId;
|
||||
/**
|
||||
* 节点id
|
||||
*/
|
||||
@Schema(description = "节点id")
|
||||
private String nodeId;
|
||||
/**
|
||||
* 节点编号
|
||||
*/
|
||||
@Schema(description = "节点编号")
|
||||
private String nodeNumber;
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
@Schema(description = "节点名称")
|
||||
private String nodeName;
|
||||
/**
|
||||
* mk登录名
|
||||
*/
|
||||
@Schema(description = "mk登录名")
|
||||
private String loginName;
|
||||
/**
|
||||
* 用户姓名
|
||||
*/
|
||||
@Schema(description = "用户姓名")
|
||||
private String userName;
|
||||
/**
|
||||
* 状态(todo:待办,done:已办,skip:身份重复跳过)
|
||||
*/
|
||||
@Schema(description = "状态(todo:待办,done:已办,skip:身份重复跳过)")
|
||||
private String status;
|
||||
/**
|
||||
* 接收时间
|
||||
*/
|
||||
@Schema(description = "接收时间")
|
||||
private Date receiveTime;
|
||||
/**
|
||||
* 操作时间
|
||||
*/
|
||||
@Schema(description = "操作时间")
|
||||
private Date operationTime;
|
||||
/**
|
||||
* 操作名称
|
||||
*/
|
||||
@Schema(description = "操作名称")
|
||||
private String operationName;
|
||||
}
|
||||
@@ -25,6 +25,7 @@
|
||||
<module>blade-record-api</module>
|
||||
<module>blade-file-api</module>
|
||||
<module>blade-open-api</module>
|
||||
<module>blade-process-api</module>
|
||||
</modules>
|
||||
|
||||
<dependencies>
|
||||
|
||||
Reference in New Issue
Block a user