/** * 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); } }
/** * Set Multiple system capital asset transaction type code and asset numbers. * * @param poId * @param purApDocs */ protected void setMultipleSystemFromPurAp( Integer poId, List<PurchasingAccountsPayableDocument> purApDocs, String capitalAssetSystemStateCode) { List<CapitalAssetSystem> capitalAssetSystems = this.getPurchaseOrderService().retrieveCapitalAssetSystemsForMultipleSystem(poId); if (ObjectUtils.isNotNull(capitalAssetSystems) && !capitalAssetSystems.isEmpty()) { // PurAp doesn't support multiple system asset information for KFS3.0. It works as one system // for 3.0. CapitalAssetSystem capitalAssetSystem = capitalAssetSystems.get(0); if (ObjectUtils.isNotNull(capitalAssetSystem)) { String capitalAssetTransactionType = getCapitalAssetTransTypeForOneSystem(poId); // if modify existing asset, acquire the assets from Purap List<ItemCapitalAsset> purApCapitalAssets = null; if (PurapConstants.CapitalAssetSystemStates.MODIFY.equalsIgnoreCase( capitalAssetSystemStateCode)) { purApCapitalAssets = getAssetsFromItemCapitalAsset(capitalAssetSystem.getItemCapitalAssets()); } // set TransactionTypeCode, itemCapitalAssets and system identifier for each item for (PurchasingAccountsPayableDocument purApDoc : purApDocs) { setItemAssetsCamsTransaction( capitalAssetSystem.getCapitalAssetSystemIdentifier(), capitalAssetTransactionType, purApCapitalAssets, purApDoc.getPurchasingAccountsPayableItemAssets()); } } } }
/** * Set One System capital asset transaction type code and asset numbers. * * @param poId * @param purApDocs */ protected void setOneSystemFromPurAp( Integer poId, List<PurchasingAccountsPayableDocument> purApDocs, String capitalAssetSystemStateCode) { CapitalAssetSystem capitalAssetSystem = this.getPurchaseOrderService().retrieveCapitalAssetSystemForOneSystem(poId); String capitalAssetTransactionTypeCode = getCapitalAssetTransTypeForOneSystem(poId); List<ItemCapitalAsset> purApCapitalAssets = null; // if modify existing asset, acquire the assets from Purap if (PurapConstants.CapitalAssetSystemStates.MODIFY.equalsIgnoreCase( capitalAssetSystemStateCode)) { purApCapitalAssets = getAssetsFromItemCapitalAsset(capitalAssetSystem.getItemCapitalAssets()); } for (PurchasingAccountsPayableDocument purApDoc : purApDocs) { // set TransactionTypeCode, itemCapitalAssets and system identifier for each item setItemAssetsCamsTransaction( capitalAssetSystem.getCapitalAssetSystemIdentifier(), capitalAssetTransactionTypeCode, purApCapitalAssets, purApDoc.getPurchasingAccountsPayableItemAssets()); } }