package com.foreverwin.mesnac.quality.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 自报代办事项
 * </p>
 *
 * @author Philip
 * @since 2021-08-20
 */

@TableName("Z_SELF_REPORT")

public class SelfReport extends Model<SelfReport> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
   @TableId(value = "HANDLE", type = IdType.INPUT)
   private String handle;
    /**
     * 站点
     */
   @TableField("SITE")
   private String site;
    /**
     * 检验任务编号
     */
   @TableField("TASK_NO")
   private String taskNo;
    /**
     * 车间
     */
   @TableField("WORK_CENTER")
   private String workCenter;
    /**
     * 工单
     */
   @TableField("SHOP_ORDER")
   private String shopOrder;
    /**
     * 物料
     */
   @TableField("ITEM")
   private String item;
    /**
     * 工序/步骤
     */
   @TableField("OP_STEP")
   private String opStep;
    /**
     * 资源
     */
   @TableField("RESRCE")
   private String resrce;
    /**
     * 产品条码
     */
   @TableField("SFC")
   private String sfc;
    /**
     * 不良代码
     */
   @TableField("NC_CODE")
   private String ncCode;
    /**
     * 不良数量
     */
   @TableField("NC_QTY")
   private BigDecimal ncQty;
    /**
     * 设备位置
     */
   @TableField("LOCATION")
   private String location;
    /**
     * 状态：创建|NEW、确认|CONF、驳回|REJ
     */
   @TableField("STATE")
   private String state;
    /**
     * 不良备注
     */
   @TableField("REMARK")
   private String remark;
    /**
     * 创建人
     */
   @TableField("CREATE_USER")
   private String createUser;
    /**
     * 创建时间
     */
   @TableField("CREATED_DATE_TIME")
   private LocalDateTime createdDateTime;
    /**
     * 修改人
     */
   @TableField("MODIFY_USER")
   private String modifyUser;
    /**
     * 修改时间
     */
   @TableField("MODIFIED_DATE_TIME")
   private LocalDateTime modifiedDateTime;
    /**
     * 不良描述
     */
   @TableField("NC_CODE_DESC")
   private String ncCodeDesc;
    /**
     * 提报用户组
     */
   @TableField("REPORT_USER_GROUP")
   private String reportUserGroup;

   /**
    * 开始时间
    */
   @TableField(exist = false)
   private LocalDate startTime;

   /**
    * 结束时间
    */
   @TableField(exist = false)
   private LocalDate endTime;

   /**
    * 描述
    */
   @TableField(exist = false)
   private String description;

   /**
    * 产品类型
    */
   @TableField(exist = false)
   private String productCategory;

   /**
    * 传过去的User
    * @return
    */
   @TableField(exist = false)
   private String pbUser;
   @TableField(exist = false)
   private String checkUsr;


   public String getCheckUsr() {
      return checkUsr;
   }

   public void setCheckUsr(String checkUsr) {
      this.checkUsr = checkUsr;
   }

   public String getProductCategory() {
      return productCategory;
   }

   public void setProductCategory(String productCategory) {
      this.productCategory = productCategory;
   }

   public String getHandle() {
      return handle;
   }

   public void setHandle(String handle) {
      this.handle = handle;
   }

   public String getSite() {
      return site;
   }

   public void setSite(String site) {
      this.site = site;
   }

   public String getTaskNo() {
      return taskNo;
   }

   public void setTaskNo(String taskNo) {
      this.taskNo = taskNo;
   }

   public String getWorkCenter() {
      return workCenter;
   }

   public void setWorkCenter(String workCenter) {
      this.workCenter = workCenter;
   }

   public String getShopOrder() {
      return shopOrder;
   }

   public void setShopOrder(String shopOrder) {
      this.shopOrder = shopOrder;
   }

   public String getItem() {
      return item;
   }

   public void setItem(String item) {
      this.item = item;
   }

   public String getOpStep() {
      return opStep;
   }

   public void setOpStep(String opStep) {
      this.opStep = opStep;
   }

   public String getResrce() {
      return resrce;
   }

   public void setResrce(String resrce) {
      this.resrce = resrce;
   }

   public String getSfc() {
      return sfc;
   }

   public void setSfc(String sfc) {
      this.sfc = sfc;
   }

   public String getNcCode() {
      return ncCode;
   }

   public void setNcCode(String ncCode) {
      this.ncCode = ncCode;
   }

   public BigDecimal getNcQty() {
      return ncQty;
   }

   public void setNcQty(BigDecimal ncQty) {
      this.ncQty = ncQty;
   }

   public String getLocation() {
      return location;
   }

   public void setLocation(String location) {
      this.location = location;
   }

   public String getState() {
      return state;
   }

   public void setState(String state) {
      this.state = state;
   }

   public String getRemark() {
      return remark;
   }

   public void setRemark(String remark) {
      this.remark = remark;
   }

   public String getCreateUser() {
      return createUser;
   }

   public void setCreateUser(String createUser) {
      this.createUser = createUser;
   }

   public LocalDateTime getCreatedDateTime() {
      return createdDateTime;
   }

   public void setCreatedDateTime(LocalDateTime createdDateTime) {
      this.createdDateTime = createdDateTime;
   }

   public String getModifyUser() {
      return modifyUser;
   }

   public void setModifyUser(String modifyUser) {
      this.modifyUser = modifyUser;
   }

   public LocalDateTime getModifiedDateTime() {
      return modifiedDateTime;
   }

   public void setModifiedDateTime(LocalDateTime modifiedDateTime) {
      this.modifiedDateTime = modifiedDateTime;
   }

   public String getNcCodeDesc() {
      return ncCodeDesc;
   }

   public void setNcCodeDesc(String ncCodeDesc) {
      this.ncCodeDesc = ncCodeDesc;
   }

   public String getReportUserGroup() {
      return reportUserGroup;
   }

   public void setReportUserGroup(String reportUserGroup) {
      this.reportUserGroup = reportUserGroup;
   }

   public LocalDate getStartTime() {
      return startTime;
   }

   public void setStartTime(LocalDate startTime) {
      this.startTime = startTime;
   }

   public LocalDate getEndTime() {
      return endTime;
   }

   public void setEndTime(LocalDate endTime) {
      this.endTime = endTime;
   }

   public String getDescription() {
      return description;
   }

   public void setDescription(String description) {
      this.description = description;
   }

   public String getPbUser() {
      return pbUser;
   }

   public void setPbUser(String pbUser) {
      this.pbUser = pbUser;
   }

   public static final String HANDLE = "HANDLE";

