package com.prolog.eis.model.container;

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

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 容器信息详情表
 */
@ApiModel(value = "容器信息详情表")
@Data
@Table(value = "container_info_detail")
public class ContainerInfoDetail {
    /**
     * id
     */
    @Id
    @Column("id")
    @AutoKey(type = AutoKey.TYPE_IDENTITY)
    @ApiModelProperty(value = "id")
    private Integer id;

    /**
     * 容器号
     */
    @Column(value = "container_no")
    @ApiModelProperty(value = "容器号")
    private String containerNo;

    /**
     * 子容器号
     */
    @Column(value = "container_sub_no")
    @ApiModelProperty(value = "子容器号")
    private String containerSubNo;


    /**
     * 包装ID
     */
    @Column(value = "pack_id")
    @ApiModelProperty(value = "包装ID")
    private String packId;

    /**
     * 货主ID
     */
    @Column(value = "owner_id")
    @ApiModelProperty(value = "货主ID")
    private String ownerId;

    /**
     * 批次ID
     */
    @Column(value = "lot_id")
    @ApiModelProperty(value = "批次ID")
    private String lotId;

    /**
     * 商品ID
     */
    @Column(value = "item_id")
    @ApiModelProperty(value = "商品ID")
    private String itemId;

    /**
     * 数量
     */
    @Column(value = "qty")
    @ApiModelProperty(value = "数量")
    private BigDecimal qty;

    /**
     * 锁定数量
     */
    @Column(value = "lock_qty")
    @ApiModelProperty(value = "锁定数量")
    private BigDecimal lockQty;

    /**
     * 是否锁定
     */
    @Column(value = "is_lock")
    @ApiModelProperty(value = "是否锁定")
    private Integer isLock;

    /**
     * 生产日期
     */
    @Column(value = "prod_date")
    @ApiModelProperty(value = "生产日期")
    private Date prodDate;

    /**
     * 有效期
     */
    @Column(value = "expire_date")
    @ApiModelProperty(value = "有效期")
    private Date expireDate;

    /**
     * 创建时间
     */
    @Column(value = "create_time")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @Column(value = "update_time")
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;


    /**
     * 容器类型
     */
    @Column(value = "container_type")
    @ApiModelProperty(value="容器类型（1、空托盘，2、空托盘垛，3、商品托盘/周转箱/纸箱）4.货架")
    private Integer containerType;

    /**
     * 容器类型
     */
    @Column(value = "area_type")
    @ApiModelProperty(value="1.四向库  2.AGV药品托盘库 3.AGV食品托盘库：4.AGV器械托盘库 5.拆零库:(包含食品、器械、药品)\\n")
    private Integer areaType;


    /**
     * 当前面
     */
    @Column(value = "plane")
    @ApiModelProperty(value = "备注")
    private String plane;

    /**
     * 货格已使用体积
     */
    @Column(value = "volume")
    @ApiModelProperty(value = "货格已使用体积")
    private BigDecimal volume;

    /**
     * 货格已使用体积 托盘最大数量
     */
    @Column(value = "max_volume")
    @ApiModelProperty(value = "最大体积")
    private BigDecimal maxVolume;

    /**
     * 单件商品体积
     */
    @Column(value = "single_volume")
    @ApiModelProperty(value = "单件商品体积")
    private BigDecimal singleVolume;

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

    /*@Column("biz_property_id")
    @ApiModelProperty("业务属性id")
    private Integer bizPropertyId;*/

    @Column("task_type")
    @ApiModelProperty("容器类型")
    private Integer taskType;


}