package com.keao.edu.user.entity;

import com.keao.edu.auth.api.entity.SysUser;
import com.keao.edu.user.enums.SettlementTypeEnum;
import com.keao.edu.user.enums.YesOrNoEnum;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 对应数据库表(organ):
 */
public class Organization {

	/**  */
	private Integer id;

	/**  */
	private Integer userId;

	@ApiModelProperty(value = "合作单位名字",required = false)
	private String name;

	@ApiModelProperty(value = "联系人名字",required = false)
	private String contactName;

	@ApiModelProperty(value = "联系人手机",required = false)
	private String contactPhone;
	
	/** 结算类型（按人/按利润比例） */
	@ApiModelProperty(value = "结算类型（按人/按利润比例）",required = false)
	private SettlementTypeEnum settlementType;

	@ApiModelProperty(value = "分润金额",required = false)
	private java.math.BigDecimal shareProfitAmount;

	@ApiModelProperty(value = "层级")
	private Integer level;

	@ApiModelProperty(value = "上级合作单位编号")
	private Integer parentOrganId;

	private String parentOrganIdTag;

	@ApiModelProperty(value = "是否允许排考")
	private YesOrNoEnum isAllowArrangeExam;
	
	/**  */
	private java.util.Date createTime;
	
	/**  */
	private java.util.Date updateTime;

	@ApiModelProperty(value = "是否删除",required = false)
	private YesOrNoEnum delFlag;

	private String tenantId;

	private SysUser sysUser;

	public Organization() {
	}

	public Organization(Integer id, String name) {
		this.id = id;
		this.name = name;
	}

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public YesOrNoEnum getIsAllowArrangeExam() {
		return isAllowArrangeExam;
	}

	public void setIsAllowArrangeExam(YesOrNoEnum isAllowArrangeExam) {
		this.isAllowArrangeExam = isAllowArrangeExam;
	}

	public SysUser getSysUser() {
		return sysUser;
	}

	public void setSysUser(SysUser sysUser) {
		this.sysUser = sysUser;
	}

	public Integer getLevel() {
		return level;
	}

	public void setLevel(Integer level) {
		this.level = level;
	}

	public Integer getParentOrganId() {
		return parentOrganId;
	}

	public void setParentOrganId(Integer parentOrganId) {
		this.parentOrganId = parentOrganId;
	}

	public String getParentOrganIdTag() {
		return parentOrganIdTag;
	}

	public void setParentOrganIdTag(String parentOrganIdTag) {
		this.parentOrganIdTag = parentOrganIdTag;
	}

	public String getTenantId() {
		return tenantId;
	}

	public void setTenantId(String tenantId) {
		this.tenantId = tenantId;
	}

	public YesOrNoEnum getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(YesOrNoEnum delFlag) {
		this.delFlag = delFlag;
	}

	public void setId(Integer id){
		this.id = id;
	}
	
	public Integer getId(){
		return this.id;
	}
			
	public void setName(String name){
		this.name = name;
	}
	
	public String getName(){
		return this.name;
	}
			
	public void setContactName(String contactName){
		this.contactName = contactName;
	}
	
	public String getContactName(){
		return this.contactName;
	}
			
	public void setContactPhone(String contactPhone){
		this.contactPhone = contactPhone;
	}
	
	public String getContactPhone(){
		return this.contactPhone;
	}
			
	public void setSettlementType(SettlementTypeEnum settlementType){
		this.settlementType = settlementType;
	}
	
	public SettlementTypeEnum getSettlementType(){
		return this.settlementType;
	}
			
	public void setShareProfitAmount(java.math.BigDecimal shareProfitAmount){
		this.shareProfitAmount = shareProfitAmount;
	}
	
	public java.math.BigDecimal getShareProfitAmount(){
		return this.shareProfitAmount;
	}
			
	public void setCreateTime(java.util.Date createTime){
		this.createTime = createTime;
	}
	
	public java.util.Date getCreateTime(){
		return this.createTime;
	}
			
	public void setUpdateTime(java.util.Date updateTime){
		this.updateTime = updateTime;
	}
	
	public java.util.Date getUpdateTime(){
		return this.updateTime;
	}
			
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
