CONN#19238+CONN#20803

svn path=/Customer/trunk/; revision=14833
This commit is contained in:
Maarten van der Heide
2011-06-09 15:47:42 +00:00
parent f953d9a8d5
commit 93f2749fbe
2 changed files with 598 additions and 225 deletions

View File

@@ -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

View File

@@ -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,7 +8254,7 @@ AS
y.ins_deelsrtcontrole_datum),
NULL controledatum,
NULL controlopmerking,
k8.afgekeurd
k9.afgekeurd
FROM (SELECT scs.ins_srtinstallatie_key
ins_srtdeel_key,
scs.ins_srtcontrole_key,
@@ -8195,7 +8385,8 @@ AS
k.ins_kenmerk_key
AND k.ins_srtkenmerk_key =
42) k1
ON x.ins_deel_key = k1.ins_deel_key
ON x.ins_deel_key =
k1.ins_deel_key
LEFT JOIN
(SELECT ins_deel_key,
ins_kenmerkdeel_waarde
@@ -8226,8 +8417,8 @@ AS
ins_kenmerk k
WHERE kd.ins_kenmerk_key =
k.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 1462)
k4
AND k.ins_srtkenmerk_key =
1462) k4
ON x.ins_deel_key = k4.ins_deel_key
LEFT JOIN
(SELECT ins_deel_key,
@@ -8246,23 +8437,39 @@ AS
ins_kenmerk k
WHERE kd.ins_kenmerk_key =
k.ins_kenmerk_key
AND k.ins_srtkenmerk_key = 1464) k6
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 apkplicht -- TODO: Eigen tabel???
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
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
LEFT JOIN
(SELECT ins_deel_key,
ins_kenmerkdeel_waarde afgekeurd -- 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 = 1467) k8
ON x.ins_deel_key = k8.ins_deel_key
LEFT JOIN
(SELECT ins_deel_key,
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,
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;