From 93f2749fbe2205432c66fbed811cc5498190e4fe Mon Sep 17 00:00:00 2001 From: Maarten van der Heide Date: Thu, 9 Jun 2011 15:47:42 +0000 Subject: [PATCH] CONN#19238+CONN#20803 svn path=/Customer/trunk/; revision=14833 --- CONN/Once/CONN44.sql | 124 +++++--- CONN/conn.sql | 699 +++++++++++++++++++++++++++++++------------ 2 files changed, 598 insertions(+), 225 deletions(-) diff --git a/CONN/Once/CONN44.sql b/CONN/Once/CONN44.sql index 898242ee7..39cabdb78 100644 --- a/CONN/Once/CONN44.sql +++ b/CONN/Once/CONN44.sql @@ -1,8 +1,8 @@ -- Customer specific once-script CONN44. -- -- (c) 2011 SG|facilitor bv --- $Revision: 2 $ --- $Modtime: 7-06-11 14:40 $ +-- $Revision: 3 $ +-- $Modtime: 9-06-11 14:50 $ -- -- Support: +31 53 4800700 SET ECHO ON @@ -26,6 +26,7 @@ CREATE TABLE conn_imp_inspectieobj bereik VARCHAR2 (60), -- C60 voltage VARCHAR2 (60), -- C60 apkplicht VARCHAR2 (60), -- C60 + categorie VARCHAR2 (60), -- C60 prs_bedrijf_naam VARCHAR2 (60), -- C60 ins_srtcontrole_omschrijving VARCHAR2 (60), -- C60 --periode NUMBER(4), -- N4 @@ -111,14 +112,37 @@ UPDATE ins_deel COMMIT; +-- CONN#20803 +INSERT INTO fac_srtnotificatie + (fac_srtnotificatie_code, fac_srtnotificatie_mode, + fac_srtnotificatie_oms, fac_srtnotificatie_xmlnode, + fac_srtnotificatie_groep + ) + VALUES ('CUST01', 2, + 'Reminder: Object(en) 4-5 weken voor keuringsdatum (##SRTGROEP##)', 'object', + 0 + ); + +INSERT INTO fac_srtnotificatie + (fac_srtnotificatie_code, fac_srtnotificatie_mode, + fac_srtnotificatie_oms, fac_srtnotificatie_xmlnode, + fac_srtnotificatie_groep + ) + VALUES ('CUST02', 2, + 'LET OP: Keuringdatum van object(en) is verstreken (##SRTGROEP##)', 'object', + 0 + ); + +COMMIT; + -- Converteer Datum gekeurd, Datum volgende keuring en - voor objectsoort -- 27844='Slipvangers en OBAS' - Bouwjaar -/* Formatted on 7-6-2011 10:32:16 (QP5 v5.115.810.9015) */ +/* Formatted on 9-6-2011 12:34:56 (QP5 v5.115.810.9015) */ DECLARE v_errormsg VARCHAR2 (1024); c_controle_soort VARCHAR2 (60) := '_DEFAULT'; c_controle_periode_1 NUMBER (10) := 365; - --XXc_controle_periode_5 NUMBER (10) := 1826; + c_controle_periode_4 NUMBER (10) := 1461; c_controle_periode_15 NUMBER (10) := 5478; v_srtcontrole_id VARCHAR2 (20); v_controlemode_key NUMBER (10); @@ -389,6 +413,7 @@ BEGIN sg.ins_srtgroep_key AND sg.ins_discipline_key = td.ins_discipline_key + AND d.ins_deel_parent_key IS NULL AND d.ins_alg_locatie_key = l.alg_locatie_key(+) UNION ALL @@ -479,6 +504,7 @@ BEGIN -- Toevoegen controle; gebruik [a] de meest specifieke soort en -- [b] de minst recente mode! + -- Indien soort controle nog niet bestaat, dan toevoegen! v_errormsg := 'Fout bij bepalen soort controle'; SELECT COUNT ( * ) @@ -518,10 +544,12 @@ BEGIN 60 ), DECODE (rc.objectsoort_key, - 27844, -- Objectsoort 'Slipvangers en OBAS' + 27821, -- Objectsoort 'Gasgestookte inst.' + c_controle_periode_4, -- 4 jaar! + 27844, -- Objectsoort 'Slipvangers + OBAS' + c_controle_periode_15, -- 15 jaar! + 97781, -- Objectsoort 'Tank' c_controle_periode_15, -- 15 jaar! - --XX97781, -- Objectsoort 'Tank' - --XX c_controle_periode_5, -- 5 jaar! c_controle_periode_1) -- Default 1 jaar ) RETURNING ins_srtcontrole_key INTO v_srtcontrole_id; @@ -565,43 +593,58 @@ BEGIN AND sc.ins_srtcontrole_niveau = 'D')); END IF; - --XX Als volgende in toekomst, dan laatste=volgende - 1 jaar (behalve voor - --XX objectsoort 'Tank', waarvoor geldt laatste=volgende - 5 jaar); anders - --XX is laatste=laatste (behalve voor objectsoort 'Slipvangers en OBAS' met - --XX een bouwjaar >15 jaar oud, waarvoor geldt laatste=bouwjaar + 15 jaar)! - -- Als volgende in toekomst, dan laatste=volgende - 1 jaar; anders is - -- laatste=laatste (behalve voor objectsoort 'Slipvangers en OBAS' met - -- een bouwjaar >15 jaar oud, waarvoor geldt laatste=bouwjaar + 15)! - IF rc.b > SYSDATE + + -- Indien controle mode nog niet bestaat (geen enkele), dan toevoegen! + v_errormsg := 'Fout bij bepalen controle mode'; + + SELECT COUNT ( * ) INTO ccount FROM ins_controlemode; + + IF ccount = 0 THEN - laatste := - TO_DATE (TO_CHAR (rc.b, 'dd-mm') || '-2010', 'dd-mm-yyyy'); - --XXIF rc.objectsoort_key = 97781 -- Objectsoort 'Tank' - --XXTHEN - --XX laatste := - --XX TO_DATE (TO_CHAR (rc.b, 'dd-mm') || '-2010', 'dd-mm-yyyy'); - --XXELSE - --XX laatste := - --XX TO_DATE (TO_CHAR (rc.b, 'dd-mm') || '-2010', 'dd-mm-yyyy'); - --XXEND IF; - ELSE -- b <= SYSDATE - IF rc.f + 15 < 2011 -- Alleen objectsoort 27844='Slipvangers en OBAS' + v_errormsg := 'Fout bij toevoegen controle mode'; + + INSERT INTO ins_controlemode (ins_controlemode_oms) + VALUES ('Regulier') + RETURNING ins_controlemode_key INTO v_controlemode_key; + ELSE + SELECT MIN (ins_controlemode_key) + INTO v_controlemode_key + FROM ins_controlemode; + END IF; + + IF rc.objectsoort_key = 27821 -- Objectsoort 'Gasgestooke inst.' + AND rc.b IS NOT NULL + THEN + laatste := rc.b - c_controle_periode_4; -- 4 jaar terug! + ELSIF rc.objectsoort_key = 27844 -- Objectsoort 'Slipvangers en OBAS' + AND rc.f IS NOT NULL + THEN + IF rc.f + 15 < 2011 THEN laatste := TO_DATE ('01-01-' || TO_CHAR (rc.f + 15), 'dd-mm-yyyy'); ELSE + laatste := TO_DATE ('01-01-' || TO_CHAR (rc.f), 'dd-mm-yyyy'); + END IF; + ELSIF rc.objectsoort_key = 97781 -- Objectsoort 'Tank' + AND rc.b IS NOT NULL + THEN + laatste := rc.b - c_controle_periode_15; -- 15 jaar terug! + ELSE + -- Voor alle overige objectsoorten (anders dan hierboven) geldt: + -- als volgende in toekomst, dan laatste=volgende/dd-mm in 2010; + -- anders laatste=laatste! + IF rc.b > SYSDATE + THEN + laatste := + TO_DATE (TO_CHAR (rc.b, 'dd-mm') || '-2010', 'dd-mm-yyyy'); + ELSE -- b <= SYSDATE laatste := rc.a; END IF; END IF; - IF (laatste IS NOT NULL) + IF (laatste IS NOT NULL) -- Geen conversie als laatste ongedefinieerd! THEN - v_errormsg := 'Fout bij bepalen controle mode'; - - SELECT MIN (ins_controlemode_key) - INTO v_controlemode_key - FROM ins_controlemode; - v_errormsg := 'Fout bij toevoegen controle'; INSERT INTO ins_deelsrtcontrole (ins_deel_key, @@ -664,7 +707,18 @@ BEGIN END; / -BEGIN adm.systrackscript('$Workfile: CONN44.sql $', '$Revision: 2 $', 1); END; +INSERT INTO fac_menu (fac_menu_volgnr, + fac_menu_altlabel, + fac_menu_alturl, + fac_menu_altgroep, + fac_functie_key) + VALUES (6752, + 'Keuringen', + 'appl/ins/ins_search.asp?urole=bo&inspect=1', + 1, + 242); + +BEGIN adm.systrackscript('$Workfile: CONN44.sql $', '$Revision: 3 $', 1); END; / SPOOL OFF diff --git a/CONN/conn.sql b/CONN/conn.sql index 96143663c..361e4f385 100644 --- a/CONN/conn.sql +++ b/CONN/conn.sql @@ -1,7 +1,7 @@ -- Script containing customer specific configuration sql statements for CONN: Connexxion -- (c) 2005-2010 SG|facilitor bv --- $Revision: 166 $ --- $Modtime: 8-06-11 13:29 $ +-- $Revision: 167 $ +-- $Modtime: 9-06-11 17:45 $ -- -- Support: +31 53 4800710 @@ -6647,41 +6647,12 @@ SELECT l.alg_locatie_code fclt_f_locatiecode, l.alg_locatie_plaats fclt_f_plaats / --- persoon met key 104383 is de backoffice facilities --- kenmerksoort_key 75 is datum volgende keuring --- kenmerksoort_key 1122 is datum volgend onderhoud +-- Bevat CUST01- en CUST02-reminder naar beheerder verantwoordelijk voor de +-- keuring van betreffende objecten (Gebouwobjecten vs. Gereedschappen). +-- CUST01: wekelijks mbt. over 4 tot 5 weken te keuren objecten! +-- CUST02: wekelijks mbt. objecten waarvan keuringsdatum is verstreken! +/* Formatted on 9-6-2011 13:58:58 (QP5 v5.115.810.9015) */ CREATE OR REPLACE VIEW CONN_V_NOTI_KEURINGREMINDER -(CODE, SENDER, RECEIVER, TEXT, KEY, - XKEY) -AS -SELECT NULL, - NULL, - 104383, - 'De uiterste keurings/onderhouds datum van ' - || isd.ins_srtdeel_omschrijving || ' ' - || ID.ins_deel_omschrijving || ' ' - || 'is verstreken.', - id.ins_deel_key, - NULL - FROM ins_v_aanwezigdeel ID, - ins_kenmerkdeel ikd, - ins_kenmerk ik, - ins_srtdeel isd - WHERE ID.ins_srtdeel_key = isd.ins_srtdeel_key - AND ikd.ins_deel_key = ID.ins_deel_key - AND ikd.ins_kenmerk_key = ik.ins_kenmerk_key - AND ik.ins_srtkenmerk_key IN ( - SELECT ins_srtkenmerk_key - FROM ins_srtkenmerk - WHERE ins_srtkenmerk_key IN (75, 1122)) - AND FAC.SAFE_TO_DATE (ikd.ins_kenmerkdeel_waarde, 'dd-mm-yyyy') < SYSDATE -; --- Bevat CUST10-reminder naar LFM-er verantwoordelijk voor betreffende locatie --- bij aanmaken/uitgeven specifieke opdracht op Intern:LFM. --- Periodiciteit: elk uur (mbt. in het voorgaande uur aangemaakte opdrachten)! -/* Formatted on 8-4-2011 12:58:24 (QP5 v5.115.810.9015) */ -/* -CREATE OR REPLACE VIEW conn_v_noti_inspectieobj ( code, sender, @@ -6693,35 +6664,252 @@ CREATE OR REPLACE VIEW conn_v_noti_inspectieobj xkey ) AS - SELECT sn.fac_srtnotificatie_code, + SELECT sn.fac_srtnotificatie_code code, + NULL sender, + fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) receiver, + REPLACE ( + sn.fac_srtnotificatie_oms, + '##SRTGROEP##', + DECODE (x.min_srtgroep_oms, + x.max_srtgroep_oms, x.min_srtgroep_oms, + x.min_srtgroep_oms || ', ...') + ) + subject, + -1, -- Dummy key!!! NULL, - fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde), - REPLACE (sn.fac_srtnotificatie_oms, - '##STDM##', - sm.mld_stdmelding_omschrijving), - o.mld_opdr_key, - sm.mld_stdmelding_omschrijving, NULL, NULL - FROM mld_opdr o, - mld_melding m, + FROM ( SELECT o.alg_locatie_key, + DECODE (o.ins_discipline_key, + 101, 1320, -- Gebouwobjecten -> 1320-verantw. + 341, 1320, -- Gebouwobjecten -> 1320-verantw. + 1841, 1320, -- Gebouwobjecten -> 1320-verantw. + 1881, 1320, -- Gebouwobjecten -> 1320-verantw. + 1340) -- Gereedschappen -> 1340-verantw. + verantwoordelijke, + MIN (o.ins_srtgroep_omschrijving) min_srtgroep_oms, + MAX (o.ins_srtgroep_omschrijving) max_srtgroep_oms, + COUNT ( * ) + FROM (SELECT scs.ins_srtinstallatie_key + ins_srtdeel_key, + scs.ins_srtcontrole_key, + scs.ins_srtcontrole_omschrijving, + scs.ins_srtcontrole_periode + FROM ins_srtcontrole scs + WHERE scs.ins_srtcontrole_niveau = 'S' + UNION ALL + SELECT sd.ins_srtdeel_key, + scg.ins_srtcontrole_key, + scg.ins_srtcontrole_omschrijving, + scg.ins_srtcontrole_periode + FROM ins_srtcontrole scg, ins_srtdeel sd + WHERE scg.ins_srtcontrole_niveau = 'G' + AND scg.ins_srtinstallatie_key = + sd.ins_srtgroep_key + UNION ALL + SELECT sd.ins_srtdeel_key, + scd.ins_srtcontrole_key, + scd.ins_srtcontrole_omschrijving, + scd.ins_srtcontrole_periode + FROM ins_srtcontrole scd, + ins_srtgroep sg, + ins_srtdeel sd + WHERE scd.ins_srtcontrole_niveau = 'D' + AND scd.ins_srtinstallatie_key = + sg.ins_discipline_key + AND sg.ins_srtgroep_key = + sd.ins_srtgroep_key) cso -- ControleSoortObjecten + LEFT JOIN + (SELECT d.ins_deel_key, + d.ins_deel_aanmaak, + sd.ins_srtdeel_key, + sg.ins_srtgroep_omschrijving, + td.ins_discipline_key, + td.ins_discipline_omschrijving, + l.alg_locatie_key + FROM ins_v_aanwezigdeel d, + ins_srtdeel sd, + ins_srtgroep sg, + ins_tab_discipline td, + alg_locatie l + WHERE d.ins_srtdeel_key = + sd.ins_srtdeel_key + AND sd.ins_srtgroep_key = + sg.ins_srtgroep_key + AND sg.ins_discipline_key = + td.ins_discipline_key + AND d.ins_alg_locatie_key = + l.alg_locatie_key(+)) o -- Objecten + ON cso.ins_srtdeel_key = o.ins_srtdeel_key + LEFT JOIN + (SELECT ins_deel_key, + ins_kenmerkdeel_waarde afgekeurd + FROM ins_v_aanwezigkenmerkdeel kd, + ins_kenmerk k + WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key + AND k.ins_srtkenmerk_key = 1466) oa -- ObjectAfgekeurd + ON o.ins_deel_key = oa.ins_deel_key + LEFT JOIN + (SELECT dsc.ins_deel_key, + dsc.ins_srtcontrole_key, + dsc.ins_deelsrtcontrole_datum, + dsc.ins_deelsrtcontrole_opmerking + FROM ins_deelsrtcontrole dsc + WHERE dsc.ins_deelsrtcontrole_datum = + (SELECT MAX ( + ins_deelsrtcontrole_datum + ) + FROM ins_deelsrtcontrole + WHERE ins_deel_key = + dsc.ins_deel_key + AND ins_srtcontrole_key = + dsc.ins_srtcontrole_key)) + olc -- ObjectLaatsteControle + ON o.ins_deel_key = olc.ins_deel_key + AND cso.ins_srtcontrole_key = + olc.ins_srtcontrole_key + WHERE (oa.afgekeurd IS NULL OR oa.afgekeurd = 130) -- 'Nee' + AND COALESCE (olc.ins_deelsrtcontrole_datum, + o.ins_deel_aanmaak) + + cso.ins_srtcontrole_periode BETWEEN TRUNC(SYSDATE + + 28) + AND TRUNC(SYSDATE + + 35) + GROUP BY o.alg_locatie_key, + DECODE (o.ins_discipline_key, + 101, 1320, -- Gebouwobjecten -> 1320-verantw. + 341, 1320, -- Gebouwobjecten -> 1320-verantw. + 1841, 1320, -- Gebouwobjecten -> 1320-verantw. + 1881, 1320, -- Gebouwobjecten -> 1320-verantw. + 1340)) x, -- Gereedschappen -> 1340-verantw. alg_v_aanwezigonrgoedkenmerk ok, - mld_stdmelding sm, fac_srtnotificatie sn - WHERE o.mld_statusopdr_key IN (5, 8) -- Uitgegeven/Geaccepteerd! - AND o.mld_uitvoerende_keys = 33020 -- Intern:LFM - AND TO_NUMBER(TO_CHAR ( - fac.gettrackingdate ('ORDNEW', o.mld_opdr_key), - 'YYYYMMDDHH24' - )) - + 1 >= TO_NUMBER (TO_CHAR (SYSDATE+1/1440, 'YYYYMMDDHH24')) - AND o.mld_melding_key = m.mld_melding_key - AND m.mld_stdmelding_key = sm.mld_stdmelding_key - AND m.mld_alg_locatie_key = ok.alg_onrgoed_key + WHERE x.alg_locatie_key = ok.alg_onrgoed_key + AND x.verantwoordelijke = ok.alg_kenmerk_key AND ok.alg_onrgoed_niveau = 'L' - AND ok.alg_kenmerk_key = 1020 -- LFM - AND sn.fac_srtnotificatie_code = 'CUST10'; -*/ + AND sn.fac_srtnotificatie_code = 'CUST01' + UNION ALL + SELECT sn.fac_srtnotificatie_code code, + NULL sender, + fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) receiver, + REPLACE ( + sn.fac_srtnotificatie_oms, + '##SRTGROEP##', + DECODE (x.min_srtgroep_oms, + x.max_srtgroep_oms, x.min_srtgroep_oms, + x.min_srtgroep_oms || ', ...') + ) + subject, + -1, -- Dummy key!!! + NULL, + NULL, + NULL + FROM ( SELECT o.alg_locatie_key, + DECODE (o.ins_discipline_key, + 101, 1320, -- Gebouwobjecten -> 1320-verantw. + 341, 1320, -- Gebouwobjecten -> 1320-verantw. + 1841, 1320, -- Gebouwobjecten -> 1320-verantw. + 1881, 1320, -- Gebouwobjecten -> 1320-verantw. + 1340) -- Gereedschappen -> 1340-verantw. + verantwoordelijke, + MIN (o.ins_srtgroep_omschrijving) min_srtgroep_oms, + MAX (o.ins_srtgroep_omschrijving) max_srtgroep_oms, + COUNT ( * ) + FROM (SELECT scs.ins_srtinstallatie_key + ins_srtdeel_key, + scs.ins_srtcontrole_key, + scs.ins_srtcontrole_omschrijving, + scs.ins_srtcontrole_periode + FROM ins_srtcontrole scs + WHERE scs.ins_srtcontrole_niveau = 'S' + UNION ALL + SELECT sd.ins_srtdeel_key, + scg.ins_srtcontrole_key, + scg.ins_srtcontrole_omschrijving, + scg.ins_srtcontrole_periode + FROM ins_srtcontrole scg, ins_srtdeel sd + WHERE scg.ins_srtcontrole_niveau = 'G' + AND scg.ins_srtinstallatie_key = + sd.ins_srtgroep_key + UNION ALL + SELECT sd.ins_srtdeel_key, + scd.ins_srtcontrole_key, + scd.ins_srtcontrole_omschrijving, + scd.ins_srtcontrole_periode + FROM ins_srtcontrole scd, + ins_srtgroep sg, + ins_srtdeel sd + WHERE scd.ins_srtcontrole_niveau = 'D' + AND scd.ins_srtinstallatie_key = + sg.ins_discipline_key + AND sg.ins_srtgroep_key = + sd.ins_srtgroep_key) cso -- ControleSoortObjecten + LEFT JOIN + (SELECT d.ins_deel_key, + d.ins_deel_aanmaak, + sd.ins_srtdeel_key, + sg.ins_srtgroep_omschrijving, + td.ins_discipline_key, + td.ins_discipline_omschrijving, + l.alg_locatie_key + FROM ins_v_aanwezigdeel d, + ins_srtdeel sd, + ins_srtgroep sg, + ins_tab_discipline td, + alg_locatie l + WHERE d.ins_srtdeel_key = + sd.ins_srtdeel_key + AND sd.ins_srtgroep_key = + sg.ins_srtgroep_key + AND sg.ins_discipline_key = + td.ins_discipline_key + AND d.ins_alg_locatie_key = + l.alg_locatie_key(+)) o -- Objecten + ON cso.ins_srtdeel_key = o.ins_srtdeel_key + LEFT JOIN + (SELECT ins_deel_key, + ins_kenmerkdeel_waarde afgekeurd + FROM ins_v_aanwezigkenmerkdeel kd, + ins_kenmerk k + WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key + AND k.ins_srtkenmerk_key = 1466) oa -- ObjectAfgekeurd + ON o.ins_deel_key = oa.ins_deel_key + LEFT JOIN + (SELECT dsc.ins_deel_key, + dsc.ins_srtcontrole_key, + dsc.ins_deelsrtcontrole_datum, + dsc.ins_deelsrtcontrole_opmerking + FROM ins_deelsrtcontrole dsc + WHERE dsc.ins_deelsrtcontrole_datum = + (SELECT MAX ( + ins_deelsrtcontrole_datum + ) + FROM ins_deelsrtcontrole + WHERE ins_deel_key = + dsc.ins_deel_key + AND ins_srtcontrole_key = + dsc.ins_srtcontrole_key)) + olc -- ObjectLaatsteControle + ON o.ins_deel_key = olc.ins_deel_key + AND cso.ins_srtcontrole_key = + olc.ins_srtcontrole_key + WHERE (oa.afgekeurd IS NULL OR oa.afgekeurd = 130) -- 'Nee' + AND COALESCE (olc.ins_deelsrtcontrole_datum, + o.ins_deel_aanmaak) < TRUNC (SYSDATE) + GROUP BY o.alg_locatie_key, + DECODE (o.ins_discipline_key, + 101, 1320, -- Gebouwobjecten -> 1320-verantw. + 341, 1320, -- Gebouwobjecten -> 1320-verantw. + 1841, 1320, -- Gebouwobjecten -> 1320-verantw. + 1881, 1320, -- Gebouwobjecten -> 1320-verantw. + 1340)) x, -- Gereedschappen -> 1340-verantw. + alg_v_aanwezigonrgoedkenmerk ok, + fac_srtnotificatie sn + WHERE x.alg_locatie_key = ok.alg_onrgoed_key + AND x.verantwoordelijke = ok.alg_kenmerk_key + AND ok.alg_onrgoed_niveau = 'L' + AND sn.fac_srtnotificatie_code = 'CUST02'; + /* Formatted on 2008/07/09 17:04 (Formatter Plus v4.8.7) */ CREATE OR REPLACE VIEW conn_v_rap_locatie_verpl (fclt_f_locatie_code, locatie_adres, @@ -8009,7 +8197,7 @@ GROUP BY bd.ins_discipline_omschrijving, pf.prs_perslid_naam_full, fp.fac_prof ORDER BY 1, 2; -/* Formatted on 1-6-2011 21:22:23 (QP5 v5.115.810.9015) */ +/* Formatted on 9-6-2011 12:45:08 (QP5 v5.115.810.9015) */ CREATE OR REPLACE VIEW conn_v_rap_inspectieobj_expimp ( fclt_f_locatiecode, @@ -8026,6 +8214,7 @@ CREATE OR REPLACE VIEW conn_v_rap_inspectieobj_expimp fclt_f_bereik_nm_bar, fclt_f_voltage, fclt_f_apkplicht, + fclt_f_keuring_categorie, fclt_f_leverancier, fclt_f_soortcontrole, periode, @@ -8050,6 +8239,7 @@ AS k5.bereik, k6.voltage, k7.apkplicht, + k8.categorie, COALESCE (lev_onderhd.naam, lev_onderst.naam) leverancier, csd.ins_srtcontrole_omschrijving, TO_CHAR (csd.ins_srtcontrole_periode), @@ -8064,72 +8254,101 @@ AS y.ins_deelsrtcontrole_datum), NULL controledatum, NULL controlopmerking, - k8.afgekeurd - FROM (SELECT scs.ins_srtinstallatie_key - ins_srtdeel_key, - scs.ins_srtcontrole_key, - scs.ins_srtcontrole_omschrijving, - scs.ins_srtcontrole_periode - FROM ins_srtcontrole scs - WHERE scs.ins_srtcontrole_niveau = - 'S' - UNION ALL - SELECT sd.ins_srtdeel_key, - scg.ins_srtcontrole_key, - scg.ins_srtcontrole_omschrijving, - scg.ins_srtcontrole_periode - FROM ins_srtcontrole scg, - ins_srtdeel sd - WHERE scg.ins_srtcontrole_niveau = - 'G' - AND scg.ins_srtinstallatie_key = - sd.ins_srtgroep_key - UNION ALL - SELECT sd.ins_srtdeel_key, - scd.ins_srtcontrole_key, - scd.ins_srtcontrole_omschrijving, - scd.ins_srtcontrole_periode - FROM ins_srtcontrole scd, - ins_srtgroep sg, - ins_srtdeel sd - WHERE scd.ins_srtcontrole_niveau = - 'D' - AND scd.ins_srtinstallatie_key = - sg.ins_discipline_key - AND sg.ins_srtgroep_key = - sd.ins_srtgroep_key) - csd + k9.afgekeurd + FROM (SELECT scs.ins_srtinstallatie_key + ins_srtdeel_key, + scs.ins_srtcontrole_key, + scs.ins_srtcontrole_omschrijving, + scs.ins_srtcontrole_periode + FROM ins_srtcontrole scs + WHERE scs.ins_srtcontrole_niveau = + 'S' + UNION ALL + SELECT sd.ins_srtdeel_key, + scg.ins_srtcontrole_key, + scg.ins_srtcontrole_omschrijving, + scg.ins_srtcontrole_periode + FROM ins_srtcontrole scg, + ins_srtdeel sd + WHERE scg.ins_srtcontrole_niveau = + 'G' + AND scg.ins_srtinstallatie_key = + sd.ins_srtgroep_key + UNION ALL + SELECT sd.ins_srtdeel_key, + scd.ins_srtcontrole_key, + scd.ins_srtcontrole_omschrijving, + scd.ins_srtcontrole_periode + FROM ins_srtcontrole scd, + ins_srtgroep sg, + ins_srtdeel sd + WHERE scd.ins_srtcontrole_niveau = + 'D' + AND scd.ins_srtinstallatie_key = + sg.ins_discipline_key + AND sg.ins_srtgroep_key = + sd.ins_srtgroep_key) + csd + LEFT JOIN + (SELECT d.ins_deel_key, + d.ins_deel_aanmaak, + d.ins_deel_omschrijving, + d.ins_alg_ruimte_key, + d.ins_alg_ruimte_type, + sd.ins_srtdeel_key, + sd.ins_srtdeel_code, + sd.ins_srtdeel_omschrijving, + sg.ins_srtgroep_omschrijving, + td.ins_discipline_omschrijving, + l.alg_locatie_code + FROM ins_v_aanwezigdeel d, + ins_srtdeel sd, + ins_srtgroep sg, + ins_tab_discipline td, + alg_locatie l + WHERE d.ins_srtdeel_key = + sd.ins_srtdeel_key + AND sd.ins_srtgroep_key = + sg.ins_srtgroep_key + AND sg.ins_discipline_key = + td.ins_discipline_key + AND d.ins_alg_locatie_key = + l.alg_locatie_key(+)) + x + ON csd.ins_srtdeel_key = + x.ins_srtdeel_key LEFT JOIN - (SELECT d.ins_deel_key, - d.ins_deel_aanmaak, - d.ins_deel_omschrijving, - d.ins_alg_ruimte_key, - d.ins_alg_ruimte_type, - sd.ins_srtdeel_key, - sd.ins_srtdeel_code, - sd.ins_srtdeel_omschrijving, - sg.ins_srtgroep_omschrijving, - td.ins_discipline_omschrijving, - l.alg_locatie_code - FROM ins_v_aanwezigdeel d, - ins_srtdeel sd, - ins_srtgroep sg, - ins_tab_discipline td, - alg_locatie l - WHERE d.ins_srtdeel_key = - sd.ins_srtdeel_key - AND sd.ins_srtgroep_key = - sg.ins_srtgroep_key - AND sg.ins_discipline_key = - td.ins_discipline_key - AND d.ins_alg_locatie_key = - l.alg_locatie_key(+)) - x - ON csd.ins_srtdeel_key = - x.ins_srtdeel_key + (SELECT DISTINCT + co.cnt_ins_deel_key, + b.prs_bedrijf_naam + naam + FROM cnt_contract_object co, + cnt_contract c, + ins_tab_discipline cd, + prs_bedrijf b + WHERE co.cnt_contract_object_verwijder IS NULL + AND co.cnt_ins_deel_key IS NOT NULL + AND co.cnt_contract_key = + c.cnt_contract_key + AND c.cnt_contract_looptijd_tot >= + TRUNC ( + ADD_MONTHS ( + SYSDATE, + -12 + ), + 'YYYY' + ) + AND c.ins_discipline_key = + cd.ins_discipline_key + AND cd.ins_discipline_verwijder IS NULL + AND c.cnt_prs_bedrijf_key = + b.prs_bedrijf_key) + lev_onderhd + ON x.ins_deel_key = + lev_onderhd.cnt_ins_deel_key LEFT JOIN (SELECT DISTINCT - co.cnt_ins_deel_key, + co.cnt_ins_srtdeel_key, b.prs_bedrijf_naam naam FROM cnt_contract_object co, @@ -8137,7 +8356,7 @@ AS ins_tab_discipline cd, prs_bedrijf b WHERE co.cnt_contract_object_verwijder IS NULL - AND co.cnt_ins_deel_key IS NOT NULL + AND co.cnt_ins_srtdeel_key IS NOT NULL AND co.cnt_contract_key = c.cnt_contract_key AND c.cnt_contract_looptijd_tot >= @@ -8153,116 +8372,104 @@ AS AND cd.ins_discipline_verwijder IS NULL AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) - lev_onderhd - ON x.ins_deel_key = - lev_onderhd.cnt_ins_deel_key + lev_onderst + ON x.ins_srtdeel_key = + lev_onderst.cnt_ins_srtdeel_key LEFT JOIN - (SELECT DISTINCT - co.cnt_ins_srtdeel_key, - b.prs_bedrijf_naam - naam - FROM cnt_contract_object co, - cnt_contract c, - ins_tab_discipline cd, - prs_bedrijf b - WHERE co.cnt_contract_object_verwijder IS NULL - AND co.cnt_ins_srtdeel_key IS NOT NULL - AND co.cnt_contract_key = - c.cnt_contract_key - AND c.cnt_contract_looptijd_tot >= - TRUNC ( - ADD_MONTHS ( - SYSDATE, - -12 - ), - 'YYYY' - ) - AND c.ins_discipline_key = - cd.ins_discipline_key - AND cd.ins_discipline_verwijder IS NULL - AND c.cnt_prs_bedrijf_key = - b.prs_bedrijf_key) - lev_onderst - ON x.ins_srtdeel_key = - lev_onderst.cnt_ins_srtdeel_key + (SELECT ins_deel_key, + ins_kenmerkdeel_waarde + merk + FROM ins_v_aanwezigkenmerkdeel kd, + ins_kenmerk k + WHERE kd.ins_kenmerk_key = + k.ins_kenmerk_key + AND k.ins_srtkenmerk_key = + 42) k1 + ON x.ins_deel_key = + k1.ins_deel_key LEFT JOIN (SELECT ins_deel_key, ins_kenmerkdeel_waarde - merk + TYPE FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key AND k.ins_srtkenmerk_key = - 42) k1 - ON x.ins_deel_key = k1.ins_deel_key + 41) k2 + ON x.ins_deel_key = k2.ins_deel_key LEFT JOIN (SELECT ins_deel_key, ins_kenmerkdeel_waarde - TYPE + hoogte FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key AND k.ins_srtkenmerk_key = - 41) k2 - ON x.ins_deel_key = k2.ins_deel_key + 1461) k3 + ON x.ins_deel_key = k3.ins_deel_key LEFT JOIN (SELECT ins_deel_key, ins_kenmerkdeel_waarde - hoogte + belasting FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key AND k.ins_srtkenmerk_key = - 1461) k3 - ON x.ins_deel_key = k3.ins_deel_key + 1462) k4 + ON x.ins_deel_key = k4.ins_deel_key LEFT JOIN (SELECT ins_deel_key, - ins_kenmerkdeel_waarde - belasting + ins_kenmerkdeel_waarde bereik FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key - AND k.ins_srtkenmerk_key = 1462) - k4 - ON x.ins_deel_key = k4.ins_deel_key + AND k.ins_srtkenmerk_key = 1463) + k5 + ON x.ins_deel_key = k5.ins_deel_key LEFT JOIN (SELECT ins_deel_key, - ins_kenmerkdeel_waarde bereik + ins_kenmerkdeel_waarde voltage FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key - AND k.ins_srtkenmerk_key = 1463) - k5 - ON x.ins_deel_key = k5.ins_deel_key + AND k.ins_srtkenmerk_key = 1464) + k6 + ON x.ins_deel_key = k6.ins_deel_key LEFT JOIN (SELECT ins_deel_key, - ins_kenmerkdeel_waarde voltage + DECODE (ins_kenmerkdeel_waarde, + '129', 'JA', + 'NEE') + apkplicht FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key - AND k.ins_srtkenmerk_key = 1464) k6 - ON x.ins_deel_key = k6.ins_deel_key + AND k.ins_srtkenmerk_key = 1465) k7 + ON x.ins_deel_key = k7.ins_deel_key LEFT JOIN (SELECT ins_deel_key, - ins_kenmerkdeel_waarde apkplicht -- TODO: Eigen tabel??? + ins_kenmerkdeel_waarde categorie FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key - AND k.ins_srtkenmerk_key = 1465) k7 - ON x.ins_deel_key = k7.ins_deel_key + AND k.ins_srtkenmerk_key = 1467) k8 + ON x.ins_deel_key = k8.ins_deel_key LEFT JOIN (SELECT ins_deel_key, - ins_kenmerkdeel_waarde afgekeurd -- TODO: Eigen tabel??? + DECODE (ins_kenmerkdeel_waarde, + '129', 'JA', + 'NEE') + afgekeurd FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key - AND k.ins_srtkenmerk_key = 1466) k8 - ON x.ins_deel_key = k8.ins_deel_key + AND k.ins_srtkenmerk_key = 1466) k9 + ON x.ins_deel_key = k9.ins_deel_key LEFT JOIN (SELECT dsc.ins_deel_key, dsc.ins_srtcontrole_key, @@ -8327,6 +8534,7 @@ IS v_bereik VARCHAR2 (255); -- C60 v_voltage VARCHAR2 (255); -- C60 v_apkplicht VARCHAR2 (255); -- C60 + v_categorie VARCHAR2 (255); -- C60 v_prs_bedrijf_naam VARCHAR2 (255); -- C60 v_ins_srtcontrole_oms VARCHAR2 (255); -- C60 x_periode VARCHAR2 (255); -- N4 @@ -8379,6 +8587,7 @@ BEGIN fac.imp_getfield (v_newline, c_delim, v_bereik); fac.imp_getfield (v_newline, c_delim, v_voltage); fac.imp_getfield (v_newline, c_delim, v_apkplicht); + fac.imp_getfield (v_newline, c_delim, v_categorie); fac.imp_getfield (v_newline, c_delim, v_prs_bedrijf_naam); fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_oms); fac.imp_getfield (v_newline, c_delim, x_periode); @@ -8420,6 +8629,7 @@ BEGIN AND UPPER (v_bereik) = 'BEREIK_NM_BAR' AND UPPER (v_voltage) = 'VOLTAGE' AND UPPER (v_apkplicht) = 'APKPLICHT' + AND UPPER (v_categorie) = 'KEURING_CATEGORIE' AND UPPER (v_prs_bedrijf_naam) = 'LEVERANCIER' AND UPPER (v_ins_srtcontrole_oms) = 'SOORTCONTROLE' AND UPPER (x_periode) = 'PERIODE' @@ -8674,6 +8884,22 @@ BEGIN ); END IF; + -- + v_errormsg := 'Categorie ongeldig'; + v_categorie := TRIM (v_categorie); + + IF LENGTH (v_categorie) > 60 + THEN + v_categorie := SUBSTR (v_categorie, 1, 60); + fac.imp_writelog ( + p_applname, + p_applrun, + 'W', + v_aanduiding || v_errormsg, + 'Categorie wordt afgebroken tot [' || v_categorie || ']' + ); + END IF; + -- v_errormsg := 'Leverancier ongeldig'; v_prs_bedrijf_naam := TRIM (v_prs_bedrijf_naam); @@ -8787,6 +9013,7 @@ BEGIN bereik, voltage, apkplicht, + categorie, prs_bedrijf_naam, ins_srtcontrole_omschrijving, ins_deelsrtcontrole_datum, @@ -8807,6 +9034,7 @@ BEGIN v_bereik, v_voltage, v_apkplicht, + v_categorie, v_prs_bedrijf_naam, v_ins_srtcontrole_oms, v_ins_controle_datum, @@ -8887,7 +9115,7 @@ EXCEPTION END conn_import_inspectieobj; / -/* Formatted on 7-6-2011 18:08:08 (QP5 v5.115.810.9015) */ +/* Formatted on 9-6-2011 15:04:20 (QP5 v5.115.810.9015) */ CREATE OR REPLACE PROCEDURE conn_update_inspectieobj ( p_applname IN VARCHAR2, p_applrun IN VARCHAR2 @@ -9261,16 +9489,22 @@ AS 'NEE', 130, apkplicht) apkplicht, + categorie, alg_locatie_code, alg_ruimte_nr, -- Wordt nog niets mee gedaan! prs_bedrijf_naam, -- Wordt nog niets mee gedaan! ins_srtcontrole_omschrijving, ins_deelsrtcontrole_datum, - prs_bedrijf_naam - || ':' - || CHR (13) - || CHR (10) - || COALESCE (ins_deelsrtcontrole_opmerking, '-') + DECODE ( + prs_bedrijf_naam, + NULL, + ins_deelsrtcontrole_opmerking, + prs_bedrijf_naam + || ':' + || CHR (13) + || CHR (10) + || COALESCE (ins_deelsrtcontrole_opmerking, '-') + ) ins_deelsrtcontrole_opmerking, DECODE (UPPER (afgekeurd), 'JA', 129, @@ -9289,6 +9523,7 @@ AS c_bereik_srtkey NUMBER (10) := 1463; c_voltage_srtkey NUMBER (10) := 1464; c_apkplicht_srtkey NUMBER (10) := 1465; + c_categorie_srtkey NUMBER (10) := 1467; c_afgekeurd_srtkey NUMBER (10) := 1466; c_controle_periode NUMBER (10) := 365; v_discipline_key NUMBER (10); @@ -10076,6 +10311,90 @@ AS END IF; END IF; + -- CATEGORIE toevoegen; huidige waarde NOOIT gewijzigd via import! + IF rec.categorie IS NOT NULL AND UPPER (rec.categorie) != 'NVT' + THEN + v_errormsg := 'Fout bij bepalen categorie-kenmerk'; + + SELECT COUNT ( * ) + INTO ccount + FROM ins_v_aanwezigkenmerk k + WHERE k.ins_srtkenmerk_key = c_categorie_srtkey + AND ( (k.ins_srtinstallatie_key = v_srtdeel_key + AND k.ins_kenmerk_niveau = 'S') + OR (k.ins_srtinstallatie_key = v_srtgroep_key + AND k.ins_kenmerk_niveau = 'G') + OR (k.ins_srtinstallatie_key = v_discipline_key + AND k.ins_kenmerk_niveau = 'D')); + + IF ccount = 0 -- Kenmerk bestaat niet; dan aanmaken! + THEN + v_errormsg := 'Fout bij toevoegen categorie-kenmerk'; + + INSERT INTO ins_kenmerk (ins_srtkenmerk_key, + ins_srtinstallatie_key, + ins_kenmerk_niveau, + ins_kenmerk_volgnummer) + VALUES (c_categorie_srtkey, + v_srtdeel_key, + 'S', + 120) + RETURNING ins_kenmerk_key INTO v_kenmerk_key; + + fac.imp_writelog ( + p_applname, + p_applrun, + 'I', + 'INS-Objecten/Categorie-kenmerk toegevoegd voor: ' + || rec.ins_srtdeel_omschrijving, + '' + ); + COMMIT; + ELSE + SELECT k.ins_kenmerk_key + INTO v_kenmerk_key + FROM ins_v_aanwezigkenmerk k + WHERE k.ins_srtkenmerk_key = c_categorie_srtkey + AND ( (k.ins_srtinstallatie_key = v_srtdeel_key + AND k.ins_kenmerk_niveau = 'S') + OR (k.ins_srtinstallatie_key = v_srtgroep_key + AND k.ins_kenmerk_niveau = 'G') + OR (k.ins_srtinstallatie_key = + v_discipline_key + AND k.ins_kenmerk_niveau = 'D')); + END IF; + + v_errormsg := 'Fout bij bepalen huidige categorie'; + + SELECT COUNT ( * ), MAX (ins_kenmerkdeel_key) + INTO ccount, v_kenmerkdeel_key + FROM ins_v_aanwezigkenmerkdeel + WHERE ins_deel_key = v_deel_key + AND ins_kenmerk_key = v_kenmerk_key; + + IF ccount = 0 + THEN + v_errormsg := 'Fout bij toevoegen categorie'; + + INSERT INTO ins_kenmerkdeel ( + ins_deel_key, + ins_kenmerk_key, + ins_kenmerkdeel_waarde + ) + VALUES (v_deel_key, v_kenmerk_key, rec.categorie); + + COMMIT; + --ELSE + -- v_errormsg := 'Fout bij wijzigen categorie'; + + -- UPDATE ins_kenmerkdeel + -- SET ins_kenmerkdeel_waarde = rec.categorie + -- WHERE ins_kenmerkdeel_key = v_kenmerkdeel_key; + + -- COMMIT; + END IF; + END IF; + -- AFGEKEURD toevoegen; huidige waarde NOOIT gewijzigd via import! IF rec.afgekeurd IS NOT NULL AND UPPER (rec.afgekeurd) != 'NVT' THEN @@ -10103,7 +10422,7 @@ AS VALUES (c_afgekeurd_srtkey, v_srtdeel_key, 'S', - 120) + 122) RETURNING ins_kenmerk_key INTO v_kenmerk_key; fac.imp_writelog ( @@ -10318,7 +10637,7 @@ END conn_update_inspectieobj; BEGIN fac.registercustversion('CONN', 44); END; / -BEGIN adm.systrackscript('$Workfile: conn.sql $', '$Revision: 166 $', 0); END; +BEGIN adm.systrackscript('$Workfile: conn.sql $', '$Revision: 167 $', 0); END; / COMMIT;