2022 lines
98 KiB
SQL
2022 lines
98 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific sql statements for the FACILITOR database
|
|
-- Voor dbuser invullen: - indien script voor 1 klant is: 'AADS' (de klantcode, zoals vermeld in fac_version_cust)
|
|
-- - script is voor meerdere klanten: 'AAXX' (de groepcode, zoals vermeld in fac_version_group)
|
|
-- - script is voor meerdere klanten met naam volgens een bepaald patroon: '^AA|^ASMS|^GULU|^NMMS|^RABO|^ZKHM'
|
|
-- Ook als het script gedraaid wordt voor de verkeerde cust wordt er een logfile gemaakt.
|
|
-- (dit in tegenstelling tot sample_xxxx.sql)
|
|
|
|
DEFINE thisfile = 'WDKA.SQL'
|
|
DEFINE dbuser = 'WDKA'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
|
SPOOL &fcltlogfile
|
|
WHENEVER SQLERROR EXIT;
|
|
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
|
WHENEVER SQLERROR CONTINUE;
|
|
---------------------------------------
|
|
PROMPT &fcltcusttxt
|
|
---------------------------------------
|
|
SET DEFINE OFF
|
|
|
|
------ payload begin ------
|
|
|
|
CREATE OR REPLACE PACKAGE WDKA
|
|
AS
|
|
PROCEDURE insert_object(p_objectNr IN VARCHAR2, p_mld_melding_key IN NUMBER);
|
|
|
|
PROCEDURE insert_ctr_kenmerk (p_srtcontrole_key IN NUMBER);
|
|
|
|
PROCEDURE setKenmerkObject(p_ins_key IN NUMBER, p_ins_srtinstallatie_key IN NUMBER, p_kenmerk_omschrijving IN VARCHAR2, p_kenmerk_waarde IN VARCHAR2);
|
|
|
|
FUNCTION getSrtControldatum(p_datum IN DATE, p_cyclus IN NUMBER) RETURN DATE;
|
|
|
|
FUNCTION getCtrGroep(v_taak in VARCHAR2) RETURN NUMBER;
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PACKAGE BODY WDKA
|
|
AS
|
|
|
|
PROCEDURE insert_object(p_objectNr IN VARCHAR2, p_mld_melding_key IN NUMBER)
|
|
AS
|
|
v_objectNr VARCHAR2(20):='';
|
|
v_objectSoortKey VARCHAR2(10):='';
|
|
v_aanmaak VARCHAR2(10):='';
|
|
v_alg_ruimte_key NUMBER:=0;
|
|
v_aanwezig NUMBER:=0;
|
|
v_ins_deel_key NUMBER:=0;
|
|
|
|
BEGIN
|
|
-- We halen eerts de object identiofocatio op
|
|
v_objectNr := p_objectNr;
|
|
--SELECT mkm.mld_kenmerkmelding_waarde INTO v_objectNr from mld_melding m, mld_kenmerkmelding mkm where m.mld_melding_key=p_mld_melding_key AND mkm.mld_melding_key=m.mld_melding_key AND mkm.mld_kenmerk_key=41;
|
|
|
|
-- Welk objectsoort is er gekozen
|
|
SELECT mkm.mld_kenmerkmelding_waarde
|
|
INTO v_objectSoortKey
|
|
FROM mld_melding m, mld_kenmerkmelding mkm
|
|
WHERE m.mld_melding_key=p_mld_melding_key
|
|
AND mkm.mld_melding_key=m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key=2; -- D=2, A=201
|
|
|
|
-- Moeten we een object aanmaken
|
|
SELECT mkm.mld_kenmerkmelding_waarde
|
|
INTO v_aanmaak
|
|
FROM mld_melding m, mld_kenmerkmelding mkm
|
|
WHERE m.mld_melding_key=p_mld_melding_key
|
|
AND mkm.mld_melding_key=m.mld_melding_key
|
|
AND mkm.mld_kenmerk_key=3; -- D=3, A=181
|
|
|
|
-- We halen de alg_ruimte_key op van de locatie Onbekend/ ruimte 999999
|
|
SELECT alg_ruimte_key
|
|
INTO v_alg_ruimte_key
|
|
FROM ALG_V_ALLONRGOED_GEGEVENS
|
|
WHERE alg_ruimte_nr='999999'
|
|
AND alg_gebouw_code='99.9';
|
|
|
|
SELECT count(*) into v_aanwezig
|
|
FROm ins_deel
|
|
WHERE ins_deel_omschrijving=v_objectNr
|
|
AND ins_deel_verwijder IS NULL;
|
|
|
|
IF (v_aanwezig = 0 AND v_aanmaak='82') THEN -- D=82, A=1501
|
|
|
|
INSERT INTO ins_deel(ins_deel_omschrijving, ins_deel_aanmaak, ins_srtdeel_key, ins_deel_actief, ins_alg_ruimte_key, ins_alg_ruimte_type)
|
|
VALUES(v_objectNr, SYSDATE, v_objectSoortKey, 0, v_alg_ruimte_key ,'R')
|
|
RETURNING ins_deel_key
|
|
INTO v_ins_deel_key;
|
|
fac.trackaction ('INSNEW', v_ins_deel_key, 3, SYSDATE,
|
|
'Object '||v_objectNr||' geregistreerd uit melding '||p_mld_melding_key||'.');
|
|
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, p_mld_melding_key, SYSDATE);
|
|
END IF;
|
|
fac.trackaction ('MLDUPD', p_mld_melding_key, 3, SYSDATE,
|
|
'Object '||v_objectNr||' toegevoegd aan melding.');
|
|
END IF;
|
|
EXCEPTION WHEN NO_DATA_FOUND THEN
|
|
fac.trackaction ('MLDUPD', p_mld_melding_key, 3, SYSDATE,
|
|
'Fout bij aanmaken object '||v_objectNr);
|
|
END;
|
|
|
|
-- Aanmaken van resultaat kenmerken bij periodiek taak
|
|
PROCEDURE insert_ctr_kenmerk (p_srtcontrole_key IN NUMBER)
|
|
AS
|
|
v_insrtkenmerk_key NUMBER;
|
|
BEGIN
|
|
v_insrtkenmerk_key:=-1;
|
|
|
|
SELECT isk.ins_srtkenmerk_key INTO v_insrtkenmerk_key FROM ins_srtkenmerk isk WHERE isk.ins_srtkenmerk_upper=UPPER('resultaat waardes(50)');
|
|
IF v_insrtkenmerk_key>0 THEN
|
|
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Aarde (Ohm)',100);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Aarde Resultaat',110);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Lekstroom (mA)',120);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Lekstroom resultaat',130);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Aanraak lekstroom (mA)',140);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Aanraak lekstroom resultaat',150);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Vervangende lekstroom (mA)',160);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Vervangende lekstroom resultaat',170);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Isolatie (MOhm)',180);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Isolatie resultaat',190);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Bedrading',200);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Bedrading resultaat',210);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Gebruikerstest',220);
|
|
INSERT INTO ins_kenmerk(ins_srtkenmerk_key,ins_srtinstallatie_key,ins_kenmerk_niveau, ins_kenmerk_toonbaar, ins_kenmerk_omschrijving, ins_kenmerk_volgnummer) values(v_insrtkenmerk_key,p_srtcontrole_key,'C',1,'Gebruikers resultaat',230);
|
|
COMMIT;
|
|
END IF;
|
|
|
|
END;
|
|
|
|
PROCEDURE setKenmerkObject(p_ins_key IN NUMBER, p_ins_srtinstallatie_key IN NUMBER, p_kenmerk_omschrijving IN VARCHAR2, p_kenmerk_waarde IN VARCHAR2)
|
|
AS
|
|
v_ins_kenmerk_key NUMBER;
|
|
BEGIN
|
|
v_ins_kenmerk_key:=-1;
|
|
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key
|
|
FROM ins_kenmerk where UPPER(ins_kenmerk.ins_kenmerk_omschrijving)=UPPER(p_kenmerk_omschrijving)
|
|
AND ins_srtinstallatie_key=p_ins_srtinstallatie_key
|
|
AND ins_kenmerk_niveau='D'
|
|
AND ins_kenmerk_verwijder IS NULL;
|
|
IF v_ins_kenmerk_key>-1 THEN
|
|
flx.setflex('INS',v_ins_kenmerk_key,p_ins_key,p_kenmerk_waarde);
|
|
|
|
END IF;
|
|
END;
|
|
|
|
FUNCTION getSrtControldatum(p_datum IN DATE, p_cyclus IN NUMBER) RETURN DATE
|
|
AS
|
|
v_count NUMBER;
|
|
r_datum DATE;
|
|
r_datum_str VARCHAR2(10);
|
|
BEGIN
|
|
v_count:=0;
|
|
IF (p_cyclus=12) THEN
|
|
r_datum_str := TO_CHAR(p_datum,'DD')||'-'||TO_CHAR(p_datum,'MM')||'-'||TO_CHAR(SYSDATE,'YYYY');
|
|
r_datum := TO_DATE(r_datum_str,'DD-MM-YYYY');
|
|
IF r_datum > TRUNC(SYSDATE) THEN
|
|
r_datum := ADD_MONTHS(r_datum, -12);
|
|
END IF;
|
|
ELSIF (p_cyclus=36) THEN
|
|
IF (EXTRACT(YEAR FROM p_datum) > EXTRACT(YEAR FROM SYSDATE)) THEN
|
|
r_datum:=ADD_MONTHS(p_datum,-1*p_cyclus); -- geven laatste gekeurde datum door.
|
|
ELSE
|
|
v_count:= FLOOR((2022-EXTRACT(YEAR FROM p_datum))*12/p_cyclus);
|
|
r_datum:= ADD_MONTHS(p_datum,v_count*p_cyclus);
|
|
END IF;
|
|
ELSE
|
|
r_datum:=p_datum;
|
|
END IF;
|
|
RETURN r_datum;
|
|
END;
|
|
|
|
|
|
FUNCTION getCtrGroep(v_taak IN VARCHAR2) RETURN NUMBER
|
|
AS
|
|
v_groep NUMBER;
|
|
BEGIN
|
|
v_groep:=-1;
|
|
BEGIN
|
|
IF UPPER(v_taak) = '11A - NEN3140'
|
|
THEN
|
|
SELECT ins_discipline_key INTO v_groep
|
|
FROM ctr_discipline
|
|
WHERE UPPER(ins_discipline_omschrijving)='NEN3140'
|
|
and ins_discipline_verwijder IS NULL;
|
|
END IF;
|
|
IF UPPER(v_taak) = 'APK KEURING'
|
|
THEN
|
|
SELECT ins_discipline_key INTO v_groep
|
|
FROM ctr_discipline
|
|
WHERE UPPER(ins_discipline_omschrijving)='APK KEURING'
|
|
and ins_discipline_verwijder IS NULL;
|
|
END IF;
|
|
IF UPPER(v_taak) = 'REGISTRATIE'
|
|
THEN
|
|
SELECT ins_discipline_key INTO v_groep
|
|
FROM ctr_discipline
|
|
WHERE UPPER(ins_discipline_omschrijving)='REGISTRATIE'
|
|
and ins_discipline_verwijder IS NULL;
|
|
END IF;
|
|
IF UPPER(SUBSTR(v_taak,0,3)) = '20A' OR
|
|
UPPER(SUBSTR(v_taak,0,3)) = '53A' OR
|
|
UPPER(SUBSTR(v_taak,0,3)) = '58A' OR
|
|
UPPER(SUBSTR(v_taak,0,3)) = '60A' OR
|
|
UPPER(SUBSTR(v_taak,0,3)) = '63A'
|
|
THEN
|
|
SELECT ins_discipline_key INTO v_groep
|
|
FROM ctr_discipline
|
|
WHERE UPPER(ins_discipline_omschrijving)='INTERN ONDERHOUD'
|
|
and ins_discipline_verwijder IS NULL;
|
|
END IF;
|
|
IF UPPER(SUBSTR(v_taak,0,3)) = '21' OR
|
|
UPPER(SUBSTR(v_taak,0,3)) = '53B' OR
|
|
UPPER(SUBSTR(v_taak,0,3)) = '58B' OR
|
|
UPPER(SUBSTR(v_taak,0,3)) = '58C' OR
|
|
UPPER(SUBSTR(v_taak,0,3)) = '59B' OR
|
|
UPPER(SUBSTR(v_taak,0,3)) = '62B' OR
|
|
UPPER(v_taak) = 'SKH KEURING'
|
|
THEN
|
|
SELECT ins_discipline_key INTO v_groep
|
|
FROM ctr_discipline
|
|
WHERE UPPER(ins_discipline_omschrijving)='EXTERN ONDERHOUD'
|
|
and ins_discipline_verwijder IS NULL;
|
|
END IF;
|
|
|
|
IF v_groep<0
|
|
THEN
|
|
v_groep:=3;
|
|
END IF;
|
|
RETURN v_groep;
|
|
EXCEPTION WHEN NO_DATA_FOUND THEN
|
|
v_groep:=3;
|
|
RETURN v_groep;
|
|
END;
|
|
END;
|
|
|
|
|
|
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_INSPECTIES(p_import_key IN NUMBER)
|
|
AS
|
|
c_fielddelimitor VARCHAR2 (1) := ';';
|
|
v_newline VARCHAR2 (4000); -- Input line
|
|
v_errormsg VARCHAR2 (1000);
|
|
v_errorhint VARCHAR2 (1000);
|
|
v_aanduiding VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
header_is_valid NUMBER;
|
|
v_count NUMBER;
|
|
v_ongeldig NUMBER (1);
|
|
v_ins_discipline_omschrijving VARCHAR2(1000);
|
|
v_ins_srtgroep_omschrijving VARCHAR2(60);
|
|
v_ins_srtdeel_code VARCHAR2(50);
|
|
v_srttaak_omschrijving VARCHAR2(60);
|
|
v_srttaak_periode VARCHAR2(10);
|
|
v_srttaak_eenheid VARCHAR2(10);
|
|
v_srttaak_mode VARCHAR2(10);
|
|
v_srttaak_omschrijving_2 VARCHAR2(60);
|
|
v_srttaak_periode_2 VARCHAR2(10);
|
|
v_srttaak_eenheid_2 VARCHAR2(10);
|
|
v_srttaak_mode_2 VARCHAR2(10);
|
|
v_srttaak_omschrijving_3 VARCHAR2(60);
|
|
v_srttaak_periode_3 VARCHAR2(10);
|
|
v_srttaak_eenheid_3 VARCHAR2(10);
|
|
v_srttaak_mode_3 VARCHAR2(10);
|
|
|
|
|
|
|
|
CURSOR c
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
|
|
BEGIN
|
|
v_count := 1;
|
|
DELETE fac_imp_inspectie;
|
|
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
IF v_count > 1
|
|
THEN
|
|
v_count:=v_count+1;
|
|
v_errormsg := 'Fout FETCH te importeren rij '||v_count;
|
|
|
|
v_newline := rec.fac_imp_file_line;
|
|
|
|
v_aanduiding := '';
|
|
|
|
-- Lees alle veldwaarden
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_ins_discipline_omschrijving);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 2, v_ins_srtgroep_omschrijving);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_ins_srtdeel_code);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_srttaak_omschrijving);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 5, v_srttaak_periode);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 6, v_srttaak_eenheid);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_srttaak_mode);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 9, v_srttaak_omschrijving_2);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 10, v_srttaak_periode_2);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 11, v_srttaak_eenheid_2);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 12, v_srttaak_mode_2);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 14, v_srttaak_omschrijving_3);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 15, v_srttaak_periode_3);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 16, v_srttaak_eenheid_3);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 17, v_srttaak_mode_3);
|
|
|
|
IF (UPPER(v_srttaak_omschrijving) != 'REGISTRATIE')
|
|
THEN
|
|
INSERT INTO fac_imp_inspectie(INS_DISCIPLINE_OMSCHRIJVING,
|
|
INS_SRTGROEP_OMSCHRIJVING,
|
|
INS_SRTDEEL_CODE,
|
|
INS_SRTCONTROLE_EENHEID,
|
|
INS_SRTCONTROLE_INFO,
|
|
INS_SRTCONTROLE_MODE,
|
|
INS_SRTCONTROLE_OMSCHRIJVING,
|
|
INS_SRTCONTROLE_PERIODE
|
|
)
|
|
VALUES (v_ins_discipline_omschrijving,
|
|
v_ins_srtgroep_omschrijving,
|
|
v_ins_srtdeel_code,
|
|
v_srttaak_eenheid,
|
|
'',
|
|
v_srttaak_mode,
|
|
v_srttaak_omschrijving,
|
|
v_srttaak_periode);
|
|
|
|
END IF;
|
|
IF ( LENGTH(v_srttaak_omschrijving_2)>0
|
|
AND LENGTH(v_srttaak_periode_2)>0
|
|
AND LENGTH(v_srttaak_eenheid_2)>0
|
|
AND LENGTH(v_srttaak_mode_2)>0
|
|
AND v_ins_srtdeel_code != 'Registratie')
|
|
THEN
|
|
INSERT INTO fac_imp_inspectie(INS_DISCIPLINE_OMSCHRIJVING,
|
|
INS_SRTGROEP_OMSCHRIJVING,
|
|
INS_SRTDEEL_CODE,
|
|
INS_SRTCONTROLE_EENHEID,
|
|
INS_SRTCONTROLE_INFO,
|
|
INS_SRTCONTROLE_MODE,
|
|
INS_SRTCONTROLE_OMSCHRIJVING,
|
|
INS_SRTCONTROLE_PERIODE
|
|
)
|
|
VALUES (v_ins_discipline_omschrijving,
|
|
v_ins_srtgroep_omschrijving,
|
|
v_ins_srtdeel_code,
|
|
v_srttaak_eenheid_2,
|
|
'',
|
|
v_srttaak_mode_2,
|
|
v_srttaak_omschrijving_2,
|
|
v_srttaak_periode_2);
|
|
END IF;
|
|
IF ( LENGTH(v_srttaak_omschrijving_3)>0
|
|
AND LENGTH(v_srttaak_periode_3)>0
|
|
AND LENGTH(v_srttaak_eenheid_3)>0
|
|
AND LENGTH(v_srttaak_mode_3)>0
|
|
AND v_ins_srtdeel_code != 'Registratie')
|
|
THEN
|
|
INSERT INTO fac_imp_inspectie(INS_DISCIPLINE_OMSCHRIJVING,
|
|
INS_SRTGROEP_OMSCHRIJVING,
|
|
INS_SRTDEEL_CODE,
|
|
INS_SRTCONTROLE_EENHEID,
|
|
INS_SRTCONTROLE_INFO,
|
|
INS_SRTCONTROLE_MODE,
|
|
INS_SRTCONTROLE_OMSCHRIJVING,
|
|
INS_SRTCONTROLE_PERIODE
|
|
)
|
|
VALUES (v_ins_discipline_omschrijving,
|
|
v_ins_srtgroep_omschrijving,
|
|
v_ins_srtdeel_code,
|
|
v_srttaak_eenheid_3,
|
|
'',
|
|
v_srttaak_mode_3,
|
|
v_srttaak_omschrijving_3,
|
|
v_srttaak_periode_3);
|
|
END IF;
|
|
ELSE
|
|
v_count := v_count+1;
|
|
END IF;
|
|
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;
|
|
END LOOP;
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE WDKA_UPDATE_INSPECTIES(p_import_key IN NUMBER)
|
|
AS
|
|
BEGIN
|
|
fac_update_inspectie(p_import_key);
|
|
END;
|
|
/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_ASSETS(p_import_key IN NUMBER)
|
|
AS
|
|
|
|
c_fielddelimitor VARCHAR2 (1) := ';';
|
|
v_newline VARCHAR2 (4000); -- Input line
|
|
v_errormsg VARCHAR2 (1000);
|
|
v_errorhint VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
header_is_valid NUMBER;
|
|
v_count NUMBER;
|
|
v_ongeldig NUMBER (1);
|
|
v_mode NUMBER (1);
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_all_null BOOLEAN;
|
|
v_count_error NUMBER (10);
|
|
v_count_tot NUMBER (10);
|
|
v_count_import NUMBER (10);
|
|
|
|
v_gebouw_code VARCHAR2(100);
|
|
v_locatie_code VARCHAR2(100);
|
|
|
|
v_alg_gebouw_code VARCHAR2(100);
|
|
v_alg_locatie_code VARCHAR2(100);
|
|
v_alg_verdieping_volgnr NUMBER;
|
|
v_alg_ruimte_nr VARCHAR2(100);
|
|
v_ins_discipline_omschrijving VARCHAR2(100);
|
|
d_ins_discipline_omschrijving VARCHAR2(100);
|
|
v_ins_srtgroep_omschrijving VARCHAR2(100);
|
|
d_ins_srtgroep_omschrijving VARCHAR2(100);
|
|
v_ins_srtdeel_code VARCHAR2(100);
|
|
v_ins_srtdeel_omschrijving VARCHAR2(100);
|
|
d_ins_srtdeel_omschrijving VARCHAR2(100);
|
|
v_ins_deel_aantal NUMBER;
|
|
v_ins_deel_omschrijving VARCHAR2(100);
|
|
v_ins_deel_opmerking VARCHAR2(100);
|
|
v_discipline_key NUMBER;
|
|
v_srtgroep_key NUMBER;
|
|
v_ins_deel_aanmaak DATE;
|
|
|
|
v_kenmerk1 VARCHAR2(1000);
|
|
v_kenmerk2 VARCHAR2(1000);
|
|
v_kenmerk3 VARCHAR2(1000);
|
|
v_kenmerk4 VARCHAR2(1000);
|
|
v_kenmerk5 VARCHAR2(1000);
|
|
v_kenmerk6 VARCHAR2(1000);
|
|
v_kenmerk7 VARCHAR2(1000);
|
|
v_kenmerk8 VARCHAR2(1000);
|
|
v_kenmerk9 VARCHAR2(1000);
|
|
v_kenmerk10 VARCHAR2(1000);
|
|
v_kenmerk11 VARCHAR2(1000);
|
|
v_kenmerk12 VARCHAR2(1000);
|
|
v_kenmerk13 VARCHAR2(1000);
|
|
v_kenmerk14 VARCHAR2(1000);
|
|
v_kenmerk15 VARCHAR2(1000);
|
|
v_kenmerk16 VARCHAR2(1000);
|
|
v_kenmerk17 VARCHAR2(1000);
|
|
v_kenmerk18 VARCHAR2(1000);
|
|
v_kenmerk19 VARCHAR2(1000);
|
|
v_kenmerk20 VARCHAR2(1000);
|
|
|
|
|
|
CURSOR c
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
BEGIN
|
|
DELETE fac_imp_ins;
|
|
v_count_import := 0;
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
V_count_import := v_count_import +1;
|
|
v_errormsg := 'Fout FETCH te importeren rij';
|
|
|
|
v_newline := rec.fac_imp_file_line;
|
|
IF v_count_import >1 THEN
|
|
v_errormsg := 'Fout opvragen K1 te importeren rij '||v_count_import;
|
|
v_aanduiding := '';
|
|
|
|
-- Lees alle veldwaarden
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 11, v_locatie_code);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 12, v_gebouw_code);
|
|
v_errormsg := 'Fout opvragen K3 te importeren rij '||v_count_import;
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 13, v_alg_verdieping_volgnr);
|
|
v_errormsg := 'Fout opvragen K4 te importeren rij '||v_count_import;
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 14, v_alg_ruimte_nr);
|
|
v_errormsg := 'Fout opvragen K2 te importeren rij '||v_count_import;
|
|
|
|
v_errormsg := 'Fout opvragen K5 te importeren rij '||v_count_import;
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_ins_discipline_omschrijving);
|
|
v_errormsg := 'Fout opvragen K6te importeren rij '||v_count_import;
|
|
--fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_ins_srtgroep_code);
|
|
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_ins_srtgroep_omschrijving);
|
|
v_errormsg := 'Fout opvragen K8 te importeren rij '||v_count_import;
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_ins_srtdeel_code);
|
|
v_errormsg := 'Fout opvragen K9 te importeren rij '||v_count_import;
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 5, v_ins_srtdeel_omschrijving);
|
|
v_errormsg := 'Fout opvragen K14 te importeren rij '||v_count_import;
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 22, v_ins_deel_aantal);
|
|
v_errormsg := 'Fout opvragen K10 te importeren rij '||v_count_import;
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 6, v_ins_deel_omschrijving);
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 7, v_ins_deel_opmerking);
|
|
v_errormsg := 'Fout opvragen K12 te importeren rij '||v_count_import;
|
|
|
|
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 23, v_kenmerk1); -- beheerder
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 24, v_kenmerk2); -- keuring1
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 25, v_kenmerk3); -- keuring1 datum
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 26, v_kenmerk4); -- keuring2
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 27, v_kenmerk5); -- keuring2 datum
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 28, v_kenmerk6); -- keuring3
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 29, v_kenmerk7); -- keuring3 datum
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 30, v_kenmerk8); -- serienummer
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 31, v_kenmerk9); -- kenteken
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 32, v_kenmerk10); -- type
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 33, v_kenmerk11); -- merk/fabrikant
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 34, v_kenmerk12); -- Garanmtiedatum
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 35, v_kenmerk13); -- Leverancier
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 36, v_kenmerk14); -- Ontvangstdatum
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 37, v_kenmerk15); -- Objectstatus
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 38, v_kenmerk16); -- Storings afhandeling
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 39, v_kenmerk17); -- bouwjaar
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 40, v_kenmerk18); -- extren referentie
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 41, v_kenmerk19); -- Kenmerk
|
|
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 42, v_kenmerk20); -- onderhoudsbedrijf
|
|
|
|
v_count_tot := v_count_tot + 1;
|
|
|
|
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_discipline_omschrijving: ' || v_ins_srtdeel_code||'(REGEL '||v_count_import||')';
|
|
d_ins_discipline_omschrijving:='';
|
|
BEGIN
|
|
SELECT ins_discipline_key, ins_discipline_omschrijving
|
|
INTO v_discipline_key, d_ins_discipline_omschrijving
|
|
FROM ins_discipline d
|
|
WHERE UPPER(d.ins_discipline_omschrijving) = UPPER(v_ins_discipline_omschrijving) AND d.ins_discipline_verwijder IS NULL;
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
INSERT INTO ins_tab_discipline (ins_discipline_module,ins_discipline_omschrijving,
|
|
ins_discipline_min_level)
|
|
VALUES ('INS', v_ins_discipline_omschrijving, 1)
|
|
RETURNING ins_discipline_key
|
|
INTO v_discipline_key;
|
|
|
|
INSERT INTO ins_disc_params (ins_discipline_key,
|
|
ins_disc_params_autonum)
|
|
VALUES (v_discipline_key, 2);
|
|
d_ins_discipline_omschrijving:= v_ins_discipline_omschrijving;
|
|
END;
|
|
|
|
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtgroep_omschrijving: ' || v_ins_srtdeel_code ||'(REGEL '||v_count_import||')';
|
|
d_ins_srtgroep_omschrijving:='';
|
|
|
|
|
|
BEGIN
|
|
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtgroep_omschrijving(2): ' || v_ins_srtdeel_code ||'(REGEL '||v_count_import||')';
|
|
SELECT ins_srtgroep_key,sg.ins_srtgroep_omschrijving
|
|
INTO v_srtgroep_key, d_ins_srtgroep_omschrijving
|
|
FROM ins_srtgroep sg
|
|
WHERE UPPER(sg.ins_srtgroep_omschrijving) = UPPER(v_ins_srtgroep_omschrijving)
|
|
AND sg.ins_srtgroep_verwijder IS NULL;
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtgroep_omschrijving(3): ' || v_ins_srtdeel_code ||'(REGEL '||v_count_import||')';
|
|
INSERT INTO ins_srtgroep (ins_discipline_key,
|
|
ins_srtgroep_module,
|
|
ins_srtgroep_omschrijving)
|
|
VALUES (v_discipline_key, 'INS', v_ins_srtgroep_omschrijving)
|
|
RETURNING ins_srtgroep_key
|
|
INTO v_srtgroep_key;
|
|
d_ins_srtgroep_omschrijving := v_ins_srtgroep_omschrijving;
|
|
END;
|
|
|
|
v_errormsg := 'Fout bij toevoegen te impoteren v_ins_srtdeel_omschrijving: ' || v_ins_srtdeel_code||'(REGEL '||v_count_import||')';
|
|
d_ins_srtdeel_omschrijving:='';
|
|
BEGIN
|
|
SELECT sd.ins_srtdeel_omschrijving
|
|
INTO v_ins_srtdeel_omschrijving
|
|
FROM ins_srtdeel sd
|
|
WHERE sd.ins_srtdeel_code = v_ins_srtdeel_code AND sd.ins_srtdeel_verwijder IS NULL;
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
INSERT INTO ins_srtdeel (ins_srtgroep_key,
|
|
ins_srtdeel_module,
|
|
ins_srtdeel_code,
|
|
ins_srtdeel_omschrijving,
|
|
ins_srtdeel_binding)
|
|
VALUES (v_srtgroep_key,
|
|
'INS',
|
|
v_ins_srtdeel_code,
|
|
v_ins_srtdeel_omschrijving,
|
|
17);
|
|
|
|
d_ins_srtdeel_omschrijving := v_ins_srtdeel_omschrijving;
|
|
END;
|
|
|
|
|
|
v_errormsg := 'Fout bij toevoegen te impoteren v_alg_ruimte_nr: ' || v_alg_ruimte_nr;
|
|
|
|
-- v_alg_locatie_code:='';
|
|
--v_alg_gebouw_code :='';
|
|
--v_alg_verdieping_volgnr:=-4;
|
|
BEGIN
|
|
|
|
SELECT alg_locatie_code, alg_gebouw_upper, alg_verdieping_volgnr INTO v_alg_locatie_code,v_alg_gebouw_code, v_alg_verdieping_volgnr
|
|
FROm alg_v_ruimte_gegevens rg
|
|
WHERE UPPER(rg.alg_ruimte_nr) = UPPER(v_alg_ruimte_nr) AND rg.alg_gebouw_upper = UPPER(v_gebouw_code) AND rg.alg_verdieping_volgnr=v_alg_verdieping_volgnr;
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_alg_locatie_code:= v_locatie_code;
|
|
v_alg_gebouw_code := v_gebouw_code;
|
|
v_alg_verdieping_volgnr:=0;
|
|
v_alg_ruimte_nr:='999999';
|
|
END;
|
|
v_errormsg := 'Fout bij aanmaken aanmaal datum: ';
|
|
v_ins_deel_aanmaak:=SYSDATE;
|
|
|
|
IF v_ins_deel_aantal IS NULL OR LENGTH(v_ins_deel_aantal)<1
|
|
THEN
|
|
v_ins_deel_aantal:=1;
|
|
END IF;
|
|
|
|
|
|
v_ongeldig:=0;
|
|
IF v_ongeldig=0 THEN
|
|
v_errormsg:='Fout bij insert regel '||v_count_tot;
|
|
INSERT INTO fac_imp_ins (ins_discipline_omschrijving,
|
|
ins_srtgroep_omschrijving,
|
|
ins_srtdeel_code,
|
|
ins_srtdeel_omschrijving,
|
|
ins_deel_omschrijving,
|
|
ins_deel_opmerking,
|
|
alg_locatie_code,
|
|
alg_gebouw_code,
|
|
alg_verdieping_volgnr,
|
|
alg_ruimte_nr,
|
|
ins_deel_aanmaak,
|
|
ins_deel_aantal,
|
|
ins_kenmerkwaarde1, -- Code OP
|
|
ins_kenmerkwaarde2, -- Bouwjaar ?
|
|
ins_kenmerkwaarde3, -- eenheid ?
|
|
ins_kenmerkwaarde4, -- eenheid ?
|
|
ins_kenmerkwaarde5, -- eenheid ?
|
|
ins_kenmerkwaarde6, -- eenheid ?
|
|
ins_kenmerkwaarde7, -- eenheid ?
|
|
ins_kenmerkwaarde8, -- eenheid ?
|
|
ins_kenmerkwaarde9, -- eenheid ?
|
|
ins_kenmerkwaarde10, -- Srt Taak Groep
|
|
ins_kenmerkwaarde11, -- Srt Taak
|
|
ins_kenmerkwaarde12, -- Periode
|
|
ins_kenmerkwaarde13, -- Interval (4=jaarlijks)
|
|
ins_kenmerkwaarde14, -- bedrag /matriaal
|
|
ins_kenmerkwaarde15, -- Taak opm
|
|
ins_kenmerkwaarde16,
|
|
ins_kenmerkwaarde17, -- Taak opm
|
|
ins_kenmerkwaarde18, -- Taak opm
|
|
ins_kenmerkwaarde19, -- Taak opm
|
|
ins_kenmerkwaarde20) -- Taak opm
|
|
VALUES (SUBSTR(d_ins_discipline_omschrijving, 1,60),
|
|
SUBSTR(d_ins_srtgroep_omschrijving, 1, 60),
|
|
SUBSTR(v_ins_srtdeel_code,1,10),
|
|
SUBSTR(v_ins_srtdeel_omschrijving, 1, 100),
|
|
SUBSTR(v_ins_deel_omschrijving, 1, 60),
|
|
SUBSTR(v_ins_deel_opmerking, 1, 60),
|
|
SUBSTR(v_alg_locatie_code, 1, 10),
|
|
SUBSTR(v_alg_gebouw_code, 1, 12),
|
|
v_alg_verdieping_volgnr,
|
|
SUBSTR(v_alg_ruimte_nr,1,20),
|
|
SYSDATE,
|
|
to_number(v_ins_deel_aantal),
|
|
DECODE(v_kenmerk1, NULL, NULL, 'Beheerder|0='||v_kenmerk1),
|
|
v_kenmerk2,
|
|
v_kenmerk3,
|
|
v_kenmerk4,
|
|
v_kenmerk5,
|
|
v_kenmerk6,
|
|
v_kenmerk7,
|
|
DECODE(v_kenmerk8, NULL, NULL, 'Serienummer|0='||v_kenmerk8),
|
|
DECODE(v_kenmerk9, NULL, NULL, 'Kenteken|0='||v_kenmerk9),
|
|
DECODE(v_kenmerk10, NULL, NULL, 'Type|0='||v_kenmerk10),
|
|
DECODE(v_kenmerk11, NULL, NULL, 'Merk/Fabrikant|0='||v_kenmerk11),
|
|
DECODE(v_kenmerk12, NULL, NULL, 'Garantiedatum|0='||v_kenmerk12),
|
|
DECODE(v_kenmerk13, NULL, NULL, 'Leverancier|0='||v_kenmerk13),
|
|
DECODE(v_kenmerk14, NULL, NULL, 'Ontvangstdatum|0='||v_kenmerk14),
|
|
DECODE(v_kenmerk15, NULL, NULL, 'Objectstatus|0='||v_kenmerk15),
|
|
DECODE(v_kenmerk16, NULL, NULL, 'Storings afhandeling|0='||v_kenmerk16),
|
|
DECODE(v_kenmerk17, NULL, NULL, 'Bouwjaar|0='||v_kenmerk17),
|
|
DECODE(v_kenmerk18, NULL, NULL, 'Extrene referentie|0='||v_kenmerk18),
|
|
DECODE(v_kenmerk19, NULL, NULL, 'Kenmerk|0='||v_kenmerk19),
|
|
DECODE(v_kenmerk20, NULL, NULL, 'Onderhoudsbedrijf|0='||v_kenmerk20)
|
|
);
|
|
-- fac.imp_writelog (p_import_key,
|
|
-- 'S',
|
|
-- v_errormsg,
|
|
-- v_errorhint);
|
|
ELSE
|
|
v_ongeldig:=0;
|
|
|
|
END IF;
|
|
|
|
END IF;
|
|
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;
|
|
END LOOP;
|
|
|
|
|
|
--FAC_IMPORT_INS(p_import_key);
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE WDKA_UPDATE_ASSETS(p_import_key IN NUMBER)
|
|
AS
|
|
CURSOR sel IS
|
|
SELECT * FROM fac_imp_ins;
|
|
v_errormsg VARCHAR2 (1000);
|
|
v_errorhint VARCHAR2 (1000);
|
|
v_aanduiding VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_perslidkey NUMBER;
|
|
v_ins_srtinstallatie_key NUMBER;
|
|
v_ins_srtcontrole_niveau VARCHAR2(10);
|
|
v_srtcontrole_key NUMBER;
|
|
v_ins_srtcontrole_periode NUMBER;
|
|
v_taak1 VARCHAR2(100);
|
|
v_taak2 VARCHAR2(100);
|
|
v_taak3 VARCHAR2(100);
|
|
v_datum1 VARCHAR2(100);
|
|
v_datum2 VARCHAR2(100);
|
|
v_datum3 VARCHAR2(100);
|
|
v_cyclus1 NUMBER;
|
|
v_cyclus2 NUMBER;
|
|
v_cyclus3 NUMBER;
|
|
v_eenheid NUMBER :=3;
|
|
v_deel_key NUMBER;
|
|
v_count NUMBER;
|
|
v_aantal NUMBER;
|
|
v_groep NUMBER;
|
|
|
|
BEGIN
|
|
v_count:=1;
|
|
fac_update_ins(p_import_key);
|
|
v_groep:=3;
|
|
|
|
FOR rec IN sel
|
|
LOOP
|
|
BEGIN
|
|
v_count:=v_count+1;
|
|
v_errormsg := 'Fout FETCH te importeren rij '||v_count;
|
|
v_taak1 :='';
|
|
v_taak2 :='';
|
|
v_taak3 :='';
|
|
v_cyclus1 := 0;
|
|
v_cyclus2 := 0;
|
|
v_cyclus3 := 0;
|
|
v_groep:=-1;
|
|
|
|
v_perslidkey :=0;
|
|
BEGIN
|
|
SELECT prs_perslid_key INTO v_perslidkey FROM PRS_V_PERSLID_FULLNAMES where PRS_PERSLID_NAAM_FULL=SUBSTR(rec.ins_kenmerkwaarde1,INSTR(rec.ins_kenmerkwaarde1,'=')+1);
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
v_perslidkey:=-1;
|
|
END;
|
|
IF v_perslidkey>0
|
|
THEN
|
|
UPDATE ins_deel set PRS_PERSLID_KEY_BEH=v_perslidkey WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving;
|
|
commit;
|
|
END IF;
|
|
|
|
v_taak1 := rec.INS_KENMERKWAARDE2;
|
|
v_taak2 := rec.INS_KENMERKWAARDE4;
|
|
v_taak3 := rec.INS_KENMERKWAARDE6;
|
|
v_datum1 := COALESCE(fac.safe_to_date(rec.INS_KENMERKWAARDE3,'dd-mm-yyyy'), TO_DATE('01-01-2022','DD-MM-YYYY'));
|
|
v_datum2 := COALESCE(fac.safe_to_date(rec.INS_KENMERKWAARDE5,'dd-mm-yyyy'), TO_DATE('01-01-2022','DD-MM-YYYY'));
|
|
v_datum3 := COALESCE(fac.safe_to_date(rec.INS_KENMERKWAARDE7,'dd-mm-yyyy'), TO_DATE('01-01-2022','DD-MM-YYYY'));
|
|
|
|
|
|
|
|
|
|
v_errormsg := 'Fout ophalen object('||rec.ins_deel_omschrijving||') te importeren rij '||v_count;
|
|
|
|
SELECT ins_deel_key
|
|
INTO v_deel_key
|
|
FROM ins_deel
|
|
WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving AND ins_deel_verwijder IS NULL;
|
|
|
|
IF (v_taak1 ='SKH keuring') THEN
|
|
v_cyclus1:=36;
|
|
ELSE
|
|
v_cyclus1:=12;
|
|
END IF;
|
|
IF (v_taak2 ='SKH keuring') THEN
|
|
v_cyclus2:=36;
|
|
ELSE
|
|
v_cyclus2:=12;
|
|
END IF;
|
|
IF (v_taak3 ='SKH keuring') THEN
|
|
v_cyclus3:=36;
|
|
ELSE
|
|
v_cyclus3:=12;
|
|
END IF;
|
|
|
|
v_errormsg := 'Fout FETCH discipline te importeren rij '||v_count;
|
|
SELECT ins_discipline_key, 'D'
|
|
INTO v_ins_srtinstallatie_key, v_ins_srtcontrole_niveau
|
|
FROM ins_tab_discipline
|
|
WHERE UPPER (ins_discipline_omschrijving) = UPPER (rec.ins_discipline_omschrijving)
|
|
AND ins_discipline_module = 'INS'
|
|
AND ins_discipline_verwijder IS NULL;
|
|
|
|
v_errormsg := 'Fout FETCH GROEP te importeren rij '||v_count;
|
|
SELECT ins_srtgroep_key, 'G'
|
|
INTO v_ins_srtinstallatie_key, v_ins_srtcontrole_niveau
|
|
FROM ins_srtgroep
|
|
WHERE UPPER (ins_srtgroep_omschrijving) = UPPER (rec.ins_srtgroep_omschrijving)
|
|
AND ins_srtgroep_module = 'INS'
|
|
AND ins_srtgroep_verwijder IS NULL
|
|
AND ins_discipline_key = v_ins_srtinstallatie_key;
|
|
|
|
v_errormsg := 'Fout FETCH objectsort te importeren rij '||v_count||'Object '||rec.ins_deel_omschrijving;
|
|
SELECT ins_srtdeel_key, 'S'
|
|
INTO v_ins_srtinstallatie_key, v_ins_srtcontrole_niveau
|
|
FROM ins_srtdeel
|
|
WHERE UPPER (ins_srtdeel_code) = UPPER (rec.ins_srtdeel_code)
|
|
AND ins_srtdeel_module = 'INS'
|
|
AND ins_srtdeel_verwijder IS NULL
|
|
AND ins_srtgroep_key = v_ins_srtinstallatie_key;
|
|
|
|
v_errormsg := 'Fout verwerken Taak1 '||v_count||' Object '||rec.ins_deel_omschrijving;
|
|
IF v_taak1 IS NOT NULL
|
|
AND v_taak1 <> 'Registratie'
|
|
AND v_cyclus1 IS NOT NULL
|
|
THEN
|
|
v_groep:=wdka.getCtrGroep(v_taak1);
|
|
BEGIN
|
|
v_errormsg := 'Fout Count srtcontrole Taak1 '||v_ins_srtinstallatie_key||' Object '||rec.ins_deel_omschrijving;
|
|
SELECT ins_srtcontrole_key
|
|
INTO v_srtcontrole_key
|
|
FROM ins_srtcontrole
|
|
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
|
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
|
AND UPPER(ins_srtcontrole_omschrijving) = UPPER(v_taak1)
|
|
AND ins_srtcontrole_periode=v_cyclus1
|
|
AND ins_srtcontrole_eenheid=v_eenheid
|
|
AND ins_srtcontrole_mode=1
|
|
AND ctr_discipline_key=v_groep;
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
|
ins_srtcontrole_niveau,
|
|
ins_srtcontrole_omschrijving,
|
|
ins_srtcontrole_periode,
|
|
ins_srtcontrole_eenheid,
|
|
ins_srtcontrole_mode,
|
|
ctr_discipline_key
|
|
)
|
|
VALUES (v_ins_srtinstallatie_key,
|
|
v_ins_srtcontrole_niveau,
|
|
v_taak1,
|
|
v_cyclus1,
|
|
v_eenheid,
|
|
1,
|
|
v_groep
|
|
)
|
|
RETURNING ins_srtcontrole_key
|
|
INTO v_srtcontrole_key;
|
|
IF v_taak1 = '11A - NEN3140'
|
|
THEN
|
|
wdka.insert_ctr_kenmerk(v_srtcontrole_key);
|
|
END IF;
|
|
END;
|
|
|
|
/* IF v_aantal=0
|
|
THEN
|
|
v_errormsg := 'Fout INSERT srtcontrole te importeren rij taak1 '||v_count;
|
|
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
|
ins_srtcontrole_niveau,
|
|
ins_srtcontrole_omschrijving,
|
|
ins_srtcontrole_periode,
|
|
ins_srtcontrole_eenheid,
|
|
ins_srtcontrole_mode,
|
|
ctr_discipline_key
|
|
)
|
|
VALUES (v_ins_srtinstallatie_key,
|
|
v_ins_srtcontrole_niveau,
|
|
v_taak1,
|
|
v_cyclus1,
|
|
v_eenheid,
|
|
1,
|
|
3
|
|
)
|
|
RETURNING ins_srtcontrole_key
|
|
INTO v_srtcontrole_key;
|
|
|
|
END IF;*/
|
|
|
|
|
|
|
|
|
|
IF v_datum1 IS NULL
|
|
THEN
|
|
v_datum1:=TO_DATE(SYSDATE,'DD/MM/YYYY');
|
|
ELSE
|
|
v_datum1:= wdka.getSrtControldatum(v_datum1, v_cyclus1);
|
|
END IF;
|
|
/* v_errormsg := 'Fout ophalen srtcontrole taak 1 rij '||v_count||'('||rec.ins_deel_omschrijving||')';
|
|
SELECT ins_srtcontrole_key
|
|
INTO v_srtcontrole_key
|
|
FROM ins_srtcontrole
|
|
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
|
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
|
AND ins_srtcontrole_omschrijving = v_taak1
|
|
AND ins_srtcontrole_periode=v_cyclus1
|
|
AND ins_srtcontrole_eenheid=v_eenheid
|
|
AND ins_srtcontrole_mode=1
|
|
AND ctr_discipline_key=3;
|
|
*/
|
|
v_errormsg := 'Fout INSERT deelsrtcontrole te importeren rij taak1 '||v_count||'('||rec.ins_deel_omschrijving||')';
|
|
-- v_datum1:= wdka.getSrtControldatum(v_datum1, v_cyclus1);
|
|
INSERT INTO ins_deelsrtcontrole(ins_deel_key,
|
|
ins_srtcontrole_key,
|
|
ins_scenario_key,
|
|
ins_deelsrtcontrole_datum,
|
|
ins_controlemode_key,
|
|
ins_deelsrtcontrole_status,
|
|
ins_deelsrtcontrole_datum_org,
|
|
ins_deelsrtcontrole_freezecost,
|
|
prs_perslid_key)
|
|
VALUES(v_deel_key,
|
|
v_srtcontrole_key,
|
|
1,
|
|
v_datum1 ,
|
|
10,
|
|
6,
|
|
v_datum1,
|
|
0,
|
|
3);
|
|
|
|
|
|
END IF;
|
|
v_errormsg := 'Fout verwerken Taak2 '||v_count||' Object '||rec.ins_deel_omschrijving;
|
|
IF v_taak2 IS NOT NULL AND v_taak2 <> 'Registratie' AND v_cyclus2 IS NOT NULL
|
|
THEN
|
|
v_groep:=wdka.getCtrGroep(v_taak2);
|
|
BEGIN
|
|
v_errormsg := 'Fout Count srtcontrole Taak2 '||v_count||' Object '||rec.ins_deel_omschrijving;
|
|
SELECT ins_srtcontrole_key
|
|
INTO v_srtcontrole_key
|
|
FROM ins_srtcontrole
|
|
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
|
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
|
AND ins_srtcontrole_omschrijving = v_taak2
|
|
AND ins_srtcontrole_periode=v_cyclus2
|
|
AND ins_srtcontrole_eenheid=v_eenheid
|
|
AND ins_srtcontrole_mode=1
|
|
AND ctr_discipline_key=v_groep;
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
|
ins_srtcontrole_niveau,
|
|
ins_srtcontrole_omschrijving,
|
|
ins_srtcontrole_periode,
|
|
ins_srtcontrole_eenheid,
|
|
ins_srtcontrole_mode,
|
|
ctr_discipline_key
|
|
)
|
|
VALUES (v_ins_srtinstallatie_key,
|
|
v_ins_srtcontrole_niveau,
|
|
v_taak2,
|
|
v_cyclus2,
|
|
v_eenheid,
|
|
1,
|
|
v_groep
|
|
)
|
|
RETURNING ins_srtcontrole_key
|
|
INTO v_srtcontrole_key;
|
|
IF v_taak2 = '11A - NEN3140'
|
|
THEN
|
|
wdka.insert_ctr_kenmerk(v_srtcontrole_key);
|
|
END IF;
|
|
END;
|
|
/* IF v_aantal=0
|
|
THEN
|
|
v_errormsg := 'Fout INSERT srtcontrole te importeren rij taak2 '||v_count;
|
|
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
|
ins_srtcontrole_niveau,
|
|
ins_srtcontrole_omschrijving,
|
|
ins_srtcontrole_periode,
|
|
ins_srtcontrole_eenheid,
|
|
ins_srtcontrole_mode,
|
|
ctr_discipline_key
|
|
)
|
|
VALUES (v_ins_srtinstallatie_key,
|
|
v_ins_srtcontrole_niveau,
|
|
v_taak2,
|
|
v_cyclus2,
|
|
v_eenheid,
|
|
1,
|
|
3
|
|
)
|
|
RETURNING ins_srtcontrole_key
|
|
INTO v_srtcontrole_key;
|
|
*/
|
|
|
|
|
|
IF v_datum2 IS NULL
|
|
THEN
|
|
v_datum2:=TO_DATE(SYSDATE,'DD/MM/YYYY');
|
|
ELSE
|
|
v_datum2:= wdka.getSrtControldatum(v_datum2, v_cyclus2);
|
|
END IF;
|
|
/* v_errormsg := 'Fout ophalen srtcontrole taak 2 rij '||v_count||'('||rec.ins_deel_omschrijving||')';
|
|
SELECT ins_srtcontrole_key
|
|
INTO v_srtcontrole_key
|
|
FROM ins_srtcontrole
|
|
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
|
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
|
AND ins_srtcontrole_omschrijving = v_taak2
|
|
AND ins_srtcontrole_periode=v_cyclus2
|
|
AND ins_srtcontrole_eenheid=v_eenheid
|
|
AND ins_srtcontrole_mode=1
|
|
AND ctr_discipline_key=3;
|
|
*/
|
|
v_errormsg := 'Fout INSERT deelsrtcontrole te importeren rij taak 2'||v_count||'('||rec.ins_deel_omschrijving||')';
|
|
INSERT INTO ins_deelsrtcontrole(ins_deel_key,
|
|
ins_srtcontrole_key,
|
|
ins_scenario_key,
|
|
ins_deelsrtcontrole_datum,
|
|
ins_controlemode_key,
|
|
ins_deelsrtcontrole_status,
|
|
ins_deelsrtcontrole_datum_org,
|
|
ins_deelsrtcontrole_freezecost,
|
|
prs_perslid_key)
|
|
VALUES(v_deel_key,
|
|
v_srtcontrole_key,
|
|
1,
|
|
v_datum2,
|
|
10,
|
|
6,
|
|
v_datum2,
|
|
0,
|
|
3);
|
|
|
|
|
|
END IF;
|
|
IF v_taak3 IS NOT NULL
|
|
AND v_taak3 <> 'Registratie'
|
|
AND v_cyclus3 IS NOT NULL
|
|
THEN
|
|
v_groep:=wdka.getCtrGroep(v_taak3);
|
|
BEGIN
|
|
v_errormsg := 'Fout Count srtcontrole Taak3 '||v_count||' Object '||rec.ins_deel_omschrijving;
|
|
SELECT ins_srtcontrole_key
|
|
INTO v_srtcontrole_key
|
|
FROM ins_srtcontrole
|
|
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
|
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
|
AND ins_srtcontrole_omschrijving = v_taak3
|
|
AND ins_srtcontrole_periode=v_cyclus3
|
|
AND ins_srtcontrole_eenheid=v_eenheid
|
|
AND ins_srtcontrole_mode=1
|
|
AND ctr_discipline_key=v_groep;
|
|
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
|
ins_srtcontrole_niveau,
|
|
ins_srtcontrole_omschrijving,
|
|
ins_srtcontrole_periode,
|
|
ins_srtcontrole_eenheid,
|
|
ins_srtcontrole_mode,
|
|
ctr_discipline_key
|
|
)
|
|
VALUES (v_ins_srtinstallatie_key,
|
|
v_ins_srtcontrole_niveau,
|
|
v_taak3,
|
|
v_cyclus3,
|
|
v_eenheid,
|
|
1,
|
|
v_groep
|
|
)
|
|
RETURNING ins_srtcontrole_key
|
|
INTO v_srtcontrole_key;
|
|
IF v_taak3 = '11A - NEN3140'
|
|
THEN
|
|
wdka.insert_ctr_kenmerk(v_srtcontrole_key);
|
|
END IF;
|
|
END;
|
|
/* IF v_aantal=0
|
|
THEN
|
|
v_errormsg := 'Fout INSERT srtcontrole te importeren rij taak 3 '||v_count;
|
|
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
|
ins_srtcontrole_niveau,
|
|
ins_srtcontrole_omschrijving,
|
|
ins_srtcontrole_periode,
|
|
ins_srtcontrole_eenheid,
|
|
ins_srtcontrole_mode,
|
|
ctr_discipline_key
|
|
)
|
|
VALUES (v_ins_srtinstallatie_key,
|
|
v_ins_srtcontrole_niveau,
|
|
v_taak3,
|
|
v_cyclus3,
|
|
v_eenheid,
|
|
1,
|
|
3
|
|
)
|
|
RETURNING ins_srtcontrole_key
|
|
INTO v_srtcontrole_key;
|
|
*/
|
|
|
|
|
|
--END IF;
|
|
IF v_datum3 IS NULL
|
|
THEN
|
|
v_datum3:=TO_DATE(SYSDATE,'DD/MM/YYYY');
|
|
ELSE
|
|
v_datum3:= wdka.getSrtControldatum(v_datum3, v_cyclus3);
|
|
END IF;
|
|
/* v_errormsg := 'Fout ophalen srtcontrole taak 3 rij '||v_count||'('||rec.ins_deel_omschrijving||')';
|
|
SELECT ins_srtcontrole_key
|
|
INTO v_srtcontrole_key
|
|
FROM ins_srtcontrole
|
|
where ins_srtinstallatie_key=v_ins_srtinstallatie_key
|
|
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
|
|
AND ins_srtcontrole_omschrijving = v_taak3
|
|
AND ins_srtcontrole_periode=v_cyclus3
|
|
AND ins_srtcontrole_eenheid=v_eenheid
|
|
AND ins_srtcontrole_mode=1
|
|
AND ctr_discipline_key=3; */
|
|
|
|
v_errormsg := 'Fout INSERT deelsrtcontrole te importeren rij taak3 '||v_count||'('||rec.ins_deel_omschrijving||')';
|
|
INSERT INTO ins_deelsrtcontrole(ins_deel_key,
|
|
ins_srtcontrole_key,
|
|
ins_scenario_key,
|
|
ins_deelsrtcontrole_datum,
|
|
ins_controlemode_key,
|
|
ins_deelsrtcontrole_status,
|
|
ins_deelsrtcontrole_datum_org,
|
|
ins_deelsrtcontrole_freezecost,
|
|
prs_perslid_key)
|
|
VALUES(v_deel_key,
|
|
v_srtcontrole_key,
|
|
1,
|
|
v_datum3,
|
|
10,
|
|
6,
|
|
v_datum3,
|
|
0,
|
|
3);
|
|
|
|
|
|
END IF;
|
|
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;
|
|
|
|
END LOOP;
|
|
|
|
|
|
|
|
END;
|
|
/
|
|
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_PAT_DATA(p_import_key IN NUMBER)
|
|
AS
|
|
c_delim VARCHAR2 (1) := ';';
|
|
header_is_valid NUMBER;
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_newline VARCHAR2 (4000);
|
|
v_ongeldig NUMBER (1) := 0; -- 0= Goed, 1= Error, 2=Waarschuwing
|
|
v_aanduiding VARCHAR2 (1000) := '';
|
|
v_count NUMBER;
|
|
|
|
v_smartwareID VARCHAR2(50);
|
|
v_omschrijving VARCHAR2(50);
|
|
v_laatste_datum_str VARCHAR2(50);
|
|
v_laatste_datum DATE;
|
|
v_laatste_resultaat VARCHAR2(50);
|
|
v_visueel VARCHAR2(50);
|
|
v_aarde VARCHAR2(50);
|
|
v_aarde_eenheid VARCHAR2(50);
|
|
v_aarde_resultaat VARCHAR2(50);
|
|
v_lekstroom VARCHAR2(50);
|
|
v_lekstroom_eenheid VARCHAR2(50);
|
|
v_lekstroom_resultaat VARCHAR2(50);
|
|
v_aanrk_lekstroom VARCHAR2(50);
|
|
v_aanrk_lekstroom_eenheid VARCHAR2(50);
|
|
v_aanrk_lekstroom_resultaat VARCHAR2(50);
|
|
v_verv_lekstroom VARCHAR2(50);
|
|
v_verv_lekstroom_eenheid VARCHAR2(50);
|
|
v_verv_lekstroom_resultaat VARCHAR2(50);
|
|
v_isolatie VARCHAR2(50);
|
|
v_isolatie_eenheid VARCHAR2(50);
|
|
v_isolatie_resultaat VARCHAR2(50);
|
|
v_bedrading VARCHAR2(50);
|
|
v_bedrading_eenheid VARCHAR2(50);
|
|
v_bedrading_resultaat VARCHAR2(50);
|
|
v_gebruikertest VARCHAR2(50);
|
|
v_gebruikers_waarde VARCHAR2(50);
|
|
v_gebruikers_eenheid VARCHAR2(50);
|
|
v_gebruikers_resultaat VARCHAR2(50);
|
|
v_volgende_testdatum_str VARCHAR2(50);
|
|
v_volgende_testdatum DATE;
|
|
v_laatste_vis_test_str VARCHAR2(50);
|
|
v_laatste_vis_test DATE;
|
|
v_laatste_vis_resultaat VARCHAR2(50);
|
|
v_next_vis_test_str VARCHAR2(50);
|
|
v_next_vis_test DATE;
|
|
|
|
|
|
CURSOR c1 IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
|
|
BEGIN
|
|
v_count :=0;
|
|
v_aanduiding := 'Start inlees process';
|
|
header_is_valid := 0;
|
|
DELETE FROM FAC_IMP_CSV;
|
|
COMMIT;
|
|
|
|
FOR rec IN c1
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding := 'Lees regel';
|
|
|
|
v_newline := REPLACE(rec.fac_imp_file_line,chr(9),'');
|
|
|
|
v_aanduiding := 'Lees velden in';
|
|
fac.imp_getfield_nr (v_newline, c_delim, 1, v_smartwareID);
|
|
fac.imp_getfield_nr (v_newline, c_delim,2, v_omschrijving);
|
|
fac.imp_getfield_nr (v_newline, c_delim,3, v_laatste_datum_str);
|
|
fac.imp_getfield_nr (v_newline, c_delim,4, v_laatste_resultaat);
|
|
-- fac.imp_getfield (v_newline, c_delim, v_visueel);
|
|
v_aanduiding := 'Lees velden in 1';
|
|
fac.imp_getfield_nr (v_newline, c_delim, 6, v_aarde);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 7, v_aarde_eenheid);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 8, v_aarde_resultaat);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 9, v_lekstroom);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 10, v_lekstroom_eenheid);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 11, v_lekstroom_resultaat);
|
|
v_aanduiding := 'Lees velden in2';
|
|
fac.imp_getfield_nr (v_newline, c_delim, 12, v_aanrk_lekstroom);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 13, v_aanrk_lekstroom_eenheid);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 14, v_aanrk_lekstroom_resultaat);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 15, v_verv_lekstroom);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 16, v_verv_lekstroom_eenheid);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 17, v_verv_lekstroom_resultaat);
|
|
v_aanduiding := 'Lees velden in 3';
|
|
fac.imp_getfield_nr (v_newline, c_delim, 18, v_isolatie);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 19, v_isolatie_eenheid);
|
|
|
|
fac.imp_getfield_nr (v_newline, c_delim, 20, v_isolatie_resultaat);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 21, v_bedrading);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 23, v_bedrading_resultaat);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 24, v_gebruikertest);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 27, v_gebruikers_resultaat);
|
|
fac.imp_getfield_nr (v_newline, c_delim, 28, v_volgende_testdatum_str);
|
|
|
|
-- fac.imp_getfield (v_newline, c_delim, v_bedrading_eenheid);
|
|
|
|
|
|
|
|
|
|
-- fac.imp_getfield (v_newline, c_delim, v_gebruiker_waarde);
|
|
-- fac.imp_getfield (v_newline, c_delim, v_gebruiker_eenheid);
|
|
|
|
|
|
-- fac.imp_getfield (v_newline, c_delim, v_laatste_vis_test_str);
|
|
-- fac.imp_getfield (v_newline, c_delim, v_laatste_vis_resultaat);
|
|
-- fac.imp_getfield (v_newline, c_delim, v_next_vis_test_str);
|
|
|
|
|
|
v_aanduiding := 'Valideer Headers';
|
|
v_count:=v_count+1;
|
|
IF (header_is_valid = 0)
|
|
THEN
|
|
IF UPPER (TRIM (v_smartwareID)) = 'TESTOBJECT NUMMER'
|
|
AND UPPER (TRIM (v_omschrijving)) = 'OMSCHRIJVING'
|
|
AND UPPER (TRIM (v_laatste_datum_str)) = 'LAATSTE TESTDATUM'
|
|
AND UPPER (TRIM (v_laatste_resultaat)) = 'LAATSTE TESTRESULTAAT'
|
|
AND UPPER (TRIM (v_aarde)) = 'AARDE'
|
|
AND UPPER (TRIM (v_aarde_eenheid)) = 'AARDE EENHEID'
|
|
AND UPPER (TRIM (v_aarde_resultaat)) = 'AARDE RESULTAAT'
|
|
AND UPPER (TRIM (v_lekstroom)) = 'LEKSTROOM'
|
|
AND UPPER (TRIM (v_lekstroom_eenheid)) = 'LEKSTROOM EENHEID'
|
|
AND UPPER (TRIM (v_lekstroom_resultaat)) = 'LEKSTROOM RESULTAAT'
|
|
AND UPPER (TRIM (v_aanrk_lekstroom)) = 'AANRAAK LEKSTROOM'
|
|
AND UPPER (TRIM (v_aanrk_lekstroom_eenheid)) = 'AANRAAK LEKSTROOM EENHEID'
|
|
AND UPPER (TRIM (v_aanrk_lekstroom_resultaat)) = 'AANRAAK LEKSTROOM RESULTAAT'
|
|
AND UPPER (TRIM (v_verv_lekstroom)) = 'VERVANGENDE LEKSTROOM'
|
|
AND UPPER (TRIM (v_verv_lekstroom_eenheid)) = 'VERVANGENDE LEKSTROOM EENHEID'
|
|
AND UPPER (TRIM (v_verv_lekstroom_resultaat)) = 'VERVANGENDE LEKSTROOM RESULTAAT'
|
|
AND UPPER (TRIM (v_isolatie)) = 'ISOLATIE'
|
|
AND UPPER (TRIM (v_isolatie_eenheid)) = 'ISOLATIE EENHEID'
|
|
AND UPPER (TRIM (v_isolatie_resultaat)) = 'ISOLATIE RESULTAAT'
|
|
AND UPPER (TRIM (v_bedrading)) = 'BEDRADING'
|
|
AND UPPER (TRIM (v_bedrading_resultaat)) = 'BEDRADING RESULTAAT'
|
|
AND UPPER (TRIM (v_volgende_testdatum_str)) = 'VOLGENDE TESTDATUM'
|
|
|
|
THEN
|
|
header_is_valid := 1;
|
|
END IF;
|
|
ELSE
|
|
v_aanduiding :='Lees regel';
|
|
-- v_laatste_datum := fac.safe_to_date (v_laatste_datum_str,'DD-MM-YYYY');
|
|
-- v_volgende_testdatum := fac.safe_to_date (v_volgende_testdatum_str,'DD-MM-YYYY');
|
|
|
|
|
|
|
|
|
|
-- hebben een regel nu wat gaan we dan gebruiken in de wdka_imp_smartware tabel
|
|
-- v_smartwareID,v_laatste_datum, v_laatste_resultaat, v_aarde, v_aarde_resultaat,v_aanrk_lekstroom, v_aanrk_lekstroom_resultaat, v_isolatie, v_isolatie_resultaat,v_bedrading_resultaat`, v_laatste_vis_tes,v_laatste_vis_resultaat
|
|
INSERT INTO FAC_IMP_CSV(FAC_IMP_CSV_INDEX,
|
|
FAC_IMP_CSV_COL01,
|
|
FAC_IMP_CSV_COL02,
|
|
FAC_IMP_CSV_COL03,
|
|
FAC_IMP_CSV_COL04,
|
|
FAC_IMP_CSV_COL05,
|
|
FAC_IMP_CSV_COL06,
|
|
FAC_IMP_CSV_COL07,
|
|
FAC_IMP_CSV_COL08,
|
|
FAC_IMP_CSV_COL09,
|
|
FAC_IMP_CSV_COL10,
|
|
FAC_IMP_CSV_COL11,
|
|
FAC_IMP_CSV_COL12,
|
|
FAC_IMP_CSV_COL13,
|
|
FAC_IMP_CSV_COL14,
|
|
FAC_IMP_CSV_COL15,
|
|
FAC_IMP_CSV_COL16,
|
|
FAC_IMP_CSV_COL17,
|
|
FAC_IMP_CSV_COL18)
|
|
|
|
VALUES(v_count,
|
|
v_smartwareID,
|
|
v_laatste_datum_str,
|
|
v_laatste_resultaat,
|
|
v_aarde,
|
|
v_aarde_resultaat,
|
|
v_lekstroom,
|
|
v_lekstroom_resultaat,
|
|
v_aanrk_lekstroom,
|
|
v_aanrk_lekstroom_resultaat,
|
|
v_verv_lekstroom,
|
|
v_verv_lekstroom_resultaat,
|
|
v_isolatie,
|
|
v_isolatie_resultaat,
|
|
v_bedrading,
|
|
v_bedrading_resultaat,
|
|
v_gebruikertest,
|
|
v_gebruikers_resultaat,
|
|
v_volgende_testdatum_str);
|
|
|
|
|
|
/* INSERT INTO WDKA_IMP_SMARTWARE(smartwareid,
|
|
test_datum,
|
|
test_resultaat,
|
|
aarde_waarde,
|
|
aarde_resultaat,
|
|
lekstroom_waarde,
|
|
lekstroom_resultaat,
|
|
aanrk_lekstrm_waarde,
|
|
aanrk_lekstrm_resultaat,
|
|
verv_lekstrm_waarde,
|
|
verv_lekstrm_resultaat,
|
|
isolatie_waarde,
|
|
isolatie_resultaat,
|
|
volgende_test)
|
|
VALUES(v_smartwareID,
|
|
v_laatste_datum,
|
|
v_laatste_resultaat,
|
|
v_aarde,
|
|
v_aarde_resultaat,
|
|
v_lekstroom,
|
|
v_lekstroom_resultaat,
|
|
v_aanrk_lekstroom,
|
|
v_aanrk_lekstroom_resultaat,
|
|
v_verv_lekstroom,
|
|
v_verv_lekstroom_resultaat,
|
|
v_isolatie,
|
|
v_isolatie_resultaat,
|
|
v_volgende_testdatum); */
|
|
END IF;
|
|
END;
|
|
END LOOP;
|
|
COMMIT;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| 'ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
SUBSTR (v_aanduiding || v_errormsg, 1, 1000),
|
|
'Inleesproces PAT Data gaat fout!');
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE WDKA_UPDATE_PAT_DATA(p_import_key IN NUMBER)
|
|
AS
|
|
CURSOR cs IS
|
|
SELECT FAC_IMP_CSV_COL01 smartwareID,
|
|
FAC_IMP_CSV_COL02 v_laatste_datum_str,
|
|
FAC_IMP_CSV_COL03 test_resultaat,
|
|
FAC_IMP_CSV_COL04 aarde_waarde,
|
|
FAC_IMP_CSV_COL05 aarde_resultaat,
|
|
FAC_IMP_CSV_COL06 lekstroom_waarde,
|
|
FAC_IMP_CSV_COL07 lekstroom_resultaat,
|
|
FAC_IMP_CSV_COL08 aanrk_lekstrm_waarde,
|
|
FAC_IMP_CSV_COL09 aanrk_lekstrm_resultaat,
|
|
FAC_IMP_CSV_COL10 verv_lekstrm_waarde,
|
|
FAC_IMP_CSV_COL11 verv_lekstrm_resultaat,
|
|
FAC_IMP_CSV_COL12 isolatie_waarde,
|
|
FAC_IMP_CSV_COL13 isolatie_resultaat,
|
|
FAC_IMP_CSV_COL14 bedrading,
|
|
FAC_IMP_CSV_COL15 bedrading_resultaat,
|
|
FAC_IMP_CSV_COL16 gebruikertest,
|
|
FAC_IMP_CSV_COL17 gebruikers_resultaat,
|
|
FAC_IMP_CSV_COL18 v_volgende_testdatum_str
|
|
FROM fac_imp_csv
|
|
ORDER BY FAC_IMP_CSV_INDEX;
|
|
|
|
v_errormsg VARCHAR (200);
|
|
v_errorhint VARCHAR (200);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_ins_key NUMBER;
|
|
v_ins_discipline_key NUMBER;
|
|
v_aanduiding VARCHAR2 (1000) := '';
|
|
v_ins_srtcontrole_key NUMBER;
|
|
v_deelsrtcontrole_key NUMBER;
|
|
v_ins_deelsrtcontrole_key NUMBER;
|
|
v_ins_kenmerk_key NUMBER;
|
|
v_count NUMBER :=0;
|
|
v_ins_count NUMBER :=0;
|
|
v_lastdate DATE;
|
|
v_newdate DATE;
|
|
v_time DATE;
|
|
v_perslid_key NUMBER;
|
|
v_test_datum DATE;
|
|
v_volgende_testdatum DATE;
|
|
BEGIN
|
|
-- open cursor haal alle regels op unique per smsartwareID en max(datum) (laatste alleen zichtbaar)
|
|
-- haal object op babsi van smartware code
|
|
-- maak een ins_deelsrtcontrole regele aan met ins_deel_key, strt_controle (bv smartware) en de controle_mode (bv uitgevoerd)
|
|
-- maar per waarde een ins_kmdeelsrtcontrl aan met ins_deelsrtcontrole_key, ins_kenmerk_key, waarde.
|
|
-- al;s er een fout uis set de notificatie dat er een foute waarde inzat, en waqtbde fout was,
|
|
-- update de kenmerk wanneer de laatste import van dit object is (SYSDATE)
|
|
-- DBMS_OUTPUT.put_line ('Starting update');
|
|
v_aanduiding := 'Geen acties voor SMARTWARE IMPORT';
|
|
--v_srtcontrole:=10;
|
|
v_ins_kenmerk_key := -1;
|
|
v_ins_key:=0;
|
|
v_lastdate := NULL;
|
|
v_newdate := NULL;
|
|
|
|
SELECT prs_perslid_key INTO v_perslid_key from fac_import where fac_import_key=p_import_key;
|
|
v_count:=1;
|
|
|
|
FOR rec in cs
|
|
LOOP
|
|
v_count:=v_count+1;
|
|
|
|
v_ins_key:=0;
|
|
|
|
v_ins_count :=0;
|
|
v_newdate := NULL;
|
|
|
|
v_test_datum := fac.safe_to_date (rec.v_laatste_datum_str,'DD-MM-YYYY');
|
|
v_volgende_testdatum := fac.safe_to_date (rec.v_volgende_testdatum_str,'DD-MM-YYYY');
|
|
|
|
|
|
SELECT ins_deel_key, ins_discipline_key
|
|
INTO v_ins_key, v_ins_discipline_key
|
|
FROM ins_v_deel_gegevens
|
|
WHERE ins_deel_omschrijving=rec.smartwareid;
|
|
|
|
|
|
|
|
IF v_ins_key >0
|
|
THEN
|
|
v_ins_deelsrtcontrole_key:=0;
|
|
v_ins_srtcontrole_key:=0;
|
|
BEGIN
|
|
v_aanduiding := 'Ophalen ins_srtcontrole_key ('||v_count||')';
|
|
SELECT isc.INS_SRTCONTROLE_KEY
|
|
INTO v_ins_srtcontrole_key
|
|
FROM ins_deel id, ins_srtdeel isd, ins_srtcontrole isc
|
|
WHERe id.INS_DEEL_KEY=v_ins_key
|
|
AND isd.INS_SRTDEEL_KEY = id.INS_SRTDEEL_KEY
|
|
AND isc.INS_SRTINSTALLATIE_KEY=isd.ins_srtdeel_key
|
|
AND isc.ins_srtcontrole_omschrijving='11A - NEN3140';
|
|
|
|
--
|
|
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN
|
|
v_ins_srtcontrole_key:=-1;
|
|
v_ins_deelsrtcontrole_key:=-1;
|
|
fac.imp_writelog (p_import_key,
|
|
'W',
|
|
'Er is geen 11A - NEN3140 Taak voor object met Smartware ID : '||rec.smartwareid ||' gevonden.',
|
|
'Smartware data niet verwerkt!');
|
|
|
|
|
|
END;
|
|
|
|
v_aanduiding := 'Ophalen deelsrtcontrole_key, ins_srtcontrole_key ('||v_count||')';
|
|
|
|
BEGIN
|
|
SELECT idc.ins_deelsrtcontrole_key, idc.ins_srtcontrole_key
|
|
INTO v_ins_deelsrtcontrole_key, v_ins_srtcontrole_key
|
|
FROM ins_deelsrtcontrole idc, ins_srtcontrole isc
|
|
WHERE idc.ins_deel_key=v_ins_key
|
|
AND isc.ins_srtcontrole_key = idc.ins_srtcontrole_key
|
|
AND isc.ins_srtcontrole_omschrijving='11A - NEN3140'
|
|
AND idc.ins_deelsrtcontrole_status IN (0,2); -- 0;Ingepland 2;Gestart/In behandeling dus niet 5;Afgemeld/Gereed gemeld; 6;Afgerond)
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_deelsrtcontrole_key:=-1;
|
|
END;
|
|
|
|
v_count:=0;
|
|
|
|
IF v_ins_deelsrtcontrole_key=-1 AND v_ins_srtcontrole_key != -1 THEN
|
|
v_aanduiding := 'Aanmaken ins_deelcontrole gaat fout ('||v_count||') voor object '||rec.smartwareid;
|
|
|
|
INSERT INTO ins_deelsrtcontrole(
|
|
ins_deel_key,
|
|
ins_srtcontrole_key,
|
|
ins_scenario_key,
|
|
ins_deelsrtcontrole_datum_org
|
|
)
|
|
VALUES (v_ins_key,
|
|
v_ins_srtcontrole_key,
|
|
1,
|
|
v_test_datum
|
|
)
|
|
RETURNING ins_deelsrtcontrole_key
|
|
INTO v_ins_deelsrtcontrole_key;
|
|
|
|
END IF;
|
|
|
|
IF v_ins_deelsrtcontrole_key>0 THEN
|
|
v_aanduiding := 'Update deelsrtcontrole ('||v_count||')';
|
|
UPDATE ins_deelsrtcontrole
|
|
SET ins_deelsrtcontrole_status=6,
|
|
ins_deelsrtcontrole_datum=v_test_datum,
|
|
ins_controlemode_key=10,
|
|
ins_deelsrtcontrole_datum_org=v_test_datum,
|
|
ins_deelsrtcontrole_freezecost=0,
|
|
prs_perslid_key=v_perslid_key -- persoon die de import heeft gestart.
|
|
WHERE ins_deelsrtcontrole_key=v_ins_deelsrtcontrole_key;
|
|
|
|
|
|
v_aanduiding := 'Verwerken resultaten ('||v_count||')';
|
|
IF LENGTH(rec.aarde_waarde) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 1('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Aarde (Ohm)', rec.aarde_waarde);
|
|
--flx.setflex('INS',141,v_ins_key,rec.aarde_waarde);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Aarde (Ohm)';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_aanduiding := 'Kenmerk key Aarde niet gevonden('||v_count||')'||'-'||v_ins_srtcontrole_key;
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
v_aanduiding := 'Fout bij verwerken resultaten 1('||v_count||')-'||v_ins_key;
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.aarde_waarde, SYSDATE);
|
|
END IF;
|
|
END IF;
|
|
IF LENGTH(rec.aarde_resultaat) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 2('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Aarde Resultaat', rec.aarde_resultaat);
|
|
--flx.setflex('INS',142,v_ins_key,rec.aarde_resultaat);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Aarde Resultaat';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.aarde_resultaat, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
IF LENGTH(rec.lekstroom_waarde) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 3('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Lekstroom (mA)', rec.lekstroom_waarde);
|
|
--flx.setflex('INS',143,v_ins_key,rec.lekstroom_waarde);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Lekstroom (mA)';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.lekstroom_waarde, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
|
|
IF LENGTH(rec.lekstroom_resultaat) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 4('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Lekstroom resultaat', rec.lekstroom_resultaat);
|
|
--flx.setflex('INS',144,v_ins_key,rec.lekstroom_resultaat);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Lekstroom resultaat';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.lekstroom_resultaat, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
IF LENGTH(rec.aanrk_lekstrm_waarde) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 5('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Aanraak lekstroom (mA)', rec.aanrk_lekstrm_waarde);
|
|
--flx.setflex('INS',145,v_ins_key,rec.aanrk_lekstrm_waarde);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Aanraak lekstroom (mA)';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.aanrk_lekstrm_waarde, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
IF LENGTH(rec.aanrk_lekstrm_resultaat) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 6('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Aanraak lekstroom resultaat', rec.aanrk_lekstrm_resultaat);
|
|
--lx.setflex('INS',146,v_ins_key,rec.aanrk_lekstrm_resultaat);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Aanraak lekstroom resultaat';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.aanrk_lekstrm_resultaat, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
|
|
IF LENGTH(rec.verv_lekstrm_waarde) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 7('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Vervangende lekstroom (mA)', rec.verv_lekstrm_waarde);
|
|
--flx.setflex('INS',147,v_ins_key,rec.verv_lekstrm_waarde);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Vervangende lekstroom (mA)';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.verv_lekstrm_waarde, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
IF LENGTH(rec.verv_lekstrm_resultaat) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 8('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Vervangende lekstroom resultaat', rec.verv_lekstrm_resultaat);
|
|
--flx.setflex('INS',148,v_ins_key,rec.verv_lekstrm_resultaat);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Vervangende lekstroom resultaat';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.verv_lekstrm_resultaat, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
IF LENGTH(rec.isolatie_waarde) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 9('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Isolatie (MOhm)', rec.isolatie_waarde);
|
|
--flx.setflex('INS',149,v_ins_key,rec.isolatie_waarde);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Isolatie (MOhm)';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.isolatie_waarde, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
|
|
IF LENGTH(rec.isolatie_resultaat) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 10('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Isolatie resultaat', rec.isolatie_resultaat);
|
|
--flx.setflex('INS',150,v_ins_key,rec.isolatie_resultaat);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Isolatie resultaat';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.isolatie_resultaat, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
IF LENGTH(rec.bedrading) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 11('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Bedrading', rec.bedrading);
|
|
--flx.setflex('INS',150,v_ins_key,rec.bedrading);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Bedrading';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.bedrading, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
IF LENGTH(rec.bedrading_resultaat) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 12('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Bedrading resultaat', rec.bedrading_resultaat);
|
|
--flx.setflex('INS',150,v_ins_key,rec.bedrading_resultaat);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Bedrading resultaat';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.bedrading_resultaat, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
IF LENGTH(rec.gebruikertest) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 13('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Gebruikerstest', rec.gebruikertest);
|
|
--flx.setflex('INS',150,v_ins_key,rec.gebruikertest);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Gebruikerstest';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.gebruikertest, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
IF LENGTH(rec.gebruikers_resultaat) > 0
|
|
THEN
|
|
v_aanduiding := 'Verwerken resultaten 14('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Gebruikers resultaat', rec.gebruikers_resultaat);
|
|
--flx.setflex('INS',150,v_ins_key,rec.gebruikers_resultaat);
|
|
BEGIN
|
|
SELECT ins_kenmerk_key INTO v_ins_kenmerk_key FROM ins_kenmerk where ins_srtinstallatie_key=v_ins_srtcontrole_key AND ins_kenmerk_niveau='C' AND ins_kenmerk_omschrijving='Gebruikers resultaat';
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_ins_kenmerk_key:=-1;
|
|
END;
|
|
IF v_ins_kenmerk_key>0 THEN
|
|
INSERT into ins_kmdeelsrtcontr(ins_deelsrtcontrole_key, ins_kenmerk_key, ins_kmdeelsrtcontr_waarde, ins_kmdeelsrtcontr_aanmaak)
|
|
VALUES(v_ins_deelsrtcontrole_key, v_ins_kenmerk_key, rec.gebruikers_resultaat, SYSDATE);
|
|
END IF;
|
|
|
|
END IF;
|
|
v_aanduiding := 'Verwerken resultaten test datum en resultaat('||v_count||')-'||v_ins_key;
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Laatste test', TO_CHAR(v_test_datum,'DD-MM-YYYY'));
|
|
wdka.setKenmerkObject(v_ins_key, v_ins_discipline_key, 'Laatste resultaat', rec.test_resultaat);
|
|
-- flx.setflex('INS', 152, v_ins_key, TO_CHAR(v_test_datum,'DD-MM-YYYY'));
|
|
-- flx.setflex('INS', 153, v_ins_key, rec.test_resultaat);
|
|
fac.trackaction ('INSUPD', v_ins_key, v_perslid_key, SYSDATE,
|
|
'Object geupdate met PAT data.');
|
|
ELSE
|
|
fac.imp_writelog (p_import_key,
|
|
'W',
|
|
'Taak voor object met Smartware ID : '||rec.smartwareid ||' is niet gevonden.',
|
|
'Smartware data niet verwerkt!');
|
|
END IF;
|
|
|
|
ELSE
|
|
fac.imp_writelog (p_import_key,
|
|
'W',
|
|
'Object met Smartware ID : '||rec.smartwareid ||' is niet bekend in Facilitor.',
|
|
'Object niet gevonden!');
|
|
END IF;
|
|
|
|
END LOOP;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errormsg :=
|
|
v_errormsg
|
|
|| 'ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
SUBSTR (v_aanduiding || v_errormsg, 1, 1000),
|
|
'Inleesproces opdrachtstatusberichten afgebroken!');
|
|
END;
|
|
/
|
|
|
|
|
|
-- kenmkerdomein-view tbv. Aanvraag Objectensoort!
|
|
CREATE OR REPLACE VIEW WDKA_V_INS_SRT
|
|
(
|
|
FAC_USRDATA_KEY,
|
|
FAC_USRDATA_OMSCHR
|
|
)
|
|
AS
|
|
SELECT isd.ins_srtdeel_key, ig.ins_srtgroep_omschrijving||'>'||isd.ins_srtdeel_omschrijving
|
|
FROM ins_srtdeel isd, ins_srtgroep ig
|
|
WHERE ig.ins_srtgroep_key=isd.ins_srtgroep_key
|
|
ORDER BY ig.ins_srtgroep_omschrijving, isd.ins_srtdeel_omschrijving;
|
|
|
|
|
|
CREATE OR REPLACE VIEW WDKA_V_INS_LEVERANCIER
|
|
(
|
|
fac_usrdata_key,
|
|
omschrijving,
|
|
vervaldatum
|
|
)
|
|
AS
|
|
SELECT prs_bedrijf_key,prs_bedrijf_naam,NULL
|
|
FROM prs_bedrijf
|
|
WHERE prs_bedrijf_leverancier=1 AND prs_bedrijf_verwijder IS NULL;
|
|
|
|
|
|
CREATE OR REPLACE VIEW wdka_v_tasks_nextmonth
|
|
AS
|
|
select id.ins_deel_omschrijving, id.ins_deel_opmerking, al.ALG_LOCATIE_CODE, algv.ALG_GEBOUW_CODE,algv.ALG_RUIMTE_NR,
|
|
CASE
|
|
WHEN aa.alg_ruimte_omschrijving LIKE '%@wedeka.nl'
|
|
THEN aa.alg_ruimte_omschrijving
|
|
ELSE (SELECT prs_perslid_email
|
|
FROM prs_perslid
|
|
WHERE prs_perslid_key=id.prs_perslid_key_beh)
|
|
END email,
|
|
i.ins_srtcontrole_omschrijving taak,
|
|
fac.nextcyclusdatedeel(id.ins_deel_key,i.ins_srtcontrole_key,0) nextdate
|
|
FROM ins_srtcontrole i, ins_deel id, alg_ruimte aa, alg_v_onroerendgoed_gegevens algv, alg_locatie al
|
|
WHERE (id.ins_deel_vervaldatum<fac.NEXTCYCLUSDATEDEEL(id.ins_deel_key,i.ins_srtcontrole_key,0) OR id.ins_deel_vervaldatum IS NULL)
|
|
AND i.ins_srtinstallatie_key = id.ins_srtdeel_key
|
|
AND fac.nextcyclusdatedeel(id.ins_deel_key,i.ins_srtcontrole_key,0) BETWEEN TRUNC(SYSDATE) AND SYSDATE+30
|
|
AND algv.alg_ruimte_key = aa.alg_ruimte_key
|
|
AND al.alg_locatie_key = algv.alg_locatie_key
|
|
AND id.ins_alg_ruimte_key=aa.alg_ruimte_key(+) order by email;
|
|
|
|
|
|
CREATE OR REPLACE VIEW wdka_v_alg_locaties
|
|
(
|
|
fac_usrdata_key,
|
|
fac_usrdata_omschr
|
|
)
|
|
AS
|
|
|
|
SELECT alg_locatie_key, alg_locatie_omschrijving||'('||alg_locatie_code||')'
|
|
FROM alg_locatie
|
|
WHERE alg_locatie_verwijder IS NULL;
|
|
|
|
CREATE OR REPLACE VIEW wdka_v_objectmutatie
|
|
AS
|
|
SELECT i.ins_deel_omschrijving,
|
|
i.ins_deel_opmerking,
|
|
i.ins_deel_aanmaak,
|
|
(SELECT ft.fac_tracking_datum
|
|
FROM fac_tracking ft
|
|
WHERE ft.fac_tracking_refkey=i.ins_deel_key
|
|
AND ft.fac_srtnotificatie_key=133) wijzigingsdatum,
|
|
(SELECT iag.ins_srtgroep_omschrijving
|
|
FROM ins_v_aanwezigsrtgroep iag, ins_v_aanwezigsrtdeel iad
|
|
WHERE iad.ins_srtdeel_key=i.ins_srtdeel_key
|
|
AND iag.ins_srtgroep_key=iad.ins_srtgroep_key) groep,
|
|
(SELECT iad.ins_srtdeel_omschrijving
|
|
FROM ins_v_aanwezigsrtdeel iad
|
|
WHERE iad.ins_srtdeel_key=i.ins_srtdeel_key) objectsoort,
|
|
(SELECT p.prs_perslid_naam_friendly
|
|
FROM prs_v_perslid_fullnames p
|
|
WHERE p.prs_perslid_key=i.prs_perslid_key_beh) beheerder,
|
|
(SELECT alg.alg_locatie_omschrijving||'('||alg.alg_locatie_code||')'
|
|
FROM alg_v_locatie_gegevens alg
|
|
WHERE alg.alg_locatie_key=aag.alg_locatie_key) locatie,
|
|
aag.alg_gebouw_naam,
|
|
aag.alg_ruimte_nr
|
|
FROM ins_deel i, alg_v_allonrgoed_gegevens aag
|
|
WHERE aag.alg_ruimte_key=i.ins_alg_ruimte_key
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile
|
|
|