package com.foreverwin.mesnac.meapi.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.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author Philip
 * @since 2021-07-09
 */

@TableName("INVENTORY")

public class Inventory extends Model<Inventory> {

    private static final long serialVersionUID = 1L;

   @TableId(value = "HANDLE", type = IdType.INPUT)
   private String handle;
   @TableField("CHANGE_STAMP")
   private Long changeStamp;
   @TableField("SITE")
   private String site;
   @TableField("INVENTORY_ID")
   private String inventoryId;
   @TableField("ITEM_BO")
   private String itemBo;
   @TableField("INVENTORY_CONTEXT_GBO")
   private String inventoryContextGbo;
   @TableField("DESCRIPTION")
   private String description;
   @TableField("QTY_ON_HAND")
   private BigDecimal qtyOnHand;
   @TableField("ASSY_DATA_TYPE_BO")
   private String assyDataTypeBo;
   @TableField("USAGE_COUNT")
   private Long usageCount;
   @TableField("MAXIMUM_USAGE")
   private Long maximumUsage;
   @TableField("STATUS_BO")
   private String statusBo;
   @TableField("ORIGINAL_QTY")
   private BigDecimal originalQty;
   @TableField("WORK_CENTER_LOC_BO")
   private String workCenterLocBo;
   @TableField("WORK_CENTER_LOC_RES")
   private String workCenterLocRes;
   @TableField("OPERATION_LOC_BO")
   private String operationLocBo;
   @TableField("OPERATION_LOC_RES")
   private String operationLocRes;
   @TableField("RESOURCE_LOC_BO")
   private String resourceLocBo;
   @TableField("RESOURCE_LOC_RES")
   private String resourceLocRes;
   @TableField("SHOP_ORDER_LOC_BO")
   private String shopOrderLocBo;
   @TableField("SHOP_ORDER_LOC_RES")
   private String shopOrderLocRes;
   @TableField("SHOP_ORDER_SET_BY_ERP")
   private String shopOrderSetByErp;
   @TableField("ORIGINAL_USER_BO")
   private String originalUserBo;
   @TableField("STORAGE_LOCATION_BO")
   private String storageLocationBo;
   @TableField("HAS_BEEN_USED")
   private String hasBeenUsed;
   @TableField("RECEIVE_DATE_TIME")
   private LocalDateTime receiveDateTime;
   @TableField("CREATED_DATE_TIME")
   private LocalDateTime createdDateTime;
   @TableField("MODIFIED_DATE_TIME")
   private LocalDateTime modifiedDateTime;
   @TableField("PARTITION_DATE")
   private LocalDateTime partitionDate;
   @TableField("PARENT_INVENTORY_BO")
   private String parentInventoryBo;
   @TableField("ERP_INVENTORY")
   private String erpInventory;


   public String getHandle() {
      return handle;
   }

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

   public Long getChangeStamp() {
      return changeStamp;
   }

   public void setChangeStamp(Long changeStamp) {
      this.changeStamp = changeStamp;
   }

   public String getSite() {
      return site;
   }

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

   public String getInventoryId() {
      return inventoryId;
   }

   public void setInventoryId(String inventoryId) {
      this.inventoryId = inventoryId;
   }

   public String getItemBo() {
      return itemBo;
   }

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

   public String getInventoryContextGbo() {
      return inventoryContextGbo;
   }

   public void setInventoryContextGbo(String inventoryContextGbo) {
      this.inventoryContextGbo = inventoryContextGbo;
   }

   public String getDescription() {
      return description;
   }

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

   public BigDecimal getQtyOnHand() {
      return qtyOnHand;
   }

   public void setQtyOnHand(BigDecimal qtyOnHand) {
      this.qtyOnHand = qtyOnHand;
   }

   public String getAssyDataTypeBo() {
      return assyDataTypeBo;
   }

   public void setAssyDataTypeBo(String assyDataTypeBo) {
      this.assyDataTypeBo = assyDataTypeBo;
   }

