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

import java.io.Serializable;
import java.util.Date;

import javax.validation.constraints.NotNull;

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;

/**
 * 预约管理-单个调整添加运单弹窗VO
 *
 * Company: 湖北普罗格科技股份有限公司
 *
 * @author zhangsj
 * @since 2022/7/6 16:01
 */
@Data
@ApiModel("预约管理-单个调整添加运单弹窗VO")
public class BookingByShipbillPopVO implements Serializable {

	private static final long serialVersionUID = 6458106723626374150L;

	@NotNull(message = "预约单ID不能为空")
	@ApiModelProperty(value = "预约单ID")
	private String appointmentId;

	@NotNull(message = "页码不能为空")
	@ApiModelProperty(value = "页码")
	private Integer pageNum;

	@NotNull(message = "每页条数不能为空")
	@ApiModelProperty(value = "每页条数")
	private Integer pageSize;

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

	@ApiModelProperty(value = "货主名称")
	private String cargoOwnerName;

	@ApiModelProperty(value = "订单编号")
	private String orderNo;

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

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

	@ApiModelProperty(value = "订单业务类型 数据字典ORDER_BUSINESS_TYPE：1销售订单-直送  2销售订单-供应商配送 3采购订单-供应商配送 4采购订单-自提 5销售退货 6采购退货 7调拨")
	private Integer orderBusinessType;

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

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

	@ApiModelProperty(value = "开始日期", hidden = true)
	private String startDate;

	@ApiModelProperty(value = "结束日期", hidden = true)
	private String endDate;

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

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

	@ApiModelProperty(value = "预约详细地址", hidden = true)
	private String shipperAddress;

	@ApiModelProperty(value = "司机ID", hidden = true)
	private Long carrierId;

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

	@ApiModelProperty(value = "企业id", hidden = true)
	private Long enterpriseId;
}
