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.fasterxml.jackson.annotation.JsonFormat;

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

/**
 * 待提货运单打印头部DTO
 * 
 * @author zhangsj
 * @date 2022/06/07
 */
@Data
@ApiModel("待提货运单打印头部DTO")
public class WaitPickUpGoodsPrintHeadDTO implements Serializable {

	private static final long serialVersionUID = -95869941042132913L;

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

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

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

	@ApiModelProperty(value = "所属部门")
	private String departmentName;

	@ApiModelProperty(value = "运单状态")
	private String statusName;

	@ApiModelProperty(value = "运输状态")
	private String transportStatusName;

	@ApiModelProperty(value = "异常状态")
	private String abnormalStatusName;

	@ApiModelProperty(value = "扫描状态")
	private String scanStatusName;

	@ApiModelProperty(value = "承运方类型")
	private String carrierTypeName;

	@ApiModelProperty(value = "调度单号")
	private String loadingBillNo;

	@ApiModelProperty(value = "承运方名称")
	private String carrierName;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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