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.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 检验项目维护-主
 * </p>
 *
 * @author Robert
 * @since 2021-06-03
 */

@TableName("Z_INSPECTION_PROJECT")

public class InspectionProject extends Model<InspectionProject> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
   @TableId(value = "HANDLE", type = IdType.INPUT)
   private String handle;
    /**
     * 站点
     */
   @TableField("SITE")
   private String site;
    /**
     * 检验项目编号：检验类型+物料+工序/步骤+工步
     */
   @TableField("INSPECT_PROJECT_NO")
   private String inspectProjectNo;
    /**
     * 检验类型:S|首检、H｜互检、Z｜自检、P｜专检
     */
   @TableField("INSPECT_TYPE")
   private String inspectType;
    /**
     * 版本
     */
   @TableField("REVISION")
   private String revision;
    /**
     * 当前版本：TRUE｜当前版本、FALSE｜不是当前版本
     */
   @TableField("CURRENT_REVISION")
   private String currentRevision;
    /**
     * 检验项目描述
     */
   @TableField("DESCRIPTION")
   private String description;
    /**
     * 状态：Y｜启用、N｜停用
     */
   @TableField("STATUS")
   private String status;
    /**
     * 物料BO
     */
   @TableField("ITEM_BO")
   private String itemBo;
    /**
     * 物料编号
     */
   @TableField("ITEM")
   private String item;
    /**
     * 操作
     */
   @TableField("OPERATION")
   private String operation;
    /**
     * 步骤
     */
   @TableField("STEP_ID")
   private String stepId;
    /**
     * 子步骤/工步
     */
   @TableField("SUB_STEP")
   private String subStep;
    /**
     * 创建人
     */
   @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(exist = false)
   private List<InspectionProjectDetail> inspectionProjectDetailList;


   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 getInspectProjectNo() {
      return inspectProjectNo;
   }

   public void setInspectProjectNo(String inspectProjectNo) {
      this.inspectProjectNo = inspectProjectNo;
   }

   public String getInspectType() {
      return inspectType;
   }

   public void setInspectType(String inspectType) {
      this.inspectType = inspectType;
   }

   public String getRevision() {
      return revision;
   }

   public void setRevision(String revision) {
      this.revision = revision;
   }

   public String getCurrentRevision() {
      return currentRevision;
   }

   public void setCurrentRevision(String currentRevision) {
      this.currentRevision = currentRevision;
   }

   public String getDescription() {
      return description;
   }

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

   public String getStatus() {
      return status;
   }

   public void setStatus(String status) {
      this.status = status;
   }

   public String getItemBo() {
      return itemBo;
   }

   public void setItemBo(String itemBo) {
      this.itemBo = itemBo;
   }

   public String getItem() {
      return item;
   }

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

   public String getOperation() {
      return operation;
   }

   public void setOperation(String operation) {
      this.operation = operation;
   }

   public String getStepId() {
      return stepId;
   }

   public void setStepId(String stepId) {
      this.stepId = stepId;
   }

   public String getSubStep() {
      return subStep;
   }

   public void setSubStep(String subStep) {
      this.subStep = subStep;
   }

   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 List<InspectionProjectDetail> getInspectionProjectDetailList() {
      return inspectionProjectDetailList;
   }

   public void setInspectionProjectDetailList(List<InspectionProjectDetail> inspectionProjectDetailList) {
      this.inspectionProjectDetailList = inspectionProjectDetailList;
   }

   public static final String HANDLE = "HANDLE";

public static final String SITE = "SITE";

public static final String INSPECT_PROJECT_NO = "INSPECT_PROJECT_NO";

public static final String INSPECT_TYPE = "INSPECT_TYPE";

public static final String REVISION = "REVISION";

public static final String CURRENT_REVISION = "CURRENT_REVISION";

public static final String DESCRIPTION = "DESCRIPTION";

public static final String STATUS = "STATUS";

public static final String ITEM_BO = "ITEM_BO";

public static final String ITEM = "ITEM";

public static final String OPERATION = "OPERATION";

public static final String STEP_ID = "STEP_ID";

public static final String SUB_STEP = "SUB_STEP";

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";


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

   @Override
   public String toString() {
      return "InspectionProject{" +
         "handle = " + handle +
         ", site = " + site +
         ", inspectProjectNo = " + inspectProjectNo +
         ", inspectType = " + inspectType +
         ", revision = " + revision +
         ", currentRevision = " + currentRevision +
         ", description = " + description +
         ", status = " + status +
         ", itemBo = " + itemBo +
         ", item = " + item +
         ", operation = " + operation +
         ", stepId = " + stepId +
         ", subStep = " + subStep +
         ", createUser = " + createUser +
         ", createdDateTime = " + createdDateTime +
         ", modifyUser = " + modifyUser +
         ", modifiedDateTime = " + modifiedDateTime +
         "}";
   }

}