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>Gewässer</b>: <span id="detail_kostenstelle"></span><br>
11 <b>Länge</b>: <span id="detail_laenge"></span><br>
12 <b>Gesamtstunden</b>: <span id="detail_gewaesserstunden"></span><br>
13 <b>Personalstunden</b>: <span id="detail_personalstunden"></span><br>
14 <b>Gerätestunden</b>: <span id="detail_geraetestunden"></span><br>
15 <b>Gewässer gereinigt</b>: <span id="detail_gereinigt"></span>
21 'title' => 'Stundenübersicht nach Kostenstellen',
23 'arbeitsarten ON einsatz.arbeiten = arbeitsarten.id',
24 'einsatzpersonal ON einsatzpersonal.einsatz = einsatz.id',
25 'ordnungen ON einsatz.ordnung = ordnungen.id',
26 'LEFT einsatzgeraete ON einsatzgeraete.einsatz = einsatz.id',
27 'gebiet ON einsatz.gebiet = gebiet.id',
28 'kostenstellen ON einsatz.kostenstelle = kostenstellen.id',
29 'personal ON einsatzpersonal.personal = personal.id',
30 'LEFT gerate ON einsatzgeraete.geraet = gerate.id',
31 'LEFT anbaugeraete ON einsatzgeraete.anbaugeraet = anbaugeraete.id',
33 # 'where' => "arbeitsarten.arbeitsart <> 'Urlaub' AND arbeitsarten.arbeitsart <> 'Krank' AND arbeitsarten.arbeitsart <> 'Sonstige Fehltage'"
34 # . " AND date_part('year', datum) = " . $_SESSION['overview_stunden.year'],
35 'where' => "date_part('year', datum) = " . $_SESSION['overview_stunden.year'],
38 'options' => discover_years(),
39 'default' => 'Jahr wählen',
40 'selected' => $_SESSION['overview_stunden.year'],
41 'onchange' => "setvar(this,'year',select_year_calback,select_year_status)",
51 'sql' => 'einsatz.id',
60 'control' => "new Rico.TableColumn.checkbox('1','0','0',true)",
62 'specs' => "ClassName: 'aligncenter'",
66 'sql' => "gebiet.gebiet",
68 'specs' => "filterUI: 's'",
70 'kostenstelle' => array(
71 'name' => 'Kostenstelle',
72 'sql' => "kostenstellen.kostenstelle",
74 'specs' => "filterUI: 's'",
78 'sql' => "ordnungen.name",
80 'specs' => "filterUI: 's'",
83 'arbeitsarten' => array(
85 'sql' => "arbeitsarten.arbeitsart",
87 'specs' => "filterUI: 's'",
90 'name' => 'Mitarbeiter',
91 'sql' => "personal.name || ', ' || personal.vorname",
93 'specs' => "filterUI: 's'",
96 'name' => 'Mitarbeiterstunden',
98 'specs' => "decPlaces: 2, ClassName: 'alignrightpad', canSort: false",
100 'sql' => 'einsatzpersonal.stunden'
104 'sql' => "gerate.geraet",
106 'specs' => "filterUI: 's'",
108 'anbaugeraet' => array(
109 'name' => 'Anbaugerät',
110 'sql' => "anbaugeraete.anbaugeraet",
112 'specs' => "filterUI: 's'",
114 'geraetstunden' => array(
115 'name' => 'Gerätstunden',
117 'specs' => "decPlaces: 2, ClassName: 'alignrightpad', canSort: false",
119 'sql' => 'einsatzgeraete.stunden'
121 'gesamtstunden' => array(
122 'name' => 'Gesamtstunden',
124 'specs' => "decPlaces: 2, ClassName: 'alignrightpad', canSort: false",
126 'sql' => 'einsatzpersonal.stunden + einsatzgeraete.stunden',
132 'gebiet' => array('fetch' => fetch_gebiet),
133 'kostenstelle' => array('fetch' => fetch_kostenstelle),
134 'laenge' => array('fetch' => fetch_laenge),
135 'gewaesserstunden' => array('fetch' => fetch_gewaesserstunden),
136 'personalstunden' => array('fetch' => fetch_personalstunden),
137 'geraetestunden' => array('fetch' => fetch_geraetestunden),
138 'gereinigt' => array('fetch' => fetch_gereinigt),
144 function fetch_gebiet()
146 $sql = 'SELECT gebiet.gebiet FROM gebiet JOIN einsatz ON einsatz.gebiet = gebiet.id WHERE einsatz.id = ' . intval($_POST['id']);
147 $res = query_db($sql);
148 if ($res === false) return '';
150 return $res[0]['gebiet'];
153 function fetch_kostenstelle()
155 $sql = 'SELECT kostenstellen.kostenstelle FROM kostenstellen JOIN einsatz ON einsatz.kostenstelle = kostenstellen.id WHERE einsatz.id = ' . intval($_POST['id']);
156 $res = query_db($sql);
157 if ($res === false) return '';
159 return $res[0]['kostenstelle'];
162 function fetch_laenge()
164 $sql = 'SELECT laenge FROM kostenstellen JOIN einsatz ON einsatz.kostenstelle = kostenstellen.id WHERE einsatz.id = ' . intval($_POST['id']);
165 $res = query_db($sql);
166 if ($res === false) return '';
168 return $res[0]['laenge'] . ' m';
171 function fetch_gewaesserstunden()
174 SELECT sum(stunden) AS gesamt
177 (SELECT id FROM einsatz WHERE date_part('year', datum) = %d AND kostenstelle =
178 (SELECT kostenstelle FROM einsatz WHERE id = %d))
181 $sql = sprintf($sql, $_SESSION['overview_stunden.year'], $_POST['id']);
182 $pstunden = query_db($sql);
183 if ($pstunden === false) return '';
186 SELECT sum(stunden) AS gesamt
189 (SELECT id FROM einsatz WHERE date_part('year', datum) = %d AND kostenstelle =
190 (SELECT kostenstelle FROM einsatz WHERE id = %d))
193 $sql = sprintf($sql, $_SESSION['overview_stunden.year'], $_POST['id']);
194 $gstunden = query_db($sql);
195 if ($gstunden === false) return '';
197 return sprintf('%.2f', $pstunden[0]['gesamt'] + $gstunden[0]['gesamt']);
200 function fetch_personalstunden()
203 SELECT sum(stunden) AS gesamt
206 (SELECT id FROM einsatz WHERE date_part('year', datum) = %d AND kostenstelle =
207 (SELECT kostenstelle FROM einsatz WHERE id = %d))
210 $sql = sprintf($sql, $_SESSION['overview_stunden.year'], $_POST['id']);
211 $res = query_db($sql);
212 if ($res === false) return '';
214 return sprintf('%.2f', $res[0]['gesamt']);
217 function fetch_geraetestunden()
220 SELECT sum(stunden) AS gesamt
223 (SELECT id FROM einsatz WHERE date_part('year', datum) = %d AND kostenstelle =
224 (SELECT kostenstelle FROM einsatz WHERE id = %d))
227 $sql = sprintf($sql, $_SESSION['overview_stunden.year'], $_POST['id']);
228 $res = query_db($sql);
229 if ($res === false) return '';
231 return sprintf('%.2f', $res[0]['gesamt']);
234 function fetch_gereinigt()
237 SELECT count(*) AS count
239 JOIN kostenstellen ON gereinigt.kostenstelle = kostenstellen.id
240 JOIN einsatz ON einsatz.kostenstelle = kostenstellen.id
241 WHERE jahr = %d AND einsatz.id = %d
244 $sql = sprintf($sql, $_SESSION['overview_kosten.year'], $_POST['id']);
246 $res = query_db($sql);
247 if ($res === false) return '';
249 return $res[0]['count'] == 0 ? 'nein' : 'ja';