From fc2f2d767aed28216f10f3757bf4e60306f610b9 Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Mon, 13 May 2024 21:12:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=AE=A1=E7=90=86=E6=96=B0?= =?UTF-8?q?=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/bpm/api/BpmProcessFeignClient.java | 2 +- .../njcn/bpm/enums/BpmDeleteReasonEnum.java | 2 +- .../njcn/bpm/enums/BpmModelFormTypeEnum.java | 2 +- .../enums/BpmProcessInstanceStatusEnum.java | 2 +- .../com/njcn/bpm/enums/BpmResponseEnum.java | 18 ++- .../enums/BpmTaskCandidateStrategyEnum.java | 2 +- .../njcn/bpm/enums/BpmnModelConstants.java | 2 +- .../bpm/enums/GlobalErrorCodeConstants.java | 2 +- .../com/njcn/bpm/enums/IntArrayValuable.java | 2 +- .../njcn/bpm/enums/WebFilterOrderEnum.java | 2 +- .../bpm/pojo/dto/BpmModelMetaInfoRespDTO.java | 2 +- .../njcn/bpm/pojo/param/BpmCategoryParam.java | 2 +- .../com/njcn/bpm/pojo/param/BpmSignParam.java | 92 +++++++++++++ .../com/njcn/bpm/pojo/po/BpmCategory.java | 2 +- .../java/com/njcn/bpm/pojo/po/BpmForm.java | 2 +- .../java/com/njcn/bpm/pojo/po/BpmSign.java | 57 ++++++++ .../com/njcn/bpm/pojo/vo/BpmCategoryVO.java | 9 +- .../java/com/njcn/bpm/pojo/vo/BpmSignVO.java | 61 +++++++++ .../java/com/njcn/bpm/utils/BeanUtils.java | 2 +- .../java/com/njcn/bpm/utils/DateUtils.java | 2 +- .../java/com/njcn/bpm/utils/KeyValue.java | 2 +- .../java/com/njcn/bpm/utils/MapUtils.java | 2 +- .../java/com/njcn/bpm/utils/NumberUtils.java | 2 +- .../java/com/njcn/bpm/utils/ObjectUtils.java | 2 +- .../com/njcn/bpm/utils/ValidationUtils.java | 2 +- .../behavior/BpmActivityBehaviorFactory.java | 2 +- .../BpmSequentialMultiInstanceBehavior.java | 2 +- .../behavior/BpmUserTaskActivityBehavior.java | 2 +- .../njcn/bpm/config/BpmWebConfiguration.java | 2 +- .../com/njcn/bpm/constant/BpmConstants.java | 2 +- .../bpm/controller/BpmSignController.java | 113 ++++++++++++++++ .../BpmProcessInstanceEventPublisher.java | 2 +- .../BpmProcessInstanceStatusEvent.java | 2 +- ...BpmProcessInstanceStatusEventListener.java | 2 +- .../njcn/bpm/mapper/BpmCategoryMapper.java | 1 - .../com/njcn/bpm/mapper/BpmSignMapper.java | 21 +++ .../bpm/mapper/mapping/BpmCategoryMapper.xml | 2 +- .../njcn/bpm/mapper/mapping/BpmSignMapper.xml | 19 +++ .../njcn/bpm/service/IBpmCategoryService.java | 1 - .../service/IBpmProcessDefinitionService.java | 2 +- .../com/njcn/bpm/service/IBpmSignService.java | 30 ++++ .../service/impl/BpmCategoryServiceImpl.java | 6 +- .../bpm/service/impl/BpmModelServiceImpl.java | 2 +- .../impl/BpmProcessDefinitionServiceImpl.java | 2 +- .../bpm/service/impl/BpmSignServiceImpl.java | 128 ++++++++++++++++++ .../bpm/service/task/IBpmActivityService.java | 2 +- .../task/IBpmProcessInstanceService.java | 2 +- .../bpm/service/task/IBpmTaskService.java | 2 +- .../task/impl/BpmActivityServiceImpl.java | 2 +- .../impl/BpmProcessInstanceServiceImpl.java | 2 +- .../service/task/impl/BpmTaskServiceImpl.java | 2 +- .../bpm/strategy/BpmTaskCandidateInvoker.java | 2 +- ...mTaskCandidateStartUserSelectStrategy.java | 2 +- .../strategy/IBpmTaskCandidateStrategy.java | 2 +- .../njcn/bpm/utils/BpmActivityConvert.java | 2 +- .../bpm/utils/BpmProcessInstanceConvert.java | 2 +- .../com/njcn/bpm/utils/BpmTaskConvert.java | 2 +- .../com/njcn/bpm/utils/FlowableUtils.java | 2 +- .../java/com/njcn/bpm/utils/JsonUtils.java | 2 +- .../java/com/njcn/bpm/utils/StrUtils.java | 2 +- .../com/njcn/autocode/utils/GenerateCode.java | 8 +- .../api/UserReportFeignClient.java | 2 +- 62 files changed, 596 insertions(+), 64 deletions(-) create mode 100644 pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/BpmSignParam.java create mode 100644 pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmSign.java create mode 100644 pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/BpmSignVO.java create mode 100644 pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmSignController.java create mode 100644 pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/mapper/BpmSignMapper.java create mode 100644 pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/mapper/mapping/BpmSignMapper.xml create mode 100644 pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/IBpmSignService.java create mode 100644 pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/impl/BpmSignServiceImpl.java diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/BpmProcessFeignClient.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/BpmProcessFeignClient.java index 1a541a1d9..769fbf607 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/BpmProcessFeignClient.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/api/BpmProcessFeignClient.java @@ -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 { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmDeleteReasonEnum.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmDeleteReasonEnum.java index 06a9e8af7..c2755bb29 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmDeleteReasonEnum.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmDeleteReasonEnum.java @@ -7,7 +7,7 @@ import lombok.Getter; /** * 流程实例/任务的删除原因枚举 * - * @author 芋道源码 + * @author hongawen */ @Getter @AllArgsConstructor diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmModelFormTypeEnum.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmModelFormTypeEnum.java index fb2d0e433..19e77b13d 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmModelFormTypeEnum.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmModelFormTypeEnum.java @@ -8,7 +8,7 @@ import java.util.Arrays; /** * BPM 模型的表单类型的枚举 * - * @author 芋道源码 + * @author hongawen */ @Getter @AllArgsConstructor diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmProcessInstanceStatusEnum.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmProcessInstanceStatusEnum.java index 7df2dd49b..e87592808 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmProcessInstanceStatusEnum.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmProcessInstanceStatusEnum.java @@ -8,7 +8,7 @@ import java.util.Arrays; /** * 流程实例 ProcessInstance 的状态 * - * @author 芋道源码 + * @author hongawen */ @Getter @AllArgsConstructor diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmResponseEnum.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmResponseEnum.java index 43aa29794..b1839e062 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmResponseEnum.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmResponseEnum.java @@ -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", "任务转办失败,转办人和当前审批人为同一人"), diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmTaskCandidateStrategyEnum.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmTaskCandidateStrategyEnum.java index 83af136a4..c26a23671 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmTaskCandidateStrategyEnum.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmTaskCandidateStrategyEnum.java @@ -9,7 +9,7 @@ import lombok.Getter; * * 例如说:分配给指定人审批 * - * @author 芋道源码 + * @author hongawen */ @Getter @AllArgsConstructor diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmnModelConstants.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmnModelConstants.java index b0be6c9ae..39101325a 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmnModelConstants.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/BpmnModelConstants.java @@ -3,7 +3,7 @@ package com.njcn.bpm.enums; /** * BPMN XML 常量信息 * - * @author 芋道源码 + * @author hongawen */ public interface BpmnModelConstants { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/GlobalErrorCodeConstants.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/GlobalErrorCodeConstants.java index dbceebc14..319cf69fa 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/GlobalErrorCodeConstants.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/GlobalErrorCodeConstants.java @@ -9,7 +9,7 @@ package com.njcn.bpm.enums; * 虽然说,HTTP 响应状态码作为业务使用表达能力偏弱,但是使用在系统层面还是非常不错的 * 比较特殊的是,因为之前一直使用 0 作为成功,就不使用 200 啦。 * - * @author 芋道源码 + * @author hongawen */ public interface GlobalErrorCodeConstants { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/IntArrayValuable.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/IntArrayValuable.java index dcec39b47..dd0ad54ed 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/IntArrayValuable.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/IntArrayValuable.java @@ -3,7 +3,7 @@ package com.njcn.bpm.enums; /** * 可生成 Int 数组的接口 * - * @author 芋道源码 + * @author hongawen */ public interface IntArrayValuable { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/WebFilterOrderEnum.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/WebFilterOrderEnum.java index 28197e7fa..eb87abc00 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/WebFilterOrderEnum.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/enums/WebFilterOrderEnum.java @@ -5,7 +5,7 @@ package com.njcn.bpm.enums; * * 考虑到每个 starter 都需要用到该工具类,所以放到 common 模块下的 enums 包下 * - * @author 芋道源码 + * @author hongawen */ public interface WebFilterOrderEnum { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/dto/BpmModelMetaInfoRespDTO.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/dto/BpmModelMetaInfoRespDTO.java index 6570a2f4c..d89e20105 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/dto/BpmModelMetaInfoRespDTO.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/dto/BpmModelMetaInfoRespDTO.java @@ -7,7 +7,7 @@ import lombok.Data; * 主要用于 { Model#setMetaInfo(String)} 的存储 * * - * @author 芋道源码 + * @author hongawen */ @Data public class BpmModelMetaInfoRespDTO { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/BpmCategoryParam.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/BpmCategoryParam.java index 0961bb217..781957401 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/BpmCategoryParam.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/BpmCategoryParam.java @@ -14,7 +14,7 @@ import java.io.Serializable; /** * BPM 流程分类 * - * @author 芋道源码 + * @author hongawen */ @Data public class BpmCategoryParam implements Serializable { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/BpmSignParam.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/BpmSignParam.java new file mode 100644 index 000000000..18890988a --- /dev/null +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/param/BpmSignParam.java @@ -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; + +/** + *
+ * BPM 流程标识 + *
+ * + * @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; + + } + + + + +} diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmCategory.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmCategory.java index 5d22181fa..6ecd23ec8 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmCategory.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmCategory.java @@ -14,7 +14,7 @@ import java.io.Serializable; /** * BPM 流程分类 DO * - * @author 芋道源码 + * @author hongawen */ @TableName("bpm_category") @Data diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmForm.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmForm.java index 5f7bd58a2..81855b48d 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmForm.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmForm.java @@ -17,7 +17,7 @@ import java.util.List; * BPM 工作流的表单定义 * 用于工作流的申请表单,需要动态配置的场景 * - * @author 芋道源码 + * @author hongawen */ @TableName(value = "bpm_form", autoResultMap = true) @Data diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmSign.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmSign.java new file mode 100644 index 000000000..fcf358d93 --- /dev/null +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/po/BpmSign.java @@ -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; + +/** + *+ * BPM 流程标识 + *
+ * + * @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; + + + +} diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/BpmCategoryVO.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/BpmCategoryVO.java index 1da698994..3426b8cd1 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/BpmCategoryVO.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/BpmCategoryVO.java @@ -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; } \ No newline at end of file diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/BpmSignVO.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/BpmSignVO.java new file mode 100644 index 000000000..2c02a1357 --- /dev/null +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/BpmSignVO.java @@ -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; + +/** + *+ * BPM 流程标识 + *
+ * + * @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; + + + +} diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/BeanUtils.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/BeanUtils.java index f4d6becbf..75ee00158 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/BeanUtils.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/BeanUtils.java @@ -13,7 +13,7 @@ import java.util.function.Consumer; * 1. 默认使用 {@link BeanUtil} 作为实现类,虽然不同 bean 工具的性能有差别,但是对绝大多数同学的项目,不用在意这点性能 * 2. 针对复杂的对象转换,可以搜参考 AuthConvert 实现,通过 mapstruct + default 配合实现 * - * @author 芋道源码 + * @author hongawen */ public class BeanUtils { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/DateUtils.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/DateUtils.java index 6000f7f2c..adaf4aeb6 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/DateUtils.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/DateUtils.java @@ -9,7 +9,7 @@ import java.util.Date; /** * 时间工具类 * - * @author 芋道源码 + * @author hongawen */ public class DateUtils { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/KeyValue.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/KeyValue.java index 1e6472f16..807f4cd8d 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/KeyValue.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/KeyValue.java @@ -9,7 +9,7 @@ import java.io.Serializable; /** * Key Value 的键值对 * - * @author 芋道源码 + * @author hongawen */ @Data @NoArgsConstructor diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/MapUtils.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/MapUtils.java index 78a3f6c85..a0a2e4735 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/MapUtils.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/MapUtils.java @@ -15,7 +15,7 @@ import java.util.function.Consumer; /** * Map 工具类 * - * @author 芋道源码 + * @author hongawen */ public class MapUtils { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/NumberUtils.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/NumberUtils.java index f5a927f34..e4912a12a 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/NumberUtils.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/NumberUtils.java @@ -8,7 +8,7 @@ import java.math.BigDecimal; /** * 数字的工具类,补全 {@link NumberUtil} 的功能 * - * @author 芋道源码 + * @author hongawen */ public class NumberUtils { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/ObjectUtils.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/ObjectUtils.java index 164548068..533cb7bc9 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/ObjectUtils.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/ObjectUtils.java @@ -10,7 +10,7 @@ import java.util.function.Consumer; /** * Object 工具类 * - * @author 芋道源码 + * @author hongawen */ public class ObjectUtils { diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/ValidationUtils.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/ValidationUtils.java index 88f9bb622..0ad58cba1 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/ValidationUtils.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/utils/ValidationUtils.java @@ -14,7 +14,7 @@ import java.util.regex.Pattern; /** * 校验工具类 * - * @author 芋道源码 + * @author hongawen */ public class ValidationUtils { diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmActivityBehaviorFactory.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmActivityBehaviorFactory.java index 5b1377f3c..39343dd56 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmActivityBehaviorFactory.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmActivityBehaviorFactory.java @@ -14,7 +14,7 @@ import org.flowable.engine.impl.bpmn.parser.factory.DefaultActivityBehaviorFacto * 自定义的 ActivityBehaviorFactory 实现类,目的如下: * 1. 自定义 {@link #createUserTaskActivityBehavior(UserTask)}:实现自定义的流程任务的 assignee 负责人的分配 * - * @author 芋道源码 + * @author hongawen */ @Setter public class BpmActivityBehaviorFactory extends DefaultActivityBehaviorFactory { diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmSequentialMultiInstanceBehavior.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmSequentialMultiInstanceBehavior.java index bf8211dda..71b9bf111 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmSequentialMultiInstanceBehavior.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmSequentialMultiInstanceBehavior.java @@ -18,7 +18,7 @@ import java.util.Set; * * 本质上,实现和 {@link BpmParallelMultiInstanceBehavior} 一样,只是继承的类不一样 * - * @author 芋道源码 + * @author hongawen */ @Setter public class BpmSequentialMultiInstanceBehavior extends SequentialMultiInstanceBehavior { diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmUserTaskActivityBehavior.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmUserTaskActivityBehavior.java index bd50dfabb..9213aea87 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmUserTaskActivityBehavior.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/behavior/BpmUserTaskActivityBehavior.java @@ -23,7 +23,7 @@ import java.util.Set; * 第一步,基于分配规则,计算出分配任务的【单个】候选人。如果找不到,则直接报业务异常,不继续执行后续的流程; * 第二步,随机选择一个候选人,则选择作为 assignee 负责人。 * - * @author 芋道源码 + * @author hongawen */ @Slf4j public class BpmUserTaskActivityBehavior extends UserTaskActivityBehavior { diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/config/BpmWebConfiguration.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/config/BpmWebConfiguration.java index c78e3706a..d30aab2c2 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/config/BpmWebConfiguration.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/config/BpmWebConfiguration.java @@ -8,7 +8,7 @@ import org.springframework.context.annotation.Configuration; /** * bpm 模块的 web 组件的 Configuration * - * @author 芋道源码 + * @author hongawen */ @Configuration(proxyBeanMethods = false) public class BpmWebConfiguration { diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/constant/BpmConstants.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/constant/BpmConstants.java index 3cf107b9c..155659032 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/constant/BpmConstants.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/constant/BpmConstants.java @@ -5,7 +5,7 @@ import org.flowable.engine.runtime.ProcessInstance; /** * BPM 通用常量 * - * @author 芋道源码 + * @author hongawen */ public class BpmConstants { diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmSignController.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmSignController.java new file mode 100644 index 000000000..99dd010a8 --- /dev/null +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmSignController.java @@ -0,0 +1,113 @@ +package com.njcn.bpm.controller; + + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.njcn.bpm.pojo.param.BpmSignParam; +import com.njcn.bpm.pojo.param.BpmSignParam; +import com.njcn.bpm.pojo.po.BpmCategory; +import com.njcn.bpm.pojo.po.BpmSign; +import com.njcn.bpm.pojo.vo.BpmSignVO; +import com.njcn.bpm.service.IBpmSignService; +import com.njcn.bpm.service.IBpmSignService; +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import com.njcn.common.utils.LogUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import com.njcn.web.controller.BaseController; + +import javax.validation.Valid; +import java.util.List; + +/** + *+ * BPM 流程标识 前端控制器 + *
+ * + * @author hongawen + * @since 2024-05-13 + */ +@RestController +@RequestMapping("/bpmSign") +@Validated +@Slf4j +@Api(tags = "流程标识控制器") +@RequiredArgsConstructor +public class BpmSignController extends BaseController { + + private final IBpmSignService bpmSignService; + + @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) + @PostMapping("/add") + @ApiOperation("创建流程标识") + @ApiImplicitParam(name = "bpmSignParam", value = "流程标识数据", required = true) + public HttpResult