package com.sunxung.factoring.entity.purchcontractmanagement;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.BaseEntity;
import com.sunxung.factoring.entity.project.ProjectInformation;
import com.sunxung.factoring.entity.sys.Dictionary;

import java.math.BigDecimal;

/**
 * <p>
 * 采购合同-基本信息表
 * </p>
 *
 * @author daxian
 * @since 2022-03-09
 */
@TableName("c_purch_contract_basic_info")
public class PurchContractBasicInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 合同编号
     */
    @TableField("contract_number")
    private String contractNumber;

    /**
     * 合同名称
     */
    @TableField("contract_name")
    private String contractName;

    /**
     * 供应商名称
     */
    @TableField("supplier_name")
    private String supplierName;

    /**
     * 需方公司名称
     */
    @TableField("buyer_name")
    private String buyerName;

    /**
     * 项目名称
     */
    @TableField("project_name")
    private String projectName;

    /**
     * 采购合同期限
     */
//    @TableField("contract_period")
//    private String contractPeriod;

    /**
     * 回购方式（先息后本，仅本金）
     */
    @TableField("repurch_method")
    private String repurchMethod;

    /**
     * 回购方式
     **/
    @TableField(exist = false)
    private Dictionary repurchMethodDic;


    /**
     * 合同约定金额类型（0固定金额、1适时网价）
     */
    @TableField("contract_plan_amount_type")
    private Integer contractPlanAmountType;

    /**
     * 合同约定金额
     */
    @TableField("contract_plan_amount")
    private BigDecimal contractPlanAmount;

    /**
     * 采购合同管理Id
     */
    @TableField("c_purch_contract_management_id")
    private Long purchContractManagementId;
    /**
     * 合同Id
     */
    @TableField("contract_id")
    private String contractId;

    /**
     * 贸易平台id
     */
    @TableField("trading_platform_id")
    private Long tradingPlatformId;

    /**
     * 对应的业务管理信息
     */
    @TableField(exist = false)
    private ProjectInformation projectInformation;

    /**
     * 暂存
     */
    @TableField(exist = false)
    private Boolean Staging;

    public Boolean getStaging() {
        return Staging;
    }

    public void setStaging(Boolean staging) {
        Staging = staging;
    }

    public String getContractNumber() {
        return contractNumber;
    }

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

    public String getContractName() {
        return contractName;
    }

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

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getBuyerName() {
        return buyerName;
    }

    public void setBuyerName(String buyerName) {
        this.buyerName = buyerName;
    }

//    public String getContractPeriod() {
//        return contractPeriod;
//    }
//
//    public void setContractPeriod(String contractPeriod) {
//        this.contractPeriod = contractPeriod;
//    }

    public String getRepurchMethod() {
        return repurchMethod;
    }

    public void setRepurchMethod(String repurchMethod) {
        this.repurchMethod = repurchMethod;
    }

    public Dictionary getRepurchMethodDic() {
        return repurchMethodDic;
    }

    public void setRepurchMethodDic(Dictionary repurchMethodDic) {
        this.repurchMethodDic = repurchMethodDic;
    }

    public Integer getContractPlanAmountType() {
        return contractPlanAmountType;
    }

    public void setContractPlanAmountType(Integer contractPlanAmountType) {
        this.contractPlanAmountType = contractPlanAmountType;
    }

    public BigDecimal getContractPlanAmount() {
        return contractPlanAmount;
    }

    public void setContractPlanAmount(BigDecimal contractPlanAmount) {
        this.contractPlanAmount = contractPlanAmount;
    }

    public Long getPurchContractManagementId() {
        return purchContractManagementId;
    }

    public void setPurchContractManagementId(Long purchContractManagementId) {
        this.purchContractManagementId = purchContractManagementId;
    }

    public ProjectInformation getProjectInformation() {
        return projectInformation;
    }

    public void setProjectInformation(ProjectInformation projectInformation) {
        this.projectInformation = projectInformation;
    }

    public String getContractId() {
        return contractId;
    }

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

    public String getProjectName() {
        return projectName;
    }

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

    public Long getTradingPlatformId() {
        return tradingPlatformId;
    }

    public void setTradingPlatformId(Long tradingPlatformId) {
        this.tradingPlatformId = tradingPlatformId;
    }

    @Override
    public String toString() {
        return "PurchContractBasicInfo{" +
                "contractNumber=" + contractNumber +
                ", contractName=" + contractName +
                ", supplierName=" + supplierName +
                ", buyerName=" + buyerName +
                ", repurchMethod=" + repurchMethod +
                ", contractPlanAmountType=" + contractPlanAmountType +
                ", contractPlanAmount=" + contractPlanAmount +
                ", purchContractManagementId=" + purchContractManagementId +
                "}";
    }
}
