<?php
/**
* @author Bettina Schwarzer, Fritz-Haber-Institut
* @copyright 06/2013
*
* Keytyp add, lost Depot
*/
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("kr",$_SESSION["recht"]) && !in_array("ke",$_SESSION["recht"])))
{
header("Location: start.php");
exit;
}
include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
// zulaessige Depots, 'edit' = 1 -> bearbeitbar
$uid = $_SESSION["userid"];
$sql = "SELECT depot_ID,edit FROM KeyDepot_userweb WHERE userid = '$uid'";
$res = $dbc -> queryObjectArray($sql);
foreach ($res as $row)
if ($row->edit) $adep[] = $row->depot_ID;
// print_r($adep); echo "<br />";
$aaction = array("get" => "Zugang", "out" => "Abgang", "lost" => "Verlust"); //Bezeichnung Transfer
$ky = $_POST["ky"];
$dep = $ky['dep'];
if (!$dep) $dep='AC';
?>
<!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"/>
<link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="/fhiiqm/js/jquery/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-1.8.21.custom.min.js"></script>
<title>Keytyp Dep korrigieren</title>
</head>
<body>
<script>
$(document).ready(function() {
var dep = document.getElementById("dep");
dep = dep.value;
$("#ktn").autocomplete({
source: "/fhiiqm/inc/keytyp_list_ac.inc.php?t=d&d="+dep,
minLength: 2,
select: function(event,ui){$("#ktn").val(ui.item.id);}
});
});
</script>
<?php
echo " ";
echo "<div class=\"float-br smaller\" valign='top'>";
echo " user: " . $_SESSION["userid"];
echo " <a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
echo "<div class=\"float-r\"><img src=\"img/key.png\" border=\"0\" alt=\"Keytyp transferieren\" title=\"Depotverwaltung Schlüsseltyp\"/></div>\n";
echo "<div align=\"center\">";
echo "<h3>Korrektur Schlüsseltyp im Depot</h3>";
echo "</div>\n";
if (!isset($adep))
echo "<p class='red'> Sie haben nicht das Recht, Schlüssel in Depots zu pflegen. Bitte wenden Sie sich an Frau Kohl.</p>";
else
{
$out = $_POST["out"];
$get = $_POST["get"];
$lost = $_POST["lost"];
if (isset($ky) && ($out || $lost))
{
$sql = "SELECT IFNULL(SUM(CASE WHEN depot_action='get' THEN IFNULL(depot_anz,0) ELSE 0 END),0) - IFNULL(SUM(CASE WHEN depot_action='out' THEN IFNULL(depot_anz,0) ELSE 0 END),0) - IFNULL(SUM(CASE WHEN depot_action='lost' THEN IFNULL(depot_anz,0) ELSE 0 END),0) AS bestand
FROM fhiiqm.Keytyp_Depot WHERE depot_ID='".$ky["dep"]."' AND keytyp_ID = '". $ky["kt"] ."'";
$anzdep = $dbc->querySingleItem($sql);
if (is_numeric($ky["anz"]) && $anzdep < $ky["anz"]) $err = "Abgang/Verlust: Bestand '". $ky["kt"] ."' Depot 'FHI': <b>$anzdep < ".$ky["anz"]."</b> (Transfer-Anzahl)!";
}
if (isset($ky["anz"]) && !is_numeric($ky["anz"]) && ($out || $get || $lost)) $err = "Anzahl ist ncht numerisch!";
if (!isset($ky) || (!$out && !$get && !$lost) || $err)
{
?>
<div align="center">
<h5>* - Felder sind erforderlich!</h5>
</div>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_key">
<div align="center">
<?php
if ($err) echo "<p class='red'>$err</p>\n";
?>
<table width="50%" border="0" cellspacing="3" cellpadding="3">
<tr>
<td>Depot *</td><td>Schlüsseltyp *</td><td>Schlüsseltyp neu</td><td>Anzahl *</td>
</tr>
<tr>
<td><select id="dep" name="ky[dep]" onchange="this.form.submit();">
<?php
$strdep = "'". implode("','",$adep) ."'";
// echo "$strdep<br />";
$sql = "SELECT * FROM fhiiqm.KeyDepot WHERE depot_ID IN ($strdep)";
if ($res = $dbc -> queryObjectArray($sql))
foreach ($res as $row)
{
if (!$ky['dep'] && !$beg) $ky['dep'] = $row->depot_ID;
if ($row->depot_ID == $ky['dep']) $select = "selected='selected'"; else $select = "";
echo "<option $select value=\"$row->depot_ID\">$row->depot_ID: $row->depot_bez</option>\n";
$beg=1;
}
$beg=0;
?>
</select>
</td>
<td><select name="ky[kt]">
<?php
$strdep = "'". implode("','",$adep) ."'";
$sql = "SELECT key_level,d.keytyp_ID,keytyp_bez,
SUM(CASE WHEN depot_action='get' THEN IFNULL(depot_anz,0) ELSE 0 END) - SUM(CASE WHEN depot_action='out' THEN IFNULL(depot_anz,0) ELSE 0 END) - SUM(CASE WHEN depot_action='lost' THEN IFNULL(depot_anz,0) ELSE 0 END) AS bestand
FROM fhiiqm.Keytyp_Depot d INNER JOIN Keytyp k ON d.keytyp_ID=k.keytyp_ID
WHERE depot_ID = '" . $ky['dep'] . "'
GROUP BY key_level,d.keytyp_ID,keytyp_bez";
if ($res = $dbc -> queryObjectArray($sql))
foreach ($res as $row)
{
if (!$ky['kt'] && !$beg)
$ky['kt'] = $row->keytyp_ID;
if ($row->keytyp_ID == $ky['kt']) $select = "selected='selected'"; else $select = "";
echo "<option $select value=\"$row->keytyp_ID\">$row->key_level - $row->keytyp_ID [$row->keytyp_bez] ($row->bestand)</option>\n";
$beg=1;
}
$beg=0;
?>
</select>
oder
</td>
<td><input id="ktn" name="ky[ktn]" type="text" size="10" maxlength="10" value="<?php echo $ky['ktn']; ?>" /></td>
<td><input name="ky[anz]" type="text" size="5" maxlength="3" value="<?php echo $ky['anz']; ?>" /></td>
</tr>
<tr><td> </td><td colspan="3">neuer Schlüsseltyp: bitte mind. 2 Zeichen Schlüsseltyp eingeben -> Liste der verfügbaren</td></tr>
<tr><td>Bemerkung</td><td colspan="3"><textarea name="ky[bem]" cols="50" rows="2"><?php echo $ky['bem']; ?></textarea></td></tr>
<?php
if (in_array("ke",$_SESSION["recht"]))
{
?>
<tr><td> </td><td colspan="3"><input class="button" type="submit" name="get" value="Zugang +" title="Zugang"/>
<input class="button" type="submit" name="out" value="Abgang -" title="Abgang"/>
<input class="button" type="submit" name="lost" value="Verlust -" title="Verlust"/></td></tr>
<?php
}
?>
</table>
<?php
}
else
{
echo "<div align='center'>\n";
if (is_numeric($ky["anz"]) && $ky["anz"] != 0)
{
$ky["bem"] = substr($ky["bem"],0,100);
if ($ky["ktn"] > '') $kt = $ky["ktn"]; else $kt = $ky["kt"];
if ($get) $action = "get";
elseif ($out) $action = "out";
elseif ($lost) $action = "lost";
$adate = new DateTime();
$adate = $adate->format('Y-m-d H:i:s');
$stmt = $dbc -> stmtinit();
if (is_object($stmt))
{
$stmt -> prepare("INSERT INTO Keytyp_Depot (keytyp_ID,depot_ID,depot_date,depot_action,depot_anz,depot_bem) VALUES(?,?,?,?,?,?)");
$stmt -> bind_param('ssssis', $kt,$ky["dep"], $adate,$action,$ky["anz"],$ky["bem"]);
$result = $stmt -> execute();
if ($stmt->error) echo "error Korrekur(INSERT) Schlüsseltyp: " . $stmt->error . "<br><br>\n";
if ($result) // INSERT/UPDATE Keytyp
{
//Eingabe Daten erfolgreich
echo "<p class='green'><b>".$aaction["$action"].": Anzahl Schlüsseltyp '$kt' im Depot '" . $ky['dep']. "' wurde erfolgreich aktualisiert.</b></p>\n";
}
else
echo "<p class='red'><b>".$aaction["$action"].": Anzahl Schlüsseltyp '$kt' im Depot '" . $ky['dep']."' konnte nicht gespeichert werden.</b></p>\n";
$sql = "SELECT IFNULL(SUM(CASE WHEN depot_action='get' THEN IFNULL(depot_anz,0) ELSE 0 END),0) - IFNULL(SUM(CASE WHEN depot_action='out' THEN IFNULL(depot_anz,0) ELSE 0 END),0) - IFNULL(SUM(CASE WHEN depot_action='lost' THEN IFNULL(depot_anz,0) ELSE 0 END),0) AS bestand
FROM fhiiqm.Keytyp_Depot WHERE depot_ID='".$ky["dep"]."' AND keytyp_ID = '$kt'";
$newanz = $dbc -> querySingleItem($sql);
echo "<p>neuer Bestand Depot '" .$ky["dep"]."', Schlüsseltyp '$kt' = $newanz </p><br /><br />\n";
}
}
echo "</div>\n";
echo "<p class='sc'> <a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Depot-Korrektur\">Weitere Depot-Korrektur</a></p>\n";
}
}
?>
</body>
</html>