Add details according to mail request
authorJoey Schulze <joey@infodrom.org>
Thu, 11 Mar 2010 15:12:36 +0000 (16:12 +0100)
committerJoey Schulze <joey@infodrom.org>
Thu, 11 Mar 2010 15:12:36 +0000 (16:12 +0100)
masks/overview_kosten.php
masks/overview_stunden.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']);
+}
+
 ?>
index 9e3da0e..9c6cabc 100644 (file)
@@ -4,6 +4,16 @@ include_once($_SESSION['sys']['basedir'].'/lib/overview_utils.php');
 
 if (empty($_SESSION['overview_stunden.year'])) $_SESSION['overview_stunden.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>Gesamtstunden</b>: <span id="detail_gewaesserstunden"></span><br>
+<b>Personalstunden</b>: <span id="detail_personalstunden"></span><br>
+<b>Gerätestunden</b>: <span id="detail_geraetestunden"></span>
+</div>
+EOC;
+
 $mask = array(
              'table' => 'einsatz',
              'title' => 'Stundenübersicht nach Kostenstellen',
@@ -106,6 +116,85 @@ $mask = array(
                                            'sql' => '(einsatzpersonal.stunden + einsatzgeraete.stunden) / laenge',
                                            ),
                              ),
+             'details' => array(
+                                'html' => $details,
+                                'list' => array(
+                                                'gebiet' => array('fetch' => fetch_gebiet),
+                                                'laenge' => array('fetch' => fetch_laenge),
+                                                'gewaesserstunden' => array('fetch' => fetch_gewaesserstunden),
+                                                'personalstunden' => array('fetch' => fetch_personalstunden),
+                                                'geraetestunden' => array('fetch' => fetch_geraetestunden),
+                                                ),
+
+                             ),
              );
 
+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_gewaesserstunden()
+{
+  $sql = <<<EOC
+  SELECT sum(einsatzpersonal.stunden +
+             einsatzgeraete.stunden) AS gesamt
+  FROM einsatz
+  JOIN einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id
+  JOIN einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id
+  WHERE einsatz.id = %d
+EOC;
+
+  $sql = sprintf($sql, $_POST['id']);
+  $res = query_db($sql);
+  if ($res === false) return '';
+
+  return sprintf('%.2f', $res[0]['gesamt']);
+}
+
+function fetch_personalstunden()
+{
+  $sql = <<<EOC
+  SELECT sum(einsatzpersonal.stunden) AS kosten
+  FROM einsatz
+  JOIN einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id
+  WHERE einsatz.id = %d
+EOC;
+
+  $sql = sprintf($sql, $_POST['id']);
+  $res = query_db($sql);
+  if ($res === false) return '';
+
+  return sprintf('%.2f', $res[0]['kosten']);
+}
+
+function fetch_geraetestunden()
+{
+  $sql = <<<EOC
+  SELECT sum(einsatzgeraete.stunden) AS gesamt
+  FROM einsatz
+  JOIN einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id
+  WHERE einsatz.id = %d
+EOC;
+
+  $sql = sprintf($sql, $_POST['id']);
+  $res = query_db($sql);
+  if ($res === false) return '';
+
+  return sprintf('%.2f', $res[0]['gesamt']);
+}
+
 ?>