Merge branch 'master' into eine_uid

This commit is contained in:
Andreas Moik
2016-06-20 16:18:28 +02:00
23 changed files with 588 additions and 247 deletions
+44 -5
View File
@@ -234,6 +234,7 @@ $error_msg='';
// **************************************************************
// Studiengangsleiter-Verteiler abgleichen
// Es werden auch StellvertreterInnen hinzugefügt
$mlist_name='tw_stgl';
setGeneriert($mlist_name);
// Personen holen die nicht mehr in den Verteiler gehoeren
@@ -248,9 +249,10 @@ $error_msg='';
JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid)
JOIN public.tbl_benutzerfunktion USING(uid)
JOIN public.tbl_studiengang USING(oe_kurzbz)
WHERE tbl_benutzer.aktiv AND (funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg') AND
WHERE tbl_benutzer.aktiv AND (funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()))";
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())
AND tbl_studiengang.aktiv=true)";
if(!($result = $db->db_query($sql_query)))
$error_msg.=$db->db_last_error();
while($row=$db->db_fetch_object($result))
@@ -263,7 +265,7 @@ $error_msg='';
}
// Personen holen die nicht im Verteiler sind
echo '<BR>';
$sql_query="SELECT mitarbeiter_uid AS uid
$sql_query="SELECT DISTINCT mitarbeiter_uid AS uid
FROM
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON (mitarbeiter_uid=uid)
@@ -271,10 +273,11 @@ $error_msg='';
JOIN public.tbl_studiengang USING(oe_kurzbz)
WHERE
tbl_benutzer.aktiv AND
(tbl_benutzerfunktion.funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg') AND
(tbl_benutzerfunktion.funktion_kurzbz='Leitung' OR funktion_kurzbz='gLtg' OR funktion_kurzbz='stvLtg') AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND
mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))";
mitarbeiter_uid NOT LIKE '\\\\_%' AND mitarbeiter_uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE UPPER(gruppe_kurzbz)=UPPER('$mlist_name'))
AND tbl_studiengang.aktiv=true";
if(!($result = $db->db_query($sql_query)))
$error_msg.=$db->db_last_error();
while($row=$db->db_fetch_object($result))
@@ -1703,6 +1706,42 @@ $error_msg='';
$error_msg.=$db->db_last_error().' '.$sql_querys;
}
$sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')";
if(!($result_oe = $db->db_query($sql_query)))
$error_msg.=$db->db_last_error().' '.$sql_query;
// Personen holen die nicht im Verteiler sind
while($row_oe = $db->db_fetch_object($result_oe))
{
$sql_query="INSERT INTO public.tbl_benutzergruppe(uid, gruppe_kurzbz, insertamum, insertvon) VALUES ('$row_oe->uid','".$mlist_name."', now(), 'mlists_generate')";
if(!$db->db_query($sql_query))
{
$error_msg.=$db->db_last_error().$sql_query;
}
}
// **************************************************************
// Alle MA mit Funktion Leitung oder stvLeitung oder gfLtg
$mlist_name='TW_LEITUNG';
$grp = new gruppe();
setGeneriert($mlist_name);
// Personen holen die nicht mehr in den Verteiler gehoeren
echo '<br>'.$mlist_name.' wird abgeglichen!';
flush();
$sql_query = "SELECT DISTINCT uid FROM tbl_person JOIN tbl_benutzer
USING (person_id) JOIN tbl_benutzerfunktion USING (uid)
WHERE funktion_kurzbz in('Leitung','stvLtg','gLtg')
AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null)
AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)";
$sql_querys="DELETE FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name' AND uid NOT IN ($sql_query)";
if(!$db->db_query($sql_querys))
{
$error_msg.=$db->db_last_error().' '.$sql_querys;
}
$sql_query.=" AND uid NOT IN (SELECT uid FROM public.tbl_benutzergruppe WHERE gruppe_kurzbz='$mlist_name')";
if(!($result_oe = $db->db_query($sql_query)))
$error_msg.=$db->db_last_error().' '.$sql_query;