mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 08:34:29 +00:00
many bugfixes
changed some tbl_student to tbl_prestudent
This commit is contained in:
@@ -1155,18 +1155,17 @@ function indexdatei($source_opus, $fd)
|
||||
//Abgabedatum nicht länger als 6 Monate zurück
|
||||
//Freigegeben oder Endedatum der Sperre vorbei
|
||||
//****************************************************************************************************
|
||||
$qry="SELECT *, tbl_lehreinheit.studiensemester_kurzbz, tbl_benutzer.uid as stud_uid, tbl_fachbereich.bezeichnung as fb_bez,
|
||||
$qry="SELECT *, tbl_lehreinheit.studiensemester_kurzbz, tbl_projektarbeit.prestudent_id, tbl_prestudent.uid as stud_uid, tbl_fachbereich.bezeichnung as fb_bez,
|
||||
tbl_lehrveranstaltung.studiengang_kz as stg_kz, tbl_projektarbeit.note as note1, tbl_zeugnisnote.note as note2
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN public.tbl_prestudent ON(tbl_projektarbeit.prestudent_id = tbl_prestudent.prestudent_id)
|
||||
JOIN public.tbl_benutzer ON(tbl_prestudent.person_id = tbl_benutzer.person_id)
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung ON(tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
|
||||
JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz AND tbl_benutzer.uid=tbl_zeugnisnote.student_uid)
|
||||
JOIN public.tbl_fachbereich ON(lehrfach.oe_kurzbz=tbl_fachbereich.oe_kurzbz)
|
||||
LEFT JOIN lehre.tbl_zeugnisnote ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz AND tbl_projektarbeit.student_uid=tbl_zeugnisnote.student_uid)
|
||||
WHERE ((tbl_projektarbeit.note>0 AND tbl_projektarbeit.note<5) OR (tbl_zeugnisnote.note>0 AND tbl_zeugnisnote.note<5)) AND projekttyp_kurzbz='Diplom'
|
||||
AND to_char(tbl_projektarbeit.abgabedatum,'YYYYMMDD')>'".date('Ymd',mktime(0, 0, 0, date('m')-6, date('d'), date('Y')))."'
|
||||
AND to_char(tbl_projektarbeit.abgabedatum,'YYYYMMDD')>'".date('Ymd',mktime(0, 0, 0, date('m')-6, date('d'), date('Y')))."'
|
||||
AND (tbl_projektarbeit.freigegeben OR (to_char(tbl_projektarbeit.gesperrtbis,'YYYYMMDD')<'".date('Ymd',mktime(0, 0, 0, date('m'), date('d'), date('Y')))."'))";
|
||||
|
||||
//echo $qry."<br>";
|
||||
|
||||
+12
-16
@@ -81,11 +81,10 @@ else
|
||||
|
||||
$text.= "<br>Suche alle Abbrecher die noch aktiv sind ... <br><br>";
|
||||
|
||||
$qry ="select pre_status.status_kurzbz, benutzer.aktiv, benutzer.uid, student.studiengang_kz studiengang
|
||||
$qry ="select pre_status.status_kurzbz, benutzer.aktiv, benutzer.uid, pre.studiengang_kz studiengang
|
||||
from public.tbl_prestudentstatus pre_status
|
||||
join public.tbl_prestudent pre using(prestudent_id)
|
||||
join public.tbl_student student using(prestudent_id)
|
||||
join public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
|
||||
join public.tbl_benutzer benutzer on(benutzer.uid=pre.uid)
|
||||
where pre_status.status_kurzbz ='Abbrecher' and benutzer.aktiv = 'true';";
|
||||
|
||||
if($db->db_query($qry))
|
||||
@@ -184,27 +183,24 @@ if($db->db_query($qry))
|
||||
*/
|
||||
|
||||
$text .="<br><br>Suche Studenten deren Semstern nicht mit dem Ausbildungssemesters des aktuellen Status übereinstimmt ... <br><br>";
|
||||
|
||||
$student = new student();
|
||||
$prestudent = new prestudent();
|
||||
$qry = "select distinct(student.student_uid), prestudent.prestudent_id, status.ausbildungssemester, lv.semester, student.studiengang_kz studiengang
|
||||
from public.tbl_student student
|
||||
join public.tbl_studentlehrverband lv ON(public.tbl_student.prestudent_id = public.tbl_studentlehrverband.prestudent_id)
|
||||
join public.tbl_prestudent prestudent using(prestudent_id)
|
||||
join public.tbl_prestudentstatus status using(prestudent_id)
|
||||
WHERE status.studiensemester_kurzbz = '$aktSem'
|
||||
|
||||
$qry = "select distinct(pre.uid), pre.prestudent_id, status.ausbildungssemester, lv.semester, pre.studiengang_kz studiengang
|
||||
from public.tbl_prestudent pre
|
||||
join public.tbl_studentlehrverband lv USING(prestudent_id)
|
||||
join public.tbl_prestudentstatus status USING(prestudent_id)
|
||||
WHERE status.studiensemester_kurzbz = '$aktSem'
|
||||
and lv.studiensemester_kurzbz = '$aktSem' AND status.status_kurzbz NOT IN ('Interessent','Bewerber')
|
||||
and get_rolle_prestudent (prestudent_id, '$aktSem')='Student';";
|
||||
and get_rolle_prestudent (prestudent_id, '$aktSem')='Student';";
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
$student_uid = $row->student_uid;
|
||||
|
||||
$student_uid = $row->uid;
|
||||
|
||||
if($row->ausbildungssemester != $row->semester)
|
||||
{
|
||||
$ausgabe[$row->studiengang][5][]= $student_uid;
|
||||
$ausgabe[$row->studiengang][5][]= $student_uid;
|
||||
$text.="Studenten-uid: ".$student_uid."<br>";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,24 +45,42 @@ array
|
||||
array("schema" => "fue", "name" => "tbl_ressource", "from" => "student_uid", "to" => "uid", "datatype" => "varchar(32)", "newTarget" => "tbl_benutzer", "newTargetSchema" => "public", "pickDataFrom" => "tbl_benutzer", "pickDataFromCol" => "uid" , "constraint" => ""),
|
||||
array("schema" => "lehre", "name" => "tbl_pruefung", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"),
|
||||
array("schema" => "lehre", "name" => "tbl_zeugnis", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"),
|
||||
array("schema" => "lehre", "name" => "tbl_zeugnisnote", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"),
|
||||
|
||||
);
|
||||
|
||||
if(!isset($_POST["action"]))
|
||||
{
|
||||
$needed = false;
|
||||
$change_needed = false;
|
||||
$generic_needs = "";
|
||||
|
||||
/* GENERIC */
|
||||
if(!$result = @$db->db_query("SELECT perskz FROM public.tbl_prestudent LIMIT 1;"))
|
||||
{
|
||||
$change_needed = true;
|
||||
$generic_needs .= "public.tbl_prestudent: uid wird <strong style='color:green;'>eingefügt</strong>(student_uid von tbl_student)<br>";
|
||||
$generic_needs .= "public.tbl_prestudent: perskz wird <strong style='color:green;'>eingefügt</strong>(matrikelnr von tbl_student)<br>";
|
||||
}
|
||||
|
||||
/* TABLE SPECIFIC */
|
||||
foreach($all_tables_to_update as $t)
|
||||
{
|
||||
if(checkForUpdates($db, $t))
|
||||
$needed = true;
|
||||
$change_needed = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if($needed)
|
||||
if($change_needed)
|
||||
{
|
||||
echo "<h2 style='color:red;'>ACHTUNG!</h2>";
|
||||
echo "<h3>Folgendes wird geändert:</h3>";
|
||||
echo "<p>";
|
||||
|
||||
if($generic_needs != "")
|
||||
{
|
||||
echo $generic_needs;
|
||||
}
|
||||
|
||||
foreach($all_tables_to_update as $t)
|
||||
describeOneChange($db, $t);
|
||||
@@ -88,6 +106,31 @@ else if($_POST["action"] == "Starten")
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
//********************************tbl_prestudent CHANGES********************************
|
||||
if(!$result = @$db->db_query("SELECT perskz FROM public.tbl_prestudent LIMIT 1;"))
|
||||
{
|
||||
$prestudent_qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN uid varchar(32);
|
||||
ALTER TABLE public.tbl_prestudent ADD CONSTRAINT fk_tbl_prestudent_tbl_benutzer_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
UPDATE public.tbl_prestudent SET uid = (SELECT student_uid FROM public.tbl_student WHERE tbl_student.prestudent_id = tbl_prestudent.prestudent_id);
|
||||
";
|
||||
if(!$result = @$db->db_query($prestudent_qry))
|
||||
{
|
||||
echo "<p>Could not ADD COLUMN uid TO public.tbl_prestudent: " . $db->db_last_error()."</p>";
|
||||
}
|
||||
|
||||
|
||||
$prestudent_qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN perskz character(15);
|
||||
UPDATE public.tbl_prestudent SET perskz = (SELECT matrikelnr FROM public.tbl_student WHERE tbl_student.prestudent_id = tbl_prestudent.prestudent_id);
|
||||
";
|
||||
if(!$result = @$db->db_query($prestudent_qry))
|
||||
{
|
||||
echo "<p>Could not ADD COLUMN perskz TO public.tbl_prestudent: " . $db->db_last_error()."</p>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//********************************DROP ALL VIEWS********************************
|
||||
//bis.vw_bisio
|
||||
@@ -125,6 +168,27 @@ else if($_POST["action"] == "Starten")
|
||||
echo "<p>Could not DROP view public.vw_gruppen: " . $create_view_qry."</p>";
|
||||
}
|
||||
}
|
||||
|
||||
//lehre.vw_zeugnisnote
|
||||
if($result = @$db->db_query("SELECT 1 FROM lehre.vw_zeugnisnote LIMIT 1;"))
|
||||
{
|
||||
if(!$db->db_query("DROP VIEW lehre.vw_zeugnisnote"))
|
||||
{
|
||||
echo "<p>Could not DROP view lehre.vw_zeugnisnote: " . $create_view_qry."</p>";
|
||||
}
|
||||
}
|
||||
|
||||
//testtool.vw_reihungstest_zeugnisnoten
|
||||
if($result = @$db->db_query("SELECT 1 FROM testtool.vw_reihungstest_zeugnisnoten LIMIT 1;"))
|
||||
{
|
||||
if(!$db->db_query("DROP VIEW testtool.vw_reihungstest_zeugnisnoten"))
|
||||
{
|
||||
echo "<p>Could not DROP view testtool.vw_reihungstest_zeugnisnoten: " . $create_view_qry."</p>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//modify all tables
|
||||
@@ -386,6 +450,137 @@ else if($_POST["action"] == "Starten")
|
||||
|
||||
|
||||
|
||||
//lehre.vw_zeugnisnote
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM lehre.vw_zeugnisnote LIMIT 1;"))
|
||||
{
|
||||
$create_view_qry = "
|
||||
CREATE VIEW lehre.vw_zeugnisnote AS
|
||||
SELECT tbl_zeugnisnote.studiensemester_kurzbz,
|
||||
tbl_prestudent.uid,
|
||||
tbl_prestudent.perskz,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
tbl_lehrveranstaltung.kurzbz,
|
||||
tbl_zeugnisnote.note,
|
||||
tbl_lehrveranstaltung.ects,
|
||||
tbl_zeugnisnote.lehrveranstaltung_id,
|
||||
tbl_person.person_id,
|
||||
tbl_prestudent.prestudent_id,
|
||||
tbl_zeugnisnote.benotungsdatum,
|
||||
tbl_person.staatsbuergerschaft,
|
||||
tbl_person.geburtsnation,
|
||||
tbl_person.sprache,
|
||||
tbl_person.nachname,
|
||||
tbl_person.vorname,
|
||||
tbl_person.gebdatum,
|
||||
tbl_person.gebort,
|
||||
tbl_person.gebzeit,
|
||||
tbl_person.svnr,
|
||||
tbl_person.ersatzkennzeichen,
|
||||
tbl_person.familienstand,
|
||||
tbl_person.geschlecht,
|
||||
tbl_person.anzahlkinder,
|
||||
tbl_person.bundesland_code,
|
||||
tbl_lehrveranstaltung.bezeichnung,
|
||||
tbl_lehrveranstaltung.studiengang_kz AS lv_studiengang_kz,
|
||||
tbl_lehrveranstaltung.semester AS lv_semester,
|
||||
tbl_lehrveranstaltung.semesterstunden,
|
||||
tbl_lehrveranstaltung.lehrform_kurzbz,
|
||||
tbl_lehrveranstaltung.orgform_kurzbz,
|
||||
tbl_prestudent.rt_punkte1,
|
||||
tbl_prestudent.rt_punkte2,
|
||||
tbl_prestudent.rt_punkte3,
|
||||
tbl_prestudent.rt_gesamtpunkte
|
||||
FROM tbl_prestudent
|
||||
JOIN lehre.tbl_zeugnisnote USING (prestudent_id)
|
||||
JOIN tbl_person USING (person_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id);
|
||||
COMMENT ON VIEW lehre.vw_zeugnisnote IS 'Zeugnisnoten inkl. Personendaten, LV-Daten und RT-Punkte';
|
||||
";
|
||||
if(!$db->db_query($create_view_qry))
|
||||
{
|
||||
echo "<p>Could not CREATE view lehre.vw_zeugnisnote: " . $create_view_qry."</p>";
|
||||
}
|
||||
}
|
||||
|
||||
//testtool.VIEW
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM testtool.vw_reihungstest_zeugnisnoten LIMIT 1;"))
|
||||
{
|
||||
$create_view_qry = "
|
||||
CREATE VIEW testtool.vw_reihungstest_zeugnisnoten AS
|
||||
SELECT tbl_zeugnisnote.studiensemester_kurzbz,
|
||||
CASE
|
||||
WHEN tbl_zeugnisnote.note IS NULL THEN 5
|
||||
WHEN tbl_zeugnisnote.note = ANY (ARRAY[7, 13, 14, 15]) THEN 5
|
||||
ELSE tbl_zeugnisnote.note::integer
|
||||
END AS note,
|
||||
tbl_zeugnisnote.lehrveranstaltung_id,
|
||||
tbl_zeugnisnote.benotungsdatum,
|
||||
tbl_benutzer.uid,
|
||||
tbl_student.matrikelnr,
|
||||
tbl_student.studiengang_kz AS student_stg_kz,
|
||||
tbl_student.semester,
|
||||
tbl_student.prestudent_id,
|
||||
tbl_lehrveranstaltung.kurzbz,
|
||||
tbl_lehrveranstaltung.bezeichnung,
|
||||
tbl_lehrveranstaltung.studiengang_kz AS lv_studiengang_kz,
|
||||
tbl_lehrveranstaltung.semester AS lv_semester,
|
||||
tbl_lehrveranstaltung.semesterstunden,
|
||||
tbl_lehrveranstaltung.lehrform_kurzbz,
|
||||
tbl_lehrveranstaltung.orgform_kurzbz,
|
||||
tbl_lehrveranstaltung.ects,
|
||||
tbl_lehrveranstaltung.zeugnis,
|
||||
tbl_lehrveranstaltung.studiengang_kz AS lv_stg_kz,
|
||||
tbl_person.person_id,
|
||||
tbl_person.staatsbuergerschaft,
|
||||
tbl_person.geburtsnation,
|
||||
tbl_person.sprache,
|
||||
tbl_person.nachname,
|
||||
tbl_person.vorname,
|
||||
tbl_person.gebdatum,
|
||||
tbl_person.gebort,
|
||||
tbl_person.gebzeit,
|
||||
tbl_person.svnr,
|
||||
tbl_person.ersatzkennzeichen,
|
||||
tbl_person.familienstand,
|
||||
tbl_person.geschlecht,
|
||||
tbl_person.anzahlkinder,
|
||||
tbl_person.bundesland_code,
|
||||
tbl_prestudent.rt_punkte1,
|
||||
tbl_prestudent.rt_punkte2,
|
||||
tbl_prestudent.rt_punkte3,
|
||||
tbl_prestudent.rt_gesamtpunkte,
|
||||
tbl_studiensemester.ende
|
||||
FROM tbl_student
|
||||
JOIN lehre.tbl_zeugnisnote USING (student_uid)
|
||||
JOIN tbl_benutzer ON tbl_student.student_uid::text = tbl_benutzer.uid::text
|
||||
JOIN tbl_person USING (person_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||
JOIN tbl_prestudent USING (prestudent_id)
|
||||
JOIN tbl_studiensemester USING (studiensemester_kurzbz);
|
||||
COMMENT ON VIEW testtool.vw_reihungstest_zeugnisnoten IS 'Fuer die Gegenueberstellung der Reihungstestergebnisse mit den Zeugnisnoten';
|
||||
";
|
||||
if(!$db->db_query($create_view_qry))
|
||||
{
|
||||
echo "<p>Could not CREATE view testtool.vw_reihungstest_zeugnisnoten: " . $create_view_qry."</p>";
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO:SCHEMA.TODO:VIEW TEMPLATE
|
||||
//SCHEMA.TODO:VIEW
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM TODO:SCHEMA.TODO:VIEW LIMIT 1;"))
|
||||
{
|
||||
$create_view_qry = "
|
||||
CREATE VIEW TODO:SCHEMA.TODO:VIEW AS
|
||||
TODO:DEFINITION
|
||||
";
|
||||
if(!$db->db_query($create_view_qry))
|
||||
{
|
||||
echo "<p>Could not CREATE view TODO:SCHEMA.TODO:VIEW: " . $create_view_qry."</p>";
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gr
|
||||
if($gruppe_kurzbz=='')
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct prestudent_id
|
||||
distinct uid
|
||||
FROM
|
||||
public.tbl_studentlehrverband
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
@@ -150,7 +150,7 @@ function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gr
|
||||
else
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct uid as student_uid
|
||||
distinct uid
|
||||
FROM
|
||||
public.tbl_benutzergruppe
|
||||
LEFT JOIN
|
||||
@@ -167,7 +167,7 @@ function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gr
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
$students[]=$row->student_uid;
|
||||
$students[]=$row->uid;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user