package com.trade.service.trade.exportrebate.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * C端出口退税汇总
 */
public class ExportTaxRebateStatisticDto {
    /**
     * 客户id
     */
    private Long customerUserId;
    /**
     * 销售订单号
     */
    private String salesOrderNo;
    /**
     * 申报年月（所属期）（yyyyMM）
     */
    private String declarationMonthYear;
    /**
     * 申报批次
     */
    private String declarationBatch;
    /**
     * 关联号
     */
    private String correlationNo;
    /**
     * 海关报关单号（18位）
     */
    private String customsDeclarationNo;
    /**
     * 出口发票号（形式发票号）
     */
    private String proformaInvoiceNo;
    /**
     * 退税额（生产企业：免抵退税额）
     */
    private BigDecimal taxRefundAmount;
    /**
     * 出口日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date exportDate;
    /**
     * 出口数量
     */
    private BigDecimal exportQuantity;
    /**
     * 退税状态，枚举:rebate_process_status
     */
    private String status;

    public Long getCustomerUserId() {
        return customerUserId;
    }

    public void setCustomerUserId(Long customerUserId) {
        this.customerUserId = customerUserId;
    }

    public String getSalesOrderNo() {
        return salesOrderNo;
    }

    public void setSalesOrderNo(String salesOrderNo) {
        this.salesOrderNo = salesOrderNo;
    }

    public String getDeclarationMonthYear() {
        return declarationMonthYear;
    }

    public void setDeclarationMonthYear(String declarationMonthYear) {
        this.declarationMonthYear = declarationMonthYear;
    }

    public String getDeclarationBatch() {
        return declarationBatch;
    }

    public void setDeclarationBatch(String declarationBatch) {
        this.declarationBatch = declarationBatch;
    }

    public String getCorrelationNo() {
        return correlationNo;
    }

    public void setCorrelationNo(String correlationNo) {
        this.correlationNo = correlationNo;
    }

    public String getCustomsDeclarationNo() {
        return customsDeclarationNo;
    }

    public void setCustomsDeclarationNo(String customsDeclarationNo) {
        this.customsDeclarationNo = customsDeclarationNo;
    }

    public String getProformaInvoiceNo() {
        return proformaInvoiceNo;
    }

    public void setProformaInvoiceNo(String proformaInvoiceNo) {
        this.proformaInvoiceNo = proformaInvoiceNo;
    }

    public BigDecimal getTaxRefundAmount() {
        return taxRefundAmount;
    }

    public void setTaxRefundAmount(BigDecimal taxRefundAmount) {
        this.taxRefundAmount = taxRefundAmount;
    }

    public Date getExportDate() {
        return exportDate;
    }

    public void setExportDate(Date exportDate) {
        this.exportDate = exportDate;
    }

    public BigDecimal getExportQuantity() {
        return exportQuantity;
    }

    public void setExportQuantity(BigDecimal exportQuantity) {
        this.exportQuantity = exportQuantity;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
}
