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.OrderLocationCreateReqVO;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.validator.constraints.Length;

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

@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@ToString
@EqualsAndHashCode
@ApiModel("管理后台 - 入仓货物详情")
public class OrderWarehouseInItemDto {
    @ApiModelProperty(value = "入仓货物-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 = "入仓备注")
    @Length(max = 100, message = "备注最多支持100字")
    private String remark;

    @ApiModelProperty(value = "储位列表")
    private List<OrderLocationCreateReqVO> orderLocationCreateReqVOList;

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


    public void setOrderWarehouseInDetailsVOList(List<OrderWarehouseInDetailsVO> orderWarehouseInDetailsVOList) {
        this.orderWarehouseInDetailsVOList = orderWarehouseInDetailsVOList;
    }





}
