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
 *
 * @className :AppointmentBillQueryVO
 * @author :qian.yh
 * @date :2022/07/07
 * @description :
 *
 * @version :1.0.0
 *
 */
@Data
@ApiModel("待预约查询VO")
public class BusinessAppointmentQueryVO implements Serializable {

    private static final long serialVersionUID = -1629837230585746141L;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "预计提货开始时间")
    private Date estimatedPickupStartTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "预计提货结束时间")
    private Date estimatedPickupEndTime;

    @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 = "页码")
    private Integer pageNum;

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

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

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

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

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

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

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

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

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

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

    @ApiModelProperty(value = "发货方")
    private String shipperUnitName;

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

}
