*/
require_once('../config/system.config.inc.php');
require_once('../include/basis_db.class.php');
require_once('../version.php');
require_once('../include/benutzerberechtigung.class.php');
// Datenbank Verbindung
$db = new basis_db();
echo '
Studienplan_id prestudentstatus
Studienplan_id Update
';
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('admin'))
{
exit('Sie haben keine Berechtigung');
}
if(isset($_POST["start"]) && $_POST["start"] == "start")
{
if($result = $db->db_query("SELECT prestudent_id, orgform_kurzbz, studiensemester_kurzbz, ausbildungssemester, status_kurzbz FROM public.tbl_prestudentstatus WHERE studienplan_id IS NULL"))
{
$all_count = $db->db_num_rows($result);
$entries_not_unique = 0;
$entries_not_found = 0;
$entries_with_error = 0;
echo "Es gibt " . $all_count . " zu bearbeitende Einträge ";
while($row = $db->db_fetch_object($result))
{
$qry_search="
SELECT
studienplan_id
FROM
lehre.tbl_studienplan
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE tbl_studienordnung.studiengang_kz=
(
SELECT studiengang_kz
FROM public.tbl_prestudent
WHERE prestudent_id=".$db->db_add_param($row->prestudent_id,FHC_INTEGER)."
)
AND lehre.tbl_studienplan.orgform_kurzbz=
(
SELECT COALESCE
(
".$db->db_add_param($row->orgform_kurzbz).",
(
SELECT orgform_kurzbz FROM public.tbl_studiengang
WHERE
studiengang_kz=(SELECT studiengang_kz FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id,FHC_INTEGER).")
)
)
)
AND EXISTS
(
SELECT * FROM lehre.tbl_studienplan_semester
WHERE
studienplan_id=tbl_studienplan.studienplan_id
AND studiensemester_kurzbz=".$db->db_add_param($row->studiensemester_kurzbz)."
AND semester=".$db->db_add_param($row->ausbildungssemester,FHC_INTEGER)."
);
";
$result_search = $db->db_query($qry_search);
$ct = $db->db_num_rows($result_search);
if($ct < 1)
{
$entries_not_found++;
}
else if($ct > 1)
{
$entries_not_unique++;
}
else
{
$sp = $db->db_fetch_object($result_search);
if(!$db->db_query("UPDATE public.tbl_prestudentstatus SET studienplan_id=".$db->db_add_param($sp->studienplan_id, FHC_INTEGER).
" WHERE prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER).
" AND status_kurzbz=".$db->db_add_param($row->status_kurzbz).
" AND studiensemester_kurzbz=".$db->db_add_param($row->studiensemester_kurzbz).
" AND ausbildungssemester=".$db->db_add_param($row->ausbildungssemester, FHC_INTEGER)
))
$entries_with_error ++;
}
}
$rest_count = $all_count - $entries_not_found - $entries_not_unique - $entries_with_error;
$quote = 100/$all_count*$rest_count;
echo "Es wurden " . $rest_count . " Einträge eingetragen ";
echo $entries_not_found." nicht gefunden ";
echo $entries_not_unique." nicht eindeutig ";
echo $entries_with_error." konnten aufgrund eines Fehlers nicht eingetragen werden ";
echo "Es wurde eine quote von " . round($quote,2) . "% erreicht ";
}
}
else
{
?>
Der folgende Vorgang kann unter Umständen mehrere Minuten dauern!
Es wird versucht anhand der orgform_kurzbz, der prestudent_id, der studiensemester_kurzbz und des ausbildungssemesters die studienplan_id des prestudentstatus zu ermitteln
Es werden nur Einträge mit studienplan_id IS NULL geändert
Hinweis:
Die Tabelle lehre.tbl_studienplan_semester muss hierfür bereits durch CHECKSYSTEM angelegt UND befüllt sein. Andernfalls kann keine studienplan_id gefunden werden!