package com.sunxung.factoring.entity.refundsManagement;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.sunxung.factoring.entity.BaseEntity;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 退款管理-申请内容历史表
 * </p>
 *
 * @author yafan
 * @since 2024-03-04
 */
@TableName("refunds_apply_details_his")
public class RefundsApplyDetailsHis extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 退款管理表历史Id
     */
    @TableField("refund_management_his_id")
    private Long refundManagementHisId;

    /**
     * 付款公司主体ID
     */
    @TableField("oa_company_entity_info_id")
    private Long oaCompanyEntityInfoId;

    /**
     * 付款事项（字典）ID
     */
    @TableField("payment_matter")
    private String paymentMatter;

    /**
     * 项目类型
     */
    @TableField("project_type")
    private String projectType;

    /**
     * 付款事由
     */
    @TableField("payment_reason")
    private String paymentReason;

    /**
     * 付款总金额
     */
    @TableField("payment_amount_total")
    private BigDecimal paymentAmountTotal;

    /**
     * 金额大写
     */
    @TableField("amount_capitalization")
    private String amountCapitalization;

    /**
     * 币种
     */
    @TableField("currency")
    private String currency;

    /**
     * 付款方式
     */
    @TableField("payment_method")
    private String paymentMethod;

    /**
     * 支付日期
     */
    @TableField("payment_date")
    private Date paymentDate;

    /**
     * 付款备注
     */
    @TableField("payment_remark")
    private String paymentRemark;

    /**
     * 要求时效或付款行等
     */
    @TableField("other_remark")
    private String otherRemark;

    /**
     * 申请类型 0:抵扣、1:退款
     */
    @TableField("apply_type")
    private Integer applyType;

    /**
     * 申请人id
     */
    @TableField("user_id")
    private Long userId;

    public Long getRefundManagementHisId() {
        return refundManagementHisId;
    }

    public void setRefundManagementHisId(Long refundManagementHisId) {
        this.refundManagementHisId = refundManagementHisId;
    }

    public Long getOaCompanyEntityInfoId() {
        return oaCompanyEntityInfoId;
    }

    public void setOaCompanyEntityInfoId(Long oaCompanyEntityInfoId) {
        this.oaCompanyEntityInfoId = oaCompanyEntityInfoId;
    }

    public String getPaymentMatter() {
        return paymentMatter;
    }

    public void setPaymentMatter(String paymentMatter) {
        this.paymentMatter = paymentMatter;
    }

    public String getProjectType() {
        return projectType;
    }

    public void setProjectType(String projectType) {
        this.projectType = projectType;
    }

    public String getPaymentReason() {
        return paymentReason;
    }

    public void setPaymentReason(String paymentReason) {
        this.paymentReason = paymentReason;
    }
    public BigDecimal getPaymentAmountTotal() {
        return paymentAmountTotal;
    }

    public void setPaymentAmountTotal(BigDecimal paymentAmountTotal) {
        this.paymentAmountTotal = paymentAmountTotal;
    }
    public String getAmountCapitalization() {
        return amountCapitalization;
    }

    public void setAmountCapitalization(String amountCapitalization) {
        this.amountCapitalization = amountCapitalization;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getPaymentMethod() {
        return paymentMethod;
    }

    public void setPaymentMethod(String paymentMethod) {
        this.paymentMethod = paymentMethod;
    }

    public Date getPaymentDate() {
        return paymentDate;
    }

    public void setPaymentDate(Date paymentDate) {
        this.paymentDate = paymentDate;
    }

    public String getPaymentRemark() {
        return paymentRemark;
    }

    public void setPaymentRemark(String paymentRemark) {
        this.paymentRemark = paymentRemark;
    }
    public String getOtherRemark() {
        return otherRemark;
    }

    public void setOtherRemark(String otherRemark) {
        this.otherRemark = otherRemark;
    }

    public Integer getApplyType() {
        return applyType;
    }

    public void setApplyType(Integer applyType) {
        this.applyType = applyType;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }
}
