755 lines
29 KiB
SQL
755 lines
29 KiB
SQL
-- Script containing customer specific configuration sql statements for Gemeente Nijmegen: Arcadis Aqumen Facility Management
|
||
-- (c) 2005-2007 SG facilitor bv
|
||
-- $Revision$
|
||
-- $Id$
|
||
--
|
||
-- Support: +31 53 4800700
|
||
|
||
DEFINE thisfile = 'AAGN.SQL'
|
||
DEFINE dbuser = '^AAGN'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||
SPOOL &fcltlogfile
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
---------------------------------------
|
||
PROMPT &fcltcusttxt
|
||
---------------------------------------
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
-- script om dagelijks terugkerende scripts aan te roepen.
|
||
CREATE OR REPLACE PROCEDURE aagn_select_daily_task (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
||
AS
|
||
|
||
CURSOR c
|
||
IS
|
||
SELECT ins_deel_omschrijving,
|
||
ins_deel_mjb_score1,
|
||
ins_deel_mjb_score2,
|
||
ins_srtcontroledl_xcp_key,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
|
||
WHERE kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||
AND sk.ins_srtkenmerk_omschrijving = 'Kritische asset')
|
||
kritisch,
|
||
(SELECT TO_CHAR (ins_deelsrtcontrole_datum_org, 'YYYY')
|
||
FROM ins_deelsrtcontrole dsc
|
||
WHERE dsc.ins_deel_key = d.ins_deel_key
|
||
AND dsc.ins_srtcontrole_key = x.ins_srtcontrole_key
|
||
AND dsc.ins_deelsrtcontrole_status = 0)
|
||
orgdatum,
|
||
COALESCE (fac.nextcyclusdate (
|
||
COALESCE (
|
||
(SELECT MAX (ins_deelsrtcontrole_datum)
|
||
FROM ins_deelsrtcontrole dsc
|
||
WHERE ins_deelsrtcontrole_status <> 0
|
||
AND dsc.ins_deel_key =
|
||
d.ins_deel_key
|
||
AND dsc.ins_srtcontrole_key =
|
||
x.ins_srtcontrole_key),
|
||
DECODE (x.ins_srtcontroledl_xcp_startdat,
|
||
NULL, d.ins_deel_aanmaak,
|
||
TO_DATE (NULL))),
|
||
1, -- interval
|
||
ins_srtcontroledl_xcp_eenheid,
|
||
ins_srtcontroledl_xcp_periode,
|
||
ins_srtcontroledl_xcp_bits,
|
||
1,
|
||
1),
|
||
ins_srtcontroledl_xcp_startdat) volgende
|
||
FROM ins_deel d,
|
||
ins_srtcontroledl_xcp x,
|
||
ins_srtcontrole sc,
|
||
ctr_disc_params dp
|
||
WHERE d.ins_deel_key = x.ins_deel_key
|
||
AND x.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||
AND sc.ctr_discipline_key = dp.ctr_ins_discipline_key
|
||
AND dp.ctr_disc_params_ismjob = 1;
|
||
|
||
v_prio NUMBER;
|
||
v_freeze VARCHAR2 (4);
|
||
|
||
BEGIN
|
||
|
||
-- Conditiescores worden vanaf 2020.1 in het proces berekend, per melding en ook direct naar het object.
|
||
-- Deze object-scores worden moeten vervolgens geagregeerd worden naar gebouw en locatieniveau. Doen we dagelijks dmv onderstaande procedure:
|
||
---- Call this procedure to update aggregate scores (for a location/building)
|
||
---- PROCEDURE update_aggr_scores (p_locatie_key IN NUMBER DEFAULT NULL, p_gebouw_key IN NUMBER DEFAULT NULL);
|
||
cnd.update_aggr_scores (NULL, NULL);
|
||
|
||
-- pas de urgentie bij de taken aan
|
||
SELECT fac.getSetting ('mjb_feeze_year')
|
||
INTO v_freeze
|
||
FROM DUAL;
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
-- kritische installatie en planning dit jaar of vorig jaar niet uitgevoerd.
|
||
IF rec.kritisch = 1
|
||
AND (TO_CHAR (rec.volgende, 'yyyy') = v_freeze OR rec.orgdatum <= v_freeze)
|
||
THEN
|
||
v_prio := 3;
|
||
-- planning vorig jaar + storingshistorie
|
||
ELSIF rec.orgdatum < v_freeze
|
||
THEN
|
||
v_prio := 3;
|
||
--prioriteit < 4
|
||
ELSIF rec.ins_deel_mjb_score2 < 4 OR rec.ins_deel_mjb_score1 >= 4
|
||
THEN
|
||
v_prio := 3;
|
||
ELSIF rec.ins_deel_mjb_score2 < 7
|
||
THEN
|
||
v_prio := 2;
|
||
ELSE
|
||
v_prio := 1;
|
||
END IF;
|
||
|
||
UPDATE ins_srtcontroledl_xcp x
|
||
SET ins_srtcontroledl_xcp_prio = v_prio
|
||
WHERE x.ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||
END LOOP;
|
||
|
||
aaxx_daily_task (p_applname, p_applrun);
|
||
END;
|
||
/
|
||
|
||
-- export overrules
|
||
-- exact
|
||
-- Leverancier overrulles
|
||
|
||
|
||
-- exact verkoop
|
||
CREATE OR REPLACE VIEW aagn_v_export_exact_verkoop (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
||
CREATE OR REPLACE PROCEDURE aagn_select_exact_verkoop (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(sysdate, 'yyyy'));
|
||
END;
|
||
/
|
||
CREATE OR REPLACE PROCEDURE aagn_export_exact_verkoop (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(sysdate, 'yyyy'));
|
||
END;
|
||
/
|
||
|
||
-- exact verkoop over het vorige jaar
|
||
CREATE OR REPLACE VIEW aagn_v_export_exact_verkoop_vj (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
||
CREATE OR REPLACE PROCEDURE aagn_select_exact_verkoop_vj (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
||
END;
|
||
/
|
||
CREATE OR REPLACE PROCEDURE aagn_export_exact_verkoop_vj (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
||
END;
|
||
/
|
||
|
||
-- exact projecturen (XML)
|
||
CREATE OR REPLACE VIEW aagn_v_export_exact_uren (result, result_order)
|
||
AS SELECT result, result_order FROM aaxx_v_export_exact_uren_xml;
|
||
CREATE OR REPLACE PROCEDURE aagn_select_exact_uren (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_select_exact_uren_xml(p_applname, p_applrun, '');
|
||
END;
|
||
/
|
||
|
||
-- verwerk exact projecturen (XML)
|
||
CREATE OR REPLACE PROCEDURE aagn_export_verwerk_exact_uren (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_export_verwerk_exact_uren(p_applname, p_applrun, p_filedir, p_filename, '');
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
-- bundel catering
|
||
CREATE OR REPLACE VIEW aagn_v_export_bundel_catering (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_bundel_catering;
|
||
CREATE OR REPLACE PROCEDURE aagn_export_bundel_catering (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_export_bundel_catering(p_applname, p_applrun, p_filedir, p_filename);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW aagn_v_rap_export_inspecties (
|
||
gebouw,
|
||
groepsoort,
|
||
bijlage,
|
||
datum_upload,
|
||
diacritic_character
|
||
)
|
||
AS
|
||
SELECT REGEXP_REPLACE(g.alg_gebouw_naam , '[^[a-z,A-Z,0-9,[:space:]]]*', '') gebouw,
|
||
SUBSTR (d.ins_srtgroep_upper,1,2) groepsoort,
|
||
fac_bijlagen_filename,
|
||
TRUNC (b.fac_bijlagen_aanmaak) Datum_Upload,
|
||
CASE WHEN REGEXP_INSTR(b.fac_bijlagen_filename,'<EFBFBD>|<7C>|<7C>|<7C>|<7C>|<7C>|<7C>|<7C>',1,1)>0 THEN 'JA'
|
||
ELSE 'NEE' END Diacritic_Character
|
||
FROM fac_v_bijlagen b,
|
||
ins_deelsrtcontrole c,
|
||
ins_srtcontrole sc,
|
||
ins_tab_discipline sd,
|
||
ctr_disc_params sdp,
|
||
ins_v_deel_gegevens d,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
ins_kenmerk k
|
||
WHERE b.fac_bijlagen_refkey = c.ins_deelsrtcontrole_key
|
||
AND b.fac_bijlagen_module = 'INS'
|
||
AND c.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||
AND sc.ctr_discipline_key = sd.ins_discipline_key
|
||
AND sd.ins_discipline_module = 'CTR'
|
||
AND sd.ins_discipline_key = sdp.ctr_ins_discipline_key
|
||
AND sd.ins_discipline_key in (462, 463)
|
||
AND c.ins_deel_key = d.ins_deel_key
|
||
AND d.alg_locatie_key = l.alg_locatie_key
|
||
AND d.alg_gebouw_key = g.alg_gebouw_key
|
||
AND b.fac_bijlagen_verwijder IS NULL
|
||
AND k.ins_kenmerk_key = b.fac_bijlagen_kenmerk_key
|
||
AND k.ins_kenmerk_niveau = 'C'
|
||
AND c.ins_srtcontrole_key = k.ins_srtinstallatie_key ;
|
||
|
||
-- Voor export wekelijks van de bijlagen van de inspecties en preventief onderhoud naar webdav (zie ticket 62567)
|
||
---- Het chcp statement (= change code page) aan begin batfile opnemen zodat de bestandsnamen met diacritic characters niet ge-encodeerd worden.
|
||
---- Ik gebruik hieronder voor '\' de ASCII-code (=92) om in ultra-edit syntax-interpretatie goed te krijgen.
|
||
CREATE OR REPLACE VIEW aagn_v_export_inspecties_pdf
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT
|
||
'chcp 1252>nul' result,
|
||
0 result_order
|
||
FROM DUAL
|
||
UNION
|
||
SELECT DISTINCT
|
||
'xcopy /y /S "'
|
||
|| 'd:\Apps\Facilitor\AAFM_DATA\AAGN'
|
||
|| CHR(92)
|
||
|| b.fac_bijlagen_disk_directory
|
||
|| CHR(92)
|
||
|| b.fac_bijlagen_filename
|
||
-- || '" "d:\Apps\Facilitor\Webdav\aafm\Productie\AAGN\inspecties\' Oplossing G-schijf tijdelijk aanmaken in batfile om insuffficient memory van max 258 op padnaam/bestand te omzeilen...
|
||
|| '" "g:\inspecties'
|
||
|| CHR(92)
|
||
|| TO_CHAR (SYSDATE, 'IYYY-IW')
|
||
|| CHR(92)
|
||
|| REGEXP_REPLACE(g.alg_gebouw_naam , '[^[a-z,A-Z,0-9,[:space:]]]*', '')
|
||
|| CHR(92)
|
||
|| SUBSTR (d.ins_srtgroep_upper,1,2)
|
||
|| '\"',
|
||
b.fac_bijlagen_key result_order
|
||
FROM fac_v_bijlagen b,
|
||
ins_deelsrtcontrole c,
|
||
ins_srtcontrole sc,
|
||
ins_tab_discipline sd,
|
||
ctr_disc_params sdp,
|
||
ins_v_deel_gegevens d,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
ins_kenmerk k
|
||
WHERE b.fac_bijlagen_refkey = c.ins_deelsrtcontrole_key
|
||
AND b.fac_bijlagen_module = 'INS'
|
||
AND c.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||
AND sc.ctr_discipline_key = sd.ins_discipline_key
|
||
AND sd.ins_discipline_module = 'CTR'
|
||
AND sd.ins_discipline_key = sdp.ctr_ins_discipline_key
|
||
AND sd.ins_discipline_key in (462, 463)
|
||
AND c.ins_deel_key = d.ins_deel_key
|
||
AND d.alg_locatie_key = l.alg_locatie_key
|
||
AND d.alg_gebouw_key = g.alg_gebouw_key
|
||
AND b.fac_bijlagen_verwijder IS NULL
|
||
AND ( TRUNC (b.fac_bijlagen_aanmaak) <= TRUNC (SYSDATE)
|
||
AND TRUNC (b.fac_bijlagen_aanmaak) >= TRUNC (SYSDATE) - 6)
|
||
AND k.ins_kenmerk_key = b.fac_bijlagen_kenmerk_key
|
||
AND k.ins_kenmerk_niveau = 'C'
|
||
AND c.ins_srtcontrole_key = k.ins_srtinstallatie_key
|
||
ORDER BY result_order;
|
||
|
||
-- Rapport voor export van de bijlagen inspecties en preventief onderhoud (zie ticket 64348)
|
||
---- Deze UDR-variant is in plaats van de wekelijkse export INSPECTIES_PDF naar de webdav/sharepoint
|
||
---- In rapport opgenomen fac_bijlagen_key en fac_bijlagen_zippath voor download-optie vanuit browser
|
||
CREATE OR REPLACE VIEW aagn_v_export_inspecties_udr
|
||
(
|
||
ins_discpline_omschrijving,
|
||
alg_locatie_omschrijving,
|
||
alg_gebouw_omschrijving,
|
||
fac_bijlagen_aanmaak,
|
||
fac_bijlagen_filename,
|
||
fac_bijlagen_key,
|
||
fac_bijlagen_zippath,
|
||
check_lengte
|
||
)
|
||
AS
|
||
SELECT sd.ins_discipline_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
g.alg_gebouw_code||'-'||g.alg_gebouw_naam,
|
||
b.fac_bijlagen_aanmaak,
|
||
b.fac_bijlagen_filename,
|
||
b.fac_bijlagen_key,
|
||
sd.ins_discipline_omschrijving
|
||
|| CHR(92)
|
||
|| TO_CHAR (SYSDATE, 'IYYY-IW')
|
||
|| CHR(92)
|
||
|| REGEXP_REPLACE(g.alg_gebouw_naam , '[^[a-z,A-Z,0-9,[:space:]]]*', '')
|
||
|| CHR(92)
|
||
|| SUBSTR (d.ins_srtgroep_upper,1,2)
|
||
|| CHR(92)
|
||
|| b.fac_bijlagen_filename
|
||
fac_bijlagen_zippath, -- Let op, padnaam kan/mag MAX 258 posities hebben (i.v.m. insuffficient memory)
|
||
LENGTH(
|
||
sd.ins_discipline_omschrijving
|
||
|| CHR(92)
|
||
|| TO_CHAR (SYSDATE, 'IYYY-IW')
|
||
|| CHR(92)
|
||
|| REGEXP_REPLACE(g.alg_gebouw_naam , '[^[a-z,A-Z,0-9,[:space:]]]*', '')
|
||
|| CHR(92)
|
||
|| SUBSTR (d.ins_srtgroep_upper,1,2)
|
||
|| CHR(92)
|
||
|| b.fac_bijlagen_filename
|
||
) check_lengte
|
||
FROM fac_v_bijlagen b,
|
||
ins_deelsrtcontrole c,
|
||
ins_srtcontrole sc,
|
||
ins_tab_discipline sd,
|
||
ctr_disc_params sdp,
|
||
ins_v_deel_gegevens d,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
ins_kenmerk k
|
||
WHERE b.fac_bijlagen_refkey = c.ins_deelsrtcontrole_key
|
||
AND b.fac_bijlagen_module = 'INS'
|
||
AND c.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||
AND sc.ctr_discipline_key = sd.ins_discipline_key
|
||
AND sd.ins_discipline_module = 'CTR'
|
||
AND sd.ins_discipline_key = sdp.ctr_ins_discipline_key
|
||
AND sd.ins_discipline_key in (462, 463)
|
||
AND c.ins_deel_key = d.ins_deel_key
|
||
AND d.alg_locatie_key = l.alg_locatie_key
|
||
AND d.alg_gebouw_key = g.alg_gebouw_key
|
||
AND b.fac_bijlagen_verwijder IS NULL
|
||
AND k.ins_kenmerk_key = b.fac_bijlagen_kenmerk_key
|
||
AND k.ins_kenmerk_niveau = 'C'
|
||
AND c.ins_srtcontrole_key = k.ins_srtinstallatie_key
|
||
ORDER BY fac_bijlagen_zippath
|
||
;
|
||
|
||
-- Ticket 65767 - Layout Bijlage MJOP-RFQ
|
||
-- M-melding is Hoofdmelding. De O-melding is Onderliggende melding
|
||
CREATE OR REPLACE VIEW aagn_v_rap_mjop_offerte
|
||
(
|
||
SOORT, -- H = hoofdmelding O = onderliggende/gekoppelde meldingen
|
||
HOOFDMELDING_KEY,
|
||
MELDING_KEY,
|
||
MELDING_STATUS,
|
||
REFERENTIE,
|
||
ONDERWERP, -- korte omschrijving - wordt vaak niet gevuld bij RABO / uitgezet...
|
||
OMSCHRIJVING,
|
||
DATUM,
|
||
EINDDATUM,
|
||
PROJECTLEIDER, -- verantwoordelijke HeyDay
|
||
LOCATIE_CODE,
|
||
LOCATIE_OMSCHRIJVING,
|
||
LOCATIE_ADRES, -- Bezoekadres, postcode, plaats
|
||
OBJECT_IDENTIFICATIE,
|
||
OBJECT_OMSCHRIJVING,
|
||
OBJECT_AANTAL,
|
||
OBJECT_EENHEID,
|
||
OBJECT_BOUWJAAR,
|
||
OBJECT_CAPACITEIT,
|
||
OBJECT_FABRICAAT,
|
||
OBJECT_REF_LEVERANCIER,
|
||
OBJECT_TYPE,
|
||
TAAK_OMSCHRIJVING,
|
||
TAAK_OPMERKING_OT, -- Opmerking bij Objecttaak
|
||
TAAK_OPMERKING_GT, -- Opmerking bij Geplande/Gestarte taak
|
||
TAAK_KOSTEN,
|
||
------- OVERIGE -----
|
||
FILTER_1, -- Snelle filter voor mld - taken
|
||
FILTER_2, -- Snelle filter voor plaats - taken
|
||
FILTER_3, -- Snelle filter voor plaats
|
||
OFFERTES,
|
||
OPDRACHTEN
|
||
)
|
||
AS
|
||
SELECT CASE WHEN m.mld_melding_mldgroup_key IS NULL THEN 'H' ELSE 'O' END
|
||
soort,
|
||
COALESCE (m.mld_melding_mldgroup_key, m.mld_melding_key)
|
||
mld_hoofd_melding_key,
|
||
m.mld_melding_key,
|
||
v.mld_statuses_omschrijving,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR(m.mld_melding_key)
|
||
referentie,
|
||
m.mld_melding_onderwerp,
|
||
m.mld_melding_omschrijving,
|
||
m.mld_melding_datum,
|
||
m.mld_melding_einddatum,
|
||
(SELECT p.prs_perslid_naam || ' (' || p.prs_perslid_voornaam || ')'
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k, prs_perslid p
|
||
WHERE km.mld_melding_key = m.mld_melding_key
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_kenmerk_key = 4741
|
||
AND fac.safe_to_number(km.mld_kenmerkmelding_waarde) = p.prs_perslid_key
|
||
) projectleider,
|
||
l.alg_locatie_code,
|
||
l.alg_locatie_omschrijving,
|
||
l.alg_locatie_adres || ', ' || l.alg_locatie_postcode || ', ' || l.alg_locatie_plaats
|
||
adres,
|
||
object.ins_deel_omschrijving
|
||
object_identificatie,
|
||
object.ins_deel_opmerking
|
||
object_omschrijving,
|
||
object.ins_deel_aantal
|
||
object_aantal,
|
||
object.eenheid,
|
||
object.bouwjaar,
|
||
object.capaciteit,
|
||
object.fabricaat,
|
||
object.ref_leverancier,
|
||
object.type_obj,
|
||
taak.ins_srtcontrole_omschrijving -- taak.srtcontrole_omschrijving
|
||
taak,
|
||
taak.ins_srtcontroledl_xcp_opmerk -- opmerking bij objecttaak (xcp record)
|
||
taak_opmerking_ot,
|
||
taak.ins_deelsrtcontrole_opmerking -- opmerking bij gestarte taak
|
||
taak_opmerking_gt,
|
||
taak.ins_deelsrtcontrole_freezecost
|
||
taak_kosten,
|
||
TO_CHAR(m.mld_melding_key) || ' - ' || m.mld_melding_onderwerp || ' - ' || taak.ins_srtcontrole_omschrijving
|
||
filter_1,
|
||
l.alg_locatie_plaats || ' - ' || TO_CHAR(m.mld_melding_key) || ' (' || taak.ins_srtcontrole_omschrijving || ')'
|
||
filter_2,
|
||
l.alg_locatie_plaats
|
||
filter_3,
|
||
(SELECT count(*)
|
||
FROM mld_opdr o, mld_typeopdr ot
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||
AND ot.mld_typeopdr_isofferte = 1
|
||
-- AND o.mld_statusopdr_key not in (1,2)
|
||
) offertes,
|
||
(SELECT count(*)
|
||
FROM mld_opdr o, mld_typeopdr ot
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||
AND ot.mld_typeopdr_isofferte = 0
|
||
) opdrachten
|
||
FROM mld_melding m, alg_locatie l,mld_stdmelding sm, mld_discipline d, ins_srtdiscipline sd, mld_statuses v,
|
||
(SELECT mo.mld_melding_key, d.ins_deel_omschrijving, d.ins_deel_opmerking, d.ins_deel_aantal,
|
||
(select ins_kenmerkdeel_waarde
|
||
from ins_kenmerkdeel kd, ins_kenmerk k
|
||
where kd.ins_deel_key = d.ins_deel_key
|
||
and kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
and k.ins_kenmerk_key = 47) -- eenheid
|
||
eenheid,
|
||
(select ins_kenmerkdeel_waarde
|
||
from ins_kenmerkdeel kd, ins_kenmerk k
|
||
where kd.ins_deel_key = d.ins_deel_key
|
||
and kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
and k.ins_kenmerk_key = 44) -- Bouwjaar
|
||
bouwjaar,
|
||
(select ins_kenmerkdeel_waarde
|
||
from ins_kenmerkdeel kd, ins_kenmerk k
|
||
where kd.ins_deel_key = d.ins_deel_key
|
||
and kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
and k.ins_kenmerk_key = 56) -- Type
|
||
type_obj,
|
||
(select ins_kenmerkdeel_waarde
|
||
from ins_kenmerkdeel kd, ins_kenmerk k
|
||
where kd.ins_deel_key = d.ins_deel_key
|
||
and kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
and k.ins_kenmerk_key = 55) -- Referentienummer leverancier
|
||
ref_leverancier,
|
||
(select ins_kenmerkdeel_waarde
|
||
from ins_kenmerkdeel kd, ins_kenmerk k
|
||
where kd.ins_deel_key = d.ins_deel_key
|
||
and kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
and k.ins_kenmerk_key = 45) -- Capaciteit
|
||
capaciteit,
|
||
(select ins_kenmerkdeel_waarde
|
||
from ins_kenmerkdeel kd, ins_kenmerk k
|
||
where kd.ins_deel_key = d.ins_deel_key
|
||
and kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
and k.ins_kenmerk_key = 48) -- Fabricaat
|
||
fabricaat
|
||
FROM
|
||
mld_melding_object mo,
|
||
ins_deel d
|
||
WHERE mo.ins_deel_key = d.ins_deel_key
|
||
AND d.ins_deel_verwijder IS NULL
|
||
) object,
|
||
(SELECT dc.ins_deelsrtcontrole_key, dc.ins_deel_key, dc.ins_srtcontrole_key,
|
||
dc.ins_deelsrtcontrole_opmerking,
|
||
dc.ins_deelsrtcontrole_freezecost,
|
||
v.ins_srtcontrole_omschrijving,
|
||
v.ins_srtcontroledl_xcp_opmerk,
|
||
v.ins_srtcontrole_eenheid,
|
||
v.ins_srtcontrole_periode,
|
||
v.ins_srtcontroledl_xcp_eenheid,
|
||
v.ins_srtcontroledl_xcp_periode
|
||
FROM ins_deelsrtcontrole dc, ins_v_defined_inspect_xcp v
|
||
WHERE dc.ins_deelsrtcontrole_status in (0,2) -- ingepland of in behandeling OF ALLES TONEN ???
|
||
AND dc.ins_srtcontrole_key = v.ins_srtcontrole_key
|
||
AND dc.ins_deel_key = v.ins_deel_key
|
||
AND v.ins_scenario_key = 1
|
||
) taak
|
||
WHERE
|
||
m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_key in (81) -- MJOP
|
||
AND m.mld_melding_key = object.mld_melding_key
|
||
AND m.mld_melding_kto_key = taak.ins_deelsrtcontrole_key
|
||
AND m.mld_melding_status = v.mld_statuses_key
|
||
ORDER BY COALESCE (m.mld_melding_mldgroup_key, m.mld_melding_key), m.mld_melding_mldgroup_key DESC ;
|
||
|
||
-- Ticket 70981 + AAGN#71470 - Bewakingslijst voor Team Assetmanagement om de mutaties die externe inspecteurs doen, te controleren + Mutaties vanuit Digitaal Logboek
|
||
CREATE OR REPLACE VIEW aagn_v_ins_objectmutaties_insp
|
||
(
|
||
ins_deel_key,
|
||
identificatie,
|
||
beschrijving,
|
||
discipline_omschrijving,
|
||
groep_omschrijving,
|
||
objectsoort_omschrijving,
|
||
objectsoort_code,
|
||
registratiedatum,
|
||
vervaldatum,
|
||
koppel_type,
|
||
plaats_ruimte,
|
||
regio,
|
||
district,
|
||
locatie,
|
||
gebouw,
|
||
actief,
|
||
hoeveelheid,
|
||
conditie,
|
||
prioriteit,
|
||
soort,
|
||
inspecteur,
|
||
datum,
|
||
mutatie
|
||
)
|
||
AS
|
||
SELECT d.ins_deel_key,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
ins_discipline_omschrijving,
|
||
ins_srtgroep_omschrijving,
|
||
ins_srtdeel_omschrijving,
|
||
ins_srtdeel_code,
|
||
ins_deel_aanmaak,
|
||
ins_deel_vervaldatum,
|
||
DECODE (o.alg_onroerendgoed_type,
|
||
'R',
|
||
'Ruimte',
|
||
'T',
|
||
'Terrein',
|
||
'W',
|
||
'Werkplek')
|
||
type_koppeling,
|
||
o.alg_plaatsaanduiding || ' ('
|
||
|| DECODE (
|
||
o.alg_onroerendgoed_type,
|
||
'R',
|
||
(SELECT r.alg_ruimte_omschrijving
|
||
FROM alg_ruimte r
|
||
WHERE r.alg_ruimte_key = d.ins_alg_ruimte_key),
|
||
'T',
|
||
(SELECT t.alg_terreinsector_naam
|
||
FROM alg_terreinsector t
|
||
WHERE t.alg_terreinsector_key = d.ins_alg_ruimte_key),
|
||
'W',
|
||
(SELECT r.alg_ruimte_omschrijving
|
||
FROM alg_ruimte r, prs_werkplek w
|
||
WHERE r.alg_ruimte_key = w.prs_alg_ruimte_key
|
||
AND w.prs_werkplek_key = d.ins_alg_ruimte_key)
|
||
)
|
||
|| ')'
|
||
plaats,
|
||
r.alg_regio_omschrijving,
|
||
di.alg_district_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
o.alg_gebouw_omschrijving,
|
||
ins_deel_actief,
|
||
ins_deel_aantal,
|
||
ins_deel_mjb_score1,
|
||
ins_deel_mjb_score2,
|
||
v.soort,
|
||
v.inspecteur,
|
||
v.datum,
|
||
v.mutatie
|
||
FROM ins_v_aanwezigdeel d,
|
||
ins_v_aanwezigsrtdeel srt,
|
||
ins_v_aanwezigsrtgroep sg,
|
||
ins_v_aanwezigdiscipline disc,
|
||
ins_v_alg_overzicht o,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
alg_regio r,
|
||
(SELECT n.ins_deel_key,
|
||
p.prs_perslid_naam inspecteur,
|
||
'notitie' soort,
|
||
n.ins_deel_note_aanmaak datum,
|
||
n.ins_deel_note_omschrijving mutatie
|
||
FROM ins_deel_note n,
|
||
prs_perslid p,
|
||
fac_gebruikersgroep gg,
|
||
fac_groep g
|
||
WHERE n.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND gg.fac_groep_key = g.fac_groep_key
|
||
AND g.fac_groep_externid = 1000
|
||
UNION ALL
|
||
SELECT ft.fac_tracking_refkey ins_deel_key,
|
||
p.prs_perslid_naam inspecteur,
|
||
'mutatie' soort,
|
||
ft.fac_tracking_datum datum,
|
||
ft.fac_tracking_oms mutatie
|
||
FROM fac_tracking ft,
|
||
fac_srtnotificatie sn,
|
||
prs_perslid p,
|
||
fac_gebruikersgroep gg,
|
||
fac_groep g
|
||
WHERE ft.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND INSTR (ft.fac_tracking_oms, 'Object gewijzigd') > 0
|
||
AND UPPER (sn.fac_srtnotificatie_xmlnode) = 'DEEL'
|
||
AND UPPER (sn.fac_srtnotificatie_code) = 'INSUPD'
|
||
AND ft.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND gg.fac_groep_key = g.fac_groep_key
|
||
AND g.fac_groep_externid = 1000
|
||
UNION ALL
|
||
SELECT ft.fac_tracking_refkey ins_deel_key,
|
||
p.prs_perslid_naam inspecteur,
|
||
'mutatie (via QRC)' soort,
|
||
ft.fac_tracking_datum datum,
|
||
ft.fac_tracking_oms mutatie
|
||
FROM fac_tracking ft,
|
||
fac_srtnotificatie sn,
|
||
prs_perslid p,
|
||
fac_gebruikersgroep gg,
|
||
fac_groep g
|
||
WHERE ft.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND INSTR (ft.fac_tracking_oms, 'Object gewijzigd') > 0
|
||
AND UPPER (sn.fac_srtnotificatie_xmlnode) = 'DEEL'
|
||
AND UPPER (sn.fac_srtnotificatie_code) = 'INSUPD'
|
||
AND ft.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND gg.fac_groep_key = g.fac_groep_key
|
||
AND g.fac_groep_externid = 1001
|
||
) v
|
||
WHERE srt.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND sg.ins_srtgroep_key = srt.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = disc.ins_discipline_key
|
||
AND d.ins_deel_module = 'INS'
|
||
AND d.ins_deel_parent_key IS NULL
|
||
AND COALESCE (ins_alg_ruimte_type_org, ins_alg_ruimte_type) IN
|
||
('T', 'R', 'W')
|
||
AND o.alg_onroerendgoed_keys =
|
||
COALESCE (ins_alg_ruimte_key_org, ins_alg_ruimte_key)
|
||
AND o.alg_onroerendgoed_type =
|
||
COALESCE (ins_alg_ruimte_type_org, ins_alg_ruimte_type)
|
||
AND o.alg_locatie_key = d.ins_alg_locatie_key
|
||
AND o.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND di.alg_regio_key = r.alg_regio_key
|
||
AND d.ins_deel_key = v.ins_deel_key
|
||
;
|
||
|
||
-- QR-codes voor installaties tbv Digitale logboek (ticket AAGN#71470)
|
||
-- view om QR codes voor een deel te genereren.
|
||
CREATE OR REPLACE VIEW aagn_v_rap_qr_deel
|
||
AS
|
||
SELECT fac_bookmark_naam,
|
||
fac_bookmark_id,
|
||
ins_discipline_omschrijving,
|
||
ins_srtgroep_omschrijving,
|
||
ins_srtdeel_omschrijving,
|
||
ins_deel_omschrijving,
|
||
CASE
|
||
WHEN d.ins_discipline_key = 361 -- GEBOUWOBJECTEN
|
||
THEN
|
||
(SELECT k.ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel k
|
||
WHERE k.ins_deel_key = d.ins_deel_key
|
||
AND k.ins_kenmerk_key = 55)
|
||
ELSE
|
||
NULL
|
||
END
|
||
refnr_leverancier,
|
||
'Locatiegebonden'
|
||
soort,
|
||
alg_district_omschrijving
|
||
district_naam,
|
||
d.alg_locatie_key,
|
||
alg_locatie_omschrijving || ' - ' || alg_locatie_code
|
||
locatie_naam,
|
||
alg_gebouw_omschrijving
|
||
gebouw_naam,
|
||
ins_deel_aanmaak,
|
||
ins_deel_key
|
||
FROM fac_bookmark b, ins_v_deel_gegevens d, alg_locatie l, alg_district d
|
||
WHERE fac_bookmark_expire IS NULL
|
||
AND d.alg_locatie_key = l.alg_locatie_key AND l.alg_district_key = d.alg_district_key
|
||
AND fac_bookmark_id = 'WroKOyDAZVPtYlGF';
|
||
|
||
------ payload end ------
|
||
|
||
SET DEFINE OFF
|
||
BEGIN adm.systrackscriptId('$Id$'); END;
|
||
/
|
||
|
||
COMMIT;
|
||
SET ECHO OFF
|
||
SPOOL OFF
|
||
SET DEFINE ON
|
||
PROMPT Logfile of this upgrade is: &fcltlogfile
|