DIAN#77719 EXACT-import/Afpakken BESFOF/BESBOF/BESBOR-rechten op oude catalogi

svn path=/Customer/trunk/; revision=60369
This commit is contained in:
Maarten van der Heide
2023-05-10 15:06:43 +00:00
parent f567b3d38b
commit df418bc9d4

View File

@@ -687,6 +687,26 @@ AS
WHERE prs_perslid_oslogin = p.prs_perslid_oslogin)
ORDER BY 1;
-- TODO:Schonen catalogi van verwijderde cli<6C>nten waaruit >6 maanden niet
-- meer is besteld!
CURSOR c_catdel
IS
SELECT bd.ins_discipline_key
FROM bes_discipline bd
WHERE NOT EXISTS -- Geen aanwezige persoon meer met login volgens discipline!
(SELECT 1
FROM prs_v_aanwezigperslid
WHERE prs_perslid_oslogin = SUBSTR (bd.ins_discipline_omschrijving, INSTR (bd.ins_discipline_omschrijving, '/') + 1))
AND NOT EXISTS -- Laatste bestelling >6 maanden geleden!
(SELECT 1
FROM bes_bestelling b, bes_bestelling_item bi, bes_srtdeel sd, bes_srtgroep sg
WHERE b.bes_bestelling_datum > TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm')
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = bd.ins_discipline_key)
ORDER BY 1;
-- Aanmaken BES-catalogi en fac_imp_catalogus-tabel verrijken/aanvullen met
-- ins_discipline_key (per cli<6C>nt) en prs_bedrijf_key (Exact).
CURSOR c_besins
@@ -846,8 +866,9 @@ BEGIN
WHERE INSTR (fac_groep_upper, p.prs_perslid_oslogin || '/') > 0);
COMMIT;
-- Elke 'Cli<6C>nt'-groep inkleuren met BESUSE-rechten op "eigen" catalogus en
-- de 'Cli<6C>ntBeheer'-groep BESFOF/BESBOF/BESBOR-rechten op alle catalogi!
-- Elke 'Cli<6C>nt'-groep BESUSE-rechten toekennen op "eigen" catalogus en
-- 'Cli<6C>ntBeheer'-groep BESFOF/BESBOF/BESBOR-rechten toekennen op catalogi
-- van actieve cli<6C>nten.
v_errormsg := 'Fout inkleuren Cli<6C>nt-groepen';
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
@@ -902,6 +923,27 @@ BEGIN
AND ins_discipline_key = td.ins_discipline_key);
COMMIT;
-- DIAN#77719: 'Cli<6C>ntBeheer'-groep BESFOF/BESBOF/BESBOR-rechten afpakken
-- op catalogi van verwijderde cli<6C>nten waaruit >6 maanden niet
-- meer is besteld!
-- TODO:Betreffende catalogi helemaal verwijderen (ipv. rechten)?
v_errormsg := 'Fout schonen Cli<6C>ntBeheer-groep';
DELETE FROM fac_groeprechten gr
WHERE gr.fac_groep_key = c_clientbeheer_gkey
AND NOT EXISTS -- Geen aanwezige persoon meer met login volgens discipline!
(SELECT 1
FROM bes_discipline bd, prs_v_aanwezigperslid p
WHERE SUBSTR (bd.ins_discipline_omschrijving, INSTR (bd.ins_discipline_omschrijving, '/') + 1) = p.prs_perslid_oslogin
AND bd.ins_discipline_key = gr.ins_discipline_key)
AND NOT EXISTS -- Laatste bestelling >6 maanden geleden!
(SELECT 1
FROM bes_bestelling b, bes_bestelling_item bi, bes_srtdeel sd, bes_srtgroep sg
WHERE b.bes_bestelling_datum > TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm')
AND b.bes_bestelling_key = bi.bes_bestelling_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
AND sg.ins_discipline_key = gr.ins_discipline_key);
-- Nieuwe/bestaande cli<6C>nten de *eigen* 'Cli<6C>nt'-groep toekennen (zover nog
-- niet toegekend)!
v_errormsg := 'Fout toekennen Cli<6C>nt-groepen';
@@ -918,7 +960,6 @@ BEGIN
FROM fac_gebruikersgroep
WHERE prs_perslid_key = p.prs_perslid_key
AND fac_groep_key = g.fac_groep_key);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN