fhiiqm/report/info_report_gvp.php
changeset 25 482252ff12fd
child 26 3c1e3ac7089f
equal deleted inserted replaced
24:15f33315f045 25:482252ff12fd
       
     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&auml;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 "&nbsp;";  
       
    53     echo "<div class=\"float-br smaller sc\" valign='top'>";
       
    54     echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
       
    55     echo "&nbsp;&nbsp;&nbsp;<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&auml;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(" ","&nbsp;",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>&nbsp;</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>&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/vertrag_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>&laquo; zur Berichts&uuml;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 />&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Report Info 1\">neuer Bericht 
       
   132         GVP Produkt</a>&nbsp;|&nbsp;<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&auml;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:&nbsp;&nbsp;&nbsp;$ianz</p>";
       
   193          
       
   194             if ($report == 'k')
       
   195             {
       
   196                 $start = true;
       
   197                 if (!$start) echo "</table>\n<p style=\"page-break-after:always\">&nbsp;</p>";
       
   198                 echo "<div class='pr' align='center'><h3>Gesch&auml;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&auml;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\">&nbsp;</p>";
       
   265                         echo "<div class='pr' align='center'><h3>Gesch&auml;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,'&nbsp;') 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&auml;ndigkeit</th>";
       
   284                 		$bg1 = "#F8F8F8";
       
   285                 		$bg2 = "#DEDFE1";
       
   286                 		$bg = "#FFFFFF";
       
   287                     }
       
   288                     if ($row->prodid != $vprodid && $pg == $vpg) echo "<tr><td colspan='5'>&nbsp;</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'>&nbsp;&nbsp;&nbsp;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 />&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Report Info 1\">neuer Bericht 
       
   315         GVP Produkt</a>&nbsp;|&nbsp;<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>