--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/report/info_report_gvp.php Thu Apr 05 15:35:43 2012 +0200
@@ -0,0 +1,321 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 02/2012
+ *
+ * Report Info
+ *
+ */
+
+ error_reporting(E_ALL ^ E_NOTICE);
+
+ session_start();
+ if (! isset($_SESSION["userid"]))
+ {
+ include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+ login($_SERVER["PHP_SELF"]);
+ exit;
+ }
+
+ if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("ir",$_SESSION["recht"]) && !in_array("ie",$_SESSION["recht"])))
+ {
+ header("Location: start.php");
+ exit;
+ }
+
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <link href="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
+ <link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
+
+ <title>Geschäftsverteilungsplan</title>
+</head>
+
+<body >
+
+<?php
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
+
+ $dbc = new dbconnection();
+
+ $report = $_GET["r"]; // Berichtstyp: 'p' -> Produkte, 'k' -> Kennzahlen
+ $create = $_POST["create"];
+ $inf = $_POST["inf"];
+// $sort = array("-1"=>"","15"=>"Kennzeichen","2"=>"Teilgebiet");
+
+ echo " ";
+ echo "<div class=\"float-br smaller sc\" valign='top'>";
+ echo " user: " . $_SESSION["userid"];
+ echo " <a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
+ echo "<div class=\"float-r sc\"><img src=\"/fhiiqm/img/document_image_ver.png\" border=\"0\" alt=\"Infodaten\" title=\"Infodaten\"/></div>\n";
+
+ if (!isset($create) || !$create)
+ { // Form Kriterien
+ echo "<div align=\"center\">";
+ echo "<h3>Geschäftsverteilungsplan</h3>\n";
+
+ echo "<p>Bitte die Kriterien für den Bericht wählen</p>\n";
+
+ echo "<form action=\"". $_SERVER['PHP_SELF'] ."?r=$report\" method=\"post\" enctype=\"application/x-www-form-urlencoded\" name=\"form_inf\">\n";
+ echo "<table width=\"30%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n";
+ echo "<tr>";
+// echo "<tr><td>Infotyp wie</td><td><input name='inf[ityp]' type='text' size='10' maxlength='50' value='". $inf['ityp'] ."' /></td>";
+ if ($report == 'k')
+ {
+ echo "<td>Kennzeichen wie</td><td><input name='inf[kz]' type='text' size='10' maxlength='10' value='". $inf['kz'] ."' /></td>";
+ }
+ else
+ {
+ echo "<td>Produktbereich</td>";
+ echo "<td><select name='inf[prodb]'>";
+ if (is_array($inf['prodb'])) $select = in_array( "-1", $inf['prodb'] ) ? ' selected' : null;
+ echo "<option $select value=\"-1\"></option>\n";
+ $sql = "SELECT prod_ber_ID,prod_ber_name FROM Produkt_Bereich ORDER BY 1";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ foreach ($result as $row)
+ {
+ $prod=str_replace(" "," ",htmlentities($row->prod_ber_name));
+ if (is_array($inf['prodb'])) $select = in_array($row->prod_ber_ID, $inf['prodb']) ? ' selected' : null;
+ echo "<option $select value=\"|$row->prod_ber_ID|\">$row->prod_ber_ID $prod</option>\n";
+ }
+ }
+ echo "</select></td></tr>";
+ echo "<tr><td>Produktgruppe</td>";
+ echo "<td><select name='inf[prodg]'>";
+ if ($inf["prodg"] == -1) $select = " selected "; else $select = "";
+ echo "<option $select value=\"-1\"></option>\n";
+ $sql = "SELECT prod_group_ID, prod_group_name, prod_group_hier FROM Produkt_Gruppe ORDER BY 3";
+ if ($result = $dbc->queryObjectArray($sql))
+ {
+ $select = "";
+ foreach ($result as $row)
+ {
+ if (isset($inf["prodg"])) $select = ($row->prod_group_ID == $inf["prodg"] ) ? ' selected' : null;
+ echo "<option $select value=\"|$row->prod_group_ID|\">$row->prod_group_hier $row->prod_group_name</option>\n";
+ }
+ }
+ echo "</select></td>";
+ echo
+ "</tr>\n";
+ }
+/* echo "<tr><td>Sortierung nach</td>";
+ echo "<td><select name='inf[sort]'>";
+ foreach ($sort as $key=>$val)
+ {
+ if ($inf["sort"] == $key) $select= " selected"; else $select = "";
+ echo "<option$select value='$key'>$val</option>\n";
+ }
+ echo "</select></td></tr>";
+*/
+ echo " <tr>
+ <td> </td>
+ <td colspan='3'><input class=\"button\" type=\"submit\" name=\"create\" value=\"Bericht erstellen\"></td>
+ </tr>
+ </table>\n
+ </form>\n
+ </div>\n";
+
+// echo "<p> <a href=\"/fhiiqm/vertrag_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a></p>\n";
+ }
+ else
+ {
+ // Auswertung Kriterien
+// if ($inf["ityp"]) $ityp = "'" . $inf["ityp"] . "'"; else $ityp = "''";
+ echo "<span class=\"sc\"><br /> <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Report Info 1\">neuer Bericht
+ GVP Produkt</a> | <a href=\"" . $_SERVER["PHP_SELF"] . "?r=k\" target=\"_self\" title=\"Report Info 2\">GVP Kennzeichen</a></span>\n";
+ if ($report == 'k')
+ {
+ if ($inf["kz"] && $inf["kz"] > "!") $kz = "'".$inf["kz"]."'";
+ else $kz = "''";
+ $sql = "CALL info_report(15,'',4,6,15,$kz,0,100,@anz)";
+
+ $result = $dbc ->queryObjectArray($sql);
+ if ($dbc -> error) echo "$sql<br />".$dbc -> error."<br />";
+
+ $filter = "Filter : [Kennzeichen wie $kz]";
+ $kz =" nach Kennzeichen";
+ }
+ else
+ {
+ if ($inf["prodb"] && $inf["prodb"] != '-1')
+ {
+ $prodb = $inf["prodb"];
+ $sql = "SELECT prod_ber_name FROM Produkt_Bereich WHERE prod_ber_ID = REPLACE('" .$inf["prodb"] ."','|','')";
+ $prodbb = $dbc -> querySingleItem($sql);
+ }
+ else $prodb = "''";
+ if ($inf["prodg"] && $inf["prodg"] != '-1')
+ {
+ $prodg = $inf["prodg"];
+ $sql = "SELECT prod_group_name FROM Produkt_Gruppe WHERE prod_group_ID = REPLACE('" .$inf["prodg"] ."','|','')";
+ $prodgb = $dbc -> querySingleItem($sql);
+ }
+ else $prodg = "''";
+ if ($prodb > "''" && $prodg > "''") $prod = "'" . $prodg . substr($prodb,1) . "'";
+ elseif ($prodb > "''" && $prodg == "''") $prod = "'" . $prodb . "'";
+ elseif ($prodb == "''" && $prodg > "''") $prod = "'" . $prodg . "'";
+ else $prod = "''";
+
+ if ($inf["sort"] && $inf["sort"] != '-1') $sor = $inf["sort"]; else $sor=15;
+ // es wird immer nach Kennzeichen Info sortiert
+ $sql = "CALL info_report($sor,'',4,6,5,$prod,0,100,@anz)";
+
+ $result = $dbc ->queryObjectArray($sql);
+ if ($dbc -> error) echo "$sql<br />".$dbc -> error."<br />";
+ //Filteranzeige
+ if ($prodbb && $prodgb)
+ $filter = "[Produktbereich = $prodbb] UND [Produktgruppe = $prodgb]";
+ elseif ($prodbb && !$prodgb)
+ $filter = "[Produktbereich = $prodbb]";
+ elseif (!$prodbb && $prodgb)
+ $filter = "[Produktgruppe = $prodgb]";
+ else $filter = "[]";
+ $filter = "Filter : $filter";
+ }
+
+ echo "<div class='sc' align='center'><h3>Geschäftsverteilungsplan$kz</h3></div>\n"; // Anzeige nur Screen
+ echo "<div align='center'>\n";
+
+// echo "<p>Kriterien: Infotyp wie $ityp, Produktbereich = '" .$prodbb. "', Produktgruppe = '" .$prodgb. "'; Sortierung nach ".$sort[$sor] . " </p>";
+
+ if ($result)
+ {
+ echo "<p class='sc'>$filter</p>";
+ $ianz = $dbc -> querySingleItem("SELECT @anz");
+ echo "<p class='sc'>Anzahl Aufgaben: $ianz</p>";
+
+ if ($report == 'k')
+ {
+ $start = true;
+ if (!$start) echo "</table>\n<p style=\"page-break-after:always\"> </p>";
+ echo "<div class='pr' align='center'><h3>Geschäftsverteilungsplan nach Kennzeichen</h3></div>\n"; // Anzeige nur im Ausdruck
+ echo "<table border='1' cellspacing='0' cellpadding='2' width=99%>\n";
+ // Listenkopf
+ echo "<tr bgcolor='#68ACBF'>";
+ echo "<th width='5%'>Kennzeichen</th>";
+ echo "<th width='10%'>Produktgruppe</th>";
+ echo "<th width='25%'>Aufgabe (prod)</th>";
+ echo "<th width='25%'>Teilgebiet (info)</th>";
+ echo "<th>Zuständigkeit</th>";
+ $bg1 = "#F8F8F8";
+ $bg2 = "#DEDFE1";
+ $bg = "#FFFFFF";
+ foreach ($result as $row)
+ {
+ //nur jeweils eine Produktzuordnung zu Info
+ list($prod,$pg,$pb) = explode ('|',$row->prod); // prodgroup, prodbereich stehen innerhalb von |-Zeichen in prod
+ if ($pg != $pgv)
+ {
+ // Produktgruppenname
+ $sql = "SELECT prod_group_name FROM Produkt_Gruppe WHERE prod_group_ID IN ($pg)";
+ $pgb = $dbc -> querySingleItem($sql);
+ //$start = false;
+ }
+ if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+ echo "<tr bgcolor='" . $bg . "'>";
+ echo "<td>$row->infsort</td>";
+ echo "<td>$pgb</td>";
+ echo "<td>$prod</td>";
+ echo "<td>$row->iname</td>";
+ echo "<td>".str_replace(";","<br />",$row->verantw)."</td></tr>\n";
+ $pgv = $pg;
+ }
+ }
+ else
+ {
+// if ($prodgb) echo "<p><b>$prodgb<b></p>";
+ $i=0;
+ foreach ($result as $row)
+ {
+ if ($i==0)
+ {
+ $vprodid = $row->prodid;
+ }
+ $aprod = explode('; ',$row->prod);
+ $prod=null;
+ $pg=null;
+ $pb=null;
+ foreach ($aprod as $eprod)
+ {
+ list($pro,$prg,$prb) = explode ('|',$eprod); // prodgroup, prodbereich stehen innerhalb von |-Zeichen in prod
+ $prod .= $pro . "; ";
+ $pg .= $prg . ",";
+ $pb .= $prb . ",";
+ }
+ // es wird angenommen, dass jeweils nur 1 Produkt/Info zugeordnet ist
+ $prod = substr($prod,0,strlen($prod)-2);
+ $pg = substr($pg,0,strlen($pg)-1);
+ $pb = substr($pb,0,strlen($pb)-1);
+//echo "prod = $prod, pg = $pg, pb = $pb <br />";
+ if ($pb != $vpb)
+ {
+ $sql = "SELECT prod_ber_name FROM Produkt_Bereich WHERE prod_ber_ID IN ($pb)";
+ $pberbez = $dbc -> querySingleItem($sql);
+ }
+ if ($pg != $vpg)
+ {
+ if ($i!=0) echo "</table>\n<p style=\"page-break-after:always\"> </p>";
+ echo "<div class='pr' align='center'><h3>Geschäftsverteilungsplan</h3></div>\n"; // Anzeige nur im Ausdruck
+ // Produktbereich immer anzeigen
+ echo "<p><b>$pberbez</b></p>";
+ // Produktgruppe fuer Teiliste
+ $sql = "SELECT prod_group_name,IFNULL(prod_group_bem,' ') AS bem FROM Produkt_Gruppe WHERE prod_group_ID IN ($pg)";
+ $res = $dbc -> queryObjectArray($sql);
+ if ($res)
+ foreach ($res as $ro)
+ echo "<p><b>".$ro->prod_group_name."</b></p><p>".$ro->bem."</p>";
+
+ echo "<table border='1' cellspacing='0' cellpadding='2' width=99%>\n";
+ // Listenkopf
+ echo "<tr bgcolor='#68ACBF'>";
+ echo "<th width='5%'>Kennzeichen</th>";
+// echo "<th>Infotyp</th>";
+ echo "<th width='30%'>Aufgabe (prod)</th>";
+ echo "<th width='30%'>Teilgebiet (info)</th>";
+// echo "<th width='40%'>Kurzinfo</th>";
+ echo "<th>Zuständigkeit</th>";
+ $bg1 = "#F8F8F8";
+ $bg2 = "#DEDFE1";
+ $bg = "#FFFFFF";
+ }
+ if ($row->prodid != $vprodid && $pg == $vpg) echo "<tr><td colspan='5'> </td></tr>\n"; // Leerzeile
+ if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+ echo "<tr bgcolor='" . $bg . "'>";
+ echo "<td>$row->infsort</td>";
+// echo "<td>$row->ityp</td>";
+ echo "<td>".$prod."</td>";
+ echo "<td>$row->iname</td>";
+// echo "<td>".nl2br($row->ilong)."</td>";
+ echo "<td>".str_replace(";","<br />",$row->verantw)."</td></tr>\n";
+
+ $vprodid = $row->prodid;
+ $vpg = $pg;
+ $vpb = $pb;
+ $i++;
+ }
+ }
+
+ echo "</table>\n";
+
+ echo "<p></p><table width=99%><tr><td class='right'><a href=\"javascript:window.print()\" class='sc'>
+ <img src=\"/fhiiqm/img/printer.png\" alt=\"Bericht drucken\" border=\"0\" align=\"right\" title=\"Bericht drucken\"></a></td></tr></table>";
+
+ }
+ else echo "<p class='red'> Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
+
+ echo "</div>\n";
+ echo "<span class=\"sc\"><br /> <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Report Info 1\">neuer Bericht
+ GVP Produkt</a> | <a href=\"" . $_SERVER["PHP_SELF"] . "?r=k\" target=\"_self\" title=\"Report Info 2\">GVP Kennzeichen</a></span>\n";
+ }
+
+?>
+
+</body>
+</html>
\ No newline at end of file