PROR#74299 -- Inrichten Prorail omgeving

svn path=/Customer/trunk/; revision=60825
This commit is contained in:
Norbert Wassink
2023-06-19 09:26:21 +00:00
parent 0885ba7846
commit 12985c43cc

View File

@@ -37,6 +37,7 @@ AS
PROCEDURE add_xml_element (p_bestand IN VARCHAR2,
p_tag IN VARCHAR2,
p_value IN VARCHAR2);
PROCEDURE inactivate_prs;
@@ -82,6 +83,8 @@ AS
|| '</' || p_tag || '>');
END;
PROCEDURE inactivate_prs
AS
v_errormsg VARCHAR2 (1000);
@@ -289,6 +292,8 @@ AS
END LOOP;
END;
@@ -300,215 +305,68 @@ END;
-- IMPORT FUNCTIES
CREATE OR REPLACE PROCEDURE pror_import_persafdeling(p_import_key IN NUMBER)
CREATE OR REPLACE PROCEDURE pror_import_afas_organisatie(p_import_key IN NUMBER)
AS
CURSOR c1 is
SELECT fac_imp_csv_col03 prs_voornaam,
fac_imp_csv_col05 prs_tussenvoegsel,
fac_imp_csv_col06 prs_achternaam,
fac_imp_csv_col08 prs_email,
fac_imp_csv_col01 prs_perslid_nr,
fac_imp_csv_col07 prs_telefoon,
fac_imp_csv_col09 prs_afd1_code,
fac_imp_csv_col10 prs_afdeling1,
fac_imp_csv_col11 prs_afd2_code,
fac_imp_csv_col12 prs_afdeling2,
fac_imp_csv_col13 prs_afd3_code,
fac_imp_csv_col14 prs_afdeling3,
fac_imp_csv_col15 prs_afd4_code,
fac_imp_csv_col16 prs_afdeling4,
fac_imp_csv_col17 prs_afd5_code,
fac_imp_csv_col18 prs_afdeling5,
fac_imp_csv_col19 prs_afd6_code,
fac_imp_csv_col20 prs_afdeling6,
fac_imp_csv_col21 prs_afd7_code,
fac_imp_csv_col22 prs_afdeling7,
fac_imp_csv_col23 prs_afd8_code,
fac_imp_csv_col24 prs_afdeling8
CURSOR c1 IS
SELECT fac_imp_csv_col01 prs_bedrijf,
fac_imp_csv_col02 prs_afdeling_code,
fac_imp_csv_col03 prs_afdeling_naam,
fac_imp_csv_col04 prs_parent,
fac_imp_csv_col05 prs_laag,
fac_imp_csv_col06 prs_laag1,
fac_imp_csv_col07 prs_laag2,
fac_imp_csv_col08 prs_laag3,
fac_imp_csv_col09 prs_laag4,
fac_imp_csv_col10 prs_laag5,
fac_imp_csv_col11 prs_laag6,
fac_imp_csv_col12 prs_laag7,
fac_imp_csv_col13 prs_laag8,
fac_imp_csv_col14 prs_laag9
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
ORDER BY fac_imp_csv_key;
v_bedrijf_naam VARCHAR2(60);
v_afd_count NUMBER;
v_afdeling_naam_parent VARCHAR2(15);
v_afdeling_naam VARCHAR2(15);
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
v_parent VARCHAR2(10);
BEGIN
v_bedrijf_naam:='PRORAIL';
v_afd_count:=-1;
v_count:=0;
DELETE FROM fac_imp_perslid;
DELETE FROM fac_imp_organisatie;
-- Eerst de csv inlezen naar standaard csv imp tabel
fac_import_genericcsv(p_import_key);
FOR rec in C1
LOOP
-- Afdeling1 is het bedrijf prorail
IF v_count>0
v_count:=0;
DELETE FROM fac_imp_csv;
DELETE FROM fac_imp_organisatie;
COMMIT;
fac_import_genericcsv(p_import_key);
FOR rec IN c1
LOOP
if v_count>0
THEN
IF rec.prs_afdeling2 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd2_code;
v_afdeling_naam_parent:=NULL;
v_afdeling_naam :=rec.prs_afd2_code;
INSERT INTO fac_imp_organisatie( prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling2);
END IF;
IF rec.prs_afdeling3 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd3_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd3_code;
INSERT INTO fac_imp_organisatie (
IF (rec.prs_laag = '1')
THEN
v_parent:=rec.prs_laag1;
ELSE
v_parent:=rec.prs_laag2;
END IF;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
prs_afdeling_omschrijving,
prs_afdeling_externid)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling3);
END IF;
IF rec.prs_afdeling4 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd4_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd4_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling4);
END IF;
IF rec.prs_afdeling5 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd5_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd5_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling5);
END IF;
IF rec.prs_afdeling6 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd6_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd6_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling6);
END IF;
IF rec.prs_afdeling7 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd7_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd7_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling7);
END IF;
IF rec.prs_afdeling8 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd8_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd8_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling8);
END IF;
/* afdeling 9 is gelijk aan de laatste afdeling.
IF rec.prs_afdeling9 IS NOT NULL
THEN
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :='9_'||SUBSTR(rec.prs_afdeling9,13);
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling9);
END IF;
*/
INSERT INTO fac_imp_perslid(fac_import_key,
prs_afdeling_naam,
prs_perslid_voornaam,
prs_perslid_tussenvoegsel,
prs_perslid_naam,
prs_perslid_email,
prs_perslid_telefoonnr,
prs_srtperslid_omschrijving,
prs_perslid_oslogin,
prs_kenmerk1)
VALUES(p_import_key,
v_afdeling_naam,
rec.prs_achternaam,
rec.prs_tussenvoegsel,
rec.prs_voornaam,
rec.prs_email,
rec.prs_telefoon,
'Onbekend',
rec.prs_email,
'1000=1');
rec.prs_bedrijf,
rec.prs_afdeling_code,
v_parent,
rec.prs_afdeling_naam,
rec.prs_laag);
END IF;
v_count:=v_count+1;
END LOOP;
END LOOP;
EXCEPTION
WHEN OTHERS
@@ -525,243 +383,207 @@ EXCEPTION
END;
/
CREATE OR REPLACE PROCEDURE pror_update_persafdeling(p_import_key IN NUMBER)
CREATE OR REPLACE PROCEDURE pror_update_afas_organisatie(p_import_key IN NUMBER)
AS
CURSOR p_del
IS
select *
from prs_perslid p,
prs_kenmerklink pk
WHERE pk.prs_link_key = p.prs_perslid_key
AND prs_kenmerk_key=1000
AND p.prs_perslid_email NOT IN (select prs_perslid_email
from fac_imp_perslid);
v_now DATE;
CURSOR c1 IS
SELECT prs_afdeling_naam,
prs_afdeling_omschrijving,
prs_afdeling_naam_parent,
prs_afdeling_externid
FROM fac_imp_organisatie
ORDER BY prs_afdeling_externid;
v_date DATE;
v_prs_afdeling_parentkey NUMBER:=-1;
v_count NUMBER:=0;
v_bedrijf_key NUMBER :=-1;
v_afdeling_key NUMBER :=-1;
BEGIN
--SELECT SYSDATE into v_now FROM dual;
fac_update_organisatie(p_import_key);
prs.update_perslid (p_import_key, 'EMAIL', 'A', 1);
FOR rec IN p_del
LOOP
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
END LOOP;
SELECT prs_bedrijf_key
INTO v_bedrijf_key
FROM prs_bedrijf
WHERE prs_bedrijf_naam_upper='PRORAIL'
AND prs_bedrijf_verwijder IS NULL;
IF v_bedrijf_key>0 THEN
FOR rec in C1
LOOP
-- kijk of de afdeling al bestaat en dezelfde parent heeft
IF rec.prs_afdeling_naam_parent IS NOT NULL
THEN
-- wat is de afdelings key van de parent
IF rec.prs_afdeling_naam_parent='50035512' -- deze moeten onder het berdijf worden gezet.
THEN
v_prs_afdeling_parentkey:=TO_NUMBER(NULL);
ELSE
v_bedrijf_key := to_number(NULL);
SELECT prs_afdeling_key INTO v_prs_afdeling_parentkey
FROM prs_afdeling
WHERE prs_afdeling_naam=rec.prs_afdeling_naam_parent
AND prs_afdeling_verwijder IS NULL;
END IF;
SELECT COUNT(*) INTO v_count
FROM prs_afdeling a1
where a1.prs_afdeling_naam = rec.prs_afdeling_naam
AND a1.prs_afdeling_verwijder IS NULL;
IF v_count=0
THEN
INSERT INTO PRS_AFDELING
(prs_afdeling_naam,
prs_afdeling_omschrijving,
prs_bedrijf_key,
prs_afdeling_parentkey
)
VALUES
(rec.prs_afdeling_naam,
rec.prs_afdeling_omschrijving,
v_bedrijf_key,
v_prs_afdeling_parentkey
)
RETURNING prs_afdeling_key
INTO v_afdeling_key;
-- Wat was de afdeling waar deze in afas ondervalt
IF rec.prs_afdeling_externid != '1'
THEN
SELECT p.prs_afdeling_key
INTO v_prs_afdeling_parentkey
FROM fac_imp_csv csv, prs_afdeling p
WHERE csv.fac_imp_csv_col02=rec.prs_afdeling_naam
AND p.prs_afdeling_naam=csv.fac_imp_csv_col04
AND p.prs_afdeling_verwijder IS NULL;
flx.setflex('PRS', 1021,v_afdeling_key, 'A', v_prs_afdeling_parentkey);
flx.setflex('PRS', 1020,v_afdeling_key, 'A', rec.prs_afdeling_externid);
END IF;
COMMIT;
ELSE
IF rec.prs_afdeling_externid != '1'
THEN
-- Wat is de nieuwe parent afdeling
SELECT p.prs_afdeling_key
INTO v_prs_afdeling_parentkey
FROM fac_imp_csv csv, prs_afdeling p
WHERE csv.fac_imp_csv_col02=rec.prs_afdeling_naam
AND p.prs_afdeling_naam=csv.fac_imp_csv_col04
AND p.prs_afdeling_verwijder IS NULL;
-- Wta is de huidge afdeling_key
SELECT prs_afdeling_key
INTO v_afdeling_key
FROM prs_afdeling where prs_afdeling_naam= rec.prs_afdeling_naam
AND prs_afdeling_verwijder IS NULL;
flx.setflex('PRS', 1021,v_afdeling_key,'A', v_prs_afdeling_parentkey);
flx.setflex('PRS', 1020,v_afdeling_key,'A', rec.prs_afdeling_externid);
END IF;
END IF;
END IF;
END LOOP;
END IF;
-- Nu even opruimen
DELETE FROM fac_imp_csv where fac_import_key=p_import_key;
DELETE FROM fac_imp_organisatie;
COMMIT;
END;
/
-- END IMPORT persafdeling
-- IMPORT AFASONLINE
CREATE OR REPLACE PROCEDURE pror_import_afasonline(p_import_key IN NUMBER)
-- "Roepnaam";"Voorletters";"Voorvoegsel";"Achternaam";"Persnr.";"Afdnr.";"Functie";"Email";"Telefoon";"Loginnaam";"Kostenplaats";"OE_Niveau"
CREATE OR REPLACE PROCEDURE pror_import_afas_personen(p_import_key IN NUMBER)
AS
CURSOR c1 is
SELECT fac_imp_csv_col03 prs_voornaam,
fac_imp_csv_col05 prs_tussenvoegsel,
fac_imp_csv_col06 prs_achternaam,
CURSOR c1 IS
SELECT fac_imp_csv_col01 prs_voornaam,
fac_imp_csv_col02 prs_voorletters,
fac_imp_csv_col03 prs_tussenvoegsel,
fac_imp_csv_col04 prs_achternaam,
fac_imp_csv_col05 prs_perslid_nr,
fac_imp_csv_col06 prs_afd1_code,
fac_imp_csv_col07 prs_functie,
fac_imp_csv_col08 prs_email,
fac_imp_csv_col01 prs_perslid_nr,
fac_imp_csv_col07 prs_telefoon,
fac_imp_csv_col09 prs_afd1_code,
fac_imp_csv_col10 prs_afdeling1,
fac_imp_csv_col11 prs_afd2_code,
fac_imp_csv_col12 prs_afdeling2,
fac_imp_csv_col13 prs_afd3_code,
fac_imp_csv_col14 prs_afdeling3,
fac_imp_csv_col15 prs_afd4_code,
fac_imp_csv_col16 prs_afdeling4,
fac_imp_csv_col17 prs_afd5_code,
fac_imp_csv_col18 prs_afdeling5,
fac_imp_csv_col19 prs_afd6_code,
fac_imp_csv_col20 prs_afdeling6,
fac_imp_csv_col21 prs_afd7_code,
fac_imp_csv_col22 prs_afdeling7,
fac_imp_csv_col23 prs_afd8_code,
fac_imp_csv_col24 prs_afdeling8
fac_imp_csv_col09 prs_telefoon,
fac_imp_csv_col10 prs_loginnaam,
fac_imp_csv_col10 prs_level
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
ORDER BY fac_imp_csv_key;
v_bedrijf_naam VARCHAR2(60);
v_afd_count NUMBER;
v_afdeling_naam_parent VARCHAR2(15);
v_afdeling_naam VARCHAR2(15);
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
v_afdelingnaam VARCHAR2(20);
v_afd_count NUMBER;
v_srtperslid_omschrijving VARCHAR2(60);
BEGIN
v_bedrijf_naam:='PRORAIL';
v_afd_count:=-1;
v_count:=0;
DELETE FROM fac_imp_perslid;
DELETE FROM fac_imp_organisatie;
-- Eerst de csv inlezen naar standaard csv imp tabel
fac_import_genericcsv(p_import_key);
FOR rec in C1
LOOP
-- Afdeling1 is het bedrijf prorail
IF v_count>0
THEN
IF rec.prs_afdeling2 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd2_code;
v_afdeling_naam_parent:=NULL;
v_afdeling_naam :=rec.prs_afd2_code;
INSERT INTO fac_imp_organisatie( prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling2);
END IF;
IF rec.prs_afdeling3 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd3_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd3_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling3);
END IF;
IF rec.prs_afdeling4 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd4_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd4_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling4);
END IF;
IF rec.prs_afdeling5 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd5_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd5_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling5);
END IF;
IF rec.prs_afdeling6 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd6_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd6_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling6);
END IF;
IF rec.prs_afdeling7 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd7_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd7_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling7);
END IF;
IF rec.prs_afdeling8 IS NOT NULL
THEN
v_aanduiding:='Voegen afdeling '||rec.prs_afd8_code;
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :=rec.prs_afd8_code;
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling8);
END IF;
/* afdeling 9 is gelijk aan de laatste afdeling.
IF rec.prs_afdeling9 IS NOT NULL
THEN
v_afdeling_naam_parent:=v_afdeling_naam;
v_afdeling_naam :='9_'||SUBSTR(rec.prs_afdeling9,13);
INSERT INTO fac_imp_organisatie (
prs_bedrijf_naam,
prs_afdeling_naam,
prs_afdeling_naam_parent,
prs_afdeling_omschrijving)
VALUES (
v_bedrijf_naam,
v_afdeling_naam,
v_afdeling_naam_parent,
rec.prs_afdeling9);
END IF;
*/
INSERT INTO fac_imp_perslid(fac_import_key,
prs_afdeling_naam,
prs_perslid_voornaam,
prs_perslid_tussenvoegsel,
prs_perslid_naam,
prs_perslid_email,
prs_perslid_telefoonnr,
prs_srtperslid_omschrijving,
prs_perslid_oslogin,
prs_kenmerk1)
VALUES(p_import_key,
v_afdeling_naam,
rec.prs_achternaam,
rec.prs_tussenvoegsel,
rec.prs_voornaam,
rec.prs_email,
rec.prs_telefoon,
'Onbekend',
rec.prs_email,
'1000=1');
END IF;
v_count:=v_count+1;
END LOOP;
v_count:=0;
DELETE FROM fac_imp_perslid;
fac_import_genericcsv(p_import_key);
FOR rec IN c1
LOOP
IF v_count>0 THEN
-- ALs een per op niveau 9 zit heeft de
-- controleren of de afdeling wel beschikbaar is anders onder Onbekend zetten
SELECT COUNT(*) INTO v_afd_count
FROM prs_afdeling
WHERE prs_afdeling_naam=rec.prs_afd1_code
AND prs_afdeling_verwijder IS NULL;
IF v_afd_count=0 THEN
v_afdelingnaam :='Onbekend';
ELSE
v_afdelingnaam := rec.prs_afd1_code;
END IF;
IF rec.prs_functie IS NULL
THEN
v_srtperslid_omschrijving:='Onbekend';
ELSE
v_srtperslid_omschrijving:= rec.prs_functie;
END IF;
INSERT INTO fac_imp_perslid(fac_import_key,
prs_afdeling_naam,
prs_perslid_voornaam,
prs_perslid_voorletters,
prs_perslid_tussenvoegsel,
prs_perslid_naam,
prs_perslid_email,
prs_perslid_telefoonnr,
prs_srtperslid_omschrijving,
prs_perslid_oslogin,
prs_perslid_nr,
prs_kenmerk1)
VALUES(p_import_key,
v_afdelingnaam,
rec.prs_voornaam,
rec.prs_voorletters,
rec.prs_tussenvoegsel,
rec.prs_achternaam,
rec.prs_email,
rec.prs_telefoon,
v_srtperslid_omschrijving,
SUBSTR(rec.prs_email,0,30),
rec.prs_perslid_nr,
'1022=1');
END IF;
v_count:=v_count+1;
END LOOP;
DELETE FROM fac_imp_csv where fac_import_key=p_import_key;
EXCEPTION
WHEN OTHERS
@@ -778,31 +600,58 @@ EXCEPTION
END;
/
CREATE OR REPLACE PROCEDURE pror_update_afasonline(p_import_key IN NUMBER)
CREATE OR REPLACE PROCEDURE pror_update_afas_personen(p_import_key IN NUMBER)
AS
CURSOR p_del
CURSOR p_del -- We doen dit alleen voor de afas aqccounts
IS
select *
from prs_perslid p,
prs_kenmerklink pk
WHERE pk.prs_link_key = p.prs_perslid_key
AND prs_kenmerk_key=1000
AND p.prs_perslid_email NOT IN (select prs_perslid_email
from fac_imp_perslid);
v_now DATE;
SELECT p.prs_perslid_key
FROM prs_perslid p, prs_kenmerklink kl, prs_kenmerk pk
WHERE p.prs_perslid_verwijder IS NULL
AND pk.prs_kenmerk_upper='AFAS ACCOUNT'
AND kl.prs_kenmerk_key = pk.prs_kenmerk_key
AND kl.prs_link_key=p.prs_perslid_key
AND kl.prs_kenmerklink_waarde=1
AND p.prs_perslid_oslogin NOT LIKE '_%'
AND p.prs_perslid_nr NOT IN (SELECT prs_perslid_nr
FROM fac_imp_perslid);
CURSOR p_mandaat
IS
SELECT p.prs_perslid_key
FROM fac_imp_perslid f, prs_perslid p
WHERE f.prs_perslid_email = p.prs_perslid_email
AND p.prs_perslid_verwijder IS NULL
AND p.prs_perslid_key NOT IN (SELECT DISTINCT prs_perslid_key
FROM prs_perslidkostenplaats pk);
v_date DATE;
BEGIN
--SELECT SYSDATE into v_now FROM dual;
fac_update_organisatie(p_import_key);
prs.update_perslid (p_import_key, 'EMAIL', 'A', 1);
FOR rec IN p_del
LOOP
prs.update_perslid (p_import_key, 'NR', 'A', 1);
FOR rec IN p_del
LOOP
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
END LOOP;
END LOOP;
FOR rec_man IN p_mandaat
LOOP
INSERT INTO prs_perslidkostenplaats(prs_perslid_key,
prs_perslidkostenplaats_boeken,
prs_perslidkostenplaats_inzage,
prs_perslidkostenplaats_aanmk)
VALUES(rec_man.prs_perslid_key,
1,
0,
SYSDATE);
END LOOP;
COMMIT;
END;
/
-- END IMPORT persafdeling
-- Import objecten lijst waarbij omschrijving gevult dowrt met de locatie gegevens
@@ -840,6 +689,85 @@ END;
-- END IMPORT ins_deel
-- NOTIFICATIE VIEWS
-- Noifictaie View tbv te late annulering outlook reservereing inc catering
CREATE OR REPLACE VIEW pror_v_outl_cat_annu
(
reserveringnr,
key,
code,
text,
gastheer,
receiver,
sender,
xemail,
xmobile,
xkey
)
AS
SELECT DISTINCT rrr.res_reservering_key||'/'||rrr.RES_RSV_RUIMTE_VOLGNR reserveringNr,
rrr.res_rsv_ruimte_key key,
'CUST02' cust_code,
'Reservering '||rrr.res_reservering_key||'/'||rrr.RES_RSV_RUIMTE_VOLGNR||' op '|| TO_CHAR(rrr.res_rsv_ruimte_van,'DD-MM-YYYY HH24:MI')||' is verwijderd buiten anullerings horizon.' text,
(SElECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key= rrr.RES_RSV_RUIMTE_HOST_KEY) gastheer,
'norbert.wassink@facilitor.nl' receiver,
--'cateringmanagerprorail@prorail.nl' receiver,
NULL sender,
NULL xemail,
NULL xmobile,
NULL xkey
FROM res_rsv_ruimte rrr, res_rsv_artikel rra
WHERE rrr.res_rsv_ruimte_verwijder IS NOT NULL
AND rrr.res_status_fo_key=4
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND NOT EXISTS (SElECT *
FROM fac_tracking ft
WHERE fac_tracking_refkey=rrr.res_rsv_ruimte_key
AND ft.fac_srtnotificatie_key=281);
-- EINDE NOTIFICATIE VIEWS
-- VIEW TBV Kalender rappprt Service medewerkers
CREATE OR REPLACE VIEW pror_v_SerMdwKalender
(
USER_KEY,
TITLE,
VAN,
TOT,
ITEM_KEY,
COLOR,
TEXTCOLOR,
URL
)
AS
SELECT rrr.res_rsv_ruimte_host_key user_key,
CASE WHEN rro.res_ruimte_opstel_tijd>0 AND (SELECT COUNT(*)
FROM res_rsv_deel rrd
WHERE rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)>0 THEN 'opstelling+vergadermiddel'
WHEN rro.res_ruimte_opstel_tijd>0 then 'opstelling aanpassing'
ELSE 'vergadermiddel' end title,
rrr.res_rsv_ruimte_van van,
rrr.res_rsv_ruimte_tot tot,
rrr.res_rsv_ruimte_key item_key,
'#009900' color,
'#ffffff' textcolor,
'?u=reservering' || chr (38) || 'k=' || rrr.res_rsv_ruimte_key url
FROM res_rsv_ruimte rrr, res_activiteit ra, res_ruimte_opstelling rro
WHERE rrr.res_activiteit_key=ra.res_activiteit_key
AND ra.res_activiteit_omschrijving='vergadering inclusief vergadermiddel'
AND rrr.res_ruimte_opstel_key= rro.res_ruimte_opstel_key
AND (rro.res_ruimte_opstel_tijd> 0 OR (SELECT COUNT(*)
FROM res_rsv_deel rrd
WHERE rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)>0
);
---
-- VIEW van alle reserveringen die catering hebben,
--
@@ -1102,7 +1030,8 @@ CREATE OR REPLACE VIEW pror_v_cat_reserveringincl
voorziening_van,
voorziening_tot,
voorziening_aantal,
voorziening_prijs
voorziening_prijs,
voorziening_opmerking
)
AS
SELECT rrr.res_rsv_ruimte_key,
@@ -1236,7 +1165,7 @@ AS
AND g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
AND r.alg_ruimte_key = r2a.alg_ruimte_key),
(SELECT alg_gebouw_omschrijving||'('||alg_gebouw_code||')'
(SELECT alg_gebouw_naam
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
WHERE g.alg_gebouw_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key
@@ -1299,7 +1228,11 @@ AS
TO_CHAR (voorz.van, 'hh24:mi'),
TO_CHAR (voorz.tot, 'hh24:mi'),
voorz.aantal,
ROUND(voorz.prijs,2)
ROUND(voorz.prijs,2),
(SELECT rk.res_kenmerkartikel_waarde
FROM res_kenmerkartikel rk
WHERE rk.res_rsv_artikel_key=voorz.rrr_dl_art_key
AND rk.res_kenmerkartikel_verwijder IS NULL) voorz_opm
FROM res_v_aanwezigrsv_ruimte rrr,
res_activiteit ra,
res_srtactiviteit rsa,
@@ -1334,7 +1267,8 @@ AS
FROM res_rsv_ruimte rrr, alg_ruimte r
WHERE rrr.alg_ruimte_key IS NOT NULL AND r.alg_ruimte_key = rrr.alg_ruimte_key) r2a,
(SELECT rrd.res_rsv_ruimte_key res_rsv_ruimte_key,
-rd.res_deel_key product_key,
null rrr_dl_art_key,
rd.res_deel_key product_key,
rd.res_deel_omschrijving product,
DECODE (
rd.res_deel_prijs_vast,
@@ -1362,6 +1296,7 @@ AS
AND c.ins_discipline_key = rd.res_discipline_key
UNION ALL
SELECT rra.res_rsv_ruimte_key res_rsv_ruimte_key,
rra.res_rsv_artikel_key rrr_dl_art_key,
ra.res_artikel_key product_key,
ra.res_artikel_omschrijving product,
NVL (rra.res_rsv_artikel_prijs, rra.res_rsv_artikel_aantal * res_artikel_prijs)