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 com.prolog.framework.core.annotation.Table;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * WMS_MOVE_H
 *
 * @author
 */
@Table("WMS_MOVE_H")
@Data
public class WmsMoveH extends BaseModel implements Serializable {
    /**
     * 主键ID
     */
    @Id
//    @AutoKey(type = AutoKey.TYPE_SNOWFLAKE)
    @ApiModelProperty(value = "主键ID")
    @Column(value = "MOVE_HEADER_ID")
    private String moveHeaderId;

    @ApiModelProperty(value = "货主id")
    @Column(value = "CARGO_OWNER_ID")
    private String cargoOwnerId;

    /**
     * 仓配中心ID
     */
    @ApiModelProperty(value = "仓配中心ID")
    @Column(value = "DC_ID")
    private String dcId;

    /**
     * 仓库ID
     */
    @ApiModelProperty(value = "仓库ID")
    @Column(value = "WAREHOUSE_ID")
    private String warehouseId;

    /**
     * 自动单号
     */
    @ApiModelProperty(value = "自动单号")
    @Column(value = "AUTO_BILL_NUM")
    private String autoBillNum;

    /**
     * 手动单号
     */
    @ApiModelProperty(value = "手动单号")
    @Column(value = "CUSTOM_BILL_NUM")
    private String customBillNum;

    /**
     * 移库单类型(SYS/ERP/GSP)
     */
    @ApiModelProperty(value = "移库单类型")
    @Column(value = "MOVE_BILL_TYPE")
    private String moveBillType;

    /**
     * 移库单子类型(1 移库/2 移位)
     */
    @ApiModelProperty(value = "移库单子类型")
    @Column(value = "SUB_BILL_TYPE")
    private String subBillType;

    /**
     * 移入建筑物
     */
    @ApiModelProperty(value = "移入建筑物")
    @Column(value = "MOVE_IN_BLDG")
    private String moveInBldg;

    /**
     * 移出建筑物
     */
    @ApiModelProperty(value = "移出建筑物")
    @Column(value = "MOVE_OUT_BLDG")
    private String moveOutBldg;

    /**
     * 单据状态
     */
    @ApiModelProperty(value = "单据状态")
    @Column(value = "STATUS")
    private String status;

    /**
     * 单据日期
     */
    @ApiModelProperty(value = "单据日期")
    @Column(value = "MOVE_DATE")
    private Date moveDate;

    /**
     * 是否计划移库
     */
    @ApiModelProperty(value = "是否计划移库")
    @Column(value = "IS_PLAN_MOVE")
    private BigDecimal isPlanMove;

    /**
     * 如果紧急补货，记录拣货单ID
     */
    @ApiModelProperty(value = "如果紧急补货，记录拣货单ID")
    @Column(value = "PICK_BILL_ID")
    private String pickBillId;

    /**
     * 数据访问等级
     */
    @ApiModelProperty(value = "数据访问等级")
    @Column(value = "ACCESS_LEVEL")
    private String accessLevel;

    /**
     * 打印次数
     */
    @ApiModelProperty(value = "打印次数")
    @Column(value = "PRINT_COUNT")
    private Long printCount;

    /**
     * 打印日期
     */
    @ApiModelProperty(value = "打印日期")
    @Column(value = "PRINT_DATE")
    private Date printDate;

    /**
     * 打印员ID
     */
    @ApiModelProperty(value = "打印员ID")
    @Column(value = "PRINTED_BY")
    private String printedBy;

    /**
     * 打印员名称
     */
    @ApiModelProperty(value = "打印员名称")
    @Column(value = "PRINTED_NAME")
    private String printedName;

    /**
     * 扩展字段1
     */
    @ApiModelProperty(value = "扩展字段1")
    @Column(value = "ATTRIBUTE1")
    private String attribute1;

    /**
     * 扩展字段2
     */
    @ApiModelProperty(value = "扩展字段2")
    @Column(value = "ATTRIBUTE2")
    private String attribute2;

    /**
     * 扩展字段3
     */
    @ApiModelProperty(value = "扩展字段3")
    @Column(value = "ATTRIBUTE3")
    private String attribute3;

    /**
     * 扩展字段4
     */
    @ApiModelProperty(value = "扩展字段4")
    @Column(value = "ATTRIBUTE4")
    private String attribute4;

    /**
     * 扩展字段5
     */
    @ApiModelProperty(value = "扩展字段5")
    @Column(value = "ATTRIBUTE5")
    private String attribute5;

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

    @ApiModelProperty(value = "部门ID")
    @Column(value = "DEPARTMENT_ID")
    private String departmentId;

    private static final long serialVersionUID = -4256776407898480458L;
}
