3 include_once($_SESSION['sys']['basedir'].'/lib/overview_utils.php');
5 if (empty($_SESSION['overview_stunden.year'])) $_SESSION['overview_stunden.year'] = 0;
8 <div style="padding-left: 3px;">
9 <b>Gebiet</b>: <span id="detail_gebiet"></span><br>
10 <b>Länge</b>: <span id="detail_laenge"></span><br>
11 <b>Gesamtstunden</b>: <span id="detail_gewaesserstunden"></span><br>
12 <b>Personalstunden</b>: <span id="detail_personalstunden"></span><br>
13 <b>Gerätestunden</b>: <span id="detail_geraetestunden"></span>
19 'title' => 'Stundenübersicht nach Kostenstellen',
21 'arbeitsarten ON einsatz.arbeiten = arbeitsarten.id',
22 'einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id',
23 'einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id',
24 'gebiet ON einsatz.gebiet = gebiet.id',
25 'kostenstellen ON einsatz.kostenstelle = kostenstellen.id',
26 'personal ON einsatzpersonal.personal = personal.id',
27 'gerate ON einsatzgeraete.geraet = gerate.id',
28 'anbaugeraete ON einsatzgeraete.anbaugeraet = anbaugeraete.id',
30 'where' => "arbeitsarten.arbeitsart <> 'Urlaub' AND arbeitsarten.arbeitsart <> 'Krank' AND arbeitsarten.arbeitsart <> 'Sonstige Fehltage'"
31 . " AND date_part('year', datum) = " . $_SESSION['overview_stunden.year'],
34 'options' => discover_years(),
35 'default' => 'Jahr wählen',
36 'selected' => $_SESSION['overview_stunden.year'],
37 'onchange' => "setvar(this,'year',select_year_calback,select_year_status)",
47 'sql' => 'einsatz.id',
56 'sql' => "gebiet.gebiet",
58 'specs' => "filterUI: 's'",
60 'kostenstelle' => array(
61 'name' => 'Kostenstelle',
62 'sql' => "kostenstellen.kostenstelle",
64 'specs' => "filterUI: 's'",
66 'arbeitsarten' => array(
68 'sql' => "arbeitsarten.arbeitsart",
70 'specs' => "filterUI: 's'",
73 'name' => 'Mitarbeiter',
74 'sql' => "personal.vorname || ' ' || personal.name",
76 'specs' => "filterUI: 's'",
79 'name' => 'Mitarbeiterstunden',
81 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
83 'sql' => 'einsatzpersonal.stunden'
87 'sql' => "gerate.geraet",
89 'specs' => "filterUI: 's'",
91 'anbaugeraet' => array(
92 'name' => 'Anbaugerät',
93 'sql' => "anbaugeraete.anbaugeraet",
95 'specs' => "filterUI: 's'",
97 'geraetstunden' => array(
98 'name' => 'Gerätstunden',
100 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
102 'sql' => 'einsatzgeraete.stunden'
104 'gesamtstunden' => array(
105 'name' => 'Gesamtstunden',
107 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
109 'sql' => 'einsatzpersonal.stunden + einsatzgeraete.stunden',
112 'name' => 'Stunden pro lfdm',
114 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
116 'sql' => '(einsatzpersonal.stunden + einsatzgeraete.stunden) / laenge',
122 'gebiet' => array('fetch' => fetch_gebiet),
123 'laenge' => array('fetch' => fetch_laenge),
124 'gewaesserstunden' => array('fetch' => fetch_gewaesserstunden),
125 'personalstunden' => array('fetch' => fetch_personalstunden),
126 'geraetestunden' => array('fetch' => fetch_geraetestunden),
132 function fetch_gebiet()
134 $sql = 'SELECT gebiet.gebiet FROM gebiet JOIN einsatz ON einsatz.gebiet = gebiet.id WHERE einsatz.id = ' . intval($_POST['id']);
135 $res = query_db($sql);
136 if ($res === false) return '';
138 return $res[0]['gebiet'];
141 function fetch_laenge()
143 $sql = 'SELECT laenge FROM kostenstellen JOIN einsatz ON einsatz.kostenstelle = kostenstellen.id WHERE einsatz.id = ' . intval($_POST['id']);
144 $res = query_db($sql);
145 if ($res === false) return '';
147 return $res[0]['laenge'] . ' m';
150 function fetch_gewaesserstunden()
153 SELECT sum(einsatzpersonal.stunden +
154 einsatzgeraete.stunden) AS gesamt
156 JOIN einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id
157 JOIN einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id
158 WHERE einsatz.id = %d
161 $sql = sprintf($sql, $_POST['id']);
162 $res = query_db($sql);
163 if ($res === false) return '';
165 return sprintf('%.2f', $res[0]['gesamt']);
168 function fetch_personalstunden()
171 SELECT sum(einsatzpersonal.stunden) AS kosten
173 JOIN einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id
174 WHERE einsatz.id = %d
177 $sql = sprintf($sql, $_POST['id']);
178 $res = query_db($sql);
179 if ($res === false) return '';
181 return sprintf('%.2f', $res[0]['kosten']);
184 function fetch_geraetestunden()
187 SELECT sum(einsatzgeraete.stunden) AS gesamt
189 JOIN einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id
190 WHERE einsatz.id = %d
193 $sql = sprintf($sql, $_POST['id']);
194 $res = query_db($sql);
195 if ($res === false) return '';
197 return sprintf('%.2f', $res[0]['gesamt']);