Fix mergeErrors mitarbeiter.class und dbupdate3.3

This commit is contained in:
ma0068
2022-11-21 16:10:19 +01:00
1396 changed files with 28711 additions and 111665 deletions
+75 -16
View File
@@ -319,7 +319,7 @@ class mitarbeiter extends benutzer
*/
public function getMitarbeiter($lektor=true,$fixangestellt=null,$stg_kz=null)
{
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.uid, titelpre, titelpost, vorname, vornamen, nachname, gebdatum, gebort, gebzeit, anmerkung, aktiv,
$sql_query='SELECT DISTINCT campus.vw_mitarbeiter.uid, titelpre, titelpost, vorname, vornamen, wahlname, nachname, gebdatum, gebort, gebzeit, anmerkung, aktiv,
homepage, campus.vw_mitarbeiter.updateamum, campus.vw_mitarbeiter.updatevon, personalnummer, kurzbz, lektor, fixangestellt, standort_id, telefonklappe FROM campus.vw_mitarbeiter
LEFT OUTER JOIN public.tbl_benutzerfunktion USING (uid)
WHERE TRUE';
@@ -364,6 +364,7 @@ class mitarbeiter extends benutzer
$l->titelpre=$row->titelpre;
$l->titelpost=$row->titelpost;
$l->vorname=$row->vorname;
$l->wahlname=$row->wahlname;
$l->vornamen=$row->vornamen;
$l->nachname=$row->nachname;
$l->gebdatum=$row->gebdatum;
@@ -475,6 +476,7 @@ class mitarbeiter extends benutzer
$l->titelpre=$row->titelpre;
$l->titelpost=$row->titelpost;
$l->vorname=$row->vorname;
$l->wahlname=$row->wahlname;
$l->vornamen=$row->vornamen;
$l->nachname=$row->nachname;
$l->gebdatum=$row->gebdatum;
@@ -601,7 +603,7 @@ class mitarbeiter extends benutzer
return false;
}
$qry = "SELECT uid, vorname, vornamen, nachname, titelpre, titelpost, kurzbz FROM lehre.tbl_lehreinheitmitarbeiter, campus.vw_mitarbeiter, lehre.tbl_lehreinheit
$qry = "SELECT uid, vorname, wahlname, vornamen, nachname, titelpre, titelpost, kurzbz FROM lehre.tbl_lehreinheitmitarbeiter, campus.vw_mitarbeiter, lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)." AND mitarbeiter_uid=uid AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id;";
if($this->db_query($qry))
@@ -616,6 +618,7 @@ class mitarbeiter extends benutzer
$obj->titelpre = $row->titelpre;
$obj->titelpost = $row->titelpost;
$obj->kurzbz = $row->kurzbz;
$obj->wahlname = $row->wahlname;
$obj->vornamen = $row->vornamen;
$this->result[] = $obj;
@@ -752,6 +755,7 @@ class mitarbeiter extends benutzer
$obj->titelpre = $row->titelpre;
$obj->nachname = $row->nachname;
$obj->vorname = $row->vorname;
$obj->wahlname = $row->wahlname;
$obj->vornamen = $row->vornamen;
$obj->gebdatum = $row->gebdatum;
$obj->gebort = $row->gebort;
@@ -833,7 +837,12 @@ class mitarbeiter extends benutzer
*/
public function getMitarbeiterFilter($filter)
{
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE lower(nachname) ~* lower(".$this->db_add_param($filter).") OR uid ~* ".$this->db_add_param($filter);
$qry = "SELECT * FROM campus.vw_mitarbeiter
WHERE lower(nachname) ~* lower(".$this->db_add_param($filter).")
OR lower(wahlname) ~* lower(".$this->db_add_param($filter).")
--OR lower(wahlname || ' ' || nachname) like lower(".$this->db_add_param($filter).")
--OR lower(nachname || ' ' || wahlname) like lower(".$this->db_add_param($filter).")
OR uid ~* ".$this->db_add_param($filter);
$qry .= " ORDER BY nachname, vorname, kurzbz;";
if($this->db_query($qry))
@@ -849,6 +858,9 @@ class mitarbeiter extends benutzer
$obj->titelpost = $row->titelpost;
$obj->kurzbz = $row->kurzbz;
$obj->vornamen = $row->vornamen;
$obj->wahlname = $row->wahlname;
$obj->aktiv =$this->db_parse_bool($row->aktiv);
$obj->fixangestellt = $this->db_parse_bool($row->fixangestellt);
$this->result[] = $obj;
}
@@ -869,14 +881,17 @@ class mitarbeiter extends benutzer
*/
public function search($filter, $limit=null, $aktiv=true, $positivePersonalnr=false)
{
$qry = "SELECT vorname, nachname, titelpre, titelpost, kurzbz, vornamen, uid
$qry = "SELECT vorname, nachname, titelpre, titelpost, kurzbz, vornamen, wahlname, uid
FROM campus.vw_mitarbeiter
WHERE
lower(nachname) like lower('%".$this->db_escape($filter)."%')
OR lower(uid) like lower('%".$this->db_escape($filter)."%')
OR lower(vorname) like lower('%".$this->db_escape($filter)."%')
OR lower(wahlname) like lower('%".$this->db_escape($filter)."%')
OR lower(vorname || ' ' || nachname) like lower('%".$this->db_escape($filter)."%')
OR lower(nachname || ' ' || vorname) like lower('%".$this->db_escape($filter)."%')
OR lower(wahlname || ' ' || nachname) like lower('%".$this->db_escape($filter)."%')
OR lower(nachname || ' ' || wahlname) like lower('%".$this->db_escape($filter)."%')
ORDER BY nachname, vorname";
if(!is_null($limit) && is_numeric($limit))
@@ -895,6 +910,7 @@ class mitarbeiter extends benutzer
$obj->titelpost = $row->titelpost;
$obj->kurzbz = $row->kurzbz;
$obj->vornamen = $row->vornamen;
$obj->wahlname = $row->wahlname;
$this->result[] = $obj;
}
@@ -916,6 +932,10 @@ class mitarbeiter extends benutzer
*/
public function searchPersonal($filter)
{
// Filter imploden und trimmen, um preg_split(Zeichenweise trennung) durchfuehren zu koennen
//$searchItems_string_orig = implode(' ', $filter);
$searchItems_string = generateSpecialCharacterString($filter);
$qry = "SELECT
distinct on(mitarbeiter_uid) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum,
tbl_mitarbeiter.insertvon, tbl_mitarbeiter.updateamum, tbl_mitarbeiter.updatevon, tbl_person.svnr
@@ -923,8 +943,10 @@ class mitarbeiter extends benutzer
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
JOIN public.tbl_person USING(person_id)
WHERE lower(COALESCE(nachname,'') ||' '|| COALESCE(vorname,'')) ~* lower(".$this->db_add_param($filter).") OR
lower(COALESCE(vorname,'') ||' '|| COALESCE(nachname,'')) ~* lower(".$this->db_add_param($filter).") OR
WHERE lower(COALESCE(nachname,'') ||' '|| COALESCE(vorname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
lower(COALESCE(vorname,'') ||' '|| COALESCE(nachname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
lower(COALESCE(wahlname,'') ||' '|| COALESCE(nachname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
lower(COALESCE(nachname,'') ||' '|| COALESCE(wahlname,'')) ~* lower(".$this->db_add_param($searchItems_string).") OR
uid ~* ".$this->db_add_param($filter)." ";
if(is_numeric($filter))
$qry.="OR personalnummer = ".$this->db_add_param($filter)." OR svnr = ".$this->db_add_param($filter).";";
@@ -944,6 +966,7 @@ class mitarbeiter extends benutzer
$obj->titelpre = $row->titelpre;
$obj->nachname = $row->nachname;
$obj->vorname = $row->vorname;
$obj->wahlname = $row->wahlname;
$obj->vornamen = $row->vornamen;
$obj->gebdatum = $row->gebdatum;
$obj->gebort = $row->gebort;
@@ -1358,6 +1381,7 @@ class mitarbeiter extends benutzer
WHERE
bismelden
AND personalnummer>0
AND tbl_bisverwendung.beginn<='.$this->db_add_param($meldungEnde).'
AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende>'.$this->db_add_param($meldungBeginn).')
ORDER BY uid, nachname,vorname
';
@@ -1467,22 +1491,25 @@ class mitarbeiter extends benutzer
$hasUDF = false;
$udf = new UDF();
$qry = "SELECT DISTINCT ON(mitarbeiter_uid) *,
tbl_benutzer.aktiv as aktiv,
tbl_mitarbeiter.insertamum,
tbl_mitarbeiter.insertvon,
tbl_mitarbeiter.updateamum,
tbl_mitarbeiter.updatevon";
$qry = "SELECT
*,
tbl_benutzer.aktiv as aktiv,
tbl_mitarbeiter.insertamum,
tbl_mitarbeiter.insertvon,
tbl_mitarbeiter.updateamum,
tbl_mitarbeiter.updatevon";
if ($hasUDF = $udf->personHasUDF())
{
$qry .= ", public.tbl_person.udf_values AS p_udf_values";
}
$qry .= " FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid))
JOIN public.tbl_person USING(person_id))
LEFT JOIN public.tbl_benutzerfunktion USING(uid)
WHERE uid in(".$this->db_implode4SQL($uid_arr).")";;
$qry .= " FROM
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
JOIN public.tbl_person USING(person_id)
WHERE uid in(".$this->db_implode4SQL($uid_arr).")";
$qry .= " ORDER BY nachname, vorname";
if($this->db_query($qry))
{
@@ -1499,6 +1526,7 @@ class mitarbeiter extends benutzer
$obj->titelpre = $row->titelpre;
$obj->nachname = $row->nachname;
$obj->vorname = $row->vorname;
$obj->wahlname = $row->wahlname;
$obj->vornamen = $row->vornamen;
$obj->gebdatum = $row->gebdatum;
$obj->gebort = $row->gebort;
@@ -1645,6 +1673,7 @@ class mitarbeiter extends benutzer
return false;
}
/**
* Liefert alle Mitarbeiter*innen
*
@@ -1685,5 +1714,35 @@ class mitarbeiter extends benutzer
}
}
/**
* Generiert nächste freie Personalnummer anhand der sequence tbl_mitarbeiter_personalnummer_seq
* @return string $personalnummer
*/
public function getNextPersonalnummer()
{
$qry = "SELECT nextval('tbl_mitarbeiter_personalnummer_seq') ";
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object())
{
if ($row->nextval != '')
{
$personalnummer = $row->nextval;
return $personalnummer;
}
else
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage!';
$return = false;
}
}
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
}
?>