Bestehende Codebasis als Ausgangsstand aufgenommen. - .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen; Verzeichnisstruktur ueber .gitkeep erhalten - .gitattributes: Zeilenenden normalisiert (LF im Repo), Binaerformate markiert - db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der Anwendung aus der externen Konfiguration statt hartkodiert aus der Datei; Passwort wird ueber eine temporaere Optionsdatei statt per Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet, Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
117 lines
4.6 KiB
PHP
117 lines
4.6 KiB
PHP
<?php
|
|
require_once ("./incs/rechnung.php");
|
|
$smarty->assign("heading","Statistik");
|
|
$smarty->display("heading.tpl");
|
|
|
|
$smarty->assign("ffyear0",date("Y",strtotime("-0 year")));
|
|
$smarty->assign("ffyear1",date("Y",strtotime("-1 year")));
|
|
$smarty->assign("ffyear2",date("Y",strtotime("-2 years")));
|
|
|
|
$sum = 0;
|
|
$sumincl = 0;
|
|
$qry = mysqli_query($dbconn,"SELECT rechnung.id AS rech, ort.plz AS plz FROM rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON adresse.str_id = strasse.id JOIN ort ON ort.id = strasse.ort_id WHERE rechnung.typ_id = 1 AND ort.plz = '87509' AND ( ort.land_id = 1 OR ort.land_id = 4) AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-0 years"))."'") or error(mysqli_error($dbconn));
|
|
while($res = mysqli_fetch_assoc($qry))
|
|
{
|
|
$sumincl += calculateRechnungsSum($dbconn, $res["rech"],1);
|
|
$sum += calculateRechnungsSum($dbconn, $res["rech"],0);
|
|
|
|
}
|
|
$smarty->assign("ffincl0",$sumincl);
|
|
$smarty->assign("ffexcl0",$sum);
|
|
|
|
$sum = 0;
|
|
$sumincl = 0;
|
|
$qry = mysqli_query($dbconn,"SELECT rechnung.id AS rech, ort.plz AS plz FROM rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON adresse.str_id = strasse.id JOIN ort ON ort.id = strasse.ort_id WHERE rechnung.typ_id = 1 AND ort.plz = '87509' AND ( ort.land_id = 1 OR ort.land_id = 4) AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-1 year"))."'") or error(mysqli_error($dbconn));
|
|
while($res = mysqli_fetch_assoc($qry))
|
|
{
|
|
$sumincl += calculateRechnungsSum($dbconn, $res["rech"],1);
|
|
$sum += calculateRechnungsSum($dbconn, $res["rech"],0);
|
|
|
|
}
|
|
$smarty->assign("ffincl1",$sumincl);
|
|
$smarty->assign("ffexcl1",$sum);
|
|
|
|
$sum = 0;
|
|
$sumincl = 0;
|
|
$qry = mysqli_query($dbconn,"SELECT rechnung.id AS rech, ort.plz AS plz FROM rechnung JOIN adresse ON adresse_id = adresse.id JOIN strasse ON adresse.str_id = strasse.id JOIN ort ON ort.id = strasse.ort_id WHERE rechnung.typ_id = 1 AND ort.plz = '87509' AND ( ort.land_id = 1 OR ort.land_id = 4) AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-2 years"))."'") or error(mysqli_error($dbconn));
|
|
while($res = mysqli_fetch_assoc($qry))
|
|
{
|
|
$sumincl += calculateRechnungsSum($dbconn, $res["rech"],1);
|
|
$sum += calculateRechnungsSum($dbconn, $res["rech"],0);
|
|
|
|
}
|
|
|
|
$smarty->assign("ffincl2",$sumincl);
|
|
$smarty->assign("ffexcl2",$sum);
|
|
|
|
$sum = 0;
|
|
$completesum = 0;
|
|
$partners = array();
|
|
$qry = mysqli_query($dbconn,"SELECT GROUP_CONCAT(rechnung.id SEPARATOR ',') AS rechs, partner_id FROM rechnung RIGHT OUTER JOIN partner ON partner_id = partner.id WHERE rechnung.typ_id = 1 AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-0 year"))."' GROUP BY partner_id");
|
|
while($res = mysqli_fetch_assoc($qry))
|
|
{
|
|
$rechs = explode(',',$res["rechs"]);
|
|
$sum = 0;
|
|
Foreach($rechs AS $rech)
|
|
{
|
|
$sum += calculateRechnungsSum($dbconn, $rech,1);
|
|
}
|
|
$completesum +=$sum;
|
|
if($sum>0)
|
|
{
|
|
$partners[$res["partner_id"]] = $sum;
|
|
}
|
|
}
|
|
arsort($partners);
|
|
$smarty->assign("partnercharts0",array_slice($partners, 0, 25, true));
|
|
$smarty->assign("completesum0",$completesum);
|
|
|
|
$sum = 0;
|
|
$completesum = 0;
|
|
$partners = array();
|
|
$qry = mysqli_query($dbconn,"SELECT GROUP_CONCAT(rechnung.id SEPARATOR ',') AS rechs, partner_id FROM rechnung RIGHT OUTER JOIN partner ON partner_id = partner.id WHERE rechnung.typ_id = 1 AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-1 year"))."' GROUP BY partner_id");
|
|
while($res = mysqli_fetch_assoc($qry))
|
|
{
|
|
$rechs = explode(',',$res["rechs"]);
|
|
$sum = 0;
|
|
Foreach($rechs AS $rech)
|
|
{
|
|
$sum += calculateRechnungsSum($dbconn, $rech,1);
|
|
}
|
|
$completesum +=$sum;
|
|
if($sum>0)
|
|
{
|
|
$partners[$res["partner_id"]] = $sum;
|
|
}
|
|
}
|
|
arsort($partners);
|
|
$smarty->assign("partnercharts1",array_slice($partners, 0, 25, true));
|
|
$smarty->assign("completesum1",$completesum);
|
|
|
|
$sum = 0;
|
|
$completesum = 0;
|
|
$partners = array();
|
|
$qry = mysqli_query($dbconn,"SELECT GROUP_CONCAT(rechnung.id SEPARATOR ',') AS rechs, partner_id FROM rechnung RIGHT OUTER JOIN partner ON partner_id = partner.id WHERE rechnung.typ_id = 1 AND storno = 0 AND DATE_FORMAT(rechnung.datetime, '%Y') = '".date("Y",strtotime("-2 years"))."' GROUP BY partner_id");
|
|
while($res = mysqli_fetch_assoc($qry))
|
|
{
|
|
$rechs = explode(',',$res["rechs"]);
|
|
$sum = 0;
|
|
Foreach($rechs AS $rech)
|
|
{
|
|
$sum += calculateRechnungsSum($dbconn, $rech,1);
|
|
}
|
|
$completesum +=$sum;
|
|
if($sum>0)
|
|
{
|
|
$partners[$res["partner_id"]] = $sum;
|
|
}
|
|
}
|
|
arsort($partners);
|
|
$smarty->assign("partnercharts2",array_slice($partners, 0, 25, true));
|
|
$smarty->assign("completesum2",$completesum);
|
|
|
|
|
|
$smarty->display("charts.tpl");
|
|
$_SESSION["camefrom"] ="charts";
|
|
|
|
?>
|