package com.prolog.cs.biz.outbound.model.vo.check;

import com.prolog.framework.core.annotation.Column;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;

@ApiModel("装箱头信息")
@Data
public class PackgeBackHVO implements Serializable {

    private static final long serialVersionUID = 7211102765948341749L;
    @ApiModelProperty(value = "单据ID")
    private String billId;

    @NotEmpty(message = "单据编号不能为空")
    @ApiModelProperty(value = "单据编号")
    private String billNo;

    @ApiModelProperty(value = "仓库ID")
    private String branchId;

    @NotEmpty(message = "订单创建时间不能为空")
    @ApiModelProperty(value = "订单创建时间")
    private String billDate;

    @NotEmpty(message = "客户编码不能为空")
    @ApiModelProperty(value = "客户编码")
    private String customerCode;

    @NotEmpty(message = "业务员不能为空")
    @ApiModelProperty(value = "业务员")
    private String salespersonId;

    @NotEmpty(message = "提货方式不能为空")
    @ApiModelProperty(value = "提货方式 1：集团连锁，2：市外配送，3：市内配送，4：托运，5：自提")
    private Integer pickWay;

    @ApiModelProperty(value = "提货时间")
    private String packDate;

    @NotEmpty(message = "提货类型不能为空")
    @ApiModelProperty(value = "提货类型 1.正常销售，2.购进退出")
    private String packType;

    @NotEmpty(message = "货主编码不能为空")
    @ApiModelProperty(value = "货主编码")
    private String consignorCode;

    @ApiModelProperty(value = "货主名称")
    private String consignorName;

    @ApiModelProperty(value = "暂存区起始号")
    private String stageAreaStart;

    @ApiModelProperty(value = "暂存区终止号")
    private String stageAreaEnd;

    @ApiModelProperty(value = "物流商名称")
    private String carrierName;

    @ApiModelProperty(value = "物流商编号")
    private String carrierCode;

    @ApiModelProperty(value = "物流单号")
    private String wayBillNo;

    @ApiModelProperty(value = "企业ID")
    private String enterpriseId;

    @ApiModelProperty(value = "企业名称")
    private String enterpriseName;

    @ApiModelProperty(value = "包装信息")
    private List<PackgeBackDVO> packgelist;
}
