<?php
/**
* @author Bettina Schwarzer, Fritz-Haber-Institut
* @copyright 02/2012
*
* Report Info (GVP)
*
*/
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("ir",$_SESSION["recht"]) && !in_array("ie",$_SESSION["recht"])))
{
header("Location: start.php");
exit;
}
?>
<!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>Geschäftsverteilungsplan</title>
</head>
<body >
<?php
include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
include_once ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
$dbc = new dbconnection();
$report = $_GET["r"]; // Berichtstyp: 'p' -> Produkte, 'k' -> Kennzahlen
$create = $_POST["create"];
$inf = $_POST["inf"];
// $sort = array("-1"=>"","15"=>"Kennzeichen","2"=>"Teilgebiet");
echo " ";
echo "<div class=\"float-br smaller sc\" 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 sc\"><img src=\"/fhiiqm/img/document_image_ver.png\" border=\"0\" alt=\"Infodaten\" title=\"Infodaten\"/></div>\n";
if (!isset($create) || !$create)
{ // Form Kriterien
echo "<div align=\"center\">";
echo "<h3>Geschäftsverteilungsplan</h3>\n";
echo "<p>Bitte die Kriterien für den Bericht wählen</p>\n";
echo "<form action=\"". $_SERVER['PHP_SELF'] ."?r=$report\" method=\"post\" enctype=\"application/x-www-form-urlencoded\" name=\"form_inf\">\n";
echo "<table width=\"30%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n";
echo "<tr>";
// echo "<tr><td>Infotyp wie</td><td><input name='inf[ityp]' type='text' size='10' maxlength='50' value='". $inf['ityp'] ."' /></td>";
if ($report == 'k')
{
echo "<td>Kennzeichen wie</td><td><input name='inf[kz]' type='text' size='10' maxlength='10' value='". $inf['kz'] ."' /></td>";
}
else
{
echo "<td>Produktbereich</td>";
echo "<td><select name='inf[prodb]'>";
if (is_array($inf['prodb'])) $select = in_array( "-1", $inf['prodb'] ) ? ' selected' : null;
echo "<option $select value=\"-1\"></option>\n";
$sql = "SELECT prod_ber_ID,prod_ber_name FROM Produkt_Bereich ORDER BY 1";
if ($result = $dbc->queryObjectArray($sql))
{
foreach ($result as $row)
{
$prod=str_replace(" "," ",htmlentities($row->prod_ber_name));
if (is_array($inf['prodb'])) $select = in_array($row->prod_ber_ID, $inf['prodb']) ? ' selected' : null;
echo "<option $select value=\"|$row->prod_ber_ID|\">$row->prod_ber_ID $prod</option>\n";
}
}
echo "</select></td></tr>";
echo "<tr><td>Produktgruppe</td>";
echo "<td><select name='inf[prodg]'>";
if ($inf["prodg"] == -1) $select = " selected "; else $select = "";
echo "<option $select value=\"-1\"></option>\n";
$sql = "SELECT prod_group_ID, prod_group_name, prod_group_hier FROM Produkt_Gruppe ORDER BY 3";
if ($result = $dbc->queryObjectArray($sql))
{
$select = "";
foreach ($result as $row)
{
if (isset($inf["prodg"])) $select = ($row->prod_group_ID == $inf["prodg"] ) ? ' selected' : null;
echo "<option $select value=\"|$row->prod_group_ID|\">$row->prod_group_hier $row->prod_group_name</option>\n";
}
}
echo "</select></td>";
echo
"</tr>\n";
}
echo "<tr><td>Status Freigabe</td>";
echo "<td><select name='inf[stat]'>";
if ($inf["stat"] == -1) $select = " selected "; else $select = "";
echo "<option $select value=\"-1\"></option>\n";
$sql = "SELECT info_freigabe_ID, info_freigabe_bez FROM Info_Freigabe ORDER BY 2";
if ($result = $dbc->queryObjectArray($sql))
{
$select = "";
foreach ($result as $row)
{
if (isset($inf["stat"])) $select = ($row->info_freigabe_ID == $inf["stat"] ) ? ' selected' : null;
echo "<option $select value=\"$row->info_freigabe_ID\">$row->info_freigabe_ID - $row->info_freigabe_bez</option>\n";
}
}
echo "</select></td></tr>\n";
/* echo "<tr><td>Sortierung nach</td>";
echo "<td><select name='inf[sort]'>";
foreach ($sort as $key=>$val)
{
if ($inf["sort"] == $key) $select= " selected"; else $select = "";
echo "<option$select value='$key'>$val</option>\n";
}
echo "</select></td></tr>";
*/
echo " <tr>
<td> </td>
<td colspan='3'><input class=\"button\" type=\"submit\" name=\"create\" value=\"Bericht erstellen\"></td>
</tr>
</table>\n
</form>\n
</div>\n";
// echo "<p> <a href=\"/fhiiqm/vertrag_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a></p>\n";
}
else
{
// Auswertung Kriterien
// if ($inf["ityp"]) $ityp = "'" . $inf["ityp"] . "'"; else $ityp = "''";
echo "<span class=\"sc\">";
echo "<br /> <a href=\"/fhiiqm/info_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "?r=$report\" target=\"_self\" title=\"Report Info GVP\">neuer Bericht GVP </a></span>\n";
if ($inf['stat'] > -1) // Status Freigabe
{
$stat = $inf['stat'];
$statb = $dbc -> querySingleItem("SELECT info_freigabe_bez FROM Info_Freigabe WHERE info_freigabe_ID=$stat");
}
else $stat = "''";
if ($report == 'k')
{
if ($inf["kz"] && $inf["kz"] > "!") $kz = "'".$inf["kz"]."'";
else $kz = "''";
// Parameter: 4:ifotyp=6, 15:Kz, 16:freigabe
$sql = "CALL info_report(15,'',4,6,15,$kz,16,$stat,0,100,@anz)";
$result = $dbc ->queryObjectArray($sql);
if ($dbc -> error) echo "$sql<br />".$dbc -> error."<br />";
if ($kz > "''") $filter = "Filter: [Kennzeichen wie $kz]"; else $filter = "Filter: []";
$kz =" nach Kennzeichen";
}
else
{
if ($inf["prodb"] && $inf["prodb"] != '-1')
{
$prodb = $inf["prodb"];
$sql = "SELECT prod_ber_name FROM Produkt_Bereich WHERE prod_ber_ID = REPLACE('" .$inf["prodb"] ."','|','')";
$prodbb = $dbc -> querySingleItem($sql);
}
else $prodb = "''";
if ($inf["prodg"] && $inf["prodg"] != '-1')
{
$prodg = $inf["prodg"];
$sql = "SELECT prod_group_name FROM Produkt_Gruppe WHERE prod_group_ID = REPLACE('" .$inf["prodg"] ."','|','')";
$prodgb = $dbc -> querySingleItem($sql);
}
else $prodg = "''";
if ($prodb > "''" && $prodg > "''") $prod = "'" . $prodg . substr($prodb,1) . "'";
elseif ($prodb > "''" && $prodg == "''") $prod = "'" . $prodb . "'";
elseif ($prodb == "''" && $prodg > "''") $prod = "'" . $prodg . "'";
else $prod = "''";
if ($inf["sort"] && $inf["sort"] != '-1') $sor = $inf["sort"]; else $sor=15;
// Parameter: 4:ifotyp=6, 5:produkt, 16:freigabe
// es wird immer nach Kennzeichen Info sortiert
$sql = "CALL info_report($sor,'',4,6,5,$prod,16,$stat,0,500,@anz)";
$result = $dbc ->queryObjectArray($sql);
if ($dbc -> error) echo "$sql<br />".$dbc -> error."<br />";
//Filteranzeige
if ($prodbb && $prodgb)
$filter = "[Produktbereich = $prodbb] UND [Produktgruppe = $prodgb]";
elseif ($prodbb && !$prodgb)
$filter = "[Produktbereich = $prodbb]";
elseif (!$prodbb && $prodgb)
$filter = "[Produktgruppe = $prodgb]";
else $filter = "[]";
$filter = "Filter: $filter";
}
if ($statb) $filter = ($filter > " ") ? "$filter UND [Status Freigabe = $statb]" : "[Status Freigabe = $statb]";
echo "<div class='sc' align='center'><h3>Geschäftsverteilungsplan$kz</h3></div>\n"; // Anzeige nur Screen
echo "<div align='center'>\n";
// echo "<p>Kriterien: Infotyp wie $ityp, Produktbereich = '" .$prodbb. "', Produktgruppe = '" .$prodgb. "'; Sortierung nach ".$sort[$sor] . " </p>";
if ($result)
{
echo "<p class='sc'>$filter</p>";
$ianz = $dbc -> querySingleItem("SELECT @anz");
echo "<p class='sc'>Anzahl Aufgaben: $ianz</p>";
if ($report == 'k')
{
$start = true;
if (!$start) echo "</table>\n<p style=\"page-break-after:always\"> </p>";
echo "<div class='pr' align='center'><h3>Geschäftsverteilungsplan nach Kennzeichen</h3></div>\n"; // Anzeige nur im Ausdruck
echo "<table border='1' cellspacing='0' cellpadding='2' width=99%>\n";
// Listenkopf
echo "<tr bgcolor='#68ACBF'>";
echo "<th width='5%'>Kennzeichen</th>";
// echo "<th width='10%'>Produktgruppe</th>";
echo "<th width='25%'>Aufgabe (prod)</th>";
echo "<th width='35%'>Teilgebiet (kurzinfo)</th>";
echo "<th colspan='2'>Zuständigkeit</th>";
if ($stat == "''") echo "<th>Status</th>";
$bg1 = "#F8F8F8";
$bg2 = "#DEDFE1";
$bg = "#FFFFFF";
foreach ($result as $row)
{
//nur jeweils eine Produktzuordnung zu Info
list($prod,$pg,$pb) = explode ('|',$row->prod); // prodgroup, prodbereich stehen innerhalb von |-Zeichen in prod
if ($pg != $pgv)
{
// Produktgruppenname
$sql = "SELECT prod_group_name FROM Produkt_Gruppe WHERE prod_group_ID IN ($pg)";
$pgb = $dbc -> querySingleItem($sql);
//$start = false;
}
if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
echo "<tr bgcolor='" . $bg . "'>";
echo "<td>$row->infsort</td>";
// echo "<td>$pgb</td>";
echo "<td>$prod</td>";
// echo "<td>$row->iname</td>";
echo "<td>".nl2br($row->ilong)."</td>";
if (strtoupper(substr($row->infsort,0,2)) == 'BK' && $row->betrag)
{
$colsp="";
$betr = "<td class='right'>max. ".number_format($row->betrag,2,",",".")." €</td>";
}
else {$colsp = " colspan='2'"; $betr="";}
echo "<td$colsp>".str_replace(";","<br />",$row->verantw)."</td>";
echo $betr;
if ($stat == "''") echo "<td>$row->freigabe</td>";
echo "</tr>\n";
$pgv = $pg;
}
}
else
{
// if ($prodgb) echo "<p><b>$prodgb<b></p>";
$i=0;
foreach ($result as $row)
{
if ($i==0)
{
$vprodid = $row->prodid;
}
$aprod = explode('; ',$row->prod);
$prod=null;
$pg=null;
$pb=null;
foreach ($aprod as $eprod)
{
list($pro,$prg,$prb) = explode ('|',$eprod); // prodgroup, prodbereich stehen innerhalb von |-Zeichen in prod
$prod .= $pro . "; ";
$pg .= $prg . ",";
$pb .= $prb . ",";
}
// es wird angenommen, dass jeweils nur 1 Produkt/Info zugeordnet ist
$prod = substr($prod,0,strlen($prod)-2);
$pg = substr($pg,0,strlen($pg)-1);
$pb = substr($pb,0,strlen($pb)-1);
//echo "prod = $prod, pg = $pg, pb = $pb <br />";
if ($pb != $vpb)
{
$sql = "SELECT prod_ber_name FROM Produkt_Bereich WHERE prod_ber_ID IN ($pb)";
$pberbez = $dbc -> querySingleItem($sql);
}
if ($pg != $vpg)
{
if ($i!=0) echo "</table>\n<p style=\"page-break-after:always\"> </p>";
echo "<div class='pr' align='center'><h3>Geschäftsverteilungsplan</h3></div>\n"; // Anzeige nur im Ausdruck
// Produktbereich immer anzeigen
echo "<p><b>$pberbez</b></p>";
// Produktgruppe fuer Teiliste + Bemerkung
$sql = "SELECT prod_group_name,IFNULL(prod_group_bem,' ') AS bem FROM Produkt_Gruppe WHERE prod_group_ID IN ($pg)";
$res = $dbc -> queryObjectArray($sql);
if ($res)
foreach ($res as $ro)
echo "<p><b>".$ro->prod_group_name."</b></p><p>".$ro->bem."</p>";
echo "<table border='1' cellspacing='0' cellpadding='2' width=99%>\n";
// Listenkopf
echo "<tr bgcolor='#68ACBF'>";
echo "<th width='5%'>Kennzeichen</th>";
// echo "<th>Infotyp</th>";
echo "<th width='30%'>Aufgabe (prod)</th>";
echo "<th width='30%'>Teilgebiet (kurzinfo)</th>";
// echo "<th width='40%'>Kurzinfo</th>";
echo "<th colspan='2'>Zuständigkeit</th>";
if ($stat == "''") echo "<th>Status</th>";
$bg1 = "#F8F8F8";
$bg2 = "#DEDFE1";
$bg = "#FFFFFF";
}
if ($row->prodid != $vprodid && $pg == $vpg) echo "<tr><td colspan='5'> </td></tr>\n"; // Leerzeile
if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
echo "<tr bgcolor='" . $bg . "'>";
echo "<td>$row->infsort</td>";
// echo "<td>$row->ityp</td>";
echo "<td>".$prod."</td>";
// echo "<td>$row->iname</td>";
echo "<td>".nl2br($row->ilong)."</td>";
if (strtoupper(substr($row->infsort,0,2)) == 'BK' && $row->betrag)
{
$colsp="";
$betr = "<td class='right'>max. ".number_format($row->betrag,2,",",".")." €</td>";
}
else {$colsp = " colspan='2'"; $betr="";}
echo "<td$colsp>".str_replace(";","<br />",$row->verantw)."</td>";
echo $betr;
if ($stat == "''") echo "<td>$row->freigabe</td>";
echo "</tr>\n";
$vprodid = $row->prodid;
$vpg = $pg;
$vpb = $pb;
$i++;
}
}
echo "</table>\n";
echo "<p></p><table width=99%><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>";
}
else echo "<p class='red'> Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
echo "</div>\n";
echo "<span class=\"sc\">";
echo "<br /> <a href=\"/fhiiqm/info_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "?r=$report\" target=\"_self\" title=\"Report Info GVP\">neuer Bericht GVP </a></span>\n";
}
?>
</body>
</html>