TDNL#80795 -- Migratie CONN omgeving naar TDNL omgeving

svn path=/Customer/trunk/; revision=66322
This commit is contained in:
Norbert Wassink
2024-09-25 11:43:46 +00:00
parent 2ffeb82553
commit 5ca359beac

View File

@@ -165,6 +165,7 @@ END;
-- IMPORTS
-- Import KPN aan gebouw koppelen
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_GEBOUW_KPN(p_import_key IN NUMBER)
AS
@@ -557,180 +558,525 @@ END;
/
-- Import meldingen uit CONN omgeveing
--CREATE OR REPLACE PROCEDURE TDNL_IMPORT_MELDINGEN(p_import_key IN NUMBER)
--AS
--BEGIN
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_MELDINGEN(p_import_key IN NUMBER)
AS
BEGIN
-- NULL;
--END;
NULL;
END;
/
--CREATE OR REPLACE PROCEDURE TDNL_UPDATE_MELDINGEN(p_import_key IN NUMBER)
--AS
-- CURSOR c
-- IS
-- SELECT fac_imp_csv_col01 mld_melding_key,
-- fac_imp_csv_col02 alg_locatie_code,
-- fac_imp_csv_col03 alg_ruimte_nr,
-- fac_imp_csv_col04 mld_stdmelding,
-- TO_DATE(fac_imp_csv_col05,'DD-MM-YYYY HH24:MI:SS') mld_datum,
-- TO_DATE(fac_imp_csv_col06,'DD-MM-YYYY HH24:MI:SS') mld_afmelddatum,
-- fac_imp_csv_col07 mld_uitvoertijd,
-- fac_imp_csv_col08 mld_uitvoertijd_eenheid,
-- fac_imp_csv_col09 mld_onderwerp,
-- fac_imp_csv_col10 mld_status_key,
-- fac_imp_csv_col11 prs_aanvrager_email,
-- fac_imp_csv_col12 prs_behandelaar_email,
-- fac_imp_csv_col13 kostenplaats_code,
-- fac_imp_csv_col14 mld_omschrijving
-- from fac_imp_csv
-- WHERE fac_import_key = p_import_key;
--
-- v_locatie_key NUMBER;
-- v_ruimte_key NUMBER;
-- v_aanvrager_key NUMBER;
-- v_behandelaar_key NUMBER;
-- v_stdmelding_key NUMBER;
-- v_kostenplaats_key NUMBER;
-- v_mld_meldbron_key NUMBER;
-- v_error NUMBER;
-- v_mldkey NUMBER;
--BEGIN
-- v_stdmelding_key := 1; -- standaard worden alle migratie meldingen op de stdmelding overig gezet
-- v_mld_meldbron_key :=5;
-- FOR rec IN c
-- LOOP
-- BEGIN
-- SELECT alg_locatie_key INTO v_locatie_key
-- FROm alg_locatie l
-- WHERE l.alg_locatie_code = rec.alg_locatie_code;
-- EXCEPTION
-- WHEN NO_DATA_FOUND
-- THEN
-- -- wat wordt de fall back locatie
-- v_error:=1;
-- v_locatie_key:=0;
-- END;
--
-- BEGIN
-- SELECT a.alg_ruimte_key INTO v_ruimte_key
-- FROm alg_v_ruimte_gegevens_all a
-- WHERE a.alg_locatie_key = v_locatie_key
-- AND a.ALG_RUIMTE_NR = rec.alg_ruimte_nr;
-- EXCEPTION
-- WHEN NO_DATA_FOUND
-- THEN
-- -- wat wordt de fall back locatie
-- v_error:=1;
-- v_ruimte_key:=0;
-- END;
--
--
-- BEGIN
-- SELECT prs_perslid_key into v_behandelaar_key
-- FROM prs_perslid
-- WHERE prs_perslid_email = rec.prs_behandelaar_email;
-- EXCEPTION
-- WHEN NO_DATA_FOUND
-- THEN
-- -- Wat wordt de fallback aanvrager
--
-- v_error:=1;
-- v_aanvrager_key:=0;
-- END;
-- BEGIN
-- SELECT prs_perslid_key into v_aanvrager_key
-- FROM prs_perslid
-- WHERE prs_perslid_email = rec.prs_aanvrager_email;
--
--
-- EXCEPTION
-- WHEN NO_DATA_FOUND
-- THEN
-- -- wat wordt de fallvback behandelaar
-- v_error:=1;
-- v_aanvrager_key:=0;
-- END;
-- BEGIN
-- SELECT prs_kostenplaats_key into v_kostenplaats_key
-- FROM prs_kostenplaats
-- WHERE prs_KOSTENPLAATS_NR = rec.kostenplaats_code;
-- EXCEPTION
-- WHEN NO_DATA_FOUND
-- THEN
-- -- wat wordt de fallvback behandelaar
-- v_error:=0;
-- v_kostenplaats_key:=0;
-- END;
--
-- IF v_error=0 THEN
-- INSERT INTO mld_melding (mld_melding_module,
-- mld_meldbron_key,
-- mld_alg_locatie_key,
-- mld_alg_onroerendgoed_keys,
-- mld_melding_datum,
-- mld_melding_onderwerp,
-- mld_melding_omschrijving,
-- mld_melding_behandelaar_key,
-- mld_melding_behandelaar2_key,
-- mld_stdmelding_key,
-- mld_melding_t_uitvoertijd,
-- mld_melding_einddatum,
-- prs_perslid_key,
-- prs_perslid_key_voor,
-- mld_melding_status,
-- mld_melding_spoed,
-- MLD_MELDING_EXTERNNR)
-- VALUES ('MLD',
-- v_mld_meldbron_key,
-- v_locatie_key,
-- NULL,
-- rec.mld_datum,
-- rec.mld_onderwerp,
-- rec.mld_omschrijving,
-- v_behandelaar_key, -- mld_melding_behandelaar_key
-- NULL, -- mld_melding_behandelaar2_key
-- v_stdmelding_key,
-- MLD_T_UITVOERTIJD(rec.mld_uitvoertijd,rec.mld_uitvoertijd_eenheid),
-- rec.mld_afmelddatum,
-- v_aanvrager_key,
-- v_aanvrager_key,
-- rec.mld_status_key,
-- 3,
-- rec.mld_melding_key
-- )
-- RETURNING mld_melding_key
-- INTO v_mldkey;
--
-- INSERT INTO mld_melding_note (mld_melding_key,
-- mld_melding_note_aanmaak,
-- mld_melding_note_wijzigdatum,
-- prs_perslid_key,
-- mld_melding_note_omschrijving,
-- mld_melding_note_flag)
-- VALUES (v_mldkey,
-- rec.mld_datum,
-- SYSDATE,
-- NULL, -- Facilitor
-- 'Migratie melding van Meldingnr ' || rec.mld_melding_key,
-- 0);
--
--
-- END IF;
--
--
-- END LOOP;
--
--
-- -- Nu de csv data weer verwijderen
-- DELETE
-- FROM fac_imp_csv
-- WHERE fac_import_key = p_import_key;
--
--END;
--/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_MELDINGEN(p_import_key IN NUMBER)
AS
CURSOR sel
IS
SELECT fac_imp_csv_col01 mld_org_melding_key,
fac_imp_csv_col02 alg_onrgoed_niveau,
fac_imp_csv_col03 alg_locatie_code,
fac_imp_csv_col04 alg_gebouw_code,
fac_imp_csv_col05 alg_verdieping_code,
fac_imp_csv_col06 alg_ruimte_nr,
fac_imp_csv_col07 mld_stdmelding_key,
fac_imp_csv_col08 mld_melding_datum,
fac_imp_csv_col09 mld_melding_afmelddatum,
fac_imp_csv_col10 mld_melding_onderwerp,
fac_imp_csv_col11 mld_melding_status,
COALESCE(fac_imp_csv_col12,'migratie@transdev.nl') prs_aanvrager_oslogin,
fac_imp_csv_col13 prs_aanvrager_naam,
COALESCE(fac_imp_csv_col14,'migratie@transdev.nl') prs_behandelaar_oslogin,
fac_imp_csv_col15 prs_behandelaar_naam,
fac_imp_csv_col16 prs_kostenplaats_code,
fac_imp_csv_col17 mld_melding_kenmerken,
fac_imp_csv_col19 mld_melding_omschrijving
FROm fac_imp_csv
WHERE fac_import_key = p_import_key;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_error NUMBER;
v_count NUMBER;
v_alg_onrgoed_niveau VARCHAR2(10);
v_alg_locatie_key NUMBER;
v_alg_gebouw_key NUMBER;
v_alg_ruimte_key NUMBER;
v_alg_onrgoed_key NUMBER;
v_prs_aanvrager_key NUMBER;
v_naam_aanvrager VARCHAR2(100);
v_naam_behandelaar VARCHAR2(100);
v_prs_behandelaar_key NUMBER;
v_stdmelding_key NUMBER;
v_kostenplaats_key NUMBER;
v_mld_meldbron_key NUMBER;
v_mldkey NUMBER;
v_aantal NUMBER;
v_migratie NUMBER;
v_aanvrager VARCHAR2(100);
v_behandelaar VARCHAR2(100);
BEGIN
v_stdmelding_key := 1; -- standaard worden alle migratie meldingen op de stdmelding overig gezet
v_mld_meldbron_key :=5;
FOR rec IN sel
LOOP
v_error:=0;
v_migratie :=0;
v_count:=0;
v_aanduiding :='De melding met nr : '||rec.mld_org_melding_key||' is reeds bekend';
SELECT COUNT(*)
INTO v_count
FROM mld_melding
WHERE mld_melding_externnr=rec.mld_org_melding_key;
IF v_count=0
THEN
v_aanduiding:='Ophalen std melding gaat fout :'|| rec.mld_stdmelding_key;
SELECT alg_onrgoed_niveau, mld_stdmelding_key
INTO v_alg_onrgoed_niveau, v_stdmelding_key
FROM mld_stdmelding ms
WHERE ms.mld_stdmelding_key=rec.mld_stdmelding_key;
BEGIN
v_aanduiding:='Ophalen locatie gaat fout :'|| rec.alg_locatie_code;
SELECT l.alg_locatie_key, g.alg_gebouw_key
INTO v_alg_locatie_key, v_alg_gebouw_key
FROM alg_gebouw g, alg_locatie l
WHERE g.alg_gebouw_code=rec.alg_gebouw_code
AND l.ALG_LOCATIE_KEY = g.ALG_LOCATIE_KEY
AND l.alg_locatie_code=rec.alg_locatie_code;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
SELECT l.alg_locatie_key, g.alg_gebouw_key
INTO v_alg_locatie_key, v_alg_gebouw_key
FROM alg_gebouw g, alg_locatie l
WHERE g.alg_gebouw_code='0000'
AND l.ALG_LOCATIE_KEY = g.ALG_LOCATIE_KEY
AND l.alg_locatie_code='0000';
v_migratie:=1;
END;
IF v_alg_onrgoed_niveau='G'
THEN
v_alg_onrgoed_key:=v_alg_gebouw_key;
ELSE
v_alg_onrgoed_key:=v_alg_locatie_key;
END IF;
-- Ophalen aanvrager
v_aanduiding:='Ophalen aanvrager op oslogin gaat fout :'|| rec.prs_aanvrager_oslogin;
v_error:=0;
SELECT COUNT(*), MAX(prs_perslid_key)
INTO v_aantal, v_prs_aanvrager_key
FROM prs_perslid p
WHERE UPPER(prs_perslid_oslogin)=UPPER(rec.prs_aanvrager_oslogin);
v_error:=0;
IF v_aantal=0
THEN
BEGIN
v_aanduiding:='Ophalen aanvrager op naam gaat fout :'|| rec.prs_aanvrager_oslogin;
IF INSTR(rec.prs_aanvrager_oslogin,'@') >0 THEN
v_aanvrager:=UPPER(SUBSTR(rec.prs_aanvrager_oslogin,0,INSTR(rec.prs_aanvrager_oslogin,'@')-1));
ELSE
v_aanvrager:=UPPER(rec.prs_aanvrager_oslogin);
END IF;
SELECT prs_perslid_key
INTO v_prs_aanvrager_key
FROM prs_perslid p
WHERE UPPER(prs_perslid_oslogin) LIKE v_aanvrager||'%';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_prs_aanvrager_key:=101; -- Migratie medewerker
END;
END IF;
v_aanduiding:='Ophalen behandelaar op oslogin gaat fout :'|| rec.prs_behandelaar_oslogin;
v_naam_behandelaar := SUBSTR(rec.prs_behandelaar_oslogin,0, INSTR(rec.prs_behandelaar_oslogin,'@')-1);
SELECT COUNT(*), MAX(prs_perslid_key)
INTO v_aantal, v_prs_behandelaar_key
FROM prs_perslid p
WHERE UPPER(prs_perslid_oslogin)=UPPER(rec.prs_behandelaar_oslogin);
IF v_aantal =0
THEN
BEGIN
v_aanduiding:='Ophalen behandelaar op naam gaat fout :'|| rec.prs_behandelaar_oslogin;
IF INSTR(rec.prs_behandelaar_oslogin,'@') >0 THEN
v_behandelaar:=UPPER(SUBSTR(rec.prs_behandelaar_oslogin,0,INSTR(rec.prs_behandelaar_oslogin,'@')-1));
ELSE
v_behandelaar:=UPPER(rec.prs_behandelaar_oslogin);
END IF;
SELECT prs_perslid_key
INTO v_prs_aanvrager_key
FROM prs_perslid p
WHERE UPPER(prs_perslid_email) LIKE v_behandelaar||'%';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_prs_behandelaar_key:=3; -- Nader te bepalen nu even facilitor
END;
END IF;
-- Ophalen kostenplaats
BEGIN
v_aanduiding:='Ophalen kostenplaats gaat fout :'|| rec.prs_kostenplaats_code;
SELECT prs_kostenplaats_key into v_kostenplaats_key
FROM prs_kostenplaats
WHERE prs_KOSTENPLAATS_NR = rec.prs_kostenplaats_code;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_kostenplaats_key:=NULL;
END;
-- gaan we nu verwerken
IF v_error=0
THEN
fac.imp_writelog (p_import_key,'I','stdmelding_key',v_stdmelding_key);
fac.imp_writelog (p_import_key,'I','Locatie_key',v_alg_locatie_key);
fac.imp_writelog (p_import_key,'I','Onrgd_key',v_alg_onrgoed_key);
fac.imp_writelog (p_import_key,'I','behandelaar_key',v_prs_behandelaar_key);
fac.imp_writelog (p_import_key,'I','aanvrager_key',v_prs_aanvrager_key);
fac.imp_writelog (p_import_key,'I','meld datum',rec.mld_melding_datum);
v_aanduiding:='Toevoegen melding gaat fout :'|| rec.mld_org_melding_key;
INSERT INTO mld_melding (mld_melding_module,
mld_meldbron_key,
mld_alg_locatie_key,
mld_alg_onroerendgoed_keys,
mld_melding_datum,
mld_melding_onderwerp,
mld_melding_omschrijving,
mld_melding_behandelaar_key,
mld_melding_behandelaar2_key,
mld_ins_discipline_key,
mld_stdmelding_key,
mld_melding_t_uitvoertijd,
mld_melding_einddatum,
prs_perslid_key,
prs_perslid_key_voor,
mld_melding_status,
mld_melding_spoed,
MLD_MELDING_EXTERNNR)
VALUES ('MLD',
v_mld_meldbron_key,
v_alg_locatie_key,
v_alg_onrgoed_key,
fac.safe_to_date(rec.mld_melding_datum,'DD-MM-YYYY HH24:MI.SS'),
rec.mld_melding_onderwerp,
rec.mld_melding_omschrijving,
v_prs_behandelaar_key, -- mld_melding_behandelaar_key
TO_NUMBER(NULL), -- mld_melding_behandelaar2_key
TO_NUMBER(NULL),
v_stdmelding_key,
NULL,
fac.safe_to_date(rec.mld_melding_afmelddatum,'DD-MM-YYYY HH24:MI.SS'),
v_prs_aanvrager_key,
v_prs_aanvrager_key,
rec.mld_melding_status,
3,
rec.mld_org_melding_key
)
RETURNING mld_melding_key
INTO v_mldkey;
v_aanduiding := 'Toevoegen notities bij melding '||rec.mld_org_melding_key|| 'gaat fout';
INSERT INTO mld_melding_note (mld_melding_key,
mld_melding_note_aanmaak,
mld_melding_note_wijzigdatum,
prs_perslid_key,
mld_melding_note_omschrijving,
mld_melding_note_flag)
VALUES (v_mldkey,
fac.safe_to_date(rec.mld_melding_datum,'DD-MM-YYYY HH24:MI.SS'),
SYSDATE,
3, -- Facilitor
'Migratie melding CONN melding: ' || rec.mld_org_melding_key||CHR(10)||'Aanvrager: '|| rec.prs_aanvrager_naam,
0);
IF rec.mld_melding_kenmerken IS NOT NULL
THEN
INSERT INTO mld_melding_note (mld_melding_key,
mld_melding_note_aanmaak,
mld_melding_note_wijzigdatum,
prs_perslid_key,
mld_melding_note_omschrijving,
mld_melding_note_flag)
VALUES (v_mldkey,
fac.safe_to_date(rec.mld_melding_datum,'DD-MM-YYYY HH24:MI.SS'),
SYSDATE,
3, -- Facilitor
'Kenmerken :' ||CHR(10)|| REPLACE(rec.mld_melding_kenmerken,';',CHR(10)),
0);
END IF;
fac.imp_writelog (p_import_key,
'I',
'Melding toegevoegd',
'melding '|| v_mldkey||' aangemaakt voor migratie melding :'||rec.mld_org_melding_key);
ELSE
fac.imp_writelog (p_import_key,
'E',
'Niet gevonden',
v_aanduiding);
END IF;
ELSE
fac.imp_writelog (p_import_key,
'E',
'Reeds aanwezig',
v_aanduiding);
END IF;
END LOOP;
COMMIT;
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;
/
-- EINDE meldingen import
-- Import opdrachten
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_OPDRACHTEN(p_import_key IN NUMBER)
AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_OPDRACHTEN(p_import_key IN NUMBER)
AS
CURSOR sel
IS
SELECT fac_imp_csv.FAC_IMP_CSV_INDEX regel,
fac_imp_csv_col01 mld_org_melding_key,
fac_imp_csv_col02 mld_opdr_volgnr,
fac_imp_csv_col03 mld_statusopdr_key,
fac_imp_csv_col04 mld_opdrtype,
fac_imp_csv_col05 mld_opdr_discipline_key,
fac_imp_csv_col06 prs_leverancier_nr,
fac_imp_csv_col07 mld_opdr_omschrijving,
fac_imp_csv_col08 mld_opdr_begindatum,
fac_imp_csv_col09 mld_opdr_einddatum,
fac_imp_csv_col10 prs_kostenplaats_nr,
fac_imp_csv_col11 mld_opdr_kosten,
fac_imp_csv_col12 prs_perslid_oslogin,
fac_imp_csv_col13 prs_leverancier_naam,
fac_imp_csv_col14 mld_org_opdr_key
FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_error NUMBER;
v_count NUMBER;
v_regel NUMBER;
v_melding_key NUMBER;
v_mld_opdr_key NUMBER;
v_prs_kostenplaats_key NUMBER;
v_mld_ins_discipline_key NUMBER;
v_mld_typeopdr_key NUMBER;
v_prs_perslid_key NUMBER;
v_uitvoerende_key NUMBER;
BEGIN
v_error:=0;
FOR rec in sel
LOOP
v_regel:=rec.regel;
v_error:=0;
v_count:=0;
-- Wat is het m,elding_key van dze opdracht,
-- Wat is d eins_discipine van deze melding , nodig bij opdarcht insert
-- Welke relatie is het verstuurd, haal die op en anders fall back leverancier
--
v_aanduiding:='Ophalen van meldning met nr:'||rec.mld_org_melding_key||' is mislukt';
BEGIN
SELECT m.mld_melding_key , msm.mld_ins_discipline_key
INTO v_melding_key, v_mld_ins_discipline_key
FROM mld_melding m, mld_stdmelding msm
WHERE m.mld_melding_externnr=rec.mld_org_melding_key
AND msm.mld_stdmelding_key = m.mld_stdmelding_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_error:=1;
END;
IF v_error=0 THEN
v_aanduiding:='Opdracht is al bekend :'||v_melding_key||'/'||rec.mld_opdr_volgnr ||'(regel: '||v_regel||')';
SELECT COUNT(*)
INTO v_count
FROM mld_opdr o
WHERE o.mld_melding_key=v_melding_key
AND o.mld_opdr_bedrijfopdr_volgnr=rec.mld_opdr_volgnr;
IF v_count>0 THEN
v_error:=1;
END IF;
END IF;
IF v_error=0 THEN
BEGIN
v_aanduiding:='Ophalen van kostenplaats nr :'||rec.prs_kostenplaats_nr||' is mislukt.';
SELECT p.prs_kostenplaats_key
INTO v_prs_kostenplaats_key
FROM prs_kostenplaats p
WHERE p.prs_kostenplaats_nr=rec.prs_kostenplaats_nr;
v_aanduiding:='Ophalen van opdracht type is mislukt.';
SELECT mld_typeopdr_key
INTO v_mld_typeopdr_key
FROM mld_typeopdr o
WHERE UPPER(o.mld_typeopdr_omschrijving)='UITVOERINGSOPDRACHT';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_error:=1;
END;
v_aanduiding:='Ophalen van perslid.';
BEGIN
SELECT p.prs_perslid_key
INTO v_prs_perslid_key
from prs_perslid p
WHERE UPPER(p.prs_perslid_oslogin)=UPPER(rec.prs_perslid_oslogin);
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_prs_perslid_key:=3;
END;
v_aanduiding:='Ophalen van leverenacier is mislukt.';
BEGIN
SElECT prs_bedrijf_key
INTO v_uitvoerende_key
FROM prs_bedrijf p
WHERE UPPER(p.prs_leverancier_nr)=UPPER(rec.prs_leverancier_nr);
EXCEPTION
WHEN NO_DATA_FOUND
THEN
SElECT prs_bedrijf_key
INTO v_uitvoerende_key
FROM prs_bedrijf p
WHERE p.prs_leverancier_nr='_999999';
END;
END IF;
IF v_error=0 AND v_count=0
THEN
INSERT INTO mld_opdr (mld_melding_key,
prs_kostenplaats_key,
mld_statusopdr_key,
mld_typeopdr_key,
prs_perslid_key,
mld_uitvoerende_keys,
mld_opdr_discipline_key,
mld_opdr_datumbegin,
mld_opdr_einddatum,
mld_opdr_module,
mld_opdr_omschrijving,
mld_opdr_kosten,
mld_opdr_bedrijfopdr_volgnr,
mld_opdr_externnr)
VALUES( v_melding_key,
v_prs_kostenplaats_key,
rec.mld_statusopdr_key,
v_mld_typeopdr_key,
v_prs_perslid_key,
v_uitvoerende_key,
v_mld_ins_discipline_key,
fac.safe_to_date(rec.mld_opdr_begindatum,'DD-MM-YYYY HH24:MI.SS'),
fac.safe_to_date(rec.mld_opdr_einddatum,'DD-MM-YYYY HH24:MI.SS'),
'MLD',
rec.mld_opdr_omschrijving,
fac.safe_to_number(rec.mld_opdr_kosten),
rec.mld_opdr_volgnr,
rec.mld_org_opdr_key)
RETURNING mld_opdr_key
INTO v_mld_opdr_key;
INSERT INTO mld_opdr_note (mld_opdr_key,
mld_opdr_note_aanmaak,
mld_opdr_note_wijzigdatum,
prs_perslid_key,
mld_opdr_note_omschrijving,
mld_opdr_note_flag)
VALUES (v_mld_opdr_key,
fac.safe_to_date(rec.mld_opdr_begindatum,'DD-MM-YYYY HH24:MI.SS'),
SYSDATE,
3, -- Facilitor
'Migratie opdracht CONN melding: ' || rec.mld_org_melding_key||CHR(10)||' leverancier :'|| rec.prs_leverancier_naam,
0);
fac.imp_writelog (p_import_key,
'I',
'Opdacht aangemaakt',
'Opdracht '||v_melding_key||'/'||rec.mld_opdr_volgnr||'('||v_mld_opdr_key||') is aangemaakt.');
ELSE
fac.imp_writelog (p_import_key,
'E',
'Niet gevonden',
v_aanduiding);
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding||'('||v_regel||')';
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;
/
-- Einden import opdrachten
-- Import tracking
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_TRACKING(p_import_key IN NUMBER)
AS
@@ -814,54 +1160,158 @@ BEGIN
END;
END LOOP;
-- Nu de csv data weer verwijderen
DELETE
FROM fac_imp_csv
WHERE fac_import_key = p_import_key;
END;
/
-- EINDE IMPORT MELDINGEN
-- IMPORT Opdrachten
-- IMPORT Notities
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_NOTITIES(p_import_key IN NUMBER)
AS
BEGIN
--CREATE OR REPLACE PROCEDURE TDNL_IMPORT_OPDRACHTEN(p_import_key IN NUMBER)
--AS
--BEGIN
NULL;
END;
/
-- NULL;
--END;
--/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_NOTITIES(p_import_key IN NUMBER)
AS
CURSOR c
IS
SELECT fac_imp_csv.FAC_IMP_CSV_INDEX regel,
fac_imp_csv_col01 module_key,
fac_imp_csv_col02 module,
fac_imp_csv_col03 deel,
fac_imp_csv_col04 prs_perslid_oslogin,
fac_imp_csv_col05 notitie,
fac_imp_csv_col06 notitie_datum
from fac_imp_csv
WHERE fac_import_key = p_import_key;
--CREATE OR REPLACE PROCEDURE TDNL_UPDATE_OPDRACHTEN(p_import_key IN NUMBER)
--AS
-- CURSOR opd
-- IS
-- SELECT *
-- FROM fac_imp_csv f
-- WHERE f.fac_import_key = p_import_key;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_error NUMBER;
v_count NUMBER;
v_entity_key NUMBER;
v_prs_perslid_key NUMBER;
v_mld_counter NUMBER;
v_opdr_counter NUMBER;
v_melding_key NUMBER;
v_opdr_key NUMBER;
v_regel NUMBER;
v_module_key NUMBER;
BEGIN
v_mld_counter:=0;
v_opdr_counter:=0;
FOR rec IN C
LOOP
v_regel:=rec.regel;
v_error:=0;
BEGIN
SELECT prs_perslid_key
INTO v_prs_perslid_key
FROM prs_perslid p
WHERE p.prs_perslid_oslogin=rec.prs_perslid_oslogin;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_prs_perslid_key:=3;
END;
IF rec.module='MLD'
THEN
v_aanduiding:='Melding met nr '||rec.module_key||' is niet gevonden, regel wordt overgeslagen';
BEGIN
SELECT mld_melding_key
INTO v_module_key
FROM mld_melding
WHERE mld_melding_externnr=rec.module_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_error:=1;
END;
ELSIF rec.module='OPD'
THEN
v_aanduiding:='Opdracht met nr '||rec.module_key||' is niet gevonden, regel wordt overgeslagen';
BEGIN
SELECT mld_opdr_key
INTO v_module_key
FROM mld_opdr
WHERE mld_opdr_externnr=rec.module_key;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_error:=1;
END;
END IF;
IF v_error=0 THEN
IF rec.module='MLD' THEN
INSERT INTO mld_melding_note (mld_melding_key,
mld_melding_note_aanmaak,
mld_melding_note_wijzigdatum,
prs_perslid_key,
mld_melding_note_omschrijving,
mld_melding_note_flag)
VALUES (v_module_key,
fac.safe_to_date(rec.notitie_datum,'DD-MM-YYYY HH24:MI.SS'),
SYSDATE,
v_prs_perslid_key,
rec.notitie,
0);
v_mld_counter:=v_mld_counter+1;
ELSIF rec.module='OPD' THEN
INSERT INTO mld_opdr_note (mld_opdr_key,
mld_opdr_note_aanmaak,
mld_opdr_note_wijzigdatum,
prs_perslid_key,
mld_opdr_note_omschrijving,
mld_opdr_note_flag)
VALUES (v_module_key,
fac.safe_to_date(rec.notitie_datum,'DD-MM-YYYY HH24:MI.SS'),
SYSDATE,
v_prs_perslid_key,
rec.notitie,
0);
v_opdr_counter:=v_opdr_counter+1;
END IF;
ELSE
fac.imp_writelog (p_import_key,
'E',
'Niet gevonden',
v_aanduiding);
END If;
END LOOP;
fac.imp_writelog (p_import_key,
'I',
'Melding Notie',
v_mld_counter||' melding notities aangemaakt.');
fac.imp_writelog (p_import_key,
'I',
'Opdracht Notie',
v_opdr_counter||' Opdracht notities aangemaakt.');
-- v_date DATE;
--BEGIN
-- Om wat voor melding gaat het,
-- Welk opdracht type is het,
-- Welke relatie is het,
-- Wat is de discipline key van de Overig vakgroep (mld_opdr_discipline_key)
-- SELECT SYSDATE INTO v_date FROM DUAL;
-- Nu de csv data weer verwijderen
-- DELETE FROM fac_imp_csv
-- WHERE fac_import_key = p_import_key;
--END;
--/
-- EINDE IMPORT OPDRACHTEN
EXCEPTION
WHEN OTHERS
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding||'('||v_regel||')';
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;
/