package cn.superdesk.uniorder.dao.entity.invoice.customer.invoiced;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
import lombok.ToString;

@Data
@ToString
public class InvoiceInvoicedBackCollectionOperationLog implements Serializable {
    private Long id;

    /**
     * 批次Id
     */
    private String batchId;

    /**
     * 应收账款-发票-系统Id
     */
    private Long invoiceInvoicedId;

    /**
     * 冗余-发票号码
     */
    private String invoiceNumber;

    /**
     * 操作时间 为什么不叫 operation_time 问号, 问就是不要问
     */
    private Date createTime;

    /**
     * 操作人 sysUserId
     */
    private Long createUserId;

    /**
     * 操作人 sysUserName
     */
    private String createUserName;

    /**
     * 只要加字段而已-不在本此需求内-合计金额 eg ￥3,126.11
     */
    private BigDecimal totalAmount;

    /**
     * 只要加字段而已-不在本此需求内-税率 eg 0.13
     */
    private BigDecimal taxRate;

    /**
     * 只要加字段而已-不在本此需求内-合计税额 eg ￥406.39
     */
    private BigDecimal totalTax;

    /**
     * 原本记录的-含税总金额 eg ￥3,532.50
     */
    private BigDecimal totalAmountIncludingTax;

    /**
     * 原本记录的-实际应收金额 如果没有红冲 此值等于发票金额 含税金额(total_amount_including_tax)
     */
    private BigDecimal receivableAmount;

    /**
     * 原本记录的-已回款金额
     */
    private BigDecimal backCollectionAmountAlready;

    /**
     * 原本记录的-待回款金额
     */
    private BigDecimal backCollectionAmountWaitFor;

    /**
     * 本次操作填充的-回款时间 eg 2021-03-03 10:02:34
     */
    private Date backCollectionTime;

    /**
     * 本次操作填充的-回款金额
     */
    private BigDecimal backCollectionAmount;

    private static final long serialVersionUID = 1L;
}
