This commit is contained in:
Andreas Österreicher
2007-07-03 14:12:10 +00:00
parent a1bc7ab4dd
commit c702fef7b1
6 changed files with 831 additions and 7 deletions
+3 -2
View File
@@ -11,7 +11,6 @@ Auflistung nach Priorit&auml;t (h&ouml;chste oben).<br>
<ul>
<li>Nach dem sortieren einiger Trees ist danach ein anderer Datensatz
markiert als vorher</li>
<li>Im Filter aufgenommene Bewerber kommen auch abgewiesene vor.</li>
</ul>
<br>
<h2>Fehler</h2>
@@ -42,7 +41,7 @@ wenn Mozilla bereits offen ist</li>
<li style="color: rgb(0, 0, 0);">BIS Meldung pr&uuml;fen und in
Oberfl&auml;che integrieren</li>
<li style="color: rgb(0, 0, 0);">Zeitweise ist das Speichern nicht
m&ouml;glich Error Code 500.<br>
m&ouml;glich Error Code 502.<br>
</li>
<li style="color: rgb(0, 0, 0);">Funktionen
Tree nach dem Aendern eines Datensatzes in der mitte der Liste wird der
@@ -73,6 +72,8 @@ allen auf einmal setzbar</li>
<hr>
<h2>Erledigte Anforderungen</h2>
<ul>
<li>Im Filter aufgenommene Bewerber kommen auch abgewiesene vor.<br>
1.6.2007 oesi<br><br></li>
<li>Bei "Interessent Neu" wird der Studiengang nicht &uuml;bernommen.<br>
25.06.2007 oesi <br><br>
</li>
@@ -740,8 +740,79 @@ function MitarbeiterNeu()
// ****
function MitarbeiterExport()
{
var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
var treeMitarbeiterMenu=document.getElementById('tree-menu-mitarbeiter');
var col = treeMitarbeiterMenu.columns ? treeMitarbeiterMenu.columns["tree-menu-mitarbeiter-col-filter"] : "tree-menu-mitarbeiter-col-filter";
var filter=treeMitarbeiterMenu.view.getCellText(treeMitarbeiterMenu.currentIndex,col);
cols = treeMitarbeiter.getElementsByTagName('treecol');
var url = "<?php echo APP_ROOT; ?>content/statistik/mitarbeiterexport.xls.php";
var attributes="?type=mitarbeiter";
if (filter=="Studiengangsleiter")
attributes+="&stgl=true";
if (filter=="Fachbereichsleiter")
attributes+="&fbl=true";
if (filter=="Alle")
attributes+="&alle=true";
if (filter=="Aktive")
attributes+="&aktiv=true";
if (filter=="FixAngestellte")
attributes+="&fix=true&aktiv=true";
if (filter=="FixAngestellteAlle")
attributes+="&fix=true";
if (filter=="Inaktive")
attributes+="&aktiv=false";
if (filter=="Karenziert")
attributes+="&karenziert=true";
if (filter=="Ausgeschieden")
attributes+="&ausgeschieden=true";
if (filter=="FreiAngestellte")
attributes+="&fix=false&aktiv=true";
if (filter=="FreiAngestellteAlle")
attributes+="&fix=false";
url+=attributes;
spalte=0;
for(i in cols)
{
if(cols[i].hidden==false)
{
url += "&spalte"+spalte+"="+MitarbeiterDetailgetSpaltenname(cols[i].id);
spalte=spalte+1;
}
}
//url+='&spalte0=titelpre&spalte1=vorname&spalte2=vornamen&spalte3=familienname&spalte4=uid';
//alert(url);
//window.open(url,"","chrome,status=no, modal, width=400, height=250, centerscreen, resizable");
window.location.href=url;
}
// ****
// * Liefert anhand der ID den Namen der Klassenvariable
// ****
function MitarbeiterDetailgetSpaltenname(id)
{
if(id=='mitarbeiter-treecol-anrede') return 'anrede';
if(id=='mitarbeiter-treecol-titelpre') return 'titelpre';
if(id=='mitarbeiter-treecol-vorname') return 'vorname';
if(id=='mitarbeiter-treecol-vornamen') return 'vornamen';
if(id=='mitarbeiter-treecol-nachname') return 'nachname';
if(id=='mitarbeiter-treecol-titelpost') return 'titelpost';
if(id=='mitarbeiter-treecol-personalnummer') return 'personalnummer';
if(id=='mitarbeiter-treecol-geburtsdatum') return 'gebdatum';
if(id=='mitarbeiter-treecol-svnr') return 'svnr';
if(id=='mitarbeiter-treecol-ersatzkennzeichen') return 'ersatzkennzeichen';
if(id=='mitarbeiter-treecol-uid') return 'uid';
if(id=='mitarbeiter-treecol-kurzbz') return 'kurzbz';
if(id=='mitarbeiter-treecol-geschlecht') return 'geschlecht';
if(id=='mitarbeiter-treecol-ort_kurzbz') return 'ort_kurzbz';
if(id=='mitarbeiter-treecol-telefonklappe') return 'telefonklappe';
if(id=='mitarbeiter-treecol-aktiv') return 'aktiv';
if(id=='mitarbeiter-treecol-person_id') return 'person_id';
if(id=='mitarbeiter-treecol-fixangestellt') return 'fixangestellt';
if(id=='mitarbeiter-treecol-lektor') return 'lektor';
}
// ***************** VERWENDUNG ********************** //
// ****
+169
View File
@@ -0,0 +1,169 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/mitarbeiter.class.php');
require_once('../../include/Excel/excel.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$user = get_uid();
loadVariables($conn, $user);
//Parameter holen
if (isset($_GET['fix']))
$fix = $_GET['fix'];
else
$fix=null;
if (isset($_GET['stgl']))
$stgl = ($_GET['stgl']=='true'?true:false);
else
$stgl=null;
if (isset($_GET['fbl']))
$fbl = $_GET['fbl'];
else
$fbl=null;
if (isset($_GET['aktiv']))
$aktiv = $_GET['aktiv'];
else
$aktiv=null;
if (isset($_GET['karenziert']))
$karenziert = $_GET['karenziert'];
else
$karenziert=null;
if (isset($_GET['ausgeschieden']))
$ausgeschieden = $_GET['ausgeschieden'];
else
$ausgeschieden=null;
if (isset($_GET['zustelladresse']))
$zustelladresse = $_GET['zustelladresse'];
else
$zustelladresse = null;
//Spalten
$anzSpalten=0;
$varname='spalte'.(string)$anzSpalten;
while (isset($_GET[$varname]))
{
$spalte[$anzSpalten]=$_GET[$varname];
//echo $spalte[$anzSpalten];
$anzSpalten++;
$varname='spalte'.(string)$anzSpalten;
}
$zustelladresse=true;
// Mitarbeiter holen
$mitarbeiterDAO=new mitarbeiter($conn);
$mitarbeiterDAO->getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $semester_aktuell);
//echo 'fix:'.$fix.' stgl:'.$stgl.' fbl:'.$fbl.' aktiv:'.$aktiv.' karenziert:'.$karenziert.' ausgeschieden:'.$ausgeschieden.' semester_aktuell:'.$semester_aktuell;
/*
* Create Excel File with Content from Students Examples solved
*/
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Mitarbeiter". "_" . date("d_m_Y") . ".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Mitarbeiter");
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$format_title =& $workbook->addFormat();
$format_title->setBold();
// $format_title->setColor('yellow');
// $format_title->setPattern(1);
// $format_title->setFgColor('blue');
// let's merge
$format_title->setAlign('merge');
for ($i=0;$i<$anzSpalten;$i++)
$worksheet->write(0,$i,strtoupper(str_replace('_bezeichnung','',$spalte[$i])), $format_bold);
$worksheet->write(0,$i,"STRASSE", $format_bold);
$worksheet->write(0,$i+1,"PLZ", $format_bold);
$worksheet->write(0,$i+2,"ORT", $format_bold);
// set width of columns
//$worksheet->setColumn(1,4,20); // ersten 3 Spalten auf width=17
//$worksheet->setColumn(0,0,22);
$j=1;
$maxlength = array();
for ($i=0;$i<$anzSpalten;$i++)
$maxlength[$i]=strlen(str_replace('_bezeichnung','',$spalte[$i]));
$maxlength[$i]=strlen('STRASSE');
$maxlength[$i+1]=strlen('PLZ');
$maxlength[$i+2]=strlen('ORT');
foreach ($mitarbeiterDAO->result as $mitarbeiter)
{
for ($i=0;$i<$anzSpalten;$i++)
{
if(strlen($mitarbeiter->$spalte[$i])>$maxlength[$i])
$maxlength[$i] = strlen($mitarbeiter->$spalte[$i]);
$worksheet->write($j,$i, $mitarbeiter->$spalte[$i]);
}
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id='$mitarbeiter->person_id' ORDER BY zustelladresse LIMIT 1";
if($result = pg_query($conn, $qry))
{
if($row = pg_fetch_object($result))
{
if(strlen($row->strasse)>$maxlength[$i])
$maxlength[$i]=strlen($row->strasse);
$worksheet->write($j,$i, $row->strasse);
if(strlen($row->plz)>$maxlength[$i+1])
$maxlength[$i+1]=strlen($row->plz);
$worksheet->write($j,$i+1, $row->plz);
if(strlen($row->ort)>$maxlength[$i+2])
$maxlength[$i+2]=strlen($row->ort);
$worksheet->write($j,$i+2, $row->ort);
}
}
$j++;
}
for ($i=0;$i<$anzSpalten;$i++)
$worksheet->setColumn($i, $i, $maxlength[$i]+2);
$worksheet->setColumn($i, $i, $maxlength[$i]+2);
$worksheet->setColumn($i+1, $i+1, $maxlength[$i+1]+2);
$worksheet->setColumn($i+2, $i+2, $maxlength[$i+2]+2);
$workbook->close();
?>