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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 待调度运单打印头部DTO
 * 
 * @author lhb
 * @date 2022/04/24
 */
@ApiModel("待调度运单打印头部DTO")
@Data
public class PendingDispatchPrintHeadDTO implements Serializable {

	private static final long serialVersionUID = 5384235097059354025L;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	@ApiModelProperty(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 = "修改时间")
	private Date updatetime;

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