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.SysDept;
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_tender
 * 
 * @author cmc
 * @date 2024-03-14
 */
public class CmcTender extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 投标id */
    private Integer tenderId;

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

    /** 招标业主 */
    @Excel(name = "招标业主")
    private String partyAName;

    /** 业主联系人 */
    @Excel(name = "业主联系人")
    private String aPerson;

    /** 业主联系电话 */
    @Excel(name = "业主联系电话")
    private String aPhone;

    /** 招标代理 */
    @Excel(name = "招标代理")
    private String agent;

    /** 代理联系人 */
    @Excel(name = "代理联系人")
    private String agentPerson;

    /** 代理联系电话 */
    @Excel(name = "代理联系电话")
    private String agentPhone;

    /** 招标地点 */
    @Excel(name = "招标地点")
    private String place;

    /** 投标部门 */
    @Excel(name = "投标部门")
    private String tenderDeptName;
    private Long dept;

    /** 投标委托人 */
    @Excel(name = "投标委托人")
    private String trusteeUserName;
    private Long trustee;

    /** 业主预算 */
    @Excel(name = "业主预算")
    private BigDecimal budget;

    /** 拟报价金额 */
    @Excel(name = "拟报价金额")
    private BigDecimal quote;

    /** 保证金 */
    @Excel(name = "保证金")
    private BigDecimal deposit;

    /** 投标时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "投标时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tenderTime;

    /** 标书购买截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "标书购买截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bidBuyDeadline;

    /** 招标信息网址 */
    @Excel(name = "招标信息网址")
    private String bidWebsite;

    /** 招标文件 */
    @Excel(name = "招标文件")
    private String bidDocument;

    /** 项目内容简述 */
    @Excel(name = "项目内容简述")
    private String projectBriefly;

    /** 商务标书编写人 */
    @Excel(name = "商务标书编写人")
    private String businessUserName;
    private Long businessWriter;

    /** 商务标书要求提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "商务标书要求提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date businessDeadline;

    /** 技术标书编写人 */
    @Excel(name = "技术标书编写人")
    private String techUserName;
    private Long techWriter;

    /** 技术标书要求提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "技术标书要求提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date techDeadline;

    /** 标书合稿人 */
    @Excel(name = "标书合稿人")
    private String combinerUserName;
    private Long tenderCombiner;

    /** 标书检查人 */
    @Excel(name = "标书检查人")
    private String checkerUserName;
    private Long tenderChecker;

    /** 标书打印装订人 */
    @Excel(name = "标书打印装订人")
    private String printerUserName;
    private Long tenderPrinter;

    /** 是否中标 */
    @Excel(name = "是否中标")
    private String isWin;

    /** 标书文件 */
