package com.prolog.rdc.tms.app.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.util.Date;

/**
 *
 * 自提签到信息查询DTO
 *
 * @className :AutoSignInfoQueryDTO
 * @author :qian.yh
 * @date :2022/7/7
 * @description :
 *
 * @version :1.0.0
 *
 */
@Data
@ApiModel("自提签到信息查询DTO")
public class AutoSignInfoQueryDTO implements Serializable {

	private static final long serialVersionUID = 1L;

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

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

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

	@ApiModelProperty(value = "发货方签到时间点 数据字典PICK_UP_SIGN_TIME 10预计提货开始时间 20预计提货结束时间 " +
			"30下单时间 40提交时间 50审核时间 60调度时间 70调度审核时间")
	private Integer shipperSignTime;

	@ApiModelProperty(value = "发货方签到时间期间")
	private Integer shipperSignTimeDura;

	@ApiModelProperty(value = "发货方签到时间单位 数据字典SIGN_TIME_UNIT 1分钟 2小时 3天")
	private Integer shipperSignTimeUnit;

	@ApiModelProperty(value = "收货方签到时间点 数据字典DELIVERY_SIGN_TIME 10预计送达开始时间 20预计送达结束时间 " +
			"30下单时间 40提交时间 50审核时间 60调度时间 70调度审核时间")
	private Integer consigneeSignTime;

	@ApiModelProperty(value = "收货方签到时间期间")
	private Integer consigneeSignTimeDura;

	@ApiModelProperty(value = "收货方签到时间单位 数据字典SIGN_TIME_UNIT 1分钟 2小时 3天")
	private Integer consigneeSignTimeUnit;

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

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

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


	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "调度审核时间")
	private Date disCheckDt;
}