feat(REQ-4418) - 调整节点配置模型
This commit is contained in:
parent
916c47a3a6
commit
3da15cb8e4
@ -8,23 +8,35 @@ package cn.axzo.workflow.common.enums;
|
|||||||
*/
|
*/
|
||||||
public enum ApproverSpecifyEnum {
|
public enum ApproverSpecifyEnum {
|
||||||
|
|
||||||
position("position", "指定岗位"),
|
position("position", "指定岗位", 1),
|
||||||
role("role", "指定角色"),
|
role("role", "指定角色", 1),
|
||||||
identity("identity", "指定身份"),
|
identity("identity", "指定身份", 1),
|
||||||
initiatorLeader("initiatorLeader", "发起人主管"),
|
initiatorLeader("initiatorLeader", "发起人主管", 1),
|
||||||
initiatorLeaderRecursion("initiatorLeaderRecursion", "发起人多级主管"),
|
initiatorLeaderRecursion("initiatorLeaderRecursion", "发起人多级主管", 1),
|
||||||
fixedPerson("fixedPerson", "固定人员"),
|
fixedPerson("fixedPerson", "固定人员", 1),
|
||||||
preNodeSpecified("preNodeSpecified", "上级节点指定"),
|
preNodeSpecified("preNodeSpecified", "上级节点指定", 1),
|
||||||
initiatorSpecified("initiatorSpecified", "发起时指定"),
|
initiatorSpecified("initiatorSpecified", "发起时指定", 1),
|
||||||
// 该枚举,目前主要为了区别签署业务与审批业务的不同配法,选择该项时,意味着该节点是由二方后端自由消费 BpmnSignApproverLimit 配置
|
// 该枚举,目前主要为了区别签署业务与审批业务的不同配法,选择该项时,意味着该节点是由二方后端自由消费 BpmnSignApproverLimit 配置
|
||||||
signerRelated("signerRelated", "签署人相关组织"),
|
signerRelated("signerRelated", "签署人相关组织", 1),
|
||||||
|
|
||||||
|
// 新配置规则的审批人指定方式
|
||||||
|
position_v2("position_v2", "指定岗位", 2),
|
||||||
|
role_v2("role_v2", "指定角色", 2),
|
||||||
|
identity_v2("identity_v2", "指定身份", 2),
|
||||||
|
initiatorSpecified_v2("initiatorSpecified_v2", "发起人自选", 2),
|
||||||
|
initiator_v2("initiator_v2", "发起人自己", 2),
|
||||||
|
initiatorLeader_v2("initiatorLeader_v2", "发起人主管", 2),
|
||||||
|
fixedPerson_v2("fixedPerson_v2", "固定人员", 2),
|
||||||
;
|
;
|
||||||
|
|
||||||
private String type;
|
private String type;
|
||||||
private String desc;
|
private String desc;
|
||||||
|
private Integer version;
|
||||||
|
|
||||||
ApproverSpecifyEnum(String type, String desc) {
|
ApproverSpecifyEnum(String type, String desc, Integer version) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.desc = desc;
|
this.desc = desc;
|
||||||
|
this.version = version;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getType() {
|
public String getType() {
|
||||||
@ -42,4 +54,12 @@ public enum ApproverSpecifyEnum {
|
|||||||
public void setDesc(String desc) {
|
public void setDesc(String desc) {
|
||||||
this.desc = desc;
|
this.desc = desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getVersion() {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVersion(Integer version) {
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,41 @@
|
|||||||
|
package cn.axzo.workflow.common.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审批人指定的二次范围限定枚举
|
||||||
|
*
|
||||||
|
* @author wangli
|
||||||
|
* @since 2025-08-13 14:32
|
||||||
|
*/
|
||||||
|
public enum ApproverSpecifyRangeEnum {
|
||||||
|
|
||||||
|
positions_within_the_project("positions_within_the_project", "项目内岗位"),
|
||||||
|
positions_within_the_project_construction_units("positions_within_the_project_construction_units", "项目内参建单位的企业岗位"),
|
||||||
|
specified_org("specified_org", "审批单指定的末级组织"),
|
||||||
|
initiator("initiator", "审批单发起人"),
|
||||||
|
pre_node_approver("pre_node_approver", "上节点审批人"),
|
||||||
|
;
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
private String desc;
|
||||||
|
|
||||||
|
ApproverSpecifyRangeEnum(String type, String desc) {
|
||||||
|
this.type = type;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDesc() {
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDesc(String desc) {
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
package cn.axzo.workflow.common.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审批人指定的范围“单位”枚举
|
||||||
|
*
|
||||||
|
* @author wangli
|
||||||
|
* @since 2025-08-13 15:05
|
||||||
|
*/
|
||||||
|
public enum ApproverSpecifyRangeUnitEnum {
|
||||||
|
in_project("in_project", "项目内"),
|
||||||
|
in_ent("in_ent", "企业内"),
|
||||||
|
;
|
||||||
|
private final String type;
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
ApproverSpecifyRangeUnitEnum(String type, String desc) {
|
||||||
|
this.type = type;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDesc() {
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
package cn.axzo.workflow.common.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 参建单位类型枚举
|
||||||
|
* <p>
|
||||||
|
* 拷贝自 cn.axzo.orgmanax.dto.cooperateship.enums.CooperateShipTypeEnum
|
||||||
|
*
|
||||||
|
* @author wangli
|
||||||
|
* @since 2025-08-13 14:51
|
||||||
|
*/
|
||||||
|
public enum CooperateShipTypeEnum {
|
||||||
|
PROJ_PRIMARY_CONTRACTING_UNIT(1, "施工总承包"),
|
||||||
|
PROJ_CONSTRUCTION_UNIT(2, "建设单位"),
|
||||||
|
PROJ_SUPERVISION_UNIT(3, "监理单位"),
|
||||||
|
PROJ_LABOR_SUBCONTRACTING(4, "劳务分包"),
|
||||||
|
PROJ_PROFESSIONAL_SUBCONTRACTING(5, "专业承包"),
|
||||||
|
OMS(6, "OMS"),
|
||||||
|
ENT_COMMON(7, "企业通用"),
|
||||||
|
ENT_TEAM(8, "企业内班组"),
|
||||||
|
PROJ_TEAM(9, "项目内班组"),
|
||||||
|
ENT_GROUP(10, "企业内小组"),
|
||||||
|
PROJ_GROUP(11, "项目内小组"),
|
||||||
|
SURVEY_UNIT(12, "地勘单位"),
|
||||||
|
DESIGN_UNIT(13, "设计单位"),
|
||||||
|
OTHER(30, "其他");
|
||||||
|
|
||||||
|
private final Integer code;
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
CooperateShipTypeEnum(Integer code, String desc) {
|
||||||
|
this.code = code;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDesc() {
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
package cn.axzo.workflow.common.enums;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @author wangli
|
||||||
|
* @since 2025-08-13 15:13
|
||||||
|
*/
|
||||||
|
public enum InitiatorSpecifiedRangeEnum {
|
||||||
|
SelfAndChildrenInProject("SelfAndChildrenInProject", "项目内本组织及其下属组织所有成员"),
|
||||||
|
SelfInProject("SelfInProject", "项目内本组织所有成员"),
|
||||||
|
inProject("inProject", "项目内所有成员"),
|
||||||
|
inEnt("inEnt", "企业内所有成员"),
|
||||||
|
;
|
||||||
|
private final String type;
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
InitiatorSpecifiedRangeEnum(String type, String desc) {
|
||||||
|
this.type = type;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDesc() {
|
||||||
|
return desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,7 +4,12 @@ import cn.axzo.workflow.common.enums.ApprovalMethodEnum;
|
|||||||
import cn.axzo.workflow.common.enums.ApproverEmptyHandleTypeEnum;
|
import cn.axzo.workflow.common.enums.ApproverEmptyHandleTypeEnum;
|
||||||
import cn.axzo.workflow.common.enums.ApproverScopeEnum;
|
import cn.axzo.workflow.common.enums.ApproverScopeEnum;
|
||||||
import cn.axzo.workflow.common.enums.ApproverSpecifyEnum;
|
import cn.axzo.workflow.common.enums.ApproverSpecifyEnum;
|
||||||
|
import cn.axzo.workflow.common.enums.ApproverSpecifyRangeEnum;
|
||||||
|
import cn.axzo.workflow.common.enums.ApproverSpecifyRangeUnitEnum;
|
||||||
import cn.axzo.workflow.common.enums.BpmnFlowNodeMode;
|
import cn.axzo.workflow.common.enums.BpmnFlowNodeMode;
|
||||||
|
import cn.axzo.workflow.common.enums.CooperateShipTypeEnum;
|
||||||
|
import cn.axzo.workflow.common.enums.InitiatorSpecifiedRangeEnum;
|
||||||
|
import cn.axzo.workflow.common.enums.SignApproverOrgLimitEnum;
|
||||||
import cn.axzo.workflow.common.model.request.form.FormPermissionMetaInfo;
|
import cn.axzo.workflow.common.model.request.form.FormPermissionMetaInfo;
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
@ -52,6 +57,43 @@ public class BpmnJsonNodeProperty {
|
|||||||
@NotBlank(message = "审批人指定不能为空")
|
@NotBlank(message = "审批人指定不能为空")
|
||||||
private ApproverSpecifyEnum approverSpecify;
|
private ApproverSpecifyEnum approverSpecify;
|
||||||
|
|
||||||
|
//*************** 针对新配置中的岗位、角色、身份的扩展配置 Start ****************
|
||||||
|
@ApiModelProperty(value = "任务节点:对选择的 approverSpecify 做的二次范围限定配置")
|
||||||
|
private ApproverSpecifyRangeEnum approverSpecifyRange;
|
||||||
|
/**
|
||||||
|
* cn.axzo.orgmanax.dto.cooperateship.enums.CooperateShipTypeEnum
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "任务节点: 当选择approverSpecifyRange的值为positions_within_the_project_construction_units,做的二次范围限定配置的级联选择")
|
||||||
|
private CooperateShipTypeEnum cooperateShipType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "任务节点: 当选择approverSpecifyRange的值为specified_org,做的二次范围限定配置的级联选择的值")
|
||||||
|
private SignApproverOrgLimitEnum approverSpecifyRangeOrgLimit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 该属性,当 approverSpecify = initiatorLeader_v2 时,也会被应用为限定单位内主管还是项目内主管
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "任务节点: 当选择approverSpecifyRange的值为specified_org,做的二次范围限定配置的级联选择的值")
|
||||||
|
private ApproverSpecifyRangeUnitEnum approverSpecifyRangeUnit;
|
||||||
|
|
||||||
|
//*************** 针对新配置中的岗位、角色、身份的扩展配置 End ****************
|
||||||
|
|
||||||
|
//*************** approverSpecify 为 initiatorSpecified_v2 发起人自选时的一些扩展配置 Start ****************
|
||||||
|
@ApiModelProperty(value = "任务节点: 当选择approverSpecify的值为 initiatorSpecified_v2,做的范围选择的值")
|
||||||
|
private InitiatorSpecifiedRangeEnum initiatorSpecifyRange;
|
||||||
|
@ApiModelProperty(value = "是否开起发起人的筛选策略")
|
||||||
|
private Boolean InitiatorSpecifiedFilter;
|
||||||
|
/**
|
||||||
|
* 需要排除的身份类型
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "需要排除的身份类型")
|
||||||
|
private List<String> excludeIdentityTypes;
|
||||||
|
/**
|
||||||
|
* 需要排查的参建单位类型
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "需要排除的参建单位类型")
|
||||||
|
private List<String> excludeCooperateShipTypes;
|
||||||
|
//*************** approverSpecify 为 initiatorSpecified_v2 发起人自选时的一些扩展配置 End ****************
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 签署确认节点的审批人限定规则
|
* 签署确认节点的审批人限定规则
|
||||||
*/
|
*/
|
||||||
@ -159,4 +201,16 @@ public class BpmnJsonNodeProperty {
|
|||||||
@ApiModelProperty(value = "表单字段权限控制")
|
@ApiModelProperty(value = "表单字段权限控制")
|
||||||
private List<FormPermissionMetaInfo> fieldPermission;
|
private List<FormPermissionMetaInfo> fieldPermission;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 区域过滤开关
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "区域过滤开关", notes = "true: 开启区域过滤, false: 关闭区域过滤")
|
||||||
|
private Boolean areaFilterEnable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 专业过滤开关
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "专业过滤开关", notes = "true: 开启专业过滤, false: 关闭专业过滤")
|
||||||
|
private Boolean specialtyFilterEnable;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user