PLGR#81652 -- Implementatie Plieger

svn path=/Customer/trunk/; revision=64934
This commit is contained in:
Norbert Wassink
2024-06-03 09:07:36 +00:00
parent addcc09b2d
commit f5fc7812b6

View File

@@ -46,21 +46,23 @@ AS
CURSOR obj
IS
SELECT fac_imp_csv_key fac_imp_csv_key,
fac_imp_csv_col03 ins_groep_oms,
fac_imp_csv_col04 ins_srtdeel_code,
fac_imp_csv_col05 ins_srtdeel_oms,
fac_imp_csv_col03 ins_groep_oms,
fac_imp_csv_col04 ins_srtdeel_code,
fac_imp_csv_col05 ins_srtdeel_oms,
fac_imp_csv_col06 ins_deel_omschrijving,
fac_imp_csv_col07 taak_omschrijving,
fac_imp_csv_col08 taak_cyclus,
fac_imp_csv_col09 taak_cyclus_eenheid,
fac_imp_csv_col10 taak_datum,
fac_imp_csv_col11 taak_categorie,
fac_imp_csv_col12 taak_kosten
fac_imp_csv_col12 taak_kosten,
fac_imp_csv_col13 taak_default_cyclus,
fac_imp_csv_col14 taak_default_cyclus_eenheid
FROM fac_imp_csv
WHERE fac_import_key=p_import_key;
v_ins_deel_key NUMBER;
v_ins_deel_key NUMBER;
BEGIN
@@ -123,16 +125,18 @@ AS
CURSOR obj
IS
SELECT fac_imp_csv_key fac_imp_csv_key,
fac_imp_csv_col03 ins_groep_oms,
fac_imp_csv_col03 ins_groep_oms,
fac_imp_csv_col04 ins_srtdeel_code,
fac_imp_csv_col05 ins_srtdeel_oms,
fac_imp_csv_col06 ins_deel_omschrijving,
fac_imp_csv_col05 ins_srtdeel_oms,
fac_imp_csv_col06 ins_deel_omschrijving,
fac_imp_csv_col07 taak_omschrijving,
fac_imp_csv_col08 taak_cyclus,
fac_imp_csv_col09 taak_cyclus_eenheid,
fac_imp_csv_col10 taak_datum,
fac_imp_csv_col11 taak_categorie,
fac_imp_csv_col12 taak_kosten
fac_imp_csv_col12 taak_kosten,
fac_imp_csv_col13 taak_default_cyclus,
fac_imp_csv_col14 taak_default_cyclus_eenheid
FROM fac_imp_csv
WHERE fac_import_key=p_import_key;
@@ -142,19 +146,21 @@ AS
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_eenheid NUMBER;
v_eenheid NUMBER;
v_default_eenheid NUMBER;
v_deel_key NUMBER;
v_ins_discipine_key NUMBER;
v_ins_srtgroep_key NUMBER;
v_ins_srtdeel_key NUMBER;
v_taak_cyclus NUMBER;
v_ins_discipine_key NUMBER;
v_ins_srtgroep_key NUMBER;
v_ins_srtdeel_key NUMBER;
v_taak_cyclus NUMBER;
v_taak_default_cyclus NUMBER;
v_revisie_interval NUMBER;
v_onderhoud_interval NUMBER;
v_taak_kosten NUMBER;
v_taak_datum DATE;
v_revisie_interval NUMBER;
v_onderhoud_interval NUMBER;
v_taak_kosten NUMBER;
v_taak_datum DATE;
v_ins_srtcontrole_niveau VARCHAR2(2);
v_srtkenmerk_doc NUMBER;
v_srtkenmerk_doc NUMBER;
v_taakcat_key NUMBER;
v_srtcontrole_key NUMBER;
v_srtcontroledl_xcp_key NUMBER;
@@ -182,17 +188,44 @@ BEGIN
LOOP
v_taak_datum := fac.safe_to_date(rec.taak_datum,'DD-MM-YYYY');
IF rec.taak_cyclus_eenheid='3'
-- (default)taak cyclus eenheid kan zijn:
-- 4=jaarlijk
-- 3=maand
-- 2=week
-- 1=dag
IF rec.taak_cyclus_eenheid='4'
THEN
v_eenheid:=3;
ELSIF rec.taak_cyclus_eenheid='4'
THEN
v_eenheid:=4;
ELSIF rec.taak_cyclus_eenheid='2'
THEN
ELSIF rec.taak_cyclus_eenheid='3'
THEN
v_eenheid:=3;
ELSIF rec.taak_cyclus_eenheid='2'
THEN
v_eenheid:=2;
ELSIF rec.taak_cyclus_eenheid='1'
THEN
v_eenheid:=1;
END IF;
IF rec.taak_default_cyclus_eenheid='4'
THEN
v_default_eenheid:=4;
ELSIF rec.taak_default_cyclus_eenheid='3'
THEN
v_default_eenheid:=3;
ELSIF rec.taak_default_cyclus_eenheid='2'
THEN
v_default_eenheid:=2;
ELSIF rec.taak_default_cyclus_eenheid='1'
THEN
v_default_eenheid:=1;
ELSE
v_default_eenheid:=v_eenheid;
END IF;
v_ins_srtcontrole_niveau:='S';
--Haal het object, discipine , groep en objectsoort
BEGIN
v_errormsg :='Ophalen object '||rec.ins_deel_omschrijving;
@@ -208,10 +241,10 @@ BEGIN
WHEN NO_DATA_FOUND THEN
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.
-- Haal taak categorie op indien niet aanwezig maak deze aan.
v_errormsg :='Ophalen taakcetegorie '||rec.taak_omschrijving;
-- Gaan we eerst check of er onderhoud controles zijn
SELECT i.ins_discipline_key, p.ctr_disc_params_ismjob
@@ -223,11 +256,16 @@ BEGIN
AND p.ctr_ins_discipline_key=i.ins_discipline_key;
IF v_taakcat_ismjob=1 -- MJOB categorien UITZOEKEN HOE IK DAT VANUIT DE DATABSE KAN ACHTERHALEN.
IF v_taakcat_ismjob=1
THEN
v_taak_cyclus:=0;
v_taak_default_cyclus:=0;
ELSE
v_taak_cyclus := fac.safe_to_number(rec.taak_cyclus);
IF LENGTH(rec.taak_default_cyclus)>0 THEN
v_taak_default_cyclus:=fac.safe_to_number(rec.taak_default_cyclus);
ELSE
v_taak_default_cyclus:=0;
END IF;
END IF;
BEGIN
@@ -237,8 +275,8 @@ BEGIN
where ins_srtinstallatie_key=v_ins_srtdeel_key
AND ins_srtcontrole_niveau=v_ins_srtcontrole_niveau
AND UPPER(ins_srtcontrole_omschrijving) = UPPER(SUBSTR(rec.taak_omschrijving,0,60))
AND ins_srtcontrole_periode=v_taak_cyclus
AND ins_srtcontrole_eenheid=v_eenheid
AND ins_srtcontrole_periode=v_taak_default_cyclus
AND ins_srtcontrole_eenheid=v_default_eenheid
AND ins_srtcontrole_mode=1
AND ctr_discipline_key=v_taakcat_key;
@@ -256,14 +294,14 @@ BEGIN
VALUES (v_ins_srtdeel_key,
v_ins_srtcontrole_niveau,
SUBSTR(rec.taak_omschrijving,0,60),
v_taak_cyclus,
v_eenheid,
v_taak_default_cyclus,
v_default_eenheid,
1,
v_taakcat_key
)
RETURNING ins_srtcontrole_key
INTO v_srtcontrole_key;
IF v_srtkenmerk_doc>0 THEN
IF v_srtkenmerk_doc>0 THEN
INSERT INTO ins_kenmerk (
ins_srtkenmerk_key,
ins_srtinstallatie_key,
@@ -284,34 +322,40 @@ BEGIN
'',
'Documenten'
);
END IF;
END IF;
END;
IF LENGTH(rec.taak_cyclus)>0 THEN
v_taak_cyclus:=fac.safe_to_number(rec.taak_cyclus);
ELSE
v_taak_cyclus:= v_taak_default_cyclus;
END IF;
IF v_taakcat_ismjob=1 THEN
IF v_taakcat_ismjob=1 THEN
v_taak_kosten:=COALESCE(fac.safe_to_number(rec.taak_kosten),0);
ELSE
ELSE
v_taak_kosten:=0;
END IF;
END IF;
BEGIN
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;
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=v_taak_datum
SET INS_SRTCONTROLEDL_XCP_STARTDAT=v_taak_datum,
ins_srtcontroledl_xcp_periode=v_taak_cyclus,
ins_srtcontroledl_xcp_eenheid=v_eenheid
WHERE ins_srtcontroledl_xcp_key = v_srtcontroledl_xcp_key;
EXCEPTION
WHEN NO_DATA_FOUND THEN
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- Er is nog geen XCP record dus maken we er 1 met de verwachte startdatum
@@ -319,28 +363,22 @@ BEGIN
(ins_srtcontrole_key,
ins_deel_key,
ins_srtcontroledl_xcp_eenheid,
INS_SRTCONTROLEDL_xcp_kosten,
INS_SRTCONTROLEDL_XCP_PERIODE,
INS_SRTCONTROLEDL_XCP_STARTDAT)
ins_srtcontroledl_xcp_kosten,
ins_srtcontroledl_xcp_periode,
ins_srtcontroledl_xcp_startdat)
VALUES (v_srtcontrole_key,
v_deel_key,
v_eenheid,
v_taak_kosten,
v_taak_cyclus,
v_taak_datum);
END;
END;
ELSE
fac.imp_writelog (p_import_key,
'W',
'Object '||rec.ins_deel_omschrijving||' niet gevonden',
'Object niet gevonden');
END IF;
END IF;
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND