Merge branch 'master' into feature-12510/Planner_ZeitaufzeichnungsCheckbox

This commit is contained in:
Andreas Österreicher
2021-11-04 14:32:59 +01:00
411 changed files with 15706 additions and 6942 deletions
+71
View File
@@ -26,6 +26,8 @@ require_once('../include/basis_db.class.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/dvb.class.php');
require_once('../include/errorhandler.class.php');
require_once('../include/person.class.php');
require_once('../include/adresse.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
@@ -63,12 +65,80 @@ $ausstellbehoerde = filter_input(INPUT_POST, 'ausstellbehoerde');
$ausstellland = filter_input(INPUT_POST, 'ausstellland');
$dokumentnr = filter_input(INPUT_POST, 'dokumentnr');
$getPersonData = filter_input(INPUT_POST, 'getPersonData', FILTER_VALIDATE_BOOLEAN);
$data_person_id = filter_input(INPUT_POST, 'data_person_id');
if ($getPersonData)
{
$person = new person($data_person_id);
$adresse = new adresse();
$adresse->loadZustellAdresse($person->person_id);
$svnr = $person->svnr;
if ($svnr == '' && $person->ersatzkennzeichen != '')
{
$svnr = $person->ersatzkennzeichen;
}
echo json_encode(array(
'status'=>'ok',
'matrikelnummer'=>$person->matr_nr,
'nachname'=>$person->nachname,
'vorname'=>$person->vorname,
'geburtsdatum'=>str_replace('-','',$person->gebdatum),
'geschlecht'=>strtoupper($person->geschlecht),
'postleitzahl'=>$adresse->plz,
'staat'=>$adresse->nation,
'sozialversicherungsnummer'=>$svnr
));
exit();
}
?><!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Datenverbund-Client</title>
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
</head>
<script type="text/javascript">
$(function () {
$('#getPersonDataButton').on('click', function ()
{
data = {
data_person_id: $('#getPersonDataInput').val(),
getPersonData: true
};
$.ajax({
url: 'datenverbund_client.php',
data: data,
type: 'POST',
dataType: "json",
success: function (data) {
if (data.status != 'ok') {
alert(JSON.stringify(data));
console.log(JSON.stringify(data));
}
else
{
$('input[name="matrikelnummer"]').val(data.matrikelnummer);
$('input[name="nachname"]').val(data.nachname);
$('input[name="vorname"]').val(data.vorname);
$('input[name="geburtsdatum"]').val(data.geburtsdatum);
$('input[name="geschlecht"]').val(data.geschlecht);
$('input[name="postleitzahl"]').val(data.postleitzahl);
$('input[name="staat"]').val(data.staat);
$('input[name="svnr"]').val(data.sozialversicherungsnummer);
}
},
error: function (data) {
alert(JSON.stringify(data));
console.log(JSON.stringify(data));
}
});
});
});
</script>
<body>
<h1>Testclient für Datenverbund-Webservice</h1>
<ul>
@@ -195,6 +265,7 @@ $dokumentnr = filter_input(INPUT_POST, 'dokumentnr');
break;
case 'setMatrikelnummer':
echo '<p><input id="getPersonDataInput" type="text" maxlength="10" size="10" placeholder="person_id"><button type="button" id="getPersonDataButton">Personendaten laden</button></p>';
printSetMatrikelnrRows();
printrow('staat', 'Staat', $staat, '1-3 Stellen Codex (zb A für Österreich)', 3);
printrow('svnr', 'SVNR', $svnr);
+52 -15
View File
@@ -173,7 +173,7 @@ class stip extends basis_db
* Suche Studenten anhand PersonKz
* @param $PersonKz
*/
function searchMatrikelnummerStg($Matrikelnummer, $StgKz)
function searchMatrikelnummerStg($Matrikelnummer, $StgKz, $studSemester)
{
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr, student.studiengang_kz, person.matr_nr
@@ -183,20 +183,35 @@ class stip extends basis_db
JOIN public.tbl_person person using(person_id)
WHERE
person.matr_nr = ".$this->db_add_param($Matrikelnummer)."
AND student.studiengang_kz=".$this->db_add_param(ltrim($StgKz,0)).";";
AND student.studiengang_kz=".$this->db_add_param(ltrim($StgKz,0))."
AND EXISTS(
SELECT 1 FROM public.tbl_prestudentstatus
WHERE
prestudent_id=student.prestudent_id
AND studiensemester_kurzbz=".$this->db_add_param($studSemester)."
);";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
// wenn mehr als 1 Datensatz gefunden wird --> Fehler
if($this->db_num_rows() == 1 )
{
$this->Vorname_Antwort = $row->vorname;
$this->Familienname_Antwort = $row->nachname;
$this->SVNR_Antwort = $row->svnr;
$this->PersKz_Antwort = trim($row->matrikelnr);
$this->StgKz_Antwort = str_pad($row->studiengang_kz, 4,'0', STR_PAD_LEFT);
$this->Matrikelnummer_Antwort = $row->matr_nr;
$this->AntwortStatusCode = 1;
return $row->prestudent_id;
if($row = $this->db_fetch_object())
{
$this->Vorname_Antwort = $row->vorname;
$this->Familienname_Antwort = $row->nachname;
$this->SVNR_Antwort = $row->svnr;
$this->PersKz_Antwort = trim($row->matrikelnr);
$this->StgKz_Antwort = str_pad($row->studiengang_kz, 4,'0', STR_PAD_LEFT);
$this->Matrikelnummer_Antwort = $row->matr_nr;
$this->AntwortStatusCode = 1;
return $row->prestudent_id;
}
else
{
$this->AntwortStatusCode = 2;
return false;
}
}
else
{
@@ -215,7 +230,7 @@ class stip extends basis_db
* Suche Studenten anhand Sozialversicherungsnummer
* @param $Svnr
*/
function searchSvnr($Svnr)
function searchSvnr($Svnr, $StgKz, $studSemester)
{
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr, student.studiengang_kz, person.matr_nr
@@ -223,7 +238,18 @@ class stip extends basis_db
public.tbl_student student
JOIN public.tbl_benutzer benutzer on(benutzer.uid=student.student_uid)
JOIN public.tbl_person person using(person_id)
WHERE person.svnr = ".$this->db_add_param($Svnr).";";
WHERE person.svnr = ".$this->db_add_param($Svnr);
if ($StgKz != '')
$qry.=" AND student.studiengang_kz=".$this->db_add_param($StgKz);
if ($studSemester != '')
$qry.=" AND EXISTS(
SELECT 1 FROM public.tbl_prestudentstatus
WHERE
prestudent_id=student.prestudent_id
AND studiensemester_kurzbz=".$this->db_add_param($studSemester)."
)";
if($this->db_query($qry))
{
@@ -266,7 +292,7 @@ class stip extends basis_db
* Suche Studenten anhand Vor- und Nachname
* @param $Svnr
*/
function searchVorNachname($Vorname, $Nachname)
function searchVorNachname($Vorname, $Nachname, $StgKz, $studSemester)
{
$qry = "SELECT
prestudent_id, vorname, nachname, svnr, matrikelnr, student.studiengang_kz, person.matr_nr
@@ -276,7 +302,18 @@ class stip extends basis_db
JOIN public.tbl_person person using(person_id)
WHERE
person.vorname = ".$this->db_add_param($Vorname)."
AND person.nachname = ".$this->db_add_param($Nachname).";";
AND person.nachname = ".$this->db_add_param($Nachname);
if ($StgKz != '')
$qry.=" AND student.studiengang_kz=".$this->db_add_param($StgKz);
if ($studSemester != '')
$qry.=" AND EXISTS(
SELECT 1 FROM public.tbl_prestudentstatus
WHERE
prestudent_id=student.prestudent_id
AND studiensemester_kurzbz=".$this->db_add_param($studSemester)."
)";
if($this->db_query($qry))
{
+3 -3
View File
@@ -117,11 +117,11 @@ function GetStipendienbezieherStip($parameters)
if(!$prestudentID = $StipBezieher->searchPersonKz($BezieherStip->PersKz))
{
if(!$prestudentID = $StipBezieher->searchMatrikelnummerStg($BezieherStip->Matrikelnummer, $BezieherStip->StgKz))
if(!$prestudentID = $StipBezieher->searchMatrikelnummerStg($BezieherStip->Matrikelnummer, $BezieherStip->StgKz, $studSemester))
{
if(!$prestudentID = $StipBezieher->searchSvnr($BezieherStip->SVNR))
if(!$prestudentID = $StipBezieher->searchSvnr($BezieherStip->SVNR, $BezieherStip->StgKz, $studSemester))
{
$prestudentID = $StipBezieher->searchVorNachname($BezieherStip->Vorname, $BezieherStip->Familienname);
$prestudentID = $StipBezieher->searchVorNachname($BezieherStip->Vorname, $BezieherStip->Familienname, $BezieherStip->StgKz, $studSemester);
}
}
}