package com.trade.service.trade.purchasecontract.domain;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.trade.common.core.domain.BaseEntity;

/**
 * 采购合同表基础表表实体类
 *
 * @author hlb
 * @since 2024-09-07 16:23:15
 */
public class PurchaseContract extends BaseEntity<PurchaseContract> {

    /**
     * 客户id
     */
    private Long customerUserId;
    /**
     * 合同编号
     */
    private String contractNo;
    /**
     * 合同名称
     */
    private String contractName;
    /**
     * 销售合同编号
     */
    private String salesContractNo;
    /**
     * 供应商编号
     */
    private String vendorEntityNo;
    /**
     * 是否使用标准模版 false-否 true-是
     */
    private Boolean templateType;
    /**
     * 签署日期
     */
    private Date signDate;
    /**
     * 提交状态 true-草稿 false-正式
     */
    private Boolean draft;
    /**
     * 合同状态,枚举：purchase_contract_status
     */
    private String status;
    /**
     * 合同金额
     */
    private BigDecimal contractAmount;
    /**
     * 合同币种
     */
    private String contractCurrency;
    /**
     * 提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date gmtSubmit;

    public Long getCustomerUserId() {
        return customerUserId;
    }

    public void setCustomerUserId(Long customerUserId) {
        this.customerUserId = customerUserId;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getContractName() {
        return contractName;
    }

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

    public String getSalesContractNo() {
        return salesContractNo;
    }

    public void setSalesContractNo(String salesContractNo) {
        this.salesContractNo = salesContractNo;
    }

    public String getVendorEntityNo() {
        return vendorEntityNo;
    }

    public void setVendorEntityNo(String vendorEntityNo) {
        this.vendorEntityNo = vendorEntityNo;
    }

    public Boolean getTemplateType() {
        return templateType;
    }

    public void setTemplateType(Boolean templateType) {
        this.templateType = templateType;
    }

    public Date getSignDate() {
        return signDate;
    }

    public void setSignDate(Date signDate) {
        this.signDate = signDate;
    }

    public Boolean getDraft() {
        return draft;
    }

    public void setDraft(Boolean draft) {
        this.draft = draft;
    }

    public String getStatus() {
        return status;
    }

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

    public BigDecimal getContractAmount() {
        return contractAmount;
    }

    public void setContractAmount(BigDecimal contractAmount) {
        this.contractAmount = contractAmount;
    }

    public String getContractCurrency() {
        return contractCurrency;
    }

    public void setContractCurrency(String contractCurrency) {
        this.contractCurrency = contractCurrency;
    }

    public Date getGmtSubmit() {
        return gmtSubmit;
    }

    public void setGmtSubmit(Date gmtSubmit) {
        this.gmtSubmit = gmtSubmit;
    }
}
