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
 *
 * @author lhb
 * @since 2022-04-22 15:30:16
 */
@Data
@ApiModel("待调度导出数据DTO")
public class PendingDispatchExportDetailDataDTO implements Serializable {

	private static final long serialVersionUID = -95869941042132913L;

	@ApiModelProperty(value = "运单号")
	@ExcelProperty(value = "运单号")
	private String shipbillNo;

	@ApiModelProperty(value = "货主")
	@ExcelProperty(value = "货主")
	private String cargoOwnerName;

	@ApiModelProperty(value = "订单号")
	@ExcelProperty(value = "订单号")
	private String orderNo;

	@ApiModelProperty(value = "WMS单号")
	@ExcelProperty(value = "WMS单号")
	private String wmsOrderNo;

	@ApiModelProperty(value = "订单类型")
	@ExcelProperty(value = "订单类型")
	private String orderTypeName;

	@ApiModelProperty(value = "订单业务类型")
	@ExcelProperty(value = "业务类型")
	private String orderBusinessTypeName;

	@ApiModelProperty(value = "配送方式")
	@ExcelProperty(value = "配送方式")
	private String deliveryMethodTypeName;

	@ApiModelProperty(value = "运输类型")
	@ExcelProperty(value = "运输模式")
	private String transportTypeName;

	@ApiModelProperty(value = "温度要求")
	@ExcelProperty(value = "温度要求")
	private String temperatureRequirementName;

	@ApiModelProperty(value = "线路")
	@ExcelProperty(value = "线路")
	private String lineName;

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

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ExcelProperty(value = "订单下单日期")
	@ApiModelProperty(value = "订单下单日期")
	private Date orderDate;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ExcelProperty(value = "预计提货时间")
	@ApiModelProperty(value = "预计提货时间")
	private Date estimatedPickupStartTime;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ExcelProperty(value = "预计送达时间")
	@ApiModelProperty(value = "预计送达时间")
	private Date estimatedDeliveryStartTime;

	@ApiModelProperty(value = "时效")
	@ExcelProperty(value = "时效")
	private BigDecimal transportAging;

	@ApiModelProperty(value = "发货方类型")
	@ExcelProperty(value = "发货方类型")
	private String shipperTypeName;

	@ApiModelProperty(value = "发货方单位")
	@ExcelProperty(value = "发货方单位")
	private String shipperUnitName;

	@ApiModelProperty(value = "发货方")
	@ExcelProperty(value = "发货方")
	private String shipperName;

	@ApiModelProperty(value = "始发地")
	@ExcelProperty(value = "始发地")
	private String shipperProvinceCityDistrict;

	@ApiModelProperty(value = "发货方联系人")
	@ExcelProperty(value = "联系人")
	private String shipperContact;

	@ApiModelProperty(value = "发货方手机号")
	@ExcelProperty(value = "手机号")
	private String shipperPhoneNumber;

	@ApiModelProperty(value = "发货方座机号")
	@ExcelProperty(value = "座机号")
	private String shipperLandlineNumber;

	@ApiModelProperty(value = "发货方邮箱")
	@ExcelProperty(value = "邮箱")
	private String shipperEmail;

	@ApiModelProperty(value = "发货方详细地址")
	@ExcelProperty(value = "详细地址")
	private String shipperAddress;

	@ApiModelProperty(value = "发货方备注")
	@ExcelProperty(value = "备注")
	private String shipperMemo;

	@ApiModelProperty(value = "发货方位置")
	@ExcelProperty(value = "发货方位置")
	private String shipperPositioning;

	@ApiModelProperty(value = "收货方类型")
	@ExcelProperty(value = "收货方类型")
	private String consigneeTypeName;

	@ApiModelProperty(value = "收货方单位名称")
	@ExcelProperty(value = "收货方单位")
	private String consigneeUnitName;

	@ApiModelProperty(value = "收货方名称")
	@ExcelProperty(value = "收货方")
	private String consigneeName;

	@ApiModelProperty(value = "目的地")
	@ExcelProperty(value = "目的地")
	private String consigneeProvinceCityDistrict;

	@ApiModelProperty(value = "收货方联系人")
	@ExcelProperty(value = "联系人")
	private String consigneeContact;

	@ApiModelProperty(value = "收货方手机号")
	@ExcelProperty(value = "手机号")
	private String consigneePhoneNumber;

	@ApiModelProperty(value = "收货方座机号")
	@ExcelProperty(value = "座机号")
	private String consigneeLandlineNumber;

	@ApiModelProperty(value = "收货方邮箱")
	@ExcelProperty(value = "邮箱")
	private String consigneeEmail;

	@ApiModelProperty(value = "收货方详细地址")
	@ExcelProperty(value = "详细地址")
	private String consigneeAddress;

	@ApiModelProperty(value = "收货方备注")
	@ExcelProperty(value = "备注")
	private String consigneeMemo;

	@ApiModelProperty(value = "收货方位置")
	@ExcelProperty(value = "收货方位置")
	private String consigneePositioning;

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

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

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

	@ApiModelProperty(value = "包裹整件数")
	@ExcelProperty(value = "整件数")
	private BigDecimal packageWholePiece;

	@ApiModelProperty(value = "包裹拼箱数")
	@ExcelProperty(value = "拼箱数")
	private BigDecimal packageLclPiece;

	@ApiModelProperty(value = "包裹总重量")
	@ExcelProperty(value = "包裹总重量")
	private BigDecimal packageTotalWeight;

	@ApiModelProperty(value = "包裹总体积")
	@ExcelProperty(value = "包裹总体积")
	private BigDecimal packageTotalVolume;

	@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 createtime;

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

	@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;
}
