Ejemplo n.º 1
0
  /**
   * 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);
    }
  }