package com.infoepoch.pms.agent.domain.baisc.user;

import com.infoepoch.pms.agent.common.utils.AbstractCriteria;

import java.util.List;

/**
 * 用户查询条件
 */
public class UserCriteria extends AbstractCriteria {

    private List<String> organizationIds;   //组织id范围
    private List<Integer> types;            //类型范围
    private String keyword;                 //关键字，用户名或合中包含字符
    private Boolean disabled;               //状态
    private List<String> userIds;           //用户ID集合
    private String userName;                //用户名
    private String fullName;                //用户全名
    private String email;                   //邮箱
    private List<String> jobNumbers;               //工号
    private String organizationId; //组织id

    // 组织名称
    private String organizationName;

    // 工号查询（模糊）
    private String jobNumberContain;
    /**
     * 工号查询
     */
    private String jobNumber;

    // 用户名列表
    private List<String> usernameList;

    // 角色名称
    private String roleName;
    private String cityName;

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    //提案职代会届次
    private String propSessionTerm;

    //提案职代会届次简称
    private String propSessionTermBrief;
    // 是否开启地区筛选
    private Boolean regionFilterFlag;
    // 是否有领导
    private Boolean hasLeader;
    private Boolean departmentManagerFlag;

    private Boolean branchCompanyFlag;

    private String branchCompanyId;

    private List<String> branchCompanyIds;

    private String departmentId;

    private String roleId;
    // 职位
    private String position;
    // 是否关联
    private Boolean relateFlag;

    private String mobile;

	private List<String> mobiles;

    /**
     * 是否存在额度
     */
    private Boolean canQuota;

    /**
     * 额度年份
     */
    private Integer quotaYear;
    /**
     * 兴趣爱好
     */
    private String interestContain;

    /**
     * 排除某个用户
     */
    private String excludeUserId;

    public String getPropSessionTermBrief() {
        return propSessionTermBrief;
    }

    public void setPropSessionTermBrief(String propSessionTermBrief) {
        this.propSessionTermBrief = propSessionTermBrief;
    }

    public String getPropSessionTerm() {
        return propSessionTerm;
    }

    public void setPropSessionTerm(String propSessionTerm) {
        this.propSessionTerm = propSessionTerm;
    }

    public List<String> getOrganizationIds() {
        return organizationIds;
    }

    public List<Integer> getTypes() {
        return types;
    }

    public String getKeyword() {
        return keyword;
    }

    public Boolean isDisabled() {
        return disabled;
    }

    public List<String> getUserIds() {
        return userIds;
    }

    public String getUserName() {
        return userName;
    }

    public String getFullName() {
        return fullName;
    }

    public void setOrganizationIds(List<String> organizationIds) {
        this.organizationIds = organizationIds;
    }

    public void setTypes(List<Integer> types) {
        this.types = types;
    }

    public void setKeyword(String keyword) {
        this.keyword = keyword;
    }

    public void setDisabled(Boolean disabled) { this.disabled = disabled; }

    public void setUserIds(List<String> userIds) {
        this.userIds = userIds;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getOrganizationName() {
        return organizationName;
    }

    public void setOrganizationName(String organizationName) {
        this.organizationName = organizationName;
    }

    public List<String> getJobNumbers() {
        return jobNumbers;
    }

    public void setJobNumbers(List<String> jobNumbers) {
        this.jobNumbers = jobNumbers;
    }

    public String getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(String organizationId) {
        this.organizationId = organizationId;
    }

    public String getJobNumberContain() {
        return jobNumberContain;
    }

    public void setJobNumberContain(String jobNumberContain) {
        this.jobNumberContain = jobNumberContain;
    }

    public List<String> getUsernameList() {
        return usernameList;
    }

    public void setUsernameList(List<String> usernameList) {
        this.usernameList = usernameList;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public Boolean getRegionFilterFlag() {
        return regionFilterFlag != null && regionFilterFlag;
    }

    public void setRegionFilterFlag(Boolean regionFilterFlag) {
        this.regionFilterFlag = regionFilterFlag;
    }

    public Boolean getHasLeader() {
        return hasLeader;
    }

    public Boolean getDepartmentManagerFlag() {
        return departmentManagerFlag;
    }

    public void setDepartmentManagerFlag(Boolean departmentManagerFlag) {
        this.departmentManagerFlag = departmentManagerFlag;
    }

    public void setHasLeader(Boolean hasLeader) {
        this.hasLeader = hasLeader;
    }

    public Boolean getBranchCompanyFlag() {
        return branchCompanyFlag;
    }

    public void setBranchCompanyFlag(Boolean branchCompanyFlag) {
        this.branchCompanyFlag = branchCompanyFlag;
    }

    public String getBranchCompanyId() {
        return branchCompanyId;
    }

    public void setBranchCompanyId(String branchCompanyId) {
        this.branchCompanyId = branchCompanyId;
    }

    public String getDepartmentId() {
        return departmentId;
    }

    public void setDepartmentId(String departmentId) {
        this.departmentId = departmentId;
    }

    public String getRoleId() {
        return roleId;
    }

    public void setRoleId(String roleId) {
        this.roleId = roleId;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public Boolean getRelateFlag() {
        return relateFlag;
    }

    public void setRelateFlag(Boolean relateFlag) {
        this.relateFlag = relateFlag;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getJobNumber() {
        return jobNumber;
    }

    public void setJobNumber(String jobNumber) {
        this.jobNumber = jobNumber;
    }

    public List<String> getBranchCompanyIds() {
        return branchCompanyIds;
    }

    public void setBranchCompanyIds(List<String> branchCompanyIds) {
        this.branchCompanyIds = branchCompanyIds;
    }

    public List<String> getMobiles() {
        return mobiles;
    }

    public void setMobiles(List<String> mobiles) {
        this.mobiles = mobiles;
    }

    public Boolean getCanQuota() {
        return canQuota;
    }

    public void setCanQuota(Boolean canQuota) {
        this.canQuota = canQuota;
    }

    public Integer getQuotaYear() {
        return quotaYear;
    }

    public void setQuotaYear(Integer quotaYear) {
        this.quotaYear = quotaYear;
    }

    public String getInterestContain() {
        return interestContain;
    }

    public void setInterestContain(String interestContain) {
        this.interestContain = interestContain;
    }

    public String getExcludeUserId() {
        return excludeUserId;
    }

    public void setExcludeUserId(String excludeUserId) {
        this.excludeUserId = excludeUserId;
    }
}
