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.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 *
 * 全链路任务查询DTO
 *
 * @className :PendingFullLinkQueryDTO
 * @author :qian.yh
 * @date :2022/7/7
 * @description :
 *
 * @version :1.0.0
 *
 */
@Data
@ApiModel("全链路任务查询DTO")
public class PendingFullLinkQueryDTO implements Serializable {

	private static final long serialVersionUID = 1L;
	@ApiModelProperty(value = "调度单行ID")
	private String id;

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

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

	@ApiModelProperty(value = "运单ID")
	private String shipbillId;

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

	@ApiModelProperty(value = "发货地点ID")
	private String shipfromId;

	@ApiModelProperty(value = "发货地点编号")
	private String shipfromCode;

	@ApiModelProperty(value = "发货地点名称")
	private String shipfromName;

	@ApiModelProperty(value = "发货地点地址")
	private String shipfromAddress;

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

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

	@ApiModelProperty(value = "发货地点经度")
	private String shipfromLongitude;

	@ApiModelProperty(value = "发货地点纬度")
	private String shipfromLatitude;

	@ApiModelProperty(value = "配送地点ID")
	private String shipToId;

	@ApiModelProperty(value = "配送地点编号")
	private String shipToCode;

	@ApiModelProperty(value = "配送地点名称")
	private String shipToName;

	@ApiModelProperty(value = "配送地点地址")
	private String shipToAddress;

	@ApiModelProperty(value = "收货人")
	private String shipToConsignee;

	@ApiModelProperty(value = "收货人联系电话")
	private String shipToConsigneeTel;

	@ApiModelProperty(value = "收货人联系电话2")
	private String shipToConsigneeMobel;

	@ApiModelProperty(value = "配送地点经度")
	private String shipToLongitude;

	@ApiModelProperty(value = "配送地点纬度")
	private String shipToLatitude;

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

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

	@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 = "状态")
	private Integer status;

	@ApiModelProperty(value = "货物明细")
	private List<ShipbillItemDetailQueryDTO> itemDetail;

	// STD-DEVELOP20220823 lhb auto check in 20220905 start
	@ApiModelProperty(value = "总件数")
	private int shipBillPackages;

	@ApiModelProperty(value = "是否签到")
	private Integer shipperPickUpSign;

	@ApiModelProperty(value = "默认提货围栏(km)")
	private BigDecimal shipperPickUpRail;

	@ApiModelProperty(value = "自动提货签到")
	private Integer shipperAutoPickUpSign;

	@ApiModelProperty(value = "送达签到 数据字典WHETHER:0否，1是")
	private Integer consigneeDeliverySign;

	@ApiModelProperty(value = "默认送货围栏(km)")
	private BigDecimal consigneeDeliveryRail;

	@ApiModelProperty(value = "自动送达签到 数据字典WHETHER:0否，1是")
	private Integer consigneeAutoDeliverySign;

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "预计提货时间")
	private Date shipfromDate;
	// STD-DEVELOP20220823 lhb auto check in 20220905 end
}
