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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @author hongbo.pan
 * @date 2022/10/31
 */
@Data
public class ReceiptAndDeliveryQueryVO {

    @ApiModelProperty(value = "运单号/派车单号/订单号/WMS单号")
    private String billCode;

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

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

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

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

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

    @ApiModelProperty(value = "运单状态")
    private List<Integer> statusList;

    @ApiModelProperty(value = "运单运输状态")
    private List<Integer> transportStatusList;

    @ApiModelProperty(value = "部门",hidden = true)
    private List<String> deptList;

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

    @ApiModelProperty(value = "仓库", hidden = true)
    private List<Long> warehouseList;

    @ApiModelProperty(value = "供应商", hidden = true)
    private List<Long> supplierList;

    @ApiModelProperty(value = "客户", hidden = true)
    private List<Long> customerList;

    @ApiModelProperty(value = "货主",hidden = true)
    private List<Long> consignorList;

    @ApiModelProperty(value = "承运商ID", hidden = true)
    private Long carrierId;

    @ApiModelProperty(value = "运单ID集合", hidden = true)
    private List<String> shipBillIdList;

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

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

    @ApiModelProperty(value = "收货方",hidden = true)
    private List<Long> consigneeUnitIdList;

    @ApiModelProperty(value = "承运商运单状态", hidden = true)
    private List<Integer> carrierStatusList;

}
