/**
* Gets budget data for specified Project and period
*
* @param ProjectEntity $projectEntity Project entity
* @param QuarterPeriod $period Period object
* @param bool $includeRelationDependentBudget optional Should we include relation dependent budget to response
* @return array Returns budget data
*/
private function getProjectData(ProjectEntity $projectEntity, QuarterPeriod $period, $includeRelationDependentBudget = false)
{
$ret = array('ccId' => $projectEntity->ccId, 'projectId' => $projectEntity->projectId, 'name' => $projectEntity->name, 'billingCode' => $projectEntity->getProperty(ProjectPropertyEntity::NAME_BILLING_CODE), 'description' => $projectEntity->getProperty(ProjectPropertyEntity::NAME_DESCRIPTION), 'leaf' => true);
$budget = $this->getBudgetUsedPercentage(['projectId' => $ret['projectId'], 'ccId' => $ret['ccId'], 'period' => $period, 'getRelationDependentBudget' => $includeRelationDependentBudget]);
foreach (['budget', 'budgetRemain', 'budgetRemainPct', 'budgetSpent', 'budgetSpentPct', 'budgetOverspend', 'budgetOverspendPct'] as $field) {
$ret[$field] = $budget[$field];
}
if ($includeRelationDependentBudget) {
$ret['relationDependentBudget'] = $budget['relationDependentBudget'];
}
return $ret;
}