fhiiqm/report/proz_htweb_report.php
author Bettina Schwarzer
Fri, 20 Dec 2013 15:19:32 +0100
changeset 41 9c668cd391fa
parent 36 4411d3239444
permissions -rw-r--r--
+ Gast als MA-Typ, Erweiterungen Projekt, Key, Telefonliste

<?php

/**
 * @author Bettina Schwarzer, Fritz-Haber-Institut
 * @copyright 03/2013
 * 
 * Report Projekte für HT-Website
 * z.Zt. nicht genutzt (26.03.2013)
 *  
 */

    error_reporting(E_ALL ^ E_NOTICE);
    
    if (!isset($_GET['s']) || $_GET['s'] != 2 )
    {
        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("pzr",$_SESSION["recht"]) && !in_array("pze",$_SESSION["recht"])))
        {
            header("Location: start.php");
            exit;
        }
    }    
	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();

?>
<!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 Projekte</title>
</head>

<body>

<?php    
    echo "&nbsp;";  
    if (!isset($_GET['s']) || $_GET['s'] != 2 )
    {
        echo "<div class=\"float-br smaller\" 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\"><img src=\"/fhiiqm/img/sheduled_task.png\" border=\"0\" alt=\"AG,Raum-Gefahr\" title=\"Projekt\"/></div>\n";
    
    $pz    = $_POST["pz"];    // Parameter aus Form
    $search = $_POST["search"];
    if (!$search) $search =  $_GET["s"];

    $zeil = $pz["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;
    $pak = $_GET["a"];  // 1 Projekt je Druckseite
    if (!$psep) $psep = $pz["ak"];

    if (!is_array($pz))
    {
        $pz["stat"] = $_GET["su"];
        $pz["va"] = $_GET["v"];
        $pz["bind"] = $_GET["b"];
        $pz["sort1"] = $_GET["s1"];
        $pz["sort2"] = $_GET["s2"];
        $pz["sep"]     = $_GET["sp"];   
    }
        $_GET["su"] = $pz["stat"];
        $_GET["v"] = $pz["va"];
        $_GET["b"] = $pz["bind"];
        $_GET["sp"] = $pz["sep"];
        $_GET["s1"] = $pz["sort1"];
        $_GET["s2"] = $pz["sort2"];
        $_GET["z"] = $zeil;

    if ($search && $_GET['s'] != 2)
    {    
        echo "<span class='sc'>";
        echo "<br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/pz_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 Projekte</a>\n";    
        echo "</span>";
    }
    echo "<div align='center'>\n";
    echo "<p><b>Bericht Projekte</b></p>\n";
    echo "</div>\n";
    
    if (!$search)
    {
    ?>
        <div align="center">
        <p>Bitte Kriterien f&uuml;r die Suche w&auml;hlen</p>
        <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_proj" target="_self">	
        <table width="50%" border="0" cellspacing="3" cellpadding="3">
            <tr>
                <td>Status</td>
                <td>
                    <select name="pz[stat]" size="1">
                    <?php 
                        if ($pz["stat"] == -1) $select = " selected = 'selected'"; else $select = "";
                        echo "<option $select value=\"-1\"></option>\n";
                        $sql = "SELECT proz_stat_ID, proz_stat_bez FROM Proz_Status ORDER BY 1";
                        if ($result = $dbc->queryObjectArray($sql))
                        {
                            foreach ($result as $row)
                            {
                                $select = ($row->proz_stat_ID == $pz['stat'])? " selected = 'selected'" : "";
        					   echo "<option$select value=\"$row->proz_stat_ID\">$row->proz_stat_bez</option>\n";
                            }
                        }
                    ?>
                    </select>
                </td>
            </tr>
            <tr><td>Verantwortlicher</td><td><input type="text" name="pz[va]" value="<?php echo $pz['va']; ?>" /></td></tr>
            <tr><td>nur aktuelle Projekte?</td><td><input type="checkbox" name="pz[ak]" value="1" <?php if ($pak) echo "checked='checked'"; ?>/></td></tr>
            <tr> 
                  <td>Verkn&uuml;pfung</td>
                  <td>UND&nbsp;&nbsp;&nbsp;
                    <input type="radio" name="pz[bind]" value="AND" <?php if (isset($pz["bind"]) && $pz["bind"]=="AND") echo "checked='checked'"; else  echo "checked='checked'";?>>
                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ODER&nbsp;&nbsp;&nbsp;
                    <input type="radio" name="pz[bind]" value="OR" <?php if (isset($pz["bind"]) && $pz["bind"]=="OR") echo "checked='checked'"; ?>></td>
            </tr>
            <tr>
                <td>Sortierung nach<br />(in dieser Reihenfolge)</td><td>
            <?php
                $sort = array("-1"=>"","proz_bez"=>"Bezeichnung","verantw"=>"Verantwortlicher","proz_stat"=>"Status","prod_name"=>"Produkt");
                for ($i=1; $i<3; $i++)
                { 
                  echo "$i.&nbsp;&nbsp;<select name='pz[sort$i]'>\n";
                  foreach ($sort as $key=>$val)
                  {
                    $rsort = "sort" . $i;
                    if ($pz[$rsort] == $val) $select= " selected"; else $select = "";
                    echo "<option$select value='$key'>$val</option>\n";
                  }
                  echo "</select>&nbsp;&nbsp;&nbsp;&nbsp;\n";
                } 
                echo "</td></tr>\n";
                echo "</td></tr>\n";
        
                $azeil = array(10=>'10',20=>'20',25=>'25',50=>'50',100=>'100',9999=>'alle'); // Anzahl gezeigter rows
                echo "<tr><td>Zeilen/Seite?</td><td><select name='pz[z]'>\n";
                if (!$pz['z']) $pz['z'] = 9999;
                foreach ($azeil as $key=>$val)
                {
                    if ($key == $pz['z']) $select = "selected"; else $select = "";
                    echo "<option $select value='$key'>$val</option>\n";
                }
                echo "</select></td></tr>\n";
        
            ?>
            <tr> 
                <td>&nbsp;</td>
                <td><input class="button" type="submit" name="search" value="Bericht erstellen"/></td>
            </tr> 
        </table>
        </div>
        </form>
<?php        
    }
    else
    {
    	include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
        include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
    
    	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
        
        $sql = "SELECT proz_ID,proz_bez,proz_bez_l,proz_start_pl,proz_end_pl,proz_kost_pl,proz_start,proz_end,proz_kosten,
                    proz_ref_ID,proz_bem,persknr,verantw,persknr_a,auftragg,proz_stat_ID,proz_stat,proz_urg_ID,proz_urg_bez,
                    produkt_ID,prod_name,proz_step_ID,proz_step,step_stat_ID,step_stat,step_bem 
                FROM fhiiqm.v_projekt_report ";

        $lim = " LIMIT $start,$zeil";
        $where = "";
        $krit = "";
        $bind = $pz["bind"];
        $heute =date('Y-m-d');
        if ($pz["stat"] > "-1")
        { 
            $where .= " proz_stat_ID = ".$pz["stat"];
            $stat = $dbc->querySingleItem("SELECT proz_stat_bez FROM Proz_Status WHERE proz_stat_ID =".$pz["stat"]);
            $krit = " [Projektstatus = '$stat'] ";
        }    
        if ($pz["va"])
        { 
            if ($where) $bd = $bind; else $bd = "";
            $where .= " $bd verantw LIKE '".$pz["va"] . "%' ";
            $krit .= $bd . " [Verantwortlicher wie '".$pz["va"]."*'] ";
        }    
        if ($pz["ak"])
        { 
            if ($where) $bd = $bind; else $bd = "";
            $where .= " $bd ('$heute' BETWEEN proz_start_pl AND proz_end_pl) OR ('$heute' BETWEEN proz_start AND proz_end) ";
            $heuted = date('d.m.Y');
            $krit .= $bd . " [$heuted innerhalb Start-/Endedatum ] ";
        }    
        if ($pz["sort1"]>"-1" || $pz["sort2"]>"-1")
        {
            if ($pz["sort1"]>"-1") $ord  = " ORDER BY " . $pz["sort1"];
            if ($pz["sort2"]>"-1") $ord .= ",".$pz["sort2"];
            $ord .= ",step_sort ";
        }
        else $ord = " ORDER BY proz_bez,step_sort";
        if ($where) $where = " WHERE $where";
        
        $sql .= $where . $ord .$lim;
//echo "sql = $sql<br />\n";
        $result = $dbc -> queryObjectArray($sql);

        echo "<div align='center'>\n";

        if ($krit) echo "<p>Projekte f&uuml;r $krit</p>"; else echo "<p>&nbsp;</p>";
        
        if ($result)
        {
            $sql = "SELECT COUNT(*) FROM v_projekt_report $where"; 
            $ianz = $dbc -> querySingleItem($sql);
    		$bg1 = "#F8F8F8";
    		$bg2 = "#DEDFE1";
    		$bg = "#FFFFFF";

            echo "<table border='0' cellspacing='0' cellpadding='2' width='99%'>\n";
            // Listenkopf
            foreach ($result as $row)
            {
                foreach ($row as &$val) if (is_null($val) || $val <=' ') $val = "&nbsp;";
                if ($vproz != $row->proz_ID)
                {
        			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
                    echo "<tr bgcolor='" . $bg . "' background='../img/linelightblue.gif'>";
                    echo "<td width='15%'><b>$row->proz_bez</b></td>";
                    echo "<td>$row->proz_bez_l</td>";
                    echo "<td width='15%'>Verantwortlich: $row->verantw</td>";
                    echo "<td width='10%'>Status: $row->proz_stat</td>";
                    echo "<td>$row->proz_bem</td></tr>\n";
                    echo "<tr bgcolor='" . $bg . "' background='../img/linelightblue.gif'>";
                    if ($row->proz_start_pl>"&nbsp;")
                    {
                        $dat = new DateTime($row->proz_start_pl);    
                        echo "<td class=\"left\">Planstart: " . $dat->format('d.m.Y')."</td>";
                    }
                    else  echo "<td>Planstart:</td>";       
                    if ($row->proz_end_pl>"&nbsp;")
                    {
                        $dat = new DateTime($row->proz_end_pl);    
                        echo "<td class=\"left\">Planende: " . $dat->format('d.m.Y')."</td>";
                    }
                    else  echo "<td>Planende:</td>";
//                    if ($row->proz_kost_pl>"&nbsp;") echo "<td>".number_format($row->proz_kost_pl,2,",","."); else echo "<td>&nbsp;</td>";        
                    if ($row->proz_start>"&nbsp;")
                    {
                        $dat = new DateTime($row->proz_start);    
                        echo "<td class=\"left\">Start: " . $dat->format('d.m.Y')."</td>";
                    }
                    else  echo "<td>Start:</td>";       
                    if ($row->proz_end>"&nbsp;")
                    {
                        $dat = new DateTime($row->proz_end);    
                        echo "<td class=\"left\" colspan='2'>Ende: " . $dat->format('d.m.Y')."</td>";
                    }
                    else  echo "<td colspan='2'>Ende:</td></tr>\n";
//                    if ($row->proz_kosten>"&nbsp;") echo "<td>".number_format($row->proz_kosten,2,",","."); else echo "<td>&nbsp;</td>";       
                    echo "<tr bgcolor='" . $bg . "'>";
                    echo "<td colspan='3'>&nbsp;&nbsp;&nbsp;$row->proz_step</td>";
                    echo "<td>Status: $row->step_stat</td>";
                    echo "<td>$row->step_bem</td></tr>\n";
           
                }
                if ($vproz == $row->proz_ID && $vstep != $row->proz_step_ID)
                {
                    echo "<tr bgcolor='" . $bg . "'>";
                    echo "<td colspan='3'>&nbsp;&nbsp;&nbsp;$row->proz_step</td>";
                    echo "<td>Status: $row->step_stat</td>";
                    echo "<td>$row->step_bem</td></tr>\n";
                }
                $vproz = $row->proz_ID;
                $vstep = $row->proz_step_ID;
                $begin = 1;
            }
            echo "</table>\n";
            echo "<p></p><table width=90%><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);
                echo "<br />&nbsp;&nbsp;&nbsp;";
            }
        }
        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 />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/pz_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=\"Projekt\" class=\"sc\">neuer Bericht Projekte</a>\n";    
            echo "</span>";
        }
        else
            echo "<a href='javascript:history.back();' onMouseOver=\"{window.status='Zur&uuml;ck'; return true;}\">&laquo; Zur&uuml;ck</a>";
    }
?>

</body>
</html>