fhiiqm/report/info_report_gvp.php
author Bettina Schwarzer
Fri, 20 Dec 2013 15:19:32 +0100
changeset 41 9c668cd391fa
parent 33 f1a8785434e4
child 43 70cea8f0e807
permissions -rw-r--r--
+ Gast als MA-Typ, Erweiterungen Projekt, Key, Telefonliste

<?php

/**
 * @author Bettina Schwarzer, Fritz-Haber-Institut
 * @copyright 02/2012
 * 
 * Report Info (GVP)
 * 
 */

    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>Status Freigabe</td>";
            echo "<td><select name='inf[stat]'>";
                if ($inf["stat"] == -1) $select = " selected "; else $select = "";
                echo "<option $select value=\"-1\"></option>\n";
                $sql = "SELECT info_freigabe_ID, info_freigabe_bez FROM Info_Freigabe ORDER BY 2";
                if ($result = $dbc->queryObjectArray($sql))
                {
                    $select = "";
                    foreach ($result as $row)
                    {
                        if (isset($inf["stat"])) $select = ($row->info_freigabe_ID == $inf["stat"] ) ? ' selected' : null;
            			   echo "<option $select value=\"$row->info_freigabe_ID\">$row->info_freigabe_ID - $row->info_freigabe_bez</option>\n";
                    }
                }
            echo "</select></td></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\">";
        echo "<br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/info_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>&laquo; zur Berichts&uuml;bersicht</a>";
        echo "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "?r=$report\" target=\"_self\" title=\"Report Info GVP\">neuer Bericht GVP </a></span>\n";
        if ($inf['stat'] > -1) // Status Freigabe
        {
            $stat = $inf['stat'];
            $statb = $dbc -> querySingleItem("SELECT info_freigabe_bez FROM Info_Freigabe WHERE info_freigabe_ID=$stat");
        }
        else $stat = "''";
        if ($report == 'k')
        {
            if ($inf["kz"] && $inf["kz"] > "!") $kz = "'".$inf["kz"]."'";
            else $kz = "''";
            // Parameter: 4:ifotyp=6, 15:Kz, 16:freigabe
            $sql = "CALL info_report(15,'',4,6,15,$kz,16,$stat,0,100,@anz)";
    
            $result = $dbc ->queryObjectArray($sql);
            if ($dbc -> error) echo "$sql<br />".$dbc -> error."<br />";
    
            if ($kz > "''") $filter = "Filter: [Kennzeichen wie $kz]"; else $filter = "Filter: []";
            $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;
            // Parameter: 4:ifotyp=6, 5:produkt, 16:freigabe
            // es wird immer nach Kennzeichen Info sortiert
            $sql = "CALL info_report($sor,'',4,6,5,$prod,16,$stat,0,500,@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";
        }
        if ($statb) $filter = ($filter > " ") ? "$filter UND [Status Freigabe = $statb]" : "[Status Freigabe = $statb]";
        
        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='35%'>Teilgebiet (kurzinfo)</th>";
                echo "<th colspan='2'>Zust&auml;ndigkeit</th>";
                if ($stat == "''") echo "<th>Status</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>".nl2br($row->ilong)."</td>";
                    if (strtoupper(substr($row->infsort,0,2)) == 'BK' && $row->betrag)
                    {
                        $colsp="";
                        $betr = "<td class='right'>max. ".number_format($row->betrag,2,",",".")." &euro;</td>";
                    }
                    else {$colsp = " colspan='2'"; $betr="";}
                    echo "<td$colsp>".str_replace(";","<br />",$row->verantw)."</td>";
                    echo $betr;
                    if ($stat == "''") echo "<td>$row->freigabe</td>";
                    echo "</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 + Bemerkung
                        $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 (kurzinfo)</th>";
//                        echo "<th width='40%'>Kurzinfo</th>";
                        echo "<th colspan='2'>Zust&auml;ndigkeit</th>";
                        if ($stat == "''") echo "<th>Status</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>";
                    if (strtoupper(substr($row->infsort,0,2)) == 'BK' && $row->betrag)
                    {
                        $colsp="";
                        $betr = "<td class='right'>max. ".number_format($row->betrag,2,",",".")." &euro;</td>";
                    }
                    else {$colsp = " colspan='2'"; $betr="";}
                    echo "<td$colsp>".str_replace(";","<br />",$row->verantw)."</td>";
                    echo $betr;
                    if ($stat == "''") echo "<td>$row->freigabe</td>";
                    echo "</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\">";
        echo "<br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/info_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>&laquo; zur Berichts&uuml;bersicht</a>";
        echo "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href=\"" . $_SERVER["PHP_SELF"] . "?r=$report\" target=\"_self\" title=\"Report Info GVP\">neuer Bericht GVP </a></span>\n";
    }

?>

</body>
</html>