package com.prolog.upcloud.base.wh.operate.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * @author wujunjie
 * @desc 移库信息
 */
@Data
@ApiModel
public class WmsMovePdaSaveVO {

    @ApiModelProperty(value = "是否虚拟货位")
    private Boolean isVirtualLocator;

    @ApiModelProperty(value = "仓库编码")
    @NotBlank(message = "{required}")
    private String warehouseId;

    /**
     * 移出库位ID
     */
    @ApiModelProperty(value = "移出库位编号")
    @NotBlank(message = "{required}")
    private String outLocatorCode;

    /**
     * 移出容器ID
     */
    @ApiModelProperty(value = "移出容器ID")
    private String outContainerCode = "N/A";

    /**
     * 移出货格
     */
    @ApiModelProperty(value = "移出货格")
    private String outGoodsCaseCode = "N/A";

    /**
     * 移入库位ID
     */
    @ApiModelProperty(value = "移入库位编号")
    @NotBlank(message = "{required}")
    private String inLocatorCode;

    /**
     * 移入容器ID
     */
    @ApiModelProperty(value = "移入容器ID")
    private String inContainerCode = "N/A";

    /**
     * 移入货格
     */
    @ApiModelProperty(value = "移入货格")
    private String inGoodsCaseCode = "N/A";

    /**
     * 货主
     */
    @ApiModelProperty(value = "货主ID")
    private String cargoOwnerId;

    @ApiModelProperty(value = "明细")
    @NotEmpty(message = "明细不能为空")
    private List<@Valid WmsMovePdaDetailVO> details;
}
