PROR#74299 -- Inrichten Prorail omgeving

svn path=/Customer/trunk/; revision=60552
This commit is contained in:
Norbert Wassink
2023-05-30 15:56:29 +00:00
parent 4995a28ec1
commit 7370100263

View File

@@ -552,6 +552,293 @@ END;
-- END IMPORT persafdeling
-- IMPORT AFASONLINE
CREATE OR REPLACE PROCEDURE pror_import_afasonline(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
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;
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;
EXCEPTION
WHEN OTHERS
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
/
CREATE OR REPLACE PROCEDURE pror_update_afasonline(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;
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;
END;
/
-- END IMPORT persafdeling
-- Import objecten lijst waarbij omschrijving gevult dowrt met de locatie gegevens
CREATE OR REPLACE PROCEDURE pror_import_objecten(p_import_key IN NUMBER)
AS
BEGIN
DELETE FROM fac_imp_ins;
fac_import_ins(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE pror_update_objecten(p_import_key IN NUMBER)
AS
CURSOR ins
IS
SELECT * FROM fac_imp_ins;
BEGIN
fac_update_ins(p_import_key);
FOR rec IN ins
LOOP
UPDATE ins_deel i
SET i.ins_deel_opmerking=(SELECT al.alg_locatie_code||'-'||a.alg_plaatsaanduiding||' ('||a.alg_ruimte_omschrijving||')'
FROM alg_v_allonrgoed_gegevens a, alg_locatie al
WHERE a.alg_locatie_key = al.alg_locatie_key
AND a.alg_ruimte_key=i.ins_alg_ruimte_key)
WHERE i.ins_deel_omschrijving=rec.ins_deel_omschrijving;
END LOOP;
END;
/
-- END IMPORT ins_deel
---
-- VIEW van alle reserveringen die catering hebben,
@@ -666,33 +953,38 @@ AS
(SELECT al.alg_locatie_omschrijving
FROM alg_locatie al
WHERE al.alg_locatie_key=m.mld_alg_locatie_key) ||'-'|| a.alg_gebouw_naam locatie,
(SELECT ins_discipline_omschrijving FROM mld_discipline md WHERE md.ins_discipline_key = m.mld_ins_discipline_key) assignee,
'TYPE REQUEST' type_request,
(SELECT ins_discipline_omschrijving FROM mld_discipline md WHERE md.ins_discipline_key = m.mld_ins_discipline_key) assignee, --- DEZE MOET NOG WORDERN GEVULD.
'' type_request,
(SELECT ms.mld_statuses_omschrijving
FROM mld_statuses ms
WHERE ms.mld_statuses_key=m.mld_melding_status) mld_status,
'Kostenplaats' kostenplaats,
'' kostenplaats,
m.mld_melding_onderwerp onderwerp,
(SELECT MAX (f.fac_tracking_datum)
FROM fac_tracking f
WHERE f.FAC_TRACKING_REFKEY=m.mld_melding_key
AND f.FAC_SRTNOTIFICATIE_KEY=55
AND f.FAC_TRACKING_DATUM>m.mld_melding_datum) mld_update,
(SELECT mk.MLD_KENMERKMELDING_WAARDE
FROM MLD_KENMERKMELDING mk
(SELECT mk.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding mk,
mld_kenmerk k
WHERE mk.MLD_melding_KEY=m.mld_melding_key
AND mk.MLD_KENMERK_KEY=1041) provat_flag,
(SELECT mk.MLD_KENMERKMELDING_WAARDE
FROM MLD_KENMERKMELDING mk
WHERE mk.MLD_melding_KEY=m.mld_melding_key
AND mk.MLD_KENMERK_KEY=1021) export_provat
AND mk.mld_kenmerk_key=k.mld_kenmerk_key
AND UPPER(k.mld_kenmerk_omschrijving)='PROVATEXPORTFLAG') provat_flag,
(SELECT mk.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding mk,
mld_kenmerk k
WHERE mk.mld_melding_key=m.mld_melding_key
AND mk.mld_kenmerk_key=k.mld_kenmerk_key
AND UPPER(k.mld_kenmerk_omschrijving)='PROVATEXPORT') export_provat
FROM mld_melding m,
mld_stdmelding ms,
mld_discipline md,
alg_v_allonrgoed_gegevens a
WHERE m.mld_stdmelding_key=ms.mld_stdmelding_key
AND md.ins_discipline_key= ms.mld_ins_discipline_key
AND UPPER(md.ins_discipline_omschrijving)='BHV EN VEILIGHEID'
AND (UPPER(ms.mld_stdmelding_omschrijving)='INZET BHV OF ONGEVAL MELDEN'
OR UPPER(ms.mld_stdmelding_omschrijving)='ONVEILIGE SITUATIE MELDEN')
AND a.alg_locatie_key=m.mld_alg_locatie_key
AND a.alg_onroerendgoed_keys=m.mld_alg_onroerendgoed_keys
AND m.mld_melding_status IN (2,3,4,5,7);
@@ -716,7 +1008,8 @@ AS
---
CREATE OR REPLACE VIEW pror_v_mld_biomni
AS
SELECT m.mld_melding_key mld_key,
SELECT m.mld_melding_key mld_key,
id.ins_srtdiscipline_prefix||m.mld_melding_key mld_key_inclprefix,
COALESCE(m.mld_melding_onderwerp, ms.mld_stdmelding_omschrijving) omschrijving,
mst.mld_statuses_omschrijving,
m.mld_melding_datum aanvraag_datum,
@@ -728,9 +1021,16 @@ AS
ORDER BY mld_melding_note_aanmaak desc) a
WHERE ROWNUM=1) notitie,
'https://pror.facilitor-test.nl/appl/mld/mld_melding.asp?urole=fe'||chr(38)||'mld_key='||m.mld_melding_key response_url
FROM mld_melding m, mld_stdmelding ms, mld_statuses mst, prs_perslid p
FROM mld_melding m,
mld_stdmelding ms,
mld_discipline md,
ins_srtdiscipline id,
mld_statuses mst,
prs_perslid p
WHERE p.prs_perslid_key=m.prs_perslid_key
AND ms.mld_stdmelding_key = m.mld_stdmelding_key
AND ms.mld_stdmelding_key = m.mld_stdmelding_key
AND md.ins_discipline_key=ms.mld_ins_discipline_key
AND id.ins_srtdiscipline_key = md.ins_srtdiscipline_key
AND mst.mld_statuses_key=m.mld_melding_status
AND p.prs_perslid_email IS NOT NULL;
@@ -1102,6 +1402,7 @@ CREATE OR REPLACE PROCEDURE PROR_SELECT_PROVAT(p_applname IN VARCHAR2,
p_applrun IN VARCHAR2
)
AS
v_kenmerk_key NUMBER;
CURSOR c
IS
SELECT *
@@ -1109,9 +1410,10 @@ AS
WHERE provat_flag IS NULL
OR (provat_flag='0' AND mld_update>TO_DATE(export_provat,'DD-MM-YYYY'));
BEGIN
FOR rec in c
LOOP
flx.setflex('MLD',1041,rec.melding_key,'1'); -- Deze mogen geexporteerd worden
flx.setflex('MLD',1041,rec.melding_key,'1'); -- Deze mogen geexporteerd worden A=1041
END LOOP;
@@ -1154,8 +1456,8 @@ BEGIN
FOR rec IN C
LOOP
flx.setflex('MLD',1021,rec.melding_key,TO_CHAR(SYSDATE,'DD-MM-YYYY'));
flx.setflex('MLD',1041,rec.melding_key,'0');
flx.setflex('MLD',1021,rec.melding_key,TO_CHAR(SYSDATE,'DD-MM-YYYY')); -- A = 1021
flx.setflex('MLD',1041,rec.melding_key,'0'); -- A = 1041
END LOOP;
END;
/