CSUN#59004 -- Automatisch werkplek koppelen ook voor niet Kentalis klanten.

svn path=/Customer/trunk/; revision=43922
This commit is contained in:
Arthur Egberink
2019-08-23 12:00:45 +00:00
parent fb0977b06e
commit bc1186b3f4

View File

@@ -3050,55 +3050,60 @@ INSERT INTO prs_werkplek (prs_werkplek_volgnr, prs_werkplek_virtueel, prs_alg_ru
AND prs_werkplek_volgnr = 1);
-- toevoegen prs_perslidwerkplekken
INSERT INTO prs_perslidwerkplek (prs_perslid_key, prs_perslidwerkplek_bezetting, prs_werkplek_key)
SELECT prs_perslid_key, 100, prs_werkplek_key
FROM prs_v_aanwezigperslid p,
prs_afdeling a,
alg_onrgoedkenmerk aogk,
fac_usrdata ud,
prs_v_werkplek_gegevens wpg,
alg_locatie l
WHERE p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_afdeling_verwijder IS NULL
AND (a.prs_afdeling_naam IN
('Adecco',
'Manpower',
'Luba',
'Servex',
'USG PA',
'USG People',
'NS Retail',
'DJI')
AND (EXISTS
(SELECT gg.prs_perslid_key
FROM fac_gebruikersgroep gg
WHERE fac_groep_key = 61
AND gg.prs_perslid_key = p.prs_perslid_key))
OR
( a.prs_afdeling_naam = 'Kentalis'
AND EXISTS (SELECT alg_onrgoedkenmerk_key
FROM alg_onrgoedkenmerk aog,
prs_kenmerklink kl
WHERE ((aog.alg_onrgoedkenmerk_waarde = kl.prs_kenmerklink_waarde
AND aog.alg_kenmerk_key = 1123 -- klantspecifieke regioindeling
AND aog.alg_onrgoed_key = wpg.alg_locatie_key)
OR (kl.prs_kenmerklink_waarde = 'alles'))
AND kl.prs_link_key = p.prs_perslid_key
AND kl.prs_kenmerk_key = 1060))) -- klantspecifieke regioautorisatie)
AND fac.safe_to_number (aogk.alg_onrgoedkenmerk_waarde) =
fac_usrdata_key
AND aogk.alg_kenmerk_key = 1000
AND aogk.alg_onrgoed_key = wpg.alg_locatie_key
AND wpg.prs_werkplek_volgnr = 1
AND UPPER (prs_afdeling_naam) LIKE UPPER (fac_usrdata_omschr) || '%'
AND fac_usrtab_key = 1
AND l.alg_locatie_key = wpg.alg_locatie_key
AND l.alg_locatie_verwijder IS NULL
AND NOT EXISTS
(SELECT prs_perslidwerkplek_key
FROM prs_perslidwerkplek pwp
WHERE pwp.prs_perslid_key = p.prs_perslid_key
AND wpg.prs_werkplek_key = pwp.prs_werkplek_key);
INSERT INTO prs_perslidwerkplek (prs_perslid_key,
prs_perslidwerkplek_bezetting,
prs_werkplek_key)
SELECT prs_perslid_key, 100, prs_werkplek_key
FROM prs_v_aanwezigperslid p,
prs_afdeling a,
alg_onrgoedkenmerk aogk,
fac_usrdata ud,
prs_v_werkplek_gegevens wpg,
alg_locatie l
WHERE p.prs_afdeling_key = a.prs_afdeling_key
AND a.prs_afdeling_verwijder IS NULL
AND ( a.prs_afdeling_naam IN ('Adecco',
'Manpower',
'Luba',
'Servex',
'USG PA',
'USG People',
'NS Retail',
'DJI')
AND (EXISTS
(SELECT gg.prs_perslid_key
FROM fac_gebruikersgroep gg
WHERE fac_groep_key = 61 -- Klant
AND gg.prs_perslid_key =
p.prs_perslid_key))
OR ( EXISTS
(SELECT alg_onrgoedkenmerk_key
FROM alg_onrgoedkenmerk aog,
prs_kenmerklink kl
WHERE ( ( aog.alg_onrgoedkenmerk_waarde =
kl.prs_kenmerklink_waarde
AND aog.alg_kenmerk_key = 1123 -- klantspecifieke regioindeling
AND aog.alg_onrgoed_key =
wpg.alg_locatie_key)
OR (kl.prs_kenmerklink_waarde =
'alles'))
AND kl.prs_link_key = p.prs_perslid_key
AND kl.prs_kenmerk_key = 1060))) -- klantspecifieke regioautorisatie)
AND fac.safe_to_number (aogk.alg_onrgoedkenmerk_waarde) =
fac_usrdata_key
AND aogk.alg_kenmerk_key = 1000
AND aogk.alg_onrgoed_key = wpg.alg_locatie_key
AND wpg.prs_werkplek_volgnr = 1
AND UPPER (prs_afdeling_omschrijving) LIKE
UPPER (fac_usrdata_omschr) || '%'
AND fac_usrtab_key = 1
AND l.alg_locatie_key = wpg.alg_locatie_key
AND l.alg_locatie_verwijder IS NULL
AND NOT EXISTS
(SELECT prs_perslidwerkplek_key
FROM prs_perslidwerkplek pwp
WHERE pwp.prs_perslid_key = p.prs_perslid_key
AND wpg.prs_werkplek_key = pwp.prs_werkplek_key);
END;
/