<?php
/**
* @author Bettina Schwarzer, Fritz-Haber-Institut
* @copyright 03/2013
*
* Report Projekt fuer Website Haustechnik
*/
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("pzr",$_SESSION["recht"]) && !in_array("pze",$_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 Projekte, Übersicht</title>
</head>
<body>
<?php
echo " ";
if (!isset($_GET['s']) || $_GET['s'] != 2 )
{
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=\"/fhiiqm/img/sheduled_task.png\" border=\"0\" alt=\"Projekt\" title=\"Projekt\"/></div>\n";
$pz = $_POST["pz"]; // Parameter aus Form
$search = $_POST["search"];
if (!$search) $search = $_GET["s"];
$zeil = $pz["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;
$psep = $_GET["sp"]; // 1 Projekt je Druckseite
if (!$psep) $psep = $pz["sep"];
$pid = $_GET['i'];
if (!is_array($pz))
{
$pz["stat"] = $_GET["su"];
// $pz["va"] = $_GET["v"];
$pz["pgid"] = $_GET["p"];
$pz["abta"] = $_GET["a"];
$pz["bind"] = $_GET["b"];
if (!$pz["bind"]) $pz["bind"] = 'AND';
$pz["sort1"] = $_GET["s1"];
$pz["sort2"] = $_GET["s2"];
$pz["sep"] = $_GET["sp"];
}
$_GET["su"] = $pz["stat"];
// $_GET["v"] = $pz["va"];
$_GET["p"] = $pz["pgid"];
$_GET["a"] = $pz["abta"];
$_GET["b"] = $pz["bind"];
$_GET["sp"] = $pz["sep"];
$_GET["s1"] = $pz["sort1"];
$_GET["s2"] = $pz["sort2"];
$_GET["z"] = $zeil;
$_GET['i'] = $pid;
if ($search && $_GET['s'] != 2)
{
echo "<span class='sc'>";
echo "<br /> <a href=\"/fhiiqm/pz_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"RAG GMV\" class=\"sc\">neuer Bericht Projekte - Übersicht</a>\n";
echo "</span>";
}
else
echo "<a href='javascript:history.back();' onMouseOver=\"{window.status='Zurück'; return true;}\">« Zurück</a>";
echo "<div align='center'>\n";
echo "<p><b>Bericht Projekte - Übersicht</b></p>\n";
echo "</div>\n";
if (!$search)
{
?>
<div align="center">
<p>Bitte Kriterien für die Suche wählen</p>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_proj" target="_self">
<table width="50%" border="0" cellspacing="3" cellpadding="3">
<tr>
<td>Status</td>
<td>
<select name="pz[stat]" size="1">
<?php
if ($pz["stat"] == -1) $select = " selected = 'selected'"; else $select = "";
echo "<option $select value=\"-1\"></option>\n";
$sql = "SELECT proz_stat_ID, proz_stat_bez FROM Proz_Status ORDER BY 1";
if ($result = $dbc->queryObjectArray($sql))
{
foreach ($result as $row)
{
$select = ($row->proz_stat_ID == $pz['stat'])? " selected = 'selected'" : "";
echo "<option$select value=\"$row->proz_stat_ID\">$row->proz_stat_bez</option>\n";
}
}
?>
</select>
</td>
</tr>
<!-- <tr><td>Verantwortlicher</td><td><input type="text" name="pz[va]" value="<?php echo $pz['va']; ?>" /></td></tr> -->
<tr>
<td>Produktgruppe</td>
<td>
<select name="pz[pgid]" size="1">
<?php
// Recht Produktgruppe beruecksichtigen
if (is_array($_SESSION["prodg"]))
{
foreach ($_SESSION["prodg"] as $val)
$listg .= ",'" .$val . "'";
$listg = substr($listg,1);
echo "prodg = $listg<br />";
$sql = "SELECT prod_group_ID, prod_group_name FROM fhiiqm.Produkt_Gruppe WHERE prod_group_ID IN('$listg')";
}
else
$sql = "SELECT prod_group_ID, prod_group_name FROM fhiiqm.Produkt_Gruppe";
if ($pz['pgid'] == -1) $select = " selected "; else $select = "";
echo "<option $select value=\"-1\"></option>\n";
if ($result = $dbc->queryObjectArray($sql))
{
foreach ($result as $row)
{
if (strlen($row->prod_group_name) > 70)
$prod=str_replace(" "," ",htmlentities(substr($row->prod_group_name,0,70))) ."...";
else
$prod=str_replace(" "," ",htmlentities($row->prod_group_name));
if ($row->prod_group_ID == $pz['pgid'])
echo "<option $color selected value=\"$row->prod_group_ID\">$row->prod_group_ID - $prod</option>\n";
else
echo "<option $color value=\"$row->prod_group_ID\">$row->prod_group_ID - $prod</option>\n";
}
}
echo "
</select>\n";
?>
</td>
</tr>
<tr>
<td>Abteilung Auftraggeber</td>
<td>
<select name="pz[abta]" size="1">
<?php
if ($pz["abta"] == -1) $select = " selected = 'selected'"; else $select = "";
echo "<option $select value=\"-1\"></option>\n";
$sql = "SELECT abt_ID, abt_name FROM Abteilung WHERE abt_ID<8 ORDER BY abt_ID+0";
if ($result = $dbc->queryObjectArray($sql))
{
foreach ($result as $row)
{
$select = ($row->abt_ID == $pz['abta'])? " selected = 'selected'" : "";
echo "<option$select value=\"$row->abt_ID\">$row->abt_name</option>\n";
}
}
?>
</select>
</td>
</tr>
<tr>
<td>Verknüpfung</td>
<td>UND
<input type="radio" name="pz[bind]" value="AND" <?php if (isset($pz["bind"]) && $pz["bind"]=="AND") echo "checked='checked'"; else echo "checked='checked'";?>>
ODER
<input type="radio" name="pz[bind]" value="OR" <?php if (isset($pz["bind"]) && $pz["bind"]=="OR") echo "checked='checked'"; ?>></td>
</tr>
<tr>
<td>Sortierung nach<br />(in dieser Reihenfolge)</td><td>
<?php
$sort = array("-1"=>"","proz_bez"=>"Bezeichnung","verantw"=>"Verantwortlicher","proz_stat"=>"Status","prod_name"=>"Produkt");
for ($i=1; $i<3; $i++)
{
echo "$i. <select name='pz[sort$i]'>\n";
foreach ($sort as $key=>$val)
{
$rsort = "sort" . $i;
if ($pz[$rsort] == $val) $select= " selected"; else $select = "";
echo "<option$select value='$key'>$val</option>\n";
}
echo "</select> \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='pz[z]'>\n";
if (!$pz['z']) $pz['z'] = 9999;
foreach ($azeil as $key=>$val)
{
if ($key == $pz['z']) $select = "selected"; else $select = "";
echo "<option $select value='$key'>$val</option>\n";
}
echo "</select></td></tr>\n";
?>
<tr>
<td> </td>
<td><input class="button" type="submit" name="search" value="Bericht erstellen"/></td>
</tr>
</table>
</div>
</form>
<?php
}
else
{
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();
/* $sql = "SELECT proz_ID,proz_bez,proz_bez_l,proz_start_pl,proz_end_pl,proz_kost_pl,proz_start,proz_end,proz_kosten,
proz_ref_ID,proz_bem,persknr,verantw,persknr_a,auftragg,proz_stat_ID,proz_stat,proz_urg_ID,proz_urg_bez,
produkt_ID,prod_name,prod_group_ID,proz_step_ID,proz_step,step_stat_ID,step_stat,step_bem
FROM fhiiqm.v_projekt_report "; */
$sql = "SELECT p.proz_ID,proz_bez,proz_bez_l,
p.persknr,CONCAT(m.nachname,', ',m.vorname) AS verantw,p.proz_stat_ID,proz_stat_bez AS proz_stat,
p.produkt_ID,prod_name,prod_group_ID, rag_bez,
p.persknr_a,CONCAT(ma.nachname,', ',ma.vorname) AS anford, abt_name, ma.abt_tel,
p.proz_start,p.proz_end,p.proz_start_pl,p.proz_end_pl
FROM fhiiqm.Prozess p
LEFT OUTER JOIN fhiiqm.Produkt k ON p.produkt_ID = k.produkt_ID
LEFT OUTER JOIN fhiiqm.Mitarbeiter m ON p.persknr=m.persknr
LEFT OUTER JOIN fhiiqm.Proz_Status s ON p.proz_stat_ID=s.proz_stat_ID
LEFT OUTER JOIN fhiiqm.Proz_RaumArbGruppe prag ON p.proz_ID=prag.proz_ID
LEFT OUTER JOIN fhiiqm.RaumArb_Gruppe rag ON prag.rag_ID=rag.rag_ID
LEFT OUTER JOIN Mitarbeiter ma ON p.persknr_a=ma.persknr
LEFT OUTER JOIN Abteilung a ON ma.abt_tel=a.abt_ID";
$lim = " LIMIT $start,$zeil";
$where = "";
$krit = "";
$bind = $pz["bind"];
if ($pz["stat"] > "-1")
{
$where .= " p.proz_stat_ID = ".$pz["stat"];
$stat = $dbc->querySingleItem("SELECT proz_stat_bez FROM Proz_Status WHERE proz_stat_ID =".$pz["stat"]);
$krit = " [Projektstatus = '$stat'] ";
}
if ($pz["pgid"] > "-1")
{
if ($where) $bd = " ".$bind; else $bd = "";
$where .= " $bd prod_group_ID = ".$pz["pgid"];
$prodg = $dbc->querySingleItem("SELECT prod_group_name FROM fhiiqm.Produkt_Gruppe WHERE prod_group_ID =".$pz["pgid"]);
$krit .= $bd." [Produktgruppe = '$prodg'] ";
}
/* if ($pz["va"])
{
if ($where) $bd = $bind; else $bd = "";
$where .= " $bd verantw LIKE '".$pz["va"] . "%' ";
$krit .= $bd . " [Verantwortlicher wie '".$pz["va"]."*'] ";
} */
if ($pz["abta"] > "-1")
{
if ($where) $bd = $bind; else $bd = "";
$where .= " $bd ma.abt_tel = ".$pz["abta"];
$abtn = $dbc->querySingleItem("SELECT abt_name FROM fhiiqm.Abteilung WHERE abt_ID =".$pz["abta"]);
$krit .= $bd." [Abteilung Auftraggeber = '$abtn'] ";
}
if ($pid)
{
if ($where) $bd = $bind; else $bd = "";
$where .= " $bd p.proz_ID = $pid";
}
if ($pz["sort1"]>"-1" || $pz["sort2"]>"-1")
{
if ($pz["sort1"]>"-1") $ord = " ORDER BY " . $pz["sort1"];
if ($pz["sort2"]>"-1") $ord .= ",".$pz["sort2"];
// $ord .= ",proz_step_ID ";
$ord .= ",p.proz_ID ";
}
// else $ord = " ORDER BY proz_bez,proz_step_ID";
else $ord = " ORDER BY proz_bez,p.proz_ID";
if ($where) $where = " WHERE $where";
$sql .= $where . $ord .$lim;
//echo "sql = $sql<br />\n";
$result = $dbc -> queryObjectArray($sql);
echo "<div align='center'>\n";
echo "<p>Klick auf '<img src=\"/fhiiqm/img/details.gif\" alt='Details' title='Details' border='0'/>' -> Details zum Projekt</p>";
if ($krit) echo "<p>Projekte für $krit</p>"; else echo "<p> </p>";
if ($result)
{
// $sql = "SELECT COUNT(*) FROM v_projekt_report $where";
if ($search != 2) $search =1;
$sql = "SELECT COUNT(*)
FROM fhiiqm.Prozess p
LEFT OUTER JOIN fhiiqm.Produkt k ON p.produkt_ID = k.produkt_ID
LEFT OUTER JOIN fhiiqm.Mitarbeiter m ON p.persknr=m.persknr
LEFT OUTER JOIN fhiiqm.Proz_Status s ON p.proz_stat_ID=s.proz_stat_ID
LEFT OUTER JOIN fhiiqm.Proz_RaumArbGruppe prag ON p.proz_ID=prag.proz_ID
LEFT OUTER JOIN fhiiqm.RaumArb_Gruppe rag ON prag.rag_ID=rag.rag_ID
LEFT OUTER JOIN Mitarbeiter ma ON p.persknr_a=ma.persknr
LEFT OUTER JOIN Abteilung a ON ma.abt_tel=a.abt_ID $where";
$ianz = $dbc -> querySingleItem($sql);
$bg1 = "#F8F8F8";
$bg2 = "#DEDFE1";
$bg = "#FFFFFF";
echo "<table border='1' cellspacing='0' cellpadding='2' width='80%'>\n";
// Listenkopf
echo "<tr bgcolor='#68ACBF'>";
echo "<th>Projekt</th>";
echo "<th>Beschreibung</th>";
echo "<th>zu Produkt</th>";
echo "<th>Verantwortlicher</th>";
echo "<th>Status</th>";
echo "<th width='5%'>Plan Start</th>";
echo "<th width='5%'>Plan Ende</th>";
echo "<th width='5%'>Ist Start</th>";
echo "<th width='5%'>Ist Ende</th>";
echo "<th>betroffene AG</th>";
echo "<th> </th></tr>\n";
foreach ($result as $row)
{
foreach ($row as &$val) if (is_null($val) || $val <=' ') $val = " ";
if ($vproz != $row->proz_ID)
{
if ($ende)
{
echo "</td>";
echo "<td><a href='/fhiiqm/report/prozess_report.php?i=$vproz&s=$search'><img src=\"/fhiiqm/img/details.gif\" alt='Details' title='Details' border='0'/></a></td></tr>\n";
}
if ($bg == $bg1) $bg = $bg2; else $bg = $bg1;
echo "<tr bgcolor='" . $bg . "' background='../img/linelightblue.gif'>";
echo "<td>$row->proz_bez</td>";
echo "<td>$row->proz_bez_l</td>";
echo "<td>$row->prod_name</td>";
echo "<td>$row->verantw</td>";
echo "<td>$row->proz_stat</td>";
if ($row->proz_start_pl>" ")
{
$dat = new DateTime($row->proz_start_pl);
echo "<td class=\"left\">" . $dat->format('d.m.Y')."</td>";
}
else echo "<td> </td>";
if ($row->proz_end_pl>" ")
{
$dat = new DateTime($row->proz_end_pl);
echo "<td class=\"left\">" . $dat->format('d.m.Y')."</td>";
}
else echo "<td> </td>";
if ($row->proz_start>" ")
{
$dat = new DateTime($row->proz_start);
echo "<td class=\"left\">" . $dat->format('d.m.Y')."</td>";
}
else echo "<td> </td>";
if ($row->proz_end>" ")
{
$dat = new DateTime($row->proz_end);
echo "<td class=\"left\">" . $dat->format('d.m.Y')."</td>";
}
else echo "<td> </td>";
echo "<td>$row->rag_bez";
$ende=1;
}
else
{
echo "<br />$row->rag_bez";
}
$vproz = $row->proz_ID;
}
echo "</td>";
echo "<td><a href='/fhiiqm/report/prozess_report.php?i=$row->proz_ID&s=$search'><img src=\"/fhiiqm/img/details.gif\" alt='Details' title='Details' border='0'/></a></td></tr>\n";
echo "</table>\n";
echo "<p></p><table width=90%><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 /> ";
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);
echo "<br /> ";
}
}
else
{
echo "<p class='red'> Leider gibt es kein Ergebnis für die von Ihnen gewählten Kriterien!</p>";
echo "</div>\n";
echo "<br /> ";
}
if ($search != 2)
{
echo "<span class='sc'>";
echo "<br /> <a href=\"/fhiiqm/pz_report.php\" target=\"_self\" title=\"Berichte\" class='sc'>« zur Berichtsübersicht</a>";
echo " | <a href=\"" . $_SERVER["PHP_SELF"] . "\" target=\"_self\" title=\"Projekt\" class=\"sc\">neuer Bericht Projekte - Übersicht</a>\n";
echo "</span>";
}
else
echo "<a href='javascript:history.back();' onMouseOver=\"{window.status='Zurück'; return true;}\">« Zurück</a>";
}
?>
</body>
</html>