fhiiqm/anlage_ed.php
author Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
Mon, 06 Feb 2012 13:44:00 +0100
changeset 23 a382de56a8e4
parent 20 5877137431e4
child 31 0a1eb975fbd9
permissions -rw-r--r--
+ Laser-Log-List, edit Raum-Reinigung, insert/edit Kosten mit 1000-Trennz.eichen

<?php

/**
 * @author Bettina Schwarzer, Fritz-Haber-Institut
 * @copyright 11/2011
 */

    error_reporting(E_ALL ^ E_NOTICE);
    
    session_start();
    if (! isset($_SESSION["userid"]))
    { 
        include_once ("inc/func_lib.inc.php");	
        login($_SERVER["PHP_SELF"]);
        exit;
    }
    
    if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("ar",$_SESSION["recht"]) && !in_array("ae",$_SESSION["recht"])))
    {
        header("Location: start.php");
        exit;
    }    
    
    include_once($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/dbconnect.inc.php");
    if (!isset($dbc) || !$dbc) $dbc = new dbconnection();

    $kat    = $_GET["k"]; // nur fuer bestimmte Kategorie
    
    $al     = $_POST["al"];
    $alid   = $_GET["i"];
    $copy   = $_GET["c"];
    $sub    = $_POST["eintragen"];
    $del    = $_POST["del"];
    $dup    = $_POST["dup"];
    if (!$dup) $dup = $_GET["d"];
	$ok		= $_POST["ok"];
    if (!$al['okn']) $ok=false;
    $duptext="";

    if ($dup)
    {   // Anlage duplizieren
        include_once ($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/func_lib.inc.php");
        $tab = "Anlage";
        $key = "al_ID";
        $val =  $alid;
//        $ret=1;
        $ret = duplicate_record ($tab, $key, $val);
        if ($ret)
        { 
            $alid=$ret;
            $addr = $_SERVER["PHP_SELF"] . "?i=$alid&c=1";
            header("Location: $addr");
            exit;
        }
        else $duptext = " - Fehler beim Duplizieren von ". $al["bez"];    
    }

?>

<!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 type="text/css" href="/fhiiqm/css/db.css" rel="Stylesheet" media="screen"/>	
    <link type="text/css" href="/fhiiqm/css/db_print.css" rel="Stylesheet" media="print"/>	
    <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness/jquery-ui-1.8.16.custom.css" rel="Stylesheet" />	
    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-1.6.2.min.js"></script>
    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-1.8.16.custom.min.js"></script>
    <title>Anlage</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=\"img/rotate_01.png\" border=\"0\" alt=\"Anlage\" title=\"Anlage\"/></div>\n";
?>

    <div align='center'>

    <script>
      $(document).ready(function() {
        $("#albez").focus();
        $("#persknr").autocomplete({
                source: "/fhiiqm/inc/ma_list_ac.inc.php",
    			minLength: 2,
                select: function(event,ui){$("#pid").val(ui.item.id);}
    		});
        $("input").persknr("long20").addClass("long20");
        });
    </script>

    <?php
//        print_r($al);
        
        if (isset($kat) && $kat)
        {
            $sql = "SELECT al_kat_bez FROM fhiiqm.A_Kategorie WHERE al_kat_ID=$kat";
            $kat_bez = $dbc->querySingleItem($sql);
        }
        if ($alid) $text = "editieren"; else $text = "erfassen";
        if ($copy) $duptext = " (Kopie)";
        if ($kat_bez)
            echo "<h3>$kat_bez $text$duptext<h3>";
        else
            echo "<h3>Anlage $text$duptext<h3>";
        
        echo "</div>\n";
        
        if (!$ok || (!$sub && !$del && !$dup))
        {
            if ($alid && (!$sub || !$del) && !isset($al))
            { // update
                $sql = "SELECT al_ID,al_bez,al_beschreibung,al_kat_ID,al_befgrad_ID,al_pruefart_ID,al_pruefintv_ID,
                            a.raum_ID,geb_ID,a.persknr, CONCAT(nachname,', ',vorname) AS vname 
                        FROM `fhiiqm`.`Anlage` a LEFT OUTER JOIN fhiiqm.Mitarbeiter m ON 
                            a.persknr = m.persknr  LEFT OUTER JOIN fhiiqm.Raum r ON
                            a.raum_ID=r.raum_ID
                        WHERE al_ID = $alid";
                if ($result = $dbc -> queryObjectArray($sql))
                {
                    foreach ($result as $row)
                    {
                        $al["bez"]  = $row->al_bez;
                        $al["beschr"]   = $row->al_beschreibung;
                        $al["kat"]  = $row->al_kat_ID;
                        $al["befg"] = $row->al_befgrad_ID;
                        $al["part"] = $row->al_pruefart_ID;
                        $al["pintv"] = $row->al_pruefintv_ID;
                        $al["geb"] = $row->geb_ID;
                        $al["raum"] = $row->raum_ID;
                        $al["pid"]  = $row->persknr;
                        $al["persknr"] = $row->vname;
                     }
                 } 
                        
            }
            elseif (!$alid && !$sub && (isset($al) || $kat))
            {   // Default-Einstellung abhaengig von Anlagenkategorie bei Erfassen
                if ($kat) $al["kat"] = $kat;
                $sql = "SELECT al_kat_ID,al_befgrad_ID,al_pruefart_ID,al_pruefintv_ID
                        FROM fhiiqm.A_kat_std 
                        WHERE al_kat_ID = " . $al["kat"];
                if ($resdft = $dbc -> queryObjectArray($sql))
                {
                    foreach ($resdft as $row)
                    {
                        $al["befg"] = $row->al_befgrad_ID;
                        $al["part"] = $row->al_pruefart_ID;
                        $al["pintv"] = $row->al_pruefintv_ID;
                    }
                }

            }
            include ($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/anlage_form.inc.php");     
            if ($sub || $del)
    		{
    		  	if ($sub)
                    $frage = "Alle Angaben ok?";
                elseif ($del)
                    $frage = "Anlage wirklich l&ouml;schen?";
    			echo "<tr>
    			  <td class=\"red\" valign=\"top\" align=\"left\">$frage</td>
    			        <td><input type=\"checkbox\" name=\"ok\" value=\"1\"";
    			        if ($ok)  echo "checked"; 
    			echo "></td>\n</tr>\n"; 
    		}
            if (!is_null($_SESSION["recht"]) && in_array("ae",$_SESSION["recht"]))
            {
                echo "
               	<tr><td>&nbsp;</td>\n
                	<td><input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"  eintragen  \" />";
                if ($alid)
                {
                    echo "&nbsp;&nbsp;&nbsp;<input class=\"buttonr\" type=\"submit\" value=\"l&ouml;schen\" name=\"del\" title=\"delete\" />";
                    echo "&nbsp;&nbsp;&nbsp;<input class=\"button\" type=\"submit\" value=\"duplizieren\" name=\"dup\" title=\"delete\" />";
                }    
               	echo "</td></tr>\n";
            }
            echo "</table>\n";
            echo "</div>\n";
            if (!is_null($_SESSION["recht"]) && !in_array("ae", $_SESSION["recht"]))
                echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"anlage_flist.php\" target=\"_self\" title=\"Anlagen\">&laquo; zur Anlagenliste</a></p>\n"; 
            echo "</form>\n";   

        }
        else
        {            
            echo "<div align='center'>\n";
            
            if ($del)
            {
                // sind Pruefprotokolle vorhanden zu alid?
                $sql = "SELECT alp_ID FROM `fhiiqm`.`A_Pruefung` WHERE al_ID=$alid";
                $result = $dbc -> queryObjectArray($sql);
//                print_r ($result);
                // Anlage loeschen
                $sql = "DELETE FROM Anlage WHERE al_ID = $alid";
                $retad = $dbc -> execute($sql);
                if ($retad)
                {
                    echo "<p class='green'><b>DELETE: Daten  zu '".$al["bez"]."' wurden erfolgreich gel&ouml;scht.</b></p>\n";
                    {
                        if ($result) // vorhandene Protokolle auf Server physisch loeschen
                        {
                            include ("inc/file_upload.inc.php");
                            foreach ($result as $row)
                            {
                                $retdf  = mod_file("/var/www/fhiiqm/alprot",$row->alp_ID,"","del");  // Loeschen Protokoll
                                if (!$retdf) $strpdel .= ",".$row->alp_ID;
                            }
                        }
                    }
                    if ($strpdel > "") 
                        echo "<p class='red><b>Pruefprotokoll(e) zu '".$al["bez"]."' mit ID(s)" . substr($strpdel,1) . "konnte(n) nicht gel&ouml;scht werden!</b></p>\n";
                    else 
                        echo "<p class='green'><b>Pruefprotokolle zu '".$al["bez"]."' wurden gel&ouml;scht (Server u. DB).</b></p>\n";
                    include ("inc/anlage_dat_show.inc.php");
                }                    
                else
                    echo "<p class='red'><b>DELETE: Daten  zu '".$al["bez"]."' konnten nicht gel&ouml;scht werden!</b></p>\n";
            }
            else //INSERT oder UPDATE
            {
                if ($al["beschr"]) $al["beschr"] = substr($al["beschr"],0,250); else $al["beschr"] = null;
                if ($al["kat"]== -1) $al["kat"] = null;
                if ($al["befg"]== -1) $al["befg"] = null;
                if ($al["part"]== -1) $al["part"] = null;
                if ($al["pintv"]== -1) $al["pintv"] = null;
                if ($al["raum"]== -1) $al["raum"] = null;
                foreach ($al as $key=>$value)
                {
        			if (is_null($value) || $value < "!") $al["$key"] = null;
                }    
                $stmt = $dbc -> stmtinit();
                if (is_object($stmt))
                {
                    if ($alid)
                    {
                        //edit
                        $stmt -> prepare("UPDATE fhiiqm.Anlage SET
                                    al_bez = ?,
                                    al_beschreibung = ?,
                                    al_kat_ID = ?,
                                    al_befgrad_ID = ?,
                                    al_pruefart_ID = ?,
                                    al_pruefintv_ID = ?,
                                    raum_ID = ?,
                                    persknr = ? 
                                    WHERE al_ID = $alid");
                        $stmt -> bind_param('sssssiii',$al["bez"],$al["beschr"],$al["kat"],$al["befg"],$al["part"],$al["pintv"],$al["raum"],$al["pid"]);
                        $res = $stmt -> execute();
    //                            print_r($stmt);
                        if ($stmt->error) echo "UPDATE Anlage, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
                        if ($res)
                            echo "<p class='green'><b>UPDATE: Daten  zu '".$al["bez"]."' wurden erfolgreich gespeichert.</b></p>\n";
                        else
                            echo "<p class='red'><b>UPDATE: Daten  zu '".$al["bez"]."' konnten nicht gespeichert werden!</b></p>\n";
                    }
                    else
                    {
                        //insert
                        $stmt -> prepare("INSERT INTO fhiiqm.Anlage (al_bez, al_beschreibung, al_kat_ID, al_befgrad_ID, al_pruefart_ID, al_pruefintv_ID, raum_ID, persknr) 
                                    VALUES (?,?,?,?,?,?,?,?)");
                        $stmt -> bind_param('sssssiii',$al["bez"],$al["beschr"],$al["kat"],$al["befg"],$al["part"],$al["pintv"],$al["raum"],$al["pid"]);
                        $res = $stmt -> execute();
    //                    $res = 1;
                        if ($stmt->error) echo "INSERT Anlage, error: " . $stmt->errno . " - ". $stmt->error . "<br><br>\n";
                        if ($res)
                        {
                            // anlagen_ID ermitteln
                            $alid = $dbc -> insertId();
                            echo "<p class='green'><b>INSERT: Daten  zu '".$al["bez"]."' wurden erfolgreich gespeichert.</b></p>\n";
                        }    
                        else
                            echo "<p class='red'><b>INSERT: Daten  zu '".$al["bez"]."' konnten nicht gespeichert werden!</b></p>\n";
                    }
                    if ($res) include ("inc/anlage_dat_show.inc.php");
                }
            }
            echo "</div>\n";       
            echo "<p class=\"sc\">&nbsp;&nbsp;&nbsp;<a href=\"anlage_flist.php\" target=\"_self\" title=\"Anlagen\">Anlagenenliste</a>\n";    
            if ($kat)
                $parm = "?k=$kat";
            else
            {
                $parm = ""; $kat_bez = "Anlage";    
            }
            echo "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href=\"anlage_ed.php$parm\" target=\"_self\" title=\"$kat_bez erfassen\">Weitere $kat_bez erfassen</a></p>";    
            echo "<p class=\"sc\">&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/alpruef_flist.php\" target=\"_self\" title=\"Anlagenpruefung-Liste\">Liste Anlagenpr&uuml;fungen</a>";    
            echo "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/alpruef_ed.php\" target=\"_self\" title=\"Anlagenpruefung erfassen\">Anlagenpr&uuml;fung erfassen</a></p>\n";    
            echo "<p class=\"sc\">&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/alrisk_flist.php\" target=\"_self\" title=\"Anlagenrisiko-Liste\">Liste Anlagenrisiken</a>";    
            echo "&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href=\"/fhiiqm/alrisk_ed.php\" target=\"_self\" title=\"Anlagenrisiko erfassen\">Anlagenrisiko erfassen</a></p>\n";    
        }      

 ?>
 </body>
 </html>