package com.ruoyi.wms.po;

import lombok.Data;
import javax.persistence.*;
import java.io.Serializable;
import io.swagger.annotations.ApiParam;

@Data
@Entity
@Table(name = "shelf_info")
public class ShelfInfo implements Serializable {

  /**
   * id
   */
  @Id
  @GeneratedValue(strategy=GenerationType.IDENTITY)
  @Column(name = "id")
  @ApiParam(value = "id")
  private Long id;

  /**
   * 货架编码
   */
  @Column(name = "shelf_code")
  @ApiParam(value = "货架编码")
  private String shelfCode;

  /**
   * 货架状态
空闲
占用
禁用(预留功能)
   50 ---已出库
   */
  @Column(name = "shelf_status")
  @ApiParam(value = "货架状态空闲占用禁用(预留功能)")
  private Integer shelfStatus;

  /**
   * 生产任务单
   */
  @Column(name = "production_task")
  @ApiParam(value = "生产任务单")
  private String productionTask;

  /**
   * 存放表数量
   */
  @Column(name = "qty")
  @ApiParam(value = "存放表数量")
  private Integer qty;

  /**
   * 当前货架存放任务单状态：
5-待校验
10-校验中
15-校验完成
20-待抽检
25-待出库(缓存区)
30-待出库(出库位)
35-出库完成
40-空箱
   */
  @Column(name = "order_status")
  @ApiParam(value = "当前货架存放任务单状态：5-待校验10-校验中15-校验完成20-待抽检25-待出库(缓存区)30-待出库(出库位)35-出库完成40-空箱")
  private Integer orderStatus;

  /**40
   * 创建人
   */
  @Column(name = "created_by")
  @ApiParam(value = "创建人")
  private String createdBy;

  /**
   * 创建时间
   */
  @Column(name = "created_dt")
  @ApiParam(value = "创建时间")
  private String createdDt;

  /**
   * 更新人
   */
  @Column(name = "updated_by")
  @ApiParam(value = "更新人")
  private String updatedBy;

  /**
   * 更新时间
   */
  @Column(name = "updated_dt")
  @ApiParam(value = "更新时间")
  private String updatedDt;

  /**
   * 是否优先处理（0-不优先；1-优先）
   */
  @Column(name = "priority")
  @ApiParam(value = "是否优先处理（0-不优先；1-优先）")
  private Integer priority;

  /**
   * 工位编码
   */
  @Column(name = "station_code")
  @ApiParam(value = "工位编码")
  private String stationCode;

  /**
   * 送抽检的工位编码
   */
  @Column(name = "station_code_spot_check")
  @ApiParam(value = "送抽检的工位编码")
  private String stationCodeSpotCheck;

  @Transient
  @ApiParam("排序")
  private String[] orders;

  @Transient
  @ApiParam("单据状态集合")
  private Integer[] orderStatusArr;
}
