package com.ruoyi.wms.po;

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

@Data
@Entity
@Table(name = "container_recoder")
public class ContainerRecoder implements Serializable {

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

  /**
   * 周装箱号(入库时不存在，自动增加)
   */
  @Column(name = "container_number")
  @ApiParam(value = "周装箱号(入库时不存在，自动增加)")
  private String containerNumber;

  /**
   * 周装箱状态：
   5-空闲(库外)，从出库工位完成出库后标记为该状态
   10-空闲(库内)，空箱完成入库上架后的状态
   15-入库中(手动)，PDA扫描确认数量的
   20-入库中(自动)，滚筒线扫描枪扫描后确认数量的
   25-入库中(空箱)，夜班模式空箱入库
   30-在库，非空空箱在库
   35-出库中，发送出库调度任务后
   */
  @Column(name = "container_status")
  @ApiParam(value = "周装箱状态：5-空闲(库外)，从出库工位完成出库后标记为该状态10-空闲(库内)，空箱完成入库上架后的状态15-入库中(手动)，PDA扫描确认数量的20-入库中(自动)，滚筒线扫描枪扫描后确认数量的25-入库中(空箱)，夜班模式空箱入库30-在库，非空空箱在库35-出库中，发送出库调度任务后")
  private Integer containerStatus;

  /**
   * 周装箱装表数量
   */
  @Column(name = "qty")
  @ApiParam(value = "周装箱装表数量")
  private Integer qty;

  /**
   * 库位编码(iCMX-A01-05-03)
   */
  @Column(name = "store_code")
  @ApiParam(value = "库位编码(iCMX-A01-05-03)")
  private String storeCode;

  /**
   * 开始入库时间(人工扫描或自动扫描时间)
   */
  @Column(name = "on_instore_time")
  @ApiParam(value = "开始入库时间(人工扫描或自动扫描时间)")
  private String onInstoreTime;

  /**
   * 入库时间(机器人放到库位上时间)
   */
  @Column(name = "instore_time")
  @ApiParam(value = "入库时间(机器人放到库位上时间)")
  private String instoreTime;

  /**
   * 开始出库时间(机器人开始出库作业时间)
   */
  @Column(name = "on_outstore_time")
  @ApiParam(value = "开始出库时间(机器人开始出库作业时间)")
  private String onOutstoreTime;

  /**
   * 出库时间(机器人取货到出库工位完成时间)
   */
  @Column(name = "outstore_time")
  @ApiParam(value = "出库时间(机器人取货到出库工位完成时间)")
  private String outstoreTime;

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

  /**
   * 创建人
   */
  @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;

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

  @Transient
  @ApiParam("状态集合")
  private Integer[] containerStatusArr;

  @Transient
  @ApiParam("站位编码")
  private String stationCode;

  /**
   * 是否为pda修改
   */
  @Column(name = "is_pda_edit")
  @ApiParam(value = "是否为pda修改")
  private Integer isPdaEdit;

}
