Example #1
0
 private function summary($mysqli, $start_year, $end_year)
 {
     $data = Db\AnnualApi::getMultiYear($mysqli, $start_year, $end_year);
     $year_income = @$data[$end_year]['GROSS_INCOME'];
     $last_year_income = @$data[$end_year - 1]['GROSS_INCOME'];
     if ($end_year - $start_year >= 2) {
         @($three_year_income = $data[$end_year - 2]['GROSS_INCOME'] + $last_year_income + $year_income);
         $col1 = '$' . number_format($three_year_income / 3, 2);
     } else {
         $col1 = '--';
     }
     $col2 = '$' . number_format($year_income, 2);
     if ($year_income && $last_year_income) {
         $col2 .= sprintf(' (+%s%% yoy)', number_format(100 * ($year_income - $last_year_income) / $last_year_income, 0));
     }
     $investments = @$data[$end_year]['SAVINGS'];
     $col3 = '$' . number_format($investments, 2);
     if ($investments && $year_income) {
         $col3 .= sprintf(' (%s%% of income)', number_format(100 * $investments / $year_income, 0));
     }
     $current_year = date("Y");
     $est = $end_year >= $current_year ? ' (est)' : '';
     $tdata = array('headers' => array('Average annual income (3-year trend)', 'Income for ' . $end_year . $est, 'Total savings for ' . $end_year . $est), 'rows' => array(array($col1, $col2, $col3)));
     echo json_encode(array("Table", $tdata));
 }
Example #2
0
 public function yearReport($mysqli, $year)
 {
     echo '<h1>' . $year . ' Annual Report</h1>';
     $data = Db\AnnualApi::getYear($mysqli, $year);
     echo '<h2>Income</h2>';
     echo '<table border=1 style="border-collapse: collapse;"><tr><th>Key</th><th>Value</th></tr>';
     foreach ($data as $key => $value) {
         printf('<tr><td>%s</td><td>%s</td>', $key, $value);
     }
     echo '</table>';
     $this->renderAnnualPie($year);
     $categories = Db\InvestmentsApi::getCategories($mysqli);
     $data = Db\InvestmentsApi::getInvestments($mysqli, $year, $year);
     echo '<h2>Investments</h2>';
     echo '<table border=1 style="border-collapse: collapse;"><tr><th>Month</th>';
     foreach ($categories as $i) {
         printf('<th>%s</th>', $i->name);
     }
     echo '<th>Total</th></tr>';
     for ($i = 1; $i <= 12; $i++) {
         if (empty($data[$year][$i])) {
             continue;
         }
         echo '<tr><td>' . date("F", mktime(0, 0, 0, $i, 1, $year)) . '</td>';
         foreach ($categories as $category) {
             if (isset($data[$year][$i][$category->key])) {
                 $value = $data[$year][$i][$category->key];
             } else {
                 $value = '';
             }
             printf('<td>%s</td>', $value);
         }
         printf('<td>%s</td>', array_sum($data[$year][$i]));
         echo '</tr>';
     }
     echo '</table>';
     $id = 'canvaschart' . uniqid();
     echo '<div class="canvascontainer line"><canvas data-src="/data/investments/year/' . $year . '" id="' . $id . '"></div>';
 }