流程管理新增
This commit is contained in:
@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
/**
|
||||
* 流程实例 Api 接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.BPM,path = "/bpm/processDefinition",fallbackFactory = BpmProcessFeignClientFallbackFactory.class)
|
||||
public interface BpmProcessFeignClient {
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.Getter;
|
||||
/**
|
||||
* 流程实例/任务的删除原因枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.util.Arrays;
|
||||
/**
|
||||
* BPM 模型的表单类型的枚举
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.util.Arrays;
|
||||
/**
|
||||
* 流程实例 ProcessInstance 的状态
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
|
||||
@@ -44,19 +44,25 @@ public enum BpmResponseEnum {
|
||||
|
||||
REPEAT_CATEGORY_NAME_FORM("A00568", "流程类型名称重复"),
|
||||
|
||||
PROCESS_INSTANCE_NOT_EXISTS ("A00568", "流程实例不存在"),
|
||||
REPEAT_CATEGORY_CODE_FORM("A00568", "流程类型编码重复"),
|
||||
|
||||
TASK_IS_PENDING ("A00568", "当前任务处于挂起状态,不能操作"),
|
||||
REPEAT_SIGN_NAME_FORM("A00568", "流程标识名称重复"),
|
||||
|
||||
TASK_TARGET_NODE_NOT_EXISTS ("A00568", " 目标节点不存在"),
|
||||
REPEAT_SIGN_KEY_FORM("A00568", "流程标识key重复"),
|
||||
|
||||
TASK_RETURN_FAIL_SOURCE_TARGET_ERROR ("A00568", "回退任务失败,目标节点是在并行网关上或非同一路线上,不可跳转"),
|
||||
PROCESS_INSTANCE_NOT_EXISTS("A00568", "流程实例不存在"),
|
||||
|
||||
TASK_IS_PENDING("A00568", "当前任务处于挂起状态,不能操作"),
|
||||
|
||||
TASK_TARGET_NODE_NOT_EXISTS("A00568", " 目标节点不存在"),
|
||||
|
||||
TASK_RETURN_FAIL_SOURCE_TARGET_ERROR("A00568", "回退任务失败,目标节点是在并行网关上或非同一路线上,不可跳转"),
|
||||
|
||||
PROCESS_INSTANCE_CANCEL_FAIL_NOT_EXISTS("A00568", "流程取消失败,流程不处于运行中"),
|
||||
|
||||
TASK_DELEGATE_FAIL_USER_REPEAT("A00568", "任务委派失败,委派人和当前审批人为同一人"),
|
||||
TASK_DELEGATE_FAIL_USER_REPEAT("A00568", "任务委派失败,委派人和当前审批人为同一人"),
|
||||
|
||||
TASK_DELEGATE_FAIL_USER_NOT_EXISTS("A00568", "任务委派失败,被委派人不存在"),
|
||||
TASK_DELEGATE_FAIL_USER_NOT_EXISTS("A00568", "任务委派失败,被委派人不存在"),
|
||||
|
||||
TASK_TRANSFER_FAIL_USER_REPEAT("A00568", "任务转办失败,转办人和当前审批人为同一人"),
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import lombok.Getter;
|
||||
*
|
||||
* 例如说:分配给指定人审批
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.njcn.bpm.enums;
|
||||
/**
|
||||
* BPMN XML 常量信息
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public interface BpmnModelConstants {
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ package com.njcn.bpm.enums;
|
||||
* 虽然说,HTTP 响应状态码作为业务使用表达能力偏弱,但是使用在系统层面还是非常不错的
|
||||
* 比较特殊的是,因为之前一直使用 0 作为成功,就不使用 200 啦。
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public interface GlobalErrorCodeConstants {
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.njcn.bpm.enums;
|
||||
/**
|
||||
* 可生成 Int 数组的接口
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public interface IntArrayValuable {
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ package com.njcn.bpm.enums;
|
||||
*
|
||||
* 考虑到每个 starter 都需要用到该工具类,所以放到 common 模块下的 enums 包下
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public interface WebFilterOrderEnum {
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import lombok.Data;
|
||||
* 主要用于 { Model#setMetaInfo(String)} 的存储
|
||||
*
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@Data
|
||||
public class BpmModelMetaInfoRespDTO {
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.io.Serializable;
|
||||
/**
|
||||
* BPM 流程分类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@Data
|
||||
public class BpmCategoryParam implements Serializable {
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
package com.njcn.bpm.pojo.param;
|
||||
|
||||
import com.njcn.common.pojo.constant.PatternRegex;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import com.njcn.web.constant.ValidMessage;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* BPM 流程标识
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2024-05-13
|
||||
*/
|
||||
@Data
|
||||
public class BpmSignParam extends BaseEntity implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* 流程名称
|
||||
*/
|
||||
@ApiModelProperty("流程名称")
|
||||
@NotBlank(message = "流程名称不能为空")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 流程标识key
|
||||
*/
|
||||
@ApiModelProperty("流程标识key")
|
||||
@NotBlank(message = "流程标识key不能为空")
|
||||
private String signKey;
|
||||
|
||||
/**
|
||||
* 流程查看表单路径
|
||||
*/
|
||||
@ApiModelProperty("流程查看表单路径")
|
||||
@NotBlank(message = "流程查看表单路径不能为空")
|
||||
private String viewPath;
|
||||
|
||||
/**
|
||||
* 流程创建表单路径
|
||||
*/
|
||||
@ApiModelProperty("流程创建表单路径")
|
||||
private String createPath;
|
||||
|
||||
|
||||
/**
|
||||
* 更新操作实体
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public static class BpmSignUpdateParam extends BpmSignParam {
|
||||
|
||||
/**
|
||||
* 表Id
|
||||
*/
|
||||
@ApiModelProperty("id")
|
||||
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
|
||||
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
|
||||
private String id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询实体
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public static class BpmSignQueryParam extends BaseParam {
|
||||
|
||||
|
||||
@ApiModelProperty("标识名称")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty("标识key")
|
||||
private String key;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -14,7 +14,7 @@ import java.io.Serializable;
|
||||
/**
|
||||
* BPM 流程分类 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@TableName("bpm_category")
|
||||
@Data
|
||||
|
||||
@@ -17,7 +17,7 @@ import java.util.List;
|
||||
* BPM 工作流的表单定义
|
||||
* 用于工作流的申请表单,需要动态配置的场景
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@TableName(value = "bpm_form", autoResultMap = true)
|
||||
@Data
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
package com.njcn.bpm.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* BPM 流程标识
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2024-05-13
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("bpm_sign")
|
||||
public class BpmSign extends BaseEntity implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 流程标识索引
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 流程名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 流程标识key
|
||||
*/
|
||||
private String signKey;
|
||||
|
||||
/**
|
||||
* 流程查看表单路径
|
||||
*/
|
||||
private String viewPath;
|
||||
|
||||
/**
|
||||
* 流程创建表单路径
|
||||
*/
|
||||
private String createPath;
|
||||
|
||||
/**
|
||||
* 状态:0-删除 1-正常
|
||||
*/
|
||||
private Integer state;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -1,13 +1,15 @@
|
||||
package com.njcn.bpm.pojo.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* BPM 流程分类 DO
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@Data
|
||||
public class BpmCategoryVO implements Serializable {
|
||||
@@ -37,5 +39,10 @@ public class BpmCategoryVO implements Serializable {
|
||||
*/
|
||||
private Integer sort;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.njcn.bpm.pojo.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* BPM 流程标识
|
||||
* </p>
|
||||
*
|
||||
* @author hongawen
|
||||
* @since 2024-05-13
|
||||
*/
|
||||
@Data
|
||||
public class BpmSignVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 流程标识索引
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 流程名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 流程标识key
|
||||
*/
|
||||
private String signKey;
|
||||
|
||||
/**
|
||||
* 流程查看表单路径
|
||||
*/
|
||||
private String viewPath;
|
||||
|
||||
/**
|
||||
* 流程创建表单路径
|
||||
*/
|
||||
private String createPath;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -13,7 +13,7 @@ import java.util.function.Consumer;
|
||||
* 1. 默认使用 {@link BeanUtil} 作为实现类,虽然不同 bean 工具的性能有差别,但是对绝大多数同学的项目,不用在意这点性能
|
||||
* 2. 针对复杂的对象转换,可以搜参考 AuthConvert 实现,通过 mapstruct + default 配合实现
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public class BeanUtils {
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Date;
|
||||
/**
|
||||
* 时间工具类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public class DateUtils {
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.io.Serializable;
|
||||
/**
|
||||
* Key Value 的键值对
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
|
||||
@@ -15,7 +15,7 @@ import java.util.function.Consumer;
|
||||
/**
|
||||
* Map 工具类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public class MapUtils {
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.math.BigDecimal;
|
||||
/**
|
||||
* 数字的工具类,补全 {@link NumberUtil} 的功能
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public class NumberUtils {
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.function.Consumer;
|
||||
/**
|
||||
* Object 工具类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public class ObjectUtils {
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.regex.Pattern;
|
||||
/**
|
||||
* 校验工具类
|
||||
*
|
||||
* @author 芋道源码
|
||||
* @author hongawen
|
||||
*/
|
||||
public class ValidationUtils {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user