ARBO#56645 -- Aanpassen personenkoppeling ivm uitbreiding richting Human Capital Care
svn path=/Customer/trunk/; revision=45487
This commit is contained in:
@@ -1505,27 +1505,6 @@ END arbo_update_prs;
|
||||
/
|
||||
|
||||
|
||||
/*
|
||||
CREATE OR REPLACE PROCEDURE arbo_import_perslid (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR(255);
|
||||
BEGIN
|
||||
|
||||
v_seq_of_columns := '0;0;0;0;0;0;1;6;0;5;0;0;0;0;0;8;9;7;0;2;4;0;0;0;0;0;3;10;11;12;13;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0';
|
||||
prs.import_perslid(p_import_key, v_seq_of_columns, '%');
|
||||
|
||||
UPDATE fac_imp_perslid p
|
||||
SET prs_kenmerk10 = (SELECT fac_import_filenaam FROM fac_import i WHERE fac_import_key = p_import_key),
|
||||
prs_kenmerk11 = (SELECT TO_CHAR(fac_import_datum_gelezen, 'yyyy-mm-dd hh24:mi:ss') FROM fac_import i WHERE fac_import_key = p_import_key)
|
||||
WHERE p.fac_import_key = p_import_key;
|
||||
|
||||
-- Bewaar de oude data omdat we een aantal imports per nacht krijgen
|
||||
INSERT INTO arbo_imp_perslid
|
||||
SELECT * FROM fac_imp_perslid;
|
||||
END;
|
||||
/
|
||||
*/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE arbo_import_perslid (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_seq_of_columns VARCHAR (255);
|
||||
@@ -1614,7 +1593,7 @@ BEGIN
|
||||
'TD');
|
||||
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam = prs_afdeling_naam || '-' || prs_kenmerk6;
|
||||
SET prs_afdeling_naam = prs_afdeling_naam || REPLACE(prs_kenmerk7, '-');
|
||||
|
||||
UPDATE fac_imp_perslid i
|
||||
SET prs_perslid_email = COALESCE(i.prs_perslid_email, (SELECT prs_perslid_email
|
||||
@@ -1622,6 +1601,12 @@ BEGIN
|
||||
WHERE i.prs_perslid_nr = p.prs_perslid_nr
|
||||
AND p.prs_perslid_verwijder IS NULL));
|
||||
|
||||
UPDATE fac_imp_perslid i
|
||||
SET (prs_perslid_mobiel, prs_perslid_telefoonnr ) = (SELECT prs_perslid_mobiel, prs_perslid_telefoonnr
|
||||
FROM prs_perslid p
|
||||
WHERE i.prs_perslid_nr = p.prs_perslid_nr
|
||||
AND p.prs_perslid_verwijder IS NULL);
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
@@ -1650,6 +1635,8 @@ IS
|
||||
WHERE i.prs_perslid_key = p.prs_perslid_key
|
||||
AND prs_kenmerk10 IS NOT NULL;
|
||||
|
||||
-- personen pas verwijderen als ze langer dan 80 dagen bestaan. Hiermee voorkomen we dat nieuw handmatig ingevoerde
|
||||
-- personen direct verwijderd worden, omdat HR data altijd wat ouder is.
|
||||
CURSOR c_del IS
|
||||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full, p.prs_perslid_oslogin
|
||||
FROM fac_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames_all pf
|
||||
@@ -1657,7 +1644,8 @@ IS
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_nr IS NOT NULL
|
||||
AND i.prs_perslid_nr IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL;
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_aanmaak < SYSDATE -80;
|
||||
|
||||
v_bedrijf_key NUMBER (10);
|
||||
v_afdeling_key1 NUMBER (10);
|
||||
@@ -1839,7 +1827,7 @@ BEGIN
|
||||
INTO v_afdeling_key4
|
||||
FROM prs_v_afdeling a
|
||||
WHERE a.prs_afdeling_upper =
|
||||
rec.afdeling_naam || '-' || rec.kostenplaats_id
|
||||
rec.afdeling_naam || REPLACE(rec.kostenplaats_nr,'-')
|
||||
AND prs_afdeling_verwijder IS NULL
|
||||
AND a.niveau = 4
|
||||
AND a.prs_afdeling_parentkey = v_afdeling_key3;
|
||||
@@ -1860,13 +1848,11 @@ BEGIN
|
||||
'Voeg afdeling4 toe '
|
||||
|| v_afdeling_key4
|
||||
|| '-'
|
||||
|| rec.afdeling_naam
|
||||
|| rec.afdeling_naam || REPLACE(rec.kostenplaats_nr,'-')
|
||||
|| '-'
|
||||
|| rec.afdeling_oms3
|
||||
|| '-'
|
||||
|| v_afdeling_key3
|
||||
|| '-'
|
||||
|| rec.kostenplaats_id;
|
||||
|| v_afdeling_key3;
|
||||
|
||||
INSERT INTO prs_afdeling (prs_afdeling_key,
|
||||
prs_afdeling_naam,
|
||||
@@ -1876,8 +1862,7 @@ BEGIN
|
||||
VALUES (
|
||||
v_afdeling_key4,
|
||||
rec.afdeling_naam
|
||||
|| '-'
|
||||
|| rec.kostenplaats_id,
|
||||
|| REPLACE(rec.kostenplaats_nr,'-'),
|
||||
rec.afdeling_oms3,
|
||||
v_kostenplaats_key,
|
||||
v_afdeling_key3);
|
||||
@@ -1926,14 +1911,15 @@ BEGIN
|
||||
|
||||
prs.update_perslid (p_import_key, 'NR', NULL);
|
||||
|
||||
v_errorhint := 'Update personen';
|
||||
FOR rec IN c_upd LOOP
|
||||
BEGIN
|
||||
v_errorhint := 'Update persoon: ' || rec.prs_perslid_key || '-' || rec.alt_email;
|
||||
PRS.upsertkenmerk (1020, rec.prs_perslid_key, rec.alt_email);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- Niet gebruikte functies gaan we nu verwijderen
|
||||
UPDATE prs_srtperslid sp
|
||||
SET prs_srtperslid_verwijder = SYSDATE
|
||||
WHERE prs_srtperslid_verwijder IS NULL
|
||||
AND NOT EXISTS
|
||||
(SELECT prs_perslid_key
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_srtperslid_key = sp.prs_srtperslid_key
|
||||
AND p.prs_perslid_verwijder IS NULL);
|
||||
|
||||
-- Nu gaan we proberen de afdelingen op te ruimen
|
||||
BEGIN
|
||||
@@ -1949,7 +1935,8 @@ BEGIN
|
||||
(SELECT prs_perslid_key
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_afdeling_key =
|
||||
ab.prs_afdeling_key)
|
||||
ab.prs_afdeling_key
|
||||
AND p.prs_perslid_verwijder IS NULL)
|
||||
AND NOT EXISTS
|
||||
(SELECT prs_afdeling_key
|
||||
FROM prs_v_afd_verplichting v
|
||||
@@ -1974,7 +1961,8 @@ BEGIN
|
||||
(SELECT prs_perslid_key
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_afdeling_key =
|
||||
ab.prs_afdeling_key)
|
||||
ab.prs_afdeling_key
|
||||
AND p.prs_perslid_verwijder IS NULL)
|
||||
AND NOT EXISTS
|
||||
(SELECT prs_afdeling_key
|
||||
FROM prs_v_afd_verplichting v
|
||||
@@ -1999,7 +1987,8 @@ BEGIN
|
||||
(SELECT prs_perslid_key
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_afdeling_key =
|
||||
ab.prs_afdeling_key)
|
||||
ab.prs_afdeling_key
|
||||
AND p.prs_perslid_verwijder IS NULL)
|
||||
AND NOT EXISTS
|
||||
(SELECT prs_afdeling_key
|
||||
FROM prs_v_afd_verplichting v
|
||||
@@ -2024,7 +2013,8 @@ BEGIN
|
||||
(SELECT prs_perslid_key
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_afdeling_key =
|
||||
ab.prs_afdeling_key)
|
||||
ab.prs_afdeling_key
|
||||
AND p.prs_perslid_verwijder IS NULL)
|
||||
AND NOT EXISTS
|
||||
(SELECT prs_afdeling_key
|
||||
FROM prs_v_afd_verplichting v
|
||||
@@ -2036,6 +2026,16 @@ BEGIN
|
||||
WHERE a.prs_afdeling_parentkey =
|
||||
ab.prs_afdeling_key)
|
||||
AND prs_afdeling_verwijder IS NULL);
|
||||
|
||||
-- Niet gebruikte kostenplaatsen gaan we verwijderen.
|
||||
UPDATE prs_kostenplaats kp
|
||||
SET kp.prs_kostenplaats_verwijder = SYSDATE
|
||||
WHERE prs_kostenplaats_verwijder IS NULL
|
||||
AND prs_kostenplaats_module = 'PRS'
|
||||
AND NOT EXISTS (SELECT a.prs_afdeling_key
|
||||
FROM prs_afdeling a
|
||||
WHERE a.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||||
AND a.prs_afdeling_verwijder IS NULL);
|
||||
END;
|
||||
|
||||
COMMIT;
|
||||
|
||||
Reference in New Issue
Block a user