HERO#86913 -- Implementatie Personen import vanuit AFAS, aanpassing tbv toewijzen werkplek en autorisatie groep
svn path=/Customer/trunk/; revision=68765
This commit is contained in:
@@ -1547,6 +1547,34 @@ END;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE HERO_UPDATE_AFAS_PERSONEN(p_import_key IN NUMBER)
|
||||
AS
|
||||
|
||||
-- Afdeling is het cluster, alle locatie onder dat cluster ophalen en werkoplek toewijzen
|
||||
-- clusetr manager, aclustermanaer vve, assistent clusetr manager
|
||||
CURSOR p_werkplek
|
||||
IS
|
||||
SELECT p.prs_perslid_key,
|
||||
r.alg_ruimte_key,
|
||||
pf.prs_perslid_naam_friendly
|
||||
FROM fac_imp_perslid i,
|
||||
prs_perslid p,
|
||||
prs_v_perslid_fullnames pf,
|
||||
alg_district d,
|
||||
alg_locatie l,
|
||||
alg_gebouw g,
|
||||
alg_verdieping v,
|
||||
alg_ruimte r
|
||||
WHERE i.prs_srtperslid_omschrijving IN ('Clustermanager','Clusterassistent','Clustermanager VVE')
|
||||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||||
AND d.alg_district_upper = UPPER (REPLACE (prs_kenmerk2, '1001=', ''))
|
||||
AND l.alg_district_key = d.alg_district_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND v.alg_verdieping_code='0'
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND r.alg_ruimte_nr='_WP'
|
||||
AND p.prs_perslid_verwijder IS NULL;
|
||||
|
||||
CURSOR p_del
|
||||
IS
|
||||
SELECT p.prs_perslid_key
|
||||
@@ -1568,6 +1596,7 @@ AS
|
||||
v_defaultgroep NUMBER:=1;
|
||||
v_count NUMBER;
|
||||
v_aanwezig NUMBER;
|
||||
v_auth_groep_key NUMBER;
|
||||
BEGIN
|
||||
|
||||
-- Hebben we wel een gevuld bestand binnen gekregen
|
||||
@@ -1598,7 +1627,52 @@ BEGIN
|
||||
|
||||
COMMIT;
|
||||
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
BEGIN
|
||||
SELECT f.FAC_GROEP_KEY
|
||||
INTO v_auth_groep_key
|
||||
FROM FAC_GROEP f
|
||||
WHERE f.fac_groep_upper='CLUSTERMANAGERS';
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_auth_groep_key:=-1;
|
||||
END;
|
||||
|
||||
|
||||
|
||||
-- Toewijzen aan werkplek op locatie
|
||||
-- En toewijzen aan autoristaie groep
|
||||
v_count:=0;
|
||||
FOR rec IN p_werkplek
|
||||
LOOP
|
||||
BEGIN
|
||||
prs.movetoruimte (rec.prs_perslid_key,
|
||||
rec.alg_ruimte_key,
|
||||
'A',
|
||||
0);
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO v_count
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key=v_auth_groep_key
|
||||
AND prs_perslid_key=rec.prs_perslid_key
|
||||
AND ( fac_gebruikersgroep_vervaldatum IS NULL
|
||||
OR fac_gebruikersgroep_vervaldatum> SYSDATE);
|
||||
|
||||
IF v_count<1 AND v_auth_groep_key>0
|
||||
THEN
|
||||
-- Voeg toe aan autorisatie groep Clustermanagers
|
||||
INSERT INTO fac_gebruikersgroep(fac_groep_key, prs_perslid_key)
|
||||
VALUES(v_auth_groep_key, rec.prs_perslid_key);
|
||||
fac.imp_writelog (
|
||||
p_import_key,
|
||||
'S',
|
||||
'Toegevoegd aan autorisatie groep Clustermanagers :'||rec.prs_perslid_naam_friendly,'');
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
EXCEPTION
|
||||
|
||||
WHEN OTHERS
|
||||
|
||||
Reference in New Issue
Block a user