package com.prolog.rdc.tms.model.dto;

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

import org.springframework.format.annotation.DateTimeFormat;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 提货确认导出DTO
 *
 * Company: 湖北普罗格科技股份有限公司
 *
 * @author zhangsj
 * @since 2022/6/22 13:47
 */
@Data
@ApiModel("提货确认导出DTO")
public class DeliveryConfirmExportDTO implements Serializable {

    private static final long serialVersionUID = -3817052518328187047L;

    @ApiModelProperty(value = "装车单编号")
    @ExcelProperty(value = "装车单编号")
    private String loadingBillNo;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "装车单时间")
    @ExcelProperty(value = "装车单时间")
    private Date loadingBillDate;

    @ApiModelProperty(value = "分组名称")
    @ExcelProperty(value = "分组名称")
    private String groupName;

    @ApiModelProperty(value = "司机名称")
    @ExcelProperty(value = "司机名称")
    private String driverName;

    @ApiModelProperty(value = "司机手机号")
    @ExcelProperty(value = "司机手机号")
    private String driverPhoneNumber;

    @ApiModelProperty(value = "车牌号")
    @ExcelProperty(value = "车牌号")
    private String vehiclePlateNumber;

    @ApiModelProperty(value = "车型名称")
    @ExcelProperty(value = "车型名称")
    private String vehicleTypeName;

    @ApiModelProperty(value = "送货员名称")
    @ExcelProperty(value = "送货员名称")
    private String deliverymanName;

    @ApiModelProperty(value = "送货员手机号")
    @ExcelProperty(value = "送货员手机号")
    private String deliverymanPhoneNumber;

    @ApiModelProperty(value = "运单数")
    @ExcelProperty(value = "运单数")
    private Integer shipbillNumber;

    @ApiModelProperty(value = "客户数")
    @ExcelProperty(value = "客户数")
    private Integer customerNumber;

    @ApiModelProperty(value = "总站点数")
    @ExcelProperty(value = "总站点数")
    private Integer siteNumber;

    @ApiModelProperty(value = "总里程数")
    @ExcelProperty(value = "总里程数")
    private BigDecimal totalMileage;

    @ApiModelProperty(value = "总件数")
    @ExcelProperty(value = "总件数")
    private BigDecimal totalPcs;

    @ApiModelProperty(value = "总体积")
    @ExcelProperty(value = "总体积")
    private BigDecimal totalVolume;

    @ApiModelProperty(value = "总重量")
    @ExcelProperty(value = "总重量")
    private BigDecimal totalWeight;

    @ApiModelProperty(value = "实际总件数")
    @ExcelProperty(value = "实际总件数")
    private BigDecimal actualTotalPcs;

    @ApiModelProperty(value = "实际总体积")
    @ExcelProperty(value = "实际总体积")
    private BigDecimal actualTotalVolume;

    @ApiModelProperty(value = "实际总重量")
    @ExcelProperty(value = "实际总重量")
    private BigDecimal actualTotalWeight;

    @ApiModelProperty(value = "总整件数")
    @ExcelProperty(value = "总整件数")
    private BigDecimal totalWholePiece;

    @ApiModelProperty(value = "总拼箱数")
    @ExcelProperty(value = "总拼箱数")
    private BigDecimal totalLclPiece;

    @ApiModelProperty(value = "配载体积装载率")
    @ExcelProperty(value = "配载体积装载率")
    private String volumeLoadingRate;

    @ApiModelProperty(value = "配载重量装载率")
    @ExcelProperty(value = "配载重量装载率")
    private String weightLoadingRate;

    @ApiModelProperty(value = "装车单状态")
    @ExcelProperty(value = "装车单状态")
    private String statusName;

    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "备注")
    private String memo;

    @ApiModelProperty(value = "字符属性扩展1")
    @ExcelProperty(value = "字符属性扩展1")
    private String extStr1;

    @ApiModelProperty(value = "字符属性扩展2")
    @ExcelProperty(value = "字符属性扩展2")
    private String extStr2;

    @ApiModelProperty(value = "字符属性扩展3")
    @ExcelProperty(value = "字符属性扩展3")
    private String extStr3;

    @ApiModelProperty(value = "字符属性扩展4")
    @ExcelProperty(value = "字符属性扩展4")
    private String extStr4;

    @ApiModelProperty(value = "字符属性扩展5")
    @ExcelProperty(value = "字符属性扩展5")
    private String extStr5;

    @ApiModelProperty(value = "数值属性扩展1")
    @ExcelProperty(value = "数值属性扩展1")
    private BigDecimal extNum1;

    @ApiModelProperty(value = "数值属性扩展2")
    @ExcelProperty(value = "数值属性扩展2")
    private BigDecimal extNum2;

    @ApiModelProperty(value = "数值属性扩展3")
    @ExcelProperty(value = "数值属性扩展3")
    private BigDecimal extNum3;

    @ApiModelProperty(value = "数值属性扩展4")
    @ExcelProperty(value = "数值属性扩展4")
    private BigDecimal extNum4;

    @ApiModelProperty(value = "数值属性扩展5")
    @ExcelProperty(value = "数值属性扩展5")
    private BigDecimal extNum5;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展1")
    @ExcelProperty(value = "日期属性扩展1")
    private Date extDate1;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展2")
    @ExcelProperty(value = "日期属性扩展2")
    private Date extDate2;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展3")
    @ExcelProperty(value = "日期属性扩展3")
    private Date extDate3;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展4")
    @ExcelProperty(value = "日期属性扩展4")
    private Date extDate4;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "日期属性扩展5")
    @ExcelProperty(value = "日期属性扩展5")
    private Date extDate5;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    @ExcelProperty(value = "创建时间")
    private Date createtime;

    @ApiModelProperty(value = "创建人")
    @ExcelProperty(value = "创建人")
    private String createperson;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "修改时间")
    @ExcelProperty(value = "修改时间")
    private Date updatetime;

    @ApiModelProperty(value = "修改人")
    @ExcelProperty(value = "修改人")
    private String updateperson;
}
