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
+41 -1
View File
@@ -243,7 +243,8 @@ class anrechnung extends basis_db
*/
public function delete($anrechnung_id)
{
$qry = "DELETE FROM lehre.tbl_anrechnung WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
$qry = "DELETE FROM lehre.tbl_anrechnung_anrechnungstatus WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id). "; ";
$qry.= "DELETE FROM lehre.tbl_anrechnung WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
if ($this->db_query($qry))
{
@@ -362,4 +363,43 @@ class anrechnung extends basis_db
return false;
}
}
public function getLastAnrechnungstatus($anrechnung_id)
{
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$qry = '
SELECT *, '. $bezeichnung_mehrsprachig. '
FROM lehre.tbl_anrechnungstatus
JOIN lehre.tbl_anrechnung_anrechnungstatus USING (status_kurzbz)
WHERE anrechnung_id = ' . $this->db_add_param($anrechnung_id). '
ORDER BY insertamum DESC
LIMIT 1
';
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
$obj = new stdClass();
$obj->anrechnungstatus_id = $row->anrechnungstatus_id;
$obj->status_kurzbz = $row->status_kurzbz;
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->result[]= $obj;
return true;
}
else
{
$this->errormsg = 'Daten konnten nicht geladen werden';
return false;
}
}
else
{
$this->errormsg = 'Daten konnten nicht geladen werden';
return false;
}
}
}
+9 -4
View File
@@ -509,10 +509,11 @@ class betriebsmittelperson extends basis_db
/**
* Sucht welche Person die uebergebene Kartennummer hat
* @param $nummer Kartennummer
* @param $nummer Kartennummer
* @param boolean $checkRetour Optional. Default true. Checkt, ob die Karte bereits retourniert wurde. Wenn false werden auch bereits retournierte Karten zurückgegeben
* @return true wenn ok, false im Fehlerfall
*/
public function getKartenzuordnung($nummer)
public function getKartenzuordnung($nummer, $checkRetour=true)
{
// fuehrende Nullen bei Kartennummern auch checken
$qry='
@@ -536,8 +537,12 @@ class betriebsmittelperson extends basis_db
OR tbl_betriebsmittel.nummer2='.$this->db_add_param('00000'.$nummer).'
)
AND tbl_betriebsmittel.betriebsmitteltyp=\'Zutrittskarte\'
AND (ausgegebenam<=now() OR ausgegebenam is NULL)
AND (retouram>=now() OR retouram is NULL)';
AND (ausgegebenam<=now() OR ausgegebenam is NULL)';
if ($checkRetour == true)
{
$qry .= ' AND (retouram>=now() OR retouram is NULL)';
}
if($this->db_query($qry))
{
+22 -3
View File
@@ -48,6 +48,7 @@ class bisverwendung extends basis_db
public $inkludierte_lehre;
public $zeitaufzeichnungspflichtig;
public $azgrelevant;
public $homeoffice;
public $ba1bez;
public $ba2bez;
@@ -124,6 +125,7 @@ class bisverwendung extends basis_db
$this->inkludierte_lehre = $row->inkludierte_lehre;
$this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$this->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$this->homeoffice = $this->db_parse_bool($row->homeoffice);
return true;
}
else
@@ -257,13 +259,22 @@ class bisverwendung extends basis_db
{
$azgrelevant = 'null';
}
if(is_bool($this->homeoffice))
{
$homeoffice = $this->db_add_param($this->homeoffice, FHC_BOOLEAN);
}
else
{
$homeoffice = 'null';
}
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO bis.tbl_bisverwendung (ba1code, ba2code, beschausmasscode,
verwendung_code, mitarbeiter_uid, hauptberufcode, hauptberuflich, habilitation, beginn, ende, vertragsstunden,
updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre, zeitaufzeichnungspflichtig, azgrelevant) VALUES (".
updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre, zeitaufzeichnungspflichtig,
azgrelevant, homeoffice) VALUES (".
$this->db_add_param($this->ba1code, FHC_INTEGER).', '.
$this->db_add_param($this->ba2code, FHC_INTEGER).', '.
$this->db_add_param($this->beschausmasscode, FHC_INTEGER).', '.
@@ -282,7 +293,8 @@ class bisverwendung extends basis_db
$this->db_add_param($this->dv_art).','.
$this->db_add_param($this->inkludierte_lehre).','.
$zeitaufzeichnungspflichtig.','.
$azgrelevant. ');';
$azgrelevant.','.
$homeoffice. ');';
}
else
@@ -307,7 +319,8 @@ class bisverwendung extends basis_db
" dv_art=".$this->db_add_param($this->dv_art).",".
" inkludierte_lehre=".$this->db_add_param($this->inkludierte_lehre).",".
" zeitaufzeichnungspflichtig=". $zeitaufzeichnungspflichtig.",".
" azgrelevant =". $azgrelevant.
" azgrelevant =". $azgrelevant.",".
" homeoffice =". $homeoffice.
" WHERE bisverwendung_id=".$this->db_add_param($this->bisverwendung_id, FHC_INTEGER);
}
@@ -401,6 +414,7 @@ class bisverwendung extends basis_db
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$obj->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$obj->homeoffice = $this->db_parse_bool($row->homeoffice);
$this->result[] = $obj;
}
return true;
@@ -458,6 +472,7 @@ class bisverwendung extends basis_db
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$obj->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$obj->homeoffice = $this->db_parse_bool($row->homeoffice);
$this->result[] = $obj;
}
@@ -517,6 +532,7 @@ class bisverwendung extends basis_db
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$obj->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$obj->homeoffice = $this->db_parse_bool($row->homeoffice);
$this->result[] = $obj;
}
@@ -571,6 +587,7 @@ class bisverwendung extends basis_db
$this->inkludierte_lehre = $row->inkludierte_lehre;
$this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$this->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$this->homeoffice = $this->db_parse_bool($row->homeoffice);
}
return true;
}
@@ -625,6 +642,7 @@ class bisverwendung extends basis_db
$this->inkludierte_lehre = $row->inkludierte_lehre;
$this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$this->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$this->homeoffice = $this->db_parse_bool($row->homeoffice);
}
return true;
}
@@ -688,6 +706,7 @@ class bisverwendung extends basis_db
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$obj->azgrelevant = $this->db_parse_bool($row->azgrelevant);
$obj->homeoffice = $this->db_parse_bool($row->homeoffice);
$this->result[] = $obj;
}
+1 -1
View File
@@ -373,7 +373,7 @@ class coodle extends basis_db
WHERE
(uid =".$this->db_add_param($uid, FHC_STRING, false)."
OR ersteller_uid =".$this->db_add_param($uid, FHC_STRING, false).")
AND endedatum >= CURRENT_DATE - interval '20 days';";
AND endedatum >= CURRENT_DATE - interval '90 days';";
if(!$this->db_query($qry))
{
+2 -2
View File
@@ -164,7 +164,7 @@ class konto extends basis_db
return false;
}
if(!is_numeric($this->mahnspanne))
if($this->mahnspanne!='' && !is_numeric($this->mahnspanne))
{
$this->errormsg = "Die Mahnspanne muss eine gueltige Zahl sein";
return false;
@@ -713,7 +713,7 @@ class konto extends basis_db
$qry = "select sum(betrag) as betrag from public.tbl_konto
join public.tbl_benutzer benutzer using(person_id)
where uid=".$this->db_add_param($uid)." and studiensemester_kurzbz = ".$this->db_add_param($stsem)."
and buchungstyp_kurzbz = 'Studiengebuehr' and betrag > 0";
and buchungstyp_kurzbz in('Studiengebuehr','StudiengebuehrAnzahlung','StudiengebuehrRestzahlung') and betrag > 0";
if($studiengang_kz!= null)
$qry.=" and studiengang_kz = ".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
+133
View File
@@ -0,0 +1,133 @@
<?php
/* Copyright (C) 2013 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
require_once(dirname(__FILE__). '/basis_db.class.php');
require_once(dirname(__FILE__). '/sprache.class.php');
require_once(dirname(__FILE__). '/functions.inc.php');
class lehrmodus extends basis_db
{
//Objekt Lehrmodus
public $result = array();
//Tabellenspalten
public $lehrmodus_kurzbz;
public $bezeichnung_mehrsprachig;
public $aktiv;
/**
* Konstruktor - Laedt optional einen Lehrmodus
* @param lehrmodus_kurbz Lehrmodus der geladen werden soll
*/
public function __construct($lehrmodus_kurzbz = null)
{
parent::__construct();
if($lehrmodus_kurzbz != null)
$this->load($lehrmodus_kurzbz);
}
/**
* Liefert alle Lehrmodi aus der table tbl_lehrmodus
* @return true wenn ok, false im Fehlerfall
*/
public function getAll()
{
$sprache = new sprache();
$qry = "SELECT *, ".$sprache->getSprachQuery('bezeichnung_mehrsprachig')."
FROM lehre.tbl_lehrmodus";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lehrmodus = new lehrmodus();
$lehrmodus->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lehrmodus->aktiv = $this->db_parse_bool($row->aktiv);
$lehrmodus->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->result[] = $lehrmodus;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Laedt einen Lehrmodus
* @param lehrmodus_kurzbz ID des Datensatzes der zu laden ist
* @return true wenn ok, false im Fehlerfall
*/
public function load($lehrmodus_kurzbz)
{
$sprache = new sprache();
$qry = "SELECT
*,".$sprache->getSprachQuery('bezeichnung_mehrsprachig')."
FROM
lehre.tbl_lehrmodus
WHERE
lehrmodus_kurzbz=".$this->db_add_param($lehrmodus_kurzbz).";";
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Lesen vom Lehrmodus';
return false;
}
if($row = $this->db_fetch_object())
{
$this->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
$this->aktiv = $this->db_parse_bool($row->aktiv);
}
else
{
$this->errormsg = 'Es ist kein Lehrmodus mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Baut die Datenstruktur für senden als JSON Objekt auf
*/
// public function cleanResult()
// {
// $data = array();
// if(count($this->result)>0)
// {
// foreach ($this->result as $lm)
// {
// $obj = new stdClass();
// $obj->lehrmodus_kurzbz = $lm->lehrmodus_kurzbz;
// $data[] = $obj;
// }
// }
// return $data;
// }
}
?>
+1143 -1142
View File
File diff suppressed because it is too large Load Diff
+114 -40
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2006 fhcomplete.org
/* Copyright (C) 2021 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -16,9 +16,10 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Stefan Puraner <puraner@technikum-wien.at>
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Stefan Puraner <puraner@technikum-wien.at> and
* Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
require_once(dirname(__FILE__) . '/basis_db.class.php');
require_once(dirname(__FILE__) . '/functions.inc.php');
@@ -58,6 +59,7 @@ class lehrveranstaltung extends basis_db
public $bezeichnung_english; // varchar(256)
public $orgform_kurzbz; // varchar(3)
public $lehrtyp_kurzbz; // varchar(32)
public $lehrmodus_kurzbz; //varchar(32)
public $oe_kurzbz; // varchar(32)
public $raumtyp_kurzbz; // varchar(16)
public $anzahlsemester; // smallint
@@ -68,6 +70,7 @@ class lehrveranstaltung extends basis_db
public $farbe;
public $lehrauftrag=true;
public $studienplan_lehrveranstaltung_id;
public $studienplan_lehrveranstaltung_id_parent;
public $stpllv_pflicht=true;
@@ -147,6 +150,7 @@ class lehrveranstaltung extends basis_db
$this->bezeichnung_english = $row->bezeichnung_english;
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$this->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$this->anzahlsemester = $row->anzahlsemester;
@@ -225,6 +229,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -258,10 +263,12 @@ class lehrveranstaltung extends basis_db
* @param $sort smallint Sortierung
* @param $oe_kurzbz string Organisationseinheit
* @param $lehrtyp string lehrtyp_kurzbz
* @param $lehrmodus string lehrmodus_kurzbz
* @param $orgform string Organisationsform
* @param $lehrmodus string lehrmodus_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function load_lva($studiengang_kz=null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $orgform=null)
public function load_lva($studiengang_kz=null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null, $lehrmodus=null, $orgform=null)
{
//Variablen pruefen
if($semester == "null")
@@ -320,6 +327,9 @@ class lehrveranstaltung extends basis_db
if(!is_null($lehrtyp))
$qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp);
if(!is_null($lehrmodus))
$qry .= " AND lehrmodus_kurzbz=".$this->db_add_param($lehrmodus);
if(!is_null($orgform) && $orgform!='')
$qry .= " AND orgform_kurzbz=".$this->db_add_param($orgform);
@@ -369,6 +379,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -497,6 +508,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -578,6 +590,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -740,40 +753,41 @@ class lehrveranstaltung extends basis_db
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, insertamum,
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,
zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz,
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo, lehrauftrag) VALUES (' .
$this->db_add_param($this->studiengang_kz) . ', ' .
$this->db_add_param($this->bezeichnung) . ', ' .
$this->db_add_param($this->kurzbz) . ', ' .
$this->db_add_param($this->lehrform_kurzbz) . ', ' .
$this->db_add_param($this->semester) . ', ' .
$this->db_add_param($this->ects) . ', ' .
$this->db_add_param($this->semesterstunden) . ', ' .
$this->db_add_param($this->anmerkung) . ', ' .
$this->db_add_param($this->lehre, FHC_BOOLEAN) . ',' .
$this->db_add_param($this->lehreverzeichnis) . ', ' .
$this->db_add_param($this->aktiv, FHC_BOOLEAN) . ', ' .
$this->db_add_param($this->insertamum) . ', ' .
$this->db_add_param($this->insertvon) . ', ' .
$this->db_add_param($this->planfaktor) . ', ' .
$this->db_add_param($this->planlektoren) . ', ' .
$this->db_add_param($this->planpersonalkosten) . ', ' .
$this->db_add_param($this->plankostenprolektor) . ', ' .
$this->db_add_param($this->updateamum) . ', ' .
$this->db_add_param($this->updatevon) . ',' .
$this->db_add_param($this->sort) . ',' .
$this->db_add_param($this->zeugnis, FHC_BOOLEAN) . ',' .
$this->db_add_param($this->projektarbeit, FHC_BOOLEAN) . ',' .
$this->db_add_param($this->sprache) . ',' .
$this->db_add_param($this->koordinator) . ',' .
$this->db_add_param($this->bezeichnung_english) . ',' .
$this->db_add_param($this->orgform_kurzbz) . ',' .
$this->db_add_param($this->incoming) . ',' .
$this->db_add_param($this->lehrtyp_kurzbz) . ',' .
$this->db_add_param($this->oe_kurzbz) . ',' .
$this->db_add_param($this->raumtyp_kurzbz) . ',' .
$this->db_add_param($this->anzahlsemester) . ',' .
$this->db_add_param($this->semesterwochen) . ',' .
$this->db_add_param($this->lvnr) .','.
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo,
lehrauftrag, lehrmodus_kurzbz) VALUES ('.
$this->db_add_param($this->studiengang_kz). ', '.
$this->db_add_param($this->bezeichnung). ', '.
$this->db_add_param($this->kurzbz). ', '.
$this->db_add_param($this->lehrform_kurzbz). ', '.
$this->db_add_param($this->semester). ', '.
$this->db_add_param($this->ects). ', '.
$this->db_add_param($this->semesterstunden). ', '.
$this->db_add_param($this->anmerkung). ', '.
$this->db_add_param($this->lehre, FHC_BOOLEAN). ','.
$this->db_add_param($this->lehreverzeichnis). ', '.
$this->db_add_param($this->aktiv, FHC_BOOLEAN). ', '.
$this->db_add_param($this->insertamum). ', '.
$this->db_add_param($this->insertvon). ', '.
$this->db_add_param($this->planfaktor). ', '.
$this->db_add_param($this->planlektoren). ', '.
$this->db_add_param($this->planpersonalkosten). ', '.
$this->db_add_param($this->plankostenprolektor). ', '.
$this->db_add_param($this->updateamum). ', '.
$this->db_add_param($this->updatevon). ','.
$this->db_add_param($this->sort). ','.
$this->db_add_param($this->zeugnis, FHC_BOOLEAN). ','.
$this->db_add_param($this->projektarbeit, FHC_BOOLEAN). ','.
$this->db_add_param($this->sprache). ','.
$this->db_add_param($this->koordinator). ','.
$this->db_add_param($this->bezeichnung_english). ','.
$this->db_add_param($this->orgform_kurzbz). ','.
$this->db_add_param($this->incoming).','.
$this->db_add_param($this->lehrtyp_kurzbz).','.
$this->db_add_param($this->oe_kurzbz). ','.
$this->db_add_param($this->raumtyp_kurzbz). ','.
$this->db_add_param($this->anzahlsemester). ','.
$this->db_add_param($this->semesterwochen). ','.
$this->db_add_param($this->lvnr).','.
$this->db_add_param($this->semester_alternativ).','.
$this->db_add_param($this->farbe).','.
$this->db_add_param($this->sws).','.
@@ -783,7 +797,8 @@ class lehrveranstaltung extends basis_db
$this->db_add_param($this->las).','.
$this->db_add_param($this->benotung, FHC_BOOLEAN).','.
$this->db_add_param($this->lvinfo, FHC_BOOLEAN).','.
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN)
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).','.
$this->db_add_param($this->lehrmodus_kurzbz)
.');';
}
else
@@ -823,6 +838,7 @@ class lehrveranstaltung extends basis_db
'bezeichnung_english=' . $this->db_add_param($this->bezeichnung_english) . ',' .
'orgform_kurzbz=' . $this->db_add_param($this->orgform_kurzbz) . ',' .
'lehrtyp_kurzbz=' . $this->db_add_param($this->lehrtyp_kurzbz) . ',' .
'lehrmodus_kurzbz=' . $this->db_add_param($this->lehrmodus_kurzbz) . ',' .
'oe_kurzbz=' . $this->db_add_param($this->oe_kurzbz) . ',' .
'raumtyp_kurzbz=' . $this->db_add_param($this->raumtyp_kurzbz) . ',' .
'anzahlsemester=' . $this->db_add_param($this->anzahlsemester, FHC_INTEGER) . ',' .
@@ -936,6 +952,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -1029,6 +1046,7 @@ class lehrveranstaltung extends basis_db
$l->bezeichnung_english = $row->bezeichnung_english;
$l->orgform_kurzbz = $row->orgform_kurzbz;
$l->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$l->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$l->oe_kurzbz = $row->oe_kurzbz;
$l->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$l->anzahlsemester = $row->anzahlsemester;
@@ -1111,6 +1129,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -1209,6 +1228,7 @@ class lehrveranstaltung extends basis_db
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
@@ -1333,6 +1353,7 @@ class lehrveranstaltung extends basis_db
$obj->ects = $lv->ects;
$obj->semesterstunden = $lv->semesterstunden;
$obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz;
$obj->lehrmodus_kurzbz = $lv->lehrmodus_kurzbz;
$obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id;
$obj->stpllv_semester = $lv->stpllv_semester;
$obj->stpllv_pflicht = $lv->stpllv_pflicht;
@@ -1398,6 +1419,7 @@ class lehrveranstaltung extends basis_db
$obj->semesterstunden = $lv->semesterstunden;
$obj->studienplan_lehrveranstaltung_id = $lv->studienplan_lehrveranstaltung_id;
$obj->lehrtyp_kurzbz = $lv->lehrtyp_kurzbz;
$obj->lehrmodus_kurzbz = $lv->lehrmodus_kurzbz;
$obj->stpllv_semester = $lv->stpllv_semester;
$obj->stpllv_pflicht = $lv->stpllv_pflicht;
$obj->stpllv_koordinator = $lv->stpllv_koordinator;
@@ -1550,6 +1572,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
@@ -1635,6 +1658,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
@@ -1750,6 +1774,9 @@ class lehrveranstaltung extends basis_db
if(!is_null($lehrtyp))
$qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp);
if(!is_null($lehrmodus))
$qry .= " AND lehrmodus_kurzbz=".$this->db_add_param($lehrmodus);
if(!is_null($semester))
$qry .= " AND semester=".$this->db_add_param ($semester);
@@ -1800,6 +1827,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
@@ -1925,6 +1953,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -2051,6 +2080,7 @@ class lehrveranstaltung extends basis_db
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
@@ -2272,6 +2302,11 @@ class lehrveranstaltung extends basis_db
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
}
if (!is_null($lehrmodus_kurzbz))
{
$qry.=" AND tbl_lehrveranstaltung.lehrmodus_kurzbz=" . $this->db_add_param($lehrmodus_kurzbz, FHC_STRING);
}
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
@@ -2315,6 +2350,7 @@ class lehrveranstaltung extends basis_db
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->lehrmodus_kurzbz = $row->lehrmodus_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
@@ -2423,6 +2459,44 @@ class lehrveranstaltung extends basis_db
}
}
/**
* Laedt den LV-Leiter einer Lehrveranstaltung
* ist keiner der Lektoren als LV-Leitung eingetragen, wird Null zurückgegeben
* @param int $lehrveranstaltung_id ID der Lehrveranstaltung.
* @param char $studiensemester_kurzbz Studiensemester.
* @return char $mitarbeiter_uid UID des Mitarbeiters oder NULL, wenn keine LV-Leitung vorhanden
*/
public function getEingetrageneLVLeitung($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheit
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND lehrfunktion_kurzbz='LV-Leitung';";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
return $row->mitarbeiter_uid;
}
else
{
$this->errormsg = 'Keine Eintrag gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert den Koordinator einer Lehrveranstaltung
* @param $lehrveranstaltung_id
+1 -1
View File
@@ -22,7 +22,7 @@
require_once(dirname(__FILE__).'/person.class.php');
require_once(dirname(__FILE__).'/benutzer.class.php');
require_once(dirname(__FILE__).'/functions.inc.php');
require_once(dirname(__FILE__).'/udf.class.php');
require_once(dirname(__FILE__).'/udf.class.php'); // required only to check if UDFs are defined
class mitarbeiter extends benutzer
{
+1 -1
View File
@@ -276,7 +276,7 @@ class person extends basis_db
$erg += $gewichtung[$i] * $this->svnr{$i};
}
if ($this->svnr{3} != ($erg % 11)) //Vergleichen der Pruefziffer mit Quersumme Modulo 11
if ($this->svnr[3] != ($erg % 11)) //Vergleichen der Pruefziffer mit Quersumme Modulo 11
{
$this->errormsg = 'SVNR ist ungueltig';
return false;
+39 -27
View File
@@ -71,6 +71,8 @@ class prestudent extends person
public $gsstudientyp_kurzbz='Intern';
public $aufnahmegruppe_kurzbz;
public $priorisierung = null;
public $foerderrelevant = null;
public $standort_code = null;
public $status_kurzbz;
public $studiensemester_kurzbz;
@@ -164,6 +166,8 @@ class prestudent extends person
$this->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
$this->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
$this->priorisierung = $row->priorisierung;
$this->foerderrelevant = $this->db_parse_bool($row->foerderrelevant);
$this->standort_code = $row->standort_code;
if(!person::load($row->person_id))
return false;
@@ -250,7 +254,7 @@ class prestudent extends person
reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte,
rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon,
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor,
gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung) VALUES('.
gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung, foerderrelevant, standort_code) VALUES('.
$this->db_add_param($this->aufmerksamdurch_kurzbz).",".
$this->db_add_param($this->person_id).",".
$this->db_add_param($this->studiengang_kz).",".
@@ -284,7 +288,9 @@ class prestudent extends person
$this->db_add_param($this->mentor).",".
$this->db_add_param($this->gsstudientyp_kurzbz).",".
$this->db_add_param($this->aufnahmegruppe_kurzbz).",".
$this->db_add_param($this->priorisierung).");";
$this->db_add_param($this->priorisierung).",".
$this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).",".
$this->db_add_param($this->standort_code).");";
}
else
{
@@ -320,7 +326,9 @@ class prestudent extends person
' dual='.$this->db_add_param($this->dual, FHC_BOOLEAN).",".
' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).",".
' aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).",".
' priorisierung='.$this->db_add_param($this->priorisierung).' '.
' priorisierung='.$this->db_add_param($this->priorisierung).",".
' foerderrelevant='.$this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).",".
' standort_code='.$this->db_add_param($this->standort_code)." ".
" WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";";
}
@@ -916,6 +924,8 @@ class prestudent extends person
$ps->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
$ps->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz;
$ps->priorisierung = $row->priorisierung;
$ps->foerderrelevant = $row->foerderrelevant;
$ps->standort_code = $row->standort_code;
$ps->status_kurzbz = $row->status_kurzbz;
$ps->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -1078,23 +1088,23 @@ class prestudent extends person
studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon,
updateamum, updatevon, ext_id, orgform_kurzbz, bestaetigtam, bestaetigtvon, anmerkung,
bewerbung_abgeschicktamum, studienplan_id, rt_stufe, statusgrund_id) VALUES('.
$this->db_add_param($this->prestudent_id).",".
$this->db_add_param($this->status_kurzbz).",".
$this->db_add_param($this->studiensemester_kurzbz).",".
$this->db_add_param($this->ausbildungssemester).",".
$this->db_add_param($this->datum).",".
$this->db_add_param($this->insertamum).",".
$this->db_add_param($this->insertvon).",".
$this->db_add_param($this->updateamum).",".
$this->db_add_param($this->updatevon).",".
$this->db_add_param($this->ext_id_prestudent).",".
$this->db_add_param($this->orgform_kurzbz).",".
$this->db_add_param($this->bestaetigtam).",".
$this->db_add_param($this->bestaetigtvon).",".
$this->db_add_param($this->anmerkung_status).",".
$this->db_add_param($this->bewerbung_abgeschicktamum).",".
$this->db_add_param($this->studienplan_id,FHC_INTEGER).",".
$this->db_add_param($this->rt_stufe,FHC_INTEGER).",".
$this->db_add_param($this->prestudent_id).",".
$this->db_add_param($this->status_kurzbz).",".
$this->db_add_param($this->studiensemester_kurzbz).",".
$this->db_add_param($this->ausbildungssemester).",".
$this->db_add_param($this->datum).",".
$this->db_add_param($this->insertamum).",".
$this->db_add_param($this->insertvon).",".
$this->db_add_param($this->updateamum).",".
$this->db_add_param($this->updatevon).",".
$this->db_add_param($this->ext_id_prestudent).",".
$this->db_add_param($this->orgform_kurzbz).",".
$this->db_add_param($this->bestaetigtam).",".
$this->db_add_param($this->bestaetigtvon).",".
$this->db_add_param($this->anmerkung_status).",".
$this->db_add_param($this->bewerbung_abgeschicktamum).",".
$this->db_add_param($this->studienplan_id,FHC_INTEGER).",".
$this->db_add_param($this->rt_stufe,FHC_INTEGER).",".
$this->db_add_param($this->statusgrund_id, FHC_INTEGER).");";
}
else
@@ -2422,13 +2432,15 @@ class prestudent extends person
return false;
}
$qry = "SELECT kurzbzlang
FROM public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_studiengang USING (studiengang_kz)
$qry = "SELECT
UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as kuerzel
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_studiengang USING (studiengang_kz)
WHERE person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
AND typ in ('b','m','d')
AND status_kurzbz in ('Absolvent','Diplomand','Unterbrecher','Student')
AND typ in ('b','m','d')
ORDER BY status_kurzbz ASC
LIMIT 1;";
@@ -2436,7 +2448,7 @@ class prestudent extends person
{
if ($row = $this->db_fetch_object())
{
$stg = $row->kurzbzlang;
$stg = $row->kuerzel;
return $stg;
}
else
+64 -15
View File
@@ -48,6 +48,7 @@ class projekt extends basis_db
public $anzahl_ma; // integer
public $aufwand_pt; // integer
public $zeitaufzeichnung; //bool
public $sap_project_id;
/**
@@ -448,30 +449,73 @@ class projekt extends basis_db
function getProjekteListForMitarbeiter($mitarbeiter_uid, $projektphasen = false)
{
$projectList = array();
$exists = @$this->db_query('SELECT 1 FROM sync.tbl_projects_timesheets_project LIMIT 1;');
$qry = "SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_ressource
JOIN fue.tbl_projekt_ressource USING(ressource_id)
JOIN fue.tbl_projekt USING(projekt_kurzbz)
WHERE (beginn<=now() or beginn is null)
";
if ($exists)
{
$qry .= ", tbl_sap_projects_timesheets.project_id
";
}
$qry .= "FROM
fue.tbl_ressource
JOIN fue.tbl_projekt_ressource USING(ressource_id)
JOIN fue.tbl_projekt USING(projekt_kurzbz)
";
if ($exists)
{
$qry .= "LEFT JOIN sync.tbl_projects_timesheets_project USING(projekt_id)
LEFT JOIN sync.tbl_sap_projects_timesheets USING(projects_timesheet_id)
";
}
$qry .= "WHERE (beginn<=now() or beginn is null)
AND (ende + interval '1 month 1 day' >=now() OR ende is null)
AND
(
mitarbeiter_uid=" . $this->db_add_param($mitarbeiter_uid) . " OR
student_uid=" . $this->db_add_param($mitarbeiter_uid) . "
)";
)
";
if ($exists)
{
$qry .= "AND tbl_projects_timesheets_project.projektphase_id IS NULL
";
}
if ($projektphasen == true)
{
$qry .= "UNION
SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_projektphase
JOIN fue.tbl_projekt USING (projekt_kurzbz)
JOIN fue.tbl_projekt_ressource USING (projektphase_id)
JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id)
WHERE
SELECT DISTINCT
tbl_projekt.*
";
if ($exists)
{
$qry .= ", tbl_sap_projects_timesheets.project_task_id
";
}
$qry .= "FROM fue.tbl_projektphase
JOIN fue.tbl_projekt USING (projekt_kurzbz)
JOIN fue.tbl_projekt_ressource USING(projektphase_id)
JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id)
";
if ($exists)
{
$qry .= "LEFT JOIN sync.tbl_projects_timesheets_project ON tbl_projects_timesheets_project.projektphase_id = tbl_projekt_ressource.projektphase_id
LEFT JOIN sync.tbl_sap_projects_timesheets USING(projects_timesheet_id)
";
}
$qry .= "WHERE
(
(
(tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
@@ -481,7 +525,10 @@ class projekt extends basis_db
AND (tbl_projektphase.ende + interval '1 month 1 day' >=now() OR tbl_projektphase.ende is null)
)
)
AND mitarbeiter_uid=" . $this->db_add_param($mitarbeiter_uid);
";
};
$qry .= "AND mitarbeiter_uid=" . $this->db_add_param($mitarbeiter_uid);
if ($result = $this->db_query($qry))
{
@@ -496,6 +543,8 @@ class projekt extends basis_db
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
if ($exists)
$obj->sap_project_id = $row->project_id;
$this->result[] = $obj;
+39 -19
View File
@@ -49,6 +49,7 @@ class projektphase extends basis_db
public $updateamum; // timestamp
public $updatevon; // bigint
public $zeitaufzeichnung; // bool
public $project_task_id;
/**
@@ -688,26 +689,42 @@ class projektphase extends basis_db
public function getProjectphaseForMitarbeiter($mitarbeiter_uid)
{
$projecphasetList = array();
$exists = @$this->db_query('SELECT 1 FROM sync.tbl_projects_timesheets_project LIMIT 1;');
$qry = "
SELECT
DISTINCT tbl_projektphase.*
FROM
fue.tbl_projektphase
JOIN fue.tbl_projekt USING (projekt_kurzbz)
JOIN fue.tbl_projekt_ressource USING (projektphase_id)
JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id)
WHERE
(
(
(tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
AND (tbl_projekt.ende + interval '1 month 1 day' >=now() OR tbl_projekt.ende is null)
) AND (
(tbl_projektphase.start<=now() or tbl_projektphase.start is null)
AND (tbl_projektphase.ende + interval '1 month 1 day' >=now() OR tbl_projektphase.ende is null)
)
)
AND mitarbeiter_uid=" . $this->db_add_param($mitarbeiter_uid);
$qry = "SELECT DISTINCT tbl_projektphase.*,
tbl_projekt.titel
";
if ($exists)
{
$qry .= ", tbl_sap_projects_timesheets.project_task_id
";
}
$qry .= "FROM fue.tbl_projektphase
JOIN fue.tbl_projekt USING (projekt_kurzbz)
JOIN fue.tbl_projekt_ressource USING(projektphase_id)
JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id)
";
if ($exists)
{
$qry .= "LEFT JOIN sync.tbl_projects_timesheets_project ON tbl_projects_timesheets_project.projektphase_id = tbl_projekt_ressource.projektphase_id
LEFT JOIN sync.tbl_sap_projects_timesheets USING(projects_timesheet_id)
";
}
$qry .= "WHERE
(
(
(tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
AND (tbl_projekt.ende + interval '1 month 1 day' >=now() OR tbl_projekt.ende is null)
) AND (
(tbl_projektphase.start<=now() or tbl_projektphase.start is null)
AND (tbl_projektphase.ende + interval '1 month 1 day' >=now() OR tbl_projektphase.ende is null)
)
)
AND mitarbeiter_uid=" . $this->db_add_param($mitarbeiter_uid);
if($result = $this->db_query($qry))
{
@@ -721,6 +738,7 @@ class projektphase extends basis_db
$obj->bezeichnung = $row->bezeichnung;
$obj->typ = $row->typ;
$obj->beschreibung = $row->beschreibung;
$obj->projekttitel = $row->titel;
$obj->start = $row->start;
$obj->ende = $row->ende;
$obj->personentage = $row->personentage;
@@ -731,6 +749,8 @@ class projektphase extends basis_db
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
if ($exists)
$obj->project_task_id = $row->project_task_id;
$this->result[] = $obj;
+2 -1
View File
@@ -185,7 +185,8 @@ class pruefungsanmeldung extends basis_db {
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
. 'WHERE uid='.$this->db_add_param($uid);
. 'WHERE uid='.$this->db_add_param($uid) . ' '
. 'AND p.storniert=false';
if($studiensemester_kurzbz != null)
{
+2 -1
View File
@@ -142,7 +142,7 @@ class statistik extends basis_db
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->udpatevon = $row->updatevon;
$obj->updatevon = $row->updatevon;
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$obj->preferences = $row->preferences;
@@ -510,6 +510,7 @@ class statistik extends basis_db
$this->html='';
$this->csv='';
$this->json=array();
set_time_limit(120);
if($this->sql!='')
{
+28
View File
@@ -16,6 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
require_once('basis_db.class.php');
@@ -30,6 +31,7 @@ class statusgrund extends basis_db
public $aktiv = true; // boolean
public $bezeichnung_mehrsprachig; // varchar(255)[]
public $bezeichnung; // text[]
public $statusgrund_kurzbz; //varchar(32)
/**
* Konstruktor - Laedt optional einen Statusgrund
@@ -71,6 +73,7 @@ class statusgrund extends basis_db
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
$this->statusgrund_kurzbz = $row->statusgrund_kurzbz;
}
else
{
@@ -120,6 +123,7 @@ class statusgrund extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
$obj->statusgrund_kurzbz = $row->statusgrund_kurzbz;
$this->result[] = $obj;
}
@@ -166,6 +170,7 @@ class statusgrund extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
$obj->statusgrund_kurzbz = $row->statusgrund_kurzbz;
$this->result[] = $obj;
}
@@ -179,5 +184,28 @@ class statusgrund extends basis_db
return true;
}
/**
* Laedt das Klassenobjekt anhand der kurzbz
*
* @param string $statusgrund_kurzbz Statusgrund zu dem das Objekt geladen werden soll.
* @return object classobject
*/
public function getByStatusgrundKurzbz($statusgrund_kurzbz)
{
$qry = "
SELECT
*
FROM
public.tbl_status_grund
WHERE
statusgrund_kurzbz ='". $statusgrund_kurzbz. "'
";
$this->db_query($qry);
return
$this->db_fetch_object();
}
}
?>
+42 -8
View File
@@ -53,6 +53,9 @@ class studiengang extends basis_db
public $studienplaetze; // smallint
public $oe_kurzbz; // varchar(32)
public $onlinebewerbung; // boolean
public $melderelevant; // boolean
public $foerderrelevant; // boolean
public $standort_code; // integer
public $kuerzel; // = typ + kurzbz (Bsp: BBE)
public $kuerzel_arr = array(); // Array mit allen Kurzeln Index=studiengangs_kz
@@ -128,6 +131,9 @@ class studiengang extends basis_db
$this->moodle = $this->db_parse_bool($row->moodle);
$this->mischform = $this->db_parse_bool($row->mischform);
$this->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$this->melderelevant = $this->db_parse_bool($row->melderelevant);
$this->foerderrelevant = $this->db_parse_bool($row->foerderrelevant);
$this->standort_code = $row->standort_code;
$this->bezeichnung_arr['German'] = $this->bezeichnung;
$this->bezeichnung_arr['English'] = $this->english;
@@ -201,6 +207,9 @@ class studiengang extends basis_db
$stg_obj->moodle = $this->db_parse_bool($row->moodle);
$stg_obj->mischform = $this->db_parse_bool($row->mischform);
$stg_obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$stg_obj->melderelevant = $this->db_parse_bool($row->melderelevant);
$stg_obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant);
$stg_obj->standort_code = $row->standort_code;
$stg_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$stg_obj->bezeichnung_arr['English'] = $row->english;
@@ -419,6 +428,9 @@ class studiengang extends basis_db
$stg_obj->moodle = $this->db_parse_bool($row->moodle);
$stg_obj->mischform = $this->db_parse_bool($row->mischform);
$stg_obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$stg_obj->melderelevant = $this->db_parse_bool($row->melderelevant);
$stg_obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant);
$stg_obj->standort_code = $row->standort_code;
$stg_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$stg_obj->bezeichnung_arr['English'] = $row->english;
@@ -488,7 +500,8 @@ class studiengang extends basis_db
$qry = 'INSERT INTO public.tbl_studiengang (studiengang_kz, kurzbz, kurzbzlang, bezeichnung, english,
typ, farbe, email, telefon, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1,
bescheidbgbl2, bescheidgz, bescheidvom, titelbescheidvom, aktiv, onlinebewerbung, orgform_kurzbz, zusatzinfo_html,
oe_kurzbz, moodle, sprache, testtool_sprachwahl, studienplaetze, lgartcode, mischform,projektarbeit_note_anzeige) VALUES ('.
oe_kurzbz, moodle, sprache, testtool_sprachwahl, studienplaetze, lgartcode, mischform,projektarbeit_note_anzeige,
melderelevant, foerderrelevant, standort_code) VALUES ('.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->kurzbz).', '.
$this->db_add_param($this->kurzbzlang).', '.
@@ -519,7 +532,10 @@ class studiengang extends basis_db
$this->db_add_param($this->studienplaetze).', '.
$this->db_add_param($this->lgartcode).', '.
$this->db_add_param($this->mischform, FHC_BOOLEAN).','.
$this->db_add_param($this->projektarbeit_note_anzeige, FHC_BOOLEAN).');';
$this->db_add_param($this->projektarbeit_note_anzeige, FHC_BOOLEAN).','.
$this->db_add_param($this->melderelevant, FHC_BOOLEAN).','.
$this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).','.
$this->db_add_param($this->standort_code).');';
}
else
{
@@ -556,7 +572,10 @@ class studiengang extends basis_db
'testtool_sprachwahl='.$this->db_add_param($this->testtool_sprachwahl, FHC_BOOLEAN).', '.
'studienplaetze='.$this->db_add_param($this->studienplaetze).', '.
'lgartcode='.$this->db_add_param($this->lgartcode).', '.
'mischform='.$this->db_add_param($this->mischform, FHC_BOOLEAN).' '.
'mischform='.$this->db_add_param($this->mischform, FHC_BOOLEAN).', '.
'melderelevant='.$this->db_add_param($this->melderelevant, FHC_BOOLEAN).', '.
'foerderrelevant='.$this->db_add_param($this->foerderrelevant, FHC_BOOLEAN).', '.
'standort_code='.$this->db_add_param($this->standort_code).' '.
'WHERE studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER, false).';';
}
@@ -679,6 +698,9 @@ class studiengang extends basis_db
$this->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
$this->moodle = $this->db_parse_bool($row->moodle);
$this->mischform = $this->db_parse_bool($row->mischform);
$this->melderelevant = $this->db_parse_bool($row->melderelevant);
$this->foerderrelevant = $this->db_parse_bool($row->foerderrelevant);
$this->standort_code = $row->standort_code;
$this->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$this->bezeichnung_arr['German'] = $this->bezeichnung;
@@ -819,6 +841,9 @@ class studiengang extends basis_db
$obj->moodle = $this->db_parse_bool($row->moodle);
$obj->mischform = $this->db_parse_bool($row->mischform);
$obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$obj->melderelevant = $this->db_parse_bool($row->melderelevant);
$obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant);
$obj->standort_code = $row->standort_code;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$this->result[] = $obj;
@@ -891,6 +916,9 @@ class studiengang extends basis_db
$obj->moodle = $this->db_parse_bool($row->moodle);
$obj->mischform = $this->db_parse_bool($row->mischform);
$obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$obj->melderelevant = $this->db_parse_bool($row->melderelevant);
$obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant);
$obj->standort_code = $row->standort_code;
$obj->bezeichnung_arr['German'] = $obj->bezeichnung;
$obj->bezeichnung_arr['English'] = $obj->english;
@@ -993,6 +1021,9 @@ class studiengang extends basis_db
$obj->moodle = $this->db_parse_bool($row->moodle);
$obj->mischform = $this->db_parse_bool($row->mischform);
$obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$obj->melderelevant = $this->db_parse_bool($row->melderelevant);
$obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant);
$obj->standort_code = $row->standort_code;
$obj->bezeichnung_arr['German'] = $obj->bezeichnung;
$obj->bezeichnung_arr['English'] = $obj->english;
@@ -1073,7 +1104,7 @@ class studiengang extends basis_db
return false;
}
}
/**
* Laedt die Studiengänge die vom übergeben Typ sind
* @param string $typ
@@ -1088,13 +1119,13 @@ class studiengang extends basis_db
tbl_studiengang.typ=".$this->db_add_param($typ)."
ORDER BY
kurzbz";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new studiengang();
$obj->studiengang_kz = $row->studiengang_kz;
$obj->kurzbz = $row->kurzbz;
$obj->kurzbzlang = $row->kurzbzlang;
@@ -1127,10 +1158,13 @@ class studiengang extends basis_db
$obj->moodle = $this->db_parse_bool($row->moodle);
$obj->mischform = $this->db_parse_bool($row->mischform);
$obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$obj->melderelevant = $this->db_parse_bool($row->melderelevant);
$obj->foerderrelevant = $this->db_parse_bool($row->foerderrelevant);
$obj->standort_code = $row->standort_code;
$obj->bezeichnung_arr['German'] = $obj->bezeichnung;
$obj->bezeichnung_arr['English'] = $obj->english;
$this->result[] = $obj;
}
return true;
+15 -1
View File
@@ -465,7 +465,7 @@ function checkZeilenUmbruch()
}
}
// Anerkennung nachgewiesener Kenntnisse (Anrechnung)
// Anerkennung nachgewiesener Kenntnisse (Anrechnung) - Anzeige fuer Studenten
if((!defined('CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN)
&& $rechte->isBerechtigt('student/anrechnung_beantragen'))
{
@@ -479,6 +479,20 @@ function checkZeilenUmbruch()
);
}
// Anerkennung nachgewiesener Kenntnisse (Anrechnung) - Anzeige fuer LektorInnen
if((!defined('CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_ANRECHNUNG_ANZEIGEN)
&& $rechte->isBerechtigt('lehre/anrechnung_empfehlen'))
{
$menu[]=array
(
'id'=>'core_menu_anerkennungNachgewiesenerKenntnisse_empfehlen',
'position'=>'128',
'name'=>$p->t('lehre/anrechnungen'),
'icon'=>'../../../skin/images/button_listen.png',
'link' => APP_ROOT. 'index.ci.php/lehre/anrechnung/ReviewAnrechnungUebersicht?studiensemester='.urlencode($angezeigtes_stsem)
);
}
//************* Menuepunkte anzeigen ****************
+1
View File
@@ -190,6 +190,7 @@ $menu=array
'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')),
'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('lehre/lehrveranstaltung')),
'akteupdate'=>array('name'=>'Akten überschreiben', 'link'=>'personen/akteupdate.php', 'target'=>'main','permissions'=>array('admin')),
'gemeindeupdate'=>array('name'=>'Gemeinden aktualisieren', 'link'=>'stammdaten/set_gemeinde.php', 'target'=>'main','permissions'=>array('basis/gemeinde')),
),
'Auswertung'=> array
(
+50 -18
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2009 Technikum-Wien
/* Copyright (C) 2009-2021 fhcomplete.net
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -15,11 +15,11 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Bison Paolo <bison@technikum-wien.at>
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/../config/global.config.inc.php');
require_once(dirname(__FILE__).'/benutzerberechtigung.class.php');
/**
* Used to export UDF in MS Excel format
@@ -286,14 +286,21 @@ class UDF extends basis_db
});
}
/**
* Returns an array of associative arrays that contains the couple name and title related to an UDF
* These data are retrived from the UDF definitions given as parameter
*/
private function _getUDFDefinition($jsons)
{
/**
* Returns an array of associative arrays that contains the couple name and title related to an UDF
* These data are retrived from the UDF definitions given as parameter
*/
private function _getUDFDefinition($jsons)
{
$names = array();
$uid = get_uid(); // get the UID of the logged person
if ($uid == null) return names(); // if no logged then it is not possible to loads UDFs
// Gets the permissions for the logged user
$berechtigung = new benutzerberechtigung();
$berechtigung->getBerechtigungen($uid);
if ($jsons != null && ($jsonsDecoded = json_decode($jsons)) != null)
{
if (is_object($jsonsDecoded) || is_array($jsonsDecoded))
@@ -305,27 +312,51 @@ class UDF extends basis_db
$this->_sortJsonSchemas($jsonsDecoded);
foreach($jsonsDecoded as $udfJsonShema)
foreach ($jsonsDecoded as $udfJsonShema)
{
if (isset($udfJsonShema->name) && isset($udfJsonShema->title))
// Checks if the requiredPermissions property exists
if (isset($udfJsonShema->requiredPermissions))
{
$tmpArray = array('name' => $udfJsonShema->name, 'title' => $udfJsonShema->title);
$isAllowed = false;
if (isset($udfJsonShema->type)
&& ($udfJsonShema->type == 'dropdown' || $udfJsonShema->type == 'multipledropdown')
&& isset($udfJsonShema->listValues) && isset($udfJsonShema->listValues->enum))
// If requiredPermissions is an array check if at least one of the permissions belongs to the logged user
if (is_array($udfJsonShema->requiredPermissions))
{
$tmpArray['enum'] = $udfJsonShema->listValues->enum;
foreach ($udfJsonShema->requiredPermissions as $permission)
{
$isAllowed = $berechtigung->isBerechtigt($permission);
if ($isAllowed === true) break;
}
}
else // otherwise check it directly
{
$isAllowed = $berechtigung->isBerechtigt($udfJsonShema->requiredPermissions);
}
$names[] = $tmpArray;
}
// If the logged user has at least one of the required permissions
if ($isAllowed === true)
{
if (isset($udfJsonShema->name) && isset($udfJsonShema->title))
{
$tmpArray = array('name' => $udfJsonShema->name, 'title' => $udfJsonShema->title);
if (isset($udfJsonShema->type)
&& ($udfJsonShema->type == 'dropdown' || $udfJsonShema->type == 'multipledropdown')
&& isset($udfJsonShema->listValues) && isset($udfJsonShema->listValues->enum))
{
$tmpArray['enum'] = $udfJsonShema->listValues->enum;
}
$names[] = $tmpArray;
}
} // otherwise this UDF is discarted because the requiredPermissions is mandatory
} // otherwise this UDF is discarted because the requiredPermissions is mandatory
}
}
}
return $names;
}
}
/**
* Loads UDf titles from phrases
@@ -374,3 +405,4 @@ class UDF extends basis_db
return $titles;
}
}
+9 -1
View File
@@ -49,6 +49,7 @@ class zeitaufzeichnung extends basis_db
public $ext_id; // bigint
public $service_id; // integer
public $kunde_uid; // varchar(32)
public $homeoffice; // bool
/**
* Konstruktor
@@ -104,6 +105,7 @@ class zeitaufzeichnung extends basis_db
$this->ext_id = $row->ext_id;
$this->service_id = $row->service_id;
$this->kunde_uid = $row->kunde_uid;
$this->homeoffice = $row->homeoffice;
}
else
{
@@ -203,7 +205,7 @@ class zeitaufzeichnung extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO campus.tbl_zeitaufzeichnung (uid, aktivitaet_kurzbz, start, ende, beschreibung,
oe_kurzbz_1, oe_kurzbz_2, insertamum, insertvon, updateamum, updatevon, projekt_kurzbz, projektphase_id, service_id, kunde_uid) VALUES('.
oe_kurzbz_1, oe_kurzbz_2, insertamum, insertvon, updateamum, updatevon, projekt_kurzbz, projektphase_id, service_id, homeoffice, kunde_uid) VALUES('.
$this->db_add_param($this->uid).', '.
$this->db_add_param($this->aktivitaet_kurzbz).', '.
$this->db_add_param($this->start).', '.
@@ -218,6 +220,7 @@ class zeitaufzeichnung extends basis_db
$this->db_add_param($this->projekt_kurzbz).', '.
$this->db_add_param($this->projektphase_id, FHC_INTEGER).', '.
$this->db_add_param($this->service_id).', '.
$this->db_add_param($this->homeoffice, FHC_BOOLEAN).', '.
$this->db_add_param($this->kunde_uid).');';
}
else
@@ -244,6 +247,7 @@ class zeitaufzeichnung extends basis_db
' projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).', '.
' projektphase_id='.$this->db_add_param($this->projektphase_id, FHC_INTEGER).', '.
' service_id='.$this->db_add_param($this->service_id).', '.
' homeoffice ='.$this->db_add_param($this->homeoffice, FHC_BOOLEAN).', '.
' kunde_uid='.$this->db_add_param($this->kunde_uid).' '.
'WHERE zeitaufzeichnung_id='.$this->db_add_param($this->zeitaufzeichnung_id, FHC_INTEGER, false);
}
@@ -349,6 +353,7 @@ class zeitaufzeichnung extends basis_db
$obj->updatevon = $row->updatevon;
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->projektphase_id = $row->projektphase_id;
$obj->homeoffice = $row->homeoffice;
$obj->ext_id = $row->ext_id;
$obj->service_id = $row->service_id;
$obj->kunde_uid = $row->kunde_uid;
@@ -430,6 +435,7 @@ class zeitaufzeichnung extends basis_db
$obj->updatevon = $row->updatevon;
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->projektphase_id = $row->projektphase_id;
$obj->homeoffice = $row->homeoffice;
$obj->ext_id = $row->ext_id;
$obj->service_id = $row->service_id;
$obj->kunde_uid = $row->kunde_uid;
@@ -491,6 +497,7 @@ class zeitaufzeichnung extends basis_db
$obj->updatevon = $row->updatevon;
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->projektphase_id = $row->projektphase_id;
$obj->homeoffice = $row->homeoffice;
$obj->ext_id = $row->ext_id;
$obj->service_id = $row->service_id;
$obj->kunde_uid = $row->kunde_uid;
@@ -556,6 +563,7 @@ class zeitaufzeichnung extends basis_db
$obj->updatevon = $row->updatevon;
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->projektphase_id = $row->projektphase_id;
$obj->homeoffice = $row->homeoffice;
$obj->ext_id = $row->ext_id;
$obj->service_id = $row->service_id;
$obj->kunde_uid = $row->kunde_uid;