fhiiqm/prod_hier.php
changeset 17 f990704af47b
parent 14 32203b8f40ee
child 20 5877137431e4
--- a/fhiiqm/prod_hier.php	Fri Oct 14 15:37:47 2011 +0200
+++ b/fhiiqm/prod_hier.php	Fri Nov 04 11:18:11 2011 +0100
@@ -22,6 +22,15 @@
         header("Location: start.php");
         exit;
     }    
+    // Recht Produktgruppe beruecksichtigen
+    if (is_array($_SESSION["prodg"]))
+    {
+        foreach ($_SESSION["prodg"] as $val)
+            $listg .= "," .$val;
+        $listg = substr($listg,1);
+    }
+    else
+        $listg="";
     
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -49,11 +58,11 @@
     include_once("inc/dbconnect.inc.php");
 	$dbc = new dbconnection();
 
-    echo "<div align='center'>\n";
     
     if (!$submit)
     {
-    ?>
+        echo "<div align='center'>\n";
+   ?>
         <p><b>Suche Produkthierarchie</b><br /><br />
             Sie können einen Produktbereich und/oder eine Produktgruppe wählen oder<br />
             die gesamte Hierarchie anschauen, indem Sie nur auf 'suchen' klicken.  
@@ -67,7 +76,13 @@
                 <?php 
                     if ($prods['ber'] == 0) $select = " selected "; else $select = "";
                     echo "<option $select value=\"0\"></option>\n";
-                    $sql = "SELECT prod_ber_ID, prod_ber_name FROM Produkt_Bereich ORDER BY 2";
+                    if ($listg > "")
+                        $sql = "SELECT DISTINCT b.prod_ber_ID,prod_ber_name FROM
+                                fhiiqm.Produkt_Bereich b INNER JOIN fhiiqm.Produkt_Gruppe g ON b.prod_ber_ID=g.prod_ber_ID
+                                WHERE prod_group_ID IN ($listg)
+                                ORDER BY 2";
+                    else
+                        $sql = "SELECT prod_ber_ID, prod_ber_name FROM Produkt_Bereich ORDER BY 2";
                     if ($result = $dbc->queryObjectArray($sql))
                     {
                         foreach ($result as $row)
@@ -88,7 +103,16 @@
                 <?php 
                     if ($prods['grp'] == 0) $select = " selected "; else $select = "";
                     echo "<option $select value=\"0\"></option>\n";
-                    if (isset($prods['ber'])) $where = "WHERE prod_ber_ID = " . $prods['ber']; else $where = "";
+                    if (isset($prods['ber']))
+                    { 
+                        $where = "WHERE prod_ber_ID = " . $prods['ber'];
+                        if ($listg > "")
+                            $where = "WHERE prod_group_ID IN ($listg) ";
+                    }     
+                    elseif ($listg > "")
+                        $where = "WHERE prod_group_ID IN ($listg) ";
+                    else 
+                        $where = "";
                     $sql = "SELECT prod_group_ID, prod_group_name, prod_group_hier FROM Produkt_Gruppe $where ORDER BY 2";
                     if ($result = $dbc->queryObjectArray($sql))
                     {
@@ -117,6 +141,8 @@
     }
     else
     {
+        echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"prod_hier.php\" target=\"_self\" title=\"Produkthierarchie\">neue Suche Produkthierarchie</a></p>\n";    
+        echo "<div align='center'>\n";
         if ($prods['ber'] || $prods['grp'])
         {
             if (!$prods['grp']) $prods['grp']=0;
@@ -128,41 +154,50 @@
             $prods['grp']=0;
         }
         
+        // Recht Produktgruppe beruecksichtigen
+        if ($listg > "")
+        {
+            if ($prods['grp'])    
+                $sql = "CALL fhiiqm.hier_prodgroup('" . $prods['grp'] ."')";
+            else                
+                $sql = "CALL fhiiqm.hier_prodgroup('$listg')";                
+        }
+        else 
         $sql = "CALL prod_hiera_all(" .$prods['ber'].",".$prods['grp'].")";
-    		if ($result = $dbc->queryObjectArray($sql))
-    		{
-    //			printf ("<p>Es wurden %s Saetze gefunden.</p>", $dbc->numrows($sql));
-    			$bg1 = "#F8F8F8";
-    			$bg2 = "#DEDFE1";
-    			$bg = "#FFFFFF";
-    			echo "<p><b>Produkthierarchie</b></p>\n";
-                echo "<p>Die Produkte (unterste Hierarchieebene) können Sie mittels Klick auf '<img src=\"img/edit.gif\" alt='edit' title='edit' border='0'/>' editiern</p>\n";
-    			echo "<table cellpadding='2'>";
-    			echo "<tr bgcolor='#68ACBF'><th align='left'>Hierar.</th><th>&nbsp;</th>
-    				<th align='left'>Produkt-Kategorie</th><th align='left'>AG (Abteilung)</th><th align='left'>Wichtigkeit</th><th align='left'>Bindungsst&auml;rke</th><th align='left'>Bemerkung</th></tr>\n";
-    			foreach($result as $row)
-    			{
-    				if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
-                    if (strlen($row->bez) > 70) 
-                        $prod=str_replace(" ","&nbsp;&nbsp;",htmlentities(substr($row->bez,0,70))) ."..."; 
-                    else 
-                        $prod=str_replace(" ","&nbsp;&nbsp;",htmlentities($row->bez));
-                    if ($row->level == 4)
-                        $hier="<a href='produkt_upd.php?uid=$row->prid'><img src=\"img/edit.gif\" alt='edit' title='edit' border='0'/></a>";
-                    else
-                        $hier="&nbsp;";
-    				print "<tr bgcolor='" . $bg . "'><td>$row->hier</td><td> $hier</td>
-                        <td>$prod</td><td>$row->ag</td><td>$row->imp</td><td>$row->conn</td><td>$row->bem</td></tr>";
-    			}
-    				echo "</table>\n";
-    //			$dbc->close();
-    		}
-    		else
-    			echo "leider kein Ergebnis!<br>\n";
-    		if ($result = $dbc -> querySingleItem("SELECT COUNT(*) FROM produkt"))
-    		{
-    			echo "<p>Tabelle 'produkt' enthaelt $result Eintraege</p>\n";
-    		}
+		if ($result = $dbc->queryObjectArray($sql))
+		{
+//			printf ("<p>Es wurden %s Saetze gefunden.</p>", $dbc->numrows($sql));
+			$bg1 = "#F8F8F8";
+			$bg2 = "#DEDFE1";
+			$bg = "#FFFFFF";
+			echo "<p><b>Produkthierarchie</b></p>\n";
+            echo "<p>Die Produkte (unterste Hierarchieebene) können Sie mittels Klick auf '<img src=\"img/edit.gif\" alt='edit' title='edit' border='0'/>' editiern</p>\n";
+			echo "<table cellpadding='2'>";
+			echo "<tr bgcolor='#68ACBF'><th align='left'>Hierar.</th><th>&nbsp;</th>
+				<th align='left'>Produkt-Kategorie</th><th align='left'>AG (Abteilung)</th><th align='left'>Wichtigkeit</th><th align='left'>Bindungsst&auml;rke</th><th align='left'>Bemerkung</th></tr>\n";
+			foreach($result as $row)
+			{
+				if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+                if (strlen($row->bez) > 70) 
+                    $prod=str_replace(" ","&nbsp;&nbsp;",htmlentities(substr($row->bez,0,70))) ."..."; 
+                else 
+                    $prod=str_replace(" ","&nbsp;&nbsp;",htmlentities($row->bez));
+                if ($row->level == 4)
+                    $hier="<a href='produkt_upd.php?uid=$row->prid'><img src=\"img/edit.gif\" alt='edit' title='edit' border='0'/></a>";
+                else
+                    $hier="&nbsp;";
+				print "<tr bgcolor='" . $bg . "'><td>$row->hier</td><td> $hier</td>
+                    <td>$prod</td><td>$row->ag</td><td>$row->imp</td><td>$row->conn</td><td>$row->bem</td></tr>";
+			}
+				echo "</table>\n";
+//			$dbc->close();
+		}
+		else
+			echo "leider kein Ergebnis!<br>\n";
+/*    		if ($result = $dbc -> querySingleItem("SELECT COUNT(*) FROM Produkt"))
+		{
+			echo "<p>Tabelle 'produkt' enthaelt $result Eintraege</p>\n";
+		} */
         echo "</div>\n";
         echo "<p>&nbsp;&nbsp;&nbsp;<a href=\"prod_hier.php\" target=\"_self\" title=\"Produkthierarchie\">neue Suche Produkthierarchie</a></p>\n";    
         if (!is_null($_SESSION["recht"]) && in_array("pe",$_SESSION["recht"]))