MDUX#81808 Verwijderen personen lukt niet

svn path=/Customer/trunk/; revision=63199
This commit is contained in:
Sander Schepers
2024-01-17 10:02:15 +00:00
parent 498e394458
commit 14bf242bc2

View File

@@ -5164,13 +5164,6 @@ EXCEPTION
END; END;
/ /
CREATE OR REPLACE PROCEDURE mdux_daily
AS
BEGIN
mdux_huurautos_afmelden ();
END;
/
CREATE OR REPLACE PACKAGE MDUX CREATE OR REPLACE PACKAGE MDUX
AS AS
PROCEDURE verwijderen_personen; PROCEDURE verwijderen_personen;
@@ -5190,7 +5183,7 @@ AS
v_aanduiding VARCHAR2 (200); v_aanduiding VARCHAR2 (200);
v_count_del NUMBER (10); v_count_del NUMBER (10);
-- Alle personen verwijderen die niet meer in import bestand voorkomen. -- Alle personen verwijderen die door Misa zijn aangeduid als oud-medewerkers (einddatum)
CURSOR c_del IS CURSOR c_del IS
SELECT p.prs_perslid_key, SELECT p.prs_perslid_key,
p.prs_perslid_nr, p.prs_perslid_nr,
@@ -5222,6 +5215,39 @@ AS
|| pf.prs_perslid_naam_full || pf.prs_perslid_naam_full
|| '] ' || '] '
ORDER BY 2; ORDER BY 2;
CURSOR c_actief IS
SELECT p.prs_perslid_key,
p.prs_perslid_nr,
'['
|| TO_CHAR (p.prs_perslid_key)
|| '|'
|| p.prs_perslid_email
|| '|'
|| pf.prs_perslid_naam_full
|| '] ' aanduiding,
COUNT (vp.prs_perslid_key) aant
FROM prs_perslid p,
prs_v_perslid_fullnames_all pf,
prs_v_verplichting_keys vp
WHERE pf.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_nr IS NOT NULL
AND p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_inactief IS NOT NULL
AND (p.prs_perslid_einddatum IS NULL OR TRUNC (p.prs_perslid_einddatum) > TRUNC (SYSDATE))
AND p.prs_perslid_apikey IS NULL
AND p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
GROUP BY p.prs_perslid_key,
p.prs_perslid_nr,
'['
|| TO_CHAR (p.prs_perslid_key)
|| '|'
|| p.prs_perslid_email
|| '|'
|| pf.prs_perslid_naam_full
|| '] '
ORDER BY 2;
BEGIN BEGIN
v_count_del := 0; v_count_del := 0;
@@ -5251,6 +5277,13 @@ AS
COMMIT; COMMIT;
END IF; END IF;
ELSE ELSE
v_errormsg := 'Fout inactief maken perslid';
UPDATE prs_perslid
SET prs_perslid_inactief = SYSDATE
WHERE prs_perslid_key = rec.prs_perslid_key
AND prs_perslid_inactief IS NULL;
fac.writelog ( fac.writelog (
'VERWIJDEREN_PERSONEN', 'VERWIJDEREN_PERSONEN',
'I', 'I',
@@ -5282,6 +5315,18 @@ AS
'S', 'S',
'Personen/#geschoond: ' || TO_CHAR (v_count_del), 'Personen/#geschoond: ' || TO_CHAR (v_count_del),
''); '');
FOR rec IN c_actief
LOOP
BEGIN
v_errormsg := 'Fout weer actief maken perslid';
UPDATE prs_perslid
SET prs_perslid_inactief = NULL
WHERE prs_perslid_key = rec.prs_perslid_key;
END;
END LOOP;
EXCEPTION EXCEPTION
WHEN OTHERS WHEN OTHERS
THEN THEN
@@ -5312,6 +5357,8 @@ BEGIN
-- Een enddate bepaalt vanuit MISA (AFAS) dat de persoon verwijderd mag worden. -- Een enddate bepaalt vanuit MISA (AFAS) dat de persoon verwijderd mag worden.
mdux.verwijderen_personen (); mdux.verwijderen_personen ();
mdux_huurautos_afmelden ();
END; END;
/ /