TMGP#77597 -- Inrichten omgeving voor de Tomin groep

svn path=/Customer/trunk/; revision=61145
This commit is contained in:
Norbert Wassink
2023-07-11 14:59:58 +00:00
parent fab052e26f
commit 91b83ea753

View File

@@ -29,6 +29,327 @@ SET DEFINE OFF
------ payload begin ------
-- IMport van data set uit de PAT tester
CREATE OR REPLACE PROCEDURE TMGP_IMPORT_PATDATA(p_import_key NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TMGP_UPDATE_PATDATA(p_import_key NUMBER)
AS
v_date DATE;
BEGIN
SELECT SYSDATE INTO v_date FROM DUAL;
END;
/
-- Einde import PAT tester
-- Import procedure voor inlezen perriodiek taken
CREATE OR REPLACE PROCEDURE TMGP_IMPORT_TAKEN_OVERIG(p_import_key IN NUMBER)
AS
BEGIN
DELETE FROM fac_imp_csv;
COMMIT;
fac_import_genericcsv(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TMGP_UPDATE_TAKEN_OVERIG(p_import_key IN NUMBER)
AS
CURSOR c
IS
SELECT fac_imp_csv_col01 ins_deel_omschrijving,
fac_imp_csv_col02 taak_omschrijving,
fac_imp_csv_col03 taak_categorie,
fac_imp_csv_col04 taak_datum,
fac_imp_csv_col05 taak_interval,
fac_imp_csv_col06 taak_interval_periode
from fac_imp_csv
WHERE fac_import_key = p_import_key;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_eenheid NUMBER;
v_deel_key NUMBER;
v_ins_discipine_key NUMBER;
v_ins_srtgroep_key NUMBER;
v_ins_srtdeel_key NUMBER;
v_ins_srtcontrole_niveau VARCHAR2(1);
v_srtcontrole_key NUMBER;
v_taakcat_key NUMBER;
v_srtcontroledl_xcp_key NUMBER;
BEGIN
v_eenheid:=3;
FOR rec IN c
LOOP
IF UPPER(rec.taak_interval_periode)='J' THEN
v_eenheid:=4;
ELSIF UPPER(rec.taak_interval_periode)='M' THEN
v_eenheid:=3;
ELSIF UPPER(rec.taak_interval_periode)='W' THEN
v_eenheid:=2;
ELSIF UPPER(rec.taak_interval_periode)='D' THEN
v_eenheid:=1;
ELSE
v_eenheid:=3;
END IF;
--Haal het object, discipine , groep en objectsoort
v_errormsg :='Ophalen object '||rec.ins_deel_omschrijving;
SELECT ins_deel_key, ins_discipline_key, ins_srtgroep_key, ins_srtdeel_key
INTO v_deel_key, v_ins_discipine_key, v_ins_srtgroep_key, v_ins_srtdeel_key
FROM ins_v_deel_gegevens
WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving ;
v_ins_srtcontrole_niveau:='S';
-- Haal taak categorie op indien niet aanwezig maak deze aan.
v_errormsg :='Ophalen taakcetegorie '||rec.taak_categorie;
SELECT ins_discipline_key
INTO v_taakcat_key
FROM ins_tab_discipline
WHERE ins_discipline_module='CTR'
AND UPPER(ins_discipline_omschrijving) = UPPER(rec.taak_categorie)
AND ins_discipline_verwijder IS NULL;
BEGIN
SELECT ins_srtcontrole_key
INTO v_srtcontrole_key
FROM ins_srtcontrole
where ins_srtinstallatie_key=v_ins_srtdeel_key
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
AND UPPER(ins_srtcontrole_omschrijving) = UPPER(rec.taak_omschrijving)
AND ins_srtcontrole_periode=rec.taak_interval
AND ins_srtcontrole_eenheid=v_eenheid
AND ins_srtcontrole_mode=1
AND ctr_discipline_key=v_taakcat_key;
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- ins_srtcontrole is er niet dus maken we hem aan,
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_srtdeel_key,
v_ins_srtcontrole_niveau,
rec.taak_omschrijving,
rec.taak_interval,
v_eenheid,
1,
v_taakcat_key
)
RETURNING ins_srtcontrole_key
INTO v_srtcontrole_key;
END;
-- XCP record m,aken met de verwachte startdatum
INSERT INTO ins_srtcontroledl_xcp
(ins_srtcontrole_key,
ins_deel_key,
ins_srtcontroledl_xcp_eenheid,
INS_SRTCONTROLEDL_XCP_STARTDAT)
VALUES (v_srtcontrole_key,
v_deel_key,
v_eenheid,
fac.safe_to_date(rec.taak_datum,'DD-MM-YYYY'))
RETURNING ins_srtcontroledl_xcp_key
INTO v_srtcontroledl_xcp_key;
-- Heeft objectsoort een taak met deze omschrijving,
-- Nee, maak de taak aan onder deze objectwsoort
-- Ja, haal de srt_taak_key op
-- Heeft obecjt al een XCP record,
-- Ja, dan is deze twee keer ingelezen ebn doe niets,
-- Nee, maak xcp record aan met verijzing naar srt_taak_key ,
--Heeft object
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
/
--EINDE Import procedure voor inlezen perriodiek taken
--Import procedure voor inlezen periodiek MJOB
CREATE OR REPLACE PROCEDURE TMGP_IMPORT_TAKEN_MJOB(p_import_key IN NUMBER)
AS
BEGIN
DELETE FROM fac_imp_csv;
COMMIT;
fac_import_genericcsv(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TMGP_UPDATE_TAKEN_MJOB(p_import_key IN NUMBER)
AS
CURSOR c
IS
SELECT fac_imp_csv_col01 ins_deel_omschrijving,
fac_imp_csv_col02 taak_omschrijving,
fac_imp_csv_col03 taak_categorie,
fac_imp_csv_col04 taak_datum,
fac_imp_csv_col05 taak_interval,
fac_imp_csv_col06 taak_interval_periode,
fac_imp_csv_col07 taak_datum_oorspr,
fac_imp_csv_col08 taak_datum_begroot,
fac_imp_csv_col09 taak_opmerking,
fac_imp_csv_col10 taak_werksoort,
fac_imp_csv_col11 taak_kosten,
fac_imp_csv_col12 taak_financiering,
fac_imp_csv_col13 taak_grootboek,
fac_imp_csv_col14 taak_grootboek_omsc
from fac_imp_csv
WHERE fac_import_key = p_import_key;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_eenheid NUMBER;
v_deel_key NUMBER;
v_ins_discipine_key NUMBER;
v_ins_srtgroep_key NUMBER;
v_ins_srtdeel_key NUMBER;
v_ins_srtcontrole_niveau VARCHAR2(1);
v_srtcontrole_key NUMBER;
v_taakcat_key NUMBER;
v_srtcontroledl_xcp_key NUMBER;
BEGIN
v_eenheid:=3;
FOR rec IN c
LOOP
IF UPPER(rec.taak_interval_periode)='J' THEN
v_eenheid:=4;
ELSIF UPPER(rec.taak_interval_periode)='M' THEN
v_eenheid:=3;
ELSIF UPPER(rec.taak_interval_periode)='W' THEN
v_eenheid:=2;
ELSIF UPPER(rec.taak_interval_periode)='D' THEN
v_eenheid:=1;
ELSE
v_eenheid:=3;
END IF;
--Haal het object, discipine , groep en objectsoort
v_errormsg :='Ophalen object '||rec.ins_deel_omschrijving;
SELECT ins_deel_key, ins_discipline_key, ins_srtgroep_key, ins_srtdeel_key
INTO v_deel_key, v_ins_discipine_key, v_ins_srtgroep_key, v_ins_srtdeel_key
FROM ins_v_deel_gegevens
WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving ;
v_ins_srtcontrole_niveau:='S';
-- Haal taak categorie op indien niet aanwezig maak deze aan.
v_errormsg :='Ophalen taakcetegorie '||rec.taak_categorie;
SELECT ins_discipline_key
INTO v_taakcat_key
FROM ins_tab_discipline
WHERE ins_discipline_module='CTR'
AND UPPER(ins_discipline_omschrijving) = UPPER(rec.taak_categorie)
AND ins_discipline_verwijder IS NULL;
BEGIN
SELECT ins_srtcontrole_key
INTO v_srtcontrole_key
FROM ins_srtcontrole
where ins_srtinstallatie_key=v_ins_srtdeel_key
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
AND UPPER(ins_srtcontrole_omschrijving) = UPPER(rec.taak_omschrijving)
AND ins_srtcontrole_periode=rec.taak_interval
AND ins_srtcontrole_eenheid=v_eenheid
AND ins_srtcontrole_mode=1
AND ctr_discipline_key=v_taakcat_key;
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- ins_srtcontrole is er niet dus maken we hem aan,
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_srtdeel_key,
v_ins_srtcontrole_niveau,
rec.taak_omschrijving,
rec.taak_interval,
v_eenheid,
1,
v_taakcat_key
)
RETURNING ins_srtcontrole_key
INTO v_srtcontrole_key;
END;
-- XCP record m,aken met de verwachte startdatum
INSERT INTO ins_srtcontroledl_xcp
(ins_srtcontrole_key,
ins_deel_key,
ins_srtcontroledl_xcp_eenheid,
ins_srtcontroledl_xcp_startdat,
ins_srtcontroledl_xcp_kosten,
ins_srtcontroledl_xcp_opmerk)
VALUES (v_srtcontrole_key,
v_deel_key,
v_eenheid,
fac.safe_to_date(rec.taak_datum,'DD-MM-YYYY'),
fac.safe_to_number(rec.taak_kosten),
SUBSTR(rec.taak_opmerking,0,300))
RETURNING ins_srtcontroledl_xcp_key
INTO v_srtcontroledl_xcp_key;
-- Heeft objectsoort een taak met deze omschrijving,
-- Nee, maak de taak aan onder deze objectwsoort
-- Ja, haal de srt_taak_key op
-- Heeft obecjt al een XCP record,
-- Ja, dan is deze twee keer ingelezen ebn doe niets,
-- Nee, maak xcp record aan met verijzing naar srt_taak_key ,
--Heeft object
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
/
--EINDE Import procedure voor inlezen periodiek MJOB
-- Import procedure voor inlezen cmdb assets met configuratie link in kenmkerk 1 kolom
CREATE OR REPLACE PROCEDURE TMGP_IMPORT_CMDBASSETS(p_import_key IN NUMBER)
@@ -38,7 +359,6 @@ BEGIN
END;
/
CREATE OR REPLACE PROCEDURE TMGP_UPDATE_CMDBASSETS(p_import_key IN NUMBER)
AS
CURSOR sel
@@ -53,19 +373,52 @@ AS
WHERE idk.ins_deelkoppeling_van_key = i2.ins_deel_key
AND idk.ins_deelkoppeling_naar_key =i.ins_deel_key)=0;
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (200);
v_aanduiding VARCHAR2 (200);
v_errorhint VARCHAR2 (200);
BEGIN
fac_update_ins(p_import_key);
FOR rec IN sel
-- Voor die obejcten die onderdeel zijn van een configuratiengaan we nu de relatie leggen
FOR rec IN sel
LOOP
INSERT INTO ins_deelkoppeling(ins_deelkoppeling_van_key,
ins_deelkoppeling_naar_key,
ins_deelkoppeling_omschrijving,
ins_deelkoppeling_aanmaak)
VALUES (rec.config_key,
rec.object_key,
'Configuratie koppeling',
SYSDATE);
-- fac.trackaction ('INSUPD', rec.config_key, 3, SYSDATE,'Object toegevoegd aan configuratie');
v_aanduiding := 'Ins deel_key: ' || rec.object_key;
v_errorhint := 'Configuratie koppeling fout tussen '
|| rec.config_key|| ' en '||rec.object_key;
BEGIN
INSERT INTO ins_deelkoppeling(ins_deelkoppeling_van_key,
ins_deelkoppeling_naar_key,
ins_deelkoppeling_omschrijving,
ins_deelkoppeling_aanmaak)
VALUES (rec.config_key,
rec.object_key,
'Configuratie koppeling',
SYSDATE);
fac.trackaction ('INSUPD', rec.config_key, 3, SYSDATE,'Object toegevoegd aan configuratie');
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
fac.writelog (
'Fout bij wegschrijven configuratie' ,
'E',
'Error '
|| v_aanduiding
|| oracle_err_num
|| '/'
|| oracle_err_mes,
v_errorhint);
END;
END LOOP;
END;