package com.fjhx.sale.entity.sample.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fjhx.file.entity.ObsFile;
import com.ruoyi.common.core.domain.BasePo;
import com.baomidou.mybatisplus.annotation.TableField;

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

import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 样品单表
 * </p>
 *
 * @author
 * @since 2023-05-05
 */
@Getter
@Setter
@TableName("sample")
public class Sample extends BasePo {

    /**
     * 编码
     */
    private String code;

    /**
     * 合同模版ID
     */
    private Long contractTemplateId;

    /**
     * 卖方公司ID
     */
    private Long sellCorporationId;

    /**
     * 卖方联系人名称
     */
    private String sellContactName;

    /**
     * 卖方联系人电话
     */
    private String sellContactNumber;

    /**
     * 卖方国家表id
     */
    private String sellCountryId;

    /**
     * 卖方省份id
     */
    private String sellProvinceId;

    /**
     * 卖方城市id
     */
    private String sellCityId;

    /**
     * 卖方国家表名称
     */
    private String sellCountryName;

    /**
     * 卖方省份名称
     */
    private String sellProvinceName;

    /**
     * 卖方城市名称
     */
    private String sellCityName;

    /**
     * 卖方详细地址
     */
    private String sellAddress;

    /**
     * 买方公司ID
     */
    private Long buyCorporationId;

    /**
     * 买方联系人名称
     */
    private String buyContactName;

    /**
     * 买方联系人电话
     */
    private String buyContactNumber;

    /**
     * 买方国家表id
     */
    private Long buyCountryId;

    /**
     * 买方省份id
     */
    private Long buyProvinceId;

    /**
     * 买方城市id
     */
    private Long buyCityId;

    /**
     * 买方详细地址
     */
    private String buyAddress;

    /**
     * 买方邮编
     */
    private String buyPostalCode;

    /**
     * 合同审批状态 0草稿 10、审批中；20、驳回  30、审批通过   99终止
     */
    private Integer status;

    /**
     * 币种（字典account_currency）
     */
    private String currency;

    /**
     * 样品单金额
     */
    private BigDecimal amount;

    /**
     * 付款方式（字典funds_payment_method
     */
    private String paymentMethod;

    /**
     * 预付比例
     */
    private String advanceRatio;

    /**
     * 运输方式（字典  shipping_method）
     */
    private String transportMethod;

    /**
     * 运输备注
     */
    private String transportRemark;

    /**
     * 收款账号ID
     */
    private Long shroffAccountId;

    /**
     * 审核通过时间
     */
    private Date approvedDate;

    /**
     * 流程KEY
     */
    private String processInstanceId;

    /**
     * 付款条件
     */
    private String remark;

    /**
     * 交期
     */
    private String deliveryTime;

    /**
     * 汇率json
     */
    private String currencyRateJson;

    /**
     * 创建人名称
     */
    private String userName;

    /**
     * 尔弘时代JSON扩展字段
     */
    private String ehsdJson;

    /**
     * beneficiaryName
     */
    private String beneficiaryName;

    /**
     * beneficiaryBank
     */
    private String beneficiaryBank;

    /**
     * beneficiaryBankAddress
     */
    private String beneficiaryBankAddress;

    /**
     * beneficiaryAddress
     */
    private String beneficiaryAddress;

    /**
     * beneficiaryName
     */
    private String swiftCode;

    /**
     * beneficiaryAccountNumber
     */
    private String beneficiaryAccountNumber;

    /**
     * 提交类型
     */
    private String submitType;

    /**
     * 版本号
     */
    private String versions;

    /**
     * 汇率
     */
    private BigDecimal rate;

    /**
     * 报价有效期
     */
    private String effective;

    /**
     * 旧样品单ID
     */
    private Long oldSampleId;

    /**
     * 是否变更
     */
    private String isChange;

    /**
     * 卖方邮编
     */
    private String sellPostalCode;

    /**
     * 交接单附件列表
     */
    @TableField(exist = false)
    private List<ObsFile> fileList;

    /**
     * 包装附件列表
     */
    @TableField(exist = false)
    private List<ObsFile> packageFileList;

    /**
     * 样品单产品列表
     */
    @TableField(exist = false)
    private List<SampleProduct> sampleProductList;

    /**
     * 样品单出货列表
     */
    @TableField(exist = false)
    private List<SampleShipment> sampleShipmentList;

    /**
     * 样品单收费项目
     */
    @TableField(exist = false)
    private List<SampleProject> sampleProjectList;

    @TableField(exist = false)
    private Long upId;

}
