diff --git a/include/reihungstest.class.php b/include/reihungstest.class.php
index 1ada9ab02..a27f778ee 100644
--- a/include/reihungstest.class.php
+++ b/include/reihungstest.class.php
@@ -454,6 +454,48 @@ class reihungstest extends basis_db
return true;
}
+ /**
+ * Laedt den Reihungstest-Person-Datensatz mit der ID $rt_person_id
+ * @param integer $rt_person_id ID des zu ladenden Datensatzes
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function loadReihungstestPerson($rt_person_id)
+ {
+ if(!is_numeric($rt_person_id))
+ {
+ $this->errormsg = 'rt_person_id ist ungueltig';
+ return false;
+ }
+
+ $qry = "SELECT * FROM public.tbl_rt_person WHERE rt_person_id=".$this->db_add_param($rt_person_id, FHC_INTEGER, false);
+
+ if($result = $this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object($result))
+ {
+ $this->rt_person_id = $row->rt_person_id;
+ $this->rt_id = $row->rt_id;
+ $this->person_id = $row->person_id;
+ $this->studienplan_id = $row->studienplan_id;
+ $this->anmeldedatum = $row->anmeldedatum;
+ $this->teilgenommen = $this->db_parse_bool($row->teilgenommen);
+ $this->ort_kurzbz = $row->ort_kurzbz;
+ $this->punkte = $row->punkte;
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Eintrag nicht gefunden';
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden des rt_person_id Datensatzes';
+ return false;
+ }
+ }
+
public function getReihungstestPerson($person_id)
{
$qry = "SELECT
diff --git a/locale/de-AT/reihungstest.php b/locale/de-AT/reihungstest.php
new file mode 100644
index 000000000..2fd60125c
--- /dev/null
+++ b/locale/de-AT/reihungstest.php
@@ -0,0 +1,21 @@
+phrasen['reihungstest/anredeMaennlich']='geehrter Herr';
+$this->phrasen['reihungstest/anredeWeiblich']='geehrte Frau';
+$this->phrasen['reihungstest/mailtextHtml']='Bitte sehen Sie sich die Nachricht in der HTML-Ansicht an um den Link vollständig darzustellen.';
+$this->phrasen['reihungstest/mailtext']='Sehr %3$s %1$s %2$s!
+ Der für Ihre Bewerbung benötigte Aufnahmetest ist im gewählten Termin %4$s bereits enthalten. Ihre Anmeldung(en) für
+
+ ist/sind somit hinfällig und wurde/n storniert.
+ Bitte finden Sie sich zum Termin %4$s zum Aufnahmetest ein.
+
+ Mit freundlichen Grüßen,
+ FH Technikum Wien';
+$this->phrasen['reihungstest/betreff']='Wichtige Informationen zu Ihrer Bewerbung';
+$this->phrasen['reihungstest/text']='';
+$this->phrasen['reihungstest/text']='';
+$this->phrasen['reihungstest/text']='';
+$this->phrasen['reihungstest/text']='';
+$this->phrasen['reihungstest/text']='';
+?>
diff --git a/locale/en-US/reihungstest.php b/locale/en-US/reihungstest.php
new file mode 100644
index 000000000..d233c1759
--- /dev/null
+++ b/locale/en-US/reihungstest.php
@@ -0,0 +1,21 @@
+phrasen['reihungstest/anredeMaennlich']='Mr';
+$this->phrasen['reihungstest/anredeWeiblich']='Ms';
+$this->phrasen['reihungstest/mailtextHtml']='Please look at the message in the HTML view, in order to display the link fully.';
+$this->phrasen['reihungstest/mailtext']='Dear %3$s %1$s %2$s!
+ Der für Ihre Bewerbung benötigte Aufnahmetest ist im gewählten Termin %4$s bereits enthalten. Ihre Anmeldung(en) für
+
+ ist/sind somit hinfällig und wurde/n storniert.
+ Bitte finden Sie sich zum Termin %4$s zum Aufnahmetest ein.
+
+ Mit freundlichen Grüßen,
+ UAS Technikum Wien';
+$this->phrasen['reihungstest/betreff']='Wichtige Informationen zu Ihrer Bewerbung';
+$this->phrasen['reihungstest/text']='';
+$this->phrasen['reihungstest/text']='';
+$this->phrasen['reihungstest/text']='';
+$this->phrasen['reihungstest/text']='';
+$this->phrasen['reihungstest/text']='';
+?>
diff --git a/vilesci/stammdaten/reihungstest_zusammenlegung.php b/vilesci/stammdaten/reihungstest_zusammenlegung.php
new file mode 100644
index 000000000..7d8444551
--- /dev/null
+++ b/vilesci/stammdaten/reihungstest_zusammenlegung.php
@@ -0,0 +1,372 @@
+
+ */
+/**
+ * Script zum Zusammenlegen mehrfacher Anmeldungen zu einem Reihungstestmodul in einem Studiensemester.
+ * Es werden zwei Listen mit Bewerbungen eines Studiensemesters angezeigt, die sich für ein Modul mehrfach angemeldet haben
+ * Links wird die Bewerberbung markiert, der rechts markierten zusammengelegt werden soll.
+ * Die linke Bewerbung wird danach entfernt und eine Mail an den/die BewerberIn verschickt
+ */
+require_once('../../config/vilesci.config.inc.php');
+require_once('../../include/basis_db.class.php');
+require_once('../../include/person.class.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/benutzerberechtigung.class.php');
+require_once('../../include/studiensemester.class.php');
+require_once('../../include/reihungstest.class.php');
+require_once('../../include/gebiet.class.php');
+require_once('../../include/datum.class.php');
+require_once('../../include/studiengang.class.php');
+require_once('../../include/mail.class.php');
+require_once('../../include/phrasen.class.php');
+require_once('../../include/kontakt.class.php');
+require_once('../../include/studienplan.class.php');
+
+if (!$db = new basis_db())
+ die('Es konnte keine Verbindung zum Server aufgebaut werden.');
+
+$uid = get_uid();
+$datum_obj = new datum();
+
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($uid);
+if(!$rechte->isBerechtigt('lehre/reihungstest'))
+ die($rechte->errormsg);
+
+$studiengang = new studiengang();
+$studiengang->getAll('typ, kurzbz', false);
+
+$studiensemester = new Studiensemester();
+$studiensemester->getAll('DESC');
+
+$stsem_akt = new studiensemester();
+$stsem_akt = $stsem_akt->getaktorNext();
+
+$studiensemester_kurzbz = (isset($_REQUEST['studiensemester_kurzbz']) ? $_REQUEST['studiensemester_kurzbz'] : $stsem_akt);
+$prestudent_id = (isset($_REQUEST['prestudent_id']) ? $_REQUEST['prestudent_id'] : '');
+$studienplan_id = (isset($_REQUEST['studienplan_id']) ? $_REQUEST['studienplan_id'] : '');
+
+$studienplan = new studienplan();
+$studienplan->loadStudienplan($studienplan_id);
+
+$sprache = getSprache();
+$p = new phrasen($sprache);
+//var_dump($_POST);
+if(isset($_POST['zusammenlegen']))
+{
+ if (isset($_POST['radio']) && isset($_POST['checkbox']))
+ {
+ $rt_person_ids = $_POST['checkbox'];
+ $mail_neue_Termine = array();
+ $load_rt_person = new reihungstest();
+ if ($load_rt_person->loadReihungstestPerson($_POST['radio']))
+ {
+ $rt_termin_neu = new reihungstest($load_rt_person->rt_id);
+ $mail_neuer_Termin = $datum_obj->formatDatum($rt_termin_neu->datum, 'd.m.Y').', '.$datum_obj->formatDatum($rt_termin_neu->uhrzeit,'H:i');
+ $mail_alte_Termine = '';
+
+ foreach ($rt_person_ids AS $key=>$value)
+ {
+ $neuzuteilung = new reihungstest();
+ if ($neuzuteilung->loadReihungstestPerson($value))
+ {
+ $neuzuteilung->new = false;
+ $id_alt = $neuzuteilung->rt_id;
+ $neuzuteilung->rt_person_id = $neuzuteilung->rt_person_id;
+ $neuzuteilung->anmeldedatum = $neuzuteilung->anmeldedatum;
+ $neuzuteilung->teilgenommen = $neuzuteilung->teilgenommen;
+ $neuzuteilung->punkte = $neuzuteilung->punkte;
+ $neuzuteilung->studienplan_id = $neuzuteilung->studienplan_id;
+ $neuzuteilung->rt_id = $load_rt_person->rt_id;
+ $neuzuteilung->person_id = $neuzuteilung->person_id;
+ $neuzuteilung->ort_kurzbz = $neuzuteilung->ort_kurzbz;
+
+ if (!$neuzuteilung->savePersonReihungstest())
+ {
+ echo 'Fehler beim Speichern der Daten: '.$db->convert_html_chars($neuzuteilung->errormsg).' ';
+ }
+ else
+ {
+ $rt_termin = new reihungstest($id_alt);
+ $mail_alte_Termine .= ''.$datum_obj->formatDatum($rt_termin->datum, 'd.m.Y').', '.$datum_obj->formatDatum($rt_termin->uhrzeit,'H:i').' ';
+ }
+ }
+ }
+ $kontakt = new kontakt();
+ $kontakt->load_persKontakttyp($neuzuteilung->person_id, 'email');
+ $mailadresse = '';
+ if(count($kontakt->result)>0)
+ {
+ if ($kontakt->zustellung == true)
+ $mailadresse = $kontakt->kontakt;
+ elseif ($kontakt->zustellung == false)
+ $mailadresse = $kontakt->kontakt;
+ else
+ echo 'Es ist keine gueltige Zustelladresse für diese Person hinterlegt ';
+ }
+ else
+ echo 'Es ist keine Mailadresse für diese Person hinterlegt ';
+
+ $person = new person();
+ $person->load($neuzuteilung->person_id);
+ if($person->geschlecht=='m')
+ $anrede=$p->t('reihungstest/anredeMaennlich');
+ else
+ $anrede=$p->t('reihungstest/anredeWeiblich');
+
+ $mail = new mail($mailadresse, 'no-reply', $p->t('reihungstest/betreff'), $p->t('reihungstest/mailtextHtml'));
+ $text = $p->t('reihungstest/mailtext',array($person->vorname, $person->nachname, $anrede, $mail_neuer_Termin, $mail_alte_Termine));
+ $mail->setHTMLContent($text);
+ if(!$mail->send())
+ echo 'Fehler beim senden der E-Mail: '.$db->convert_html_chars($mail->errormsg).' ';
+ }
+ else
+ echo 'Fehler beim Laden der Daten: '.$db->convert_html_chars($load_rt_person->errormsg).' ';
+ }
+}
+
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+ Reihungstest Anmeldungen
+
+
+Zusammenlegen von Reihungstest-Anmeldungen
+
+";
+
+// Studiensemester DropDown
+echo "";
+
+echo "Alle Studiensemester ";
+foreach ($studiensemester->studiensemester as $row)
+{
+ if($row->studiensemester_kurzbz == $studiensemester_kurzbz)
+ $selected='selected';
+ else
+ $selected='';
+
+ echo ''.$db->convert_html_chars($row->studiensemester_kurzbz).' '.'\n';
+}
+echo " ";
+
+// Studienplan autocomplete
+echo ' ';
+echo ' ';
+echo 'Anzeigen ';
+echo "";
+echo ' ';
+
+if ($studienplan->bezeichnung != '')
+ echo ''.$studienplan->bezeichnung.' ('.$studienplan_id.') ';
+
+$qry = " SELECT rt_person.rt_person_id
+ ,rt_person.rt_id
+ ,ablauf.gebiet_id
+ ,person.person_id
+ ,person.nachname
+ ,person.vorname
+ ,rt_person.studienplan_id
+ ,stufe
+ ,teilgenommen
+ FROM PUBLIC.tbl_person person
+ JOIN PUBLIC.tbl_rt_person rt_person USING (person_id)
+ JOIN PUBLIC.tbl_reihungstest ON (rt_id = tbl_reihungstest.reihungstest_id)
+ JOIN testtool.tbl_ablauf ablauf ON (rt_person.studienplan_id = ablauf.studienplan_id)
+ WHERE EXISTS (
+ SELECT rt_person_d.rt_id
+ ,ablauf_d.gebiet_id
+ ,person_d.person_id
+ ,person_d.nachname
+ ,person_d.vorname
+ ,rt_person_d.studienplan_id
+ FROM PUBLIC.tbl_person person_d
+ JOIN PUBLIC.tbl_rt_person rt_person_d USING (person_id)
+ JOIN PUBLIC.tbl_reihungstest ON (rt_id = tbl_reihungstest.reihungstest_id)
+ JOIN testtool.tbl_ablauf ablauf_d ON (rt_person_d.studienplan_id = ablauf_d.studienplan_id)
+ WHERE ablauf.gebiet_id = ablauf_d.gebiet_id
+ AND person.person_id = person_d.person_id
+ AND rt_person.rt_id <> rt_person_d.rt_id
+ )
+ AND studiensemester_kurzbz =".$db->db_add_param($studiensemester_kurzbz);
+if ($studienplan_id != '')
+ $qry .= " AND rt_person.studienplan_id =".$db->db_add_param($studienplan_id);
+
+$qry .= "ORDER BY nachname, vorname, person_id, rt_id";
+
+//var_dump($gebiete_arr);
+$person = 0;
+$result_arr = array();
+if($result = $db->db_query($qry))
+{
+ while($row = $db->db_fetch_object($result))
+ {
+ if ($person != $row->person_id)
+ $i = 0;
+ $reihungstest = new reihungstest();
+ $reihungstest->load($row->rt_id);
+ $gebietbezeichnungen = array();
+ $qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row->studienplan_id)." ORDER BY reihung";
+ if($result_gebiete = $db->db_query($qry_gebiete))
+ {
+ while($row_gebiete = $db->db_fetch_object($result_gebiete))
+ {
+ $gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung;
+ }
+ }
+
+ $result_arr[$row->person_id]['nachname'] = $row->nachname;
+ $result_arr[$row->person_id]['vorname'] = $row->vorname;
+ $result_arr[$row->person_id]['data'][$i] = $row;
+ $result_arr[$row->person_id]['data'][$i]->reihungstest_id = $reihungstest->reihungstest_id;
+ $result_arr[$row->person_id]['data'][$i]->anmerkung = $reihungstest->anmerkung;
+ $result_arr[$row->person_id]['data'][$i]->datum = $reihungstest->datum;
+ $result_arr[$row->person_id]['data'][$i]->uhrzeit = $reihungstest->uhrzeit;
+ $result_arr[$row->person_id]['data'][$i]->studiengang_kz = $reihungstest->studiengang_kz;
+ $result_arr[$row->person_id]['data'][$i]->ort_kurzbz = $reihungstest->ort_kurzbz;
+ $result_arr[$row->person_id]['data'][$i]->gebiete_bezeichnung = $gebietbezeichnungen;
+ $i++;
+ $person = $row->person_id;
+ }
+}
+//var_dump($result_arr);
+$person_id = 0;
+foreach ($result_arr as $key=>$value)
+{
+ $rt_array = array();
+ foreach ($result_arr[$key]['data'] as $keyrow=>$row)
+ {
+ $rt_array[] = $row->rt_id;
+ }
+ $rt_array = array_unique($rt_array);
+ if (count($rt_array)>1)
+ {
+ echo ''.$result_arr[$key]['nachname'].' '.$result_arr[$key]['vorname'].' ('.$key.') ';
+ echo '";
+ }
+}
+
+?>
+
+
+
+
diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php
index ac1f3b808..148a98545 100644
--- a/vilesci/stammdaten/reihungstestverwaltung.php
+++ b/vilesci/stammdaten/reihungstestverwaltung.php
@@ -50,7 +50,7 @@ require_once('../../include/studienplan.class.php');
require_once('../../include/sprache.class.php');
require_once('../../include/organisationsform.class.php');
-// @todo Allgemein: Beim kopierenauch die Studienplanzuordnungen übernehmen
+// @todo Allgemein: Beim kopieren auch die Studienplanzuordnungen übernehmen
// "Teilgenommen" und "Punkte" werden immer mit false bzw. 0 gespeichert
define('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND', '5');
@@ -78,7 +78,7 @@ $error = false;
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
-
+/*
if ($reihungstest_id != '' || isset($_POST['reihungstest_id']))
{
if ($reihungstest_id != '')
@@ -95,7 +95,7 @@ if ($reihungstest_id != '' || isset($_POST['reihungstest_id']))
}
else
$studiensemester_kurzbz = $stsem_akt;
-}
+}*/
if ($stg_kz == '' && ($reihungstest_id != '' || isset($_POST['reihungstest_id'])))
{
@@ -150,7 +150,68 @@ if(isset($_GET['excel']))
$reihungstest = new reihungstest();
if($reihungstest->load($_GET['reihungstest_id']))
{
- $qry = "SELECT
+ $studienplaene_arr = array();
+ $studienplaene = new reihungstest();
+ $studienplaene->getStudienplaeneReihungstest($reihungstest->reihungstest_id);
+ foreach ($studienplaene->result AS $row)
+ {
+ $studienplan = new studienplan();
+ $studienplan->loadStudienplan($row->studienplan_id);
+ $studienplaene_arr[ $row->studienplan_id] = $studienplan->bezeichnung;
+ }
+
+ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
+ $qry = "
+ SELECT
+ rt_id,
+ prestudent_id,
+ tbl_rt_person.person_id,
+ vorname,
+ nachname,
+ ort_kurzbz,
+ studienplan_id,
+ studiengang_kz,
+ gebdatum,
+ geschlecht,
+ rt_punkte1
+ ,(
+ SELECT kontakt
+ FROM tbl_kontakt
+ WHERE kontakttyp = 'email'
+ AND person_id = tbl_rt_person.person_id
+ AND zustellung = true LIMIT 1
+ ) AS email
+ ,(
+ SELECT ausbildungssemester
+ FROM public.tbl_prestudentstatus
+ WHERE prestudent_id = tbl_prestudent.prestudent_id
+ AND datum = (
+ SELECT MAX(datum)
+ FROM public.tbl_prestudentstatus
+ WHERE prestudent_id = tbl_prestudent.prestudent_id
+ AND status_kurzbz = 'Interessent'
+ ) LIMIT 1
+ ) AS ausbildungssemester
+ ,(
+ SELECT orgform_kurzbz
+ FROM public.tbl_prestudentstatus
+ WHERE prestudent_id = tbl_prestudent.prestudent_id
+ AND datum = (
+ SELECT MAX(datum)
+ FROM public.tbl_prestudentstatus
+ WHERE prestudent_id = tbl_prestudent.prestudent_id
+ AND status_kurzbz = 'Interessent'
+ ) LIMIT 1
+ ) AS orgform_kurzbz
+ FROM public.tbl_rt_person
+ JOIN public.tbl_person USING (person_id)
+ JOIN public.tbl_prestudent ON (tbl_rt_person.person_id=tbl_prestudent.person_id AND tbl_rt_person.rt_id=tbl_prestudent.reihungstest_id)
+ WHERE rt_id = ".$db->db_add_param($reihungstest->reihungstest_id, FHC_INTEGER)."
+ AND tbl_rt_person.studienplan_id IN (".$studienplaene_list.")
+ ORDER BY ort_kurzbz NULLS FIRST,nachname,vorname
+
+ /*
+ SELECT
prestudent_id,
person_id,
vorname,
@@ -193,13 +254,23 @@ if(isset($_GET['excel']))
FROM public.tbl_prestudent
JOIN public.tbl_person USING (person_id)
WHERE reihungstest_id = ".$db->db_add_param($reihungstest->reihungstest_id, FHC_INTEGER)."
- ORDER BY ort_kurzbz NULLS FIRST,nachname,vorname ";
+ ORDER BY ort_kurzbz NULLS FIRST,nachname,vorname */";
+
+ $gebietbezeichnungen = array();
+ $qry_gebiete = "SELECT gebiet_id, reihung, bezeichnung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row->studienplan_id)." ORDER BY reihung";
+ if($result_gebiete = $db->db_query($qry_gebiete))
+ {
+ while($row_gebiete = $db->db_fetch_object($result_gebiete))
+ {
+ $gebietbezeichnungen[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung;
+ }
+ }
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
// sending HTTP headers
- $workbook->send("Anwesenheitsliste_Reihungstest_".$reihungstest->datum.".xls");
+ $workbook->send("Anwesenheitsliste_Aufnahmetermin_".$reihungstest->datum.".xls");
//Formate Definieren
$format_bold =& $workbook->addFormat();
@@ -207,6 +278,14 @@ if(isset($_GET['excel']))
$format_border =& $workbook->addFormat();
$format_border->setBorder(1);
+ $format_border->setTextWrap();
+ $format_border->setVAlign ('top');
+
+ $format_border_center =& $workbook->addFormat();
+ $format_border_center->setBorder(1);
+ $format_border_center->setTextWrap();
+ $format_border_center->setVAlign ('top');
+ $format_border_center->setHAlign ('center');
if($result = $db->db_query($qry))
{
@@ -230,38 +309,49 @@ if(isset($_GET['excel']))
$worksheet->setMargins_LR (0.4);
$worksheet->setMarginTop (0.79);
$worksheet->setMarginBottom (0.59);
+
+ // Titelzeilen
+ $worksheet->write(0,0,'Anwesenheitsliste Aufnahmetermin vom '.$datum_obj->convertISODate($reihungstest->datum).' '.$reihungstest->uhrzeit.' Uhr, '.$reihungstest->anmerkung.', erstellt am '.date('d.m.Y'), $format_bold);
+ if ($row->ort_kurzbz=='')
+ $worksheet->write(1,0,'Ohne Raumzuteilung', $format_bold);
+ else
+ $worksheet->write(1,0,'Raum '.$row->ort_kurzbz, $format_bold);
+ $worksheet->write(2,0,'Studienpläne: '.implode(', ', $studienplaene_arr));
+ $worksheet->write(3,0,'Stufe: '.$reihungstest->stufe);
+ $worksheet->write(4,0,'Testmodule: '.implode(', ', $gebietbezeichnungen));
-
- $worksheet->write(0,0,'Anwesenheitsliste Reihungstest '.$datum_obj->convertISODate($reihungstest->datum).' '.$reihungstest->uhrzeit.' Uhr, '.$reihungstest->anmerkung.', erstellt am '.date('d.m.Y'), $format_bold);
//Ueberschriften
+ $zeile=6;
$col=0;
- $worksheet->write(2,$col,"Vorname", $format_bold);
+ $worksheet->write($zeile,$col,"Vorname", $format_bold);
$maxlength[$col] = 7;
- $worksheet->write(2,++$col,"Nachname", $format_bold);
+ $worksheet->write($zeile,++$col,"Nachname", $format_bold);
$maxlength[$col] = 8;
- $worksheet->write(2,++$col,"Geschlecht", $format_bold);
- $maxlength[$col] = 8;
- $worksheet->write(2,++$col,"Geburtsdatum", $format_bold);
+ $worksheet->write($zeile,++$col,"G", $format_bold);
+ $maxlength[$col] = 2;
+ $worksheet->write($zeile,++$col,"Geburtsdatum", $format_bold);
$maxlength[$col] = 12;
- $worksheet->write(2,++$col,"Studiengang", $format_bold);
+ $worksheet->write($zeile,++$col,"Studiengang", $format_bold);
$maxlength[$col] = 11;
- $worksheet->write(2,++$col,"Bereits absolvierte RTs", $format_bold);
- $maxlength[$col] = 18;
- $worksheet->write(2,++$col,"EMail", $format_bold);
+ $worksheet->write($zeile,++$col,"S", $format_bold);
+ $maxlength[$col] = 2;
+ $worksheet->write($zeile,++$col,"Bereits absolvierte RTs", $format_bold);
+ $maxlength[$col] = 20;
+ $worksheet->write($zeile,++$col,"Sonstige Termine", $format_bold);
+ $maxlength[$col] = 20;
+ $worksheet->write($zeile,++$col,"EMail", $format_bold);
$maxlength[$col] = 5;
- $worksheet->write(2,++$col,"Einstiegssemester", $format_bold);
- $maxlength[$col] = 15;
- $worksheet->write(2,++$col,"Strasse", $format_bold);
+ $worksheet->write($zeile,++$col,"Strasse", $format_bold);
$maxlength[$col] = 6;
- $worksheet->write(2,++$col,"PLZ", $format_bold);
+ $worksheet->write($zeile,++$col,"PLZ", $format_bold);
$maxlength[$col] = 3;
- $worksheet->write(2,++$col,"Ort", $format_bold);
+ $worksheet->write($zeile,++$col,"Ort", $format_bold);
$maxlength[$col] = 3;
- $worksheet->write(2,++$col,"Unterschrift", $format_bold);
+ $worksheet->write($zeile,++$col,"Unterschrift", $format_bold);
$maxlength[$col] = 30;
$ort_kurzbz = $row->ort_kurzbz;
- $zeile=3;
+ $zeile++;
}
$pruefling = new pruefling();
@@ -287,63 +377,106 @@ if(isset($_GET['excel']))
}
}
}
+ $weitere_zuteilungen = array();
+ /*$qry_zuteilungen = "SELECT DISTINCT tbl_studienplan.bezeichnung,tbl_reihungstest.datum,tbl_rt_person.studienplan_id
+ FROM public.tbl_rt_person JOIN public.tbl_reihungstest ON (rt_id = reihungstest_id)
+ JOIN lehre.tbl_studienplan USING (studienplan_id)
+ JOIN testtool.tbl_ablauf USING (studienplan_id)
+ WHERE person_id=62563
+ AND studiensemester_kurzbz='SS2017'
+ ORDER BY bezeichnung";*/
+ $qry_zuteilungen = "SELECT DISTINCT tbl_studienplan.bezeichnung,tbl_reihungstest.datum,tbl_rt_person.studienplan_id
+ FROM public.tbl_rt_person JOIN public.tbl_reihungstest ON (rt_id = reihungstest_id)
+ JOIN lehre.tbl_studienplan USING (studienplan_id)
+ JOIN testtool.tbl_ablauf USING (studienplan_id)
+ WHERE person_id=".$db->db_add_param($row->person_id)."
+ AND studiensemester_kurzbz=".$db->db_add_param($reihungstest->studiensemester_kurzbz)."
+ ORDER BY bezeichnung";
+
+ if($result_zuteilungen = $db->db_query($qry_zuteilungen))
+ {
+ while($row_zuteilungen = $db->db_fetch_object($result_zuteilungen))
+ {
+ $testmodule = array();
+ $qry_gebiete = "SELECT gebiet_id, bezeichnung, reihung FROM testtool.tbl_ablauf JOIN testtool.tbl_gebiet USING (gebiet_id) WHERE studienplan_id = ".$db->db_add_param($row_zuteilungen->studienplan_id)." ORDER BY reihung";
+ if($result_gebiete = $db->db_query($qry_gebiete))
+ {
+ while($row_gebiete = $db->db_fetch_object($result_gebiete))
+ {
+ $testmodule[$row_gebiete->gebiet_id] = $row_gebiete->bezeichnung;
+ }
+ }
+ $weitere_zuteilungen[] = $row_zuteilungen->bezeichnung.' am '.$datum_obj->formatDatum($row_zuteilungen->datum, 'd.m.Y').' ('.implode(', ', $testmodule).')';
+ }
+ }
+
$col=0;
$worksheet->write($zeile,$col, $row->vorname, $format_border);
if(strlen($row->vorname)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($row->vorname);
+ $maxlength[$col] = strlen($row->vorname);
$worksheet->write($zeile,++$col,$row->nachname, $format_border);
if(strlen($row->nachname)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($row->nachname);
+ $maxlength[$col] = strlen($row->nachname);
- $worksheet->write($zeile,++$col, $row->geschlecht, $format_border);
+ $worksheet->write($zeile,++$col, $row->geschlecht, $format_border_center);
if(strlen($row->geschlecht)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($row->geschlecht);
+ $maxlength[$col] = strlen($row->geschlecht);
$worksheet->write($zeile,++$col,$datum_obj->convertISODate($row->gebdatum), $format_border);
if(strlen($row->gebdatum)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($row->gebdatum);
+ $maxlength[$col] = strlen($row->gebdatum);
$worksheet->write($zeile,++$col,$studiengang->kuerzel_arr[$row->studiengang_kz], $format_border);
if(strlen($studiengang->kuerzel_arr[$row->studiengang_kz])>$maxlength[$col])
- $maxlength[$col] = mb_strlen($studiengang->kuerzel_arr[$row->studiengang_kz]);
+ $maxlength[$col] = strlen($studiengang->kuerzel_arr[$row->studiengang_kz]);
+
+ $worksheet->write($zeile,++$col,$row->ausbildungssemester, $format_border_center);
+ if(strlen($row->ausbildungssemester)>$maxlength[$col])
+ $maxlength[$col] = strlen($row->ausbildungssemester);
$worksheet->write($zeile,++$col,$rt_in_anderen_stg, $format_border);
if(strlen($rt_in_anderen_stg)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($rt_in_anderen_stg);
+ $maxlength[$col] = strlen($rt_in_anderen_stg);
+
+ $worksheet->write($zeile,++$col,implode("\n", $weitere_zuteilungen), $format_border);
+ foreach ($weitere_zuteilungen as $items)
+ {
+ if (strlen($items)>$maxlength[$col])
+ $maxlength[$col] = strlen($items);
+ }
$worksheet->write($zeile,++$col,$row->email, $format_border);
if(strlen($row->email)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($row->email);
-
- $worksheet->write($zeile,++$col,$row->ausbildungssemester, $format_border);
- if(strlen($row->ausbildungssemester)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($row->ausbildungssemester);
+ $maxlength[$col] = strlen($row->email);
$adresse = new adresse();
$adresse->loadZustellAdresse($row->person_id);
$worksheet->write($zeile,++$col,$adresse->strasse, $format_border);
if(strlen($adresse->strasse)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($adresse->strasse);
+ $maxlength[$col] = strlen($adresse->strasse);
$worksheet->write($zeile,++$col,$adresse->plz, $format_border);
if(strlen($adresse->plz)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($adresse->plz);
+ $maxlength[$col] = strlen($adresse->plz);
$worksheet->write($zeile,++$col,$adresse->ort, $format_border);
if(strlen($adresse->ort)>$maxlength[$col])
- $maxlength[$col] = mb_strlen($adresse->ort);
+ $maxlength[$col] = strlen($adresse->ort);
$worksheet->write($zeile,++$col,'', $format_border);
- $worksheet->setRow($zeile, 35);
-
+ if(count($weitere_zuteilungen)>2)
+ $worksheet->setRow($zeile, count($weitere_zuteilungen)*14);
+ else
+ $worksheet->setRow($zeile, 35);
+
+ $zeile++;
+
//Die Breite der Spalten setzen
foreach($maxlength as $col=>$breite)
$worksheet->setColumn($col, $col, $breite+2);
-
- $zeile++;
}
}
$workbook->close();
@@ -444,101 +577,17 @@ if(isset($_GET['excel']))
if (typeof(Storage) !== 'undefined')
{
- if (localStorage.getItem('clm_prestudent_id') != null)
+ let arr = ['clm_prestudent_id','clm_person_id','clm_geschlecht','clm_studiengang','clm_studienplan','clm_orgform','clm_einstiegssemester','clm_geburtsdatum','clm_email','clm_absolviert','clm_ergebnis','clm_fas'];
+ for (let i of arr)
{
- $('.clm_prestudent_id').css('display', localStorage.getItem('clm_prestudent_id'));
- if (localStorage.getItem('clm_prestudent_id') == 'none')
- document.getElementById('clm_prestudent_id').className = 'inactive';
- else
- document.getElementById('clm_prestudent_id').className = 'active';
- }
- if (localStorage.getItem('clm_person_id') != null)
- {
- $('.clm_person_id').css('display', localStorage.getItem('clm_person_id'));
- if (localStorage.getItem('clm_person_id') == 'none')
- document.getElementById('clm_person_id').className = 'inactive';
- else
- document.getElementById('clm_person_id').className = 'active';
- }
- if (localStorage.getItem('clm_geschlecht') != null)
- {
- $('.clm_geschlecht').css('display', localStorage.getItem('clm_geschlecht'));
- if (localStorage.getItem('clm_geschlecht') == 'none')
- document.getElementById('clm_geschlecht').className = 'inactive';
- else
- document.getElementById('clm_geschlecht').className = 'active';
- }
- if (localStorage.getItem('clm_studiengang') != null)
- {
- $('.clm_studiengang').css('display', localStorage.getItem('clm_studiengang'));
- if (localStorage.getItem('clm_studiengang') == 'none')
- document.getElementById('clm_studiengang').className = 'inactive';
- else
- document.getElementById('clm_studiengang').className = 'active';
- }
- if (localStorage.getItem('clm_studienplan') != null)
- {
- $('.clm_studienplan').css('display', localStorage.getItem('clm_studienplan'));
- if (localStorage.getItem('clm_studienplan') == 'none')
- document.getElementById('clm_studienplan').className = 'inactive';
- else
- document.getElementById('clm_studienplan').className = 'active';
- }
- if (localStorage.getItem('clm_orgform') != null)
- {
- $('.clm_orgform').css('display', localStorage.getItem('clm_orgform'));
- if (localStorage.getItem('clm_orgform') == 'none')
- document.getElementById('clm_orgform').className = 'inactive';
- else
- document.getElementById('clm_orgform').className = 'active';
- }
- if (localStorage.getItem('clm_einstiegssemester') != null)
- {
- $('.clm_einstiegssemester').css('display', localStorage.getItem('clm_einstiegssemester'));
- if (localStorage.getItem('clm_einstiegssemester') == 'none')
- document.getElementById('clm_einstiegssemester').className = 'inactive';
- else
- document.getElementById('clm_einstiegssemester').className = 'active';
- }
- if (localStorage.getItem('clm_geburtsdatum') != null)
- {
- $('.clm_geburtsdatum').css('display', localStorage.getItem('clm_geburtsdatum'));
- if (localStorage.getItem('clm_geburtsdatum') == 'none')
- document.getElementById('clm_geburtsdatum').className = 'inactive';
- else
- document.getElementById('clm_geburtsdatum').className = 'active';
- }
- if (localStorage.getItem('clm_email') != null)
- {
- $('.clm_email').css('display', localStorage.getItem('clm_email'));
- if (localStorage.getItem('clm_email') == 'none')
- document.getElementById('clm_email').className = 'inactive';
- else
- document.getElementById('clm_email').className = 'active';
- }
- if (localStorage.getItem('clm_absolviert') != null)
- {
- $('.clm_absolviert').css('display', localStorage.getItem('clm_absolviert'));
- if (localStorage.getItem('clm_absolviert') == 'none')
- document.getElementById('clm_absolviert').className = 'inactive';
- else
- document.getElementById('clm_absolviert').className = 'active';
- }
- if (localStorage.getItem('clm_ergebnis') != null)
- {
- $('.clm_ergebnis').css('display', localStorage.getItem('clm_ergebnis'));
- if (localStorage.getItem('clm_ergebnis') == 'none')
- document.getElementById('clm_ergebnis').className = 'inactive';
- else
- document.getElementById('clm_ergebnis').className = 'active';
- }
- if (localStorage.getItem('clm_fas') != null)
- {
- $('.clm_fas').css('display', localStorage.getItem('clm_fas'));
- if (localStorage.getItem('clm_fas') == 'none')
- document.getElementById('clm_fas').className = 'inactive';
- else
- document.getElementById('clm_fas').className = 'active';
+ if (localStorage.getItem(i) != null)
+ {
+ $('.'+i).css('display', localStorage.getItem(i));
+ if (localStorage.getItem(i) == 'none')
+ document.getElementById(i).className = 'inactive';
+ else
+ document.getElementById(i).className = 'active';
+ }
}
}
else
@@ -1814,9 +1863,11 @@ rt_punkte1
FROM public.tbl_rt_person
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent ON (tbl_rt_person.person_id=tbl_prestudent.person_id AND tbl_rt_person.rt_id=tbl_prestudent.reihungstest_id)
-WHERE rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER)."
-AND tbl_rt_person.studienplan_id IN (".$studienplaene_list.")
-ORDER BY ort_kurzbz NULLS FIRST,nachname,vorname
+WHERE rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER);
+if ($studienplaene_list != '')
+$qry .= "AND tbl_rt_person.studienplan_id IN (".$studienplaene_list.")";
+
+$qry .= "ORDER BY ort_kurzbz NULLS FIRST,nachname,vorname
/*
SELECT