Class JpaInventoryTransaction

java.lang.Object
com.broadleafcommerce.inventory.provider.jpa.domain.JpaInventoryTransaction
All Implemented Interfaces:
com.broadleafcommerce.common.messaging.notification.domain.NotificationStateAware, com.broadleafcommerce.data.tracking.core.ApplicationTrackable<com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking>, com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware, com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable, com.broadleafcommerce.data.tracking.core.Trackable, com.broadleafcommerce.data.tracking.core.TypedTrackable<com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking>, Serializable

@Entity @TrackableExtension(APPLICATION) public class JpaInventoryTransaction extends Object implements Serializable, com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable, com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware, com.broadleafcommerce.data.tracking.core.ApplicationTrackable<com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking>
Transaction records for common inventory transactions that need to be tracked, at least for a period of time, to inform the inventory availability. These entities represent transactions. These transactions can be referenced or groomed, as needed, over time.
Author:
Kelly Tisdell (ktisdell)
See Also:
  • Constructor Details

    • JpaInventoryTransaction

      public JpaInventoryTransaction()
  • Method Details

    • getBusinessDomainType

      public Class<?> getBusinessDomainType()
      Specified by:
      getBusinessDomainType in interface com.broadleafcommerce.data.tracking.core.mapping.BusinessTypeAware
    • fromMe

      public org.modelmapper.ModelMapper fromMe()
      Specified by:
      fromMe in interface com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
    • toMe

      public org.modelmapper.ModelMapper toMe()
      Specified by:
      toMe in interface com.broadleafcommerce.data.tracking.core.mapping.ModelMapperMappable
    • getContextId

      public String getContextId()
      The JPA primary key.
      Specified by:
      getContextId in interface com.broadleafcommerce.data.tracking.core.Trackable
      Returns:
      The JPA primary key
    • getSkuInventoryId

      public String getSkuInventoryId()
      Soft foreign key reference to the JpaSkuInventory.getContextId().
    • getTransactionType

      public String getTransactionType()
      This indicates what type of transaction this is. Depending on the type of transaction, fields like quantity, expectedDateProcessed, dateProcessed, referenceNumber, and completed will have slightly different meanings. For example, for a type like DefaultInventoryTransactionType.SOFT_RESERVED, the referenceNumber will be a sales order ID or number. However, for a DefaultInventoryTransactionType.ORDERED, the referenceNumber will likely be a purchase order number or ID. For DefaultInventoryTransactionType.SHRINKAGE, the referenceNumber could be null or could reference a different number or system. All DefaultInventoryTransactionType values are associated with an AccountingTransactionType, which is either a DEBIT or a CREDIT. Various transactions can be looked at in sequence of the dateCreated or
      See Also:
    • getQuantity

      public Integer getQuantity()
      The quanity associated with this transaction.
    • getDateProcessed

      public Instant getDateProcessed()
      Optional timestamp to indicate when this transaction was processed, or when
    • getReferenceNumber

      public String getReferenceNumber()
      Typically a sales order number or a PO number, depending on the transaction type. Reference number can be anything, but should be consistent (e.g. {orderNumber}-{lineItemNumber}, {orderId}, etc.).
    • getBatchId

      public String getBatchId()
      When creating multiple of these records, it's sometimes necessary to do this outside of transactional boundaries. This property is a property that should be the same for all records being created as part of the same logical transaction.
    • getDateCreated

      public Instant getDateCreated()
      The date that the transaction was created.
    • getTracking

      public com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking getTracking()
      Specified by:
      getTracking in interface com.broadleafcommerce.data.tracking.core.Trackable
      See Also:
      • ApplicationJpaTracking
    • setContextId

      public void setContextId(String contextId)
      The JPA primary key.
      Specified by:
      setContextId in interface com.broadleafcommerce.data.tracking.core.Trackable
      Parameters:
      INVENTORY_TX_ID - (or id) - The JPA primary key
    • setSkuInventoryId

      public void setSkuInventoryId(String skuInventoryId)
      Soft foreign key reference to the JpaSkuInventory.getContextId().
    • setTransactionType

      public void setTransactionType(String transactionType)
      This indicates what type of transaction this is. Depending on the type of transaction, fields like quantity, expectedDateProcessed, dateProcessed, referenceNumber, and completed will have slightly different meanings. For example, for a type like DefaultInventoryTransactionType.SOFT_RESERVED, the referenceNumber will be a sales order ID or number. However, for a DefaultInventoryTransactionType.ORDERED, the referenceNumber will likely be a purchase order number or ID. For DefaultInventoryTransactionType.SHRINKAGE, the referenceNumber could be null or could reference a different number or system. All DefaultInventoryTransactionType values are associated with an AccountingTransactionType, which is either a DEBIT or a CREDIT. Various transactions can be looked at in sequence of the dateCreated or
      See Also:
    • setQuantity

      public void setQuantity(Integer quantity)
      The quanity associated with this transaction.
    • setDateProcessed

      public void setDateProcessed(Instant dateProcessed)
      Optional timestamp to indicate when this transaction was processed, or when
    • setReferenceNumber

      public void setReferenceNumber(String referenceNumber)
      Typically a sales order number or a PO number, depending on the transaction type. Reference number can be anything, but should be consistent (e.g. {orderNumber}-{lineItemNumber}, {orderId}, etc.).
    • setBatchId

      public void setBatchId(String batchId)
      When creating multiple of these records, it's sometimes necessary to do this outside of transactional boundaries. This property is a property that should be the same for all records being created as part of the same logical transaction.
    • setDateCreated

      public void setDateCreated(Instant dateCreated)
      The date that the transaction was created.
    • setTracking

      public void setTracking(com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking tracking)
      Specified by:
      setTracking in interface com.broadleafcommerce.data.tracking.core.TypedTrackable<com.broadleafcommerce.data.tracking.jpa.filtering.domain.ApplicationJpaTracking>
      See Also:
      • ApplicationJpaTracking
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object