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; margin-top: -10px;">
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><br>
14 <b>Gewässer gereinigt</b>: <span id="detail_gereinigt"></span>
20 'title' => 'Stundenübersicht nach Kostenstellen',
22 'arbeitsarten ON einsatz.arbeiten = arbeitsarten.id',
23 'einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id',
24 'einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id',
25 'gebiet ON einsatz.gebiet = gebiet.id',
26 'kostenstellen ON einsatz.kostenstelle = kostenstellen.id',
27 'personal ON einsatzpersonal.personal = personal.id',
28 'gerate ON einsatzgeraete.geraet = gerate.id',
29 'anbaugeraete ON einsatzgeraete.anbaugeraet = anbaugeraete.id',
31 'where' => "arbeitsarten.arbeitsart <> 'Urlaub' AND arbeitsarten.arbeitsart <> 'Krank' AND arbeitsarten.arbeitsart <> 'Sonstige Fehltage'"
32 . " AND date_part('year', datum) = " . $_SESSION['overview_stunden.year'],
35 'options' => discover_years(),
36 'default' => 'Jahr wählen',
37 'selected' => $_SESSION['overview_stunden.year'],
38 'onchange' => "setvar(this,'year',select_year_calback,select_year_status)",
48 'sql' => 'einsatz.id',
57 'sql' => "gebiet.gebiet",
59 'specs' => "filterUI: 's'",
61 'kostenstelle' => array(
62 'name' => 'Kostenstelle',
63 'sql' => "kostenstellen.kostenstelle",
65 'specs' => "filterUI: 's'",
67 'arbeitsarten' => array(
69 'sql' => "arbeitsarten.arbeitsart",
71 'specs' => "filterUI: 's'",
74 'name' => 'Mitarbeiter',
75 'sql' => "personal.name || ', ' || personal.vorname",
77 'specs' => "filterUI: 's'",
80 'name' => 'Mitarbeiterstunden',
82 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
84 'sql' => 'einsatzpersonal.stunden'
88 'sql' => "gerate.geraet",
90 'specs' => "filterUI: 's'",
92 'anbaugeraet' => array(
93 'name' => 'Anbaugerät',
94 'sql' => "anbaugeraete.anbaugeraet",
96 'specs' => "filterUI: 's'",
98 'geraetstunden' => array(
99 'name' => 'Gerätstunden',
101 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
103 'sql' => 'einsatzgeraete.stunden'
105 'gesamtstunden' => array(
106 'name' => 'Gesamtstunden',
108 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
110 'sql' => 'einsatzpersonal.stunden + einsatzgeraete.stunden',
113 'name' => 'Stunden pro lfdm',
115 'specs' => "decPlaces: 2, ClassName: 'alignright', suffix: ' ', canSort: false",
117 'sql' => '(einsatzpersonal.stunden + einsatzgeraete.stunden) / laenge',
123 'gebiet' => array('fetch' => fetch_gebiet),
124 'laenge' => array('fetch' => fetch_laenge),
125 'gewaesserstunden' => array('fetch' => fetch_gewaesserstunden),
126 'personalstunden' => array('fetch' => fetch_personalstunden),
127 'geraetestunden' => array('fetch' => fetch_geraetestunden),
128 'gereinigt' => array('fetch' => fetch_gereinigt),
134 function fetch_gebiet()
136 $sql = 'SELECT gebiet.gebiet FROM gebiet JOIN einsatz ON einsatz.gebiet = gebiet.id WHERE einsatz.id = ' . intval($_POST['id']);
137 $res = query_db($sql);
138 if ($res === false) return '';
140 return $res[0]['gebiet'];
143 function fetch_laenge()
145 $sql = 'SELECT laenge FROM kostenstellen JOIN einsatz ON einsatz.kostenstelle = kostenstellen.id WHERE einsatz.id = ' . intval($_POST['id']);
146 $res = query_db($sql);
147 if ($res === false) return '';
149 return $res[0]['laenge'] . ' m';
152 function fetch_gewaesserstunden()
155 SELECT sum(einsatzpersonal.stunden +
156 einsatzgeraete.stunden) AS gesamt
158 JOIN einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id
159 JOIN einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id
160 WHERE einsatz.id = %d
163 $sql = sprintf($sql, $_POST['id']);
164 $res = query_db($sql);
165 if ($res === false) return '';
167 return sprintf('%.2f', $res[0]['gesamt']);
170 function fetch_personalstunden()
173 SELECT sum(einsatzpersonal.stunden) AS kosten
175 JOIN einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id
176 WHERE einsatz.id = %d
179 $sql = sprintf($sql, $_POST['id']);
180 $res = query_db($sql);
181 if ($res === false) return '';
183 return sprintf('%.2f', $res[0]['kosten']);
186 function fetch_geraetestunden()
189 SELECT sum(einsatzgeraete.stunden) AS gesamt
191 JOIN einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id
192 WHERE einsatz.id = %d
195 $sql = sprintf($sql, $_POST['id']);
196 $res = query_db($sql);
197 if ($res === false) return '';
199 return sprintf('%.2f', $res[0]['gesamt']);
202 function fetch_gereinigt()
205 SELECT count(*) AS count
207 JOIN kostenstellen ON gereinigt.kostenstelle = kostenstellen.id
208 JOIN einsatz ON einsatz.kostenstelle = kostenstellen.id
209 WHERE jahr = %d AND einsatz.id = %d
212 $sql = sprintf($sql, $_SESSION['overview_kosten.year'], $_POST['id']);
214 $res = query_db($sql);
215 if ($res === false) return '';
217 return $res[0]['count'] == 0 ? 'nein' : 'ja';