/** * Set Individual system asset transaction type and asset numbers. * * @param poId * @param purApDocs */ protected void setIndividualAssetsFromPurAp( Integer poId, List<PurchasingAccountsPayableDocument> purApDocs, String capitalAssetSystemStateCode) { List<PurchasingCapitalAssetItem> capitalAssetItems = this.getPurchaseOrderService().retrieveCapitalAssetItemsForIndividual(poId); String capitalAssetTransactionTypeCode = null; List<ItemCapitalAsset> purApCapitalAssets = null; // For each capitalAssetItem from PurAp, we set it to all matching CAB items for (PurchasingCapitalAssetItem purchasingCapitalAssetItem : capitalAssetItems) { capitalAssetTransactionTypeCode = purchasingCapitalAssetItem.getCapitalAssetTransactionTypeCode(); // get matching CAB items origin from the same PO item. List<PurchasingAccountsPayableItemAsset> matchingItems = getMatchingItems(purchasingCapitalAssetItem.getItemIdentifier(), purApDocs); // if modify existing asset, acquire the assets from Puraps if (PurapConstants.CapitalAssetSystemStates.MODIFY.equalsIgnoreCase( capitalAssetSystemStateCode)) { purApCapitalAssets = getAssetsFromItemCapitalAsset( purchasingCapitalAssetItem .getPurchasingCapitalAssetSystem() .getItemCapitalAssets()); } // set TransactionTypeCode, itemCapitalAssets and system identifier for each matching item setItemAssetsCamsTransaction( purchasingCapitalAssetItem.getCapitalAssetSystemIdentifier(), capitalAssetTransactionTypeCode, purApCapitalAssets, matchingItems); } }