package com.qmth.distributed.print.business.bean.flow;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.qmth.distributed.print.business.enums.*;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;

/**
 * @Description: 自定义流程property dto
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2022/1/21
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class CustomFlowPropertyDto implements Serializable {

    @ApiModelProperty(value = "属性")
    CustomFlowApproveUserTypeEnum approveUserType;

    @ApiModelProperty(value = "审批用户列表")
    List<CustomFlowApproveUserDto> approveUsers;

    @ApiModelProperty(value = "审批角色列表")
    List<CustomFlowApproveRoleDto> approveRoles;

    @ApiModelProperty(value = "抄送用户列表")
    List<CustomFlowCopyUserDto> copyForUsers;

    @ApiModelProperty(value = "自定义流程审核类型")
    CustomFlowMultipleUserApproveTypeEnum multipleUserApproveType;

    @ApiModelProperty(value = "自定义流程驳回类型")
    CustomFlowRejectTypeEnum rejectType;

    @ApiModelProperty(value = "自定义流程驳回重新提交类型")
    CustomFlowRejectResubmitTypeEnum rejectResubmitType;

    @ApiModelProperty(value = "自定义流程发起人指定选择人数")
    CustomFlowApproveUserCountTypeEnum approveUserCountType;

    @ApiModelProperty(value = "自定义流程发起人指定选择用户类型")
    CustomFlowApproveUserSelectRangeEnum approveUserSelectRange;

    @ApiModelProperty(value = "自定义流程发起人指定审批角色列表")
    List<CustomFlowApproveRoleDto> approveUserSelectRoles;

    public CustomFlowApproveUserCountTypeEnum getApproveUserCountType() {
        return approveUserCountType;
    }

    public void setApproveUserCountType(CustomFlowApproveUserCountTypeEnum approveUserCountType) {
        this.approveUserCountType = approveUserCountType;
    }

    public CustomFlowApproveUserSelectRangeEnum getApproveUserSelectRange() {
        return approveUserSelectRange;
    }

    public void setApproveUserSelectRange(CustomFlowApproveUserSelectRangeEnum approveUserSelectRange) {
        this.approveUserSelectRange = approveUserSelectRange;
    }

    public List<CustomFlowApproveRoleDto> getApproveUserSelectRoles() {
        return approveUserSelectRoles;
    }

    public void setApproveUserSelectRoles(List<CustomFlowApproveRoleDto> approveUserSelectRoles) {
        this.approveUserSelectRoles = approveUserSelectRoles;
    }

    public CustomFlowApproveUserTypeEnum getApproveUserType() {
        return approveUserType;
    }

    public void setApproveUserType(CustomFlowApproveUserTypeEnum approveUserType) {
        this.approveUserType = approveUserType;
    }

    public List<CustomFlowApproveUserDto> getApproveUsers() {
        return approveUsers;
    }

    public void setApproveUsers(List<CustomFlowApproveUserDto> approveUsers) {
        this.approveUsers = approveUsers;
    }

    public List<CustomFlowApproveRoleDto> getApproveRoles() {
        return approveRoles;
    }

    public void setApproveRoles(List<CustomFlowApproveRoleDto> approveRoles) {
        this.approveRoles = approveRoles;
    }

    public List<CustomFlowCopyUserDto> getCopyForUsers() {
        return copyForUsers;
    }

    public void setCopyForUsers(List<CustomFlowCopyUserDto> copyForUsers) {
        this.copyForUsers = copyForUsers;
    }

    public CustomFlowMultipleUserApproveTypeEnum getMultipleUserApproveType() {
        return multipleUserApproveType;
    }

    public void setMultipleUserApproveType(CustomFlowMultipleUserApproveTypeEnum multipleUserApproveType) {
        this.multipleUserApproveType = multipleUserApproveType;
    }

    public CustomFlowRejectTypeEnum getRejectType() {
        return rejectType;
    }

    public void setRejectType(CustomFlowRejectTypeEnum rejectType) {
        this.rejectType = rejectType;
    }

    public CustomFlowRejectResubmitTypeEnum getRejectResubmitType() {
        return rejectResubmitType;
    }

    public void setRejectResubmitType(CustomFlowRejectResubmitTypeEnum rejectResubmitType) {
        this.rejectResubmitType = rejectResubmitType;
    }
}
