package com.ruoyi.oa.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * cmc品牌项目对象 cmc_brand_project
 * 
 * @author cmc
 * @date 2024-04-29
 */
public class CmcBrandProject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目id */
    private String projectId;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNumber;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 甲方单位 */
    private String partyAId;

    @Excel(name = "甲方单位")
    private String partyAName;

    /** 甲方单位联系人 */
    @Excel(name = "甲方单位联系人")
    private String aPerson;

    /** 甲方单位联系电话 */
    @Excel(name = "甲方单位联系电话")
    private String aPhone;

    /** 合作单位 */
    private String partnerId;

    @Excel(name = "合作单位")
    private String partnerName;

    /** 合作单位联系人 */
    @Excel(name = "合作单位联系人")
    private String contactPerson;

    /** 合作单位联系电话 */
    @Excel(name = "合作单位联系电话")
    private String telephone;

    /** 项目工期 */
    @Excel(name = "项目工期")
    private String duration;

    /** 合同金额 */
    @Excel(name = "合同金额")
    private BigDecimal amount;

    /** 项目概况 */
    @Excel(name = "项目概况")
    private String content;

    /** 项目登记人 */
    @Excel(name = "项目登记人")
    private String registrantUserName;
    private Long projectRegistrant;

    private SysUser registrantUser;

    private CmcPartyA partyA;

    private CmcPartner partner;

    /** 项目登记日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目登记日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registerTime;

    public void setProjectId(String projectId) 
    {
        this.projectId = projectId;
    }

    public String getProjectId() 
    {
        return projectId;
    }
    public void setProjectNumber(String projectNumber) 
    {
        this.projectNumber = projectNumber;
    }

    public String getProjectNumber() 
    {
        return projectNumber;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setPartyAId(String partyAId)
    {
        this.partyAId = partyAId;
    }

    public String getPartyAId()
    {
        return partyAId;
    }
    public void setPartyAName(String partyAName)
    {
        this.partyAName = partyAName;
    }

    public String getPartyAName()
    {
        return partyAName;
    }
    public void setPartyA(CmcPartyA partyA)
    {
        this.partyA = partyA;
        this.partyAName = partyA == null ? "" : partyA.getPartyAName();
    }

    public CmcPartyA getPartyA()
    {
        return partyA;
    }
    public void setaPerson(String aPerson) 
    {
        this.aPerson = aPerson;
    }

    public String getaPerson() 
    {
        return aPerson;
    }
    public void setaPhone(String aPhone) 
    {
        this.aPhone = aPhone;
    }

    public String getaPhone() 
    {
        return aPhone;
    }
    public void setPartnerId(String partnerId) 
    {
        this.partnerId = partnerId;
    }

    public String getPartnerId() 
    {
        return partnerId;
    }
    public void setPartnerName(String partnerName)
    {
        this.partnerName = partnerName;
    }

    public String getPartnerName()
    {
        return partnerName;
    }
    public void setPartner(CmcPartner partner)
    {
        this.partner = partner;
        this.partnerName = partner == null ? "" : partner.getPartnerName();
    }

    public CmcPartner getPartner()
    {
        return partner;
    }
    public void setContactPerson(String contactPerson) 
    {
        this.contactPerson = contactPerson;
    }

    public String getContactPerson() 
    {
        return contactPerson;
    }
    public void setTelephone(String telephone) 
    {
        this.telephone = telephone;
    }

    public String getTelephone() 
    {
        return telephone;
    }
    public void setDuration(String duration) 
    {
        this.duration = duration;
    }

    public String getDuration() 
    {
        return duration;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }
    public void setContent(String content)
    {
        this.content = content;
    }

    public String getContent()
    {
        return content;
    }
    public void setProjectRegistrant(Long projectRegistrant)
    {
        this.projectRegistrant = projectRegistrant;
    }

    public Long getProjectRegistrant()
    {
        return projectRegistrant;
    }
    public void setRegisterTime(Date registerTime)
    {
        this.registerTime = registerTime;
    }

    public Date getRegisterTime()
    {
        return registerTime;
    }
        public void setRegistrantUser(SysUser registrantUser)
    {
        this.registrantUser = registrantUser;
        this.registrantUserName = registrantUser == null ? "" : registrantUser.getNickName();
    }

    public SysUser getRegistrantUser()
    {
        return registrantUser;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("projectId", getProjectId())
            .append("projectNumber", getProjectNumber())
            .append("projectName", getProjectName())
            .append("partyAId", getPartyAId())
            .append("aPerson", getaPerson())
            .append("aPhone", getaPhone())
            .append("partnerId", getPartnerId())
            .append("contactPerson", getContactPerson())
            .append("telephone", getTelephone())
            .append("duration", getDuration())
            .append("amount", getAmount())
            .append("content", getContent())
            .append("remark", getRemark())
            .toString();
    }
}
