package com.sunxung.factoring.entity.financing.payment;

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

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 应收账款登记表
 * </p>
 *
 * @author liutao
 * @since 2024-03-01
 */
@TableName("receivables_register_info")
public class ReceivablesRegisterInfo extends BaseEntity {

    /**
     * 付款申请表id
     */
    @TableField("payment_apply_id")
    private Long paymentApplyId;

    /**
     * 付款审批Id
     */
    @TableField("payment_approval_id")
    private Long paymentApprovalId;

    /**
     * 应收账款登记-登记证明编号
     */
    @TableField("receivables_register_number")
    private String receivablesRegisterNumber;

    /**
     * 应收账款登记-登记到期日
     */
    @TableField("receivables_expiry_date")
    private Date receivablesExpiryDate;

    /**
     * 应收账款登记-登记附件
     */
    @TableField(exist = false)
    private List<FileStorage> receivablesFiles = new ArrayList<>();

    /**
     * 应收账款登记-登记附件Id
     */
    @TableField(exist = false)
    private List<Long> receivablesFileIds;

    /**
     * 动产抵押登记-登记证明编号
     */
    @TableField("mortgage_register_number")
    private String mortgageRegisterNumber;

    /**
     * 动产抵押登记-登记到期日
     */
    @TableField("mortgage_expiry_date")
    private Date mortgageExpiryDate;

    /**
     * 动产抵押登记-登记附件
     */
    @TableField(exist = false)
    private List<FileStorage> mortgageFiles = new ArrayList<>();

    /**
     * 应收账款登记-登记附件Id
     */
    @TableField(exist = false)
    private List<Long> mortgageFileIds;

    /**
     * 所有权保留登记-登记证明编号
     */
    @TableField("ownership_register_number")
    private String ownershipRegisterNumber;

    /**
     * 所有权保留登记-登记到期日
     */
    @TableField("ownership_date")
    private Date ownershipDate;

    /**
     * 所有权保留登记-登记附件
     */
    @TableField(exist = false)
    private List<FileStorage> ownershipFiles = new ArrayList<>();

    /**
     * 所有权保留登记-登记附件Id
     */
    @TableField(exist = false)
    private List<Long> ownershipFileIds;

    /**
     * 中登网登记模板文件
     */
    @TableField("file_id")
    private Long fileId;

    /**
     * 中登网登记模板文件
     */
    @TableField(exist = false)
    private FileStorage fileStorage;

    public Long getPaymentApplyId() {
        return paymentApplyId;
    }

    public void setPaymentApplyId(Long paymentApplyId) {
        this.paymentApplyId = paymentApplyId;
    }

    public Long getPaymentApprovalId() {
        return paymentApprovalId;
    }

    public void setPaymentApprovalId(Long paymentApprovalId) {
        this.paymentApprovalId = paymentApprovalId;
    }

    public String getReceivablesRegisterNumber() {
        return receivablesRegisterNumber;
    }

    public void setReceivablesRegisterNumber(String receivablesRegisterNumber) {
        this.receivablesRegisterNumber = receivablesRegisterNumber;
    }

    public Date getReceivablesExpiryDate() {
        return receivablesExpiryDate;
    }

    public void setReceivablesExpiryDate(Date receivablesExpiryDate) {
        this.receivablesExpiryDate = receivablesExpiryDate;
    }

    public String getMortgageRegisterNumber() {
        return mortgageRegisterNumber;
    }

    public void setMortgageRegisterNumber(String mortgageRegisterNumber) {
        this.mortgageRegisterNumber = mortgageRegisterNumber;
    }

    public Date getMortgageExpiryDate() {
        return mortgageExpiryDate;
    }

    public void setMortgageExpiryDate(Date mortgageExpiryDate) {
        this.mortgageExpiryDate = mortgageExpiryDate;
    }

    public String getOwnershipRegisterNumber() {
        return ownershipRegisterNumber;
    }

    public void setOwnershipRegisterNumber(String ownershipRegisterNumber) {
        this.ownershipRegisterNumber = ownershipRegisterNumber;
    }

    public Date getOwnershipDate() {
        return ownershipDate;
    }

    public void setOwnershipDate(Date ownershipDate) {
        this.ownershipDate = ownershipDate;
    }

    public Long getFileId() {
        return fileId;
    }

    public void setFileId(Long fileId) {
        this.fileId = fileId;
    }

    public FileStorage getFileStorage() {
        return fileStorage;
    }

    public void setFileStorage(FileStorage fileStorage) {
        this.fileStorage = fileStorage;
    }

    public List<FileStorage> getReceivablesFiles() {
        return receivablesFiles;
    }

    public void setReceivablesFiles(List<FileStorage> receivablesFiles) {
        this.receivablesFiles = receivablesFiles;
    }

    public List<FileStorage> getMortgageFiles() {
        return mortgageFiles;
    }

    public void setMortgageFiles(List<FileStorage> mortgageFiles) {
        this.mortgageFiles = mortgageFiles;
    }

    public List<FileStorage> getOwnershipFiles() {
        return ownershipFiles;
    }

    public void setOwnershipFiles(List<FileStorage> ownershipFiles) {
        this.ownershipFiles = ownershipFiles;
    }

    public List<Long> getReceivablesFileIds() {
        return receivablesFileIds;
    }

    public void setReceivablesFileIds(List<Long> receivablesFileIds) {
        this.receivablesFileIds = receivablesFileIds;
    }

    public List<Long> getMortgageFileIds() {
        return mortgageFileIds;
    }

    public void setMortgageFileIds(List<Long> mortgageFileIds) {
        this.mortgageFileIds = mortgageFileIds;
    }

    public List<Long> getOwnershipFileIds() {
        return ownershipFileIds;
    }

    public void setOwnershipFileIds(List<Long> ownershipFileIds) {
        this.ownershipFileIds = ownershipFileIds;
    }
}
