From 0eadc421b04e96195d68d00e0fa1911709345715 Mon Sep 17 00:00:00 2001 From: Suzan Wiegerinck Date: Sun, 14 Apr 2024 13:33:04 +0000 Subject: [PATCH] KW1C#81204 implementatie FMIS (gebouwbeheer) KW1C svn path=/Customer/trunk/; revision=64236 --- KW1C/KW1C.sql | 157 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 140 insertions(+), 17 deletions(-) diff --git a/KW1C/KW1C.sql b/KW1C/KW1C.sql index 816c97fb9..a88cae988 100644 --- a/KW1C/KW1C.sql +++ b/KW1C/KW1C.sql @@ -1,4 +1,4 @@ -/* Formatted on 13/3/2024 11:16:23 (QP5 v5.336) */ +/* Formatted on 8-4-2024 15:27:41 (QP5 v5.336) */ -- -- $Id$ -- @@ -1137,7 +1137,6 @@ AS v_count_taak NUMBER := 0; v_count_taakobject NUMBER := 0; - -- Velden v_taakomschrijving VARCHAR2 (1000); v_ins_srtdeel_code VARCHAR2 (10); @@ -1154,6 +1153,7 @@ AS v_startjaar DATE; v_eindjaar DATE; v_materiaalkosten NUMBER (10); + BEGIN v_ongeldig := 0; @@ -1919,7 +1919,7 @@ IS a.prs_afdeling_key, a.prs_afdeling_naam FROM fac_imp_csv i, - prs_afdeling a, + prs_afdeling a, (SELECT r.alg_ruimte_key, UPPER (rk.alg_onrgoedkenmerk_waarde) ruimte_nr_oud, r.alg_ruimte_nr @@ -1931,7 +1931,62 @@ IS WHERE UPPER (i.fac_imp_csv_col01) = 'ORGANISATIE' AND rn.ruimte_nr_oud = UPPER (i.fac_imp_csv_col02) AND a.prs_afdeling_naam = i.fac_imp_csv_col03; - + + CURSOR ruimtedetails IS + SELECT UPPER (i.fac_imp_csv_col02) ruimtenr_oud, + i.fac_imp_csv_col03 ruimtecategorie, + c.categorie categorie_omschrijving, + i.fac_imp_csv_col04 ruimtetype, + t.ruimtetype ruimtetype_omschrijving, + fac.safe_to_date (i.fac_imp_csv_col05, 'dd-mm-yyyy') begindatum, + fac.safe_to_date (i.fac_imp_csv_col06, 'dd-mm-yyyy') einddatum, + c.fac_usrdata_key categorie_key, + t.fac_usrdata_key type_key, + rn.alg_ruimte_key, + rn.alg_ruimte_nr + FROM fac_imp_csv i, + (SELECT r.alg_ruimte_key, + UPPER (rk.alg_onrgoedkenmerk_waarde) ruimte_nr_oud, + r.alg_ruimte_nr + FROM alg_kenmerk k, alg_onrgoedkenmerk rk, alg_ruimte r + WHERE k.alg_kenmerk_key = rk.alg_kenmerk_key + AND k.alg_kenmerk_key = 1062 + AND rk.alg_onrgoed_niveau = 'R' + AND r.alg_ruimte_key = rk.alg_onrgoed_key) rn, + (SELECT d.fac_usrdata_key, + d.fac_usrdata_code, + d.fac_usrdata_upper || ' ' || d.fac_usrdata_omschr categorie + FROM fac_usrtab t, fac_usrdata d + WHERE t.fac_usrtab_key = 21 AND d.fac_usrtab_key = t.fac_usrtab_key) c, + (SELECT d.fac_usrdata_key, + d.fac_usrdata_code, + fac_usrdata_upper || ' ' || d.fac_usrdata_omschr ruimtetype + FROM fac_usrtab t, fac_usrdata d + WHERE t.fac_usrtab_key = 3 AND d.fac_usrtab_key = t.fac_usrtab_key) t + WHERE UPPER (i.fac_imp_csv_col01) = 'TYPE' + AND TO_CHAR (c.fac_usrdata_code) = TO_CHAR (i.fac_imp_csv_col03) + AND t.fac_usrdata_code = i.fac_imp_csv_col04 + AND rn.ruimte_nr_oud = UPPER (i.fac_imp_csv_col02) + AND NOT EXISTS --- de huidge ruimtecategorie laten we buiten beschouwing + (SELECT r.alg_ruimte_key, rk.alg_onrgoedkenmerk_waarde ruimtecategorie + FROM alg_kenmerk k, alg_onrgoedkenmerk rk, alg_ruimte r + WHERE k.alg_kenmerk_key = rk.alg_kenmerk_key + AND k.alg_kenmerk_key = 1060 + AND rk.alg_onrgoed_niveau = 'R' + AND r.alg_ruimte_key = rk.alg_onrgoed_key + AND rk.alg_onrgoedkenmerk_verwijder IS NULL + AND r.alg_ruimte_key = rn.alg_ruimte_key + AND rk.alg_onrgoedkenmerk_waarde = c.fac_usrdata_key) + AND NOT EXISTS --- het huidige ruimtetype laten we buiten beschouwing + (SELECT r.alg_ruimte_key, rk.alg_onrgoedkenmerk_waarde ruimtetype + FROM alg_kenmerk k, alg_onrgoedkenmerk rk, alg_ruimte r + WHERE k.alg_kenmerk_key = rk.alg_kenmerk_key + AND k.alg_kenmerk_key = 1008 + AND rk.alg_onrgoed_niveau = 'R' + AND r.alg_ruimte_key = rk.alg_onrgoed_key + AND rk.alg_onrgoedkenmerk_verwijder IS NULL + AND r.alg_ruimte_key = rn.alg_ruimte_key + AND rk.alg_onrgoedkenmerk_waarde = t.fac_usrdata_key); BEGIN FOR rec IN vloer LOOP @@ -2017,10 +2072,75 @@ BEGIN END; END LOOP; + FOR rec IN ruimtedetails + LOOP + BEGIN + --- om de historie te vullen vullen we de tabel alg_onrgoedkenmerk met 'vervallen' waarden + INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key, + alg_onrgoed_niveau, + alg_kenmerk_key, + alg_onrgoedkenmerk_waarde, + alg_onrgoedkenmerk_aanmaak, + alg_onrgoedkenmerk_verwijder) + VALUES (rec.alg_ruimte_key, + 'R', + 1060, + rec.categorie_key, + rec.begindatum, + rec.einddatum); + + fac.trackaction ( + 'ALGRUP', + rec.alg_ruimte_key, + 3, + SYSDATE, + 'Categorie ' || rec.categorie_omschrijving || ' opgenomen in het archief'); + + + INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key, + alg_onrgoed_niveau, + alg_kenmerk_key, + alg_onrgoedkenmerk_waarde, + alg_onrgoedkenmerk_aanmaak, + alg_onrgoedkenmerk_verwijder) + VALUES (rec.alg_ruimte_key, + 'R', + 1008, + rec.type_key, + rec.begindatum, + rec.einddatum); + + fac.trackaction ( + 'ALGRUP', + rec.alg_ruimte_key, + 3, + SYSDATE, + 'Ruimtetype ' || rec.ruimtetype_omschrijving || ' opgenomen in het archief'); + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 100); + v_errormsg := + v_errorhint + || ' ORACLE (error ' + || oracle_err_num + || '/' + || oracle_err_mes + || ')'; + fac.imp_writelog ( + p_import_key, + 'W', + v_aanduiding || v_errormsg, + 'Historie ruimte ' || rec.alg_ruimte_nr || ' kan niet worden gevuld'); + COMMIT; + END; + END LOOP; + + -- we ruimen de import tabel direct weer netjes op aangezien dit een generieke importtabel is DELETE FAC_IMP_CSV i WHERE i.fac_import_key = p_import_key; - END kw1c_update_historie; / @@ -2121,8 +2241,8 @@ AS wp.aantal_wp, cat.cat_code, t.type_code, - NULL begindatum, - NULL einddatum + t.startdatum begindatum, + t.vervaldatum einddatum FROM alg_ruimte r, (SELECT ok.alg_onrgoed_key, fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) aantal_wp FROM alg_onrgoedkenmerk ok, alg_kenmerk k @@ -2130,33 +2250,36 @@ AS AND ok.alg_onrgoed_niveau = 'R' AND k.alg_kenmerk_key = 1006 AND ok.alg_onrgoedkenmerk_verwijder IS NULL) wp, - (SELECT ok.alg_onrgoed_key, d.fac_usrdata_code cat_code + (SELECT ok.alg_onrgoed_key, d.fac_usrdata_code cat_code, d.fac_usrdata_key FROM alg_onrgoedkenmerk ok, alg_kenmerk k, fac_usrdata d, fac_usrtab t WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key AND ok.alg_onrgoed_niveau = 'R' - AND k.alg_kenmerk_key = 1060 - AND ok.alg_onrgoedkenmerk_verwijder IS NULL + AND k.alg_kenmerk_key = 1060 AND d.fac_usrdata_key = ok.alg_onrgoedkenmerk_waarde AND t.fac_usrtab_key = d.fac_usrtab_key AND t.fac_usrtab_key = 21) cat, - (SELECT ok.alg_onrgoed_key, d.fac_usrdata_code type_code + (SELECT ok.alg_onrgoed_key, + d.fac_usrdata_code type_code, + ok.alg_onrgoedkenmerk_verwijder vervaldatum, + ok.alg_onrgoedkenmerk_aanmaak startdatum, + d.fac_usrdata_parentkey FROM alg_onrgoedkenmerk ok, alg_kenmerk k, fac_usrdata d, fac_usrtab t WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key AND ok.alg_onrgoed_niveau = 'R' - AND k.alg_kenmerk_key = 1008 - AND ok.alg_onrgoedkenmerk_verwijder IS NULL + AND k.alg_kenmerk_key = 1008 AND d.fac_usrdata_key = ok.alg_onrgoedkenmerk_waarde AND t.fac_usrtab_key = d.fac_usrtab_key AND t.fac_usrtab_key = 3) t WHERE wp.alg_onrgoed_key(+) = r.alg_ruimte_key - AND cat.alg_onrgoed_key(+) = r.alg_ruimte_key - AND t.alg_onrgoed_key(+) = r.alg_ruimte_key; + AND cat.alg_onrgoed_key = r.alg_ruimte_key + AND t.alg_onrgoed_key = r.alg_ruimte_key + AND cat.fac_usrdata_key = t.fac_usrdata_parentkey; CREATE OR REPLACE VIEW kw1c_export_ruimtegebruik ( @@ -2238,7 +2361,7 @@ AS AND k.alg_kenmerk_key = 1009 AND ok.alg_onrgoed_niveau = 'R' AND ok.alg_onrgoed_key = r.alg_ruimte_key - AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key; + AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key; CREATE OR REPLACE VIEW kw1c_export_vloerafw_types ( @@ -2254,7 +2377,7 @@ AS ud.fac_usrdata_omschr2 FROM fac_usrdata ud, fac_usrtab ut WHERE ut.fac_usrtab_key = ud.fac_usrtab_key AND ut.fac_usrtab_key = 4; - + ------ payload end ------ SET DEFINE OFF