package com.gci.boot.modules.statis.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.gci.boot.common.dict.annotation.Dict;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 车辆租金收益vo
 * @author 24642
 */
@Getter
@Setter
@ToString
public class VehicleRentalVo {
    @Excel(name = "车辆种类",dict = "vehicle_type",width = 9)
    @JsonPropertyDescription("车辆种类")
    @Dict(dicCode = "vehicle_type")
    private String vehicleType;

    @Excel(name = "车牌号")
    @JsonPropertyDescription("车牌号")
    private String plateNumber;

    @JsonPropertyDescription("车架号")
    @Excel(name = "车架号")
    private String frameNumber;

    @JsonPropertyDescription("车辆型号")
//    @Excel(name = "车辆型号")
    private String vehicleModel;

    @Excel(name = "合同名称")
    @JsonPropertyDescription("合同名称")
    private String contractName;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonPropertyDescription("合同生效日期")
    @Excel(name = "合同生效日期",width = 11,format = "yyyy-MM-dd")
    private Date contractStartDate;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonPropertyDescription("合同终止日期")
    @Excel(name = "合同终止日期",width = 11,format = "yyyy-MM-dd")
    private Date contractEndDate;

    @Excel(name = "租赁单价（元/月/台）",numFormat = "#.##")
    private BigDecimal rentalUnitPrice;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonPropertyDescription("租赁交车日期")
    @Excel(name = "租赁交车日期",width = 11,format = "yyyy-MM-dd")
    private Date rentalDeliveryDate;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonPropertyDescription("租赁收车日期")
    @Excel(name = "租赁收车日期",width = 11,format = "yyyy-MM-dd")
    private Date rentalPickupDate;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonPropertyDescription("收款日期")
    @Excel(name = "收款日期",width = 11,format = "yyyy-MM-dd")
    private Date paymentDate;

    @JsonPropertyDescription("收款金额")
    @Excel(name = "收款金额",numFormat = "#.##")
    private BigDecimal amountCollected;


    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonPropertyDescription("查询收款日期开始")
    private Date paymentDateStart;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonPropertyDescription("查询收款日期结束")
    private Date paymentDateEnd;
}
