--- /dev/null
+<?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: ' ', canSort: false",
+ 'width' => 70,
+ ),
+ 'personalkosten' => array(
+ 'name' => 'Mitarbeiterkosten',
+ 'type' => 'number',
+ 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
+ 'width' => 90,
+ 'sql' => 'sum(stunden * personal.persstdsatz)',
+ ),
+ 'geraetkosten' => array(
+ 'name' => 'Gerätkosten',
+ 'type' => 'number',
+ 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', 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: ' ', 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: ' ', canSort: false",
+ 'width' => 60,
+ 'sql' => 'sum(stunden * personal.persstdsatz + ' .
+ 'geraetstunden * gerate.geraetkst_intern + ' .
+ 'geraetstunden * anbaugeraete.anbkst_intern) / laenge',
+ ),
+ ),
+ );
+
+?>