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

<?php

/**
 * @author Bettina Schwarzer, Fritz-Haber-Institut
 * @copyright 02/2013
 * 
 * Report Mitarbeiter ohne
 *  - E-Mail
 *  - Raum
 *  - Arbeitsgruppe
 */

    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("mtr",$_SESSION["recht"]) && !in_array("mte",$_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 Mitarbeiter - fehlende Daten</title>
</head>

<body>

<?php    
    echo "&nbsp;";  
    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/group.png\" border=\"0\" alt=\"MA Telefon\" title=\"MA Telefon\"/></div>\n";
    
    $ma    = $_POST["ma"];    // Parameter aus Form
    $search = $_POST["search"];
    if (!$search) $search =  $_GET["s"];

    $zeil = $ma["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($ma))
    {
        $ma["abt"] = $_GET["a"];
        $ma["mail"] = $_GET["m"];
        $ma["tel"] = $_GET["t"];
        $ma["raum"] = $_GET["r"];
        $ma["rag"] = $_GET["g"];
        $ma["bind"] = $_GET["b"];
        $ma["sort1"] = $_GET["s1"];
        $ma["sort2"] = $_GET["s2"];
    }
        $_GET["a"] = $ma["abt"];
        $_GET["m"] = $ma["mail"];
        $_GET["t"] = $ma["tel"];
        $_GET["r"] = $ma["raum"];
        $_GET["g"] = $ma["rag"];
        $_GET["b"] = $ma["bind"];
        $_GET["s1"] = $ma["sort1"];
        $_GET["s2"] = $ma["sort2"];
        $_GET["z"] = $zeil;
    
    if ($search)
    {    
        echo "<span class='sc'>";
        echo "<br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/ma_obj_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=\"Mitarbeiter\" class=\"sc\">neuer Bericht Mitarbeiterdaten</a>\n";    
        echo "</span>";
    }
    echo "<div align='center'>\n";
    if (!$ma["mail"] && !$ma["tel"] && !$ma["raum"] && !$ma["rag"]) $miss = ""; else $miss = " fehlende";
    echo "<p><b>Bericht$miss Mitarbeiterdaten</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_raum" target="_self">	
        <table width="50%" border="0" cellspacing="3" cellpadding="3">
            <tr>
                <td>Abteilung</td>
                <td>
                    <select name="ma[abt]" size="1">
                    <?php 
                        if ($ma["abt"] == -1) $select = " selected "; else $select = "";
                        echo "<option $select value=\"-1\"></option>\n";
                        $sql = "SELECT abt_ID, abt_name, abt_long FROM Abteilung ORDER BY abt_ID+0";
                        if ($result = $dbc->queryObjectArray($sql))
                        {
                            foreach ($result as $row)
                            {
                                if ($row->abt_ID == $ma['abt'])
            					   echo "<option selected value=\"$row->abt_ID\">$row->abt_name - $row->abt_long</option>\n";
            				    else
            					   echo "<option value=\"$row->abt_ID\">$row->abt_name - $row->abt_long</option>\n";
                            }
                        }
                    ?>
                    </select>
                </td>
            </tr>
            <tr><td>MA/Objekte ohne Raum</td><td><input type="checkbox" name="ma[raum]" value="1" <?php if ($ma["raum"]) echo "checked='checked'"; ?>/></td></tr>
            <tr><td>MA/Objekte ohne Telefon-Nr.</td><td><input type="checkbox" name="ma[tel]" value="1" <?php if ($ma["tel"]) echo "checked='checked'"; ?>/></td></tr>
            <tr><td>MA ohne E-Mail</td><td><input type="checkbox" name="ma[mail]" value="1" <?php if ($ma["mail"]) echo "checked='checked'"; ?>/></td></tr>
            <tr><td>MA ohne Arbeitsgruppe</td><td><input type="checkbox" name="ma[rag]" value="1" <?php if ($ma["rag"]) echo "checked='checked'"; ?>/></td></tr>
            <tr> 
                  <td>Verkn&uuml;pfung</td>
                  <td>UND&nbsp;&nbsp;&nbsp;
                    <input type="radio" name="ma[bind]" value="AND" <?php if (isset($ma["bind"]) && $ma["bind"]=="AND") echo "checked='checked'"; else  echo "checked='checked'";?>>
                  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ODER&nbsp;&nbsp;&nbsp;
                    <input type="radio" name="ma[bind]" value="OR" <?php if (isset($ma["bind"]) && $ma["bind"]=="OR") echo "checked='checked'"; ?>></td>
            </tr>
            <tr>
                <td>Sortierung nach<br />(in dieser Reihenfolge)</td><td>
            <?php
                $sort = array("-1"=>"","5"=>"Abteilung","2,3"=>"Name, Vorname");
                for ($i=1; $i<3; $i++)
                { 
                  echo "$i.&nbsp;&nbsp;<select name='ma[sort$i]'>\n";
                  foreach ($sort as $key=>$val)
                  {
                    $rsort = "sort" . $i;
                    if ($ma[$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='ma[z]'>\n";
                if (!$ma['z']) $ma['z'] = 9999;
                foreach ($azeil as $key=>$val)
                {
                    if ($key == $ma['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
    {
        echo "<div align='center'>\n";

        include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
        
        $sql = "SELECT m.persknr, TRIM(nachname) AS name,vorname,titel,abt_name,rag_bez,geb_ID,raum_nr,email,
                CASE WHEN telefon_typ='fax' THEN CONCAT (mt.telefon_nr, ' FAX') ELSE mt.telefon_nr END AS telefon_nr 
                FROM Mitarbeiter m 
                LEFT OUTER JOIN Abteilung a ON m.abt_tel = a.abt_ID
                LEFT OUTER JOIN Mitarbeiter_Raum mr ON m.persknr = mr.persknr
                LEFT OUTER JOIN MA_RaumArbGruppe ma ON m.persknr = ma.persknr
                LEFT OUTER JOIN Raum r ON mr.raum_ID = r.raum_ID
                LEFT OUTER JOIN RaumArb_Gruppe rag ON ma.rag_ID = rag.rag_ID 
                LEFT OUTER JOIN MA_Telefon mt ON m.persknr = mt.persknr 
                LEFT OUTER JOIN Telefon t ON mt.telefon_nr = t.telefon_nr ";
                
        $lim = " LIMIT $start,$zeil";
        $where = " WHERE 1=1 AND ";
        $wher = "";
        $krit = "";
        $krito = "";
        $bind = $ma["bind"];
        if ($ma["abt"] > -1)
        { 
            $where .= " abt_tel = ".$ma["abt"] . " AND ";
            $abt = $dbc->querySingleItem("SELECT abt_name FROM Abteilung WHERE abt_ID =".$ma["abt"]);
            $krit = " [in Abteilung = '$abt']";
        }    
        if ($ma["raum"])
        {
            $wher .= " (aktiv > 0 AND mr.persknr IS NULL)";
            if ($krit > '') $bd = " AND ("; else $bd = "(";
            $krito .= $bd . " [ohne Raum] ";
        } 
        if ($ma["tel"])
        { 
            if ($wher) $bd = $bind; else $bd = "";
            $wher .= " $bd (aktiv > 0 AND (mt.telefon_nr IS NULL OR mt.telefon_nr <= ''))";
            if ($krito > '') $bd = " $bind "; elseif ($krit > '') $bd = " AND ("; else $bd = "(";
            $krito .= $bd . " [ohne Telefon-Nr.] ";
        }    
        if ($ma["mail"])
        { 
            if ($wher) $bd = $bind; else $bd = "";
            $wher .= " $bd (aktiv = 1 AND (email IS NULL OR email <= ''))";
            if ($krito > '') $bd = " $bind "; elseif ($krit > '') $bd = " AND ("; else $bd = "(";
            $krito .= $bd . " [ohne E-Mail] ";
        }    
        if ($ma["rag"])
        { 
            if ($wher) $bd = $bind; else $bd = "";
            $wher .= " $bd (aktiv = 1 AND ma.persknr IS NULL)";
            if ($krito > '') $bd = " $bind "; elseif ($krit > '') $bd = " AND ("; else $bd = "(";
            $krito .= $bd . " [ohne Arbeitsgruppe] ";
        }
        if (!$ma["tel"] && !$ma["mail"] && !$ma["raum"] && !$ma["rag"])
            $wher = " aktiv > 0 ";
        if ($krito > '') $krito .= ")";
            
        if ($ma["sort1"]>0 || $ma["sort2"]>0)
        {
            if ($ma["sort1"]>0) $ord  = " ORDER BY " . $ma["sort1"];
            if ($ma["sort2"]>0) $ord .= ",".$ma["sort2"];
        }
        else $ord = " ORDER BY 2,3";

        $sql .= $where ."(". $wher ." )". $ord .",6,7,8,10". $lim;
//echo "sql = $sql<br />\n";
        $result = $dbc -> queryObjectArray($sql);

        if ($krit || $krito)echo "<p>Mitarbeiter/Objekte $krit$krito</p>"; else echo "<p>Mitarbeiter/Objekte</p>";
        
        if ($result)
        {
            $sql = "SELECT COUNT(*) 
                    FROM Mitarbeiter m 
                    LEFT OUTER JOIN Abteilung a ON m.abt_tel = a.abt_ID
                    LEFT OUTER JOIN Mitarbeiter_Raum mr ON m.persknr = mr.persknr
                    LEFT OUTER JOIN MA_RaumArbGruppe ma ON m.persknr = ma.persknr
                    LEFT OUTER JOIN Raum r ON mr.raum_ID = r.raum_ID
                    LEFT OUTER JOIN RaumArb_Gruppe rag ON ma.rag_ID = rag.rag_ID 
                    LEFT OUTER JOIN MA_Telefon t ON m.persknr = t.persknr " . $wher;
            $ianz = $dbc -> querySingleItem($sql);
    		$bg1 = "#F8F8F8";
    		$bg2 = "#DEDFE1";
    		$bg = "#FFFFFF";

            echo "<table border='1' cellspacing='0' cellpadding='2'>\n";
            // Listenkopf
            echo "<tr bgcolor='#68ACBF'>";
            echo "<th>Name</th>";
            echo "<th>Abteilung</th>";
            echo "<th>Arbeitsgruppe</th>";
            echo "<th>Raum</th>";
            echo "<th>Telefon</th>";
            echo "<th>E-Mail</th>";
            echo "</tr>";

            foreach ($result as $row)
            {
                foreach ($row as &$val) if (is_null($val) || $val <=' ') $val = "&nbsp;";
                if ($vpnr != $row->persknr)
                {
        			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
                    echo "<tr bgcolor='" . $bg . "'>";
                    $titel = ($row->titel != "&nbsp;")? ", $row->titel" : "" ; 
                    echo "<td>$row->name$titel, $row->vorname</td>";
                    echo "<td>$row->abt_name</td>";
                    echo "<td>$row->rag_bez</td>";
                    echo "<td>$row->geb_ID $row->raum_nr</td>";
                    echo "<td class='right'>$row->telefon_nr</td>";
                    echo "<td>$row->email</td></tr>\n";
                }
                else
                {
                    echo "<tr bgcolor='" . $bg . "'>"; 
                    echo "<td colspan='2'>&nbsp;</td>";
                    echo "<td>$row->rag_bez</td>";
                    echo "<td>$row->geb_ID $row->raum_nr</td>";
                    echo "<td class='right'>$row->telefon_nr</td>";
                    echo "<td>$row->email</td></tr>\n";
                }
                $vpnr = $row->persknr;                
            }
            echo "</table>\n";
            echo "<p></p><table width=60%><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;";
    
            // 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;";
        }

        echo "<span class='sc'>";
        echo "<br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/ma_obj_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=\"Raum-Typ\" class=\"sc\">neuer Bericht Mitarbeiterdaten</a>\n";    
        echo "</span>";
    }
?>

</body>
</html>