40
|
1 |
<?php
|
|
2 |
|
|
3 |
/**
|
|
4 |
* @author Bettina Schwarzer, Fritz-Haber-Institut
|
|
5 |
* @copyright 08/2013
|
|
6 |
*
|
|
7 |
* Report Keytyp wo/wer, Anzahl (MA und Depots)
|
|
8 |
*/
|
|
9 |
|
|
10 |
error_reporting(E_ALL ^ E_NOTICE);
|
|
11 |
|
|
12 |
session_start();
|
|
13 |
if (! isset($_SESSION["userid"]))
|
|
14 |
{
|
|
15 |
include_once ($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/func_lib.inc.php");
|
|
16 |
login($_SERVER["PHP_SELF"]);
|
|
17 |
exit;
|
|
18 |
}
|
|
19 |
|
|
20 |
if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("kr",$_SESSION["recht"]) && !in_array("ke",$_SESSION["recht"])))
|
|
21 |
{
|
|
22 |
header("Location: start.php");
|
|
23 |
exit;
|
|
24 |
}
|
|
25 |
|
|
26 |
include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
|
|
27 |
if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
|
|
28 |
|
|
29 |
// zulaessige Depots
|
|
30 |
$uid = $_SESSION["userid"];
|
|
31 |
$sql = "SELECT depot_ID FROM KeyDepot_userweb WHERE userid = '$uid'";
|
|
32 |
$res = $dbc -> queryObjectArray($sql);
|
|
33 |
foreach ($res as $row)
|
|
34 |
$adep[] = $row->depot_ID;
|
|
35 |
|
|
36 |
?>
|
|
37 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
38 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
39 |
|
|
40 |
<head>
|
|
41 |
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
|
|
42 |
<link href="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
|
|
43 |
<link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
|
|
44 |
<title>Report Übersicht Schlüsseltypen</title>
|
|
45 |
</head>
|
|
46 |
|
|
47 |
<body>
|
|
48 |
<?php
|
|
49 |
echo " ";
|
|
50 |
echo "<div class=\"float-br smaller\" valign='top'>";
|
|
51 |
echo " user: " . $_SESSION["userid"];
|
|
52 |
echo " <a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
|
|
53 |
echo "<div class=\"float-r\"><img src=\"/fhiiqm/img/key.png\" border=\"0\" alt=\"Keytyp Ü:bersicht\" title=\"Schlüsseltypen Bestand\"/></div>\n";
|
|
54 |
|
|
55 |
$ky = $_POST["ky"]; // Parameter aus Form
|
|
56 |
$search = $_POST["search"];
|
|
57 |
if (!$search) $search = $_GET["s"];
|
|
58 |
|
|
59 |
$zeil = $ky["z"];
|
|
60 |
if (!$zeil) $zeil = $_GET["z"];
|
|
61 |
if (!$zeil) $zeil = 9999; // Anzahl der gezeigten Zeilen
|
|
62 |
$start = $_GET["st"]; // Start bei DS $start+1
|
|
63 |
if (!$start) $start=0;
|
|
64 |
|
|
65 |
if (!is_array($ky))
|
|
66 |
{
|
|
67 |
$ky["kt"] = $_GET["k"];
|
|
68 |
$ky["sort1"] = $_GET["s1"];
|
|
69 |
$ky["sort2"] = $_GET["s2"];
|
|
70 |
}
|
|
71 |
$_GET["k"] = $ky["kt"];
|
|
72 |
$_GET["s1"]= $ky["sort1"];
|
|
73 |
$_GET["s2"]= $ky["sort2"];
|
|
74 |
$_GET["z"] = $zeil;
|
|
75 |
|
|
76 |
if ($search)
|
|
77 |
{
|
|
78 |
echo "<span class='sc'>";
|
|
79 |
echo "<br /> <a href=\"/fhiiqm/keytyp_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
|
|
80 |
echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Keytyp Bestand\" class=\"sc\">neuer Bericht Bestand Schlüsseltyp gesamt</a>\n";
|
|
81 |
echo "</span>";
|
|
82 |
}
|
|
83 |
|
|
84 |
echo "<div align='center'>\n";
|
|
85 |
echo "<p><b>Bericht Bestand Schlüsseltyp Depot und Mitarbeiter</b></p>\n";
|
|
86 |
echo "<p>- zeigt alle Schlüsseltypen und deren Besitzer aus dem gewählten Depot und im Depot selbst<br />
|
|
87 |
- wenn kein Depot gewählt wurde, werden alle oder nur der gewählte Schlüsseltyp von allen Depots angezeigt<p>";
|
|
88 |
echo "</div>\n";
|
|
89 |
|
|
90 |
|
|
91 |
if (!$search)
|
|
92 |
{
|
|
93 |
?>
|
|
94 |
<div align="center">
|
|
95 |
<p>Bitte Kriterien für die Suche wählen</p>
|
|
96 |
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_raum" target="_self">
|
|
97 |
<table width="50%" border="0" cellspacing="3" cellpadding="3">
|
|
98 |
|
|
99 |
<tr>
|
|
100 |
<td>Depot</td>
|
|
101 |
<td><select name="ky[dep]">
|
|
102 |
<?php
|
|
103 |
if ($ky["dep"] == -1) $select = "selected='selected'"; else $select = "";
|
|
104 |
echo "<option $select value=\"-1\"></option>\n";
|
|
105 |
$strdep = "'". implode("','",$adep) ."'";
|
|
106 |
$sql = "SELECT * FROM fhiiqm.KeyDepot WHERE depot_ID IN ($strdep)";
|
|
107 |
if ($res = $dbc -> queryObjectArray($sql))
|
|
108 |
foreach ($res as $row)
|
|
109 |
{
|
|
110 |
if ($row->depot_ID == $ky['dep']) $select = "selected='selected'"; else $select = "";
|
|
111 |
echo "<option $select value=\"$row->depot_ID\">$row->depot_ID: $row->depot_bez</option>\n";
|
|
112 |
}
|
|
113 |
$beg=0;
|
|
114 |
?>
|
|
115 |
</select>
|
|
116 |
</td>
|
|
117 |
</tr>
|
|
118 |
|
|
119 |
<tr>
|
|
120 |
<td>Schlüsseltyp</td>
|
|
121 |
<td><select name="ky[kt]">
|
|
122 |
<?php
|
|
123 |
if ($ky["kt"] == -1) $select = "selected='selected'"; else $select = "";
|
|
124 |
echo "<option $select value=\"-1\"></option>\n";
|
|
125 |
$strdep = "'". implode("','",$adep) ."'";
|
|
126 |
$sql = "SELECT key_level,keytyp_ID,keytyp_bez
|
|
127 |
FROM Keytyp
|
|
128 |
ORDER BY key_level";
|
|
129 |
if ($res = $dbc -> queryObjectArray($sql))
|
|
130 |
foreach ($res as $row)
|
|
131 |
{
|
|
132 |
if ($row->keytyp_ID == $ky['kt']) $select = "selected='selected'"; else $select = "";
|
|
133 |
echo "<option $select value=\"$row->keytyp_ID\">$row->key_level - $row->keytyp_ID [$row->keytyp_bez] </option>\n";
|
|
134 |
}
|
|
135 |
$beg=0;
|
|
136 |
?>
|
|
137 |
</select>
|
|
138 |
</tr>
|
|
139 |
<tr>
|
|
140 |
<td>Sortierung nach<br />(in dieser Reihenfolge)</td><td>
|
|
141 |
<?php
|
|
142 |
$sort = array("-1"=>"","1"=>"Schlüsseltyp","2"=>"Level","3"=>"Besitzer");
|
|
143 |
for ($i=1; $i<3; $i++)
|
|
144 |
{
|
|
145 |
echo "$i. <select name='ky[sort$i]'>\n";
|
|
146 |
foreach ($sort as $key=>$val)
|
|
147 |
{
|
|
148 |
$rsort = "sort" . $i;
|
|
149 |
if ($ky[$rsort] == $val) $select = "selected='selected'"; else $select = "";
|
|
150 |
echo "<option $select value='$key'>$val</option>\n";
|
|
151 |
}
|
|
152 |
echo "</select> \n";
|
|
153 |
}
|
|
154 |
echo "</td></tr>\n";
|
|
155 |
|
|
156 |
$azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
|
|
157 |
echo "<tr><td>Zeilen/Seite?</td><td><select name='ky[z]'>\n";
|
|
158 |
if (!$ky['z']) $ky['z'] = 9999;
|
|
159 |
foreach ($azeil as $key=>$val)
|
|
160 |
{
|
|
161 |
if ($key == $ky['z']) $select = "selected='selected'"; else $select = "";
|
|
162 |
echo "<option $select value='$key'>$val</option>\n";
|
|
163 |
}
|
|
164 |
echo "</select></td></tr>\n";
|
|
165 |
|
|
166 |
?>
|
|
167 |
<tr>
|
|
168 |
<td> </td>
|
|
169 |
<td><input class="button" type="submit" name="search" value="Bericht erstellen"/></td>
|
|
170 |
</tr>
|
|
171 |
</table>
|
|
172 |
</div>
|
|
173 |
</form>
|
|
174 |
<?php
|
|
175 |
|
|
176 |
}
|
|
177 |
else
|
|
178 |
{
|
|
179 |
echo "<div align='center'>\n";
|
|
180 |
|
|
181 |
$lim = " LIMIT $start,$zeil";
|
|
182 |
$where = "";
|
|
183 |
if ($ky["kt"]> -1)
|
|
184 |
$where = " h.keytyp_ID = '$ky[kt]' ";
|
|
185 |
if ($where) $where = " AND ($where)";
|
|
186 |
/*
|
|
187 |
if ($ky["dep"]> -1)
|
|
188 |
$where .= " AND (h.depot_ID = '$ky[dep]' OR h.depot_ID IS NULL)";
|
|
189 |
*/
|
|
190 |
if ($ky["dep"] > -1)
|
|
191 |
{
|
|
192 |
$sql = "SELECT DISTINCT keytyp_ID FROM Keytyp_Depot WHERE depot_ID = '".$ky["dep"]."'";
|
|
193 |
$res = $dbc -> queryObjectArray($sql);
|
|
194 |
foreach ($res as $row)
|
|
195 |
$akeyt[] = $row->keytyp_ID;
|
|
196 |
$strkt = "'". implode("','",$akeyt) ."'";
|
|
197 |
$wherk = " AND h.keytyp_ID IN ($strkt) ";
|
|
198 |
$wherd = " AND h.depot_ID = '".$ky["dep"]."'";
|
|
199 |
}
|
|
200 |
if ($ky["sort1"]>0 || $ky["sort2"]>0)
|
|
201 |
{
|
|
202 |
if ($ky["sort1"]>0) $ord = " ORDER BY " . $ky["sort1"];
|
|
203 |
if ($ky["sort2"]>0) $ord .= ",".$ky["sort2"];
|
|
204 |
}
|
|
205 |
|
|
206 |
$sql = "SELECT h.keytyp_ID, key_level,
|
|
207 |
CONCAT (nachname, ', ',vorname, ', ' , IFNULL(abt_name,''),' (',CASE aktiv WHEN 0 THEN 'inaktiv' ELSE 'aktiv' END, ')') AS keyowner, h.depot_ID, 'ma' AS tab,
|
|
208 |
SUM(CASE WHEN pers_action='get' THEN IFNULL(pers_anz,0) ELSE 0 END) - SUM(CASE WHEN pers_action='out' THEN IFNULL(pers_anz,0) ELSE 0 END) - SUM(CASE WHEN pers_action='lost' THEN IFNULL(pers_anz,0) ELSE 0 END) AS bestand
|
|
209 |
FROM fhiiqm.Mitarbeiter m
|
|
210 |
INNER JOIN Keytyp_MA h ON m.persknr=h.persknr
|
|
211 |
INNER JOIN Keytyp k ON h.keytyp_ID = k.keytyp_ID
|
|
212 |
LEFT OUTER JOIN Abteilung a ON m.abt_tel=a.abt_ID
|
|
213 |
WHERE m.aktiv<2
|
|
214 |
GROUP BY h.keytyp_ID, key_level,keyowner
|
|
215 |
HAVING bestand > 0 $where $wherk
|
|
216 |
UNION
|
|
217 |
SELECT h.keytyp_ID, key_level,CONCAT(depot_ID,'-Depot') AS keyowner, h.depot_ID, 'dep' AS tab,
|
|
218 |
SUM(CASE WHEN depot_action='get' THEN IFNULL(depot_anz,0) ELSE 0 END) - SUM(CASE WHEN depot_action='out' THEN IFNULL(depot_anz,0) ELSE 0 END) - SUM(CASE WHEN depot_action='lost' THEN IFNULL(depot_anz,0) ELSE 0 END) AS bestand
|
|
219 |
FROM fhiiqm.Keytyp_Depot h INNER JOIN Keytyp k ON h.keytyp_ID = k.keytyp_ID
|
|
220 |
GROUP BY h.keytyp_ID, key_level,keyowner
|
|
221 |
HAVING bestand > 0 $where $wherd";
|
|
222 |
$ianz = $dbc -> numrows($sql);
|
|
223 |
$sql .= $ord . $lim;
|
|
224 |
//echo $sql . "<br />";
|
|
225 |
$result = $dbc ->queryObjectArray($sql);
|
|
226 |
if ($dbc -> error)
|
|
227 |
{
|
|
228 |
echo "error SELECT: " . $dbc -> error . "<br /><br />";
|
|
229 |
echo "sql = $sql<br />\n";
|
|
230 |
}
|
|
231 |
$krit = "";
|
|
232 |
if ($ky["kt"] > -1)
|
|
233 |
{
|
|
234 |
$krit = " [Schlüsseltyp = <b>'".$ky["kt"]."'</b>]";
|
|
235 |
}
|
|
236 |
if ($ky["dep"] > -1)
|
|
237 |
{
|
|
238 |
if ($krit > " ") $bd = " UND"; else $bd = "";
|
|
239 |
$krit .= $bd ." [Depot = <b>'".$ky["dep"]."'</b>]";
|
|
240 |
}
|
|
241 |
if ($krit )echo "Suchergebnis für $krit"; else echo "Suchergebnis\n";
|
|
242 |
printf ("<p>Anzahl Besitzer: %s</p>", $ianz);
|
|
243 |
if ($result)
|
|
244 |
{
|
|
245 |
include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
|
|
246 |
|
|
247 |
$bg1 = "#F8F8F8";
|
|
248 |
$bg2 = "#DEDFE1";
|
|
249 |
$bg = "#FFFFFF";
|
|
250 |
echo "<table border='1' cellspacing='0' cellpadding='2'>\n";
|
|
251 |
// Listenkopf
|
|
252 |
echo "<tr bgcolor='#68ACBF'>";
|
|
253 |
if ($ky["sort1"] == 2)
|
|
254 |
echo "<th>Level</th><th>Schlüsseltyp</th>";
|
|
255 |
else
|
|
256 |
echo "<th>Schlüsseltyp</th><th>Level</th>";
|
|
257 |
echo "<th>Besitzer</th><th>Anzahl</th>";
|
|
258 |
$anzt = 0;
|
|
259 |
foreach ($result as $row)
|
|
260 |
{
|
|
261 |
if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
|
|
262 |
echo "<tr bgcolor='" . $bg . "'>";
|
|
263 |
if ($ky["sort1"] == 2)
|
|
264 |
echo "<td>$row->key_level</td><td>$row->keytyp_ID</td>";
|
|
265 |
else
|
|
266 |
echo "<td>$row->keytyp_ID</td><td>$row->key_level</td>";
|
|
267 |
if ($row->tab == 'dep') $cl = " class = 'bold'"; else $cl = "";
|
|
268 |
echo "<td$cl>$row->keyowner</td>";
|
|
269 |
echo "<td class='right'>$row->bestand</td>";
|
|
270 |
echo "</tr>";
|
|
271 |
$anzt += $row->bestand;
|
|
272 |
}
|
|
273 |
echo "<tr><td colspan='2'> </td><td>Summe</td><td class='right'>$anzt</td></tr>";
|
|
274 |
echo "</table>\n";
|
|
275 |
echo "<p></p><table width=40%><tr><td class='right'><a href=\"javascript:window.print()\" class='sc'>
|
|
276 |
<img src=\"/fhiiqm/img/printer.png\" alt=\"Bericht drucken\" border=\"0\" align=\"right\" title=\"Bericht drucken\"></a></td></tr></table>";
|
|
277 |
echo "</div>\n";
|
|
278 |
|
|
279 |
echo "<br /> ";
|
|
280 |
if ($search != 2) // Aufruf aus fhiiqm
|
|
281 |
{
|
|
282 |
// Parameter aus $_GET fuer weitere Seiten
|
|
283 |
$_GET["s"] = 1; // bewirkt weitere Suche
|
|
284 |
foreach ($_GET as $key=>$val)
|
|
285 |
{
|
|
286 |
if ($key != "st") $liste .= "&" . $key ."=".$val;
|
|
287 |
}
|
|
288 |
// Links auf andere Seiten generieren
|
|
289 |
liste_links($start,$zeil,$ianz,$liste);
|
|
290 |
}
|
|
291 |
}
|
|
292 |
else
|
|
293 |
{
|
|
294 |
echo "<p class='red'> Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
|
|
295 |
echo "</div>\n";
|
|
296 |
echo "<br /> ";
|
|
297 |
}
|
|
298 |
echo "<span class='sc'>";
|
|
299 |
echo "<br /><br /> <a href=\"/fhiiqm/keytyp_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
|
|
300 |
echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Übersicht Keytyp\" class=\"sc\">neuer Bericht Bestand Schlüsseltyp gesamt</a>\n";
|
|
301 |
echo "</span>";
|
|
302 |
}
|
|
303 |
?>
|
|
304 |
</body>
|
|
305 |
</html> |