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

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;

/**
 * 待调度查询VO
 *
 * @author lhb
 * @date 2022/04/11
 */
@Data
@ApiModel("待调度查询VO")
public class PendingDispatchQueryVO implements Serializable {

	private static final long serialVersionUID = -1629837230585746141L;


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

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

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

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

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

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

	@ApiModelProperty(value = "客户")
	private String consigneeUnitName;

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

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

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

	@ApiModelProperty(value = "页码")
	private Integer pageNum;

	@ApiModelProperty(value = "每页条数")
	private Integer pageSize;

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

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

	@ApiModelProperty(value = "商品编码")
	private String itemCode;

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

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

	@ApiModelProperty(value = "承运商集合", hidden=true)
	private Long[] suppliers;

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

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

	@ApiModelProperty(value = "单位ID", hidden=true)
	private Long unitId;

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

	@ApiModelProperty(value = "调度类型 数据字典SCHEDULE_TYPE:1.自有  2.承运商", hidden=true)
	private Integer scheduleType;

	@ApiModelProperty(value = "承运方运单调度状态", hidden=true)
	private Integer carrierShipbillStatus;

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

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

	@ApiModelProperty(value = "配送方式 数据字典DELIVERY_METHOD_TYPE：1配送 2自提", hidden=true)
	private Integer deliveryMethodType;
}