public static final String SITE = "SITE";

public static final String TASK_NO = "TASK_NO";

public static final String WORK_CENTER = "WORK_CENTER";

public static final String SHOP_ORDER = "SHOP_ORDER";

public static final String ITEM = "ITEM";

public static final String OP_STEP = "OP_STEP";

public static final String RESRCE = "RESRCE";

public static final String SFC = "SFC";

public static final String NC_CODE = "NC_CODE";

public static final String NC_QTY = "NC_QTY";

public static final String LOCATION = "LOCATION";

public static final String STATE = "STATE";

public static final String REMARK = "REMARK";

public static final String CREATE_USER = "CREATE_USER";

public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";

public static final String MODIFY_USER = "MODIFY_USER";

public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";

public static final String NC_CODE_DESC = "NC_CODE_DESC";

public static final String REPORT_USER_GROUP = "REPORT_USER_GROUP";


   @Override
   protected Serializable pkVal() {
      return this.handle;
   }

   @Override
   public String toString() {
      return "SelfReport{" +
         "handle = " + handle +
         ", site = " + site +
         ", taskNo = " + taskNo +
         ", workCenter = " + workCenter +
         ", shopOrder = " + shopOrder +
         ", item = " + item +
         ", opStep = " + opStep +
         ", resrce = " + resrce +
         ", sfc = " + sfc +
         ", ncCode = " + ncCode +
         ", ncQty = " + ncQty +
         ", location = " + location +
         ", state = " + state +
         ", remark = " + remark +
         ", createUser = " + createUser +
         ", createdDateTime = " + createdDateTime +
         ", modifyUser = " + modifyUser +
         ", modifiedDateTime = " + modifiedDateTime +
         ", ncCodeDesc = " + ncCodeDesc +
         ", reportUserGroup = " + reportUserGroup +
         "}";
   }
}