/**
* 文件：SupplierEntity.java
* 版本：1.0.0
* 日期：
* Copyright &reg; 
* All right reserved.
*/

package com.mortals.xhx.module.supplier.model;

import com.mortals.framework.model.BaseEntityLong;

import java.util.Date;

/**
 * <p>Title: 供应商表</p>
 * <p>Description: SupplierEntity  </p>
 * <p>Copyright: Copyright &reg;  </p>
 * <p>Company: </p>
 * @author 
 * @version 1.0.0
 */
public class SupplierEntity extends BaseEntityLong{
	private static final long serialVersionUID = 1614672503709L;
	
	/** 供应商名称，如个人姓名或公司名称全称 */
	private String name;

	/** 供应商代码，全局唯一，生成后不可变 */
	private String code;

	/** 供应商标签，多个以逗号分隔;参数配置-SupplierTags */
	private String tags;

	/** 供应商性质，10私企，20国企，30外企，40合资，50个体公商户，60个人，默认10 */
	private Integer nature;

	/** 行业类别，参看国家标准：http://www.stats.gov.cn/tjsj/tjbz/hyflbz/201905/P020190716349644060705.pdf */
	private Integer trade;

	/** 结算方式，10现金结算，20票据转让，30转账结算 */
	private Integer settlementType;

	/** 信用代码，当供应商性质为非个人时：统一信用代码；当主体类型为个人时：身份证号 */
	private String creditCode;

	/** 联系人，姓名 */
	private String contactsUser;

	/** 联系手机 */
	private String contactsMobile;

	/** 联系座机 */
	private String contactsPhone;

	/** 联系邮箱 */
	private String contactsEmail;

	/** 联系地址 */
	private String contactsAddress;

	/** 网站 */
	private String contactsWebsite;

	/** 备注 */
	private String remark;

	/** 变更时间 */
	private Date updateTime;

	/** 变更用户loginName */
	private String updateUser;

	/** 创建时间 */
	private Date createTime;

	/** 创建用户loginName */
	private String createUser;


	public SupplierEntity(){
		
	}
	/**
	 * 获取 供应商名称，如个人姓名或公司名称全称
	 * @return name
	 */
	public String getName(){
		return this.name;
	}

	/**
	 * 设置 供应商名称，如个人姓名或公司名称全称
	 * @param name
	 */
	public void setName(String name){
		this.name = name;
	}

	/**
	 * 获取 供应商代码，全局唯一，生成后不可变
	 * @return code
	 */
	public String getCode(){
		return this.code;
	}

	/**
	 * 设置 供应商代码，全局唯一，生成后不可变
	 * @param code
	 */
	public void setCode(String code){
		this.code = code;
	}

	/**
	 * 获取 供应商标签，多个以逗号分隔;参数配置-SupplierTags
	 * @return tags
	 */
	public String getTags(){
		return this.tags;
	}

	/**
	 * 设置 供应商标签，多个以逗号分隔;参数配置-SupplierTags
	 * @param tags
	 */
	public void setTags(String tags){
		this.tags = tags;
	}

	/**
	 * 获取 供应商性质，10私企，20国企，30外企，40合资，50个体公商户，60个人，默认10
	 * @return nature
	 */
	public Integer getNature(){
		return this.nature;
	}

	/**
	 * 设置 供应商性质，10私企，20国企，30外企，40合资，50个体公商户，60个人，默认10
	 * @param nature
	 */
	public void setNature(Integer nature){
		this.nature = nature;
	}

	/**
	 * 获取 行业类别，参看国家标准：http://www.stats.gov.cn/tjsj/tjbz/hyflbz/201905/P020190716349644060705.pdf
	 * @return trade
	 */
	public Integer getTrade(){
		return this.trade;
	}

	/**
	 * 设置 行业类别，参看国家标准：http://www.stats.gov.cn/tjsj/tjbz/hyflbz/201905/P020190716349644060705.pdf
	 * @param trade
	 */
	public void setTrade(Integer trade){
		this.trade = trade;
	}

	/**
	 * 获取 结算方式，10现金结算，20票据转让，30转账结算
	 * @return settlementType
	 */
	public Integer getSettlementType(){
		return this.settlementType;
	}

	/**
	 * 设置 结算方式，10现金结算，20票据转让，30转账结算
	 * @param settlementType
	 */
	public void setSettlementType(Integer settlementType){
		this.settlementType = settlementType;
	}

	/**
	 * 获取 信用代码，当供应商性质为非个人时：统一信用代码；当主体类型为个人时：身份证号
	 * @return creditCode
	 */
	public String getCreditCode(){
		return this.creditCode;
	}

	/**
	 * 设置 信用代码，当供应商性质为非个人时：统一信用代码；当主体类型为个人时：身份证号
	 * @param creditCode
	 */
	public void setCreditCode(String creditCode){
		this.creditCode = creditCode;
	}

	/**
	 * 获取 联系人，姓名
	 * @return contactsUser
	 */
	public String getContactsUser(){
		return this.contactsUser;
	}

	/**
	 * 设置 联系人，姓名
	 * @param contactsUser
	 */
	public void setContactsUser(String contactsUser){
		this.contactsUser = contactsUser;
	}

