CEVA#81147 Script automatisch opschonen accounts
svn path=/Customer/trunk/; revision=62656
This commit is contained in:
335
CEVA/ceva.sql
335
CEVA/ceva.sql
@@ -264,31 +264,141 @@ AS
|
|||||||
oracle_err_num NUMBER;
|
oracle_err_num NUMBER;
|
||||||
oracle_err_mes VARCHAR2 (200);
|
oracle_err_mes VARCHAR2 (200);
|
||||||
v_count_tot NUMBER (10) := 0;
|
v_count_tot NUMBER (10) := 0;
|
||||||
|
v_count_del NUMBER (10);
|
||||||
|
|
||||||
v_perslid_key NUMBER (15);
|
v_perslid_key NUMBER (15);
|
||||||
|
|
||||||
CURSOR c IS
|
CURSOR c IS
|
||||||
SELECT p.*
|
SELECT '['
|
||||||
FROM prs_v_aanwezigperslid p, FAC_V_LCRAP_FE_VS_KEY_DATA u
|
|| TO_CHAR (p.prs_perslid_key)
|
||||||
WHERE p.prs_perslid_key = u.prs_perslid_key
|
|| '|'
|
||||||
AND ( TRUNC (p.prs_perslid_login) <
|
|| p.prs_perslid_email
|
||||||
TRUNC (SYSDATE) - 365
|
|| '|'
|
||||||
AND p.prs_perslid_login IS NOT NULL)
|
|| p.prs_perslid_naam
|
||||||
|
|| '] ' aanduiding,
|
||||||
|
p.prs_perslid_key,
|
||||||
|
COUNT (vp.prs_perslid_key) aant,
|
||||||
|
DECODE (p.prs_perslid_inactief, NULL, 0, 1) inactief
|
||||||
|
FROM prs_v_aanwezigperslid p,
|
||||||
|
FAC_V_LCRAP_FE_VS_KEY_DATA u,
|
||||||
|
prs_v_verplichting_keys vp
|
||||||
|
WHERE p.prs_perslid_key = u.prs_perslid_key
|
||||||
|
AND p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
|
||||||
|
AND ( TRUNC (p.prs_perslid_login) <
|
||||||
|
TRUNC (SYSDATE) - 365
|
||||||
|
AND p.prs_perslid_login IS NOT NULL)
|
||||||
|
GROUP BY '['
|
||||||
|
|| TO_CHAR (p.prs_perslid_key)
|
||||||
|
|| '|'
|
||||||
|
|| p.prs_perslid_email
|
||||||
|
|| '|'
|
||||||
|
|| p.prs_perslid_naam
|
||||||
|
|| '] ',
|
||||||
|
p.prs_perslid_key,
|
||||||
|
DECODE (p.prs_perslid_inactief, NULL, 0, 1)
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT p.*
|
SELECT '['
|
||||||
FROM prs_v_aanwezigperslid p, FAC_V_LCRAP_FE_VS_KEY_DATA u
|
|| TO_CHAR (p.prs_perslid_key)
|
||||||
WHERE p.prs_perslid_key = u.prs_perslid_key
|
|| '|'
|
||||||
AND ( TRUNC (p.prs_perslid_aanmaak) <
|
|| p.prs_perslid_email
|
||||||
TRUNC (SYSDATE) - 365
|
|| '|'
|
||||||
AND p.prs_perslid_login IS NULL);
|
|| p.prs_perslid_naam
|
||||||
|
|| '] ' aanduiding,
|
||||||
|
p.prs_perslid_key,
|
||||||
|
COUNT (vp.prs_perslid_key) aant,
|
||||||
|
DECODE (p.prs_perslid_inactief, NULL, 0, 1) inactief
|
||||||
|
FROM prs_v_aanwezigperslid p,
|
||||||
|
FAC_V_LCRAP_FE_VS_KEY_DATA u,
|
||||||
|
prs_v_verplichting_keys vp
|
||||||
|
WHERE p.prs_perslid_key = u.prs_perslid_key
|
||||||
|
AND p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
|
||||||
|
AND ( TRUNC (p.prs_perslid_aanmaak) <
|
||||||
|
TRUNC (SYSDATE) - 365
|
||||||
|
AND p.prs_perslid_login IS NULL)
|
||||||
|
GROUP BY '['
|
||||||
|
|| TO_CHAR (p.prs_perslid_key)
|
||||||
|
|| '|'
|
||||||
|
|| p.prs_perslid_email
|
||||||
|
|| '|'
|
||||||
|
|| p.prs_perslid_naam
|
||||||
|
|| '] ',
|
||||||
|
p.prs_perslid_key,
|
||||||
|
DECODE (p.prs_perslid_inactief, NULL, 0, 1);
|
||||||
BEGIN
|
BEGIN
|
||||||
|
v_count_del := 0;
|
||||||
|
|
||||||
FOR rec IN c
|
FOR rec IN c
|
||||||
LOOP
|
LOOP
|
||||||
BEGIN
|
BEGIN
|
||||||
v_perslid_key := rec.prs_perslid_key;
|
IF rec.aant = 0
|
||||||
prs.delete_perslid (1, v_perslid_key);
|
THEN
|
||||||
|
v_errormsg := 'Fout schonen collega';
|
||||||
|
|
||||||
|
DELETE FROM
|
||||||
|
prs_collega
|
||||||
|
WHERE prs_perslid_key = rec.prs_perslid_key
|
||||||
|
OR prs_perslid_key_alt = rec.prs_perslid_key;
|
||||||
|
|
||||||
|
v_errormsg := 'Fout schonen persoon';
|
||||||
|
|
||||||
|
UPDATE prs_perslid
|
||||||
|
SET prs_perslid_verwijder = SYSDATE
|
||||||
|
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||||||
|
|
||||||
|
v_count_del := v_count_del + 1;
|
||||||
|
|
||||||
|
IF MOD (v_count_del, 1000) = 0
|
||||||
|
THEN
|
||||||
|
COMMIT;
|
||||||
|
END IF;
|
||||||
|
ELSE
|
||||||
|
fac.writelog (
|
||||||
|
'SCHONEN_PERSONEN',
|
||||||
|
'I',
|
||||||
|
rec.aanduiding
|
||||||
|
|| '/#Verplichtingen: '
|
||||||
|
|| TO_CHAR (rec.aant),
|
||||||
|
'Persoon niet geschoond');
|
||||||
|
|
||||||
|
IF rec.inactief = 0
|
||||||
|
THEN
|
||||||
|
v_errormsg := 'Fout inactiveren persoon';
|
||||||
|
|
||||||
|
UPDATE prs_perslid
|
||||||
|
SET prs_perslid_inactief = SYSDATE
|
||||||
|
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||||||
|
|
||||||
|
fac.trackaction ('PRSUPD',
|
||||||
|
rec.prs_perslid_key,
|
||||||
|
3, --Facilitor
|
||||||
|
SYSDATE,
|
||||||
|
'Persoon inactief gemaakt');
|
||||||
|
END IF;
|
||||||
|
END IF;
|
||||||
|
EXCEPTION
|
||||||
|
WHEN OTHERS
|
||||||
|
THEN -- Kennelijk heeft persoon toch nog ernstige verplichtingen!
|
||||||
|
oracle_err_num := SQLCODE;
|
||||||
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||||
|
v_errormsg :=
|
||||||
|
v_errormsg
|
||||||
|
|| ' ORACLE (error '
|
||||||
|
|| oracle_err_num
|
||||||
|
|| '/'
|
||||||
|
|| oracle_err_mes
|
||||||
|
|| ')';
|
||||||
|
fac.writelog ('SCHONEN_PERSONEN',
|
||||||
|
'W',
|
||||||
|
rec.aanduiding || v_errormsg,
|
||||||
|
'Fout schonen persoon');
|
||||||
END;
|
END;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
|
|
||||||
|
fac.writelog ('SCHONEN_PERSONEN',
|
||||||
|
'S',
|
||||||
|
'Personen/#geschoond: ' || TO_CHAR (v_count_del),
|
||||||
|
'');
|
||||||
|
COMMIT;
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
WHEN OTHERS
|
WHEN OTHERS
|
||||||
THEN
|
THEN
|
||||||
@@ -540,6 +650,203 @@ AS
|
|||||||
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
|
AND d.ins_alg_ruimte_key = aog.alg_ruimte_key
|
||||||
AND l.alg_locatie_key = aog.alg_locatie_key;
|
AND l.alg_locatie_key = aog.alg_locatie_key;
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW CEVA_V_EXPORT_BIJLAGEN_LOCATIES
|
||||||
|
(
|
||||||
|
TYPE,
|
||||||
|
LOCATIE,
|
||||||
|
GEBOUW,
|
||||||
|
VERDIEPING,
|
||||||
|
RUIMTE,
|
||||||
|
OBJECT_KEY,
|
||||||
|
OBJECT_ID,
|
||||||
|
OBJECT_OMSCHRIJVING,
|
||||||
|
MELDING,
|
||||||
|
CATEGORY,
|
||||||
|
CALL,
|
||||||
|
FAC_BIJLAGEN_AANMAAK,
|
||||||
|
FAC_BIJLAGEN_FILENAME,
|
||||||
|
FAC_BIJLAGEN_KEY,
|
||||||
|
FAC_BIJLAGEN_ZIPPATH,
|
||||||
|
CHECK_LENGTE
|
||||||
|
)
|
||||||
|
AS
|
||||||
|
SELECT 'locatie',
|
||||||
|
l.alg_locatie_omschrijving AS locatie,
|
||||||
|
NULL AS gebouw,
|
||||||
|
NULL AS verdieping,
|
||||||
|
NULL AS ruimte,
|
||||||
|
NULL AS object_key,
|
||||||
|
NULL AS object_id,
|
||||||
|
NULL AS object_omschrijving,
|
||||||
|
NULL AS melding,
|
||||||
|
NULL AS category,
|
||||||
|
NULL AS call,
|
||||||
|
b.fac_bijlagen_aanmaak,
|
||||||
|
b.fac_bijlagen_filename,
|
||||||
|
b.fac_bijlagen_key,
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename fac_bijlagen_zippath, -- Let op, padnaam kan/mag MAX 258 posities hebben (i.v.m. insuffficient memory)
|
||||||
|
LENGTH (
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename) check_lengte
|
||||||
|
FROM fac_v_bijlagen b, alg_locatie l
|
||||||
|
WHERE b.fac_bijlagen_verwijder IS NULL
|
||||||
|
AND b.fac_bijlagen_module = 'ALG'
|
||||||
|
AND b.fac_bijlagen_refkey = l.alg_locatie_key
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'gebouw',
|
||||||
|
l.alg_locatie_omschrijving,
|
||||||
|
g.alg_gebouw_omschrijving,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
b.fac_bijlagen_aanmaak,
|
||||||
|
b.fac_bijlagen_filename,
|
||||||
|
b.fac_bijlagen_key,
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename fac_bijlagen_zippath, -- Let op, padnaam kan/mag MAX 258 posities hebben (i.v.m. insuffficient memory)
|
||||||
|
LENGTH (
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename) check_lengte
|
||||||
|
FROM fac_v_bijlagen b, alg_locatie l, alg_gebouw g
|
||||||
|
WHERE b.fac_bijlagen_verwijder IS NULL
|
||||||
|
AND l.alg_locatie_key = g.alg_locatie_key
|
||||||
|
AND b.fac_bijlagen_module = 'ALG'
|
||||||
|
AND b.fac_bijlagen_refkey = g.alg_gebouw_key
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'verdieping',
|
||||||
|
l.alg_locatie_omschrijving,
|
||||||
|
g.alg_gebouw_omschrijving,
|
||||||
|
v.alg_verdieping_omschrijving,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
b.fac_bijlagen_aanmaak,
|
||||||
|
b.fac_bijlagen_filename,
|
||||||
|
b.fac_bijlagen_key,
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename fac_bijlagen_zippath, -- Let op, padnaam kan/mag MAX 258 posities hebben (i.v.m. insuffficient memory)
|
||||||
|
LENGTH (
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename) check_lengte
|
||||||
|
FROM fac_v_bijlagen b,
|
||||||
|
alg_locatie l,
|
||||||
|
alg_gebouw g,
|
||||||
|
alg_verdieping v
|
||||||
|
WHERE b.fac_bijlagen_verwijder IS NULL
|
||||||
|
AND l.alg_locatie_key = g.alg_locatie_key
|
||||||
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
||||||
|
AND b.fac_bijlagen_module = 'ALG'
|
||||||
|
AND b.fac_bijlagen_refkey = v.alg_verdieping_key
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'ruimte',
|
||||||
|
l.alg_locatie_omschrijving,
|
||||||
|
g.alg_gebouw_omschrijving,
|
||||||
|
v.alg_verdieping_omschrijving,
|
||||||
|
r.alg_ruimte_nr,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
b.fac_bijlagen_aanmaak,
|
||||||
|
b.fac_bijlagen_filename,
|
||||||
|
b.fac_bijlagen_key,
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename fac_bijlagen_zippath, -- Let op, padnaam kan/mag MAX 258 posities hebben (i.v.m. insuffficient memory)
|
||||||
|
LENGTH (
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename) check_lengte
|
||||||
|
FROM fac_v_bijlagen b,
|
||||||
|
alg_locatie l,
|
||||||
|
alg_gebouw g,
|
||||||
|
alg_verdieping v,
|
||||||
|
alg_ruimte r
|
||||||
|
WHERE b.fac_bijlagen_verwijder IS NULL
|
||||||
|
AND l.alg_locatie_key = g.alg_locatie_key
|
||||||
|
AND g.alg_gebouw_key = v.alg_gebouw_key
|
||||||
|
AND v.alg_verdieping_key = r.alg_verdieping_key
|
||||||
|
AND b.fac_bijlagen_module = 'ALG'
|
||||||
|
AND b.fac_bijlagen_refkey = r.alg_ruimte_key
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'melding',
|
||||||
|
l.alg_locatie_omschrijving,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
m.mld_melding_key,
|
||||||
|
disc.ins_discipline_omschrijving,
|
||||||
|
sm.mld_stdmelding_omschrijving,
|
||||||
|
b.fac_bijlagen_aanmaak,
|
||||||
|
b.fac_bijlagen_filename,
|
||||||
|
b.fac_bijlagen_key,
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename fac_bijlagen_zippath, -- Let op, padnaam kan/mag MAX 258 posities hebben (i.v.m. insuffficient memory)
|
||||||
|
LENGTH (
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename) check_lengte
|
||||||
|
FROM fac_v_bijlagen b,
|
||||||
|
alg_locatie l,
|
||||||
|
mld_melding m,
|
||||||
|
mld_stdmelding sm,
|
||||||
|
ins_tab_discipline disc
|
||||||
|
WHERE b.fac_bijlagen_verwijder IS NULL
|
||||||
|
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
||||||
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||||
|
AND sm.mld_ins_discipline_key = disc.ins_discipline_key
|
||||||
|
AND b.fac_bijlagen_module = 'MLD'
|
||||||
|
AND b.fac_bijlagen_refkey = m.mld_melding_key
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'object',
|
||||||
|
l.alg_locatie_omschrijving,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
d.ins_deel_key,
|
||||||
|
d.ins_deel_omschrijving,
|
||||||
|
d.ins_deel_opmerking,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
b.fac_bijlagen_aanmaak,
|
||||||
|
b.fac_bijlagen_filename,
|
||||||
|
b.fac_bijlagen_key,
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename fac_bijlagen_zippath, -- Let op, padnaam kan/mag MAX 258 posities hebben (i.v.m. insuffficient memory)
|
||||||
|
LENGTH (
|
||||||
|
b.fac_bijlagen_disk_directory
|
||||||
|
|| CHR (92)
|
||||||
|
|| b.fac_bijlagen_filename) check_lengte
|
||||||
|
FROM fac_v_bijlagen b, alg_locatie l, ins_deel d
|
||||||
|
WHERE b.fac_bijlagen_verwijder IS NULL
|
||||||
|
AND d.ins_alg_locatie_key = l.alg_locatie_key
|
||||||
|
AND b.fac_bijlagen_module = 'INS'
|
||||||
|
AND b.fac_bijlagen_refkey = d.ins_deel_key;
|
||||||
|
|
||||||
------ payload end ------
|
------ payload end ------
|
||||||
|
|
||||||
SET DEFINE OFF
|
SET DEFINE OFF
|
||||||
|
|||||||
Reference in New Issue
Block a user