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

import com.prolog.framework.bz.core.model.BaseModel;
import com.prolog.framework.core.annotation.AutoKey;
import com.prolog.framework.core.annotation.Column;
import com.prolog.framework.core.annotation.Id;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * WMS_MOVE_D_CONFIRM
 *
 * @author wujunjie
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class WmsMoveDConfirm extends BaseModel implements Serializable {
    /**
     * 行id
     */
    @Id
    @AutoKey(type = AutoKey.TYPE_SNOWFLAKE)
    @ApiModelProperty(value = "主键ID")
    @Column(value = "MOVE_LINE_ID")
    private String moveLineId;

    /**
     * 头ID
     */
    @ApiModelProperty(value = "头ID")
    @Column(value = "MOVE_HEADER_ID")
    private String moveHeaderId;

    @ApiModelProperty(value = "行号")
    @Column(value = "LINE_NUM")
    private Long lineNum;

    /**
     * 移出库位ID
     */
    @ApiModelProperty(value = "移出库位ID")
    @Column(value = "OUT_LOCATOR_ID")
    private String outLocatorId;

    /**
     * 移入库位ID
     */
    @ApiModelProperty(value = "移入库位ID")
    @Column(value = "IN_LOCATOR_ID")
    private String inLocatorId;

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

    /**
     * 商品批次ID
     */
    @ApiModelProperty(value = "商品批次ID")
    @Column(value = "BATCH_ID")
    private String batchId;

    /**
     * 商品批次编号
     */
    @ApiModelProperty(value = "商品批次编号")
    @Column(value = "BATCH_NUM")
    private String batchNum;

    /**
     * 单位
     */
    @ApiModelProperty(value = "单位")
    @Column(value = "UOM")
    private String uom;

    /**
     * 转换因子
     */
    @ApiModelProperty(value = "转换因子")
    @Column(value = "CONVERSION_RATE")
    private BigDecimal conversionRate;

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

    /**
     * 单品数量
     */
    @ApiModelProperty(value = "单品数量")
    @Column(value = "PIECE_QUANTITY")
    private BigDecimal pieceQuantity;

    /**
     * 计划移库=Y,无计划移库=N(扫描枪生成的单据)
     */
    @ApiModelProperty(value = "SEGMENT1")
    @Column(value = "SEGMENT1")
    private String segment1;

    @ApiModelProperty(value = "SEGMENT2")
    @Column(value = "SEGMENT2")
    private String segment2;

    @ApiModelProperty(value = "SEGMENT3")
    @Column(value = "SEGMENT3")
    private String segment3;

    @ApiModelProperty(value = "SEGMENT4")
    @Column(value = "SEGMENT4")
    private String segment4;

    @ApiModelProperty(value = "SEGMENT5")
    @Column(value = "SEGMENT5")
    private String segment5;

    @ApiModelProperty(value = "状态")
    @Column(value = "STATUS")
    private String status;

    @ApiModelProperty(value = "备注")
    @Column(value = "COMMENTS")
    private String comments;

    /**
     * 移出库工ID
     */
    @ApiModelProperty(value = "移出库工ID")
    @Column(value = "OUT_WAREHOUSE_WORKER_ID")
    private String outWarehouseWorkerId;

    /**
     * 移入库工ID
     */
    @ApiModelProperty(value = "移入库工ID")
    @Column(value = "IN_WAREHOUSE_WORKER_ID")
    private String inWarehouseWorkerId;

    /**
     * 移出容器（预留）
     */
    @ApiModelProperty(value = "移出容器")
    @Column(value = "OUT_CONTAINER_CODE")
    private String outContainerCode;

    /**
     * 移出货格（预留）
     */
    @ApiModelProperty(value = "移出货格")
    @Column(value = "OUT_GOODS_CASE_CODE")
    private String outGoodsCaseCode;

    /**
     * 移入容器（预留）
     */
    @ApiModelProperty(value = "移入容器")
    @Column(value = "IN_CONTAINER_CODE")
    private String inContainerCode;

    /**
     * 移入货格（预留）
     */
    @ApiModelProperty(value = "移入货格")
    @Column(value = "IN_GOODS_CASE_CODE")
    private String inGoodsCaseCode;

    private static final long serialVersionUID = -2447539995525952227L;
}
