mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-22 17:32:18 +00:00
Fix mergeErrors mitarbeiter.class und dbupdate3.3
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user