private void setAwardAmountInfoDetails( AwardHierarchy awardHierarchy, ChildAwardType childAwardType) { awardHierarchy.refreshReferenceObject("award"); Award childAward = awardHierarchy.getAward(); AwardAmountInfo awardAmountInfo = childAward.getLastAwardAmountInfo(); if (awardHierarchy.getAward().getAccountNumber() != null) { childAwardType.setAccountNumber(awardHierarchy.getAward().getAccountNumber()); } if (awardAmountInfo.getAnticipatedTotalAmount() != null) { childAwardType.setAnticipatedTotalAmt( awardAmountInfo.getAnticipatedTotalAmount().bigDecimalValue()); } if (awardAmountInfo.getFinalExpirationDate() != null) { Calendar finalExpDate = dateTimeService.getCalendar(awardAmountInfo.getFinalExpirationDate()); childAwardType.setFinalExpirationDate(finalExpDate); } if (awardAmountInfo.getCurrentFundEffectiveDate() != null) { Calendar currentFundEffectiveDate = dateTimeService.getCalendar(awardAmountInfo.getCurrentFundEffectiveDate()); childAwardType.setCurrentFundEffectiveDate(currentFundEffectiveDate); } if (awardAmountInfo.getAmountObligatedToDate() != null) { childAwardType.setAmtObligatedToDate( awardAmountInfo.getAmountObligatedToDate().bigDecimalValue()); } if (awardAmountInfo.getObligationExpirationDate() != null) { Calendar obligationExpirationDate = dateTimeService.getCalendar(awardAmountInfo.getObligationExpirationDate()); childAwardType.setObligationExpirationDate(obligationExpirationDate); } childAwardType.setPIName(childAward.getPrincipalInvestigator().getFullName()); }
private List<AmountInfoType> recurseTree( AwardHierarchy branchNode, List<AmountInfoType> amountInfoTypes) { Map<String, Object> criteria = ServiceHelper.getInstance() .buildCriteriaMap( new String[] {"parentAwardNumber", "active"}, new Object[] {branchNode.getAwardNumber(), Boolean.TRUE}); Collection c = businessObjectService.findMatchingOrderBy( AwardHierarchy.class, criteria, AwardHierarchy.UNIQUE_IDENTIFIER_FIELD, true); branchNode.setChildren(new ArrayList<AwardHierarchy>(c)); if (branchNode.hasChildren()) { for (AwardHierarchy childNode : branchNode.getChildren()) { org.kuali.kra.award.home.AwardAmountInfo awardAmount = childNode.getAward().getLastAwardAmountInfo(); amountInfoTypes.add(setAwardAmountInfo(childNode.getAward(), awardAmount)); childNode.setParent(branchNode); childNode.setRoot(branchNode.getRoot()); recurseTree(childNode, amountInfoTypes); } } return amountInfoTypes; }