From fc12160741964d4ae7c44f3782c12253cc07ec07 Mon Sep 17 00:00:00 2001 From: Sander Schepers Date: Wed, 4 Jul 2018 13:32:16 +0000 Subject: [PATCH] ASDL#52274 Import glasmeldingen svn path=/Customer/trunk/; revision=38392 --- ASDL/asdl.sql | 152 +++++++++++++++++++++++++++----------------------- 1 file changed, 83 insertions(+), 69 deletions(-) diff --git a/ASDL/asdl.sql b/ASDL/asdl.sql index 9c4ad2a6b..316e740c8 100644 --- a/ASDL/asdl.sql +++ b/ASDL/asdl.sql @@ -2541,6 +2541,7 @@ IS v_stationsmanager VARCHAR (256); v_uitvoerjaar VARCHAR (256); v_uitvoerweek VARCHAR (256); + v_uitvoermaand VARCHAR (256); v_uitvoerder VARCHAR (256); v_uitvoerdernaam VARCHAR(256); v_serviceordernr VARCHAR (256); @@ -2684,10 +2685,11 @@ BEGIN SELECT COUNT ( * ) INTO v_count_uitvoerder FROM fac_usrdata uv - WHERE uv.fac_usrdata_key = v_uitvoerder + WHERE uv.fac_usrdata_key = v_uitvoerder AND uv.fac_usrtab_key = 21 AND uv.fac_usrdata_verwijder IS NULL; + IF v_count_uitvoerder = 0 THEN v_ongeldig := 1; fac.imp_writelog ( @@ -2696,16 +2698,16 @@ BEGIN v_aanduiding || 'Uitvoerder bestaat niet', 'Melding wordt niet ingelezen!'); END IF; - - --Controle of de melding al is aangemaakt. - IF TO_NUMBER(TO_CHAR(v_uitvoerjaar, 'YYYY')||TO_CHAR(v_uitvoerweek, 'WW')) <= TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY')||TO_CHAR(SYSDATE, 'WW'))+1 - THEN v_ongeldig := 1; - fac.imp_writelog ( - p_import_key, - 'W', - v_aanduiding || 'Melding in volgende of voorgaande weken', - 'Melding wordt niet ingelezen!'); - END IF; + + --Controle of de melding al is aangemaakt. + --IF TO_NUMBER(TO_CHAR(v_uitvoerjaar)||TO_CHAR(v_uitvoerweek)) <= TO_NUMBER(TO_CHAR(SYSDATE, 'YYYY')||TO_CHAR(SYSDATE, 'WW'))+1 + --THEN v_ongeldig := 1; + -- fac.imp_writelog ( + -- p_import_key, + -- 'W', + -- v_aanduiding || 'Melding in volgende of voorgaande weken', + -- 'Melding wordt niet ingelezen!'); + --END IF; IF LENGTH (v_serviceordernr) > 50 THEN @@ -2763,8 +2765,9 @@ BEGIN stationsmanager_key, stationsmanager, uitvoerdatum, - uitvoerjaar, uitvoerweek, + uitvoermaand, + uitvoerjaar, uitvoerder, serviceordernr, onderwerp, @@ -2773,16 +2776,17 @@ BEGIN v_fac_import_key, v_fac_import_index, SYSDATE, - v_mld_stdmelding_key, + TO_NUMBER(v_mld_stdmelding_key), v_mld_stdmelding_oms, v_alg_locatie_code, v_alg_locatie_oms, - v_stationsmanager_key, + TO_NUMBER(v_stationsmanager_key), v_stationsmanager, - next_day( to_date('04-jan-' || v_uitvoerjaar, 'dd-mm-yyyy' ) + (v_uitvoerweek-2)*7, 'maan'), - v_uitvoerjaar, + NEXT_DAY(TO_DATE('04-jan-' || v_uitvoerjaar, 'dd-mm-yyyy' ) + (v_uitvoerweek-2)*7, 'maan'), v_uitvoerweek, - v_uitvoerder, + v_uitvoermaand, + v_uitvoerjaar, + TO_NUMBER(v_uitvoerder), v_serviceordernr, v_onderwerp, v_omschrijving); @@ -2866,7 +2870,7 @@ IS DELETE FROM asdl_imp_glas2 WHERE asdl_imp_glas2.mld_melding_key IS NULL; COMMIT; - + INSERT INTO asdl_imp_glas2 ( fac_import_key, fac_import_index, @@ -2887,7 +2891,7 @@ IS omschrijving, mld_melding_key) SELECT fac_import_key, - fac_import_index, + fac_import_index, fac_import_datum, mld_stdmelding_key, mld_stdmelding_oms, @@ -2911,22 +2915,23 @@ IS / -CREATE OR REPLACE PROCEDURE ASDL_EXPORT_GLASBON_MELDING + +CREATE OR REPLACE PROCEDURE ASDL_EXPORT_GLASBON_MELDING ( p_applname IN VARCHAR2, p_applrun IN VARCHAR2, p_filedir IN VARCHAR2, p_filename IN VARCHAR2 ) - -AS + +AS CURSOR cmld IS SELECT * FROM asdl_imp_glas2 WHERE TRUNC(TO_DATE(uitvoerdatum)) <= SYSDATE+7 - AND mld_melding_key IS NULL; + AND mld_melding_key IS NULL; v_fac_import_key NUMBER(10); v_fac_import_index NUMBER(10); @@ -2935,13 +2940,13 @@ CURSOR cmld v_mld_stdmelding_key NUMBER(10); v_mld_melding_datum DATE; v_mld_error VARCHAR(256); - + BEGIN - + FOR recmld IN cmld LOOP - BEGIN - + BEGIN + INSERT INTO mld_melding (prs_perslid_key, mld_melding_module, mld_meldbron_key, @@ -2949,10 +2954,10 @@ FOR recmld IN cmld mld_melding_datum, mld_melding_omschrijving, mld_stdmelding_key, - mld_melding_einddatum, + mld_melding_einddatum, mld_melding_status, mld_melding_spoed, - mld_melding_onderwerp) + mld_melding_onderwerp) VALUES (3, 'MLD', 6, --Bron = Systeem @@ -2966,95 +2971,103 @@ FOR recmld IN cmld recmld.onderwerp) RETURNING mld_melding_key, mld_stdmelding_key, mld_melding_datum INTO v_mld_melding_key, v_mld_stdmelding_key, v_mld_melding_datum; + INSERT INTO fac_tracking + (fac_srtnotificatie_key, + fac_tracking_refkey, + fac_tracking_oms) + VALUES (43, + v_mld_melding_key, + 'Melding aangemaakt door ASDL_EXPORT_GLASBON_MELDING'); + INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) SELECT v_mld_melding_key, - k.mld_kenmerk_key, + k.mld_kenmerk_key, recmld.stationsmanager_key -- Waarde Stationsmanager uit import-tabel FROM mld_stdmelding s, mld_kenmerk k, mld_srtkenmerk sk - WHERE k.mld_stdmelding_key = s.mld_stdmelding_key + WHERE k.mld_stdmelding_key = s.mld_stdmelding_key AND k.mld_stdmelding_key = v_mld_stdmelding_key - AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key + AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND s.mld_ins_discipline_key = 241 -- Discipline Glasbewassing - AND mld_kenmerk_verwijder IS NULL - AND sk.mld_srtkenmerk_key = 121; -- Kenmerksoort Stationsmanager + AND mld_kenmerk_verwijder IS NULL + AND sk.mld_srtkenmerk_key = 121; -- Kenmerksoort Stationsmanager INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) SELECT v_mld_melding_key, - k.mld_kenmerk_key, + k.mld_kenmerk_key, TO_CHAR(recmld.uitvoerdatum,'DD-MM-YYYY') -- Waarde Uitvoerdatum uit import-tabel FROM mld_stdmelding s, mld_kenmerk k, mld_srtkenmerk sk - WHERE k.mld_stdmelding_key = s.mld_stdmelding_key + WHERE k.mld_stdmelding_key = s.mld_stdmelding_key AND k.mld_stdmelding_key = v_mld_stdmelding_key - AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key + AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND s.mld_ins_discipline_key = 241 -- Discipline Glasbewassing - AND mld_kenmerk_verwijder IS NULL - AND sk.mld_srtkenmerk_key = 122; -- Kenmerksoort Uitvoerdatum + AND mld_kenmerk_verwijder IS NULL + AND sk.mld_srtkenmerk_key = 122; -- Kenmerksoort Uitvoerdatum INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) SELECT v_mld_melding_key, - k.mld_kenmerk_key, + k.mld_kenmerk_key, recmld.uitvoerweek -- Waarde Uitvoerweek uit import-tabel FROM mld_stdmelding s, mld_kenmerk k, mld_srtkenmerk sk - WHERE k.mld_stdmelding_key = s.mld_stdmelding_key + WHERE k.mld_stdmelding_key = s.mld_stdmelding_key AND k.mld_stdmelding_key = v_mld_stdmelding_key - AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key + AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND s.mld_ins_discipline_key = 241 -- Discipline Glasbewassing - AND mld_kenmerk_verwijder IS NULL - AND sk.mld_srtkenmerk_key = 161; -- Kenmerksoort Uitvoerweek + AND mld_kenmerk_verwijder IS NULL + AND sk.mld_srtkenmerk_key = 161; -- Kenmerksoort Uitvoerweek INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) SELECT v_mld_melding_key, - k.mld_kenmerk_key, + k.mld_kenmerk_key, recmld.serviceordernr -- Waarde Nummer serviceorder uit import-tabel FROM mld_stdmelding s, mld_kenmerk k, mld_srtkenmerk sk - WHERE k.mld_stdmelding_key = s.mld_stdmelding_key + WHERE k.mld_stdmelding_key = s.mld_stdmelding_key AND k.mld_stdmelding_key = v_mld_stdmelding_key - AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key + AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND s.mld_ins_discipline_key = 241 -- Discipline Glasbewassing - AND mld_kenmerk_verwijder IS NULL - AND sk.mld_srtkenmerk_key = 181; -- Kenmerksoort Nummer serviceorder - - INSERT INTO mld_kenmerkmelding - (mld_melding_key, - mld_kenmerk_key, - mld_kenmerkmelding_waarde) - SELECT v_mld_melding_key, - k.mld_kenmerk_key, - recmld.uitvoerder -- Waarde Uitvoerder uit import-tabel - FROM mld_stdmelding s, mld_kenmerk k, mld_srtkenmerk sk - WHERE k.mld_stdmelding_key = s.mld_stdmelding_key - AND k.mld_stdmelding_key = v_mld_stdmelding_key - AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key - AND s.mld_ins_discipline_key = 241 -- Discipline Glasbewassing - AND mld_kenmerk_verwijder IS NULL - AND sk.mld_srtkenmerk_key = 201; -- Kenmerksoort Uitvoerder + AND mld_kenmerk_verwijder IS NULL + AND sk.mld_srtkenmerk_key = 181; -- Kenmerksoort Nummer serviceorder INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde) SELECT v_mld_melding_key, - k.mld_kenmerk_key, + k.mld_kenmerk_key, + recmld.uitvoerder -- Waarde Uitvoerder uit import-tabel + FROM mld_stdmelding s, mld_kenmerk k, mld_srtkenmerk sk + WHERE k.mld_stdmelding_key = s.mld_stdmelding_key + AND k.mld_stdmelding_key = v_mld_stdmelding_key + AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key + AND s.mld_ins_discipline_key = 241 -- Discipline Glasbewassing + AND mld_kenmerk_verwijder IS NULL + AND sk.mld_srtkenmerk_key = 201; -- Kenmerksoort Uitvoerder + + INSERT INTO mld_kenmerkmelding + (mld_melding_key, + mld_kenmerk_key, + mld_kenmerkmelding_waarde) + SELECT v_mld_melding_key, + k.mld_kenmerk_key, recmld.uitvoermaand -- Waarde Uitvoeringsmaand uit import-tabel FROM mld_stdmelding s, mld_kenmerk k, mld_srtkenmerk sk - WHERE k.mld_stdmelding_key = s.mld_stdmelding_key + WHERE k.mld_stdmelding_key = s.mld_stdmelding_key AND k.mld_stdmelding_key = v_mld_stdmelding_key - AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key + AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key AND s.mld_ins_discipline_key = 241 -- Discipline Glasbewassing - AND mld_kenmerk_verwijder IS NULL - AND sk.mld_srtkenmerk_key = 221; -- Kenmerksoort Uitvoeringsmaand + AND mld_kenmerk_verwijder IS NULL + AND sk.mld_srtkenmerk_key = 221; -- Kenmerksoort Uitvoeringsmaand UPDATE asdl_imp_glas imp1 SET imp1.mld_melding_key = v_mld_melding_key, @@ -3074,6 +3087,7 @@ END; / + ------ payload end ------ SET DEFINE OFF