TDNL#80795 -- Migratie CONN omgeving naar TDNL omgeving
svn path=/Customer/trunk/; revision=66322
This commit is contained in:
866
TDNL/TDNL.sql
866
TDNL/TDNL.sql
@@ -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;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user