package cn.iocoder.yudao.module.order.vo.orderCargoControlPick;

import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;

import java.math.BigDecimal;
import java.util.*;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Data
@ApiModel("管理后台 - 订单控货人放货记录查询 VO")
public class OrderCargoControlPickQueryVO {

    @ApiModelProperty(value = "订单id")
    private Long orderId;

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

    @ApiModelProperty(value = "提单号")
    private String tidanNo;

    @ApiModelProperty(value = "放货箱数")
    private Integer pickNum = 0;

    @ApiModelProperty(value = "控货箱数")
    private Integer controlNum = 0;

    @ApiModelProperty(value = "放货数量")
    private Integer pickQuantity = 0;

    @ApiModelProperty(value = "放货体积")
    private BigDecimal pickVolume = BigDecimal.ZERO;

    @ApiModelProperty(value = "放货重量")
    private BigDecimal pickWeight = BigDecimal.ZERO;

    @ApiModelProperty(value = "放货id")
    private Long pickId;

    @ApiModelProperty(value = "状态: 0 已取消 1 放货中 2 修改审核中  3 已放货 4 反复核审核中 5 调货审核中 6 取消放货审核中")
    private Integer status;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "开始创建时间")
    private Date beginCreateTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "结束创建时间")
    private Date endCreateTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "开始复核时间")
    private Date beginCheckTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "结束复核时间")
    private Date endCheckTime;

    @ExcelProperty("控货人名字")
    @ApiModelProperty(value = "控货人名字")
    private String name;

    @ExcelProperty("控货人名字(英文)")
    @ApiModelProperty(value = "控货人名字(英文)")
    private String nameEn;

    @ExcelProperty("控货人手机")
    @ApiModelProperty(value = "控货人手机")
    private String phone;

    @ExcelProperty("控货人邮箱")
    @ApiModelProperty(value = "控货人邮箱")
    private String email;

    @ExcelProperty("控货人公司")
    @ApiModelProperty(value = "控货人公司")
    private String company;

    @ExcelProperty("控货人公司(英文)")
    @ApiModelProperty(value = "控货人公司(英文)")
    private String companyEn;

    @ApiModelProperty(value = "控货人手机国家区号")
    private String countryCode;

    @ApiModelProperty(value = "收货人姓名")
    private String consigneeName;

    @ApiModelProperty(value = "收货人姓名(英文)")
    private String consigneeNameEn;

    @ApiModelProperty(value = "收货人手机")
    private String consigneePhone;

    @ApiModelProperty(value = "收货人手机国家区号")
    private String consigneeCountryCode;

    @ApiModelProperty(value = "收货人邮箱")
    private String consigneeEmail;

    @ApiModelProperty(value = "操作人")
    private String operator;

    @ApiModelProperty(value = "操作人类型：UserTypeEnum ")
    private Integer userType;
}
