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

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

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
 *
 * Company: 湖北普罗格科技股份有限公司
 *
 * @author zhangsj
 * @since 2022/6/6 11:04
 */
@Data
@ApiModel("待提货-运单模式查询DTO")
public class WaitPickUpGoodsQueryTypeByReceiverDTO implements Serializable {

	private static final long serialVersionUID = -8354917092585939498L;

	@ApiModelProperty(value = "主键ID")
	private Integer id;

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

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

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

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

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

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

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

	@ApiModelProperty(value = "收货方区/县名称")
	private String consigneeDistrictName;

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

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

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

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

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

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "预计结束开始时间")
	private Date estimatedDeliveryEndTime;

	@ApiModelProperty(value = "预计送达时间")
	private String estimatedDeliveryTime;

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

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

	@ApiModelProperty(value = "运单数")
	private BigDecimal count;

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

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

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

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

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

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

	@ApiModelProperty(value = "运单id集合")
	private String shipbillIds;

	@ApiModelProperty(value = "容器id集合")
	private String containerIds;

	@ApiModelProperty(value = "容器id")
	private String containerId;

	@ApiModelProperty(value = "容器编号")
	private String containerCode;

	@ApiModelProperty(value = "容器名称")
	private String containerName;

	@ApiModelProperty(value = "容器类型集合")
	List<ContainerTypeDTO> containerTypeDTOS;
}
