package com.ruoyi.wms.po;

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

@Data
@Entity
@Table(name = "order_info")
public class OrderInfo implements Serializable {

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

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

  /**
   * 单据状态(5-已录入、10-部分入库、15-全部入库)
   */
  @Column(name = "order_status")
  @ApiParam(value = "单据状态(5-已录入、10-部分入库、15-全部入库)")
  private Integer orderStatus;

  /**
   * 销售订单
   */
  @Column(name = "sale_order")
  @ApiParam(value = "销售订单")
  private String saleOrder;

  /**
   * 物料编码
   */
  @Column(name = "material_code")
  @ApiParam(value = "物料编码")
  private String materialCode;

  /**
   * 物料名称
   */
  @Column(name = "material_name")
  @ApiParam(value = "物料名称")
  private String materialName;

  /**
   * 物料规格
   */
  @Column(name = "material_spec")
  @ApiParam(value = "物料规格")
  private String materialSpec;

  /**
   * 计划完工日期
   */
  @Column(name = "planned_completion_date")
  @ApiParam(value = "计划完工日期")
  private String plannedCompletionDate;

  /**
   * 计划数量
   */
  @Column(name = "plan_qty")
  @ApiParam(value = "计划数量")
  private Integer planQty;

  /**
   * 已入库数
   */
  @Column(name = "in_qty")
  @ApiParam(value = "已入库数")
  private Integer inQty;

  /**
   * 入库中数量
   */
  @Column(name = "ongoing_qty")
  @ApiParam(value = "入库中数量")
  private Integer ongoingQty;



  /**
   * 出库数量
   */
  @Column(name = "out_qty")
  @ApiParam(value = "出库数量")
  private Integer outQty;

  /**
   * 出库中数量
   */
  @Column(name = "onouting_check_qty")
  @ApiParam(value = "出库中数量")
  private Integer onoutingCheckQty;

  /**
   * 待校验数
   */
  @Column(name = "wait_check_qty")
  @ApiParam(value = "待校验数")
  private Integer waitCheckQty;

  /**
   * 已校验数
   */
  @Column(name = "finish_check_qty")
  @ApiParam(value = "已校验数")
  private Integer finishCheckQty;

  /**
   * 校验中数
   */
  @Column(name = "check_qty")
  @ApiParam(value = "校验中数")
  private Integer checkQty;

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

  /**
   * 成品区已入库数
   */
  @Column(name = "product_in_qty")
  @ApiParam(value = "成品区已入库数")
  private Integer productInQty;

  /**
   * 成品区入库中数量
   */
  @Column(name = "product_ongoing_qty")
  @ApiParam(value = "成品区入库中数量")
  private Integer productOngoingQty;

  /**
   * 成品区出库数量
   */
  @Column(name = "product_out_qty")
  @ApiParam(value = "成品区出库数量")
  private Integer productOutQty;

  /**
   * 成品区出库中数量
   */
  @Column(name = "product_onouting_qty")
  @ApiParam(value = "成品区出库中数量")
  private Integer productOnoutingQty;

  @Transient
  @ApiParam(value = "计划完工日期-开始")
  private String plannedCompletionDateStart;

  @Transient
  @ApiParam(value = "计划完工日期-结束")
  private String plannedCompletionDateEnd;

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

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

  @Transient
  @ApiParam(value = "工位编码")
  private String stationCode;

  @Transient
  @ApiParam(value = "工位状态(5-空闲(默认)、10-作业中、15-停止作业、20-作业完成)")
  private Integer stationStatus;

  @Transient
  @ApiParam(value = "工位状态(5-空闲(默认)、10-作业中、15-停止作业、20-作业完成)")
  private String stationStatusShow;

  @Transient
  @ApiParam(value = "单据状态(5-已录入、10-部分入库、15-全部入库)")
  private String orderStatusShow;

}
