package com.leanwo.activiti.dto.approver;

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


// TODO: Auto-generated Javadoc
/**
 * 
 * @author shenchong 2020.09.24
 *
 */
public class Propertie implements Serializable{
	
	/** 标题. */
	private String title;
	
	/** 条件. */
	private List<Condition> conditions;

	/** 审批条件. */
	private List<Condition> approveConditions;
	
	/** 审批人. */
	private List<Approver> approvers;
	
	/** 类型. */
	private String assigneeType;
	
	/** 会签或者或签. */
	private Integer counterSign;

	/** 开发人员自定义的SQL语句，用于审批人的查询. */
	private String assignSql;
	
	/** 抄送人. */
	private Menbers menbers;
	
	/**  抄送用户组. */
	private List<OptionalGroup> copyUserGroups;
	
	/**  1:直接主管, 2: 第2级主管, 3: 第3级主管, 4: 第4级主管, 5: 第5级主管. */
	private Integer directorLevel;
	
	/**  找不到主管时，由上级主管代审批. */
	private Boolean useDirectorProxy;

	/**  可选多人. */
	private Boolean optionalMultiUser;
	
	/** 选择范围: 全公司(ALL)、指定成员(USER)、用户组(USER_GROUP). */
	private String optionalRange;

	/**  可选用户. */
	private List<OptionalUser> optionalUsers;
	
	/**  可选用户组. */
	private List<OptionalGroup> optionalUserGroups;
	
	/**  上一个审批节点Id(用于选择用户). */
	private String previousAssigneeSelectNodeId;

	/**  上一个审批节点Id(多个)(用于选择用户). */
	private String[] previousAssigneeSelectNodeIds;

	/**  表单操作权限. */
	private List<FormOperate> formOperates;
	
	/**
	 * Gets the 标题.
	 *
	 * @return the 标题
	 */
	public String getTitle() {
		return title;
	}

	/**
	 * Sets the 标题.
	 *
	 * @param title the new 标题
	 */
	public void setTitle(String title) {
		this.title = title;
	}

	/**
	 * Gets the 条件.
	 *
	 * @return the 条件
	 */
	public List<Condition> getConditions() {
		return conditions;
	}

	/**
	 * Sets the 条件.
	 *
	 * @param conditions the new 条件
	 */
	public void setConditions(List<Condition> conditions) {
		this.conditions = conditions;
	}

	/**
	 * Gets the 审批条件.
	 *
	 * @return the 审批条件
	 */
	public List<Condition> getApproveConditions() {
		return approveConditions;
	}

	/**
	 * Sets the 审批条件.
	 *
	 * @param approveConditions the new 审批条件
	 */
	public void setApproveConditions(List<Condition> approveConditions) {
		this.approveConditions = approveConditions;
	}

	/**
	 * Gets the 审批人.
	 *
	 * @return the 审批人
	 */
	public List<Approver> getApprovers() {
		return approvers;
	}

	/**
	 * Sets the 审批人.
	 *
	 * @param approvers the new 审批人
	 */
	public void setApprovers(List<Approver> approvers) {
		this.approvers = approvers;
	}

	/**
	 * Gets the 类型.
	 *
	 * @return the 类型
	 */
	public String getAssigneeType() {
		return assigneeType;
	}

	/**
	 * Sets the 类型.
	 *
	 * @param assigneeType the new 类型
	 */
	public void setAssigneeType(String assigneeType) {
		this.assigneeType = assigneeType;
	}

	/**
	 * Gets the 会签或者或签.
	 *
	 * @return the 会签或者或签
	 */
	public Integer getCounterSign() {
		return counterSign;
	}

	/**
	 * Sets the 会签或者或签.
	 *
	 * @param counterSign the new 会签或者或签
	 */
	public void setCounterSign(Integer counterSign) {
		this.counterSign = counterSign;
	}

	/**
	 * Gets the 开发人员自定义的SQL语句，用于审批人的查询.
	 *
	 * @return the 开发人员自定义的SQL语句，用于审批人的查询
	 */
	public String getAssignSql() {
		return assignSql;
	}

	/**
	 * Sets the 开发人员自定义的SQL语句，用于审批人的查询.
	 *
	 * @param assignSql the new 开发人员自定义的SQL语句，用于审批人的查询
	 */
	public void setAssignSql(String assignSql) {
		this.assignSql = assignSql;
	}

	/**
	 * Gets the 抄送人.
	 *
	 * @return the 抄送人
	 */
	public Menbers getMenbers() {
		return menbers;
	}

	/**
	 * Sets the 抄送人.
	 *
	 * @param menbers the new 抄送人
	 */
	public void setMenbers(Menbers menbers) {
		this.menbers = menbers;
	}

	/**
	 * Gets the 抄送用户组.
	 *
	 * @return the 抄送用户组
	 */
	public List<OptionalGroup> getCopyUserGroups() {
		return copyUserGroups;
	}

	/**
	 * Sets the 抄送用户组.
	 *
	 * @param copyUserGroups the new 抄送用户组
	 */
	public void setCopyUserGroups(List<OptionalGroup> copyUserGroups) {
		this.copyUserGroups = copyUserGroups;
	}

