FZKH#87266 -- Implementatie Import MT assets en Meldingen
svn path=/Customer/trunk/; revision=69104
This commit is contained in:
603
FZKH/FZKH.sql
603
FZKH/FZKH.sql
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user