Neue Abfragen
authorJoey Schulze <joey@infodrom.org>
Tue, 9 Mar 2010 21:46:02 +0000 (22:46 +0100)
committerJoey Schulze <joey@infodrom.org>
Tue, 9 Mar 2010 21:46:02 +0000 (22:46 +0100)
masks/overview_kosten.php [new file with mode: 0644]
masks/overview_stunden.php [new file with mode: 0644]

diff --git a/masks/overview_kosten.php b/masks/overview_kosten.php
new file mode 100644 (file)
index 0000000..09ad9de
--- /dev/null
@@ -0,0 +1,102 @@
+<?php
+
+include_once($_SESSION['sys']['basedir'].'/lib/overview_utils.php');
+
+if (empty($_SESSION['kosten.year'])) $_SESSION['kosten.year'] = 0;
+
+$mask = array(
+             'table' => 'einsatz',
+             'title' => 'Kostenaufwand für Kostenstellen',
+             'join' => array('personal ON einsatz.personal = personal.id',
+                             'gerate ON einsatz.geraet = gerate.id',
+                             'anbaugeraete ON einsatz.anbaugeraet = anbaugeraete.id',
+                             'arbeitsarten ON einsatz.arbeiten = arbeitsarten.id',
+                             'gebiet ON einsatz.gebiet = gebiet.id',
+                             '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['kosten.year']
+                      . " GROUP BY gebiet.gebiet,kostenstellen.kostenstelle,kostenstellen.id,personal.name,personal.vorname,gerate.geraet,laenge",
+             'select' => array(
+                               'title' => 'Auswahl',
+                               'options' => discover_years(),
+                               'default' => 'Jahr wählen',
+                               'selected' => $_SESSION['kosten.year'],
+                               'onchange' => "setvar(this,'year',select_year_calback,select_year_status)",
+                               ),
+             'variables' => array(
+                                  'year' => array(),
+                                  ),
+             'list' => array(
+                             'id' => array(
+                                           'name' => 'ID',
+                                           'visible' => false,
+                                           'sql' => 'kostenstellen.id',
+                                           ),
+                             'gebiet' => array(
+                                           'name' => 'Gebiet',
+                                           'sql' => "gebiet.gebiet",
+                                           'width' => 150,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'kostenstelle' => array(
+                                           'name' => 'Kostenstelle',
+                                           'sql' => "kostenstellen.kostenstelle",
+                                           'width' => 250,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'personal' => array(
+                                           'name' => 'Mitarbeiter',
+                                           'sql' => "personal.vorname || ' ' || personal.name",
+                                           'width' => 150,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'geraet' => array(
+                                           'name' => 'Gerät',
+                                           'sql' => "gerate.geraet",
+                                           'width' => 150,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'laenge' => array(
+                                           'name' => 'Länge',
+                                           'type' => 'number',
+                                           'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
+                                           'width' => 70,
+                                           ),
+                             'personalkosten' => array(
+                                           'name' => 'Mitarbeiterkosten',
+                                           'type' => 'number',
+                                           'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
+                                           'width' => 90,
+                                           'sql' => 'sum(stunden * personal.persstdsatz)',
+                                           ),
+                             'geraetkosten' => array(
+                                           'name' => 'Gerätkosten',
+                                           'type' => 'number',
+                                           'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
+                                           'width' => 90,
+                                           'sql' => 'sum(geraetstunden * gerate.geraetkst_intern + ' .
+                                                    'geraetstunden * anbaugeraete.anbkst_intern)',
+                                           ),
+                             'gesamtkosten' => array(
+                                           'name' => 'Gesamtkosten',
+                                           'type' => 'number',
+                                           'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
+                                           'width' => 90,
+                                           'sql' => 'sum(stunden * personal.persstdsatz + ' . 
+                                                    'geraetstunden * gerate.geraetkst_intern + ' .
+                                                    'geraetstunden * anbaugeraete.anbkst_intern)',
+                                           ),
+                             'prolfdm' => array(
+                                           'name' => 'pro lfdm',
+                                           'type' => 'number',
+                                           'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
+                                           'width' => 60,
+                                           'sql' => 'sum(stunden * personal.persstdsatz + ' . 
+                                                    'geraetstunden * gerate.geraetkst_intern + ' .
+                                                    'geraetstunden * anbaugeraete.anbkst_intern) / laenge',
+                                           ),
+                             ),
+             );
+
+?>
diff --git a/masks/overview_stunden.php b/masks/overview_stunden.php
new file mode 100644 (file)
index 0000000..da9f2f5
--- /dev/null
@@ -0,0 +1,106 @@
+<?php
+
+include_once($_SESSION['sys']['basedir'].'/lib/overview_utils.php');
+
+if (empty($_SESSION['stunden.year'])) $_SESSION['stunden.year'] = 0;
+
+$mask = array(
+             'table' => 'einsatz',
+             'title' => 'Stundenübersicht nach Kostenstellen',
+             'join' => array('arbeitsarten ON einsatz.arbeiten = arbeitsarten.id',
+                             'gebiet ON einsatz.gebiet = gebiet.id',
+                             'kostenstellen ON einsatz.kostenstelle = kostenstellen.id',
+                             'personal ON einsatz.personal = personal.id',
+                             'gerate ON einsatz.geraet = gerate.id',
+                             'anbaugeraete ON einsatz.anbaugeraet = anbaugeraete.id',
+                             ),
+             'where' => "arbeitsarten.arbeitsart <> 'Urlaub' AND arbeitsarten.arbeitsart <> 'Krank' AND arbeitsarten.arbeitsart <> 'Sonstige Fehltage'"
+                      . " AND date_part('year', datum) = " . $_SESSION['stunden.year'],
+             'select' => array(
+                               'title' => 'Auswahl',
+                               'options' => discover_years(),
+                               'default' => 'Jahr wählen',
+                               'selected' => $_SESSION['stunden.year'],
+                               'onchange' => "setvar(this,'year',select_year_calback,select_year_status)",
+                               ),
+             'variables' => array(
+                                  'year' => array(),
+                                  ),
+             'list' => array(
+                             'id' => array(
+                                           'name' => 'ID',
+                                           'visible' => false,
+                                           'width' => 40,
+                                           'sql' => 'einsatz.id',
+                                           ),
+                             'datum' => array(
+                                           'name' => 'Datum',
+                                           'type' => 'date',
+                                           'width' => 70,
+                                           ),
+                             'gebiet' => array(
+                                           'name' => 'Gebiet',
+                                           'sql' => "gebiet.gebiet",
+                                           'width' => 150,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'kostenstelle' => array(
+                                           'name' => 'Kostenstelle',
+                                           'sql' => "kostenstellen.kostenstelle",
+                                           'width' => 150,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'arbeitsarten' => array(
+                                           'name' => 'Arbeiten',
+                                           'sql' => "arbeitsarten.arbeitsart",
+                                           'width' => 150,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'personal' => array(
+                                           'name' => 'Mitarbeiter',
+                                           'sql' => "personal.vorname || ' ' || personal.name",
+                                           'width' => 150,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'stunden' => array(
+                                           'name' => 'Mitarbeiterstunden',
+                                           'type' => 'number',
+                                           'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
+                                           'width' => 60,
+                                           ),
+                             'geraet' => array(
+                                           'name' => 'Gerät',
+                                           'sql' => "gerate.geraet",
+                                           'width' => 150,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'anbaugeraet' => array(
+                                           'name' => 'Anbaugerät',
+                                           'sql' => "anbaugeraete.anbaugeraet",
+                                           'width' => 150,
+                                           'specs' => "filterUI: 's'",
+                                           ),
+                             'geraetstunden' => array(
+                                           'name' => 'Gerätstunden',
+                                           'type' => 'number',
+                                           'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
+                                           'width' => 60,
+                                           ),
+                             'gesamtstunden' => array(
+                                           'name' => 'Gesamtstunden',
+                                           'type' => 'number',
+                                           'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
+                                           'width' => 60,
+                                           'sql' => 'stunden + geraetstunden',
+                                           ),
+                             'stdlfdm' => array(
+                                           'name' => 'Stunden pro lfdm',
+                                           'type' => 'number',
+                                           'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: '&nbsp;', canSort: false",
+                                           'width' => 60,
+                                           'sql' => '(stunden + geraetstunden) / laenge',
+                                           ),
+                             ),
+             );
+
+?>