   public Long getUsageCount() {
      return usageCount;
   }

   public void setUsageCount(Long usageCount) {
      this.usageCount = usageCount;
   }

   public Long getMaximumUsage() {
      return maximumUsage;
   }

   public void setMaximumUsage(Long maximumUsage) {
      this.maximumUsage = maximumUsage;
   }

   public String getStatusBo() {
      return statusBo;
   }

   public void setStatusBo(String statusBo) {
      this.statusBo = statusBo;
   }

   public BigDecimal getOriginalQty() {
      return originalQty;
   }

   public void setOriginalQty(BigDecimal originalQty) {
      this.originalQty = originalQty;
   }

   public String getWorkCenterLocBo() {
      return workCenterLocBo;
   }

   public void setWorkCenterLocBo(String workCenterLocBo) {
      this.workCenterLocBo = workCenterLocBo;
   }

   public String getWorkCenterLocRes() {
      return workCenterLocRes;
   }

   public void setWorkCenterLocRes(String workCenterLocRes) {
      this.workCenterLocRes = workCenterLocRes;
   }

   public String getOperationLocBo() {
      return operationLocBo;
   }

   public void setOperationLocBo(String operationLocBo) {
      this.operationLocBo = operationLocBo;
   }

   public String getOperationLocRes() {
      return operationLocRes;
   }

   public void setOperationLocRes(String operationLocRes) {
      this.operationLocRes = operationLocRes;
   }

   public String getResourceLocBo() {
      return resourceLocBo;
   }

   public void setResourceLocBo(String resourceLocBo) {
      this.resourceLocBo = resourceLocBo;
   }

   public String getResourceLocRes() {
      return resourceLocRes;
   }

   public void setResourceLocRes(String resourceLocRes) {
      this.resourceLocRes = resourceLocRes;
   }

   public String getShopOrderLocBo() {
      return shopOrderLocBo;
   }

   public void setShopOrderLocBo(String shopOrderLocBo) {
      this.shopOrderLocBo = shopOrderLocBo;
   }

   public String getShopOrderLocRes() {
      return shopOrderLocRes;
   }

   public void setShopOrderLocRes(String shopOrderLocRes) {
      this.shopOrderLocRes = shopOrderLocRes;
   }

   public String getShopOrderSetByErp() {
      return shopOrderSetByErp;
   }

   public void setShopOrderSetByErp(String shopOrderSetByErp) {
      this.shopOrderSetByErp = shopOrderSetByErp;
   }

   public String getOriginalUserBo() {
      return originalUserBo;
   }

   public void setOriginalUserBo(String originalUserBo) {
      this.originalUserBo = originalUserBo;
   }

   public String getStorageLocationBo() {
      return storageLocationBo;
   }

   public void setStorageLocationBo(String storageLocationBo) {
      this.storageLocationBo = storageLocationBo;
   }

   public String getHasBeenUsed() {
      return hasBeenUsed;
   }

   public void setHasBeenUsed(String hasBeenUsed) {
      this.hasBeenUsed = hasBeenUsed;
   }

   public LocalDateTime getReceiveDateTime() {
      return receiveDateTime;
   }

   public void setReceiveDateTime(LocalDateTime receiveDateTime) {
      this.receiveDateTime = receiveDateTime;
   }

   public LocalDateTime getCreatedDateTime() {
      return createdDateTime;
   }

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

   public LocalDateTime getModifiedDateTime() {
      return modifiedDateTime;
   }

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

   public LocalDateTime getPartitionDate() {
      return partitionDate;
   }

   public void setPartitionDate(LocalDateTime partitionDate) {
      this.partitionDate = partitionDate;
   }

   public String getParentInventoryBo() {
      return parentInventoryBo;
   }

   public void setParentInventoryBo(String parentInventoryBo) {
      this.parentInventoryBo = parentInventoryBo;
   }

   public String getErpInventory() {
      return erpInventory;
   }

