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

import cn.iocoder.yudao.module.order.vo.order.OrderWarehouseInDetailsVO;
import cn.iocoder.yudao.module.order.vo.orderLocation.OrderLocationBackVO;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.apache.commons.lang3.StringUtils;

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

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

    @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 java.math.BigDecimal volume;

    @ApiModelProperty(value = "入仓货物-重量")
    private java.math.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;



}
