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

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 WaitPickUpGoodsQueryByShipbillDTO implements Serializable {

	private static final long serialVersionUID = -5201622047811803011L;

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

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

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

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

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

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

	@ApiModelProperty(value = "电话/手机号")
	private String contact;

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

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

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

	@ApiModelProperty(value = "创建时间")
	private Date createtime;

	@ApiModelProperty(value = "创建人")
	private String createperson;

	@ApiModelProperty(value = "修改时间")
	private Date updatetime;

	@ApiModelProperty(value = "修改人")
	private String updateperson;

	@ApiModelProperty(value = "提货签到 数据字典WHETHER:0否，1是")
	private Integer shipperPickUpSign;

	@ApiModelProperty(value = "运单状态 数据字典SHIPBILL_STATUS:0已作废 10初始化 20已提交 5已回退 30已审核 40已调度")
	private Integer status;

	//STD-DEVELOP20220823 lhb 自动签到 20220907 start
	@ApiModelProperty(value = "默认提货围栏(km)")
	private BigDecimal shipperPickUpRail;
	@ApiModelProperty(value = "自动提货签到")
	private Integer shipperAutoPickUpSign;
	@ApiModelProperty(value = "发货方经度")
	private BigDecimal shipperLongitude;
	@ApiModelProperty(value = "发货方纬度")
	private BigDecimal shipperLatitude;
	//STD-DEVELOP20220823 lhb 自动签到 20220907 end

	@ApiModelProperty(value = "包裹明细")
	private List<PendingDisPackageDTO> packageDetail;

	@ApiModelProperty(value = "运单明细")
	private List<WaitDeliveredItemDTO> itemDetail;

	@ApiModelProperty(value = "派车单id")
	private String loadingBillId;

	@ApiModelProperty(value = "司机接单状态:N-未接单,A-已接单")
	private String driverReceiveStatus;

	@ApiModelProperty(value = "车辆设备ID")
	private String vehicleDeviceId;

	@ApiModelProperty(value = "车辆设备CODE")
	private String vehicleDeviceCode;

	@ApiModelProperty(value = "车辆设备名称")
	private String vehicleDeviceName;

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

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

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

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

}
