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 javax.validation.constraints.NotNull;

/**
 * <p>
 * 采购合同管理表
 * </p>
 *
 * @author yafan
 * @since 2023-12-02
 */
@TableName("c_purch_contract_management")
public class CPurchContractManagement extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 供应商id
     **/
    @TableField("c_supplier_info_id")
    private Long supplierId;

    /**
     * 业务编号
     */
    @TableField("business_number")
    @NotNull(message = "业务编号不能为空！")
    private String businessNumber;

    /**
     * 合同状态
     */
    @TableField("contract_status")
    private String contractStatus;

    /**
     * 是否发生变更标识、默认为否
     */
    @TableField("is_change")
    private Integer isChange;

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

    /**
     * 合同信息
     */
    @TableField(exist = false)
    private CPurchContractBasicInfo purchContractBasicInfo;

    /**
     * 质保金
     */
    @TableField(exist = false)
    private CPurchContractRetentionInfo purchContractRetentionInfo;

    /**
     * 价格规则
     */
    @TableField(exist = false)
    private CPurchContractPriceRule purchContractPriceRule;

    /**
     * 结算与付款
     */
    @TableField(exist = false)
    private CPurchContractSettlePayment purchContractSettlePayment;

    /**
     * 供应商发货人
     */
    @TableField(exist = false)
    private CPurchContractBuyerSeller purchContractBuyerSeller;

    /**
     * 货物信息
     */
    @TableField(exist = false)
    private CPurchContractGoodsInfo purchContractGoodsInfo;

    public String getBusinessNumber() {
        return businessNumber;
    }

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

    public String getContractStatus() {
        return contractStatus;
    }

    public void setContractStatus(String contractStatus) {
        this.contractStatus = contractStatus;
    }

    public Integer getIsChange() {
        return isChange;
    }

    public void setIsChange(Integer isChange) {
        this.isChange = isChange;
    }

    public CPurchContractBasicInfo getPurchContractBasicInfo() {
        return purchContractBasicInfo;
    }

    public void setPurchContractBasicInfo(CPurchContractBasicInfo purchContractBasicInfo) {
        this.purchContractBasicInfo = purchContractBasicInfo;
    }

    public CPurchContractRetentionInfo getPurchContractRetentionInfo() {
        return purchContractRetentionInfo;
    }

    public void setPurchContractRetentionInfo(CPurchContractRetentionInfo purchContractRetentionInfo) {
        this.purchContractRetentionInfo = purchContractRetentionInfo;
    }

    public CPurchContractPriceRule getPurchContractPriceRule() {
        return purchContractPriceRule;
    }

    public void setPurchContractPriceRule(CPurchContractPriceRule purchContractPriceRule) {
        this.purchContractPriceRule = purchContractPriceRule;
    }

    public CPurchContractSettlePayment getPurchContractSettlePayment() {
        return purchContractSettlePayment;
    }

    public void setPurchContractSettlePayment(CPurchContractSettlePayment purchContractSettlePayment) {
        this.purchContractSettlePayment = purchContractSettlePayment;
    }

    public CPurchContractBuyerSeller getPurchContractBuyerSeller() {
        return purchContractBuyerSeller;
    }

    public void setPurchContractBuyerSeller(CPurchContractBuyerSeller purchContractBuyerSeller) {
        this.purchContractBuyerSeller = purchContractBuyerSeller;
    }

    public CPurchContractGoodsInfo getPurchContractGoodsInfo() {
        return purchContractGoodsInfo;
    }

    public void setPurchContractGoodsInfo(CPurchContractGoodsInfo purchContractGoodsInfo) {
        this.purchContractGoodsInfo = purchContractGoodsInfo;
    }

    public Long getTradingPlatformId() {
        return tradingPlatformId;
    }

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

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    @Override
    public String toString() {
        return "CPurchContractManagement{" +
                ", businessNumber=" + businessNumber +
                ", contractStatus=" + contractStatus +
                ", isChange=" + isChange +
                "}";
    }
}
