mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-12 13:39:01 +08:00
feat(flow): support dynamic countersign add-sign
This commit is contained in:
1 parent
5931a5d6d7
commit
2b6a4d2e85
32 files changed
+1916
-37
No files matched your search
+24
@@ -105,6 +105,30 @@ public class ProcessInstanceConstant {
|
||||
*/
|
||||
public static final int MULTIPLE_MODE_ALL_SORT = 3;
|
||||
|
||||
/** 原始流程分配。 */
|
||||
public static final String ASSIGNMENT_ORIGIN_ORIGINAL = "ORIGINAL";
|
||||
|
||||
/** 动态加签分配。 */
|
||||
public static final String ASSIGNMENT_ORIGIN_ADD_SIGN = "ADD_SIGN";
|
||||
|
||||
/** 执行变量:分配来源。 */
|
||||
public static final String VAR_ASSIGNMENT_ORIGIN = "assignmentOrigin";
|
||||
|
||||
/** 执行变量:本份任务的最初审批人。 */
|
||||
public static final String VAR_INITIAL_USER_ID = "initialUserId";
|
||||
|
||||
/** 执行变量:本轮节点记录。 */
|
||||
public static final String VAR_NODE_RECORD_ID = "nodeRecordId";
|
||||
|
||||
/** 执行变量:加签审计记录。 */
|
||||
public static final String VAR_ADD_SIGN_RECORD_ID = "addSignRecordId";
|
||||
|
||||
/** 执行变量:加签发起人。 */
|
||||
public static final String VAR_ADDED_BY_USER_ID = "addedByUserId";
|
||||
|
||||
/** 任务变量:本次分配操作类型。 */
|
||||
public static final String VAR_ASSIGNMENT_OPERATION = "assignmentOperation";
|
||||
|
||||
/**
|
||||
* 任务分配类型 定义审批节点的执行人分配方式
|
||||
*/
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.pig4cloud.pigx.flow.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 动态加签结果。
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class AddSignResultDto {
|
||||
|
||||
private Long recordId;
|
||||
|
||||
private List<AddSignTaskSummaryDto> tasks;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.pig4cloud.pigx.flow.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 动态加签请求。
|
||||
*/
|
||||
@Data
|
||||
public class AddSignTaskDto {
|
||||
|
||||
/** 当前审批任务 ID。 */
|
||||
private String taskId;
|
||||
|
||||
/** 本批次新增的审批人。 */
|
||||
private List<Long> targetUserIdList;
|
||||
|
||||
/** 加签原因。 */
|
||||
private String reason;
|
||||
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package com.pig4cloud.pigx.flow.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 动态加签后新建任务摘要。
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
public class AddSignTaskSummaryDto {
|
||||
|
||||
private String taskId;
|
||||
|
||||
private Long userId;
|
||||
|
||||
}
|
||||
@@ -85,6 +85,11 @@ public class Node {
|
||||
*/
|
||||
private Integer multipleMode;
|
||||
|
||||
/**
|
||||
* 是否允许当前并行会签节点的原始审批人动态加签
|
||||
*/
|
||||
private Boolean allowAddSign;
|
||||
|
||||
/**
|
||||
* 部门主管级别 当assignedType为LEADER时,指定查找第几级主管
|
||||
*/
|
||||
|
||||
+12
@@ -117,4 +117,16 @@ public class ProcessNodeRecordAssignUserParamDto {
|
||||
*/
|
||||
private String taskType;
|
||||
|
||||
/** 本轮节点执行记录 ID。 */
|
||||
private Long nodeRecordId;
|
||||
|
||||
/** 分配来源:ORIGINAL 或 ADD_SIGN。 */
|
||||
private String assignmentOrigin;
|
||||
|
||||
/** 本份待办最初分配的用户。 */
|
||||
private Long initialUserId;
|
||||
|
||||
/** 动态加签批次记录 ID。 */
|
||||
private Long addSignRecordId;
|
||||
|
||||
}
|
||||
+16
@@ -158,6 +158,22 @@ public class ProcessNodeRecordAssignUser {
|
||||
@TableField("local_data")
|
||||
private String localData;
|
||||
|
||||
/** 本轮节点执行记录 ID。 */
|
||||
@TableField("node_record_id")
|
||||
private Long nodeRecordId;
|
||||
|
||||
/** 分配来源:ORIGINAL 或 ADD_SIGN。 */
|
||||
@TableField("assignment_origin")
|
||||
private String assignmentOrigin;
|
||||
|
||||
/** 本份待办最初分配的用户。 */
|
||||
@TableField("initial_user_id")
|
||||
private Long initialUserId;
|
||||
|
||||
/** 动态加签批次记录 ID。 */
|
||||
@TableField("add_sign_record_id")
|
||||
private Long addSignRecordId;
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
* <p>
|
||||
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
package com.pig4cloud.pigx.flow.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.pig4cloud.pigx.common.core.util.TenantTable;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 动态加签批次审计记录。
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@TenantTable
|
||||
@Accessors(chain = true)
|
||||
@TableName("process_task_add_sign_record")
|
||||
public class ProcessTaskAddSignRecord {
|
||||
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
@TableField("flow_id")
|
||||
private String flowId;
|
||||
|
||||
@TableField("process_instance_id")
|
||||
private String processInstanceId;
|
||||
|
||||
@TableField("node_record_id")
|
||||
private Long nodeRecordId;
|
||||
|
||||
@TableField("node_id")
|
||||
private String nodeId;
|
||||
|
||||
@TableField("source_task_id")
|
||||
private String sourceTaskId;
|
||||
|
||||
@TableField("added_by_user_id")
|
||||
private Long addedByUserId;
|
||||
|
||||
@TableField("reason")
|
||||
private String reason;
|
||||
|
||||
@TableField("target_user_ids")
|
||||
private String targetUserIds;
|
||||
|
||||
@TableField("participant_user_ids_before")
|
||||
private String participantUserIdsBefore;
|
||||
|
||||
@TableField("participant_user_ids_after")
|
||||
private String participantUserIdsAfter;
|
||||
|
||||
@TableLogic
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private String delFlag;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.pig4cloud.pigx.flow.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流程进度中的动态加签事件。
|
||||
*/
|
||||
@Data
|
||||
public class AddSignRecordVo {
|
||||
|
||||
private Long id;
|
||||
|
||||
private String addedByName;
|
||||
|
||||
private List<String> targetUserNames;
|
||||
|
||||
private String reason;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -30,6 +30,11 @@ public class NodeVo {
|
||||
*/
|
||||
private List<UserVo> userVoList;
|
||||
|
||||
/**
|
||||
* 当前节点的动态加签批次事件
|
||||
*/
|
||||
private List<AddSignRecordVo> addSignRecordList;
|
||||
|
||||
/**
|
||||
* 节点占位提示
|
||||
* <p>
|
||||
|
||||
Reference in new issue
Block a user