mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
This commit is contained in:
@@ -72,7 +72,7 @@
|
||||
<table class='liste'>
|
||||
<tr>
|
||||
<th>Mitarbeiter-Modul</th>
|
||||
<th>Priorität</th>
|
||||
<th>Priorität</th>
|
||||
</tr>
|
||||
<tr class='liste0'>
|
||||
<td>Mail an Mitarbeiter senden wenn das <b>aktiv</b>-Feld veraendert wird</td>
|
||||
@@ -91,7 +91,7 @@
|
||||
<table class='liste'>
|
||||
<tr>
|
||||
<th>Allgemein</th>
|
||||
<th>Priorität</th>
|
||||
<th>Priorität</th>
|
||||
</tr>
|
||||
<tr class='liste0'>
|
||||
<td>Beim Starten kommt manchmal folgende Fehlermeldung in der Errorconsole: Error: can't decode principals (failure code 8007000e)</td>
|
||||
@@ -107,7 +107,7 @@
|
||||
<table class='liste'>
|
||||
<tr>
|
||||
<th>Studenten-Modul</th>
|
||||
<th>Priorität</th>
|
||||
<th>Priorität</th>
|
||||
</tr>
|
||||
<tr class='liste0'>
|
||||
<td>Projektarbeit - nach dem ändern der LVA wird das Feld Lehreinheit nicht geleert</td>
|
||||
@@ -123,7 +123,7 @@
|
||||
<table class='liste'>
|
||||
<tr>
|
||||
<th>Mitarbeiter-Modul</th>
|
||||
<th>Priorität</th>
|
||||
<th>Priorität</th>
|
||||
</tr>
|
||||
<tr class='liste0'>
|
||||
<td> </td>
|
||||
|
||||
@@ -36,34 +36,36 @@ if (!$conn=pg_pconnect(CONN_STRING))
|
||||
$stsem = new studiensemester($conn);
|
||||
$semester_aktuell = $stsem->getaktorNext();
|
||||
|
||||
$file = '/var/www/htdocs/oesi/portal/trunk/content/statistik/lehrauftragsliste.xls';
|
||||
$file = 'lehrauftragsliste.xls';
|
||||
|
||||
// Creating a workbook
|
||||
echo 'Lehrauftragslisten werden erstellt. Bitte warten!<BR>';
|
||||
flush();
|
||||
$workbook = new Spreadsheet_Excel_Writer($file);
|
||||
|
||||
//Studiengaenge ermitteln bei denen sich die lektorzuordnung innerhalb der letzten 31 Tage geaendert haben
|
||||
$qry_stg = "SELECT distinct studiengang_kz
|
||||
$qry_stg = "SELECT distinct studiengang_kz
|
||||
FROM (
|
||||
SELECT
|
||||
studiengang_kz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
SELECT
|
||||
studiengang_kz
|
||||
FROM
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
(tbl_lehreinheitmitarbeiter.updateamum>now()- interval '31 days' OR
|
||||
tbl_lehreinheitmitarbeiter.insertamum>now()- interval '31 days') AND
|
||||
lehre.tbl_lehreinheit.studiensemester_kurzbz='$semester_aktuell' AND
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden is not null AND
|
||||
tbl_lehreinheitmitarbeiter.stundensatz<>0 AND
|
||||
tbl_lehreinheitmitarbeiter.stundensatz<>0 AND
|
||||
tbl_lehreinheitmitarbeiter.faktor<>0
|
||||
UNION
|
||||
SELECT
|
||||
SELECT
|
||||
studiengang_kz
|
||||
FROM
|
||||
lehre.tbl_projektbetreuer, lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
(tbl_projektbetreuer.updateamum>now()-interval '31 days' OR
|
||||
(tbl_projektbetreuer.updateamum>now()-interval '31 days' OR
|
||||
tbl_projektbetreuer.insertamum>now()-interval '31 days') AND
|
||||
lehre.tbl_lehreinheit.studiensemester_kurzbz='$semester_aktuell' AND
|
||||
tbl_projektbetreuer.projektarbeit_id=tbl_projektarbeit.projektarbeit_id AND
|
||||
@@ -79,31 +81,31 @@ if($result_stg = pg_query($conn, $qry_stg))
|
||||
//Studiengang laden
|
||||
$studiengang = new studiengang($conn, $row_stg->studiengang_kz);
|
||||
$studiengang_kz=$row_stg->studiengang_kz;
|
||||
|
||||
|
||||
// Creating a worksheet
|
||||
$worksheet =& $workbook->addWorksheet($studiengang->kuerzel);
|
||||
//echo "Writing $studiengang->kuerzel ...".microtime()."<br>";
|
||||
//Formate Definieren
|
||||
$format_bold =& $workbook->addFormat();
|
||||
$format_bold->setBold();
|
||||
|
||||
|
||||
$workbook->setCustomColor(10, 255, 186, 179);
|
||||
$format_colored =& $workbook->addFormat();
|
||||
$format_colored->setFgColor(10);
|
||||
|
||||
|
||||
$format_number_colored =& $workbook->addFormat();
|
||||
$format_number_colored->setNumFormat('0,0.00');
|
||||
$format_number_colored->setFgColor(10);
|
||||
|
||||
$format_number =& $workbook->addFormat();
|
||||
$format_number->setNumFormat('0,0.00');
|
||||
|
||||
|
||||
$format_number_bold =& $workbook->addFormat();
|
||||
$format_number_bold->setNumFormat('0,0.00');
|
||||
$format_number_bold->setBold();
|
||||
|
||||
|
||||
$format_normal = & $workbook->addFormat();
|
||||
|
||||
|
||||
$i=0;
|
||||
$worksheet->write(0,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel, $format_bold);
|
||||
//Ueberschriften
|
||||
@@ -114,34 +116,34 @@ if($result_stg = pg_query($conn, $qry_stg))
|
||||
$worksheet->write(2,++$i,"Familienname", $format_bold);
|
||||
$worksheet->write(2,++$i,"Stunden", $format_bold);
|
||||
$worksheet->write(2,++$i,"Kosten", $format_bold);
|
||||
|
||||
|
||||
//Daten holen
|
||||
$qry = "SELECT
|
||||
tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre,
|
||||
$qry = "SELECT
|
||||
tbl_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre,
|
||||
tbl_mitarbeiter.personalnummer, tbl_person.person_id, tbl_mitarbeiter.mitarbeiter_uid,
|
||||
tbl_lehreinheitmitarbeiter.faktor as faktor, tbl_lehreinheitmitarbeiter.stundensatz as stundensatz,
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden as semesterstunden,
|
||||
CASE WHEN COALESCE(tbl_lehreinheitmitarbeiter.updateamum, tbl_lehreinheitmitarbeiter.insertamum)>now()-interval '31 days' THEN 't' ELSE 'f' END as geaendert
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_mitarbeiter,
|
||||
FROM
|
||||
lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_mitarbeiter,
|
||||
public.tbl_benutzer, public.tbl_person, lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_person.person_id = tbl_benutzer.person_id AND
|
||||
WHERE
|
||||
tbl_person.person_id = tbl_benutzer.person_id AND
|
||||
tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
studiengang_kz='$studiengang_kz' AND studiensemester_kurzbz='$semester_aktuell' AND
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND tbl_lehreinheitmitarbeiter.semesterstunden is not null
|
||||
studiengang_kz='$studiengang_kz' AND studiensemester_kurzbz='$semester_aktuell' AND
|
||||
tbl_lehreinheitmitarbeiter.semesterstunden<>0 AND tbl_lehreinheitmitarbeiter.semesterstunden is not null
|
||||
AND tbl_lehreinheitmitarbeiter.stundensatz<>0 AND tbl_lehreinheitmitarbeiter.faktor<>0
|
||||
ORDER BY nachname, vorname, tbl_mitarbeiter.mitarbeiter_uid";
|
||||
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
$zeile=3;
|
||||
$gesamtkosten = 0;
|
||||
$liste=array();
|
||||
|
||||
|
||||
while($row=pg_fetch_object($result))
|
||||
{
|
||||
//Gesamtstunden und Kosten ermitteln
|
||||
@@ -150,7 +152,7 @@ if($result_stg = pg_query($conn, $qry_stg))
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden'] = $liste[$row->mitarbeiter_uid]['gesamtstunden'] + $row->semesterstunden;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $liste[$row->mitarbeiter_uid]['gesamtkosten'] + ($row->semesterstunden*$row->stundensatz*$row->faktor);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$liste[$row->mitarbeiter_uid]['gesamtstunden'] = $row->semesterstunden;
|
||||
$liste[$row->mitarbeiter_uid]['gesamtkosten'] = $row->semesterstunden*$row->stundensatz*$row->faktor;
|
||||
@@ -162,19 +164,19 @@ if($result_stg = pg_query($conn, $qry_stg))
|
||||
if($row->geaendert=='t')
|
||||
$liste[$row->mitarbeiter_uid]['geaendert']=true;
|
||||
}
|
||||
|
||||
|
||||
//Betreuungen fuer Projektarbeiten
|
||||
foreach ($liste as $uid=>$arr)
|
||||
{
|
||||
$qry = "SELECT tbl_projektbetreuer.faktor, tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz, CASE WHEN COALESCE(tbl_projektbetreuer.updateamum, tbl_projektbetreuer.insertamum)>now()-interval '31 days' THEN 't' ELSE 'f' END as geaendert
|
||||
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehrveranstaltung,
|
||||
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
|
||||
WHERE tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid='$uid' AND
|
||||
FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehrveranstaltung,
|
||||
public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student
|
||||
WHERE tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid='$uid' AND
|
||||
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND student_uid=vw_student.uid
|
||||
AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND tbl_lehreinheit.lehrfach_id=tbl_lehrfach.lehrfach_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz='$semester_aktuell' AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
tbl_lehrveranstaltung.studiengang_kz='$studiengang_kz'";
|
||||
|
||||
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
@@ -188,17 +190,17 @@ if($result_stg = pg_query($conn, $qry_stg))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Daten ausgeben
|
||||
foreach ($liste as $row)
|
||||
{
|
||||
{
|
||||
$i=0;
|
||||
if(isset($row['geaendert']) && $row['geaendert']==true)
|
||||
{
|
||||
$format = $format_colored;
|
||||
$formatnb = $format_number_colored;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$format = $format_normal;
|
||||
$formatnb = $format_number;
|
||||
@@ -217,62 +219,62 @@ if($result_stg = pg_query($conn, $qry_stg))
|
||||
$worksheet->write($zeile,++$i,$row['gesamtstunden'], $format);
|
||||
//Kosten
|
||||
$worksheet->writeNumber($zeile,++$i,$row['gesamtkosten'], $formatnb);
|
||||
|
||||
|
||||
//Kosten zu den Gesamtkosten hinzurechnen
|
||||
$gesamtkosten = $gesamtkosten + $row['gesamtkosten'];
|
||||
$zeile++;
|
||||
}
|
||||
|
||||
|
||||
//Gesamtkosten anzeigen
|
||||
$worksheet->writeNumber($zeile,6,$gesamtkosten, $format_number_bold);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$workbook->close();
|
||||
|
||||
|
||||
//Mail versenden mit Excel File im Anhang
|
||||
|
||||
$to = "oesi@technikum-wien.at";
|
||||
$from = "vilesci@technikum-wien.at";
|
||||
|
||||
$from = "vilesci@technikum-wien.at";
|
||||
$subject = "Lehrauftragsliste ".date('d.m.Y');
|
||||
$message = "Dies ist eine automatische eMail!\nAnbei die Lehrauftragsliste vom ".date('d.m.Y');
|
||||
$fileatttype = "application/xls";
|
||||
$message = "Dies ist eine automatische eMail!\n\nAnbei die Lehrauftragslisten vom ".date('d.m.Y');
|
||||
$message.= "\n\nJederzeit abrufbar unter ".APP_ROOT.'content/statistik/lehrauftragsliste_mail.xls.php';
|
||||
$fileatttype = "application/xls";
|
||||
$fileattname = "lehrauftragsliste_".date('Y_m_d').".xls";
|
||||
|
||||
$headers = "From: $from";
|
||||
|
||||
|
||||
$fileobj = fopen($file, 'rb');
|
||||
$data = fread($fileobj, filesize($file));
|
||||
fclose($fileobj);
|
||||
|
||||
$semi_rand = md5(time());
|
||||
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
|
||||
|
||||
$headers .= "\nMIME-Version: 1.0\n" .
|
||||
"Content-Type: multipart/mixed;\n" .
|
||||
$semi_rand = md5(time());
|
||||
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
|
||||
|
||||
$headers .= "\nMIME-Version: 1.0\n" .
|
||||
"Content-Type: multipart/mixed;\n" .
|
||||
" boundary=\"{$mime_boundary}\"";
|
||||
|
||||
$message = "This is a multi-part message in MIME format.\n\n" .
|
||||
"--{$mime_boundary}\n" .
|
||||
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
|
||||
"Content-Transfer-Encoding: 7bit\n\n" .
|
||||
$message = "This is a multi-part message in MIME format.\n\n" .
|
||||
"--{$mime_boundary}\n" .
|
||||
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
|
||||
"Content-Transfer-Encoding: 7bit\n\n" .
|
||||
$message . "\n\n";
|
||||
|
||||
$data = chunk_split(base64_encode($data));
|
||||
|
||||
$message .= "--{$mime_boundary}\n" .
|
||||
"Content-Type: {$fileatttype};\n" .
|
||||
" name=\"{$fileattname}\"\n" .
|
||||
"Content-Disposition: attachment;\n" .
|
||||
" filename=\"{$fileattname}\"\n" .
|
||||
"Content-Transfer-Encoding: base64\n\n" .
|
||||
$data . "\n\n" .
|
||||
"--{$mime_boundary}--\n";
|
||||
|
||||
if(mail($to, $subject, $message, $headers ))
|
||||
echo "Email mit Lehrauftragsliste wurde versandt";
|
||||
else
|
||||
echo "Fehler beim Versenden der Lehrauftragsliste";
|
||||
|
||||
$message .= "--{$mime_boundary}\n" .
|
||||
"Content-Type: {$fileatttype};\n" .
|
||||
" name=\"{$fileattname}\"\n" .
|
||||
"Content-Disposition: attachment;\n" .
|
||||
" filename=\"{$fileattname}\"\n" .
|
||||
"Content-Transfer-Encoding: base64\n\n" .
|
||||
$data . "\n\n" .
|
||||
"--{$mime_boundary}--\n";
|
||||
|
||||
if(mail(MAIL_GST, $subject, $message, $headers ))
|
||||
echo 'Email mit Lehrauftragslisten wurde an '.MAIL_GST.' versandt!';
|
||||
else
|
||||
echo "Fehler beim Versenden der Lehrauftragsliste";
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user