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

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BasePo;
import lombok.Getter;
import lombok.Setter;

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

/**
 * <p>
 * ehsd采购表
 * </p>
 *
 * @author
 * @since 2023-05-17
 */
@Getter
@Setter
@TableName("ehsd_purchase")
public class EhsdPurchase extends BasePo {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * 买方国家表名称
     */
    private String buyCountryName;

    /**
     * 买方省份名称
     */
    private String buyProvinceName;

    /**
     * 买方城市名称
     */
    private String buyCityName;

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

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

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

    /**
     * 付款状态 0未付款  10部分付款  20已付款
     */
    private Integer payStatus;

    /**
     * 采购总金额
     */
    private BigDecimal amount;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 条款内容
     */
    private String remark;

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

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

    /**
     * 交货类型字典（delivery_type）
     */
    private String deliveryType;

    /**
     * 发票类型
     */
    private String invoiceType;

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

    /**
     * 质保期
     */
    private Integer warranty;

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

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

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

    /**
     * 采购到货列表
     */
    @TableField(exist = false)
    private List<EhsdPurchaseArrival> purchaseArrivalList;

    /**
     * 采购商品列表
     */
    @TableField(exist = false)
    private List<EhsdPurchaseProduct> purchaseProductList;

    /**
     * 采购商品列表
     */
    @TableField(exist = false)
    private List<EhsdPurchaseProject> purchaseProjectList;
}
