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
 *
 * @className :ContoinerBillReturnPageDTO
 * @author :fanzw
 * @creationTime :2023/06/09
 * @description :
 *
 * @modifier :fanzw
 * @modifyTime :2023/06/09
 * @reviseRemarks:
 *
 * @version :1.0.0
 *
 */
@Data
@ApiModel("容器归还单查询DTO")
public class ContoinerBillReturnPageDTO implements Serializable {

	private static final long serialVersionUID = -4412429342867636290L;

	@ApiModelProperty(value = "容器业务单号")
	private String containerBillNo;

	@ApiModelProperty(value = "容器业务单类型：CONTAINER_BILL_TYPE:1容器随车单 2容器归还单")
	private Integer containerBillType;

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

	@ApiModelProperty(value = "发货方类型 数据字典SHIPPER_TYPE:1客户 2仓库 3供应商")
	private Integer shipperType;

	@ApiModelProperty(value = "发货方单位ID")
	private Long shipperUnitId;

	@ApiModelProperty(value = "发货方单位编码")
	private String shipperUnitCode;

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

	@ApiModelProperty(value = "发货方ID")
	private Long shipperId;

	@ApiModelProperty(value = "发货方编码")
	private String shipperCode;

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

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

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

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

	@ApiModelProperty(value = "收货方类型 数据字典CONSIGNEE_TYPE:1客户 2仓库 3供应商")
	private Integer consigneeType;

	@ApiModelProperty(value = "收货方单位ID")
	private Long consigneeUnitId;

	@ApiModelProperty(value = "收货方单位编码")
	private String consigneeUnitCode;

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

	@ApiModelProperty(value = "收货方ID")
	private Long consigneeId;

	@ApiModelProperty(value = "收货方编码")
	private String consigneeCode;

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

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

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

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

	@ApiModelProperty(value = "司机ID")
	private Long driverId;

	@ApiModelProperty(value = "司机编号")
	private String driverCode;

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

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

	@ApiModelProperty(value = "车辆ID")
	private Long vehicleId;

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

	@ApiModelProperty(value = "容器数量")
	private BigDecimal containersNumber;

	@ApiModelProperty(value = "托盘数量")
	private BigDecimal palletsNumber;

	@ApiModelProperty(value = "周转箱数量")
	private BigDecimal totesNumber;

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

	@ApiModelProperty(value = "异常状态 数据字典CONTAINER_BILL_ABNORMAL_STATUS：0正常 1异常")
	private Integer abnormalStatus;

	@ApiModelProperty(value = "异常状态 数据字典CONTAINER_BILL_ABNORMAL_STATUS：0正常 1异常")
	private String abnormalStatusName;

	@ApiModelProperty(value = "状态 数据字典CONTAINER_BILL_STATUS:0 取消 1在途 2在店 3归还 4回途 5已送达 6到仓")
	private Integer status;

	@ApiModelProperty(value = "状态 数据字典CONTAINER_BILL_STATUS:0 取消 1在途 2在店 3归还 4回途 5已送达 6到仓")
	private String statusName;

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

	@ApiModelProperty(value = "所属部门编码")
	private String departmentCode;

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

	@ApiModelProperty(value = "企业ID")
	private Long enterpriseId;

	@ApiModelProperty(value = "企业名称")
	private String enterpriseName;

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


}
