Merge branch 'master' into feature-8528/BIS-Meldung_Studierendenmeldung_anpassen

This commit is contained in:
Andreas Österreicher
2020-10-19 17:09:44 +02:00
81 changed files with 2990 additions and 578 deletions
+13 -4
View File
@@ -407,7 +407,7 @@ class betriebsmittel extends basis_db
* @param $nummer
* @return boolean
*/
public function getBetriebsmittel($betriebsmitteltyp, $nummer)
public function getBetriebsmittel($betriebsmitteltyp, $nummer, $nummer2 = null)
{
// Initialisieren
$this->result=array();
@@ -415,7 +415,16 @@ class betriebsmittel extends basis_db
$qry= 'SELECT * ';
$qry.= ' FROM wawi.tbl_betriebsmittel ';
$qry.= " WHERE betriebsmitteltyp=".$this->db_add_param($betriebsmitteltyp)." AND nummer=".$this->db_add_param($nummer);
$qry.= " WHERE betriebsmitteltyp=".$this->db_add_param($betriebsmitteltyp);
if (is_null($nummer2))
{
$qry.= " AND nummer=".$this->db_add_param($nummer);
}
else
{
$qry.= " AND nummer2=".$this->db_add_param($nummer2);
}
$qry.= ' ORDER BY updateamum DESC';
if($this->db_query($qry))
@@ -1222,7 +1231,7 @@ class betriebsmittel extends basis_db
{
$this->result='';
$this->errormsg = '';
$qry ="SELECT * FROM wawi.tbl_betriebsmittelperson WHERE uid =".$this->db_add_param($uid, FHC_STRING)."
AND betriebsmittel_id IN(
SELECT betriebsmittel_id
@@ -1252,7 +1261,7 @@ class betriebsmittel extends basis_db
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
@@ -368,6 +368,47 @@ class betriebsmittel_betriebsmittelstatus extends basis_db
$this->errormsg = 'Fehler beim Entfernen des Betriebsmittel Betriebsmittelstatus-Datensatzes';
return false;
}
}
}
/**
* Laedt den letzten Stauts eines Betriebsmittels
* @param $betriebsmittel_id
* @return betriebsmittelstatus_kurzbz wenn ok, false im Fehlerfall
*/
public function load_last_status_by_betriebsmittel_id($betriebsmittel_id)
{
$this->result=array();
$this->errormsg='';
if ($betriebsmittel_id)
$this->betriebsmittel_id=$betriebsmittel_id;
if(!is_numeric($this->betriebsmittel_id))
{
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
return false;
}
$qry=' SELECT * FROM wawi.tbl_betriebsmittel_betriebsmittelstatus
WHERE betriebsmittel_id='.$this->db_add_param(trim($this->betriebsmittel_id), FHC_INTEGER).'
ORDER BY betriebsmittelbetriebsmittelstatus_id DESC LIMIT 1';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->betriebsmittelstatus_kurzbz;
}
else
{
$this->errormsg='Es wurde kein Eintrag gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+1 -1
View File
@@ -595,7 +595,7 @@ class betriebsmittelperson extends basis_db
FROM
wawi.tbl_betriebsmittel
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE tbl_betriebsmittel.nummer='.$this->db_add_param($nummer).'
WHERE tbl_betriebsmittel.nummer2='.$this->db_add_param($nummer).'
AND tbl_betriebsmittel.betriebsmitteltyp=\'Zutrittskarte\'
AND tbl_betriebsmittelperson.person_id='.$this->db_add_param($person_id);
+26 -16
View File
@@ -41,7 +41,7 @@ class dvb extends basis_db
const DVB_URL_WEBSERVICE_MATRIKELNUMMER = DVB_PORTAL.'/rws/0.2/simpleStudentByMatrikelnummer.xml';
const DVB_URL_WEBSERVICE_RESERVIERUNG = DVB_PORTAL.'/rws/0.5/matrikelreservierung.xml';
const DVB_URL_WEBSERVICE_MELDUNG = DVB_PORTAL.'/rws/0.5/matrikelmeldung.xml';
const DVB_URL_WEBSERVICE_BPK = DVB_PORTAL.'/rws/0.2/pruefeBpk.xml';
const DVB_URL_WEBSERVICE_BPK = DVB_PORTAL.'/rws/0.5/pruefebpk.xml';
public $authentication;
private $username;
@@ -188,6 +188,7 @@ class dvb extends basis_db
AND tbl_benutzer.aktiv
AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming')
AND tbl_prestudent.bismelden
AND tbl_prestudent.studiengang_kz<10000
ORDER BY tbl_prestudentstatus.datum desc LIMIT 1
";
@@ -1139,11 +1140,14 @@ class dvb extends basis_db
$curl = curl_init();
$uuid = $this->getUUID();
$url = self::DVB_URL_WEBSERVICE_BPK;
$url .= '?geburtsDatum='.curl_escape($curl, $geburtsdatum);
$url .= '?geburtsdatum='.curl_escape($curl, $geburtsdatum);
$url .= '&vorname='.curl_escape($curl, $vorname);
$url .= '&nachname='.curl_escape($curl, $nachname);
$url .= '&geschlecht='.curl_escape($curl, $geschlecht);
$url .= '&uuid='.curl_escape($curl, $uuid);
if (!is_null($plz))
$url .= '&plz='.curl_escape($curl, $plz);
@@ -1178,19 +1182,22 @@ class dvb extends basis_db
if ($curl_info['http_code'] == '200')
{
/* Example Response:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<simpleBpkResponse xmlns="http://www.brz.gv.at/datenverbund-unis">
<personenkennzeichen>1234567890ABCDEFGH=</personenkennzeichen>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<simpleBpkResponse xmlns="http://www.brz.gv.at/datenverbund-unis">
<bpk>12345ABCDEFGHXXXXXXX=</bpk>
<personInfo>
<person>
<vorname>Max</vorname>
<nachname>Mustermann</nachname>
<geschlecht>M</geschlecht>
<gebdat>19901231</gebdat>
</person>
<adresse>
<ort></ort>
</adresse>
<person>
<vorname>Hans</vorname>
<nachname>Huber</nachname>
<geschlecht>M</geschlecht>
<gebdat>1990-01-01</gebdat>
</person>
<adresse>
<staat></staat>
<plz>1100</plz>
<ort></ort>
<strasse></strasse>
</adresse>
</personInfo>
</simpleBpkResponse>
@@ -1232,7 +1239,7 @@ class dvb extends basis_db
}
}
$domnodes_bpk = $dom->getElementsByTagNameNS($namespace, 'personenkennzeichen');
$domnodes_bpk = $dom->getElementsByTagNameNS($namespace, 'bpk');
if ($domnodes_bpk->length > 0)
{
$retval = new stdClass();
@@ -1602,8 +1609,11 @@ class dvb extends basis_db
$curl = curl_init();
$url = self::DVB_URL_WEBSERVICE_MATRIKELNUMMER;
$uuid = $this->getUUID();
$url = self::DVB_URL_WEBSERVICE_MATRIKELNUMMER;
$url .= '?matrikelNummer='.curl_escape($curl, $matrikelnr);
$url .= '&uuid='.curl_escape($curl, $uuid);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+19 -2
View File
@@ -590,7 +590,7 @@ class pruefungCis extends basis_db
* @param String|Array $lehrveranstaltung_IDs einzelne ID einer Lehrveranstaltung oder ein Array von IDs
* @return boolean true, wenn ok; false, im Fehlerfall
*/
public function getPruefungByLv($lehrveranstaltung_IDs)
public function getPruefungByLv($lehrveranstaltung_IDs, $uid = null)
{
if(empty($lehrveranstaltung_IDs))
{
@@ -612,7 +612,24 @@ class pruefungCis extends basis_db
$in = $lehrveranstaltung_IDs;
}
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id IN ('.$in.');';
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id IN ('.$in.')';
if ($uid !== null)
{
// LVs entfernen wo schon eine positive Note für UID vorhanden ist
$qry .= " AND lehrveranstaltung_id NOT IN (
SELECT lehrveranstaltung_id
FROM lehre.tbl_pruefung
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE student_uid = " . $this->db_add_param($uid) . "
AND note NOT IN (5, 7, 9, 11, 13, 14)
UNION
SELECT lehrveranstaltung_id
FROM lehre.tbl_zeugnisnote
WHERE student_uid = " . $this->db_add_param($uid) . "
AND note NOT IN (5, 7, 9, 11, 13, 14)
);";
}
if($this->db_query($qry))
{