fhiiqm/report/info_report_gvp.php
changeset 25 482252ff12fd
child 26 3c1e3ac7089f
--- /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&auml;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 "&nbsp;";  
+    echo "<div class=\"float-br smaller sc\" valign='top'>";
+    echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
+    echo "&nbsp;&nbsp;&nbsp;<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&auml;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(" ","&nbsp;",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>&nbsp;</td>
+                <td colspan='3'><input class=\"button\" type=\"submit\" name=\"create\" value=\"Bericht erstellen\"></td>
+            </tr>
+            </table>\n
+            </form>\n
+            </div>\n";
+        
+//        echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/vertrag_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>&laquo; zur Berichts&uuml;bersicht</a></p>\n";    
+    }    
+    else
+    {
+        // Auswertung Kriterien
+//        if ($inf["ityp"]) $ityp = "'" . $inf["ityp"] . "'"; else $ityp = "''";
+        echo "<span  class=\"sc\"><br />&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Report Info 1\">neuer Bericht 
+        GVP Produkt</a>&nbsp;|&nbsp;<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&auml;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:&nbsp;&nbsp;&nbsp;$ianz</p>";
+         
+            if ($report == 'k')
+            {
+                $start = true;
+                if (!$start) echo "</table>\n<p style=\"page-break-after:always\">&nbsp;</p>";
+                echo "<div class='pr' align='center'><h3>Gesch&auml;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&auml;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\">&nbsp;</p>";
+                        echo "<div class='pr' align='center'><h3>Gesch&auml;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,'&nbsp;') 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&auml;ndigkeit</th>";
+                		$bg1 = "#F8F8F8";
+                		$bg2 = "#DEDFE1";
+                		$bg = "#FFFFFF";
+                    }
+                    if ($row->prodid != $vprodid && $pg == $vpg) echo "<tr><td colspan='5'>&nbsp;</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'>&nbsp;&nbsp;&nbsp;Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
+        
+        echo "</div>\n";
+        echo "<span  class=\"sc\"><br />&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Report Info 1\">neuer Bericht 
+        GVP Produkt</a>&nbsp;|&nbsp;<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