	/**
	 * Gets the 1:直接主管, 2: 第2级主管, 3: 第3级主管, 4: 第4级主管, 5: 第5级主管.
	 *
	 * @return the 1:直接主管, 2: 第2级主管, 3: 第3级主管, 4: 第4级主管, 5: 第5级主管
	 */
	public Integer getDirectorLevel() {
		return directorLevel;
	}

	/**
	 * Sets the 1:直接主管, 2: 第2级主管, 3: 第3级主管, 4: 第4级主管, 5: 第5级主管.
	 *
	 * @param directorLevel the new 1:直接主管, 2: 第2级主管, 3: 第3级主管, 4: 第4级主管, 5: 第5级主管
	 */
	public void setDirectorLevel(Integer directorLevel) {
		this.directorLevel = directorLevel;
	}

	/**
	 * Gets the 找不到主管时，由上级主管代审批.
	 *
	 * @return the 找不到主管时，由上级主管代审批
	 */
	public Boolean getUseDirectorProxy() {
		return useDirectorProxy;
	}

	/**
	 * Sets the 找不到主管时，由上级主管代审批.
	 *
	 * @param useDirectorProxy the new 找不到主管时，由上级主管代审批
	 */
	public void setUseDirectorProxy(Boolean useDirectorProxy) {
		this.useDirectorProxy = useDirectorProxy;
	}

	/**
	 * Gets the 可选多人.
	 *
	 * @return the 可选多人
	 */
	public Boolean getOptionalMultiUser() {
		return optionalMultiUser;
	}

	/**
	 * Sets the 可选多人.
	 *
	 * @param optionalMultiUser the new 可选多人
	 */
	public void setOptionalMultiUser(Boolean optionalMultiUser) {
		this.optionalMultiUser = optionalMultiUser;
	}

	/**
	 * Gets the 选择范围: 全公司(ALL)、指定成员(USER)、用户组(USER_GROUP).
	 *
	 * @return the 选择范围: 全公司(ALL)、指定成员(USER)、用户组(USER_GROUP)
	 */
	public String getOptionalRange() {
		return optionalRange;
	}

	/**
	 * Sets the 选择范围: 全公司(ALL)、指定成员(USER)、用户组(USER_GROUP).
	 *
	 * @param optionalRange the new 选择范围: 全公司(ALL)、指定成员(USER)、用户组(USER_GROUP)
	 */
	public void setOptionalRange(String optionalRange) {
		this.optionalRange = optionalRange;
	}

	/**
	 * Gets the 可选用户.
	 *
	 * @return the 可选用户
	 */
	public List<OptionalUser> getOptionalUsers() {
		return optionalUsers;
	}

	/**
	 * Sets the 可选用户.
	 *
	 * @param optionalUsers the new 可选用户
	 */
	public void setOptionalUsers(List<OptionalUser> optionalUsers) {
		this.optionalUsers = optionalUsers;
	}

	/**
	 * Gets the 可选用户组.
	 *
	 * @return the 可选用户组
	 */
	public List<OptionalGroup> getOptionalUserGroups() {
		return optionalUserGroups;
	}

	/**
	 * Sets the 可选用户组.
	 *
	 * @param optionalUserGroups the new 可选用户组
	 */
	public void setOptionalUserGroups(List<OptionalGroup> optionalUserGroups) {
		this.optionalUserGroups = optionalUserGroups;
	}

	/**
	 * Gets the 上一个审批节点Id(用于选择用户).
	 *
	 * @return the 上一个审批节点Id(用于选择用户)
	 */
	public String getPreviousAssigneeSelectNodeId() {
		return previousAssigneeSelectNodeId;
	}

	/**
	 * Sets the 上一个审批节点Id(用于选择用户).
	 *
	 * @param previousAssigneeSelectNodeId the new 上一个审批节点Id(用于选择用户)
	 */
	public void setPreviousAssigneeSelectNodeId(String previousAssigneeSelectNodeId) {
		this.previousAssigneeSelectNodeId = previousAssigneeSelectNodeId;
	}

	/**
	 * Gets the 上一个审批节点Id(多个)(用于选择用户).
	 *
	 * @return the 上一个审批节点Id(多个)(用于选择用户)
	 */
	public String[] getPreviousAssigneeSelectNodeIds() {
		return previousAssigneeSelectNodeIds;
	}

	/**
	 * Sets the 上一个审批节点Id(多个)(用于选择用户).
	 *
	 * @param previousAssigneeSelectNodeIds the new 上一个审批节点Id(多个)(用于选择用户)
	 */
	public void setPreviousAssigneeSelectNodeIds(String[] previousAssigneeSelectNodeIds) {
		this.previousAssigneeSelectNodeIds = previousAssigneeSelectNodeIds;
	}

	/**
	 * Gets the 表单操作权限.
	 *
	 * @return the 表单操作权限
	 */
	public List<FormOperate> getFormOperates() {
		return formOperates;
	}

	/**
	 * Sets the 表单操作权限.
	 *
	 * @param formOperates the new 表单操作权限
	 */
	public void setFormOperates(List<FormOperate> formOperates) {
		this.formOperates = formOperates;
	}
}
