ARAI#75066 -- Once files om O-prognose data te verwerken in Facilitor, incl conditiemeting
svn path=/Customer/; revision=60387
This commit is contained in:
169
onces/ARAI/ARAI#75066-1.sql
Normal file
169
onces/ARAI/ARAI#75066-1.sql
Normal file
@@ -0,0 +1,169 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- ARAI#75066 deel 1: Ingelezen records muteren zodat deze onder de bestaande objectenstructuur passen.
|
||||
-- Vervolgens eventuele spaties weg trimmen en de import tabel voor objecten leeg maken.
|
||||
-- Daarna de fac_imp_ins tabel leeg maken en vullen met de ingelezen data uit de CSV.
|
||||
--
|
||||
DEFINE thisfile = 'ARAI#75066-1.SQL'
|
||||
DEFINE dbuser = 'ARAI'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
DECLARE
|
||||
|
||||
CURSOR c1 IS
|
||||
SELECT DISTINCT i.ins_discipline_omschrijving
|
||||
FROM ins_discipline i, fac_imp_csv f
|
||||
WHERE SUBSTR (f.fac_imp_csv_col06, 1, 2) =
|
||||
SUBSTR (i.ins_discipline_omschrijving, 1, 2)
|
||||
AND i.ins_discipline_verwijder IS NULL;
|
||||
|
||||
CURSOR c2 IS
|
||||
SELECT DISTINCT i.ins_srtgroep_omschrijving
|
||||
FROM ins_srtgroep i, fac_imp_csv f
|
||||
WHERE SUBSTR (f.fac_imp_csv_col07, 1, 4) =
|
||||
SUBSTR (i.ins_srtgroep_omschrijving, 1, 4)
|
||||
AND i.ins_srtgroep_verwijder IS NULL;
|
||||
|
||||
CURSOR c3 IS
|
||||
SELECT DISTINCT i.ins_srtdeel_code, i.ins_srtdeel_omschrijving
|
||||
FROM ins_srtdeel i, fac_imp_csv f
|
||||
WHERE f.fac_imp_csv_col08 = i.ins_srtdeel_code
|
||||
AND i.ins_srtdeel_verwijder IS NULL;
|
||||
|
||||
BEGIN
|
||||
-- Behouden disciplines
|
||||
FOR rec IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE fac_imp_csv
|
||||
SET fac_imp_csv_col06 = rec.ins_discipline_omschrijving
|
||||
WHERE SUBSTR (fac_imp_csv_col06, 1, 2) =
|
||||
SUBSTR (rec.ins_discipline_omschrijving, 1, 2);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- Behouden groepen
|
||||
FOR rec IN c2
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE fac_imp_csv
|
||||
SET fac_imp_csv_col07 = rec.ins_srtgroep_omschrijving
|
||||
WHERE SUBSTR (fac_imp_csv_col07, 1, 4) =
|
||||
SUBSTR (rec.ins_srtgroep_omschrijving, 1, 4);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- Behouden objectsoorten
|
||||
FOR rec IN c3
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE fac_imp_csv
|
||||
SET fac_imp_csv_col08 = rec.ins_srtdeel_code,
|
||||
fac_imp_csv_col09 = rec.ins_srtdeel_omschrijving
|
||||
WHERE fac_imp_csv_col08 = rec.ins_srtdeel_code;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
UPDATE fac_imp_csv
|
||||
SET FAC_IMP_CSV_COL06 = TRIM (FAC_IMP_CSV_COL06),
|
||||
FAC_IMP_CSV_COL07 = TRIM (FAC_IMP_CSV_COL07),
|
||||
FAC_IMP_CSV_COL08 = TRIM (FAC_IMP_CSV_COL08),
|
||||
FAC_IMP_CSV_COL09 = TRIM (FAC_IMP_CSV_COL09),
|
||||
FAC_IMP_CSV_COL10 = TRIM (FAC_IMP_CSV_COL10);
|
||||
|
||||
-- Voor het verwerken eerst de import tabel leeg maken
|
||||
DELETE FROM fac_imp_ins;
|
||||
|
||||
-- Plaats de data uit de csv file in de fac_imp_ins tabel
|
||||
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_aantal,
|
||||
ins_kenmerkwaarde1,
|
||||
ins_kenmerkwaarde2,
|
||||
ins_kenmerkwaarde3,
|
||||
ins_kenmerkwaarde4,
|
||||
ins_deel_aanmaak)
|
||||
SELECT DISTINCT fac_imp_csv_col06, -- ins_discipline_omschrijving
|
||||
fac_imp_csv_col07, -- ins_srtgroep_omschrijving
|
||||
fac_imp_csv_col08, -- ins_srtdeel_code
|
||||
fac_imp_csv_col09, -- ins_srtdeel_omschrijving
|
||||
fac_imp_csv_col13 || fac_imp_csv_col01, -- ins_deel_omschrijving
|
||||
fac_imp_csv_col10, -- ins_deel_opmerking
|
||||
'RAI', -- alg_locatie_code
|
||||
g.alg_gebouw_upper, -- alg_gebouw_upper
|
||||
(SELECT MAX (alg_verdieping_volgnr) -- Verdieping
|
||||
FROM alg_v_ruimte_gegevens rg
|
||||
WHERE rg.alg_ruimte_nr = 'ONB1'
|
||||
AND rg.alg_gebouw_key = g.alg_gebouw_key),
|
||||
(SELECT MAX (alg_ruimte_nr) -- Ruimte
|
||||
FROM alg_v_ruimte_gegevens rg
|
||||
WHERE rg.alg_ruimte_nr = 'ONB1'
|
||||
AND rg.alg_gebouw_key = g.alg_gebouw_key),
|
||||
fac.safe_to_number (REPLACE (fac_imp_csv_col11, ',', '.')), -- aantal object
|
||||
|
||||
-- Kenmerken ook meenemen
|
||||
DECODE (fac_imp_csv_col23,
|
||||
NULL, NULL,
|
||||
'Type|0=' || fac_imp_csv_col23), -- Type
|
||||
DECODE (fac_imp_csv_col24,
|
||||
NULL, NULL,
|
||||
'Fabricaat|0=' || fac_imp_csv_col24), -- Fabricaat
|
||||
DECODE (fac_imp_csv_col26,
|
||||
NULL, NULL,
|
||||
'Capaciteit|0=' || fac_imp_csv_col26), -- Capaciteit
|
||||
DECODE (fac_imp_csv_col88,
|
||||
NULL, NULL,
|
||||
'Extra|0=' || fac_imp_csv_col88), -- Extra omschrijving
|
||||
DECODE (
|
||||
fac_imp_csv_col25,
|
||||
NULL, SYSDATE,
|
||||
COALESCE (
|
||||
fac.safe_to_date ('0101' || fac_imp_csv_col25, 'ddmmyyyy'),
|
||||
SYSDATE))
|
||||
FROM fac_imp_csv, alg_gebouw g
|
||||
WHERE UPPER (fac_imp_csv_col03) = UPPER(g.alg_gebouw_naam)
|
||||
AND fac_imp_csv_col01 NOT LIKE '%"%';
|
||||
|
||||
-- Nog even zeker weten dat er geen spaties zijn meegekomen
|
||||
|
||||
UPDATE fac_imp_ins SET ins_discipline_omschrijving = TRIM (ins_discipline_omschrijving),
|
||||
ins_srtgroep_omschrijving = TRIM (ins_srtgroep_omschrijving),
|
||||
ins_srtdeel_code = TRIM (ins_srtdeel_code),
|
||||
ins_srtdeel_omschrijving = TRIM (ins_srtdeel_omschrijving);
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
39
onces/ARAI/ARAI#75066-2-4.sql
Normal file
39
onces/ARAI/ARAI#75066-2-4.sql
Normal file
@@ -0,0 +1,39 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- ARAI#75066 deel 2 en 4: Objecten import verwerken, in stap 3 de kenmerken op de nieuwe disciplines aanmaken, vervolgens de import nog een keer doen als stap 4.
|
||||
-- Vergeet niet om de fac_import_key te vullen met de key van de CSV import.
|
||||
--
|
||||
DEFINE thisfile = 'ARAI#75066-2-4.SQL'
|
||||
DEFINE dbuser = 'ARAI'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
BEGIN
|
||||
fac_update_ins(626376);
|
||||
END;
|
||||
/
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
92
onces/ARAI/ARAI#75066-3.sql
Normal file
92
onces/ARAI/ARAI#75066-3.sql
Normal file
@@ -0,0 +1,92 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- ARAI#75066 deel 3: Kenmerken aanmaken
|
||||
--
|
||||
DEFINE thisfile = 'ARAI#75066-4.SQL'
|
||||
DEFINE dbuser = 'ARAI'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
-- Kenmerk van soort 106 (type) bestaat al voor sommige disciplines, dus die nemen we even apart zodat de rest alsnog overal wordt aangemaakt.
|
||||
|
||||
DECLARE
|
||||
CURSOR c1 IS
|
||||
|
||||
SELECT DISTINCT d.ins_discipline_key, d.ins_discipline_omschrijving
|
||||
FROM ins_discipline d
|
||||
WHERE ins_discipline_omschrijving LIKE '%-%'
|
||||
AND ins_discipline_verwijder IS NULL
|
||||
AND NOT EXISTS
|
||||
(SELECT 'x'
|
||||
FROM ins_kenmerk
|
||||
WHERE ins_srtinstallatie_key = d.ins_discipline_key
|
||||
AND ins_kenmerk_niveau = 'D'
|
||||
AND ins_srtkenmerk_key IN (106));
|
||||
|
||||
CURSOR c2 IS
|
||||
|
||||
SELECT DISTINCT d.ins_discipline_key, d.ins_discipline_omschrijving
|
||||
FROM ins_discipline d
|
||||
WHERE ins_discipline_omschrijving LIKE '%-%'
|
||||
AND ins_discipline_verwijder IS NULL
|
||||
AND NOT EXISTS
|
||||
(SELECT 'x'
|
||||
FROM ins_kenmerk
|
||||
WHERE ins_srtinstallatie_key = d.ins_discipline_key
|
||||
AND ins_kenmerk_niveau = 'D'
|
||||
AND ins_srtkenmerk_key IN (821,
|
||||
822,
|
||||
823));
|
||||
|
||||
BEGIN
|
||||
FOR rec IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep, ins_kenmerk_wissen, ins_kenmerk_inlijst)
|
||||
VALUES (106, rec.ins_discipline_key, 'D', 300, 'D', 0, 0, 0);
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c2
|
||||
LOOP
|
||||
BEGIN
|
||||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep, ins_kenmerk_wissen, ins_kenmerk_inlijst)
|
||||
VALUES (821, rec.ins_discipline_key, 'D', 310, 'D', 0, 0, 0);
|
||||
|
||||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep, ins_kenmerk_wissen, ins_kenmerk_inlijst)
|
||||
VALUES (822, rec.ins_discipline_key, 'D', 320, 'D', 0, 0, 0);
|
||||
|
||||
INSERT INTO ins_kenmerk (ins_srtkenmerk_key, ins_srtinstallatie_key, ins_kenmerk_niveau, ins_kenmerk_volgnummer, ins_kenmerk_bewerkniveau, ins_kenmerk_groep, ins_kenmerk_wissen, ins_kenmerk_inlijst)
|
||||
VALUES (823, rec.ins_discipline_key, 'D', 330, 'D', 0, 0, 0);
|
||||
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
76
onces/ARAI/ARAI#75066-5.sql
Normal file
76
onces/ARAI/ARAI#75066-5.sql
Normal file
@@ -0,0 +1,76 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- ARAI#75066 deel 5: Eenheden bij de objectsoort bijwerken conform brondata en beschrijving toevoegen aan de objecten.
|
||||
--
|
||||
DEFINE thisfile = 'ARAI#75066-5.SQL'
|
||||
DEFINE dbuser = 'ARAI'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
DECLARE
|
||||
CURSOR c1 IS
|
||||
SELECT DISTINCT
|
||||
i.ins_srtdeel_key,
|
||||
i.ins_srtdeel_omschrijving,
|
||||
MAX (c.fac_imp_csv_col12) eenheid
|
||||
FROM ins_srtdeel i, fac_imp_csv c
|
||||
WHERE i.ins_srtdeel_code = c.fac_imp_csv_col08
|
||||
AND c.fac_imp_csv_col12 IS NOT NULL
|
||||
GROUP BY i.ins_srtdeel_key, i.ins_srtdeel_omschrijving;
|
||||
|
||||
CURSOR c2 IS
|
||||
SELECT i.ins_deel_key,
|
||||
i.ins_deel_omschrijving,
|
||||
c.fac_imp_csv_col10 beschrijving
|
||||
FROM ins_deel i, fac_imp_csv c
|
||||
WHERE fac_imp_csv_col13 || fac_imp_csv_col01 = i.ins_deel_omschrijving
|
||||
GROUP BY i.ins_deel_key, i.ins_deel_omschrijving, c.fac_imp_csv_col10;
|
||||
|
||||
BEGIN
|
||||
FOR rec IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE ins_srtdeel
|
||||
SET ins_srtdeel_eenheid = rec.eenheid
|
||||
WHERE ins_srtdeel_key = rec.ins_srtdeel_key;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
-- Beschrijving nog even toevoegen aan de objecten
|
||||
FOR rec IN c2
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE ins_deel
|
||||
SET ins_deel_opmerking = rec.beschrijving
|
||||
WHERE ins_deel_key = rec.ins_deel_key;
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
268
onces/ARAI/ARAI#75066-6.sql
Normal file
268
onces/ARAI/ARAI#75066-6.sql
Normal file
@@ -0,0 +1,268 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- ARAI#75066 deel 6: Taken aanmaken
|
||||
--
|
||||
DEFINE thisfile = 'ARAI#75066-6.SQL'
|
||||
DEFINE dbuser = 'ARAI'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
-- Maak de taken aan
|
||||
|
||||
DECLARE
|
||||
CURSOR c IS
|
||||
SELECT TRIM (fac_imp_csv_col13 || fac_imp_csv_col01) ins_deel_omschrijving,
|
||||
TRIM (fac_imp_csv_col08) ins_srtdeel_code,
|
||||
TRIM (fac_imp_csv_col46) ins_srtcontrole_omschrijving, -- taak
|
||||
fac_imp_csv_col53 ins_srtcontroledl_xcp_materia, -- prijs/stuk
|
||||
fac_imp_csv_col55 ins_srtcontrole_periode, -- cyclus
|
||||
FAC.safe_to_date(fac_imp_csv_col54 || '0101', 'yyyymmdd') ins_srtcontroledl_xcp_startdat, -- startjaar
|
||||
fac_imp_csv_col49 ins_srtcontroledl_xcp_aantal, -- taak aantal
|
||||
TRIM (fac_imp_csv_col51) ins_srtcontroledl_xcp_aanteh, -- taak_eenheid
|
||||
TRIM (fac_imp_csv_col61) ins_srtcontroledl_xcp_groep, -- fasering
|
||||
TRIM (fac_imp_csv_col61) prs_kostenplaats_nr -- fasering
|
||||
FROM fac_imp_csv
|
||||
WHERE COALESCE(fac_imp_csv_col53, '0') <> '0';
|
||||
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (200);
|
||||
v_errorhint VARCHAR2 (200);
|
||||
v_aanduiding VARCHAR2 (100);
|
||||
|
||||
v_deel_key NUMBER;
|
||||
v_srtdeel_key NUMBER;
|
||||
v_srtcontrole_key NUMBER;
|
||||
v_srtcontroledl_xcp_key NUMBER;
|
||||
v_taakcat_key NUMBER;
|
||||
v_srtcontrole_periode INS_SRTCONTROLE.INS_SRTCONTROLE_PERIODE%TYPE;
|
||||
v_srtcontrole_materiaal INS_SRTCONTROLE.INS_SRTCONTROLE_MATERIAAL%TYPE;
|
||||
v_srtcontrole_percentage INS_SRTCONTROLE.INS_SRTCONTROLE_PERCENTAGE%TYPE;
|
||||
v_srtcontrole_level INS_SRTCONTROLE.INS_SRTCONTROLE_LEVEL%TYPE;
|
||||
v_percentage NUMBER;
|
||||
v_materiaal INS_SRTCONTROLEDL_XCP.INS_SRTCONTROLEDL_XCP_MATERIA%TYPE;
|
||||
v_kostenplaats_key PRS_KOSTENPLAATS.PRS_KOSTENPLAATS_KEY%TYPE;
|
||||
v_aantal INS_SRTCONTROLEDL_XCP.INS_SRTCONTROLEDL_XCP_AANTAL%TYPE;
|
||||
v_stopdat INS_SRTCONTROLEDL_XCP.INS_SRTCONTROLEDL_XCP_EIND%TYPE;
|
||||
v_periode INS_SRTCONTROLEDL_XCP.INS_SRTCONTROLEDL_XCP_PERIODE%TYPE;
|
||||
BEGIN
|
||||
|
||||
-- Eerst de eenmalige vervangingstaken die geen cyclus hebben op 100 jaar zetten, anders wordt de taak niet aangemaakt
|
||||
UPDATE fac_imp_csv
|
||||
SET fac_imp_csv_col55 = 100
|
||||
WHERE fac_imp_csv_col55 IS NULL;
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
v_aanduiding := rec.ins_deel_omschrijving;
|
||||
-- zoek het object
|
||||
v_errorhint := 'Zoek het object';
|
||||
|
||||
SELECT ins_deel_key, ins_srtdeel_key
|
||||
INTO v_deel_key, v_srtdeel_key
|
||||
FROM ins_deel
|
||||
WHERE ins_deel_omschrijving = rec.ins_deel_omschrijving;
|
||||
|
||||
-- zoek de taakcategorie
|
||||
v_errorhint := 'Zoek de taakcategorie';
|
||||
|
||||
CASE
|
||||
WHEN UPPER (rec.ins_srtcontroledl_xcp_groep) = '5'
|
||||
THEN
|
||||
v_taakcat_key := 3382; -- Energie besparende maatregelen
|
||||
WHEN UPPER (rec.ins_srtcontroledl_xcp_groep) = '10'
|
||||
THEN
|
||||
v_taakcat_key := 3381; -- Preventief onderhoud
|
||||
WHEN UPPER (rec.ins_srtcontroledl_xcp_groep) = '20'
|
||||
THEN
|
||||
v_taakcat_key := 1342; -- Vervanging
|
||||
WHEN UPPER (rec.ins_srtcontroledl_xcp_groep) = '30'
|
||||
THEN
|
||||
v_taakcat_key := 1341; -- Correctief onderhoud
|
||||
ELSE
|
||||
v_taakcat_key := 1341; -- Correctief onderhoud
|
||||
END CASE;
|
||||
|
||||
-- SELECT ins_discipline_key
|
||||
-- INTO v_taakcat_key
|
||||
-- FROM ctr_discipline
|
||||
-- WHERE UPPER (ins_discipline_omschrijving) =
|
||||
-- UPPER (rec.ins_kenmerkwaarde3);
|
||||
|
||||
v_errorhint := 'Bepaal materiaalkosten';
|
||||
v_materiaal :=
|
||||
FAC.safe_to_number (
|
||||
REPLACE (rec.ins_srtcontroledl_xcp_materia, ',', '.'));
|
||||
|
||||
v_aantal :=
|
||||
FAC.safe_to_number (
|
||||
REPLACE (rec.ins_srtcontroledl_xcp_aantal, ',', '.'));
|
||||
|
||||
BEGIN
|
||||
v_errorhint := 'Bepaal percentage';
|
||||
v_percentage := NULL;
|
||||
|
||||
-- IF rec.ins_kenmerkwaarde7 <> 1
|
||||
-- AND rec.ins_kenmerkwaarde7 IS NOT NULL
|
||||
-- THEN
|
||||
-- v_percentage := rec.ins_kenmerkwaarde7 * 100;
|
||||
-- END IF;
|
||||
v_percentage := 100;
|
||||
|
||||
|
||||
-- zoek de taak
|
||||
v_errorhint := 'Zoek de taak';
|
||||
|
||||
SELECT ins_srtcontrole_key,
|
||||
ins_srtcontrole_periode,
|
||||
ins_srtcontrole_materiaal,
|
||||
ins_srtcontrole_percentage
|
||||
INTO v_srtcontrole_key,
|
||||
v_srtcontrole_periode,
|
||||
v_srtcontrole_materiaal,
|
||||
v_srtcontrole_percentage
|
||||
FROM ins_srtcontrole
|
||||
WHERE ins_srtinstallatie_key = v_srtdeel_key
|
||||
AND ins_srtcontrole_omschrijving = SUBSTR(rec.ins_srtdeel_code || ' - ' || rec.ins_srtcontrole_omschrijving,1,60)
|
||||
AND ins_srtcontrole_niveau = 'S'
|
||||
AND ctr_discipline_key = v_taakcat_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_errorhint := 'Bepalen level';
|
||||
v_srtcontrole_level := 10;
|
||||
|
||||
|
||||
v_errorhint := 'Aanmaken srtcontrole';
|
||||
|
||||
-- We vullen de controle altijd met een bedrag van 0 euro. De overrule heeft dan het juiste
|
||||
-- bedrag. Hiermee voorkomen we een controle met een bepaald bedrag waarbij er voor een bepaald object
|
||||
-- die taak niet voorkomt.
|
||||
INSERT INTO ins_srtcontrole (ins_srtinstallatie_key,
|
||||
ins_srtcontrole_niveau,
|
||||
ins_srtcontrole_omschrijving,
|
||||
ctr_discipline_key,
|
||||
ins_srtcontrole_periode,
|
||||
ins_srtcontrole_eenheid,
|
||||
ins_srtcontrole_level,
|
||||
ins_srtcontrole_materiaal)
|
||||
VALUES (
|
||||
v_srtdeel_key,
|
||||
'S',
|
||||
SUBSTR( rec.ins_srtdeel_code || ' - '
|
||||
|| rec.ins_srtcontrole_omschrijving,1,60),
|
||||
v_taakcat_key,
|
||||
0,
|
||||
4,
|
||||
v_srtcontrole_level,
|
||||
0)
|
||||
RETURNING ins_srtcontrole_key
|
||||
INTO v_srtcontrole_key;
|
||||
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
SELECT prs_kostenplaats_key
|
||||
INTO v_kostenplaats_key
|
||||
FROM prs_kostenplaats
|
||||
WHERE prs_kostenplaats_nr = rec.prs_kostenplaats_nr;
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
v_kostenplaats_key := NULL;
|
||||
END;
|
||||
|
||||
-- dan moeten we een dl_xcp record aanmaken
|
||||
v_errorhint := 'Aanmaken xcp ' || rec.ins_deel_omschrijving || ' bedrag: ' || v_materiaal || '#' || v_srtcontrole_key ||'-' || v_deel_key;
|
||||
|
||||
v_stopdat := NULL;
|
||||
v_periode := rec.ins_srtcontrole_periode;
|
||||
|
||||
IF v_periode = 0
|
||||
THEN
|
||||
v_stopdat := add_months(rec.ins_srtcontroledl_xcp_startdat, 12);
|
||||
v_periode := 1;
|
||||
END IF;
|
||||
|
||||
INSERT INTO ins_srtcontroledl_xcp (
|
||||
ins_srtcontrole_key,
|
||||
ins_srtcontroledl_xcp_periode,
|
||||
ins_srtcontroledl_xcp_materia,
|
||||
ins_srtcontroledl_xcp_startdat,
|
||||
ins_srtcontroledl_xcp_eind,
|
||||
ins_srtcontroledl_xcp_aantal,
|
||||
ins_srtcontroledl_xcp_aanteh,
|
||||
ins_srtcontroledl_xcp_groep,
|
||||
-- prs_kostenplaats_key,
|
||||
ins_deel_key)
|
||||
VALUES (v_srtcontrole_key,
|
||||
v_periode,
|
||||
v_materiaal,
|
||||
rec.ins_srtcontroledl_xcp_startdat,
|
||||
v_stopdat,
|
||||
v_aantal,
|
||||
rec.ins_srtcontroledl_xcp_aanteh,
|
||||
rec.ins_srtcontroledl_xcp_groep,
|
||||
-- v_kostenplaats_key,
|
||||
v_deel_key)
|
||||
RETURNING ins_srtcontroledl_xcp_key
|
||||
INTO v_srtcontroledl_xcp_key;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.writelog ('ARAI.import MJOB',
|
||||
'E',
|
||||
v_aanduiding || ': ' || v_errormsg,
|
||||
v_errorhint);
|
||||
END;
|
||||
END LOOP;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg :=
|
||||
'OTHERS (error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
fac.writelog ('ARAI.import MJOB',
|
||||
'E',
|
||||
v_aanduiding || ': ' || v_errormsg,
|
||||
v_errorhint);
|
||||
END;
|
||||
/
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
100
onces/ARAI/ARAI#75066-7.sql
Normal file
100
onces/ARAI/ARAI#75066-7.sql
Normal file
@@ -0,0 +1,100 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- ARAI#75066 deel 7: Bereken de conditiescores
|
||||
-- LET OP DAT VOOR DEZE STAP EERST CND_INI IS GEDRAAID EN DE GEBREKEN LIJST IS INGELEZEN!
|
||||
--
|
||||
DEFINE thisfile = 'ARAI#75066-7.SQL'
|
||||
DEFINE dbuser = 'ARAI'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
-- CND scores verwerken
|
||||
|
||||
-- Na de import kunnen de scores worden bijgewerkt.
|
||||
-- Maar dan wel eerst alle gebreken op geaccepteerd zetten, anders krijgt alles een score van 1
|
||||
|
||||
DECLARE
|
||||
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT DISTINCT m.mld_melding_key, mb.ins_deel_key
|
||||
FROM mld_melding m, mld_melding_object mb, mld_stdmelding s, mld_discipline md
|
||||
WHERE m.mld_stdmelding_key = s.mld_stdmelding_key
|
||||
AND s.mld_ins_discipline_key = md.ins_discipline_key
|
||||
AND md.INS_SRTDISCIPLINE_KEY = 261
|
||||
AND m.mld_melding_key = mb.mld_melding_key
|
||||
ORDER BY ins_deel_key;
|
||||
|
||||
CURSOR c2
|
||||
IS
|
||||
SELECT DISTINCT mb.ins_deel_key
|
||||
FROM mld_melding m, mld_melding_object mb, mld_stdmelding s, mld_discipline md
|
||||
WHERE m.mld_stdmelding_key = s.mld_stdmelding_key
|
||||
AND s.mld_ins_discipline_key = md.ins_discipline_key
|
||||
AND md.INS_SRTDISCIPLINE_KEY = 261 -- vakgroeptype key van nen2767 conditiescore
|
||||
AND m.mld_melding_key = mb.mld_melding_key
|
||||
ORDER BY ins_deel_key;
|
||||
|
||||
CURSOR c3 IS
|
||||
SELECT m.mld_melding_key mld_key
|
||||
FROM mld_melding m, mld_stdmelding s, mld_discipline md
|
||||
WHERE m.mld_stdmelding_key = s.mld_stdmelding_key
|
||||
AND s.mld_ins_discipline_key = md.ins_discipline_key
|
||||
AND md.INS_SRTDISCIPLINE_KEY = 261;
|
||||
|
||||
|
||||
BEGIN
|
||||
|
||||
FOR REC IN c1
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_status = 4
|
||||
WHERE mld_melding_key = rec.mld_melding_key;
|
||||
END;
|
||||
COMMIT;
|
||||
END LOOP;
|
||||
|
||||
|
||||
FOR REC IN c2
|
||||
LOOP
|
||||
BEGIN
|
||||
cnd.update_mjb_scores (rec.ins_deel_key);
|
||||
END;
|
||||
COMMIT;
|
||||
END LOOP;
|
||||
|
||||
FOR rec IN c3
|
||||
LOOP
|
||||
BEGIN
|
||||
cnd.process_mjb_score_effects (rec.mld_key, NULL);
|
||||
END;
|
||||
COMMIT;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
Reference in New Issue
Block a user