TMGP#77597 -- Inrichten omgeving voor de Tomin groep

svn path=/Customer/trunk/; revision=61153
This commit is contained in:
Norbert Wassink
2023-07-12 07:34:29 +00:00
parent 100e88253b
commit fccf7c59e3

View File

@@ -90,6 +90,7 @@ AS
v_srtcontroledl_xcp_key NUMBER;
BEGIN
v_eenheid:=3;
v_deel_key:=-1;
FOR rec IN c
LOOP
IF UPPER(rec.taak_interval_periode)='J' THEN
@@ -104,78 +105,99 @@ BEGIN
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;
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 ;
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 ,
v_deel_key:=-1;
END;
v_ins_srtcontrole_niveau:='S';
IF v_deel_key>0
THEN
-- 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,
SUBSTR(rec.taak_omschrijving,0,60),
rec.taak_interval,
v_eenheid,
1,
v_taakcat_key
)
RETURNING ins_srtcontrole_key
INTO v_srtcontrole_key;
END;
BEGIN
SELECT ins_srtcontroledl_xcp_key
INTO v_srtcontroledl_xcp_key
FROM ins_srtcontroledl_xcp
WHERE ins_deel_key=v_deel_key
AND ins_srtcontrole_key=v_srtcontrole_key
AND ins_srtcontroledl_xcp_eenheid=v_eenheid;
-- we hebben een xcp record dan updaten we nu alleen de startdatum
UPDATE ins_srtcontroledl_xcp
SET INS_SRTCONTROLEDL_XCP_STARTDAT=fac.safe_to_date(rec.taak_datum,'DD-MM-YYYY')
WHERE ins_srtcontroledl_xcp_key = v_srtcontroledl_xcp_key;
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- Er is nog geen XCP record dus maken we er 1 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;
END;
ELSE
fac.imp_writelog (p_import_key,
'W',
'Object '||rec.ins_deel_omschrijving||' niet gevonden',
'Object niet gevonden');
END IF;
--Heeft object
END LOOP;
EXCEPTION