package com.sunxung.factoring.entity.acceptance;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.BaseEntity;
import com.sunxung.factoring.entity.sys.FileStorageDO;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 验收单单价调整表
 * </p>
 *
 * @author yafan
 * @since 2023-12-19
 */
@TableName("c_acceptance_price_adjust_info")
public class CAcceptancePriceAdjustInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 验收单_基础信息表ID
     */
    @TableField("c_acceptance_basic_info_id")
    @NotNull(message = "验收单ID不能为空！")
    private Long cAcceptanceBasicInfoId;

    /**
     * 补充说明
     */
    @TableField("supplement_description")
    @NotNull(message = "补充说明不能为空！")
    private String supplementDescription;

    /**
     * 验收经办人（供应商）
     */
    @TableField("check_operator_supplier")
    @NotNull(message = "验收经办人不能为空！")
    private String checkOperatorSupplier;


    @TableField("mobile")
    @NotNull(message = "验收经办人 联系方式")
    private String mobile;

    /**
     * 业务编号
     */
    @TableField(exist = false)
    private String businessNumber;

    /**
     * 项目名称
     */
    @TableField(exist = false)
    private String projectName;

    /**
     * 核心企业名称
     */
    @TableField(exist = false)
    private String coreEnterprise;

    /**
     * 供应商（主体）名称
     */
    @TableField(exist = false)
    private String mainEnterprise;

    /**
     * 贸易平台名称
     */
    @TableField(exist = false)
    private String platformName;

    /**
     * 删除的附件
     */
    @TableField(exist = false)
    private List<Long> deleteFileIds;

    /**
     * 上传的文件
     */
    @TableField(exist = false)
    private List<Long> fileIds;

    /**
     * 货物信息
     */
    @TableField(exist = false)
    private List<CAcceptancePriceGoodsInfo> priceGoodsInfoList;


    //修改的人员信息
    @TableField(exist = false)
    private  AcceptancePersonInfo cAcceptancePersonInfo;


    /**
     * 说明文件（调价说明）
     */
    @TableField(exist = false)
    private List<FileStorageDO> fileList;


    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Long getcAcceptanceBasicInfoId() {
        return cAcceptanceBasicInfoId;
    }

    public void setcAcceptanceBasicInfoId(Long cAcceptanceBasicInfoId) {
        this.cAcceptanceBasicInfoId = cAcceptanceBasicInfoId;
    }

    public String getSupplementDescription() {
        return supplementDescription;
    }

    public void setSupplementDescription(String supplementDescription) {
        this.supplementDescription = supplementDescription;
    }

    public String getCheckOperatorSupplier() {
        return checkOperatorSupplier;
    }

    public void setCheckOperatorSupplier(String checkOperatorSupplier) {
        this.checkOperatorSupplier = checkOperatorSupplier;
    }

    public String getBusinessNumber() {
        return businessNumber;
    }

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

    public String getProjectName() {
        return projectName;
    }

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

    public String getCoreEnterprise() {
        return coreEnterprise;
    }

    public void setCoreEnterprise(String coreEnterprise) {
        this.coreEnterprise = coreEnterprise;
    }

    public String getMainEnterprise() {
        return mainEnterprise;
    }

    public void setMainEnterprise(String mainEnterprise) {
        this.mainEnterprise = mainEnterprise;
    }

    public String getPlatformName() {
        return platformName;
    }

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

    public List<Long> getDeleteFileIds() {
        return deleteFileIds;
    }

    public void setDeleteFileIds(List<Long> deleteFileIds) {
        this.deleteFileIds = deleteFileIds;
    }

    public List<Long> getFileIds() {
        return fileIds;
    }

    public void setFileIds(List<Long> fileIds) {
        this.fileIds = fileIds;
    }

    public List<CAcceptancePriceGoodsInfo> getPriceGoodsInfoList() {
        return priceGoodsInfoList;
    }

    public void setPriceGoodsInfoList(List<CAcceptancePriceGoodsInfo> priceGoodsInfoList) {
        this.priceGoodsInfoList = priceGoodsInfoList;
    }

    public List<FileStorageDO> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileStorageDO> fileList) {
        this.fileList = fileList;
    }

    public CAcceptancePriceAdjustInfo() {
    }

    public CAcceptancePriceAdjustInfo(AcceptanceBasicInfo basicInfo) {
        this.cAcceptanceBasicInfoId = basicInfo.getId();
        this.checkOperatorSupplier = basicInfo.getCheckOperatorSupplier();
        this.businessNumber = basicInfo.getBusinessNumber();
        this.projectName = basicInfo.getProjectName();
        this.coreEnterprise = basicInfo.getCoreEnterprise().getCorporateName();
        this.mainEnterprise = basicInfo.getMainEnterprise().getCorporateName();
        this.platformName = basicInfo.getPlatform().getPlatformName();
    }

    public AcceptancePersonInfo getcAcceptancePersonInfo() {
        return cAcceptancePersonInfo;
    }

    public void setcAcceptancePersonInfo(
        AcceptancePersonInfo cAcceptancePersonInfo) {
        this.cAcceptancePersonInfo = cAcceptancePersonInfo;
    }

    @Override
    public String toString() {
        return "CAcceptancePriceAdjustInfo{" +
                ", cAcceptanceBasicInfoId=" + cAcceptanceBasicInfoId +
                ", supplementDescription=" + supplementDescription +
                ", checkOperatorSupplier=" + checkOperatorSupplier +
                "}";
    }
}
