|
1 <?php |
|
2 |
|
3 /** |
|
4 * @author Bettina Schwarzer, Fritz-Haber-Institut |
|
5 * @copyright 02/2012 |
|
6 * |
|
7 * Report Info |
|
8 * |
|
9 */ |
|
10 |
|
11 error_reporting(E_ALL ^ E_NOTICE); |
|
12 |
|
13 session_start(); |
|
14 if (! isset($_SESSION["userid"])) |
|
15 { |
|
16 include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php"); |
|
17 login($_SERVER["PHP_SELF"]); |
|
18 exit; |
|
19 } |
|
20 |
|
21 if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("ir",$_SESSION["recht"]) && !in_array("ie",$_SESSION["recht"]))) |
|
22 { |
|
23 header("Location: start.php"); |
|
24 exit; |
|
25 } |
|
26 |
|
27 ?> |
|
28 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|
29 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
|
30 |
|
31 <head> |
|
32 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> |
|
33 <link href="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/> |
|
34 <link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/> |
|
35 |
|
36 <title>Geschäftsverteilungsplan</title> |
|
37 </head> |
|
38 |
|
39 <body > |
|
40 |
|
41 <?php |
|
42 include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php"); |
|
43 include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php"); |
|
44 |
|
45 $dbc = new dbconnection(); |
|
46 |
|
47 $report = $_GET["r"]; // Berichtstyp: 'p' -> Produkte, 'k' -> Kennzahlen |
|
48 $create = $_POST["create"]; |
|
49 $inf = $_POST["inf"]; |
|
50 // $sort = array("-1"=>"","15"=>"Kennzeichen","2"=>"Teilgebiet"); |
|
51 |
|
52 echo " "; |
|
53 echo "<div class=\"float-br smaller sc\" valign='top'>"; |
|
54 echo " user: " . $_SESSION["userid"]; |
|
55 echo " <a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n"; |
|
56 echo "<div class=\"float-r sc\"><img src=\"/fhiiqm/img/document_image_ver.png\" border=\"0\" alt=\"Infodaten\" title=\"Infodaten\"/></div>\n"; |
|
57 |
|
58 if (!isset($create) || !$create) |
|
59 { // Form Kriterien |
|
60 echo "<div align=\"center\">"; |
|
61 echo "<h3>Geschäftsverteilungsplan</h3>\n"; |
|
62 |
|
63 echo "<p>Bitte die Kriterien für den Bericht wählen</p>\n"; |
|
64 |
|
65 echo "<form action=\"". $_SERVER['PHP_SELF'] ."?r=$report\" method=\"post\" enctype=\"application/x-www-form-urlencoded\" name=\"form_inf\">\n"; |
|
66 echo "<table width=\"30%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n"; |
|
67 echo "<tr>"; |
|
68 // echo "<tr><td>Infotyp wie</td><td><input name='inf[ityp]' type='text' size='10' maxlength='50' value='". $inf['ityp'] ."' /></td>"; |
|
69 if ($report == 'k') |
|
70 { |
|
71 echo "<td>Kennzeichen wie</td><td><input name='inf[kz]' type='text' size='10' maxlength='10' value='". $inf['kz'] ."' /></td>"; |
|
72 } |
|
73 else |
|
74 { |
|
75 echo "<td>Produktbereich</td>"; |
|
76 echo "<td><select name='inf[prodb]'>"; |
|
77 if (is_array($inf['prodb'])) $select = in_array( "-1", $inf['prodb'] ) ? ' selected' : null; |
|
78 echo "<option $select value=\"-1\"></option>\n"; |
|
79 $sql = "SELECT prod_ber_ID,prod_ber_name FROM Produkt_Bereich ORDER BY 1"; |
|
80 if ($result = $dbc->queryObjectArray($sql)) |
|
81 { |
|
82 foreach ($result as $row) |
|
83 { |
|
84 $prod=str_replace(" "," ",htmlentities($row->prod_ber_name)); |
|
85 if (is_array($inf['prodb'])) $select = in_array($row->prod_ber_ID, $inf['prodb']) ? ' selected' : null; |
|
86 echo "<option $select value=\"|$row->prod_ber_ID|\">$row->prod_ber_ID $prod</option>\n"; |
|
87 } |
|
88 } |
|
89 echo "</select></td></tr>"; |
|
90 echo "<tr><td>Produktgruppe</td>"; |
|
91 echo "<td><select name='inf[prodg]'>"; |
|
92 if ($inf["prodg"] == -1) $select = " selected "; else $select = ""; |
|
93 echo "<option $select value=\"-1\"></option>\n"; |
|
94 $sql = "SELECT prod_group_ID, prod_group_name, prod_group_hier FROM Produkt_Gruppe ORDER BY 3"; |
|
95 if ($result = $dbc->queryObjectArray($sql)) |
|
96 { |
|
97 $select = ""; |
|
98 foreach ($result as $row) |
|
99 { |
|
100 if (isset($inf["prodg"])) $select = ($row->prod_group_ID == $inf["prodg"] ) ? ' selected' : null; |
|
101 echo "<option $select value=\"|$row->prod_group_ID|\">$row->prod_group_hier $row->prod_group_name</option>\n"; |
|
102 } |
|
103 } |
|
104 echo "</select></td>"; |
|
105 echo |
|
106 "</tr>\n"; |
|
107 } |
|
108 /* echo "<tr><td>Sortierung nach</td>"; |
|
109 echo "<td><select name='inf[sort]'>"; |
|
110 foreach ($sort as $key=>$val) |
|
111 { |
|
112 if ($inf["sort"] == $key) $select= " selected"; else $select = ""; |
|
113 echo "<option$select value='$key'>$val</option>\n"; |
|
114 } |
|
115 echo "</select></td></tr>"; |
|
116 */ |
|
117 echo " <tr> |
|
118 <td> </td> |
|
119 <td colspan='3'><input class=\"button\" type=\"submit\" name=\"create\" value=\"Bericht erstellen\"></td> |
|
120 </tr> |
|
121 </table>\n |
|
122 </form>\n |
|
123 </div>\n"; |
|
124 |
|
125 // echo "<p> <a href=\"/fhiiqm/vertrag_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a></p>\n"; |
|
126 } |
|
127 else |
|
128 { |
|
129 // Auswertung Kriterien |
|
130 // if ($inf["ityp"]) $ityp = "'" . $inf["ityp"] . "'"; else $ityp = "''"; |
|
131 echo "<span class=\"sc\"><br /> <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Report Info 1\">neuer Bericht |
|
132 GVP Produkt</a> | <a href=\"" . $_SERVER["PHP_SELF"] . "?r=k\" target=\"_self\" title=\"Report Info 2\">GVP Kennzeichen</a></span>\n"; |
|
133 if ($report == 'k') |
|
134 { |
|
135 if ($inf["kz"] && $inf["kz"] > "!") $kz = "'".$inf["kz"]."'"; |
|
136 else $kz = "''"; |
|
137 $sql = "CALL info_report(15,'',4,6,15,$kz,0,100,@anz)"; |
|
138 |
|
139 $result = $dbc ->queryObjectArray($sql); |
|
140 if ($dbc -> error) echo "$sql<br />".$dbc -> error."<br />"; |
|
141 |
|
142 $filter = "Filter : [Kennzeichen wie $kz]"; |
|
143 $kz =" nach Kennzeichen"; |
|
144 } |
|
145 else |
|
146 { |
|
147 if ($inf["prodb"] && $inf["prodb"] != '-1') |
|
148 { |
|
149 $prodb = $inf["prodb"]; |
|
150 $sql = "SELECT prod_ber_name FROM Produkt_Bereich WHERE prod_ber_ID = REPLACE('" .$inf["prodb"] ."','|','')"; |
|
151 $prodbb = $dbc -> querySingleItem($sql); |
|
152 } |
|
153 else $prodb = "''"; |
|
154 if ($inf["prodg"] && $inf["prodg"] != '-1') |
|
155 { |
|
156 $prodg = $inf["prodg"]; |
|
157 $sql = "SELECT prod_group_name FROM Produkt_Gruppe WHERE prod_group_ID = REPLACE('" .$inf["prodg"] ."','|','')"; |
|
158 $prodgb = $dbc -> querySingleItem($sql); |
|
159 } |
|
160 else $prodg = "''"; |
|
161 if ($prodb > "''" && $prodg > "''") $prod = "'" . $prodg . substr($prodb,1) . "'"; |
|
162 elseif ($prodb > "''" && $prodg == "''") $prod = "'" . $prodb . "'"; |
|
163 elseif ($prodb == "''" && $prodg > "''") $prod = "'" . $prodg . "'"; |
|
164 else $prod = "''"; |
|
165 |
|
166 if ($inf["sort"] && $inf["sort"] != '-1') $sor = $inf["sort"]; else $sor=15; |
|
167 // es wird immer nach Kennzeichen Info sortiert |
|
168 $sql = "CALL info_report($sor,'',4,6,5,$prod,0,100,@anz)"; |
|
169 |
|
170 $result = $dbc ->queryObjectArray($sql); |
|
171 if ($dbc -> error) echo "$sql<br />".$dbc -> error."<br />"; |
|
172 //Filteranzeige |
|
173 if ($prodbb && $prodgb) |
|
174 $filter = "[Produktbereich = $prodbb] UND [Produktgruppe = $prodgb]"; |
|
175 elseif ($prodbb && !$prodgb) |
|
176 $filter = "[Produktbereich = $prodbb]"; |
|
177 elseif (!$prodbb && $prodgb) |
|
178 $filter = "[Produktgruppe = $prodgb]"; |
|
179 else $filter = "[]"; |
|
180 $filter = "Filter : $filter"; |
|
181 } |
|
182 |
|
183 echo "<div class='sc' align='center'><h3>Geschäftsverteilungsplan$kz</h3></div>\n"; // Anzeige nur Screen |
|
184 echo "<div align='center'>\n"; |
|
185 |
|
186 // echo "<p>Kriterien: Infotyp wie $ityp, Produktbereich = '" .$prodbb. "', Produktgruppe = '" .$prodgb. "'; Sortierung nach ".$sort[$sor] . " </p>"; |
|
187 |
|
188 if ($result) |
|
189 { |
|
190 echo "<p class='sc'>$filter</p>"; |
|
191 $ianz = $dbc -> querySingleItem("SELECT @anz"); |
|
192 echo "<p class='sc'>Anzahl Aufgaben: $ianz</p>"; |
|
193 |
|
194 if ($report == 'k') |
|
195 { |
|
196 $start = true; |
|
197 if (!$start) echo "</table>\n<p style=\"page-break-after:always\"> </p>"; |
|
198 echo "<div class='pr' align='center'><h3>Geschäftsverteilungsplan nach Kennzeichen</h3></div>\n"; // Anzeige nur im Ausdruck |
|
199 echo "<table border='1' cellspacing='0' cellpadding='2' width=99%>\n"; |
|
200 // Listenkopf |
|
201 echo "<tr bgcolor='#68ACBF'>"; |
|
202 echo "<th width='5%'>Kennzeichen</th>"; |
|
203 echo "<th width='10%'>Produktgruppe</th>"; |
|
204 echo "<th width='25%'>Aufgabe (prod)</th>"; |
|
205 echo "<th width='25%'>Teilgebiet (info)</th>"; |
|
206 echo "<th>Zuständigkeit</th>"; |
|
207 $bg1 = "#F8F8F8"; |
|
208 $bg2 = "#DEDFE1"; |
|
209 $bg = "#FFFFFF"; |
|
210 foreach ($result as $row) |
|
211 { |
|
212 //nur jeweils eine Produktzuordnung zu Info |
|
213 list($prod,$pg,$pb) = explode ('|',$row->prod); // prodgroup, prodbereich stehen innerhalb von |-Zeichen in prod |
|
214 if ($pg != $pgv) |
|
215 { |
|
216 // Produktgruppenname |
|
217 $sql = "SELECT prod_group_name FROM Produkt_Gruppe WHERE prod_group_ID IN ($pg)"; |
|
218 $pgb = $dbc -> querySingleItem($sql); |
|
219 //$start = false; |
|
220 } |
|
221 if ($bg == $bg1) $bg = $bg2; else $bg = $bg1; |
|
222 echo "<tr bgcolor='" . $bg . "'>"; |
|
223 echo "<td>$row->infsort</td>"; |
|
224 echo "<td>$pgb</td>"; |
|
225 echo "<td>$prod</td>"; |
|
226 echo "<td>$row->iname</td>"; |
|
227 echo "<td>".str_replace(";","<br />",$row->verantw)."</td></tr>\n"; |
|
228 $pgv = $pg; |
|
229 } |
|
230 } |
|
231 else |
|
232 { |
|
233 // if ($prodgb) echo "<p><b>$prodgb<b></p>"; |
|
234 $i=0; |
|
235 foreach ($result as $row) |
|
236 { |
|
237 if ($i==0) |
|
238 { |
|
239 $vprodid = $row->prodid; |
|
240 } |
|
241 $aprod = explode('; ',$row->prod); |
|
242 $prod=null; |
|
243 $pg=null; |
|
244 $pb=null; |
|
245 foreach ($aprod as $eprod) |
|
246 { |
|
247 list($pro,$prg,$prb) = explode ('|',$eprod); // prodgroup, prodbereich stehen innerhalb von |-Zeichen in prod |
|
248 $prod .= $pro . "; "; |
|
249 $pg .= $prg . ","; |
|
250 $pb .= $prb . ","; |
|
251 } |
|
252 // es wird angenommen, dass jeweils nur 1 Produkt/Info zugeordnet ist |
|
253 $prod = substr($prod,0,strlen($prod)-2); |
|
254 $pg = substr($pg,0,strlen($pg)-1); |
|
255 $pb = substr($pb,0,strlen($pb)-1); |
|
256 //echo "prod = $prod, pg = $pg, pb = $pb <br />"; |
|
257 if ($pb != $vpb) |
|
258 { |
|
259 $sql = "SELECT prod_ber_name FROM Produkt_Bereich WHERE prod_ber_ID IN ($pb)"; |
|
260 $pberbez = $dbc -> querySingleItem($sql); |
|
261 } |
|
262 if ($pg != $vpg) |
|
263 { |
|
264 if ($i!=0) echo "</table>\n<p style=\"page-break-after:always\"> </p>"; |
|
265 echo "<div class='pr' align='center'><h3>Geschäftsverteilungsplan</h3></div>\n"; // Anzeige nur im Ausdruck |
|
266 // Produktbereich immer anzeigen |
|
267 echo "<p><b>$pberbez</b></p>"; |
|
268 // Produktgruppe fuer Teiliste |
|
269 $sql = "SELECT prod_group_name,IFNULL(prod_group_bem,' ') AS bem FROM Produkt_Gruppe WHERE prod_group_ID IN ($pg)"; |
|
270 $res = $dbc -> queryObjectArray($sql); |
|
271 if ($res) |
|
272 foreach ($res as $ro) |
|
273 echo "<p><b>".$ro->prod_group_name."</b></p><p>".$ro->bem."</p>"; |
|
274 |
|
275 echo "<table border='1' cellspacing='0' cellpadding='2' width=99%>\n"; |
|
276 // Listenkopf |
|
277 echo "<tr bgcolor='#68ACBF'>"; |
|
278 echo "<th width='5%'>Kennzeichen</th>"; |
|
279 // echo "<th>Infotyp</th>"; |
|
280 echo "<th width='30%'>Aufgabe (prod)</th>"; |
|
281 echo "<th width='30%'>Teilgebiet (info)</th>"; |
|
282 // echo "<th width='40%'>Kurzinfo</th>"; |
|
283 echo "<th>Zuständigkeit</th>"; |
|
284 $bg1 = "#F8F8F8"; |
|
285 $bg2 = "#DEDFE1"; |
|
286 $bg = "#FFFFFF"; |
|
287 } |
|
288 if ($row->prodid != $vprodid && $pg == $vpg) echo "<tr><td colspan='5'> </td></tr>\n"; // Leerzeile |
|
289 if ($bg == $bg1) $bg = $bg2; else $bg = $bg1; |
|
290 echo "<tr bgcolor='" . $bg . "'>"; |
|
291 echo "<td>$row->infsort</td>"; |
|
292 // echo "<td>$row->ityp</td>"; |
|
293 echo "<td>".$prod."</td>"; |
|
294 echo "<td>$row->iname</td>"; |
|
295 // echo "<td>".nl2br($row->ilong)."</td>"; |
|
296 echo "<td>".str_replace(";","<br />",$row->verantw)."</td></tr>\n"; |
|
297 |
|
298 $vprodid = $row->prodid; |
|
299 $vpg = $pg; |
|
300 $vpb = $pb; |
|
301 $i++; |
|
302 } |
|
303 } |
|
304 |
|
305 echo "</table>\n"; |
|
306 |
|
307 echo "<p></p><table width=99%><tr><td class='right'><a href=\"javascript:window.print()\" class='sc'> |
|
308 <img src=\"/fhiiqm/img/printer.png\" alt=\"Bericht drucken\" border=\"0\" align=\"right\" title=\"Bericht drucken\"></a></td></tr></table>"; |
|
309 |
|
310 } |
|
311 else echo "<p class='red'> Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>"; |
|
312 |
|
313 echo "</div>\n"; |
|
314 echo "<span class=\"sc\"><br /> <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Report Info 1\">neuer Bericht |
|
315 GVP Produkt</a> | <a href=\"" . $_SERVER["PHP_SELF"] . "?r=k\" target=\"_self\" title=\"Report Info 2\">GVP Kennzeichen</a></span>\n"; |
|
316 } |
|
317 |
|
318 ?> |
|
319 |
|
320 </body> |
|
321 </html> |