Add details according to mail request
[misc/kostenrechnung] / masks / overview_kosten.php
index 6196b12..f2c556d 100644 (file)
@@ -4,6 +4,16 @@ include_once($_SESSION['sys']['basedir'].'/lib/overview_utils.php');
 
 if (empty($_SESSION['overview_kosten.year'])) $_SESSION['overview_kosten.year'] = 0;
 
+$details = <<<EOC
+<div style="padding-left: 3px;">
+<b>Gebiet</b>: <span id="detail_gebiet"></span><br>
+<b>Länge</b>: <span id="detail_laenge"></span><br>
+<b>Gesamtkosten</b>: <span id="detail_gewaesserkosten"></span><br>
+<b>Personalkosten</b>: <span id="detail_personalkosten"></span><br>
+<b>Gerätekosten</b>: <span id="detail_geraetekosten"></span>
+</div>
+EOC;
+
 $mask = array(
              'table' => 'einsatz',
              'title' => 'Kostenaufwand für Kostenstellen',
@@ -101,6 +111,93 @@ $mask = array(
                                                     'einsatzgeraete.stunden * anbaugeraete.anbkst_intern) / laenge',
                                            ),
                              ),
+             'details' => array(
+                                'html' => $details,
+                                'list' => array(
+                                                'gebiet' => array('fetch' => fetch_gebiet),
+                                                'laenge' => array('fetch' => fetch_laenge),
+                                                'gewaesserkosten' => array('fetch' => fetch_gewaesserkosten),
+                                                'personalkosten' => array('fetch' => fetch_personalkosten),
+                                                'geraetekosten' => array('fetch' => fetch_geraetekosten),
+                                                ),
+
+                             ),
              );
 
+function fetch_gebiet()
+{
+  $sql = 'SELECT gebiet.gebiet FROM gebiet JOIN einsatz ON einsatz.gebiet = gebiet.id WHERE einsatz.id = ' . intval($_POST['id']);
+  $res = query_db($sql);
+  if ($res === false) return '';
+
+  return $res[0]['gebiet'];
+}
+
+function fetch_laenge()
+{
+  $sql = 'SELECT laenge FROM kostenstellen JOIN einsatz ON einsatz.kostenstelle = kostenstellen.id WHERE einsatz.id = ' . intval($_POST['id']);
+  $res = query_db($sql);
+  if ($res === false) return '';
+
+  return $res[0]['laenge'] . ' m';
+}
+
+function fetch_gewaesserkosten()
+{
+  $sql = <<<EOC
+  SELECT sum(einsatzpersonal.stunden * personal.persstdsatz +
+             einsatzgeraete.stunden * gerate.geraetkst_intern +
+             einsatzgeraete.stunden * anbaugeraete.anbkst_intern) AS gesamt
+  FROM einsatz
+  JOIN einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id
+  JOIN einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id
+  JOIN personal ON einsatzpersonal.personal = personal.id
+  JOIN gerate ON einsatzgeraete.geraet = gerate.id
+  JOIN anbaugeraete ON einsatzgeraete.anbaugeraet = anbaugeraete.id
+  WHERE einsatz.id = %d
+EOC;
+
+  $sql = sprintf($sql, $_POST['id']);
+  $res = query_db($sql);
+  if ($res === false) return '';
+
+  return sprintf('%.2f &euro;', $res[0]['gesamt']);
+}
+
+function fetch_personalkosten()
+{
+  $sql = <<<EOC
+  SELECT sum(einsatzpersonal.stunden * personal.persstdsatz) AS kosten
+  FROM einsatz
+  JOIN einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id
+  JOIN personal ON einsatzpersonal.personal = personal.id
+  WHERE einsatz.id = %d
+EOC;
+
+  $sql = sprintf($sql, $_POST['id']);
+  $res = query_db($sql);
+  if ($res === false) return '';
+
+  return sprintf('%.2f &euro;', $res[0]['kosten']);
+}
+
+function fetch_geraetekosten()
+{
+  $sql = <<<EOC
+  SELECT sum(einsatzgeraete.stunden * gerate.geraetkst_intern +
+             einsatzgeraete.stunden * anbaugeraete.anbkst_intern) AS gesamt
+  FROM einsatz
+  JOIN einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id
+  JOIN gerate ON einsatzgeraete.geraet = gerate.id
+  JOIN anbaugeraete ON einsatzgeraete.anbaugeraet = anbaugeraete.id
+  WHERE einsatz.id = %d
+EOC;
+
+  $sql = sprintf($sql, $_POST['id']);
+  $res = query_db($sql);
+  if ($res === false) return '';
+
+  return sprintf('%.2f &euro;', $res[0]['gesamt']);
+}
+
 ?>