/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.worksupplier.entity;

import com.google.common.collect.Lists;
import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
import org.hibernate.validator.constraints.URL;
import org.hibernate.validator.constraints.CreditCardNumber;
import org.hibernate.validator.constraints.Email;

import com.jeeplus.common.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

import java.util.Date;
import java.util.List;

/**
 * 供应商管理Entity
 * @author 供应商管理
 * @version 2018-07-10
 */
public class WorkSupplier extends DataEntity<WorkSupplier> {
	
	private static final long serialVersionUID = 1L;
	private String uscCode;		// 统一社会信用代码
	private String officeId;		// 部门
	private String companyId;		// 公司
	private String name;		// 供应商名称
	private String address;		// 公司地址
	private String zipCode;		// 邮政编码
	private String deputy;		// 法人代表
	private String fax;		// 传真
	private String website;		// 公司网站
	private String registAddress;		// 公司注册地址
	private String registPhone;		// 公司注册电话
	private String bank;		// 开户银行
	private String bankNumber;		// 开户账号
	private String linkName;		// 联系人姓名
	private String qq;		// qq号码
	private String linkPhone;		// 联系人座机
	private String linkMobile;		// 联系人手机
	private String email;		// 电子邮箱
	private String removeSign;		// 移除标记  1	正常 2	移除
	private Date beginContractDate;		// 开始
	private Date endContractDate;		// 结束
	private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
	private String falt;		//

	public String getBranchOffice() {
		return branchOffice;
	}

	public void setBranchOffice(String branchOffice) {
		this.branchOffice = branchOffice;
	}

	private String branchOffice;

	public String getFalt() {
		return falt;
	}

	public void setFalt(String falt) {
		this.falt = falt;
	}

	public WorkSupplier() {
		super();
	}

	public WorkSupplier(String id){
		super(id);
	}

	@ExcelField(title="统一社会信用代码", align=2, sort=7)
	public String getUscCode() {
		return uscCode;
	}

	public void setUscCode(String uscCode) {
		this.uscCode = uscCode;
	}
	
	public String getOfficeId() {
		return officeId;
	}

	public void setOfficeId(String officeId) {
		this.officeId = officeId;
	}
	
	public String getCompanyId() {
		return companyId;
	}

	public List<WorkClientAttachment> getWorkAttachments() {
		return workAttachments;
	}

	public void setWorkAttachments(List<WorkClientAttachment> workAttachments) {
		this.workAttachments = workAttachments;
	}

	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}
	
	@ExcelField(title="供应商名称", align=2, sort=10)
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@ExcelField(title="公司地址", align=2, sort=11)
	public String getAddress() {
		return address;
	}

	public Date getBeginContractDate() {
		return beginContractDate;
	}

	public void setBeginContractDate(Date beginContractDate) {
		this.beginContractDate = beginContractDate;
	}

	public Date getEndContractDate() {
		return endContractDate;
	}

	public void setEndContractDate(Date endContractDate) {
		this.endContractDate = endContractDate;
	}

	public void setAddress(String address) {
		this.address = address;
	}
	
	@ExcelField(title="邮政编码", align=2, sort=12)
	public String getZipCode() {
		return zipCode;
	}

	public void setZipCode(String zipCode) {
		this.zipCode = zipCode;
	}
	
	@ExcelField(title="法人代表", align=2, sort=13)
	public String getDeputy() {
		return deputy;
	}

	public void setDeputy(String deputy) {
		this.deputy = deputy;
	}
	
	@ExcelField(title="传真", align=2, sort=14)
	public String getFax() {
		return fax;
	}

	public void setFax(String fax) {
		this.fax = fax;
	}
	
	@ExcelField(title="公司网站", align=2, sort=15)
	public String getWebsite() {
		return website;
	}

	public void setWebsite(String website) {
		this.website = website;
	}
	
	@ExcelField(title="公司注册地址", align=2, sort=16)
	public String getRegistAddress() {
		return registAddress;
	}

	public void setRegistAddress(String registAddress) {
		this.registAddress = registAddress;
	}
	
	@ExcelField(title="公司注册电话", align=2, sort=17)
	public String getRegistPhone() {
		return registPhone;
	}

	public void setRegistPhone(String registPhone) {
		this.registPhone = registPhone;
	}
	
	@ExcelField(title="开户银行", align=2, sort=18)
	public String getBank() {
		return bank;
	}

	public void setBank(String bank) {
		this.bank = bank;
	}
	
	@ExcelField(title="开户账号", align=2, sort=19)
	public String getBankNumber() {
		return bankNumber;
	}

	public void setBankNumber(String bankNumber) {
		this.bankNumber = bankNumber;
	}
	
	@ExcelField(title="联系人姓名", align=2, sort=20)
	public String getLinkName() {
		return linkName;
	}

	public void setLinkName(String linkName) {
		this.linkName = linkName;
	}
	
	@ExcelField(title="qq号码", align=2, sort=21)
	public String getQq() {
		return qq;
	}

	public void setQq(String qq) {
		this.qq = qq;
	}
	
	@ExcelField(title="联系人座机", align=2, sort=22)
	public String getLinkPhone() {
		return linkPhone;
	}

	public void setLinkPhone(String linkPhone) {
		this.linkPhone = linkPhone;
	}
	
	@ExcelField(title="联系人手机", align=2, sort=23)
	public String getLinkMobile() {
		return linkMobile;
	}

	public void setLinkMobile(String linkMobile) {
		this.linkMobile = linkMobile;
	}
	
	@Email(message="电子邮箱必须为合法邮箱")
	@ExcelField(title="电子邮箱", align=2, sort=24)
	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}
	
	@ExcelField(title="移除标记", align=2, sort=25,dictType = "remove_sign")
	public String getRemoveSign() {
		return removeSign;
	}

	public void setRemoveSign(String removeSign) {
		this.removeSign = removeSign;
	}
	
}