Neue Übersichtsseite für die Vorarbeiten zur Mitarbeitermeldung

Neue Prüfscripte zur automatischen Verlängerung von Verwendungen für
frei Lektoren
Neue Prüfscripte zur deaktivierung von freien Lektoren ohne Lehrauftrag
This commit is contained in:
Andreas Oesterreicher
2017-10-04 11:12:33 +02:00
parent 4f818ccb42
commit 60f306cafe
9 changed files with 849 additions and 189 deletions
+8 -22
View File
@@ -164,10 +164,8 @@ foreach($addon_obj->result as $addon)
<command id="menu-extras-preinteressentenuebernahme:command" oncommand="ExtrasShowPreinteressentenuebernahme();"/>
<command id="menu-extras-projektarbeitsabgaben:command" oncommand="ExtrasShowProjektarbeitsabgaben();"/>
<command id="menu-extras-aliquote_reduktion:command" oncommand="ExtrasShowAliquote_reduktion();"/>
<command id="menu-bis-mitarbeiter-import:command" oncommand="BISMitarbeiterImport();"/>
<command id="menu-bis-mitarbeiter-export:command" oncommand="BISMitarbeiterExport();"/>
<command id="menu-bis-mitarbeiter-checkverwendung:command" oncommand="BISMitarbeiterCheckVerwendung();"/>
<command id="menu-bis-mitarbeiter-checkfunktion:command" oncommand="BISMitarbeiterCheckFunktion();"/>
<command id="menu-bis-mitarbeiter-uebersicht:command" oncommand="BISMitarbeiterUebersicht();"/>
<command id="menu-bis-studenten-export:command" oncommand="BISStudentenExport();"/>
<command id="menu-bis-studenten-checkstudent:command" oncommand="BISStudentenPlausicheck();"/>
<command id="menu-help-about:command" oncommand="OpenAboutDialog()"/>
@@ -272,7 +270,7 @@ foreach($addon_obj->result as $addon)
key ="menu-prefs-number_displayed_past_studiensemester:key"
label ="&menu-prefs-number_displayed_past_studiensemester.label;"
command ="menu-prefs-number_displayed_past_studiensemester:command"
accesskey ="&menu-prefs-number_displayed_past_studiensemester.accesskey;"
accesskey ="&menu-prefs-number_displayed_past_studiensemester.accesskey;"
value ="<?php echo (isset($variable->variable->number_displayed_past_studiensemester)?$variable->variable->number_displayed_past_studiensemester:'');?>"
/>
</menupopup>
@@ -859,30 +857,18 @@ foreach($addon_obj->result as $addon)
<menupopup id="menu-bis-popup">
<menu id="menu-bis-mitarbeiter" label="&menu-bis-mitarbeiter.label;" accesskey="&menu-bis-mitarbeiter.accesskey;">
<menupopup id="menu-bis-mitarbeiter-popup">
<menuitem
id = "menu-bis-mitarbeiter-checkverwendung"
key = "menu-bis-mitarbeiter-checkverwendung:key"
label = "&menu-bis-mitarbeiter-checkverwendung.label;"
command = "menu-bis-mitarbeiter-checkverwendung:command"
accesskey = "&menu-bis-mitarbeiter-checkverwendung.accesskey;"/>
<menuitem
id = "menu-bis-mitarbeiter-checkfunktion"
key = "menu-bis-mitarbeiter-checkfunktion:key"
label = "&menu-bis-mitarbeiter-checkfunktion.label;"
command = "menu-bis-mitarbeiter-checkfunktion:command"
accesskey = "&menu-bis-mitarbeiter-checkfunktion.accesskey;"/>
<menuitem
id = "menu-bis-mitarbeiter-uebersicht"
key = "menu-bis-mitarbeiter-uebersicht:key"
label = "&menu-bis-mitarbeiter-uebersicht.label;"
command = "menu-bis-mitarbeiter-uebersicht:command"
accesskey = "&menu-bis-mitarbeiter-uebersicht.accesskey;"/>
<menuitem
id = "menu-bis-mitarbeiter-export"
key = "menu-bis-mitarbeiter-export:key"
label = "&menu-bis-mitarbeiter-export.label;"
command = "menu-bis-mitarbeiter-export:command"
accesskey = "&menu-bis-mitarbeiter-export.accesskey;"/>
<menuitem
id = "menu-bis-mitarbeiter-import"
key = "menu-bis-mitarbeiter-import:key"
label = "&menu-bis-mitarbeiter-import.label;"
command = "menu-bis-mitarbeiter-import:command"
accesskey = "&menu-bis-mitarbeiter-import.accesskey;"/>
</menupopup>
</menu>
<menu id="menu-bis-studenten" label="&menu-bis-studenten.label;" accesskey="&menu-bis-studenten.accesskey;">
+11 -19
View File
@@ -1203,9 +1203,9 @@ function MessageNew()
else
{
var prestudentIdArray = getMultipleTreeCellText(tree, 'student-treecol-prestudent_id');
var action = '<?php echo APP_ROOT ?>index.ci.php/system/Messages/write/' + <?php echo $benutzer->person_id; ?>;
openWindowPostArray(action, 'prestudent_id', prestudentIdArray);
}
}
@@ -1396,19 +1396,11 @@ function BISMitarbeiterExport()
}
// ****
// * Oeffnet Script zum Checken der Verwendung
// * oeffnet Uebersichtsseite fuer Mitarbeiter BIS Meldung
// ****
function BISMitarbeiterCheckVerwendung()
function BISMitarbeiterUebersicht()
{
window.open('<?php echo APP_ROOT ?>vilesci/bis/checkverwendung.php','CheckVerwendung','');
}
// ****
// * oeffnet Script zum Checken der Funktion
// ****
function BISMitarbeiterCheckFunktion()
{
window.open('<?php echo APP_ROOT ?>vilesci/bis/checkfunktion.php','CheckFunktion','');
window.open('<?php echo APP_ROOT ?>vilesci/bis/personalmeldung_uebersicht.php','Uebersicht','');
}
// ****
@@ -2054,9 +2046,9 @@ function OrganisationseinheitTreeRefresh()
function variableChangeValue(variable)
{
var variablevalue = getvariable(variable);
if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue))
{
{
variableChange(variable, '', variablevalue);
}
}
@@ -2068,7 +2060,7 @@ function variableChange(variable, id, wert)
{
if(id!=null)
item = document.getElementById(id);
if(typeof(wert)==='undefined')
{
if(item.getAttribute('checked')=='true')
@@ -2078,11 +2070,11 @@ function variableChange(variable, id, wert)
}
else
checked=wert;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
@@ -2090,7 +2082,7 @@ function variableChange(variable, id, wert)
req.add('type', 'variablechange');
req.add('name', variable);
req.add('wert', checked);
var response = req.executePOST();
var val = new ParseReturnValue(response)
+4
View File
@@ -387,6 +387,10 @@
<!ENTITY menu-bis-mitarbeiter-checkfunktion.label "checkFunktion">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.accesskey "F">
<!ENTITY menu-bis-mitarbeiter-uebersicht.key "B">
<!ENTITY menu-bis-mitarbeiter-uebersicht.label "Übersicht">
<!ENTITY menu-bis-mitarbeiter-uebersicht.accesskey "B">
<!ENTITY menu-bis-studenten.key "S">
<!ENTITY menu-bis-studenten.label "Studenten">
<!ENTITY menu-bis-studenten.accesskey "S">
+9 -5
View File
@@ -1,5 +1,5 @@
<!ENTITY window.title "FAS">
<!ENTITY window.version "3.0">
<!ENTITY window.title "FAS">
<!ENTITY window.version "3.0">
<!-- MENUE -->
@@ -362,9 +362,13 @@
<!ENTITY menu-bis-mitarbeiter-checkverwendung.label "checkVerwendung">
<!ENTITY menu-bis-mitarbeiter-checkverwendung.accesskey "V">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.key "F">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.label "checkFunktion">
<!ENTITY menu-bis-mitarbeiter-checkfunktion.accesskey "F">
<!ENTITY menu-bis-mitarbeiter-uebersicht.key "B">
<!ENTITY menu-bis-mitarbeiter-ueberischt.label "Übersicht">
<!ENTITY menu-bis-mitarbeiter-uebersicht.accesskey "B">
<!ENTITY menu-bis-mitarbeiter-uebersicht.key "U">
<!ENTITY menu-bis-mitarbeiter-uebersicht.label "Übersicht">
<!ENTITY menu-bis-mitarbeiter-uebersicht.accesskey "U">
<!ENTITY menu-bis-studenten.key "S">
<!ENTITY menu-bis-studenten.label "Studenten">
+164 -136
View File
@@ -57,6 +57,10 @@ foreach ($stg_obj->result as $stg)
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
}
$stsem = new studiensemester();
$stsemprev = $stsem->getPrevious();
$stsemprevprev = $stsem->getBeforePrevious();
echo '<html>
<head>
<title>Check Funktion</title>
@@ -64,152 +68,176 @@ echo '<html>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body class="Background_main">
<h2>Mitarbeiter BIS-Funktion Check</h2>
<h2>Mitarbeiter BIS-Funktion Check für '.$stsemprevprev.'/'.$stsemprev.'</h2>
';
$stsem = new studiensemester();
$stsemprev = $stsem->getPrevious();
$stsemprevprev = $stsem->getBeforePrevious();
echo "Generiere Funktionen für $stsemprevprev/$stsemprev<br>";
$qry = "SELECT tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.studiengang_kz, sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semstd
FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
WHERE
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
(studiensemester_kurzbz=".$db->db_add_param($stsemprev)." OR studiensemester_kurzbz=".$db->db_add_param($stsemprevprev).") AND
bismelden=true AND tbl_lehreinheitmitarbeiter.semesterstunden>0 GROUP BY mitarbeiter_uid, studiengang_kz";
if($result = $db->db_query($qry))
if(isset($_POST['action']) && $_POST['action'] == 'delete')
{
$lastuid='';
while($row = $db->db_fetch_object($result))
$qry = "DELETE FROM bis.tbl_bisfunktion where (studiengang_kz, bisverwendung_id) in (SELECT studiengang_kz, bisverwendung_id FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
SELECT mitarbeiter_uid, studiengang_kz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprevprev)." OR tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprev)."))
AND (ende>".$db->db_add_param($lastbismeldung)." OR ende is null))";
if($db->db_query($qry))
{
if($lastuid!=$row->mitarbeiter_uid)
{
$lastuid=$row->mitarbeiter_uid;
//Verwendung suchen
$person_error=false;
$qry_verw = "SELECT * FROM bis.tbl_bisverwendung
WHERE
(ende>now() OR ende is null OR ende>".$db->db_add_param($lastbismeldung).")
AND (beginn<".$db->db_add_param($aktbismeldung)." OR beginn is null)
AND mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)."
ORDER BY beginn DESC";
if($result_verw = $db->db_query($qry_verw))
{
if($db->db_num_rows($result_verw)==0)
{
echo "<br>Es wurde keine Verwendung fuer <b>$row->mitarbeiter_uid</b> gefunden";
$person_error = true;
$verwendung_not_found++;
}
else
{
if($row_verw = $db->db_fetch_object($result_verw))
$verwendung_id = $row_verw->bisverwendung_id;
else
{
echo "<br>Fehler beim Holen der Verwendung von $row->mitarbeiter_uid";
$person_error = true;
}
}
if($db->db_num_rows($result_verw)>1)
{
echo "<br>Es wurde mehr als eine Verwendung bei $row->mitarbeiter_uid gefunden - es wird die Verwendung $verwendung_id verwendet";
$verwendung_multiple++;
}
}
else
{
echo "<br>Fehler beim Ermitteln der Verwendung ".$db->db_last_error();
$person_error = true;
}
}
if(!$person_error)
{
//SWS berechnen
$swsneu = number_format(round($row->semstd/$wochen, 2),2,'.','');
//Funktion fuer diesen Studiengang suchen
$bisfunktion = new bisfunktion();
if($bisfunktion->load($verwendung_id, $row->studiengang_kz))
{
$bisfunktion->new = false;
if($bisfunktion->sws!=$swsneu)
{
echo "<br>$row->mitarbeiter_uid: Funktion bei Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) wird von $bisfunktion->sws auf $swsneu geaendert";
$bisfunktion->sws = $swsneu;
$funktion_geaendert++;
}
}
else
{
$bisfunktion->insertamum = date('Y-m-d H:i:s');
$bisfunktion->insertvon = $user;
$bisfunktion->studiengang_kz = $row->studiengang_kz;
$bisfunktion->sws = $swsneu;
$bisfunktion->new = true;
$bisfunktion->bisverwendung_id = $verwendung_id;
$funktion_hinzugefuegt++;
}
$bisfunktion->updateamum = date('Y-m-d H:i:s');
$bisfunktion->updatevon = $user;
if(!$bisfunktion->save())
{
echo "<br>$row->mitarbeiter_uid: Fehler beim Anlegen der Funktion ".$bisfunktion->errormsg;
if($bisfunktion->new)
$funktion_hinzugefuegt--;
else
$funktion_geaendert--;
$funktion_error++;
}
}
echo 'Falsche Funktionszuordnungen wurden entfernt';
}
else
{
echo 'Fehler beim Löschen der Zuordnungen';
}
}
if(isset($_POST['action']) && $_POST['action'] == 'run')
{
$qry = "SELECT tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehrveranstaltung.studiengang_kz, sum(tbl_lehreinheitmitarbeiter.semesterstunden) as semstd
FROM lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
WHERE
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND
(studiensemester_kurzbz=".$db->db_add_param($stsemprev)." OR studiensemester_kurzbz=".$db->db_add_param($stsemprevprev).") AND
bismelden=true AND tbl_lehreinheitmitarbeiter.semesterstunden>0 GROUP BY mitarbeiter_uid, studiengang_kz";
echo '<br><br>';
echo '<b>Check fuer nicht benoetigte Funktionen</b>';
$qry = "SELECT * FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
SELECT mitarbeiter_uid, studiengang_kz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprev)." OR tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprevprev)."))
AND (ende>".$db->db_add_param($lastbismeldung)." OR ende is null)
ORDER BY mitarbeiter_uid, studiengang_kz";
if($result = $db->db_query($qry))
{
$funktion_ohne_lehrauftrag = $db->db_num_rows($result);
$lastuid='';
while($row = $db->db_fetch_object($result))
{
echo "<br><b>$row->mitarbeiter_uid</b> hat im Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) eine Funktion ohne Lehrauftrag";
if($lastuid!=$row->mitarbeiter_uid)
{
$lastuid=$row->mitarbeiter_uid;
//Verwendung suchen
$person_error=false;
$qry_verw = "SELECT * FROM bis.tbl_bisverwendung
WHERE
(ende>now() OR ende is null OR ende>".$db->db_add_param($lastbismeldung).")
AND (beginn<".$db->db_add_param($aktbismeldung)." OR beginn is null)
AND mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid)."
ORDER BY beginn DESC";
if($result_verw = $db->db_query($qry_verw))
{
if($db->db_num_rows($result_verw)==0)
{
echo "<br>Es wurde keine Verwendung fuer <b>$row->mitarbeiter_uid</b> gefunden";
$person_error = true;
$verwendung_not_found++;
}
else
{
if($row_verw = $db->db_fetch_object($result_verw))
$verwendung_id = $row_verw->bisverwendung_id;
else
{
echo "<br>Fehler beim Holen der Verwendung von $row->mitarbeiter_uid";
$person_error = true;
}
}
if($db->db_num_rows($result_verw)>1)
{
echo "<br>Es wurde mehr als eine Verwendung bei $row->mitarbeiter_uid gefunden - es wird die Verwendung $verwendung_id verwendet";
$verwendung_multiple++;
}
}
else
{
echo "<br>Fehler beim Ermitteln der Verwendung ".$db->db_last_error();
$person_error = true;
}
}
if(!$person_error)
{
//SWS berechnen
$swsneu = number_format(round($row->semstd/$wochen, 2),2,'.','');
//Funktion fuer diesen Studiengang suchen
$bisfunktion = new bisfunktion();
if($bisfunktion->load($verwendung_id, $row->studiengang_kz))
{
$bisfunktion->new = false;
if($bisfunktion->sws!=$swsneu)
{
echo "<br>$row->mitarbeiter_uid: Funktion bei Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) wird von $bisfunktion->sws auf $swsneu geaendert";
$bisfunktion->sws = $swsneu;
$funktion_geaendert++;
}
}
else
{
$bisfunktion->insertamum = date('Y-m-d H:i:s');
$bisfunktion->insertvon = $user;
$bisfunktion->studiengang_kz = $row->studiengang_kz;
$bisfunktion->sws = $swsneu;
$bisfunktion->new = true;
$bisfunktion->bisverwendung_id = $verwendung_id;
$funktion_hinzugefuegt++;
}
$bisfunktion->updateamum = date('Y-m-d H:i:s');
$bisfunktion->updatevon = $user;
if(!$bisfunktion->save())
{
echo "<br>$row->mitarbeiter_uid: Fehler beim Anlegen der Funktion ".$bisfunktion->errormsg;
if($bisfunktion->new)
$funktion_hinzugefuegt--;
else
$funktion_geaendert--;
$funktion_error++;
}
}
}
echo '<br><br>';
echo '<b>Check fuer nicht benoetigte Funktionen</b>';
$qry = "SELECT * FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
SELECT mitarbeiter_uid, studiengang_kz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprev)." OR tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprevprev)."))
AND (ende>".$db->db_add_param($lastbismeldung)." OR ende is null)
ORDER BY mitarbeiter_uid, studiengang_kz";
if($result = $db->db_query($qry))
{
$funktion_ohne_lehrauftrag = $db->db_num_rows($result);
while($row = $db->db_fetch_object($result))
{
echo "<br><b>$row->mitarbeiter_uid</b> hat im Studiengang ".$stg_arr[$row->studiengang_kz]." ($row->studiengang_kz) eine Funktion ohne Lehrauftrag";
}
}
echo '<br><br>Loeschen der Funktionen:
<form method="POST" action="checkfunktion.php">
<input type="hidden" name="action" value="delete" />
<input type="submit" value="Falsche Funktionen jetzt löschen" />
</form>';
echo '<br><br>';
echo '<h3>Uebersicht</h3>';
echo '<table>';
echo "<tr><td>Nicht vorhandene Verwendungen</td><td>$verwendung_not_found</td></tr>";
echo "<tr><td>Mehrere moegliche Verwendungen vorhanden</td><td>$verwendung_multiple</td></tr>";
echo "<tr><td>Fehler bei Funktionen</td><td>$funktion_error</td></tr>";
echo "<tr><td>Funktionen ohne Lehrauftrag</td><td>$funktion_ohne_lehrauftrag</td></tr>";
echo "<tr><td>&nbsp;</td><td>&nbsp;</td></tr>";
echo "<tr><td>Funktionen hinzugefuegt</td><td>$funktion_hinzugefuegt</td></tr>";
echo "<tr><td>Funktionen geaendert</td><td>$funktion_geaendert</td></tr>";
echo '</table>';
}
echo "<br><br>Loeschen der Funktionen mit: DELETE FROM bis.tbl_bisfunktion where (studiengang_kz, bisverwendung_id) in (SELECT studiengang_kz, bisverwendung_id FROM bis.tbl_bisfunktion JOIN bis.tbl_bisverwendung USING(bisverwendung_id)
WHERE (mitarbeiter_uid, studiengang_kz) NOT IN (
SELECT mitarbeiter_uid, studiengang_kz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
(tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprevprev)." OR tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsemprev)."))
AND (ende>".$db->db_add_param($lastbismeldung)." OR ende is null))";
echo '<br><br>';
echo '<h3>Uebersicht</h3>';
echo '<table>';
echo "<tr><td>Nicht vorhandene Verwendungen</td><td>$verwendung_not_found</td></tr>";
echo "<tr><td>Mehrere moegliche Verwendungen vorhanden</td><td>$verwendung_multiple</td></tr>";
echo "<tr><td>Fehler bei Funktionen</td><td>$funktion_error</td></tr>";
echo "<tr><td>Funktionen ohne Lehrauftrag</td><td>$funktion_ohne_lehrauftrag</td></tr>";
echo "<tr><td>&nbsp;</td><td>&nbsp;</td></tr>";
echo "<tr><td>Funktionen hinzugefuegt</td><td>$funktion_hinzugefuegt</td></tr>";
echo "<tr><td>Funktionen geaendert</td><td>$funktion_geaendert</td></tr>";
echo '</table>';
}
else
{
echo '
<br>
Diese Seite erstellt automatisch die Funktionen der Lektoren aus den Lehraufträgen.
<form method="POST" action="checkfunktion.php">
<input type="hidden" name="action" value="run" />
<input type="submit" value="Funktionen generieren" />
</form>';
}
+7 -7
View File
@@ -122,16 +122,16 @@ if($resultall = $db->db_query($qryall))
}
}
}
//2 - aktive mitarbeiter mit keiner aktuellen verwendung
//2 - aktive fixe mitarbeiter mit keiner aktuellen verwendung
$qryall='SELECT uid,nachname,vorname, count(bisverwendung_id)
FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid)
WHERE aktiv AND NOT ende>now() AND NOT ende IS NULL
WHERE aktiv AND fixangestellt AND NOT ende>now() AND NOT ende IS NULL
AND uid NOT IN (SELECT uid FROM campus.vw_mitarbeiter LEFT OUTER JOIN bis.tbl_bisverwendung ON (uid=mitarbeiter_uid)
WHERE aktiv AND (ende>now() OR ende IS NULL)) GROUP BY uid,nachname,vorname ORDER by nachname,vorname;';
WHERE aktiv AND fixangestellt AND (ende>now() OR ende IS NULL)) GROUP BY uid,nachname,vorname ORDER by nachname,vorname;';
if($resultall = $db->db_query($qryall))
{
$num_rows_all=$db->db_num_rows($resultall);
echo "<br><br><H2>Bei $num_rows_all aktiven Mitarbeitern sind keine aktuellen Verwendungen eingetragen</H2>";
echo "<br><br><H2>Bei $num_rows_all aktiven Fixangestellten Mitarbeitern sind keine aktuellen Verwendungen eingetragen</H2>";
while($rowall=$db->db_fetch_object($resultall))
{
$i=0;
@@ -293,10 +293,10 @@ if($resultall = $db->db_query($qryall))
$i=0;
$qryall="SELECT DISTINCT lehre.tbl_lehreinheitmitarbeiter.mitarbeiter_uid, nachname, vorname
FROM lehre.tbl_lehreinheitmitarbeiter join lehre.tbl_lehreinheit USING (lehreinheit_id)
JOIN
JOIN
lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN campus.vw_mitarbeiter ON (tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid)
WHERE
WHERE
(lehre.tbl_lehreinheit.studiensemester_kurzbz='$lastss' OR lehre.tbl_lehreinheit.studiensemester_kurzbz='$lastws')
AND tbl_lehreinheitmitarbeiter.stundensatz!=0 AND tbl_lehreinheitmitarbeiter.semesterstunden!=0
AND NOT EXISTS (SELECT * FROM bis.tbl_bisverwendung
@@ -374,7 +374,7 @@ if($resultall = $db->db_query($qryall))
{
$i++;
echo "<br><u>Mitarbeiter(in) ".$rowall->nachname." ".$rowall->vorname.":</u><br>";
echo "(ba1code: $rowall->ba1code, ba2code: $rowall->ba2code)";
echo "(ba1code: $rowall->ba1code, ba2code: $rowall->ba2code)";
}
}
echo '<br>';
+308
View File
@@ -0,0 +1,308 @@
<?php
/* Copyright (C) 2017 fhcomplete.org
*
* 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: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/bisfunktion.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/benutzerfunktion.class.php');
require_once('../../include/funktion.class.php');
require_once('../../include/bisverwendung.class.php');
require_once('../../include/benutzer.class.php');
if (!$db = new basis_db())
die ('Es konnte keine Verbindung zum Server aufgebaut werden.');
$uid = get_uid();
$datum_obj = new datum();
$fkt_obj = new funktion();
$fkt_obj->getAll();
$fkt_arr = array();
foreach ($fkt_obj->result as $row_fkt)
$fkt_arr[$row_fkt->funktion_kurzbz] = $row_fkt->beschreibung;
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$studiensemester->getAll();
$stsem_arr = array();
foreach($studiensemester->studiensemester as $row_stsem)
{
$stsem_arr[$row_stsem->studiensemester_kurzbz]['start']=$row_stsem->start;
$stsem_arr[$row_stsem->studiensemester_kurzbz]['ende']=$row_stsem->ende;
}
if (!$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'suid'))
die ('Sie haben keine Berechtigung für diese Seite');
echo '<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
echo '
<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<title>Mitarbeitermeldung</title>
<script>
$(document).ready(function()
{
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
hangeYear: true,
dateFormat: "yy-mm-dd",
});
});
</script>
</head>
<body>
<h2>Freie Lektoren mit Lehrauftrag ohne Verwendung</h2>
Die folgenden freien Lektoren haben einen aktiven Lehrauftrag im Meldezeitraum,
haben jedoch keine aktive Verwendung.<br>
<br>
Beim Klicken auf "Alle Verwendungen generieren/aktualisieren" werden die Verwendungen automatisch verlängert wenn
die letzte Verwendung näher als 10 Monate liegt. Ansonsten wird eine neue Verwendung erstellt. Als neues Ende-Datum
wird das Ende des Semesters letzten Lehrauftrages herangezogen.
<br>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"]
});
});
</script>';
$qry = "SELECT ma.* FROM
(
SELECT
vorname, nachname, uid, personalnummer, insertamum,anmerkung,
(
SELECT studiensemester_kurzbz FROM (
SELECT
studiensemester_kurzbz, tbl_studiensemester.start
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid
UNION
SELECT
studiensemester_kurzbz, tbl_studiensemester.start
FROM
lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE
tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id
) a
ORDER BY start DESC
LIMIT 1
) as letzter_lehrauftrag
FROM
campus.vw_mitarbeiter
WHERE
fixangestellt = false
AND lektor = true
AND bismelden = true
AND personalnummer > 0
AND EXISTS(
SELECT
1
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid
AND tbl_lehreinheit.studiensemester_kurzbz IN(
SELECT
studiensemester_kurzbz
FROM
public.tbl_studiensemester
WHERE start <= now()
ORDER BY start DESC
OFFSET 1
LIMIT 2)
UNION
SELECT
1
FROM
lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
tbl_lehreinheit.studiensemester_kurzbz IN(SELECT
studiensemester_kurzbz
FROM
public.tbl_studiensemester
WHERE start <= now()
ORDER BY start DESC
OFFSET 1
LIMIT 2)
AND tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id
)
AND NOT EXISTS(
SELECT 1 FROM bis.tbl_bisverwendung
WHERE mitarbeiter_uid=vw_mitarbeiter.uid
AND (ende is null OR ende>=now())
)
) ma
LEFT JOIN public.tbl_studiensemester ON(studiensemester_kurzbz=ma.letzter_lehrauftrag)
WHERE
tbl_studiensemester.start >= (SELECT ende FROM bis.tbl_bisverwendung
WHERE mitarbeiter_uid=ma.uid
ORDER BY ende DESC LIMIT 1)";
if ($result = $db->db_query($qry))
{
echo '<br><br>Anzahl:'.$db->db_num_rows($result);
echo '
<div style="float:right" >
<form method="POST" action="personal_generateverwendung.php">
<input type="hidden" name="action" value="generateall" />
<input type="submit" value="Alle Verwendungen generieren / aktualisieren" />
</form>
</div>';
echo '
<br><br>
<table class="tablesorter" id="t1">
<thead>
<tr>
<th>Nachname</th>
<th>Vorname</th>
<th>UID</th>
<th>Personalnummer</th>
<th>Anlagedatum</th>
<th>Letzer Lehrauftrag</th>
<th>Aktive Funktionen</th>
<th>Letzte Verwendung</th>
<th>Anmerkung</th>
<th>Aktion</th>
</tr>
</thead>
<tbody>
';
while ($row = $db->db_fetch_object($result))
{
echo '
<tr>
<td>'.$db->convert_html_chars($row->nachname).'</td>
<td>'.$db->convert_html_chars($row->vorname).'</td>
<td>'.$db->convert_html_chars($row->uid).'</td>
<td>'.$db->convert_html_chars($row->personalnummer).'</td>
<td>'.$db->convert_html_chars($datum_obj->formatDatum($row->insertamum,'d.m.Y')).'</td>
<td>'.$db->convert_html_chars($row->letzter_lehrauftrag).'</td>
<td>
<table>';
$fkt = new benutzerfunktion();
$fkt->getBenutzerFunktionByUid($row->uid, null, date('Y-m-d'));
foreach ($fkt->result as $row_fkt)
{
echo '<tr>
<td width="100px;">'.$fkt_arr[$row_fkt->funktion_kurzbz].'</td>
<td>'.$row_fkt->oe_kurzbz.'</td>
</tr>';
}
echo '</table></td>';
$bisverwendung = new bisverwendung();
$bisverwendung->getLastVerwendung($row->uid);
echo '<td>'.($bisverwendung->beginn != ''?$datum_obj->formatDatum($bisverwendung->beginn,'d.m.Y'):' unbekannt ');
echo ' - '.($bisverwendung->ende != ''?$datum_obj->formatDatum($bisverwendung->ende,'d.m.Y'):' jetzt ').'</td>';
echo '<td>'.($row->anmerkung != ''?'<img src="../../skin/images/sticky.png" title="'.$db->convert_html_chars($row->anmerkung).'" />':'').'</td>';
if(isset($stsem_arr[$row->letzter_lehrauftrag])
&& $stsem_arr[$row->letzter_lehrauftrag]['start'] > $bisverwendung->ende)
{
// wenn das Stsem des letzten Lehrauftrags größer ist als die Verwendung
// Wenn die letzte Verwendung weniger als 10 Monate alt ist, wird die bestehende
// Verwendung aktualisiert auf das neue Datum
// Ansonsten wird eine neue Verwendung erstellt
$dt_verwendungsendeplus10 = new DateTime($bisverwendung->ende);
$dt_now = new DateTime();
$dt_verwendungsendeplus10->add(new DateInterval('P10M'));
if ($dt_verwendungsendeplus10 > $dt_now)
{
$bisverwendung->ende = $stsem_arr[$row->letzter_lehrauftrag]['ende'];
$bisverwendung->updateamum = date('Y-m-d H:i:s');
$bisverwendung->updatevon = $uid;
if(isset($_POST['action']) && $_POST['action']=='generateall')
{
if ($bisverwendung->save(false))
{
echo '<td>Verwendung verlängert</td>';
}
else
{
echo '<td>Failed:'.$bisverwendung->errormsg.'</td>';
}
}
else
echo '<td>Verlängerung bis '.$bisverwendung->ende.'</td>';
}
else
{
$bisverwendung->beginn = $stsem_arr[$row->letzter_lehrauftrag]['start'];
$bisverwendung->ende = $stsem_arr[$row->letzter_lehrauftrag]['ende'];
$bisverwendung->updateamum = date('Y-m-d H:i:s');
$bisverwendung->updatevon = $uid;
$bisverwendung->insertamum = date('Y-m-d H:i:s');
$bisverwendung->insertvon = $uid;
if(isset($_POST['action']) && $_POST['action']=='generateall')
{
if ($bisverwendung->save(true))
{
echo '<td>Neue Verwendung erstellt</td>';
}
else
{
echo '<td>Failed:'.$bisverwendung->errormsg.'</td>';
}
}
else
echo '<td>Neue Verwendung wird erstellt '.$bisverwendung->beginn.' bis '.$bisverwendung->ende.'</td>';
}
}
else
{
echo '<td>passt eigentlich</td>';
}
echo '</tr>';
}
echo '</tbody></table>';
}
echo '
</body>
</html>';
@@ -0,0 +1,284 @@
<?php
/* Copyright (C) 2017 fhcomplete.org
*
* 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: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/bisfunktion.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/benutzerfunktion.class.php');
require_once('../../include/funktion.class.php');
require_once('../../include/bisverwendung.class.php');
require_once('../../include/benutzer.class.php');
if (!$db = new basis_db())
die ('Es konnte keine Verbindung zum Server aufgebaut werden.');
$uid = get_uid();
$datum_obj = new datum();
$fkt_obj = new funktion();
$fkt_obj->getAll();
$fkt_arr = array();
foreach ($fkt_obj->result as $row_fkt)
$fkt_arr[$row_fkt->funktion_kurzbz] = $row_fkt->beschreibung;
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if (!$rechte->isBerechtigt('mitarbeiter/stammdaten', null, 'suid'))
die ('Sie haben keine Berechtigung für diese Seite');
if (isset($_POST['action']) && $_POST['action'] == 'deaktivieren')
{
$benutzer = new benutzer();
if ($benutzer->load($_POST['uid']))
{
$benutzer->bnaktiv = false;
$benutzer->updateamum = date('Y-m-d H:i:s');
$benutzer->updatevon = $uid;
if ($benutzer->save(false, false))
{
$bisverwendung = new bisverwendung();
if ($bisverwendung->getLastVerwendung($_POST['uid']))
{
if ($bisverwendung->ende == '')
{
$bisverwendung->ende = $_POST['datum'];
$bisverwendung->updateamum = date('Y-m-d H:i:s');
$bisverwendung->updatevon = $uid;
if ($bisverwendung->save(false))
exit ('true');
}
else
{
exit ('true');
}
}
else
exit ('Fehler beim Laden der Verwendung:'.$bisverwendung->errormsg);
}
else
exit ('Fehler beim Deaktivieren:'.$benutzer->errormsg);
}
else
exit ('Fehler beim Laden des Benutzers');
}
echo '<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
echo '
<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<title>Mitarbeitermeldung</title>
<script>
$(document).ready(function()
{
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
hangeYear: true,
dateFormat: "yy-mm-dd",
});
});
</script>
</head>
<body>
<h2>Aktive freie Lektoren ohne Lehrauftrag</h2>
Die folgenden freien Lektoren haben seit mind. 3 Semestern keinen Lehrauftrag und sind nach wie vor aktiv.
Wählen sie ein Datum und klicken Sie auf den Link "deaktivieren" um den Mitarbeiter zu deaktivieren und
die Verwendung zum angegebenen Datum zu beenden.
<br>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"]
});
});
function deaktiviere(uid)
{
var datum = $("#deaktivierungsdatum").val();
$.ajax({
type:"POST",
url:"personal_lektorenohnelehrauftrag.php",
data:{ "action": "deaktivieren", "uid": uid, "datum": datum },
success: function(data)
{
if(data=="true")
{
$("#deaktivierungslink_"+uid).hide();
$("#infobox_"+uid).text("OK");
}
else
{
$("#infobox_"+uid).text("ERROR:"+data);
}
},
error: function() { alert("error"); }
});
}
</script>';
$qry = "SELECT
vorname, nachname, uid, personalnummer, insertamum,anmerkung,
(
SELECT studiensemester_kurzbz FROM (
SELECT
studiensemester_kurzbz, tbl_studiensemester.start
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid
UNION
SELECT
studiensemester_kurzbz, tbl_studiensemester.start
FROM
lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE
tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id
) a
ORDER BY start DESC
LIMIT 1
) as letzter_lehrauftrag
FROM
campus.vw_mitarbeiter
WHERE
aktiv = true
AND fixangestellt = false
AND lektor = true
AND bismelden = true
AND personalnummer > 0
AND insertamum <= now() - '5 months'::interval
AND NOT EXISTS(
SELECT
1
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
tbl_lehreinheitmitarbeiter.mitarbeiter_uid = vw_mitarbeiter.uid
AND tbl_lehreinheit.studiensemester_kurzbz IN(
SELECT
studiensemester_kurzbz
FROM
public.tbl_studiensemester
WHERE start <= now()
ORDER BY start DESC
LIMIT 3)
UNION
SELECT
1
FROM
lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
tbl_lehreinheit.studiensemester_kurzbz IN(SELECT
studiensemester_kurzbz
FROM
public.tbl_studiensemester
WHERE start <= now()
ORDER BY start DESC
LIMIT 3)
AND tbl_projektbetreuer.person_id=vw_mitarbeiter.person_id
)";
if ($result = $db->db_query($qry))
{
echo '<br><br>Anzahl:'.$db->db_num_rows($result);
echo '
<div style="float:right" >Beendingungsdatum der Verwendung:
<input class="datepicker_datum" type="text" size="10" value="'.date('Y').'-08-31" id="deaktivierungsdatum"/>
</div>
<br><br>
<table class="tablesorter" id="t1">
<thead>
<tr>
<th>Nachname</th>
<th>Vorname</th>
<th>UID</th>
<th>Personalnummer</th>
<th>Anlagedatum</th>
<th>Letzer Lehrauftrag</th>
<th>Aktive Funktionen</th>
<th>Letzte Verwendung</th>
<th>Anmerkung</th>
<th>Aktion</th>
</tr>
</thead>
<tbody>
';
while ($row = $db->db_fetch_object($result))
{
echo '
<tr>
<td>'.$db->convert_html_chars($row->nachname).'</td>
<td>'.$db->convert_html_chars($row->vorname).'</td>
<td>'.$db->convert_html_chars($row->uid).'</td>
<td>'.$db->convert_html_chars($row->personalnummer).'</td>
<td>'.$db->convert_html_chars($datum_obj->formatDatum($row->insertamum,'d.m.Y')).'</td>
<td>'.$db->convert_html_chars($row->letzter_lehrauftrag).'</td>
<td>
<table>';
$fkt = new benutzerfunktion();
$fkt->getBenutzerFunktionByUid($row->uid, null, date('Y-m-d'));
foreach ($fkt->result as $row_fkt)
{
echo '<tr>
<td width="100px;">'.$fkt_arr[$row_fkt->funktion_kurzbz].'</td>
<td>'.$row_fkt->oe_kurzbz.'</td>
</tr>';
}
echo '</table></td>';
$bisverwendung = new bisverwendung();
$bisverwendung->getLastVerwendung($row->uid);
echo '<td>'.($bisverwendung->beginn != ''?$datum_obj->formatDatum($bisverwendung->beginn,'d.m.Y'):' jetzt ');
echo ' - '.($bisverwendung->ende != ''?$datum_obj->formatDatum($bisverwendung->ende,'d.m.Y'):' jetzt ').'</td>';
echo '<td>'.($row->anmerkung != ''?'<img src="../../skin/images/sticky.png" title="'.$db->convert_html_chars($row->anmerkung).'" />':'').'</td>';
echo '
<td>
<span id="deaktivierungslink_'.$row->uid.'">
<a href="#deaktivieren" onclick="deaktiviere(\''.$row->uid.'\');return false;">deaktivieren</a>
</span>
<span id="infobox_'.$row->uid.'"></span>
</td>
</tr>';
}
echo '</tbody></table>';
}
echo '
</body>
</html>';
@@ -0,0 +1,54 @@
<?php
/* Copyright (C) 2017 fhcomplete.org
*
* 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: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
*/
require_once('../../config/vilesci.config.inc.php');
echo '<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<title>Mitarbeitermeldung</title>
</head>
<body>
<h2>Personalmeldung Übersicht</h2>
<ul>
<li>
<a href="personal_lektorenohnelehrauftrag.php">Lektoren ohne Lehraufträge</a><br>
Deaktivieren von freien Lektoren die keinen Lehrauftrag mehr haben<br><br>
</li>
<li>
<a href="personal_generateverwendung.php">Verwendungen generieren</a><br>
Verwendungen aktualisieren für freie Lektoren die einen aktuellen Lehrauftrag
haben, jedoch keine aktuelle Verwendung<br><br>
</li>
<li>
<a href="checkverwendung.php">Plausibilitätsprüfungen Verwendungen</a><br>
Diverse Prüfungen auf inkonsistente Daten<br><br>
</li>
<li>
<a href="checkfunktion.php">Funktionen generieren</a><br>
Funktionen zu den Verwendungen generieren (SWS pro Studiengang)<br><br>
</li>
<li>
<a href="personalmeldung.php">Meldung generieren</a><br>
Abschließende Plausibilitätsprüfungen durchführen und Meldung generieren<br><br>
</li>
</ul>
';