Class InventoryPO
- All Implemented Interfaces:
Displayable,StringFiller,HasChildren,HasId,HasReference,TradeType
getGRNType()) should be returned.- Author:
- Syam
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.storedobject.core.HasReference
HasReference.Amend<T extends StoredObject> -
Field Summary
Fields inherited from class com.storedobject.core.StoredObject
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringamendOrder(Transaction transaction) Amend this PO.static String[]booleancanClose()booleanvoidcloseOrder(Transaction transaction) static voidcreateGRN(Transaction transaction, Map<Id, Quantity> quantities, InventoryGRN grn, String invoiceNumber, Date invoiceDate, Rate exchangeRate) Create a GRN for this PO.final <O extends StoredObject>
HasReference.Amend<O> getAmend()booleangetDate()intGet the GRN type.intgetNo()final StringDeprecated.intstatic StringgetStatusValue(int value) static String[]getStore()Get the prefix of the tag to be used for generating the reference.static voidbooleanisApplicable(LandedCostType landedCostType, InventoryGRN grn) Is a specific type of landed cost is applicable to this PO?booleanisClosed()static String[]links()final ObjectIterator<InventoryPOItem> voidplaceOrder(Transaction transaction) static String[]voidrecallOrder(Transaction transaction) static String[]voidsetApprovalRequired(boolean approvalRequired) voidvoidsetNo(int no) voidsetReferenceNumber(String referenceNumber) Deprecated.voidsetStatus(int status) voidvoidsetStore(InventoryStore store) voidsetStore(BigDecimal idValue) voidsetSupplier(Entity supplier) voidsetSupplier(Id supplierId) voidsetSupplier(BigDecimal idValue) Display representation of the instance used for human-friendly display.voidvalidate()The system invokes this method internally whenever the object gets saved to the DB (that means, while doing transactions).voidvalidateChildAttach(StoredObject child, int linkType) Do validation when a child is attached.voidvalidateChildUpdate(StoredObject child, int linkType) Do validation when a child is updated.voidThe system will invoke this whenever the object is saved to the DB.voidThis method will be invoked whenever an existing instance is deleted from the database.voidThis method will be invoked whenever an existing instance is updated in the database.Methods inherited from class com.storedobject.core.StoredObject
addLink, addLink, addLink, addLink, addLink, addLink, addLink, addLink, checkCurrency, checkCurrency, checkForDuplicate, checkForDuplicate, checkTimeZone, checkTransaction, clearObjectLinks, contemporary, copy, copy, count, count, count, count, count, count, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countLinks, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, countMasters, create, created, delete, delete, delete, deleted, directUpdate, equals, exists, exists, exists, exists, exists, existsFileData, existsLink, existsLink, existsLink, existsLink, existsLink, existsLink, existsLink, existsLink, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsLinks, existsMaster, existsMaster, existsMasters, existsMasters, existsMasters, existsMasters, existsMasters, existsMasters, existsMasters, existsMasters, existsMasters, existsMasters, existsMasters, existsMasters, existsMasters, family, family, family, family, fill, get, get, get, get, get, get, get, get, get, get, get, get, get, get, get, get, get, get, getActor, getAttachment, getAttachmentId, getChildren, getContemporaryOf, getDeleted, getDeleted, getExistsCondition, getExistsCondition, getFileData, getFileData, getHistorical, getId, getKeyIndex, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getMaster, getNotExistsCondition, getNotExistsCondition, getParent, getParent, getParent, getParentId, getParentId, getParentId, getRelated, getRelated, getTransaction, getTransactionId, getTransactionIP, getUnique, getUniqueCondition, hashCode, inserted, isModified, isVirtual, list, list, list, list, list, list, list, list, list, list, list, list, list, listDeletedIds, listFileData, listFileData, listHistory, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listLinks, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listMasters, listTree, listTree, listTree, listTree, listViaQuery, listViaQuery, load, load, load, load, loadAttributesFrom, loaded, loading, makeNew, makeVirtual, migrate, moduleName, nextVersion, objectLink, objectLink, objectLink, objectLinks, objectLinks, old, person, previousVersion, previousVersion, query, query, query, query, query, query, query, query, query, query, query, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryLinks, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, queryMasters, reload, reload, reloaded, removeAllLinks, removeAllLinks, removeAllLinks, removeAllLinks, removeAllLinks, removeAllLinks, removeAllLinks, removeAllLinks, removeAllLinks, removeAllLinks, removeAllLinks, removeAllLinks, removeLink, removeLink, removeLink, removeLink, removeLink, removeLink, removeLink, removeLink, removeLink, removeLink, removeLink, removeLink, removeReverseLinks, removeReverseLinks, save, save, save, save, save, save, save, save, save, save, save, save, save, save, save, saved, saving, setMaster, setRawValue, setTransaction, stringify, tableName, timestamp, toCode, toString, transacting, undelete, undelete, undeleted, updated, user, userId, validateChildDetach, validateInsert, validateParentAttach, validateParentDetach, validateParentUpdate, validateUndelete, valueEqualsMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.storedobject.core.HasReference
getSystemEntityId, getTagSuffix, serialTag
-
Constructor Details
-
InventoryPO
public InventoryPO()
-
-
Method Details
-
columns
-
protectedColumns
-
browseColumns
-
indices
-
searchColumns
-
links
-
setNo
public void setNo(int no) -
getNo
- Specified by:
getNoin interfaceHasReference
-
getTagPrefix
Description copied from interface:HasReferenceGet the prefix of the tag to be used for generating the reference.Warning: This should be a fixed string value.
- Specified by:
getTagPrefixin interfaceHasReference- Returns:
- A fixed tag value to be used as the prefix.
-
getSystemEntity
- Specified by:
getSystemEntityin interfaceHasReference
-
getReference
- Specified by:
getReferencein interfaceHasReference
-
setDate
-
getDate
- Specified by:
getDatein interfaceHasReference
-
setReferenceNumber
Deprecated. -
getReferenceNumber
-
setStore
-
setStore
-
setStore
-
getStoreId
-
getStore
-
setSupplier
-
setSupplier
-
setSupplier
-
getSupplierId
-
getSupplier
-
getStatusValues
-
setStatus
public void setStatus(int status) -
getStatus
-
getStatusValue
-
getStatusValue
-
setApprovalRequired
public void setApprovalRequired(boolean approvalRequired) -
getApprovalRequired
-
isClosed
public boolean isClosed() -
validateData
Description copied from class:StoredObjectThe system will invoke this whenever the object is saved to the DB. It will be invoked in all cases while creating new objects and updating/deleting/undeleting existing objects. If any exception is raised by this method, the process of saving to the DB will be abandoned.
Note: This method is mainly used to validate the data of all attributes of the object, and it may be used by others for validating the object. For example, front-end data-entry systems can use this method for validating the object.
- Overrides:
validateDatain classStoredObject- Parameters:
tm- Current transaction manager.- Throws:
Exception- If data is invalid.
-
validate
Description copied from class:StoredObjectThe system invokes this method internally whenever the object gets saved to the DB (that means, while doing transactions). It will be invoked in all cases (while creating new objects and updating/deleting/undeleting existing objects). If this method raises any exceptions, the process of saving to the DB will be abandoned.
This method is not usually used for validating data (For that purpose,
StoredObject.validateData(TransactionManager)is recommended). It is mainly used for validating the state of the object. Methods such asStoredObject.created(),StoredObject.updated(),StoredObject.deleted(),StoredObject.undeleted()etc., are used to check the specific states, but overridden methods may check for other "application-specific"/"business-specific" states.This method is invoked only after one of the other operation-specific validate-methods is invoked depending on the save operation -
StoredObject.validateInsert(),StoredObject.validateUpdate(),StoredObject.validateDelete(),StoredObject.validateUndelete().Note: When overridden "super" should be called, otherwise, a "design error" will occur.
- Overrides:
validatein classStoredObject- Throws:
Exception- By raising an exception from this method, the current transaction can be abandoned.
-
validateDelete
Description copied from class:StoredObjectThis method will be invoked whenever an existing instance is deleted from the database. So, it will be called within an active transaction. Child classes can override this method to do validation when an existing instance is deleted from the database.Note: When overridden "super" should be called, otherwise, a "design error" will occur.
Also, see
StoredObject.validate().- Overrides:
validateDeletein classStoredObject- Throws:
Exception- By raising an exception from this method, the current transaction can be abandoned.
-
validateUpdate
Description copied from class:StoredObjectThis method will be invoked whenever an existing instance is updated in the database. So, it will be called within an active transaction. Child classes can override this method to do validation when an existing instance is updated in the database.Note: When overridden "super" should be called, otherwise, a "design error" will occur.
Also, see
StoredObject.validate().- Overrides:
validateUpdatein classStoredObject- Throws:
Exception- By raising an exception from this method, the current transaction can be abandoned.
-
validateChildAttach
Description copied from class:StoredObjectDo validation when a child is attached.Note: This method will be invoked only if this class implements
HasChildren.- Overrides:
validateChildAttachin classStoredObject- Parameters:
child- Child to validate.linkType- Link type.- Throws:
Exception- By raising an exception from this method, the current transaction can be abandoned.
-
validateChildUpdate
Description copied from class:StoredObjectDo validation when a child is updated. Default implementation of this invokesStoredObject.validateChildAttach(StoredObject, int).Note: This method will be invoked only if this class implements
HasChildren.- Overrides:
validateChildUpdatein classStoredObject- Parameters:
child- Child to validate.linkType- Link type.- Throws:
Exception- By raising an exception from this method, the current transaction can be abandoned.
-
amendOrder
Amend this PO. This PO will be foreclosed, and another PO will be created with the balance items to receive.- Parameters:
transaction- Transaction.- Returns:
- The id of the newly created (and saved) PO with balance items to receive.
- Throws:
Exception- If any exception occurs while carrying out the transaction.
-
recallOrder
- Throws:
Exception
-
placeOrder
- Throws:
Exception
-
closeOrder
- Throws:
Exception
-
canClose
public boolean canClose() -
canForeclose
public boolean canForeclose() -
createGRN
public InventoryGRN createGRN(Transaction transaction, Map<Id, Quantity> quantities, InventoryGRN grn, String invoiceNumber, Date invoiceDate, Rate exchangeRate) throws ExceptionCreate a GRN for this PO.- Parameters:
transaction- Current transaction.quantities- Received quantity values to process. TheId(key of the map) must theIdof the respective line item entry in the PO.grn- A GRN to which the entries to be added. Ifnullis passed, a new GRN is created.invoiceNumber- Invoice number (of the supplier) if applicable. For existing GRNs,nullcould be passed.invoiceDate- Invoice date (of the supplier) if applicable. For existing GRNs,nullcould be passed.exchangeRate- Exchange rate to be used for the GRN. For existing GRNs,nullcould be passed.- Returns:
- The GRN that is created/modified.
- Throws:
Exception- If the GRN can't be created.
-
listItems
-
getGRNType
public int getGRNType()Get the GRN type. One of the GRN type values: 0, 1 or 2.- Returns:
- Type of GRN. Default is 0.
-
isApplicable
Is a specific type of landed cost is applicable to this PO?- Parameters:
landedCostType- Type of landed cost.grn- Associated GRN.- Returns:
- True/false.
-
toDisplay
Description copied from class:StoredObjectDisplay representation of the instance used for human-friendly display.- Specified by:
toDisplayin interfaceDisplayable- Overrides:
toDisplayin classStoredObject- Returns:
- Display representation of the instance.
-
getAmend
- Specified by:
getAmendin interfaceHasReference
-
actionPrefixForUI
-