Adjustment of list according to mail specification
[misc/kostenrechnung] / masks / overview_kosten.php
index 341cc05..bb25533 100644 (file)
@@ -10,7 +10,8 @@ $details = <<<EOC
 <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>
+<b>Gerätekosten</b>: <span id="detail_geraetekosten"></span><br>
+<b>Gewässer gereinigt</b>: <span id="detail_gereinigt"></span>
 </div>
 EOC;
 
@@ -28,8 +29,7 @@ $mask = array(
                              'kostenstellen ON einsatz.kostenstelle = kostenstellen.id',
                              ),
              'where' => "arbeitsarten.arbeitsart <> 'Urlaub' AND arbeitsarten.arbeitsart <> 'Krank' AND arbeitsarten.arbeitsart <> 'Sonstige Fehltage'"
-                      . " AND date_part('year', datum) = " . $_SESSION['overview_kosten.year']
-                      . " GROUP BY einsatz.id,gebiet.gebiet,kostenstellen.kostenstelle,kostenstellen.id,personal.name,personal.vorname,gerate.geraet,laenge",
+                      . " AND date_part('year', datum) = " . $_SESSION['overview_kosten.year'],
              'select' => array(
                                'title' => 'Auswahl',
                                'options' => discover_years(),
@@ -47,6 +47,11 @@ $mask = array(
                                            'width' => 60,
                                            'sql' => 'einsatz.id',
                                            ),
+                             'datum' => array(
+                                           'name' => 'Datum',
+                                           'type' => 'date',
+                                           'width' => 70,
+                                           ),
                              'gebiet' => array(
                                            'name' => 'Gebiet',
                                            'sql' => "gebiet.gebiet",
@@ -59,9 +64,15 @@ $mask = array(
                                            'width' => 250,
                                            'specs' => "filterUI: 's'",
                                            ),
+                             'arbeitsart' => array(
+                                           'name' => 'Arbeiten',
+                                           'sql' => "arbeitsarten.arbeitsart",
+                                           'width' => 250,
+                                           'specs' => "filterUI: 's'",
+                                           ),
                              'personal' => array(
                                            'name' => 'Mitarbeiter',
-                                           'sql' => "personal.vorname || ' ' || personal.name",
+                                           'sql' => "personal.name || ', ' || personal.vorname",
                                            'width' => 150,
                                            'specs' => "filterUI: 's'",
                                            ),
@@ -82,31 +93,31 @@ $mask = array(
                                            'type' => 'number',
                                            'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
                                            'width' => 90,
-                                           'sql' => 'sum(einsatzpersonal.stunden * personal.persstdsatz)',
+                                           'sql' => 'einsatzpersonal.stunden * personal.persstdsatz',
                                            ),
                              'geraetkosten' => array(
                                            'name' => 'Gerätkosten',
                                            'type' => 'number',
                                            'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
                                            'width' => 90,
-                                           'sql' => 'sum(einsatzgeraete.stunden * gerate.geraetkst_intern + ' .
-                                                    'einsatzgeraete.stunden * anbaugeraete.anbkst_intern)',
+                                           'sql' => 'einsatzgeraete.stunden * gerate.geraetkst_intern + ' .
+                                                    'einsatzgeraete.stunden * anbaugeraete.anbkst_intern',
                                            ),
                              'gesamtkosten' => array(
                                            'name' => 'Gesamtkosten',
                                            'type' => 'number',
                                            'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
                                            'width' => 90,
-                                           'sql' => 'sum(einsatzpersonal.stunden * personal.persstdsatz + ' . 
+                                           'sql' => 'einsatzpersonal.stunden * personal.persstdsatz + ' . 
                                                     'einsatzgeraete.stunden * gerate.geraetkst_intern + ' .
-                                                    'einsatzgeraete.stunden * anbaugeraete.anbkst_intern)',
+                                                    'einsatzgeraete.stunden * anbaugeraete.anbkst_intern',
                                            ),
                              'prolfdm' => array(
                                            'name' => 'pro lfdm',
                                            'type' => 'number',
                                            'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
                                            'width' => 60,
-                                           'sql' => 'sum(einsatzpersonal.stunden * personal.persstdsatz + ' . 
+                                           'sql' => '(einsatzpersonal.stunden * personal.persstdsatz + ' . 
                                                     'einsatzgeraete.stunden * gerate.geraetkst_intern + ' .
                                                     'einsatzgeraete.stunden * anbaugeraete.anbkst_intern) / laenge',
                                            ),
@@ -119,6 +130,7 @@ $mask = array(
                                                 'gewaesserkosten' => array('fetch' => fetch_gewaesserkosten),
                                                 'personalkosten' => array('fetch' => fetch_personalkosten),
                                                 'geraetekosten' => array('fetch' => fetch_geraetekosten),
+                                                'gereinigt' => array('fetch' => fetch_gereinigt),
                                                 ),
 
                              ),
@@ -200,4 +212,22 @@ EOC;
   return sprintf('%.2f &euro;', $res[0]['gesamt']);
 }
 
+function fetch_gereinigt()
+{
+  $sql = <<<EOC
+  SELECT count(*) AS count
+  FROM gereinigt
+  JOIN kostenstellen ON gereinigt.kostenstelle = kostenstellen.id
+  JOIN einsatz ON einsatz.kostenstelle = kostenstellen.id
+  WHERE jahr = %d AND einsatz.id = %d
+EOC;
+
+  $sql = sprintf($sql, $_SESSION['overview_kosten.year'], $_POST['id']);
+
+  $res = query_db($sql);
+  if ($res === false) return '';
+
+  return $res[0]['count'] == 0 ? 'nein' : 'ja';
+}
+
 ?>