	/**
	 * 获取 联系手机
	 * @return contactsMobile
	 */
	public String getContactsMobile(){
		return this.contactsMobile;
	}

	/**
	 * 设置 联系手机
	 * @param contactsMobile
	 */
	public void setContactsMobile(String contactsMobile){
		this.contactsMobile = contactsMobile;
	}

	/**
	 * 获取 联系座机
	 * @return contactsPhone
	 */
	public String getContactsPhone(){
		return this.contactsPhone;
	}

	/**
	 * 设置 联系座机
	 * @param contactsPhone
	 */
	public void setContactsPhone(String contactsPhone){
		this.contactsPhone = contactsPhone;
	}

	/**
	 * 获取 联系邮箱
	 * @return contactsEmail
	 */
	public String getContactsEmail(){
		return this.contactsEmail;
	}

	/**
	 * 设置 联系邮箱
	 * @param contactsEmail
	 */
	public void setContactsEmail(String contactsEmail){
		this.contactsEmail = contactsEmail;
	}

	/**
	 * 获取 联系地址
	 * @return contactsAddress
	 */
	public String getContactsAddress(){
		return this.contactsAddress;
	}

	/**
	 * 设置 联系地址
	 * @param contactsAddress
	 */
	public void setContactsAddress(String contactsAddress){
		this.contactsAddress = contactsAddress;
	}

	/**
	 * 获取 网站
	 * @return contactsWebsite
	 */
	public String getContactsWebsite(){
		return this.contactsWebsite;
	}

	/**
	 * 设置 网站
	 * @param contactsWebsite
	 */
	public void setContactsWebsite(String contactsWebsite){
		this.contactsWebsite = contactsWebsite;
	}

	/**
	 * 获取 备注
	 * @return remark
	 */
	public String getRemark(){
		return this.remark;
	}

	/**
	 * 设置 备注
	 * @param remark
	 */
	public void setRemark(String remark){
		this.remark = remark;
	}

	/**
	 * 获取 变更时间
	 * @return updateTime
	 */
	public Date getUpdateTime(){
		return this.updateTime;
	}

	/**
	 * 设置 变更时间
	 * @param updateTime
	 */
	public void setUpdateTime(Date updateTime){
		this.updateTime = updateTime;
	}

	/**
	 * 获取 变更用户loginName
	 * @return updateUser
	 */
	public String getUpdateUser(){
		return this.updateUser;
	}

	/**
	 * 设置 变更用户loginName
	 * @param updateUser
	 */
	public void setUpdateUser(String updateUser){
		this.updateUser = updateUser;
	}

	/**
	 * 获取 创建时间
	 * @return createTime
	 */
	public Date getCreateTime(){
		return this.createTime;
	}

	/**
	 * 设置 创建时间
	 * @param createTime
	 */
	public void setCreateTime(Date createTime){
		this.createTime = createTime;
	}

	/**
	 * 获取 创建用户loginName
	 * @return createUser
	 */
	public String getCreateUser(){
		return this.createUser;
	}

	/**
	 * 设置 创建用户loginName
	 * @param createUser
	 */
	public void setCreateUser(String createUser){
		this.createUser = createUser;
	}


	@Override
	public int hashCode() {
		return this.getId().hashCode();
	}
	@Override
	public boolean equals(Object obj) {
		if (obj == null)
			return false;
		if (obj instanceof SupplierEntity) {
			SupplierEntity tmp = (SupplierEntity) obj;
			if (this.getId().longValue() == tmp.getId().longValue()) {
				return true;
			}
		}
		return false;
	}
	public String toString(){
		StringBuilder sb = new StringBuilder("");
		sb.append("id:").append(getId())
		  .append(",name:").append(getName())
		  .append(",code:").append(getCode())
		  .append(",tags:").append(getTags())
		  .append(",nature:").append(getNature())
		  .append(",trade:").append(getTrade())
		  .append(",settlementType:").append(getSettlementType())
		  .append(",creditCode:").append(getCreditCode())
		  .append(",contactsUser:").append(getContactsUser())
		  .append(",contactsMobile:").append(getContactsMobile())
		  .append(",contactsPhone:").append(getContactsPhone())
		  .append(",contactsEmail:").append(getContactsEmail())
		  .append(",contactsAddress:").append(getContactsAddress())
		  .append(",contactsWebsite:").append(getContactsWebsite())
		  .append(",remark:").append(getRemark())
		  .append(",updateTime:").append(getUpdateTime())
		  .append(",updateUser:").append(getUpdateUser())
		  .append(",createTime:").append(getCreateTime())
		  .append(",createUser:").append(getCreateUser());
		return sb.toString();
	}
	public void initAttrValue(){
		this.name = null;
		this.code = null;
		this.tags = null;
		this.nature = 10;
		this.trade = null;
		this.settlementType = null;
		this.creditCode = null;
		this.contactsUser = null;
		this.contactsMobile = null;
		this.contactsPhone = null;
		this.contactsEmail = null;
		this.contactsAddress = null;
		this.contactsWebsite = null;
		this.remark = null;
		this.updateTime = null;
		this.updateUser = null;
		this.createTime = null;
		this.createUser = null;
	}
}