Laden der Untergebenen optimiert bei vielen Einträgen

This commit is contained in:
Andreas Österreicher
2022-03-14 15:58:13 +01:00
parent 418f2aee7b
commit e0a2f0490b
2 changed files with 18 additions and 16 deletions
+5 -6
View File
@@ -1008,18 +1008,17 @@ if ($projekt->getProjekteMitarbeiter($user, true))
//Dropdown timesheets Mitarbeiter //Dropdown timesheets Mitarbeiter
if ($untergebenen_arr) if ($untergebenen_arr)
{ {
$ben = new benutzer(); $mitarbeiter = new mitarbeiter();
$mitarbeiter->getMitarbeiterArray($untergebenen_arr);
echo " echo "
<hr><br> <hr><br>
<select name='mas' id='mas' onchange='location = this.options[this.selectedIndex].value;''> <select name='mas' id='mas' onchange='location = this.options[this.selectedIndex].value;''>
<option>-- Timesheets Mitarbeiter*Innen --</option>"; <option>-- Timesheets Mitarbeiter*Innen --</option>";
foreach($untergebenen_arr as $k=>$v) foreach($mitarbeiter->result as $row)
{ {
if ($ben->load($v)) echo "<option value='zeitaufzeichnung.php?uid=$row->uid'>$row->nachname $row->vorname</option>";
{
echo "<option value='zeitaufzeichnung.php?uid=$v'>$ben->vorname $ben->nachname</option>";
}
} }
echo "<option value='zeitaufzeichnung.php'> --zurück zur Übersicht--</option>"; echo "<option value='zeitaufzeichnung.php'> --zurück zur Übersicht--</option>";
echo "</select>"; echo "</select>";
+13 -10
View File
@@ -1468,22 +1468,25 @@ class mitarbeiter extends benutzer
$hasUDF = false; $hasUDF = false;
$udf = new UDF(); $udf = new UDF();
$qry = "SELECT DISTINCT ON(mitarbeiter_uid) *, $qry = "SELECT
tbl_benutzer.aktiv as aktiv, *,
tbl_mitarbeiter.insertamum, tbl_benutzer.aktiv as aktiv,
tbl_mitarbeiter.insertvon, tbl_mitarbeiter.insertamum,
tbl_mitarbeiter.updateamum, tbl_mitarbeiter.insertvon,
tbl_mitarbeiter.updatevon"; tbl_mitarbeiter.updateamum,
tbl_mitarbeiter.updatevon";
if ($hasUDF = $udf->personHasUDF()) if ($hasUDF = $udf->personHasUDF())
{ {
$qry .= ", public.tbl_person.udf_values AS p_udf_values"; $qry .= ", public.tbl_person.udf_values AS p_udf_values";
} }
$qry .= " FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) $qry .= " FROM
JOIN public.tbl_person USING(person_id)) public.tbl_mitarbeiter
LEFT JOIN public.tbl_benutzerfunktion USING(uid) JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
WHERE uid in(".$this->db_implode4SQL($uid_arr).")";; 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)) if($this->db_query($qry))
{ {