package com.ruoyi.oa.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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_contract
 *
 * @author cmc
 * @date 2024-03-15
 */
public class CmcContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 合同id（ht2024w002） */
    private String contractId;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractNumber;

    /** 合同名称 */
    @Excel(name = "合同名称")
    private String contractName;

    /** 甲方单位 */
    @Excel(name = "甲方单位")
    private String partyA;

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

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

    /** 项目类型 */
    @Excel(name = "项目类型")
    private String projectType;

    /** 项目来源（0院内、1院外） */
    @Excel(name = "项目来源", readConverterExp = "0=院内、1院外")
    private String projectSource;

    /** 拟承担部门 */
    @Excel(name = "拟承担部门")
    private String undertakingDept;

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

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

    /** 合同文件 */
    @Excel(name = "合同文件")
    private String contractDocument;

    /** 拟稿人 */
    @Excel(name = "拟稿人")
    private Long drafter;

    /** 拟稿日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "拟稿日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date draftTime;

    /** 关联项目 */
    @Excel(name = "关联项目")
    private String projectIds;

    /** 签订日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签订日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signDate;

    /** 签订备注 */
    @Excel(name = "签订备注")
    private String signRemark;

    /** 签订扫描件 */
    @Excel(name = "签订扫描件")
    private String signScan;

    /** 评审方式 */
    @Excel(name = "评审方式")
    private String commentType;

    public void setContractId(String contractId)
    {
        this.contractId = contractId;
    }

    public String getContractId()
    {
        return contractId;
    }
    public void setContractNumber(String contractNumber)
    {
        this.contractNumber = contractNumber;
    }

    public String getContractNumber()
    {
        return contractNumber;
    }
    public void setContractName(String contractName)
    {
        this.contractName = contractName;
    }

    public String getContractName()
    {
        return contractName;
    }
    public void setPartyA(String partyA)
    {
        this.partyA = partyA;
    }

    public String getPartyA()
    {
        return partyA;
    }
    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 setProjectType(String projectType)
    {
        this.projectType = projectType;
    }

    public String getProjectType()
    {
        return projectType;
    }
    public void setProjectSource(String projectSource)
    {
        this.projectSource = projectSource;
    }

    public String getProjectSource()
    {
        return projectSource;
    }
    public void setUndertakingDept(String undertakingDept)
    {
        this.undertakingDept = undertakingDept;
    }

    public String getUndertakingDept()
    {
        return undertakingDept;
    }
    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }
    public void setDeposit(BigDecimal deposit)
    {
        this.deposit = deposit;
    }

    public BigDecimal getDeposit()
    {
        return deposit;
    }
    public void setContractDocument(String contractDocument)
    {
        this.contractDocument = contractDocument;
    }

    public String getContractDocument()
    {
        return contractDocument;
    }
    public void setDrafter(Long drafter)
    {
        this.drafter = drafter;
    }

    public Long getDrafter()
    {
        return drafter;
    }
    public void setDraftTime(Date draftTime)
    {
        this.draftTime = draftTime;
    }

    public Date getDraftTime()
    {
        return draftTime;
    }
    public void setProjectIds(String projectIds)
    {
        this.projectIds = projectIds;
    }

    public String getProjectIds()
    {
        return projectIds;
    }
    public void setSignDate(Date signDate)
    {
        this.signDate = signDate;
    }

    public Date getSignDate()
    {
        return signDate;
    }
    public void setSignRemark(String signRemark)
    {
        this.signRemark = signRemark;
    }

    public String getSignRemark()
    {
        return signRemark;
    }
    public void setSignScan(String signScan)
    {
        this.signScan = signScan;
    }

    public String getSignScan()
    {
        return signScan;
    }
    public void setCommentType(String commentType)
    {
        this.commentType = commentType;
    }

    public String getCommentType()
    {
        return commentType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("contractId", getContractId())
                .append("contractNumber", getContractNumber())
                .append("contractName", getContractName())
                .append("partyA", getPartyA())
                .append("contactPerson", getContactPerson())
                .append("telephone", getTelephone())
                .append("projectType", getProjectType())
                .append("projectSource", getProjectSource())
                .append("undertakingDept", getUndertakingDept())
                .append("amount", getAmount())
                .append("deposit", getDeposit())
                .append("contractDocument", getContractDocument())
                .append("drafter", getDrafter())
                .append("draftTime", getDraftTime())
                .append("projectIds", getProjectIds())
                .append("remark", getRemark())
                .append("signDate", getSignDate())
                .append("signRemark", getSignRemark())
                .append("signScan", getSignScan())
                .append("commentType", getCommentType())
                .toString();
    }
}
