fhiiqm/report/info_allg_report.php
author Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
Fri, 16 Nov 2012 10:39:25 +0100
changeset 31 0a1eb975fbd9
parent 29 72f79dab938e
child 36 4411d3239444
permissions -rw-r--r--
+ Raumverantwortliche + Mitarbeiter - Telefon

<?php

/**
 * @author Bettina Schwarzer, Fritz-Haber-Institut
 * @copyright 07/2012
 * 
 * Report Info nach Produkt
 * 
 */
    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>Report Info</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();

    $search = $_POST["search"];
    if (!$search) $search =  $_GET["s"];
    $inf    = $_POST["inf"];

    $zeil = $inf["z"];
    if (!$zeil) $zeil = $_GET["z"];
    if (!$zeil) $zeil = 9999; // Anzahl der gezeigten Zeilen
    $start = $_GET["st"];   // Start bei DS $start+1
    if (!$start) $start=0;
    
    if (!is_array($inf))
    {
        $inf['prodb']   = $_GET['b'];
        $inf['prodg']   = $_GET['g'];
        $inf['ityp']    = $_GET['t'];
        $inf['adr']     = $_GET['a'];
        $inf['stat']    = $_GET['s'];
        $inf['bind']    = $_GET['d'];
        $inf["sort1"]   = $_GET["s1"];
        $inf["sort2"]   = $_GET["s2"];
        $inf["sort3"]   = $_GET["s3"];
    }
    if (count($_GET) == 0)
    {   // fuer weitere Seiten
        $_GET['b']      = $inf['prodb'];
        $_GET['g']      = $inf['prodg'];
        $_GET['t']      = $inf['ityp'];
        $_GET['a']      = $inf['adr'];
        $_GET['s']      = $inf['stat'];
        $_GET['d']      = $inf['bind'];
        $_GET["s1"]     = $inf['sort1'];
        $_GET["s2"]     = $inf['sort2'];
        $_GET["s3"]     = $inf['sort3'];
        $_GET['z']      = $zeil;
    }
    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 ($search && $_GET['s'] != 2)
    {    
        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"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Info</a>\n";    
        echo "</span>";
    }
    echo "<div align=\"center\">";
    echo "<h3>Bericht Informationen</h3></div>\n";
    if (!isset($search) || !$search)
    {   // Form Kriterien
        echo "<div align=\"center\">";

        echo "<p>Bitte die Kriterien für den Bericht wählen</p>\n";
        
        include ($_SERVER['DOCUMENT_ROOT']."/fhiiqm/form/info_allg_search_form.inc.php");
        echo "</div>\n";
    }
    else
    {
        echo "<div align='center'>\n";

        // Kriterien
        if ($inf["prodb"] && $inf["prodb"] != '-1')
        {  
            $prodb = "'".$inf["prodb"]."'";
            $sql = "SELECT prod_ber_name FROM Produkt_Bereich WHERE prod_ber_ID = REPLACE(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 ($inf['ityp'] > -1)
        {
            $ityp = $inf['ityp'];
            $sql = "SELECT infotyp_bez FROM Info_Typ WHERE infotyp_ID = $ityp";
            $itypb = $dbc -> querySingleItem($sql);
        }
        else $ityp = "''";
        if ($inf['adr'] > -1)
        {
            $adr = "'".$inf['adr']."'";
            $sql = "SELECT info_adr_name AS bez FROM Adressat
                    WHERE CAST(info_adr_ID AS CHAR) = $adr
                    UNION
                    SELECT fkt_bez AS bez FROM Funktion
                    WHERE fkt_ID = $adr";
            $adrb = $dbc -> querySingleItem($sql);
        }
        else $adr = "''";
        if ($inf['stat'] > -1)
        {
            $stat = $inf['stat'];
            $sql = "SELECT info_freigabe_bez FROM Info_Freigabe WHERE info_freigabe_ID = $stat";
            $statb = $dbc -> querySingleItem($sql);
        }
        else $stat = "''";
        $bind = $inf['bind'];

        $sort = "'".($inf['sort1']>-1 ? $inf['sort1'] : '');
//        echo "$sort<br />";
        if ($inf['sort1']>-1 && $inf['sort2']>-1) $sort .= ",".$inf['sort2']; 
        elseif ($inf['sort2']>-1) $sort .= "'".$inf['sort2'];
//        echo "$sort<br />";
        if (($inf['sort1']>-1 || $inf['sort2']>-1) && $inf['sort3']>-1)
            $sort .= ",".$inf['sort3']; 
        elseif ($inf['sort1'] == -1 && $inf['sort2'] == -1 && $inf['sort3']>-1)  
            $sort = "'".($inf['sort3']>-1 ? $inf['sort3'] : '');
        $sort .=  "'";
//        echo "$sort<br />";
//        $sql = "CALL info_flist(1,'',0,'',0,999,@anz)";
/*        $sql = "SELECT i.info_ID,info_sort,info_name_s,info_name_l,info_date,info_valid_from,info_valid_to,infotyp_ID,lang,info_file,info_rel_ID,raum_ID,
                i.persknr AS persknra,CONCAT(m.nachname,', ', m.vorname) AS autor,
                IF(infotyp_ID=7,ff.fkt_ID,CAST(ia.info_adr_ID AS CHAR)) AS adr_ID,
                IF(infotyp_ID=7,fkt_bez,info_adr_name) AS adressat,
                iv.persknr AS persknrv, CONCAT(mv.nachname,', ', mv.vorname) AS verantw,
                ip.produkt_ID,prod_name,p.prod_group_ID,prod_ber_ID
                FROM fhiiqm.Info i LEFT OUTER JOIN Mitarbeiter m ON i.persknr=m.persknr
                LEFT OUTER JOIN Info_Adressat ia ON i.info_ID=ia.info_ID
                LEFT OUTER JOIN Adressat a ON ia.info_adr_ID = a.info_adr_ID
                LEFT OUTER JOIN Info_Funktion ff ON i.info_ID = ff.info_ID
                LEFT OUTER JOIN Funktion f ON ff.fkt_ID=f.fkt_ID
                LEFT OUTER JOIN Info_Verantwortlich iv ON i.info_ID=iv.info_ID
                LEFT OUTER JOIN Mitarbeiter mv ON iv.persknr=mv.persknr
                LEFT OUTER JOIN Info_Produkt ip ON i.info_ID=ip.info_ID
                LEFT OUTER JOIN Produkt p ON ip.produkt_ID = p.produkt_ID
                LEFT OUTER JOIN Produkt_Gruppe pg ON p.prod_group_ID=pg.prod_group_ID";        
*/
        $sql = "CALL info_allg_report($prodb,$prodg,$ityp,$adr,$stat,'$bind',$sort,$start,$zeil,@anz)"; 
//        echo "$sql<br />";
        $result = $dbc -> queryObjectArray($sql);

        if ($prodbb > '') $krit = "[Produktbereich = $prodbb]";
        if ($prodgb > '')
        {
            if ($krit) $bd = " ".$bind; else $bd = "";
            $krit .= $bd . " [Produktgruppe = $prodgb]";
        }
        if ($itypb > '')
        {
            if ($krit) $bd = " ".$bind; else $bd = "";
            $krit .= $bd . " [Infotyp = $itypb]";
        }       
        if ($adrb > '')
        {
            if ($krit) $bd = " ".$bind; else $bd = "";
            $krit .= $bd . " [Adressat = $adrb]";
        }       
        if ($statb > '')
        {
            if ($krit) $bd = " ".$bind; else $bd = "";
            $krit .= $bd . " [Status = $statb]";
        }       
        if ($krit )echo "Filter:  $krit\n"; else echo "Filter: []\n";

        if ($result)
        {
            
            $ianz = $dbc -> querySingleItem("SELECT @anz");
            printf ("<p>Anzahl gefundener Informationen: %s</p>", $ianz);

    		$bg1 = "#F8F8F8";
    		$bg2 = "#DEDFE1";
    		$bg = "#FFFFFF";
            echo "<table border='1' cellspacing='0' cellpadding='2' width='99%'>\n";
            // Listenkopf
            echo "<tr bgcolor='#68ACBF'>";
            echo "<th>Kennzeichen</th>";
            echo "<th>ID: Infotitel</th>";
            echo "<th>zu Info</th>";
            echo "<th>Kurzinfo</th>";
            if ($ityp == "''") echo "<th>Infotyp</th>";
            echo "<th>Produkt</th>";
            if (substr($ityp,0,1) != 8) echo "<th>Adressat</th>";
            if ($ityp == 7 || substr($ityp,0,1) == 8) echo "<th>Haus, Raum</th>";
            if ($stat == "''") echo "<th>Status</th>";
            echo "<th>Dokument</th>";
            echo "</tr>";
            
            foreach ($result as $row)
            {
    			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
                echo "<tr bgcolor='" . $bg . "'>"; 
                echo "<td>$row->infsort</td>";
                echo "<td>$row->info_ID: $row->iname</td>";
                echo "<td>$row->infrel</td>";
                if ($row->ityp_ID == 81) $anl = " <b>&rarr; '" . $row->al_bez . "'</b>"; else $anl="";
                echo "<td>" . nl2br($row->ilong) . "$anl</td>";
                if ($ityp == "''") echo "<td>$row->ityp</td>";
                $prod = explode("; ",$row->prod);
                $prods = "";
                foreach ($prod as $val)
                    $prods .= "; " . substr($val,0,strpos($val,"|")-1);
                $prods = substr($prods,2);
                echo "<td>" . str_replace(";",";<br />",$prods) . "</td>";
                if (substr($ityp,0,1) != 8)
                {
                    $adr = explode("; ",$row->adressat);
                    $adrs = "";
                    foreach ($adr as $val)
                        $adrs .= "; " . substr($val,0,strpos($val,"|")-1);
                    $adrs = substr($adrs,2);
                    echo "<td>" . str_replace(";","<br />",$adrs) . "</td>";
                }
                if ($ityp == 7 || substr($ityp,0,1) == 8)   // 7 = Betriebsstörung, 8 = Betriebsanweisung
                {    if ($row->raum_ID)
                    {
                        $sql = "SELECT geb_ID, raum_nr FROM Raum WHERE raum_ID = $row->raum_ID";
                        $res = $dbc -> queryObjectArray($sql);
                        foreach ($res as $ro)
                            echo "<td>$ro->geb_ID, $ro->raum_nr</td>";
                    }
                    elseif ($row->geb_ID && !$row->raum_ID)
                        echo "<td>$row->geb_ID</td>";
                    else echo "<td>&nbsp;</td>";
                }
                if ($stat == "''") echo "<td>$row->freigabe</td>";
                echo "<td><a href='/fhiiqm/infos/$row->doc'>".substr($row->doc,strpos($row->doc,"_")+1)."</a></td>";
                echo "</tr>\n";
                
            }
            echo "</table>\n";
            echo "<p></p><table width=80%><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>";
            echo "</div>\n";

            echo "<br />&nbsp;&nbsp;&nbsp;";
            if ($search != 2) // Aufruf aus fhiiqm
            {    
                // Parameter aus $_GET fuer weitere Seiten
                $_GET["s"] = 1; // bewirkt weitere Suche
                foreach ($_GET as $key=>$val)
                {
                    if ($key != "st") $liste .= "&" . $key ."=".$val;
                }    
                // Links auf andere Seiten generieren
                liste_links($start,$zeil,$ianz,$liste);
            }
        }
        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 "<br />&nbsp;&nbsp;&nbsp;";
        }
        if ($search != 2)
        {    
            echo "<span class='sc'>";
            echo "<br /><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"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Info</a>\n";    
            echo "</span>";
        }
        
    }
?>
</body>
</html>