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

import cn.iocoder.yudao.module.order.dal.dataobject.orderWarehouseIn.handler.OrderWarehouseInDetailsTypeHandler;
import cn.iocoder.yudao.module.order.vo.order.OrderWarehouseInDetailsVO;
import cn.iocoder.yudao.module.order.vo.orderLocation.OrderLocationBackVO;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@ApiModel("管理后台 - 入仓货物详情更新对象 DO")
@Data
@EqualsAndHashCode
@ToString
public class OrderWarehouseInBackItemVO {

    @ApiModelProperty(value = "入仓货物-id", required = true)
    @NotNull(message = "入仓货物id不能为空")
    private Long id;

    @ApiModelProperty(value = "入仓货物-箱/件数", required = true)
    @NotNull(message = "箱/件数不能为空")
    private Integer cartonsNum;

    @ApiModelProperty(value = "入仓货物-所有箱内总货物数量")
    private Integer quantityAll;

    @ApiModelProperty(value = "入仓规格类型")
    private Integer specificationType;

    @ApiModelProperty(value = "入仓货物-单位", required = true)
    @NotNull(message = "单位不能为空")
    private String unit;

    @ApiModelProperty(value = "入仓货物-箱规")
    private String boxGauge;

    @ApiModelProperty(value = "入仓货物-体积")
    private BigDecimal volume;

    @ApiModelProperty(value = "入仓货物-重量")
    private BigDecimal weight;

    @ApiModelProperty(value = "入仓货物-快递单号")
    private String expressNo;

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

    /**
     * 入仓时间
     */
    @ApiModelProperty(value = "入仓货物-入仓时间")
    private Date inTime;


    /**
     * 重货方数
     */
    @ApiModelProperty(value = "入仓货物-重货方数")
    private BigDecimal heavyNumber;


    /**
     * 泡货方数
     */
    @ApiModelProperty(value = "入仓货物-泡货方数")
    private BigDecimal lightNumber;


    @ApiModelProperty(value = "入仓储位")
    private List<OrderLocationBackVO> orderLocationBackVOList;


    @ApiModelProperty(value = "创建时间")
    private Date createTime;


    @ApiModelProperty(value = "最后修改时间")
    private Date updateTime;

    private String orderLocationStr4Merge;


    @ApiModelProperty(value = "入仓纪录明细列表")
    private List<OrderWarehouseInDetailsVO> orderWarehouseInDetailsVOList;

    @ApiModelProperty(value = "订单项ID")
    private Long orderItemId;

    private String orderWarehouseInDetails;

    /**
     * 产品中文标题
     */
    @ApiModelProperty(value = "订单项-产品中文标题")
    private String prodTitleZh;
    /**
     * 产品英文标题
     */
    @ApiModelProperty(value = "订单项-产品英文标题")
    private String prodTitleEn;

    /**
     * 品牌
     */
    @ApiModelProperty(value = "订单项-品牌")
    private Long brand;

    /**
     * 材质
     */
    @ApiModelProperty(value = "材质")
    private String material;
    /**
     * 商品特性(可选多个特性ID)
     */
    @ApiModelProperty(value = "商品特性(可选多个特性ID)")
    private String prodAttrIds;

    @ApiModelProperty(value = "用途")
    private String usageIds;

}
