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

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fjhx.file.entity.ObsFile;
import com.ruoyi.common.core.domain.BasePo;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 采购付款
 * </p>
 *
 * @author
 * @since 2023-04-13
 */
@Getter
@Setter
@TableName("pay")
public class Pay extends BasePo {

    /**
     * 供应商ID
     */
    private Long supplyId;

    /**
     * 付款总额
     */
    private BigDecimal amount;

    /**
     * 发票类型 字典invoice_type
     */
    private Integer invoiceType;

    /**
     * 付款说明
     */
    private String remark;

    /**
     * 付款期限
     */
    private String deadline;

    /**
     * 单据数量
     */
    private Integer receiptsNum;

    /**
     * 付款方式 funds_payment_method
     */
    private String payType;

    /**
     *状态
     */
    private Integer status;

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

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

    /**
     * 币种
     */
    private String currency;

    /**
     * 付款账户ID
     */
    private Long accountManagementId;

    /**
     * 申请人
     */
    private String userName;

    /**
     * 户名
     */
    private String name;

    /**
     * 开户银行
     */
    private String openingBank;

    /**
     * 联行号
     */
    private String interbankNumber;

    /**
     * 银行账号
     */
    private String accountOpening;

    /**
     * 付款状态
     */
    private String payStatus;

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

    /**
     * 税率
     */
    private BigDecimal taxRate;

    /**
     * 付款类型  0:未核销  1发票核销
     */
    private String type;

    /**
     * 预付款单号
     */
    private String advanceCode;

    /**
     * 归属公司
     */
    private Long corporationId;
    /**
     * 付款明细
     */
    @TableField(exist = false)
    private List<PayDetail> payDetailList;

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

    /**
     * 个数
     */
    @TableField(exist = false)
    private Integer count;

    /**
     * 合同ID
     */
    @TableField(exist = false)
    private Long contractId;

}
