package cn.axzo.workflow.common.model.request;

import cn.axzo.workflow.common.enums.AutoApprovalTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.Valid;

@ApiModel("JSON 版本的 BPMN 协议模型中流程配置管理")
@Data
@AllArgsConstructor
@Accessors(chain = true)
public class BpmnApproveConf {

    public BpmnApproveConf() {
        this.supportBatchOperation = false;
        this.userAgreeSignature = false;
    }

    /**
     * 是否支持批量审批
     */
    @ApiModelProperty(value = "是否支持批量审批")
    @Valid
    private Boolean supportBatchOperation;

    /**
     * 审批同意录入手写签名
     */
    @ApiModelProperty(value = "审批同意录入手写签名")
    @Valid
    private Boolean userAgreeSignature;

    /**
     * 审批自动过审配置
     */
    @ApiModelProperty(value = "同一审批人自动过审类型，默认不自动过审，枚举类型为'NO_AUTO_APPROVAL'")
    private AutoApprovalTypeEnum autoApprovalType = AutoApprovalTypeEnum.NO_AUTO_APPROVAL;
}