//    @Excel(name = "标书文件")
    private String tenderDocument;

    private SysUser trusteeUser;

    private SysUser businessUser;

    private SysUser techUser;

    private SysUser combinerUser;

    private SysUser checkerUser;

    private SysUser printerUser;

    private SysDept tenderDept;

    public void setTenderId(Integer tenderId)
    {
        this.tenderId = tenderId;
    }

    public Integer getTenderId()
    {
        return tenderId;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setPartyAName(String partyAName)
    {
        this.partyAName = partyAName;
    }

    public String getPartyAName()
    {
        return partyAName;
    }
    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 setAgent(String agent) 
    {
        this.agent = agent;
    }

    public String getAgent() 
    {
        return agent;
    }
    public void setAgentPerson(String agentPerson) 
    {
        this.agentPerson = agentPerson;
    }

    public String getAgentPerson() 
    {
        return agentPerson;
    }
    public void setAgentPhone(String agentPhone) 
    {
        this.agentPhone = agentPhone;
    }

    public String getAgentPhone() 
    {
        return agentPhone;
    }
    public void setPlace(String place) 
    {
        this.place = place;
    }

    public String getPlace() 
    {
        return place;
    }
    public void setDept(Long dept) 
    {
        this.dept = dept;
    }

    public Long getDept() 
    {
        return dept;
    }
    public void setTrustee(Long trustee) 
    {
        this.trustee = trustee;
    }

    public Long getTrustee() 
    {
        return trustee;
    }
    public void setBudget(BigDecimal budget) 
    {
        this.budget = budget;
    }

    public BigDecimal getBudget() 
    {
        return budget;
    }
    public void setQuote(BigDecimal quote) 
    {
        this.quote = quote;
    }

    public BigDecimal getQuote() 
    {
        return quote;
    }
    public void setDeposit(BigDecimal deposit) 
    {
        this.deposit = deposit;
    }

    public BigDecimal getDeposit() 
    {
        return deposit;
    }
    public void setTenderTime(Date tenderTime) 
    {
        this.tenderTime = tenderTime;
    }

    public Date getTenderTime() 
    {
        return tenderTime;
    }
    public void setBidBuyDeadline(Date bidBuyDeadline) 
    {
        this.bidBuyDeadline = bidBuyDeadline;
    }

    public Date getBidBuyDeadline() 
    {
        return bidBuyDeadline;
    }
    public void setBidWebsite(String bidWebsite) 
    {
        this.bidWebsite = bidWebsite;
    }

    public String getBidWebsite() 
    {
        return bidWebsite;
    }
    public void setBidDocument(String bidDocument) 
    {
        this.bidDocument = bidDocument;
    }

    public String getBidDocument() 
    {
        return bidDocument;
    }
    public void setProjectBriefly(String projectBriefly) 
    {
        this.projectBriefly = projectBriefly;
    }

    public String getProjectBriefly() 
    {
        return projectBriefly;
    }
    public void setBusinessWriter(Long businessWriter) 
    {
        this.businessWriter = businessWriter;
    }

    public Long getBusinessWriter() 
    {
        return businessWriter;
    }
    public void setBusinessDeadline(Date businessDeadline) 
    {
        this.businessDeadline = businessDeadline;
    }

    public Date getBusinessDeadline() 
    {
        return businessDeadline;
    }
    public void setTechWriter(Long techWriter) 
    {
        this.techWriter = techWriter;
    }

    public Long getTechWriter() 
    {
        return techWriter;
    }
    public void setTechDeadline(Date techDeadline) 
    {
        this.techDeadline = techDeadline;
    }

    public Date getTechDeadline() 
    {
        return techDeadline;
    }
    public void setTenderCombiner(Long tenderCombiner) 
    {
        this.tenderCombiner = tenderCombiner;
    }

    public Long getTenderCombiner() 
    {
        return tenderCombiner;
    }
    public void setTenderChecker(Long tenderChecker) 
    {
        this.tenderChecker = tenderChecker;
    }

    public Long getTenderChecker() 
    {
        return tenderChecker;
    }
    public void setTenderPrinter(Long tenderPrinter) 
    {
        this.tenderPrinter = tenderPrinter;
    }

    public Long getTenderPrinter() 
    {
        return tenderPrinter;
    }
    public void setTenderDocument(String tenderDocument) 
    {
        this.tenderDocument = tenderDocument;
    }

    public String getTenderDocument() 
    {
        return tenderDocument;
    }
    public void setIsWin(String isWin)
    {
        this.isWin = isWin;
    }

    public String getIsWin()
    {
        return isWin;
    }
    public void setBusinessUser(SysUser businessUser)
    {
        this.businessUser = businessUser;
        this.businessUserName = businessUser != null ? businessUser.getNickName() : "";
    }

    public SysUser getBusinessUser()
    {
        return businessUser;
    }
    public void setTechUser(SysUser techUser)
    {
        this.techUser = techUser;
        this.techUserName = techUser != null ? techUser.getNickName() : "";
    }

    public SysUser getTechUser()
    {
        return techUser;
    }
    public void setCombinerUser(SysUser combinerUser)
    {
        this.combinerUser = combinerUser;
        this.combinerUserName = combinerUser != null ? combinerUser.getNickName() : "";
    }

    public SysUser getCombinerUser()
    {
        return combinerUser;
    }
    public void setCheckerUser(SysUser checkerUser)
    {
        this.checkerUser = checkerUser;
        this.checkerUserName = checkerUser != null ? checkerUser.getNickName() : "";
    }

    public SysUser getCheckerUser()
    {
        return checkerUser;
    }
    public void setPrinterUser(SysUser printerUser)
    {
        this.printerUser = printerUser;
        this.printerUserName = printerUser != null ? printerUser.getNickName() : "";
    }

    public SysUser getPrinterUser()
    {
        return printerUser;
    }
    public void setTrusteeUser(SysUser trusteeUser)
    {
        this.trusteeUser = trusteeUser;
        this.trusteeUserName = trusteeUser != null ? trusteeUser.getNickName() : "";
    }

    public SysUser getTrusteeUser()
    {
        return trusteeUser;
    }
    public void setTenderDept(SysDept tenderDept)
    {
        this.tenderDept = tenderDept;
        this.tenderDeptName = tenderDept != null ? tenderDept.getDeptName() : "";
    }

    public SysDept getTenderDept()
    {
        return tenderDept;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("tenderId", getTenderId())
            .append("projectName", getProjectName())
            .append("partyAName", getPartyAName())
            .append("aPerson", getaPerson())
            .append("aPhone", getaPhone())
            .append("agent", getAgent())
            .append("agentPerson", getAgentPerson())
            .append("agentPhone", getAgentPhone())
            .append("place", getPlace())
            .append("dept", getDept())
            .append("trustee", getTrustee())
            .append("budget", getBudget())
            .append("quote", getQuote())
            .append("deposit", getDeposit())
            .append("tenderTime", getTenderTime())
            .append("bidBuyDeadline", getBidBuyDeadline())
            .append("bidWebsite", getBidWebsite())
            .append("bidDocument", getBidDocument())
            .append("projectBriefly", getProjectBriefly())
            .append("businessWriter", getBusinessWriter())
            .append("businessDeadline", getBusinessDeadline())
            .append("techWriter", getTechWriter())
            .append("techDeadline", getTechDeadline())
            .append("tenderCombiner", getTenderCombiner())
            .append("tenderChecker", getTenderChecker())
            .append("tenderPrinter", getTenderPrinter())
            .append("tenderDocument", getTenderDocument())
            .toString();
    }
}