   public void setErpInventory(String erpInventory) {
      this.erpInventory = erpInventory;
   }

public static final String HANDLE = "HANDLE";

public static final String CHANGE_STAMP = "CHANGE_STAMP";

public static final String SITE = "SITE";

public static final String INVENTORY_ID = "INVENTORY_ID";

public static final String ITEM_BO = "ITEM_BO";

public static final String INVENTORY_CONTEXT_GBO = "INVENTORY_CONTEXT_GBO";

public static final String DESCRIPTION = "DESCRIPTION";

public static final String QTY_ON_HAND = "QTY_ON_HAND";

public static final String ASSY_DATA_TYPE_BO = "ASSY_DATA_TYPE_BO";

public static final String USAGE_COUNT = "USAGE_COUNT";

public static final String MAXIMUM_USAGE = "MAXIMUM_USAGE";

public static final String STATUS_BO = "STATUS_BO";

public static final String ORIGINAL_QTY = "ORIGINAL_QTY";

public static final String WORK_CENTER_LOC_BO = "WORK_CENTER_LOC_BO";

public static final String WORK_CENTER_LOC_RES = "WORK_CENTER_LOC_RES";

public static final String OPERATION_LOC_BO = "OPERATION_LOC_BO";

public static final String OPERATION_LOC_RES = "OPERATION_LOC_RES";

public static final String RESOURCE_LOC_BO = "RESOURCE_LOC_BO";

public static final String RESOURCE_LOC_RES = "RESOURCE_LOC_RES";

public static final String SHOP_ORDER_LOC_BO = "SHOP_ORDER_LOC_BO";

public static final String SHOP_ORDER_LOC_RES = "SHOP_ORDER_LOC_RES";

public static final String SHOP_ORDER_SET_BY_ERP = "SHOP_ORDER_SET_BY_ERP";

public static final String ORIGINAL_USER_BO = "ORIGINAL_USER_BO";

public static final String STORAGE_LOCATION_BO = "STORAGE_LOCATION_BO";

public static final String HAS_BEEN_USED = "HAS_BEEN_USED";

public static final String RECEIVE_DATE_TIME = "RECEIVE_DATE_TIME";

public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";

public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";

public static final String PARTITION_DATE = "PARTITION_DATE";

public static final String PARENT_INVENTORY_BO = "PARENT_INVENTORY_BO";

public static final String ERP_INVENTORY = "ERP_INVENTORY";


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

   @Override
   public String toString() {
      return "Inventory{" +
         "handle = " + handle +
         ", changeStamp = " + changeStamp +
         ", site = " + site +
         ", inventoryId = " + inventoryId +
         ", itemBo = " + itemBo +
         ", inventoryContextGbo = " + inventoryContextGbo +
         ", description = " + description +
         ", qtyOnHand = " + qtyOnHand +
         ", assyDataTypeBo = " + assyDataTypeBo +
         ", usageCount = " + usageCount +
         ", maximumUsage = " + maximumUsage +
         ", statusBo = " + statusBo +
         ", originalQty = " + originalQty +
         ", workCenterLocBo = " + workCenterLocBo +
         ", workCenterLocRes = " + workCenterLocRes +
         ", operationLocBo = " + operationLocBo +
         ", operationLocRes = " + operationLocRes +
         ", resourceLocBo = " + resourceLocBo +
         ", resourceLocRes = " + resourceLocRes +
         ", shopOrderLocBo = " + shopOrderLocBo +
         ", shopOrderLocRes = " + shopOrderLocRes +
         ", shopOrderSetByErp = " + shopOrderSetByErp +
         ", originalUserBo = " + originalUserBo +
         ", storageLocationBo = " + storageLocationBo +
         ", hasBeenUsed = " + hasBeenUsed +
         ", receiveDateTime = " + receiveDateTime +
         ", createdDateTime = " + createdDateTime +
         ", modifiedDateTime = " + modifiedDateTime +
         ", partitionDate = " + partitionDate +
         ", parentInventoryBo = " + parentInventoryBo +
         ", erpInventory = " + erpInventory +
         "}";
   }
}