package com.ssm.manage.entity;

import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

@Table(name = "sys_company")
public class SysCompany  implements Serializable {
    //公司ID
    @Id
    private Integer companyId;
    //公司编码
    private String companyCode;
    //公司名称
    private String companyName;
    //法人代表
    private String legalPerson;
    //上级ID
    private Integer parentId;
    //上级编码
    private String parentCode;
    //上级名称
    private String parentName;
    //信用证号码
    private String creditNumber;
    //注册时间
    private String registrationDate;
    //注册资金
    private Double registeredFund;
    //经营年限
    private Integer manageAge;
    //状态
    private Integer status;
    //性质
    private String nature;
    //经营范围
    private String businessScope;
    //地址
    private String site;
    //备注
    private String remark;
    //创建者ID
    private Long funderId;
    //创建者名称
    private String funderName;
    //创建时间
    private Date funderDate;
    //修改者ID
    private Long updatedId;
    //修改者名称
    private String updatedName;
    //修改时间
    private Date updatedDate;

    public Integer getCompanyId() {
        return companyId;
    }

    public void setCompanyId(Integer companyId) {
        this.companyId = companyId;
    }

    public String getCompanyCode() {
        return companyCode;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getLegalPerson() {
        return legalPerson;
    }

    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public String getParentCode() {
        return parentCode;
    }

    public void setParentCode(String parentCode) {
        this.parentCode = parentCode;
    }

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }

    public String getCreditNumber() {
        return creditNumber;
    }

    public void setCreditNumber(String creditNumber) {
        this.creditNumber = creditNumber;
    }

    public String getRegistrationDate() {
        return registrationDate;
    }

    public void setRegistrationDate(String registrationDate) {
        this.registrationDate = registrationDate;
    }

    public Double getRegisteredFund() {
        return registeredFund;
    }

    public void setRegisteredFund(Double registeredFund) {
        this.registeredFund = registeredFund;
    }

    public Integer getManageAge() {
        return manageAge;
    }

    public void setManageAge(Integer manageAge) {
        this.manageAge = manageAge;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getNature() {
        return nature;
    }

    public void setNature(String nature) {
        this.nature = nature;
    }

    public String getBusinessScope() {
        return businessScope;
    }

    public void setBusinessScope(String businessScope) {
        this.businessScope = businessScope;
    }

    public String getSite() {
        return site;
    }

    public void setSite(String site) {
        this.site = site;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Long getFunderId() {
        return funderId;
    }

    public void setFunderId(Long funderId) {
        this.funderId = funderId;
    }

    public String getFunderName() {
        return funderName;
    }

    public void setFunderName(String funderName) {
        this.funderName = funderName;
    }

    public Date getFunderDate() {
        return funderDate;
    }

    public void setFunderDate(Date funderDate) {
        this.funderDate = funderDate;
    }

    public Long getUpdatedId() {
        return updatedId;
    }

    public void setUpdatedId(Long updatedId) {
        this.updatedId = updatedId;
    }

    public String getUpdatedName() {
        return updatedName;
    }

    public void setUpdatedName(String updatedName) {
        this.updatedName = updatedName;
    }

    public Date getUpdatedDate() {
        return updatedDate;
    }

    public void setUpdatedDate(Date updatedDate) {
        this.updatedDate = updatedDate;
    }

    @Override
    public String toString() {
        return "SysCompany{" +
                "companyId=" + companyId +
                ", companyCode='" + companyCode + '\'' +
                ", companyName='" + companyName + '\'' +
                ", legalPerson='" + legalPerson + '\'' +
                ", parentId=" + parentId +
                ", parentCode='" + parentCode + '\'' +
                ", parentName='" + parentName + '\'' +
                ", creditNumber='" + creditNumber + '\'' +
                ", registrationDate='" + registrationDate + '\'' +
                ", registeredFund=" + registeredFund +
                ", manageAge=" + manageAge +
                ", status=" + status +
                ", nature='" + nature + '\'' +
                ", businessScope='" + businessScope + '\'' +
                ", site='" + site + '\'' +
                ", remark='" + remark + '\'' +
                ", funderId=" + funderId +
                ", funderName='" + funderName + '\'' +
                ", funderDate=" + funderDate +
                ", updatedId=" + updatedId +
                ", updatedName='" + updatedName + '\'' +
                ", updatedDate=" + updatedDate +
                '}';
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SysCompany that = (SysCompany) o;
        return Objects.equals(companyId, that.companyId) && Objects.equals(companyCode, that.companyCode) && Objects.equals(companyName, that.companyName) && Objects.equals(legalPerson, that.legalPerson) && Objects.equals(parentId, that.parentId) && Objects.equals(parentCode, that.parentCode) && Objects.equals(parentName, that.parentName) && Objects.equals(creditNumber, that.creditNumber) && Objects.equals(registrationDate, that.registrationDate) && Objects.equals(registeredFund, that.registeredFund) && Objects.equals(manageAge, that.manageAge) && Objects.equals(status, that.status) && Objects.equals(nature, that.nature) && Objects.equals(businessScope, that.businessScope) && Objects.equals(site, that.site) && Objects.equals(remark, that.remark) && Objects.equals(funderId, that.funderId) && Objects.equals(funderName, that.funderName) && Objects.equals(funderDate, that.funderDate) && Objects.equals(updatedId, that.updatedId) && Objects.equals(updatedName, that.updatedName) && Objects.equals(updatedDate, that.updatedDate);
    }

    @Override
    public int hashCode() {
        return Objects.hash(companyId, companyCode, companyName, legalPerson, parentId, parentCode, parentName, creditNumber, registrationDate, registeredFund, manageAge, status, nature, businessScope, site, remark, funderId, funderName, funderDate, updatedId, updatedName, updatedDate);
    }
}
