This commit is contained in:
Andreas Österreicher
2008-03-05 16:53:08 +00:00
parent 7860c67e4c
commit a2f7f64731
15 changed files with 212 additions and 36 deletions
+18
View File
@@ -419,6 +419,24 @@ Duplizierter Wert, etc.)<br>
<hr>
<h2>Erledigte Anforderungen</h2>
<ul>
<li>Neue Filter beim Mitarbeitermodul: "Inaktive Personen mit
Verwendung", "Aktive Personen ohne Verwendung", der "Karenziert" Filter
liefert jetzt nur noch aktive karenzierte Mitarbeiter, Der Filter
Ausgeschiedene wurde entfernt.<br>
05.03.2008 oesi<br>
<br>
</li>
<li>Wenn Reihungstestpunkte eingetragen werden wird automatisch das
Hackerl 'zum Reihungstest angetreten' gesetzt<br>
05.03.2008 oesi<br>
<br>
</li>
<li>Neuer Men&uuml;punkt "Berichte"-&gt;"Bewerberstatistik" - Liefert
eine Liste mit der Anzahl aller Interessenten/Bewerber der
Studieng&auml;nge<br>
05.03.2008 oesi<br>
<br>
</li>
<li>Der StatusTree "merkt" sich jetzt die angezeigten Spalten und
deren Reihenfolge<br>
04.03.2008 oesi<br>
+8 -8
View File
@@ -84,9 +84,9 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<command id="menu-statistic-lehrauftragsliste:command" oncommand="StatistikPrintLehrauftragsliste();"/>
<command id="menu-statistic-projektarbeit:command" oncommand="StatistikPrintProjektarbeit();"/>
<command id="menu-statistic-abschlusspruefung:command" oncommand="StatistikPrintAbschlusspruefung();"/>
<command id="menu-statistic-bewerberstatistik:command" oncommand="StatistikPrintBewerberstatistik();"/>
<command id="menu-statistic-notenspiegel:command" oncommand="StatistikPrintNotenspiegel('html');"/>
<command id="menu-statistic-notenspiegel-excel:command" oncommand="StatistikPrintNotenspiegel('xls');"/>
<command id="menu-statistic-bewerberstatistik:command" oncommand="StatistikPrintBewerberstatistik();"/>
<command id="menu-statistic-substatistik-studentenprosemester-excel:command" oncommand="StatistikPrintStudentenProSemester('xls');"/>
<command id="menu-statistic-substatistik-studentenprosemester-html:command" oncommand="StatistikPrintStudentenProSemester('');"/>
<command id="menu-statistic-substatistik-alvsstatistik-excel:command" oncommand="StatistikPrintALVSStatistik('xls');"/>
@@ -252,6 +252,12 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
label = "&menu-statistic-abschlusspruefung.label;"
command = "menu-statistic-abschlusspruefung:command"
accesskey = "&menu-statistic-abschlusspruefung.accesskey;"/>
<menuitem
id = "menu-statistic-bewerberstatistik"
key = "menu-statistic-bewerberstatistik:key"
label = "&menu-statistic-bewerberstatistik.label;"
command = "menu-statistic-bewerberstatistik:command"
accesskey = "&menu-statistic-bewerberstatistik.accesskey;"/>
<menu id="menu-statistic-subnotenspiegel" label="&menu-statistic-subnotenspiegel.label;" accesskey="&menu-statistic-subnotenspiegel.accesskey;">
<menupopup id="menu-statistic-subnotenspiegel-popup">
<menuitem
@@ -321,12 +327,6 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
?>
</menupopup>
</menu>
<!-- <menuitem
id = "menu-statistic-bewerberstatistik"
key = "menu-statistic-bewerberstatistik:key"
label = "&menu-statistic-bewerberstatistik.label;"
command = "menu-statistic-bewerberstatistik:command"
accesskey = "&menu-statistic-bewerberstatistik.accesskey;"/>-->
</menupopup>
</menu>
<!-- ********** DOKUMENTE ********** -->
@@ -569,7 +569,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz'))
{
echo '<tab id="tab-verband" label="Verband" onclick="ChangeTabVerband()"/>';
echo '<tab id="tab-fachbereich" label="Fachbereich" onclick="ChangeTabsToLehrveranstaltung()"/>';
echo '<tab id="tab-fachbereich" label="Institut" onclick="ChangeTabsToLehrveranstaltung()"/>';
echo '<tab id="tab-lektor" label="Lektor" onclick="ChangeTabsToLehrveranstaltung()"/>';
}
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter'))
+2 -2
View File
@@ -831,13 +831,13 @@ function StatistikPrintNotenspiegel(typ)
}
// ****
// * Liefert ein Excel-File mit den aktuellen Rollen aller Studenten
// * Liefert eine statistik ueber die Anzahl der Interessenten/Bewerber Studenten
// ****
function StatistikPrintBewerberstatistik()
{
var stsem = getStudiensemester();
window.open('<?php echo APP_ROOT ?>content/statistik/bewerberstatistik.xls.php?studiensemester_kurzbz='+stsem,'Bewerberstatistik','height=200,width=300,left=10,top=10,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
window.open('<?php echo APP_ROOT ?>content/statistik/bewerberstatistik.php?stsem='+stsem,'Bewerberstatistik');
}
// ****
+15 -9
View File
@@ -245,8 +245,20 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
</treeitem>
<treeitem>
<treerow>
<treecell label="Institutsleiter"/>
<treecell label="Fachbereichsleiter"/>
<treecell label="Fachbereichsleiter"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Karenziert"/>
<treecell label="Karenziert"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="ohne Verwendung"/>
<treecell label="ohneVerwendung"/>
</treerow>
</treeitem>
</treechildren>
@@ -260,14 +272,8 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
<treechildren>
<treeitem>
<treerow>
<treecell label="Karenziert"/>
<treecell label="Karenziert"/>
</treerow>
</treeitem>
<treeitem>
<treerow>
<treecell label="Ausgeschieden"/>
<treecell label="Ausgeschieden"/>
<treecell label="mit Verwendung"/>
<treecell label="mitVerwendung"/>
</treerow>
</treeitem>
</treechildren>
+2 -2
View File
@@ -68,7 +68,7 @@ else
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#studiengang" onclick="FunktionTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="funktion-treecol-fachbereich" label="Fachbereich" flex="1" hidden="false"
<treecol id="funktion-treecol-fachbereich" label="Institut" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#fachbereich_kurzbz" onclick="FunktionTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -158,7 +158,7 @@ else
</menulist>
</row>
<row>
<label value="Fachbereich" id="funktion-label-fachbereich" control="funktion-menulist-fachbereich"/>
<label value="Institut" id="funktion-label-fachbereich" control="funktion-menulist-fachbereich"/>
<menulist id="funktion-menulist-fachbereich" disabled="true"
datasources="<?php echo APP_ROOT;?>/rdf/fachbereich.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/fachbereich/liste" >
@@ -284,11 +284,15 @@ function onMitarbeiterSelect()
}
if (filter=="Karenziert")
{
attributes+="&karenziert=true";
attributes+="&karenziert=true&aktiv=true";
}
if (filter=="Ausgeschieden")
if (filter=="ohneVerwendung")
{
attributes+="&ausgeschieden=true";
attributes+="&verwendung=false&aktiv=true";
}
if (filter=="mitVerwendung")
{
attributes+="&verwendung=true&aktiv=false";
}
if (filter=="FreiAngestellte")
{
@@ -101,7 +101,7 @@ loadVariables($conn, $user);
if($semester!='')
$qry.= " AND tbl_studentlehrverband.semester='".addslashes($semester)."'";
echo $qry;
$zeile=1;
if($result = pg_query($conn, $qry))
{
+123
View File
@@ -0,0 +1,123 @@
<?php
/* Copyright (C) 2007 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/studiensemester.class.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Connecten zur DB');
if(isset($_GET['stsem']))
$stsem = $_GET['stsem'];
else
$stsem = '';
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body>
<h2>Bewerberstatistik '.$stsem.'</h2><br>
';
if($stsem=='')
{
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">Studiensemester: <SELECT name="stsem">';
$stsem = new studiensemester($conn);
$stsem->getAll();
foreach ($stsem->studiensemester as $stsemester)
{
echo '<option value="'.$stsemester->studiensemester_kurzbz.'">'.$stsemester->studiensemester_kurzbz.'</option>';
}
echo '</SELECT>
<input type="submit" value="Anzeigen" />';
}
else
{
$qry = "SELECT
studiengang_kz, kurzbzlang, bezeichnung,
(SELECT count(*) FROM public.tbl_prestudent WHERE studiengang_kz=stg.studiengang_kz) AS prestd,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentrolle USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND rolle_kurzbz='Interessent' AND studiensemester_kurzbz='$stsem'
) AS interessenten,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentrolle USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND rolle_kurzbz='Interessent' AND studiensemester_kurzbz='$stsem'
AND anmeldungreihungstest IS NOT NULL) AS interessentenrtanmeldung,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentrolle USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND rolle_kurzbz='Interessent' AND studiensemester_kurzbz='$stsem'
AND reihungstest_id IS NOT NULL) AS interessentenrttermin,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentrolle USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND rolle_kurzbz='Interessent' AND studiensemester_kurzbz='$stsem'
AND reihungstestangetreten) AS interessentenrtabsolviert,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentrolle USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND rolle_kurzbz='Interessent' AND studiensemester_kurzbz='$stsem'
AND (zgv_code IS NOT NULL OR zgvmas_code IS NOT NULL)) AS interessentenzgv,
(SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentrolle USING (prestudent_id)
WHERE studiengang_kz=stg.studiengang_kz AND rolle_kurzbz='Bewerber' AND studiensemester_kurzbz='$stsem'
) AS bewerber
FROM
public.tbl_studiengang stg
WHERE
studiengang_kz>0 AND studiengang_kz<10000
ORDER BY kurzbzlang; ";
if($result = pg_query($conn, $qry))
{
echo "<table class='liste table-autosort:0 table-stripeclass:alternate table-autostripe'>
<thead>
<tr>
<th class='table-sortable:default'>Studiengang</th>
<th class='table-sortable:numeric'>Prestudenten</th>
<th class='table-sortable:numeric'>Interessenten</th>
<th class='table-sortable:numeric'>Interessenten mit RT Anmeldung</th>
<th class='table-sortable:numeric'>Interessenten mit RT Termin</th>
<th class='table-sortable:numeric'>Interessenten mit absolviertem RT</th>
<th class='table-sortable:numeric'>Interessenten mit ZGV</th>
<th class='table-sortable:numeric'>Bewerber</th>
</tr>
</thead>
<tbody>
";
while($row = pg_fetch_object($result))
{
echo '<tr>';
echo "<td>$row->kurzbzlang</td>";
echo "<td align='center'>$row->prestd</td>";
echo "<td align='center'>$row->interessenten</td>";
echo "<td align='center'>$row->interessentenrtanmeldung</td>";
echo "<td align='center'>$row->interessentenrttermin</td>";
echo "<td align='center'>$row->interessentenrtabsolviert</td>";
echo "<td align='center'>$row->interessentenzgv</td>";
echo "<td align='center'>$row->bewerber</td>";
echo "</tr>";
}
echo '</tbody></table>';
}
}
?>
</body>
</html>
+1 -1
View File
@@ -393,7 +393,7 @@ if(!$error)
$prestudent->reihungstest_id = $_POST['reihungstest_id'];
$prestudent->anmeldungreihungstest = $_POST['anmeldungreihungstest'];
$prestudent->reihungstestangetreten = ($_POST['reihungstestangetreten']=='true'?true:false);
$prestudent->punkte = $_POST['punkte'];
$prestudent->punkte = str_replace(',','.',$_POST['punkte']);
$prestudent->bismelden = ($_POST['bismelden']=='true'?true:false);
$prestudent->anmerkung = $_POST['anmerkung'];
//$prestudent->insertamum = date('Y-m-d H:i:s');
@@ -402,6 +402,12 @@ function StudentAbschlusspruefungSpeichern()
return false;
}
if(akadgrad_id=='')
{
alert('Akademischer Grad muss angegeben werden');
return false;
}
var col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
var student_uid=tree.view.getCellText(tree.currentIndex,col);
+1 -1
View File
@@ -348,7 +348,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Zum Reihungstest angetreten" control="student-prestudent-checkbox-reihungstestangetreten"/>
<checkbox id="student-prestudent-checkbox-reihungstestangetreten" checked="true" disabled="true"/>
<label value="Reihungstestpunkte" control="student-prestudent-textbox-punkte"/>
<hbox><textbox id="student-prestudent-textbox-punkte" disabled="true" maxlength="9" size="9"/></hbox>
<hbox><textbox id="student-prestudent-textbox-punkte" disabled="true" maxlength="9" size="9" onchange="StudentReihungstestPunkteChange();"/></hbox>
</row>
</rows>
</grid>
+11
View File
@@ -1523,6 +1523,17 @@ function StudentAnmeldungreihungstestHeute()
document.getElementById('student-prestudent-textbox-anmeldungreihungstest').value=tag+'.'+monat+'.'+jahr;
}
// ****
// * Wenn Reihungstestpunkte eingetragen werden automatisch das
// * Hackerl 'zum Reihungstest angetreten' setzen
// ****
function StudentReihungstestPunkteChange()
{
if(document.getElementById('student-prestudent-textbox-punkte').value!=''
&& document.getElementById('student-prestudent-checkbox-reihungstestangetreten').checked==false)
document.getElementById('student-prestudent-checkbox-reihungstestangetreten').checked=true;
}
// ****
// * Einen Ab-/Unterbrecher wieder zum Studenten machen
// ****
+7 -3
View File
@@ -544,7 +544,7 @@ class mitarbeiter extends benutzer
}
}
function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $studiensemester_kurzbz)
function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung, $studiensemester_kurzbz)
{
$qry = "SELECT distinct on(person_id) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum, tbl_mitarbeiter.insertvon FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN public.tbl_benutzerfunktion USING(uid) WHERE true";
@@ -562,9 +562,13 @@ class mitarbeiter extends benutzer
$qry .= " AND tbl_benutzer.aktiv=false";
if($karenziert)
$qry .= " AND uid IN (SELECT mitarbeiter_uid FROM bis.tbl_bisverwendung WHERE beschausmasscode='5' AND (ende>now() OR ende is null))"; //beginn<(SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$studiensemester_kurzbz') AND ende<(SELECT ende FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='$studiensemester_kurzbz')
if($ausgeschieden)
if($verwendung=='true')
{
$qry.=" AND tbl_benutzer.aktiv=false"; // AND NOT EXISTS(SELECT * FROM bis.tbl_bisverwendung WHERE (ende>now() or ende is null) AND tbl_bisverwendung.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid)
$qry.=" AND EXISTS(SELECT * FROM bis.tbl_bisverwendung WHERE (ende>now() or ende is null) AND tbl_bisverwendung.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid)";
}
if($verwendung=='false')
{
$qry.=" AND NOT EXISTS(SELECT * FROM bis.tbl_bisverwendung WHERE (ende>now() or ende is null) AND tbl_bisverwendung.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid)";
}
//echo $qry;
if($result = pg_query($this->conn, $qry))
+6 -2
View File
@@ -29,14 +29,18 @@
// * $jahr: 07 = Jahr
// * $stgtyp: b/m/d/x = Bachelor/Master/Diplom/Incomming
// * $matrikelnummer
// * 001 = Laufende Nummer ( Wenn StSem==SS dann wird zur nummer 500 dazugezaehlt)
// * 001 = Laufende Nummer Wenn StSem==SS dann wird zur Nummer 500 dazugezaehlt
// * Bei Incoming im Masterstudiengang wird auch 500 dazugezaehlt
// ****
function generateUID($stgkzl,$jahr, $stgtyp, $matrikelnummer)
{
$art = substr($matrikelnummer, 2, 1);
$nr = substr($matrikelnummer, 7);
if($art=='2')
if($art=='2') //Sommersemester
$nr = $nr+500;
elseif($art=='0' && $stgtyp=='m') //Incoming im Masterstudiengang
$nr = $nr+500;
return $stgkzl.$jahr.($art!='0'?$stgtyp:'x').$nr;
}
+4 -4
View File
@@ -74,10 +74,10 @@ if (isset($_GET['karenziert']))
else
$karenziert=null;
if (isset($_GET['ausgeschieden']))
$ausgeschieden = $_GET['ausgeschieden'];
if (isset($_GET['verwendung']))
$verwendung = $_GET['verwendung'];
else
$ausgeschieden=null;
$verwendung=null;
if(isset($_GET['filter']))
$filter = $_GET['filter'];
@@ -104,7 +104,7 @@ if($uid==null)
if($filter!='')
$mitarbeiterDAO->searchPersonal($filter);
else
$mitarbeiterDAO->getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $ausgeschieden, $semester_aktuell);
$mitarbeiterDAO->getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung, $semester_aktuell);
foreach ($mitarbeiterDAO->result as $mitarbeiter)
draw_row($mitarbeiter);