Grafiek fix en sneller statistiek algorithme
This commit is contained in:
		| @@ -14,30 +14,39 @@ class Statistieken { | ||||
|         } | ||||
|         $xas = array(); | ||||
|         for($i = $dagen; $i >= 0; $i--){ | ||||
|             $xas[] = date("d M", strtotime("-$i day")); | ||||
|             $xas[] = date("Y-m-d", strtotime("now") - $i * 86400); | ||||
|         } | ||||
|         $container = Application::getContainer(); | ||||
|         $user = $container->auth->getUserID(); | ||||
|         $db = $container->db; | ||||
|         $saldo = $db->rekeningen->where("rekeningnr", $rekeningNummer)[array("rekeningnr" => $rekeningNummer)]['saldo']; | ||||
|         $eraf = $db->transacties->select("datum, SUM(bedrag) as bedr")->where("van", $rekeningNummer) | ||||
|                 ->group("datum"); | ||||
|                 ->and("`datum` >= '" . date("Y-m-d", strtotime("now") - $dagen * 86400) . "'")->group("datum")->order("datum DESC"); | ||||
|         $erbij = $db->transacties->select("datum, SUM(bedrag) as bedr")->where("naar", $rekeningNummer) | ||||
|                 ->group("datum"); | ||||
|                 ->group("datum")->order("datum DESC"); | ||||
|         $huidigSaldo = (double)$saldo; | ||||
|         $yas = array($huidigSaldo); | ||||
|         for($i = 1; $i <= $dagen; $i++){ | ||||
|             $af = (double)$eraf[array("datum" => date("Y-m-d", strtotime("-" . $i + 1 . " day")))]['bedr']; | ||||
|             $bij = (double)$erbij[array("datum" => date("Y-m-d", strtotime("-" . $i + 1 . " day")))]['bedr']; | ||||
|             if(!isset($af)){ | ||||
|                 $af = 0; | ||||
|             } | ||||
|             if(!isset($bij)){ | ||||
|                 $bij = 0; | ||||
|             } | ||||
|             $huidigSaldo += $af; | ||||
|             $huidigSaldo -= $bij; | ||||
|             array_unshift($yas, $huidigSaldo); | ||||
|         $vandaag = strtotime("now"); | ||||
|         $yas = array_fill(0, $dagen + 1, 0); | ||||
|         foreach($eraf as $af){ | ||||
|                 $dag = strtotime($af['datum']); | ||||
|                 $diff = floor(($vandaag - $dag)/86400); | ||||
|                 if($diff <= $dagen){ | ||||
|                         $yas[$dagen - $diff] = (double)$af['bedr']; | ||||
|                 } | ||||
|         } | ||||
|         foreach($erbij as $bij){ | ||||
|                 $dag = strtotime($bij['datum']); | ||||
|                 $diff = floor(($vandaag - $dag)/86400); | ||||
|                 if($diff <= $dagen){ | ||||
|                         $yas[$dagen - $diff + 1] -= (double)$bij['bedr']; | ||||
|                 }else{ | ||||
|                         break; | ||||
|                 } | ||||
|         } | ||||
|         $verandering = 0; | ||||
|         for($i = $dagen; $i >= 0; $i--){ | ||||
|                 $huidigSaldo += $verandering; | ||||
|                 $verandering = $yas[$i]; | ||||
|                 $yas[$i] = $huidigSaldo; | ||||
|         } | ||||
|         return [ | ||||
|             "x-as" => $xas, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user