package org.springblade.flow.engine.assembly.prop;

import lombok.Data;

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

import org.springblade.flow.engine.assembly.BaseExPropertyDTO;

/**
 * @Author:LoveMyOrange
 * @Description:
 * @Date:Created in 2022/4/12 18:57
 * @desc 用户节点基础配置
 */
@Data
public class UserTaskBasicPropDTO extends BaseExPropertyDTO implements Serializable {

    /**
     * 流程有哪些角色可以发起
     */
    private List<String> startProcessAuthRoles;
    /**
     * 流程有哪些人可以发起
     */
    private List<String> startProcessAuthUsers;
    /**
     * 流程有哪些岗位可以发起
     */
    private List<String> startProcessAuthPosition;


    //取值使用 FlowTaskOperatorEnum的code来取值
    private String assigneeType;
    /**
     * 指定成员/候选人员->人
     **/
    private List<String> approvers;
    /**
     * 指定成员/候选人员->岗位
     **/
    private List<String> approverPos;
    /**
     * 指定成员/候选人员->角色
     **/
    private List<String> approverRole;
    /**
     * 发起人的第几级主管
     **/
    private Long managerLevel;
    /**
     * 变量->表单字段
     **/
    private String formField;
    /**
     * 环节->审批节点
     **/
    private String nodeId;
    /**
     * 服务->请求路径
     **/
    private String getUserUrl;

    /**
     * 审批人方式
     * 指定人审批(0 或签 1 会签)
     **/
    private Integer counterSign;
    /**
     * 会签比例 在会签的情况下才有用
     **/
    private Long countersignRatio;

    /**
     * 加签设置 是否允许加签
     **/
    private Boolean hasFreeApprover;

    /**
     * 流程进度
     **/
    private String progress;

    /**
     * 传阅岗位
     **/
    private List<String> circulatePosition;
    /**
     * 传阅人
     **/
    private List<String> circulateUser;
    /**
     * 传阅角色
     **/
    private List<String> circulateRole;
    /**
     * 自定义抄送人
     **/
    private Boolean isCustomCopy;




}
