package com.inkasso.factoring.purchManagement.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.inkasso.factoring.common.entity.BaseEntity;
import com.inkasso.factoring.creditmanagement.entity.ProjectInformation;

import java.math.BigDecimal;

/**
 * <p>
 * 采购合同-基本信息表
 * </p>
 *
 * @author yafan
 * @since 2023-12-02
 */
@TableName("c_purch_contract_basic_info")
public class CPurchContractBasicInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

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

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

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

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

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

    /**
     * 合同约定金额类型（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;

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

    @TableField(exist = false)
    private String businessNumber;

    @TableField(exist = false)
    private String platformName;

    @TableField(exist = false)
    private String stage;

    @TableField(exist = false)
    private String taskId;

    @TableField(exist = false)
    private String status;

    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 getRepurchMethod() {
        return repurchMethod;
    }

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

    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 String getContractId() {
        return contractId;
    }

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

    public ProjectInformation getProjectInformation() {
        return projectInformation;
    }

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

    public String getBusinessNumber() {
        return businessNumber;
    }

    public void setBusinessNumber(String businessNumber) {
        this.businessNumber = businessNumber;
    }

    public String getPlatformName() {
        return platformName;
    }

    public void setPlatformName(String platformName) {
        this.platformName = platformName;
    }

    public String getStage() {
        return stage;
    }

    public void setStage(String stage) {
        this.stage = stage;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getStatus() {
        return status;
    }

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

    public String getProjectName() {
        return projectName;
    }

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

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