FZKH#87266 -- Implementatie Import MT assets en Meldingen

svn path=/Customer/trunk/; revision=69104
This commit is contained in:
Norbert Wassink
2025-05-22 06:32:49 +00:00
parent 6d2f9526ed
commit 5e6faf87e6

View File

@@ -140,6 +140,9 @@ BEGIN
rec_ins.ins_srtcontrole_mode IS NOT NULL AND
(rec_ins.ins_srtcontrole_mode = 1 OR (1=1))
THEN
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
ins_srtcontrole_niveau,
ins_srtcontrole_omschrijving,
@@ -219,6 +222,8 @@ BEGIN
FOR rec in c1
LOOP
IF rec.prs_perslid_matchcode='4'
THEN
SELECT COUNT(*)
INTO v_count
FROM prs_perslid p
@@ -226,6 +231,16 @@ BEGIN
AND p.prs_perslid_verwijder IS NULL
AND ( p.prs_perslid_inactief IS NULL
OR p.prs_perslid_inactief > SYSDATE);
ELSIF rec.prs_perslid_matchcode='3'
THEN
SELECT COUNT(*)
INTO v_count
FROM prs_v_perslid_fullnames p
WHERE p.prs_perslid_naam_full = rec.prs_perslid_matchwaarde;
ELSE
v_count:=0;
END IF;
v_vervaldatum := NULL;
IF UPPER(rec.ins_kenmerkwaarde1) = 'VERMIST'
THEN
@@ -258,6 +273,443 @@ BEGIN
END;
/
CREATE OR REPLACE PROCEDURE FZKH_IMPORT_MT_KENMERKEN (p_import_key IN NUMBER)
AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE PROCEDURE FZKH_UPDATE_MT_KENMERKEN (p_import_key IN NUMBER)
AS
CURSOR sel
IS
SELECT fac_imp_csv_col01 ins_deel_omschrijving,
fac_imp_csv_col03 ins_kenmerk_label,
fac_imp_csv_col08 ins_kenmerk_waarde
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
ORDER BY fac_imp_csv_key;
v_ins_deel_key NUMBER;
v_ins_kenmerk_key NUMBER;
v_errormsg VARCHAR2 (1000) := '-';
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (200);
BEGIN
FOR rec IN sel
LOOP
IF rec.ins_deel_omschrijving<>'eqmid'
THEN
BEGIN
v_aanduiding := 'Object '||rec.ins_deel_omschrijving||' is niet gevonden en wordt overgeslagen';
SELECT ins_deel_key
INTO v_ins_deel_key
FROM ins_deel
WHERE ins_deel_omschrijving=rec.ins_deel_omschrijving
AND ins_deel_verwijder IS NULL;
IF v_ins_deel_key >0
THEN
v_aanduiding:='kenmerk : ' || TO_CHAR (rec.ins_kenmerk_label)||' voor object '||rec.ins_deel_omschrijving||' is niet gevonden en wordt overgeslagen';
SELECT ins_kenmerk_key
INTO v_ins_kenmerk_key
FROM ins_kenmerk
WHERE UPPER(ins_kenmerk_omschrijving) = UPPER(rec.ins_kenmerk_label)
AND ins_kenmerk_niveau='D'
AND ins_kenmerk_verwijder IS NULL;
IF v_ins_kenmerk_key>0 AND rec.ins_kenmerk_waarde <>'NULL'
THEN
flx.setflex('INS',v_ins_kenmerk_key,v_ins_deel_key,rec.ins_kenmerk_waarde);
END IF;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.imp_writelog (p_import_key,
'W',
v_aanduiding,
'');
END;
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg :=
v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key,
'E',
'Importproces MT Kenmerken afgebroken!',
v_errormsg);
END;
/
CREATE OR REPLACE PROCEDURE FZKH_IMPORT_RESERVERINGEN (p_import_key IN NUMBER)
AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE PROCEDURE FZKH_UPDATE_RESERVERINGEN (p_import_key IN NUMBER)
AS
CURSOR sel
IS
SELECT fac_imp_csv_col01 ultimo_code,
fac_imp_csv_col03 res_ruimte_nr,
fac_imp_csv_col06 res_startdatum,
fac_imp_csv_col07 res_einddatum,
fac_imp_csv_col08 res_status,
fac_imp_csv_col09 res_aanvrager,
fac_imp_csv_col10 res_omschrijving
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
ORDER BY fac_imp_csv_key;
v_res_startdatum DATE;
v_res_einddatum DATE;
v_prs_perslid_key NUMBER;
v_res_ruimte_key NUMBER;
v_count NUMBER;
v_errormsg VARCHAR2 (1000) := '-';
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (200);
BEGIN
FOR rec IN sel
LOOP
v_res_startdatum := fac.safe_to_date(rec.res_startdatum,'DD-MM-YYYY HH24:MI');
v_res_einddatum := fac.safe_to_date(rec.res_einddatum,'DD-MM-YYYY HH24:MI');
BEGIN
SELECT prs_perslid_key
INTO v_prs_perslid_key
FROM prs_v_perslid_fullnames p
WHERE UPPER(p.prs_perslid_naam_full) = UPPER(rec.res_aanvrager);
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_prs_perslid_key:=3;
END;
v_aanduiding := 'Reservering '||rec.ultimo_code||' voor ruimte met ruimte Nr :'||rec.res_ruimte_nr||' is niet gevonden';
SELECT res_ruimte_key
INTO v_res_ruimte_key
from res_ruimte
WHERE res_ruimte_verwijder IS NULL
AND res_ruimte_nr LIKE rec.res_ruimte_nr||'%';
-- Insert in res_reservering
-- Insert ito res-sv_ruimte
-- voeg tracking toe.
-- fac.trackaction ('RESNEW', v_res_rsv_ruimte_key, NULL, SYSDATE, 'Gemigreerd vanuit Ultimo');
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg :=
v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key,
'E',
'Importproces Ultimo reserveringen afgebroken!',
v_errormsg);
END;
/
CREATE OR REPLACE PROCEDURE FZKH_IMPORT_ULTIMO_MLD(p_import IN NUMBER)
AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE PROCEDURE FZKH_UPDATE_ULTIMO_MLD(p_import_key IN NUMBER)
AS
CURSOR sel
IS
SELECT fac_imp_csv_col01 ultimo_nr,
fac_imp_csv_col02 mld_onderwerp,
fac_imp_csv_col03 prs_perslid_behandelaar,
fac_imp_csv_col05 mld_melding_datum,
fac_imp_csv_col05 prs_afdeling,
fac_imp_csv_col07 mld_note,
fac_imp_csv_col08 ins_deel_omschrijving,
fac_imp_csv_col08 ins_deel_serienummer,
fac_imp_csv_col11 ins_deel_leverancier,
fac_imp_csv_col12 mld_stdmelding,
fac_imp_csv_col13 mld_status,
fac_imp_csv_col14 mld_substatus,
fac_imp_csv_col15 mld_melding_gereeddatum,
fac_imp_csv_col17 prs_perslid_melder,
fac_imp_csv_col19 prs_kostenplaats_nr
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
ORDER BY fac_imp_csv_key;
v_errormsg VARCHAR2 (1000) := '-';
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (200);
v_counter NUMBER;
v_count_deel_ok NUMBER;
v_count_deel NUMBER;
v_stdmelding_key NUMBER;
v_alg_onrgoed_niveau VARCHAR2(1);
v_prs_perslid_melder NUMBER;
v_mld_meldbron_key NUMBER;
v_kenmerk_key NUMBER;
v_ins_deel_key NUMBER;
v_prs_perslid_behandelaar NUMBER;
v_meldingsdatum DATE;
v_melding_gereeddatum DATE;
v_mld_key NUMBER;
v_status_key NUMBER;
BEGIN
v_stdmelding_key := 1; -- standaard worden alle migratie meldingen op de stdmelding overig gezet
v_mld_meldbron_key :=5;
v_counter:=0;
v_aanduiding :='Ophalen melding kenmerk key met code=ULTIMO_MLD_KEY is muslukt';
SELECT mld_kenmerk_key
INTO v_kenmerk_key
FROM mld_kenmerk
WHERE mld_kenmerk_code='ULTIMO_NR';
FOR rec IN sel
LOOP
IF rec.ultimo_nr<>'Code'
THEN
BEGIN
v_aanduiding:='Ophalen std melding gaat fout :'|| rec.mld_stdmelding;
SELECT ms.mld_stdmelding_key, ms.alg_onrgoed_niveau
INTO v_stdmelding_key, v_alg_onrgoed_niveau
FROM mld_stdmelding ms , ins_srtdiscipline vgt, MLD_DISCIPLINE vg
WHERE vgt.ins_srtdiscipline_omschrijving='Medische Techniek'
AND vg.ins_srtdiscipline_key = vgt.ins_srtdiscipline_key
AND vg.ins_discipline_key = ms.mld_ins_discipline_key
AND ms.mld_stdmelding_omschrijving=rec.mld_stdmelding
AND ms.MLD_STDMELDING_VERWIJDER IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
SELECT ms.mld_stdmelding_key, ms.alg_onrgoed_niveau
INTO v_stdmelding_key, v_alg_onrgoed_niveau
FROM mld_stdmelding ms , ins_srtdiscipline vgt, MLD_DISCIPLINE vg
WHERE vgt.ins_srtdiscipline_omschrijving='Medische Techniek'
AND vg.ins_srtdiscipline_key = vgt.ins_srtdiscipline_key
AND vg.ins_discipline_key = ms.mld_ins_discipline_key
AND UPPER(ms.mld_stdmelding_omschrijving)='MIGRATIE'
AND ms.MLD_STDMELDING_VERWIJDER IS NULL;
END;
v_aanduiding:= 'Ophalen van het asset '||rec.ins_deel_omschrijving || ' is mislukt.';
BEGIN
SELECT ins_deel_key
INTO v_ins_deel_key
FROM ins_deel
WHERE ins_deel_omschrijving=rec.ins_deel_omschrijving
AND ins_deel_verwijder IS NULL;
v_count_deel_ok:=v_count_deel_ok+1;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_ins_deel_key:=NULL;
v_count_deel:=v_count_deel+1;
END;
-- Opahlen aanvrger
BEGIN
SELECT prs_perslid_key
INTO v_prs_perslid_melder
FROM prs_v_aanwezigperslid
WHERE prs_perslid_naam=rec.prs_perslid_melder;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_prs_perslid_melder:=3;
END;
BEGIN
SELECT prs_perslid_key
INTO v_prs_perslid_behandelaar
FROM prs_v_aanwezigperslid
WHERE prs_perslid_naam=rec.prs_perslid_behandelaar;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_prs_perslid_behandelaar:=NULL;
END;
-- Status
SELECT DECODE(rec.mld_status,'Gesloten',6,'Nieuw',2,'In behandeling',4,'Afgemeld',5,6)
INTO v_status_key
FROM DUAL; -- Historie is default
v_meldingsdatum:= fac.safe_to_date(rec.mld_melding_datum,'DD-MM-YYYY HH24:MI.SS');
IF rec.mld_melding_gereeddatum IS NOT NULL
THEN
v_melding_gereeddatum := fac.safe_to_date(rec.mld_melding_gereeddatum,'DD-MM-YYYY HH24:MI.SS');
ELSE
v_melding_gereeddatum:=NULL;
END IF;
IF v_stdmelding_key>-1
THEN
v_counter:=v_counter+1;
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_opmerking,
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,
NULL,
NULL,
v_meldingsdatum,
rec.mld_onderwerp,
rec.mld_onderwerp,
rec.mld_note,
v_prs_perslid_behandelaar, -- mld_melding_behandelaar_key
TO_NUMBER(NULL), -- mld_melding_behandelaar2_key
TO_NUMBER(NULL),
v_stdmelding_key,
NULL,
v_melding_gereeddatum,
v_prs_perslid_melder,
v_prs_perslid_melder,
v_status_key,
3,
rec.ultimo_nr
)
RETURNING mld_melding_key
INTO v_mld_key;
flx.setflex('MLD',v_kenmerk_key,v_mld_key,rec.ultimo_nr);
IF v_status_key = 2
THEN
fac.trackaction ('MLDNEW', v_mld_key, NULL, v_meldingsdatum, 'Ultimo melding '||rec.ultimo_nr||' aangemaakt');
ELSIF v_status_key = 4
THEN
fac.trackaction ('MLDNEW', v_mld_key, NULL, v_meldingsdatum, 'Ultimo melding '||rec.ultimo_nr||' aangemaakt.');
fac.trackaction ('MLDACP', v_mld_key, NULL, v_meldingsdatum, 'Ultimo melding '||rec.ultimo_nr||' geaccepteerd.');
ELSIF v_status_key = 6
THEN
fac.trackaction ('MLDNEW', v_mld_key, NULL, v_meldingsdatum, 'Ultimo melding '||rec.ultimo_nr||' aangemaakt.');
fac.trackaction ('MLDACP', v_mld_key, NULL, v_meldingsdatum, 'Ultimo melding '||rec.ultimo_nr||' geaccepteerd.');
fac.trackaction ('MLDAFM', v_mld_key, NULL, v_melding_gereeddatum, 'Ultimo melding '||rec.ultimo_nr||' afgemeld');
ELSE
fac.trackaction ('MLDTRK', v_mld_key, NULL, NULL, 'Ultimo melding '||rec.ultimo_nr||' gemigreerd.');
END IF;
IF v_mld_key>1 AND LENGTH(rec.mld_note)>0
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_mld_key,
v_meldingsdatum,
SYSDATE,
3, -- Facilitor
'Migratie melding Ultimo melding: ' || rec.ultimo_nr||CHR(10)||'Aanvrager: '|| rec.prs_perslid_melder,
0);
END IF;
IF v_ins_deel_key > 0
THEN
INSERT INTO mld_melding_object(ins_deel_key,
mld_melding_key,
mld_melding_object_aanmaak)
VALUES(v_ins_deel_key,
v_mld_key,
v_meldingsdatum);
END IF;
END IF;
END IF;
-- haal het object op
-- haal de melder op
-- haal de evt hebandelar op
-- haal de stdmelding op,
-- haal de status op,
END LOOP;
fac.imp_writelog (p_import_key,
'I',
'Er zijn in totaal '||v_counter||' meldingen aangemaakt.',
'Ultimo meldingen aanmaak');
fac.imp_writelog (p_import_key,
'I',
'Daar zijn intotaal '||v_count_deel_ok||' objecten aangekoppeld.',
'Ultimo meldingen aanmaak');
fac.imp_writelog (p_import_key,
'I',
'In totaal zijn '||v_count_deel||' objecten niet gevonden.',
'Ultimo meldingen aanmaak');
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg :=
v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key,
'E',
'Importproces Ultimo meldingen afgebroken!'||v_aanduiding,
v_errormsg);
END;
/
CREATE OR REPLACE PROCEDURE FZKH_IMPORT_AOC_CODES(p_import IN NUMBER)
AS
@@ -458,19 +910,20 @@ AS
fac_imp_csv_col46 ins_kenm_garantie,
fac_imp_csv_col50 ins_kenm_status,
fac_imp_csv_col12 ins_kenm_aanschafprijs,
fac.safe_to_date(fac_imp_csv_col27,'DD-MM-YYYY') ins_kenm_instaldatum,
fac_imp_csv_col47 ins_onderhoud_datum
fac_imp_csv_col27 ins_kenm_instaldatum,
fac_imp_csv_col48 ins_onderhoud_datum
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
ORDER BY fac_imp_csv_key;
v_count NUMBER;
v_locatie_code VARCHAR2(10);
v_gebouw_code VARCHAR2(10);
v_verdieping_nr VARCHAR2(10);
v_ruimte_nr VARCHAR2(25);
v_huidige_locatie VARCHAR2(50);
v_huidige_locatie VARCHAR2(100);
v_installdatum DATE;
BEGIN
fac_import_file2csv(p_import_key);
@@ -490,16 +943,30 @@ BEGIN
v_huidige_locatie:='';
IF rec.ins_kenm_locatie IS NOT NULL
THEN
v_huidige_locatie:='Locatie|0='||rec.ins_kenm_locatie;
v_huidige_locatie:=rec.ins_kenm_locatie;
ELSE
v_huidige_locatie:='';
END IF;
IF rec.ins_kenm_ruimtenr IS NOT NULL
THEN
v_huidige_locatie:='Locatie|0='||rec.ins_kenm_ruimtenr||'-'||rec.ins_kenm_ruimtenaam;
v_huidige_locatie:=rec.ins_kenm_ruimtenr||'-'||rec.ins_kenm_ruimtenaam;
ELSE
v_huidige_locatie:='';
END IF;
IF LENGTH(rec.ins_kenm_instaldatum)>1
THEN
v_installdatum := fac.safe_to_date(rec.ins_kenm_instaldatum,'DD-MM-YYYY');
ELSE
v_installdatum:=TRUNC(SYSDATE);
END IF;
SELECT COUNT(*) INTO v_count
FROM ins_deel
WHERE ins_deel_omschrijving=rec.ins_deel_omschrijving
AND ins_deel_verwijder IS NULL;
IF v_count=0 THEN
INSERT INTO fac_imp_ins (ins_discipline_omschrijving,
ins_srtgroep_omschrijving,
ins_srtdeel_code,
@@ -525,21 +992,22 @@ BEGIN
ins_kenmerkwaarde11,
ins_kenmerkwaarde12,
ins_kenmerkwaarde13,
ins_kenmerkwaarde14)
ins_kenmerkwaarde14,
ins_kenmerkwaarde15)
VALUES (rec.ins_discipline,
rec.ins_groep,
SUBSTR(rec.ins_srtdeel_code,1,8),
rec.ins_srtdeel_omschrijving,
rec.ins_deel_omschrijving,
rec.ins_deel_opmerking,
rec.ins_kenm_instaldatum,
v_installdatum,
v_locatie_code,
v_gebouw_code,
v_verdieping_nr,
v_ruimte_nr,
1,
'Eigenaar|0='||rec.ins_kenm_eigenaar,
v_huidige_locatie,
'Locatie|0='||v_huidige_locatie,
'Model|0='||rec.ins_kenm_model,
'TypeNr|0='||rec.ins_kenm_type,
'Serienummer|0='||rec.ins_kenm_serienr,
@@ -551,8 +1019,14 @@ BEGIN
'Einde Garantie|0='||rec.ins_kenm_garantie,
'Status|0='||rec.ins_kenm_status,
'Aanschafprijs|0='||TRIM(rec.ins_kenm_aanschafprijs),
'Installatie datum|0='||TO_CHAR(rec.ins_kenm_instaldatum,'DD-MM-YYY')
'Installatie datum|0='||rec.ins_kenm_instaldatum,
'Onderhouddatum|0='||rec.ins_onderhoud_datum
);
ELSE
fac.imp_writelog (p_import_key,
'W',
'Object : '||rec.ins_deel_omschrijving || ' is al bekend en wordt dus overgeslagen','');
END IF;
END IF;
END LOOP;
@@ -600,6 +1074,8 @@ AS
v_ins_srtdeel_key NUMBER;
v_srtcontrole_key NUMBER;
v_count NUMBER;
v_counter NUMBER;
v_ins_deelsrtcontrole_key NUMBER;
v_maand VARChar2(15);
@@ -607,7 +1083,7 @@ BEGIN
fac_update_ins(p_import_key);
v_counter:=0;
-- Gaan we nu de objecten aan de juiste afdeling koppelen
FOR rec IN sel
LOOP
@@ -650,14 +1126,15 @@ BEGIN
prs_kostenplaats k
WHERE k.prs_kostenplaats_nr = rec.prs_afdeling_code
AND a.prs_kostenplaats_key = k.prs_kostenplaats_key
AND a.prs_afdeling_omschrijving LIKE 'T-%' -- Pakken we de teamleiders afdeling
AND UPPER(a.prs_afdeling_omschrijving) NOT LIKE 'T-%' -- Pakken we de teamleiders afdeling
AND UPPER(a.prs_afdeling_omschrijving) NOT LIKE 'STAGIARE%' -- Pakken we de teamleiders afdeling
AND prs_afdeling_verwijder IS NULL;
ELSE
v_prs_afdeling_key:=-1;
fac.imp_writelog (p_import_key,
'W',
'Afdeling niet gevonden :'||rec.prs_afdeling_code,'');
'Afdeling niet gevonden :'||rec.prs_afdeling_code||' voor object :'||rec.ins_deel_omschrijving,'');
END IF;
@@ -673,8 +1150,10 @@ BEGIN
END LOOP;
-- gaan we nu de periodiek taken maken en aan de xcp records met de juiste taak start datum
v_counter:=0;
FOR c IN sel_controle
LOOP
v_counter:=v_counter+1;
-- Welk maand met het onderhoud plaats vinden
SELECT CASE TO_CHAR(TO_DATE(c.ctr_onderhoud_datum,'DD-MM-YYYY'),'MM')
WHEN '01' THEN 'Januari'
@@ -695,8 +1174,8 @@ BEGIN
FROM DUAL;
BEGIN
v_aanduiding := ' Ophalen van srtcontrole voor object '|| c.ins_deel_omschrijving||' in '||v_maand||' gaat fout.';
select isc.ins_srtcontrole_key,
v_aanduiding := 'Ophalen van srtcontrole voor object '|| c.ins_deel_omschrijving||' in '||v_maand||' gaat fout. - '||v_counter;
select MIN(isc.ins_srtcontrole_key),
i.ins_deel_key,
i.ins_srtdeel_key
INTO v_srtcontrole_key,
@@ -713,25 +1192,34 @@ BEGIN
AND id.ins_discipline_key=isg.ins_discipline_key
AND UPPER(id.ins_discipline_omschrijving)=UPPER('Medische Techniek')
AND isc.ins_srtinstallatie_key=i.ins_srtdeel_key
AND UPPER(isc.ins_srtcontrole_omschrijving) like UPPER('Onderhoud %'||v_maand||'%');
AND UPPER(isc.ins_srtcontrole_omschrijving) like UPPER('Onderhoud %'||v_maand||'%')
GROUP BY i.ins_deel_key,i.ins_srtdeel_key;
v_aanduiding:='Uitzonderingstaak niet gevonden';
v_count:=0;
SELECT count(*)
INTO v_count
from ins_srtcontroledl_xcp isx
WHERE isx.ins_srtcontrole_key=v_srtcontrole_key
AND ins_deel_key=v_ins_deel_key;
IF v_count=0
EXCEPTION
WHEN NO_DATA_FOUND
THEN
INSERT INTO ins_srtcontroledl_xcp (ins_deel_key,
ins_srtcontrole_key,
ins_srtcontroledl_xcp_startdat)
VALUES (v_ins_deel_key,
v_srtcontrole_key,
fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY'));
END IF;
v_srtcontrole_key:=-1;
fac.imp_writelog (p_import_key,
'W',
v_aanduiding,
'Taak niet toegevoegd');
END;-- v_aanduiding:='Uitzonderingstaak niet gevonden';
-- v_count:=0;
-- SELECT count(*)
-- INTO v_count
-- from ins_srtcontroledl_xcp isx
-- WHERE isx.ins_srtcontrole_key=v_srtcontrole_key
-- AND ins_deel_key=v_ins_deel_key;
-- IF v_count=0
-- THEN
-- INSERT INTO ins_srtcontroledl_xcp (ins_deel_key,
-- ins_srtcontrole_key,
-- ins_srtcontroledl_xcp_startdat)
-- VALUES (v_ins_deel_key,
-- v_srtcontrole_key,
-- fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY'));
-- END IF;
-- Gaan we nu de srtcontrole die niet gelden voor dit asset een xcp record aanmaken met einddatum
@@ -754,17 +1242,52 @@ BEGIN
END IF;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND
-- gaan we hem ook gelijk inplannen
IF v_ins_deel_key>0 AND v_srtcontrole_key>0
THEN
fac.imp_writelog (p_import_key,
'W',
v_aanduiding,
'Taak niet toegevoegd');
END;
SELECT COUNT(*)
INTO v_count
FROM ins_deelsrtcontrole
WHERE ins_deel_key=v_ins_deel_key
AND ins_srtcontrole_key = v_srtcontrole_key
AND ins_deelsrtcontrole_plandatum = fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY')
AND ins_scenario_key=1;
IF v_count=0
THEN
INSERT INTO ins_deelsrtcontrole( ins_deel_key,
ins_srtcontrole_key,
ins_deelsrtcontrole_plandatum,
ins_deelsrtcontrole_status,
ins_scenario_key,
prs_perslid_key)
VALUES(v_ins_deel_key,
v_srtcontrole_key,
fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY'),
0, --status ingepland
1, -- sceario
3); -- Facilitor
END IF;
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg :=
v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key,
'E',
'Importproces MT assets afgebroken! ('||v_counter||')',
v_errormsg);
END;