package com.sckw.payment.model.vo.res;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sckw.excel.annotation.ExcelContext;
import lombok.Getter;
import lombok.Setter;

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

/**
 * @author Aick Spt
 * @date 2023-07-21 15:28
 */
@Getter
@Setter
@ExcelContext(fileName = "物流结算订单列表", sheetName = "物流结算订单列表")
public class SettlementLogisticsVo {

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    @ExcelProperty(value = "状态")
    private String statusLabel;
    /**
     * 对账单编号
     */
    @ExcelProperty(value = "对账单编号")
    private String lLedgerNo;
    /**
     * 对账表名称
     */
    @ExcelProperty(value = "对账表名称")
    private String name;
    /**
     * 结算单编号
     */
    @ExcelProperty(value = "结算单编号")
    private String slOrderNo;

    /**
     * 剩余待还款
     */
    @ExcelProperty(value = "剩余待还款")
    private BigDecimal waitPrice;

    /**
     * 实际应收/元
     */
    @ExcelProperty(value = "实际应收/元")
    private BigDecimal totalPrice;

    /**
     * 当前收款/元
     */
    @ExcelProperty(value = "当前收款/元")
    private BigDecimal actualPrice;

    /**
     * 预计收款日期
     */
    @DateTimeFormat(value = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelProperty(value = "预计收款日期")
    private Date receiptTime;

    @ExcelProperty(value = "联系人")
    private String contacts;

    @ExcelProperty(value = "联系电话")
    private String phone;
    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 变更人
     */
    @ExcelProperty(value = "变更人")
    private String updateByLabel;

    /**
     * 生成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "生成时间")
    private Date createTime;


    /**
     * 交易方式
     */
    @ExcelProperty(value = "交易方式")
    private String tradingLabel;


    /**
     * 客户单位
     */
    @ExcelProperty(value = "客户单位")
    private String firmName;


}
