fhiiqm/report/rag_gf_msn_vs_report.php
changeset 29 72f79dab938e
child 44 d652bbba2d43
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/report/rag_gf_msn_vs_report.php	Thu Aug 23 10:17:50 2012 +0200
@@ -0,0 +1,282 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 07/2012
+ * 
+ * Report Gefaehrdungsanalye/Vorsorge Arbeitsbereiche (Raum-Arb.-Gruppen)
+ *  
+ */
+
+    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("asr",$_SESSION["recht"]) && !in_array("ase",$_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 Abt./AG Gef&auml;hrdungen Ma&szlig;nahmen Vorsorge</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/role.png\" border=\"0\" alt=\"AG,Raum-Gefahr\" title=\"AG,Raum-Gefahr\"/></div>\n";
+    
+    $rag    = $_POST["rag"];    // Parameter aus Form
+    $search = $_POST["search"];
+    if (!$search) $search =  $_GET["s"];
+
+    $zeil = $rag["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($rag))
+    {
+        $rag["geb"]     = $_GET["g"];
+        $rag["abt"]     = $_GET["a"];
+        $rag["ag"]     = $_GET["ag"];
+        $rag["rnum"]    = $_GET["r"];
+        $rag["ma"]      = $_GET["m"];
+        $rag["gf"]      = $_GET["f"];
+        $rag["vs"]      = $_GET["v"];
+        $rag["bind"]    = $_GET["b"];
+        $rag["sort1"]   = $_GET["s1"];
+        $rag["sort2"]   = $_GET["s2"];
+        $rag["sort3"]   = $_GET["s3"];
+        $rag["sort4"]   = $_GET["s4"];
+    }
+    $_GET["g"]  = $rag["geb"];
+    $_GET["r"]  = $rag["rnum"];
+    $_GET["a"]  = $rag["abt"];
+    $_GET["ag"]  = $rag["ag"];
+    $_GET["m"]  = $rag["ma"];
+    $_GET["f"]  = $rag["gf"];
+    $_GET["v"]  = $rag["vs"];
+    $_GET["b"]  = $rag["bind"];
+    $_GET["s1"] = $rag["sort1"];
+    $_GET["s2"] = $rag["sort2"];
+    $_GET["s3"] = $rag["sort3"];
+    $_GET["s4"] = $rag["sort4"];
+    $_GET["z"]  = $zeil;
+   
+    if ($search && $_GET['s'] != 2)
+    {    
+        echo "<span class='sc'>";
+        echo "<br />&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/as_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 Abt./AG-Gef&auml;hrdungen Ma&szlig;nahmen Vorsorge</a>\n";    
+        echo "</span>";
+    }
+    echo "<div align='center'>\n";
+    echo "<p><b>(8) Bericht Gef&auml;hrdungen: Ma&szlig;nahmen, Vorsorge in Arbeitsgruppen</b></p>\n";
+    echo "</div>\n";
+    
+    if (!$search)
+    {
+        include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/form/rag_gv_search_form.inc.php");
+    }
+    else
+    {
+        echo "<div align='center'>\n";
+
+    	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();
+    
+        // Tabelle 'rag_gfmsnvs' aktualisieren
+        $sql = "CALL rag_ma_raum_gef_massn_vors(1,'',0, '',0,999,@anz);"; 
+        // liefert: rag_ID,rag_bez,abt_name,raeume,ma,gefahr-massnahmen,vorsorge, Dokumente Betriebsanweisung; loescht alten Inhalt, fuellt Tabelle 'rag_gfmsnvs'
+        $result = $dbc ->queryObjectArray($sql);
+        
+        $sql = "SELECT rag_ID, rag_bez, abt_name, ma, raeume, gefahr_msn, vorsorge, doc
+                FROM `fhiiqm`.`rag_gfmsnvs` ";
+        $lim = " LIMIT $start,$zeil";
+        
+        if (!$rag["bind"]) $bind = " AND "; else $bind = $rag["bind"];
+        
+        if ($rag["geb"]> -1) $where = " raeume LIKE '%$rag[geb]:%' ";
+        if ($rag["rnum"]) 
+            if ($where) $where .= "$bind raeume LIKE '%$rag[rnum]%' "; else $where = " raeume LIKE '%$rag[rnum]%' ";
+        if ($rag["abt"]> -1) 
+            if ($where) $where .= "$bind abt_name = '$rag[abt]' "; else $where = " abt_name = '$rag[abt]' ";
+        if ($rag["ag"]> -1) 
+            if ($where) $where .= "$bind rag_ID = $rag[ag] "; else $where = " rag_ID = $rag[ag] ";
+        if ($rag["ma"]) 
+            if ($where) $where .= "$bind ma LIKE '%$rag[ma]%' "; else $where = " ma LIKE '%$rag[ma]%' ";
+        if ($rag["gf"]> -1) 
+            if ($where) $where .= "$bind gefahr_msn LIKE '%$rag[gf]%' "; else $where = " gefahr_msn LIKE '%$rag[gf]%' ";
+        if ($rag["vs"]> -1) 
+            if ($where) $where .= "$bind vorsorge LIKE '%$rag[vs]%' "; else $where = " vorsorge LIKE '%$rag[vs]%' ";
+        if ($where) $where = " WHERE $where";
+        
+        if ($rag["sort1"]>0 || $rag["sort2"]>0 || $rag["sort3"]>0 || $rag["sort4"]>0 || $rag["sort5"]>0)
+        {
+            if ($rag["sort1"]>0) $ord  = "ORDER BY ".$rag["sort1"];
+            if ($rag["sort2"]>0) $ord .= ",".$rag["sort2"];
+            if ($rag["sort3"]>0) $ord .= ",".$rag["sort3"];
+            if ($rag["sort4"]>0) $ord .= ",".$rag["sort4"];
+            if ($rag["sort5"]>0) $ord .= ",".$rag["sort5"];
+        }
+        $sql .= $where . $ord . $lim;
+//        echo "sql = $sql<br />\n";
+        $result = $dbc ->queryObjectArray($sql);
+        
+        if ($rag["geb"] > -1) $krit = " [Geb&auml;ude = '" . $rag["geb"] ."']";
+        if ($krit) $bd = " ".$bind; else $bd = "";
+        if ($rag["rnum"]) $krit .= $bd. " [Raum-Nr. = '" . $rag['rnum'] ."']";
+        $bd = ($krit)? (" ".$bind) : " ";
+        if ($rag["abt"] > -1) $krit .= $bd. " [Abteilung = '" . $rag['abt'] ."']";
+        if ($rag["ag"] > -1)
+        {
+            $agbez = $dbc -> querySingleItem("SELECT rag_bez FROM fhiiqm.RaumArb_Gruppe WHERE rag_ID = ".$rag['ag']);
+            $bd = ($krit)? (" ".$bind) : " ";
+            $krit .= $bd. " [Arbeitsgruppe = '$agbez']";
+        } 
+        $bd = ($krit)? (" ".$bind) : " ";
+        if ($rag["ma"]) $krit .= $bd. " [Mitarbeiter wie '" . $rag['ma'] ."']";
+        $bd = ($krit)? (" ".$bind) : " ";
+        if ($rag["gf"] > -1) $krit .= $bd. " [Gefährdung = '" . $rag['gf'] ."']";
+        $bd = ($krit)? (" ".$bind) : " ";
+        if ($rag["vs"] > -1) $krit .= $bd. " [Vorsorge = '" . $rag['vs'] ."']";
+        if ($krit )echo "Suchergebnis f&uuml;r $krit"; else echo "Suchergebnis";
+
+        if ($result)
+        {
+    		$bg1 = "#F8F8F8";
+    		$bg2 = "#DEDFE1";
+    		$bg = "#FFFFFF";
+
+            $sqlc = "SELECT COUNT(*)
+                        FROM rag_gfmsnvs $where";
+            $ianz = $dbc -> querySingleItem($sqlc);
+
+            //$ianz = $dbc -> numrows($sql); //liefert nur $zeil!
+            printf ("<p>Anzahl gefundener Datensätze: %s</p>", $ianz);
+            
+            echo "<table width='99%' border='1' cellspacing='0' cellpadding='2'>\n";
+            $cols=7;
+            // Listenkopf
+            echo "<tr bgcolor='#68ACBF'>";
+            if ($rag["bind"]=="OR" || !$rag['abt'] || $rag['abt'] == -1)
+            { 
+                echo "<th>Abteilung</th>";
+                $cols +=1;
+            }
+            echo "<th>Arbeitsgruppe</th>";    
+            echo "<th>R&auml;ume</th>";
+            echo "<th>Mitarbeiter</th>";
+            echo "<th>Gef&auml;hrdung, Ma&szlig;nahmen</th>";
+            echo "<th>Vorsorge</th>";
+            echo "<th>Betriebsanweisung</th>";
+            echo "</tr>";
+
+            function doc_bez($val)
+            {   // Callback-Funktion fuer array_map
+                return substr($val,strpos($val,"_")+1);  
+            }
+            
+            foreach ($result as $row)
+            {
+        			if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
+                    echo "<tr bgcolor='" . $bg . "'>"; 
+                    if ($rag["bind"]=="OR" || !$rag['abt'] || $rag['abt'] == -1) echo "<td>$row->abt_name</td>";
+                    if (strpos($row->rag_bez,"DynamiX")) $row->rag_bez = str_replace("X","&chi;",$row->rag_bez);
+                    echo "<td>$row->rag_bez</td>";
+                    echo "<td>".str_replace(";","<br />",$row->raeume)."</td>";
+                    if ($rag['ma'])
+                    { 
+                        $ma = str_replace(lcfirst($rag['ma']),"<b>".lcfirst($rag['ma'])."</b>",$row->ma);
+                        $ma = str_replace(ucfirst($rag['ma']),"<b>".ucfirst($rag['ma'])."</b>",$ma);
+                    } 
+                    else $ma = $row->ma;
+                    echo "<td>".str_replace(";","<br />",$ma)."</td>";
+                    echo "<td width='35%'>".str_replace(";","<br />",$row->gefahr_msn)."</td>";
+                    if (strpos($row->vorsorge,";")===0) $row->vorsorge = substr($row->vorsorge,1);   
+                    echo "<td>".str_replace(";","<br />",$row->vorsorge)."</td>";
+                    if ($row->doc > " ")
+                    { 
+                        echo "<td>";
+                        $docs = explode("; ",$row->doc);
+                        $docu = array_unique(array_map("doc_bez",$docs)); // array docs ohne 'id_' und ohne mehrfache values
+                        foreach ($docs as $key => $doc)
+                            if (array_key_exists($key,$docu))
+                                echo "<a href='/fhiiqm/infos/$doc'>".substr($doc,strpos($doc,"_")+1)."</a><br />";
+                        echo "</td>";
+                    }
+                    else echo "<td>&nbsp;</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/as_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 Abt./AG-Gef&auml;hrdungen Ma&szlig;nahmen Vorsorge</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>
\ No newline at end of file