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

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

import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 待自提查询VO
 *
 * @author xyf
 * @date 2022/04/22
 */
@Data
@ApiModel("待自提查询VO")
public class WaitForSelfWithdrawalQueryVO implements Serializable {

	private static final long serialVersionUID = 3142212969333551913L;

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

	@NotNull(message = "页最大行数不能为空")
	@ApiModelProperty(value = "页最大行数")
	private Integer pageSize;

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

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

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

	@ApiModelProperty(value = "业务类型")
	private Integer orderBusinessType;

	@ApiModelProperty(value = "预计提货开始日期")
	private Date estimatedPickupStartTime;

	@ApiModelProperty(value = "预计提货结束日期")
	private Date estimatedPickupEndTime;

	@ApiModelProperty(value = "预计送达开始日期")
	private Date estimatedDeliveryStartTime;

	@ApiModelProperty(value = "预计送达结束日期")
	private Date estimatedDeliveryEndTime;

	@ApiModelProperty(value = "始发地")
	private String shipperProvinceCityDistrict;

	@ApiModelProperty(value = "目的地")
	private String consigneeProvinceCityDistrict;

	@ApiModelProperty(value = "包裹号")
	private String packageCode;

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

	@ApiModelProperty(value = "用户类型", hidden = true)
	private String userType;

	@ApiModelProperty(value = "顶级部门ID", hidden = true)
	private String departmentId;

	@ApiModelProperty(value = "货主ID", hidden = true)
	private Long cargoOwnerId;

	@ApiModelProperty(value = "仓库", hidden = true)
	private Long[] wsarehouses;

	@ApiModelProperty(value = "供应商", hidden = true)
	private Long[] suppliers;

	@ApiModelProperty(value = "客户", hidden = true)
	private Long[] customers;

	@ApiModelProperty(value = "勾选的数据ID集合")
	private List<String> ids;

	@ApiModelProperty(value = "配送方式",hidden = true)
	private Integer deliveryMethodType;

	@ApiModelProperty(value = "拆单状态",hidden = true)
	private Integer splitOrderStatus;

	@ApiModelProperty(value = "状态",hidden = true)
	private Integer status;

	@ApiModelProperty(value = "是否部门权限",hidden = true)
	private String isDept;

	@ApiModelProperty(value = "部门IDs",hidden = true)
	private String[] depts;

	@ApiModelProperty(value = "货主集合",hidden = true)
	private Long[] consignors;

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

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

	@ApiModelProperty(value = "线路名称")
	private String lineName;

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

	@ApiModelProperty(value = "客户ID",hidden = true)
	private Long customerUserId;

	@ApiModelProperty(value = "供应商ID",hidden = true)
	private Long supplierUserId;

	@ApiModelProperty(value = "货主ID",hidden = true)
	private Long cargoOwnerUserId;
}
