1125 lines
49 KiB
SQL
1125 lines
49 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,
|
||
COALESCE(ins_deel_mjb_score1, 3) ins_deel_mjb_score1, -- Assets zonder conditie in Facilitor op 3 zodat ze met normale heyday-urgentie in mjob komen
|
||
COALESCE(ins_deel_mjb_score2, 4) ins_deel_mjb_score2, -- Assets zonder prio op een gemiddelde van 4 in berekening van heyday-urgentie opnemen
|
||
ins_srtcontroledl_xcp_key,
|
||
ins_srtcontroledl_xcp_prio,
|
||
ins_deel_vervaldatum,
|
||
fr.freeze_year
|
||
FROM ins_deel d,
|
||
ins_srtcontroledl_xcp x,
|
||
ins_srtcontrole sc,
|
||
ctr_disc_params dp,
|
||
(SELECT fac.getSetting ('mjb_freeze_year') freeze_year FROM DUAL) fr
|
||
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
|
||
AND
|
||
(
|
||
ins_deel_vervaldatum IS NULL
|
||
OR
|
||
ins_deel_vervaldatum > TO_DATE (TO_CHAR(fr.freeze_year || '0101'), 'YYYYMMDD')
|
||
) ;
|
||
|
||
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_freeze_year')
|
||
INTO v_freeze
|
||
FROM DUAL;
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
-- slechte conditie asset (4,5,6) is urgentie HOOG
|
||
IF rec.ins_deel_mjb_score1 >= 4
|
||
THEN
|
||
v_prio := 3;
|
||
-- redelijk tot goede conditie (1,2,3)en hoge tot redelijk hoge prioriteit (<7) dan urgentie NORMAAL
|
||
ELSIF rec.ins_deel_mjb_score2 < 7
|
||
THEN
|
||
v_prio := 2;
|
||
-- redelijk tot goede conditie (1,2,3) en lage prioriteit (7,8,9) dan urgentie LAAG
|
||
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'), 'CORE');
|
||
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'), 'CORE');
|
||
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), 'CORE');
|
||
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), 'CORE');
|
||
END;
|
||
/
|
||
|
||
-- exact verkoop - PROJECTEN CSV
|
||
CREATE OR REPLACE VIEW aagn_v_export_exact_verkoop_p (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
||
CREATE OR REPLACE PROCEDURE aagn_select_exact_verkoop_p (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(sysdate, 'yyyy'), 'PROJECT');
|
||
END;
|
||
/
|
||
CREATE OR REPLACE PROCEDURE aagn_export_exact_verkoop_p (
|
||
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'), 'PROJECT');
|
||
END;
|
||
/
|
||
|
||
-- exact verkoop over het vorige jaar - PROJECTEN CSV
|
||
CREATE OR REPLACE VIEW aagn_v_export_exact_verkoop_vj_p (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
||
CREATE OR REPLACE PROCEDURE aagn_select_exact_verkoop_vj_p (
|
||
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), 'PROJECT');
|
||
END;
|
||
/
|
||
CREATE OR REPLACE PROCEDURE aagn_export_exact_verkoop_vj_p (
|
||
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), 'PROJECT');
|
||
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 ;
|
||
|
||
-- rapportage om foto's toe te voegen
|
||
---- levert commandlines voor batfile op die geplaatst/uitgevoerd kan worden in lokale map met de foto's en UploadFotoBijGebrek.js
|
||
---- in url de kenmerk_key van de foldermap meenemen (voor AAGN is dit 4656)
|
||
CREATE OR REPLACE VIEW aagn_v_upload_foto_script
|
||
AS
|
||
SELECT v.mld_melding_key,
|
||
v.alg_gebouw_code,
|
||
v.alg_gebouw_naam,
|
||
v.mld_melding_datum,
|
||
v.mld_statuses_omschrijving,
|
||
'cscript //E:jscript "UploadFotoBijGebrek_AAGN.js" "https://aagn.facilitor.nl/api2" 4656 '
|
||
|| v.mld_melding_key
|
||
|| ' "fotos/'
|
||
|| v.foto
|
||
|| '"' url
|
||
FROM (SELECT aogg.alg_gebouw_code,
|
||
aogg.alg_gebouw_naam,
|
||
m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
s.mld_statuses_omschrijving,
|
||
1 volgorde,
|
||
aaxx.imp_getfield_nr (mld_kenmerkmelding_waarde, ';', 1) foto
|
||
FROM mld_kenmerkmelding km, mld_melding m, alg_v_onroerendgoed_gegevens aogg, mld_kenmerk k, mld_srtkenmerk sk, mld_statuses s
|
||
WHERE aogg.alg_onroerendgoed_keys = m.mld_alg_onroerendgoed_keys
|
||
AND m.mld_melding_status = s.mld_statuses_key
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_code = 'FOTONAAM'
|
||
UNION ALL
|
||
SELECT aogg.alg_gebouw_code,
|
||
aogg.alg_gebouw_naam,
|
||
m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
s.mld_statuses_omschrijving,
|
||
2,
|
||
aaxx.imp_getfield_nr (mld_kenmerkmelding_waarde, ';', 2)
|
||
FROM mld_kenmerkmelding km, mld_melding m, alg_v_onroerendgoed_gegevens aogg, mld_kenmerk k, mld_srtkenmerk sk, mld_statuses s
|
||
WHERE aogg.alg_onroerendgoed_keys = m.mld_alg_onroerendgoed_keys
|
||
AND m.mld_melding_status = s.mld_statuses_key
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_code = 'FOTONAAM'
|
||
UNION ALL
|
||
SELECT aogg.alg_gebouw_code,
|
||
aogg.alg_gebouw_naam,
|
||
m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
s.mld_statuses_omschrijving,
|
||
3,
|
||
aaxx.imp_getfield_nr (mld_kenmerkmelding_waarde, ';', 3)
|
||
FROM mld_kenmerkmelding km, mld_melding m, alg_v_onroerendgoed_gegevens aogg, mld_kenmerk k, mld_srtkenmerk sk, mld_statuses s
|
||
WHERE aogg.alg_onroerendgoed_keys = m.mld_alg_onroerendgoed_keys
|
||
AND m.mld_melding_status = s.mld_statuses_key
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_code = 'FOTONAAM'
|
||
UNION ALL
|
||
SELECT aogg.alg_gebouw_code,
|
||
aogg.alg_gebouw_naam,
|
||
m.mld_melding_key,
|
||
m.mld_melding_datum,
|
||
s.mld_statuses_omschrijving,
|
||
4,
|
||
aaxx.imp_getfield_nr (mld_kenmerkmelding_waarde, ';', 4)
|
||
FROM mld_kenmerkmelding km, mld_melding m, alg_v_onroerendgoed_gegevens aogg, mld_kenmerk k, mld_srtkenmerk sk, mld_statuses s
|
||
WHERE aogg.alg_onroerendgoed_keys = m.mld_alg_onroerendgoed_keys
|
||
AND m.mld_melding_status = s.mld_statuses_key
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_code = 'FOTONAAM') v
|
||
WHERE v.foto IS NOT NULL AND (INSTR(v.foto,'.jpg')>0 OR INSTR(v.foto,'.jpeg')>0) ;
|
||
|
||
-- QR-codes voor installaties tbv Digitale logboek (ticket AAGN#71470)
|
||
-- view om QR codes voor een deel te genereren - Voor ROL
|
||
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';
|
||
|
||
-- Voor A4
|
||
CREATE OR REPLACE VIEW aagn_v_rap_qr_deel_a4
|
||
AS
|
||
SELECT fac_bookmark_naam,
|
||
fac_bookmark_id,
|
||
ins_discipline_omschrijving,
|
||
ins_srtgroep_omschrijving,
|
||
ins_srtdeel_omschrijving,
|
||
ins_deel_omschrijving
|
||
fclt_f_identificatie,
|
||
ins_deel_opmerking,
|
||
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';
|
||
|
||
-- AAGN-compliance verklaring - Ticket AAGN#81259
|
||
CREATE OR REPLACE VIEW AAGN_V_RAP_TAKEN_COMPLIANCE
|
||
(
|
||
TOEPASSING, -- Compliance_toepassing - keuzelijst eigen tabel
|
||
UITGEVOERD,
|
||
JAAR, -- Jaar laatste uitvoer
|
||
DATUM, -- Laatste uitvoerdatum OF datum waarop het uitgevoerd had moeten worden
|
||
JAAR_NEXTCYCLUS,
|
||
DATUM_NEXTCYCLUS,
|
||
JAAR_COMPLIANCE, -- SYSDATE - 1
|
||
CATEGORIE,
|
||
TAAKSOORT,
|
||
SRTCONTROLE__KEY,
|
||
BASISTAAK_INFO, -- Hierin opgenomen of klant AAGN taak in compliance meegenomen wil hebben
|
||
DEELSOORTCONTROLE_KEY, -- Laatste uitvoer_key
|
||
STATUS,
|
||
INS_DEEL_KEY,
|
||
LOCATIE_PLAATS,
|
||
REGIO,
|
||
DISTRICT,
|
||
LOCATIE,
|
||
LOCATIE_CODE,
|
||
GEBOUW_NAAM,
|
||
GEBOUWFUNCTIE,
|
||
VERVALDATUM_GEBOUW,
|
||
OMSCHRIJVING,
|
||
OBJECTIDENTIFICATIE,
|
||
VERVALDATUM_OBJECT,
|
||
OBJECT_VERVAL_FILTER,
|
||
TAAKOMSCHRIJVING,
|
||
FREQUENCY,
|
||
PERIODE,
|
||
AANTAL_X_UITGEVOERD, -- In Compliancejaar (sysdate-jaar minus 1)
|
||
AANTAL_X_UITGEVOERD_TOT, -- In totaal
|
||
ACTIE, -- 1, 0.5, 0 of -1 (1 = voltooid 0.5 = afgemeld 0 = ingepland, -1 is nog niet gestart/uitgevoerd in geselecteerde jaar
|
||
DEMARCATIE,
|
||
OPMERKING_UITVOER,
|
||
OPMERKING_OBJECTTAAK,
|
||
DIENST,
|
||
DIENST_LEV_BDL,
|
||
DIENST_LEV_BDL_AANTAL
|
||
)
|
||
AS -- Uitgevoerd t/m datum van uitdraai...
|
||
SELECT ud.fac_usrdata_upper,
|
||
'ja' uitgevoerd,
|
||
TO_CHAR (dc.ins_deelsrtcontrole_datum, 'YYYY')
|
||
jaar,
|
||
dc.ins_deelsrtcontrole_datum
|
||
datum, -- datum laatste uitvoering
|
||
TO_CHAR(fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key,1),'YYYY')
|
||
jaar_nextcyclus,
|
||
fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key,1)
|
||
datum_nextcyclus,
|
||
CASE WHEN ud.fac_usrdata_key = 641 THEN TO_CHAR(sysdate,'YYYY')-1 ELSE TO_CHAR(sysdate,'YYYY')-0 END -- key 641 is compliance voorgaand jaar
|
||
jaar_compliance,
|
||
cd.ins_discipline_omschrijving,
|
||
CASE
|
||
WHEN cdp.ctr_disc_params_controle_type = 1
|
||
THEN
|
||
lcl.l ('lcl_ins_srtcontrole_insp')
|
||
WHEN cdp.ctr_disc_params_controle_type = 2
|
||
THEN
|
||
lcl.l ('lcl_ins_srtcontrole_repl')
|
||
WHEN cdp.ctr_disc_params_controle_type = 3
|
||
THEN
|
||
lcl.l ('lcl_ins_srtcontrole_cert')
|
||
END
|
||
taaksoort,
|
||
t.ins_srtcontrole_key,
|
||
sc.ins_srtcontrole_info,
|
||
t.laatste_uitvoer_key,
|
||
DECODE (dc.ins_deelsrtcontrole_status,
|
||
0, 'Ingepland',
|
||
2, 'In behandeling',
|
||
5, 'Afgemeld',
|
||
6, 'Voltooid')
|
||
status,
|
||
d.ins_deel_key,
|
||
l.alg_locatie_plaats || ' ' || l.alg_locatie_adres,
|
||
r.alg_regio_omschrijving,
|
||
di.alg_district_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
l.alg_locatie_code,
|
||
g.alg_gebouw_naam || ' (' || g.alg_gebouw_code || ')'
|
||
alg_gebouw_naam,
|
||
sg.alg_srtgebouw_omschrijving
|
||
gebouwfunctie,
|
||
TO_CHAR(g.alg_gebouw_vervaldatum,'dd-mm-yyyy'),
|
||
d.ins_deel_opmerking,
|
||
d.ins_deel_omschrijving,
|
||
TO_CHAR(d.ins_deel_vervaldatum, 'dd-mm-yyyy'),
|
||
CASE WHEN d.ins_deel_vervaldatum IS NULL THEN 'actueel'
|
||
WHEN d.ins_deel_vervaldatum IS NOT NULL AND d.ins_deel_vervaldatum <= sysdate THEN 'vervallen'
|
||
WHEN d.ins_deel_vervaldatum IS NOT NULL AND d.ins_deel_vervaldatum > sysdate THEN 'vervallen - toekomst'
|
||
ELSE '<?>'
|
||
END
|
||
object_verval_filter,
|
||
sc.ins_srtcontrole_omschrijving,
|
||
DECODE (
|
||
COALESCE (x.ins_srtcontroledl_xcp_eenheid,
|
||
sc.ins_srtcontrole_eenheid),
|
||
0, 'Uurlijks',
|
||
1, 'Dagelijks',
|
||
2, 'Wekelijks',
|
||
3, 'Maandelijks',
|
||
4, 'Jaarlijks',
|
||
'Onbekend')
|
||
frequentie,
|
||
COALESCE (x.ins_srtcontroledl_xcp_periode,
|
||
sc.ins_srtcontrole_periode)
|
||
periode,
|
||
(SELECT count(*)
|
||
FROM ins_deelsrtcontrole dc
|
||
WHERE dc.ins_deel_key = d.ins_deel_key
|
||
AND dc.ins_srtcontrole_key = t.ins_srtcontrole_key
|
||
AND TO_CHAR(dc.ins_deelsrtcontrole_datum,'yyyy') = to_char(sysdate,'yyyy') - DECODE(ud.fac_usrdata_key,821,1,0)
|
||
) aantal_x_uitgevoerd_c, -- in compliance-jaar uitgevoerd
|
||
t.aantal_x_uitgevoerd
|
||
aantal_x_uitgevoerd_tot,
|
||
CASE
|
||
WHEN
|
||
INSTR (LOWER (x.ins_srtcontroledl_xcp_groep), 'nee') > 0 AND ud.fac_usrdata_key = 641 -- compliance voorgaand jaar
|
||
AND (
|
||
LOWER (dc.ins_deelsrtcontrole_status) NOT IN (6) -- uitleg: Als demarcatie is nee (geen taak HEYDAY) en laatste taak is niet of niet succesvol uitgevoerd, dan op verklaring altijd nvt vermelden
|
||
OR
|
||
(LOWER (dc.ins_deelsrtcontrole_status) IN (6) -- uitleg: Ook als laatste uitvoerdatum nog voor compliance jaar ligt en voltooid was en de nextcycli_datum is in compliance-jaar (of ervoor) ligt, dan wordt status op nvt gezet
|
||
AND TO_NUMBER(TO_CHAR(dc.ins_deelsrtcontrole_datum, 'YYYY')) < TO_NUMBER(TO_CHAR(sysdate,'YYYY')-1)
|
||
AND TO_NUMBER(TO_CHAR(fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key,1),'YYYY')) <= TO_NUMBER(TO_CHAR(sysdate,'YYYY')-1)
|
||
)
|
||
)
|
||
THEN
|
||
'nvt'
|
||
WHEN -- uitleg: Als demarcatie is nee (geen taak HEYDAY) en laatste uitvoerdatum nog voor compliance jaar ligt en nextcycli_datum is in compliance-jaar (of ervoor) en is kleiner dan datum uitdraai, dan status nvt (= nog uitvoeren)
|
||
INSTR (LOWER (x.ins_srtcontroledl_xcp_groep), 'nee') > 0 AND ud.fac_usrdata_key = 642 -- compliance lopend jaar
|
||
AND TO_NUMBER(TO_CHAR(dc.ins_deelsrtcontrole_datum, 'YYYY')) < TO_NUMBER(TO_CHAR(sysdate,'YYYY'))
|
||
AND TO_NUMBER(TO_CHAR(fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key,1),'YYYY')) <= TO_NUMBER(TO_CHAR(sysdate,'YYYY'))
|
||
AND TRUNC(fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key,1)) <= TRUNC(SYSDATE)
|
||
THEN
|
||
'nvt'
|
||
WHEN -- uitleg: Als demarcatie is ja (is taak HEYDAY) en laatste uitvoerdatum nog voor compliance jaar ligt en nextcycli_datum is in compliance-jaar (of ervoor) en is kleiner dan datum uitdraai, dan status -1 (= nog uitvoeren)
|
||
INSTR (LOWER (COALESCE(x.ins_srtcontroledl_xcp_groep,'leeg')), 'nee') = 0
|
||
AND TO_NUMBER(TO_CHAR(dc.ins_deelsrtcontrole_datum, 'YYYY')) < TO_NUMBER(TO_CHAR(sysdate,'YYYY')-DECODE(ud.fac_usrdata_key,641,1,0)) -- 641 is compliance voorgaand jaar
|
||
AND TO_NUMBER(TO_CHAR(fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key,1),'YYYY')) <= TO_NUMBER(TO_CHAR(sysdate,'YYYY')-DECODE(ud.fac_usrdata_key,641,1,0))
|
||
AND TRUNC(fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key,1)) <= TRUNC(SYSDATE)
|
||
THEN '-1'
|
||
ELSE
|
||
DECODE (dc.ins_deelsrtcontrole_status,
|
||
6, '1', -- Voltooid
|
||
5, '0.5', -- Afgemeld
|
||
2, '0', -- In behandeling
|
||
0, '0', -- Ingepland
|
||
'-1')
|
||
END
|
||
actie,
|
||
x.ins_srtcontroledl_xcp_groep
|
||
demarcatie,
|
||
dc.ins_deelsrtcontrole_opmerking
|
||
opmerking_uitvoer, -- opmerking bij laatste uitvoering
|
||
x.ins_srtcontroledl_xcp_opmerk
|
||
opmerking_basistaak,
|
||
die.prs_dienst_omschrijving,
|
||
bdl.lev_max
|
||
dienst_lev_bdl,
|
||
bdl.aantal_leveranciers
|
||
dienst_lev_bdl_aantal
|
||
FROM ins_v_deel_gegevens d,
|
||
ins_srtcontrole sc,
|
||
prs_dienst die,
|
||
ins_srtcontroledl_xcp x,
|
||
ins_srtdeel ds,
|
||
ins_srtgroep dg,
|
||
ctr_discipline cd,
|
||
ctr_disc_params cdp,
|
||
( SELECT dc.ins_deel_key,
|
||
dc.ins_srtcontrole_key,
|
||
MAX (ins_deelsrtcontrole_key)
|
||
laatste_uitvoer_key,
|
||
COUNT (ins_deelsrtcontrole_key)
|
||
aantal_x_uitgevoerd
|
||
FROM ins_deelsrtcontrole dc, ins_deel d
|
||
WHERE d.ins_deel_key = dc.ins_deel_key
|
||
AND d.ins_deel_verwijder IS NULL
|
||
GROUP BY dc.ins_deel_key,
|
||
dc.ins_srtcontrole_key
|
||
) t,
|
||
ins_deelsrtcontrole dc,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
alg_regio r,
|
||
alg_srtgebouw sg,
|
||
fac_usrdata ud,
|
||
(
|
||
SELECT d.prs_dienst_key, d.prs_dienst_omschrijving, g.alg_gebouw_key, MAX (b.prs_bedrijf_naam) lev_max, MIN (b.prs_bedrijf_naam) lev_min, count(*) aantal_leveranciers
|
||
FROM prs_bedrijfdienstlocatie bdl,
|
||
prs_dienst d,
|
||
prs_bedrijf b,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE d.prs_dienst_key = bdl.prs_dienst_key
|
||
AND b.prs_bedrijf_key = bdl.prs_bedrijf_key
|
||
AND bdl.alg_gebouw_key IS NOT NULL
|
||
AND bdl.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
GROUP BY d.prs_dienst_omschrijving, d.prs_dienst_key, g.alg_gebouw_key
|
||
) bdl
|
||
WHERE t.ins_deel_key = d.ins_deel_key
|
||
AND d.ins_discipline_key = 361 -- Gebouwobjecten
|
||
AND t.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||
AND sc.prs_dienst_key = die.prs_dienst_key (+)
|
||
AND sc.ctr_discipline_key = cd.ins_discipline_key
|
||
AND cdp.ctr_disc_params_controle_type = 3 -- Taaksoort Certificering
|
||
AND cd.ins_discipline_key = cdp.ctr_ins_discipline_key
|
||
AND t.ins_deel_key = x.ins_deel_key
|
||
AND t.ins_srtcontrole_key = x.ins_srtcontrole_key
|
||
AND x.ins_scenario_key = 1
|
||
AND t.laatste_uitvoer_key = dc.ins_deelsrtcontrole_key
|
||
AND sc.ins_srtinstallatie_key = ds.ins_srtdeel_key
|
||
AND sc.ins_srtcontrole_niveau = 'S'
|
||
AND ds.ins_srtgroep_key = dg.ins_srtgroep_key
|
||
AND dg.ins_srtgroep_key NOT IN (119) -- Groep 01 Algemeen uitsluiten
|
||
AND d.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.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 g.alg_srtgebouw_key = sg.alg_srtgebouw_key
|
||
AND ud.fac_usrtab_key = 321 AND ud.fac_usrdata_verwijder IS NULL AND ud.fac_usrdata_vervaldatum IS NULL
|
||
AND g.alg_gebouw_key = bdl.alg_gebouw_key (+)
|
||
AND sc.prs_dienst_key = bdl.prs_dienst_key (+)
|
||
UNION -- Nog niet uitgevoerd in geselecteerde jaar
|
||
SELECT ud.fac_usrdata_upper,
|
||
CASE WHEN TO_NUMBER(TO_CHAR(t.deelsrtcontrole_datum, 'yyyy')) < TO_NUMBER (TO_CHAR (SYSDATE, 'yyyy')) THEN 'nee - verleden'
|
||
WHEN TO_NUMBER(TO_CHAR(t.deelsrtcontrole_datum, 'yyyy')) = TO_NUMBER (TO_CHAR (SYSDATE, 'yyyy')) THEN 'nee - lopend jaar'
|
||
WHEN TO_NUMBER(TO_CHAR(t.deelsrtcontrole_datum, 'yyyy')) > TO_NUMBER (TO_CHAR (SYSDATE, 'yyyy')) THEN 'nee - toekomst'
|
||
ELSE '<?>'
|
||
END
|
||
uitgevoerd,
|
||
t.jaar,
|
||
t.deelsrtcontrole_datum
|
||
datum, -- datum waarop het uitgevoerd had moeten worden..
|
||
TO_CHAR(fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key,1),'YYYY')
|
||
jaar_nextcyclus,
|
||
fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key,1)
|
||
datum_nextcyclus,
|
||
CASE WHEN ud.fac_usrdata_key = 641 THEN TO_CHAR(sysdate,'YYYY')-1 ELSE TO_CHAR(sysdate,'YYYY')-0 END -- key 641 is compliance voorgaand jaar
|
||
jaar_compliance,
|
||
cd.ins_discipline_omschrijving,
|
||
CASE
|
||
WHEN cdp.ctr_disc_params_controle_type = 1
|
||
THEN
|
||
lcl.l ('lcl_ins_srtcontrole_insp')
|
||
WHEN cdp.ctr_disc_params_controle_type = 2
|
||
THEN
|
||
lcl.l ('lcl_ins_srtcontrole_repl')
|
||
WHEN cdp.ctr_disc_params_controle_type = 3
|
||
THEN
|
||
lcl.l ('lcl_ins_srtcontrole_cert')
|
||
END
|
||
taaksoort,
|
||
t.ins_srtcontrole_key,
|
||
sc.ins_srtcontrole_info,
|
||
NULL
|
||
deelsrtcontrole_key,
|
||
NULL
|
||
status,
|
||
d.ins_deel_key,
|
||
l.alg_locatie_plaats || ' ' || l.alg_locatie_adres,
|
||
r.alg_regio_omschrijving,
|
||
di.alg_district_omschrijving,
|
||
l.alg_locatie_omschrijving,
|
||
l.alg_locatie_code,
|
||
g.alg_gebouw_naam || ' (' || g.alg_gebouw_code || ')'
|
||
alg_gebouw_naam,
|
||
sg.alg_srtgebouw_omschrijving gebouwfunctie,
|
||
TO_CHAR(g.alg_gebouw_vervaldatum,'dd-mm-yyyy'),
|
||
d.ins_deel_opmerking,
|
||
d.ins_deel_omschrijving,
|
||
TO_CHAR(d.ins_deel_vervaldatum, 'dd-mm-yyyy'),
|
||
CASE WHEN d.ins_deel_vervaldatum IS NULL THEN 'actueel'
|
||
WHEN d.ins_deel_vervaldatum IS NOT NULL AND d.ins_deel_vervaldatum <= sysdate THEN 'vervallen'
|
||
WHEN d.ins_deel_vervaldatum IS NOT NULL AND d.ins_deel_vervaldatum > sysdate THEN 'vervallen - toekomst'
|
||
ELSE '<?>'
|
||
END
|
||
object_verval_filter,
|
||
sc.ins_srtcontrole_omschrijving,
|
||
DECODE (
|
||
COALESCE (x.ins_srtcontroledl_xcp_eenheid,
|
||
sc.ins_srtcontrole_eenheid),
|
||
0, 'Uurlijks',
|
||
1, 'Dagelijks',
|
||
2, 'Wekelijks',
|
||
3, 'Maandelijks',
|
||
4, 'Jaarlijks',
|
||
'Onbekend')
|
||
frequentie,
|
||
COALESCE (x.ins_srtcontroledl_xcp_periode,
|
||
sc.ins_srtcontrole_periode)
|
||
periode,
|
||
0 aantal_x_uitgevoerd,
|
||
0 aantal_x_uitgevoerd_c,
|
||
CASE
|
||
WHEN INSTR (LOWER (x.ins_srtcontroledl_xcp_groep), 'nee') > 0
|
||
THEN 'nvt'
|
||
WHEN INSTR (LOWER (COALESCE(x.ins_srtcontroledl_xcp_groep,'leeg')), 'nee') = 0
|
||
AND TRUNC(t.deelsrtcontrole_datum) > TRUNC(SYSDATE) -- taak voor toekomst
|
||
THEN '-0.5'
|
||
ELSE '-1'
|
||
END
|
||
actie,
|
||
x.ins_srtcontroledl_xcp_groep demarcatie,
|
||
NULL
|
||
opmerking_uitvoer,
|
||
x.ins_srtcontroledl_xcp_opmerk
|
||
opmerking_basistaak,
|
||
die.prs_dienst_omschrijving,
|
||
bdl.lev_max
|
||
dienst_lev_bdl,
|
||
bdl.aantal_leveranciers
|
||
dienst_lev_bdl_aantal
|
||
FROM ins_v_deel_gegevens d,
|
||
ins_srtcontrole sc,
|
||
prs_dienst die,
|
||
ins_srtcontroledl_xcp x,
|
||
ins_srtdeel ds,
|
||
ins_srtgroep dg,
|
||
ctr_discipline cd,
|
||
ctr_disc_params cdp,
|
||
( SELECT v.deel_key,
|
||
v.srtcontrole_key
|
||
ins_srtcontrole_key,
|
||
MAX(TO_CHAR (v.deelsrtcontrole_datum, 'YYYY'))
|
||
jaar,
|
||
MAX (v.deelsrtcontrole_datum)
|
||
deelsrtcontrole_datum
|
||
FROM aaxx_v_dwh_inspectie_2 v
|
||
WHERE v.deelsrtcontrole_key IS NULL -- Of wel de basistaak uit deze view
|
||
AND v.taaksoort = 'Certificering'
|
||
AND NOT EXISTS
|
||
(SELECT dc.ins_deelsrtcontrole_key FROM ins_deelsrtcontrole dc
|
||
WHERE dc.ins_deel_key = v.deel_key
|
||
AND dc.ins_srtcontrole_key = v.srtcontrole_key)
|
||
GROUP BY v.deel_key,
|
||
v.srtcontrole_key
|
||
) t,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
alg_regio r,
|
||
alg_srtgebouw sg,
|
||
fac_usrdata ud,
|
||
(
|
||
SELECT d.prs_dienst_key, d.prs_dienst_omschrijving, g.alg_gebouw_key, MAX (b.prs_bedrijf_naam) lev_max, MIN (b.prs_bedrijf_naam) lev_min, count(*) aantal_leveranciers
|
||
FROM prs_bedrijfdienstlocatie bdl,
|
||
prs_dienst d,
|
||
prs_bedrijf b,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE d.prs_dienst_key = bdl.prs_dienst_key
|
||
AND b.prs_bedrijf_key = bdl.prs_bedrijf_key
|
||
AND bdl.alg_gebouw_key IS NOT NULL
|
||
AND bdl.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
GROUP BY d.prs_dienst_omschrijving, d.prs_dienst_key, g.alg_gebouw_key
|
||
) bdl
|
||
WHERE t.deel_key = d.ins_deel_key
|
||
AND d.ins_discipline_key = 361 -- Gebouwobjecten
|
||
AND t.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||
AND sc.prs_dienst_key = die.prs_dienst_key (+)
|
||
AND t.deel_key = x.ins_deel_key
|
||
AND t.ins_srtcontrole_key = x.ins_srtcontrole_key
|
||
AND x.ins_scenario_key = 1
|
||
AND sc.ctr_discipline_key = cd.ins_discipline_key
|
||
AND cdp.ctr_disc_params_controle_type = 3 -- Taaksoort Certificering
|
||
AND cd.ins_discipline_key = cdp.ctr_ins_discipline_key
|
||
AND sc.ins_srtinstallatie_key = ds.ins_srtdeel_key
|
||
AND sc.ins_srtcontrole_niveau = 'S'
|
||
AND ds.ins_srtgroep_key = dg.ins_srtgroep_key
|
||
AND dg.ins_srtgroep_key NOT IN (119) -- Groep 01 Algemeen uitsluiten
|
||
AND d.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.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 g.alg_srtgebouw_key = sg.alg_srtgebouw_key
|
||
AND ud.fac_usrtab_key = 321 AND ud.fac_usrdata_verwijder IS NULL AND ud.fac_usrdata_vervaldatum IS NULL
|
||
AND g.alg_gebouw_key = bdl.alg_gebouw_key (+)
|
||
AND sc.prs_dienst_key = bdl.prs_dienst_key (+)
|
||
;
|
||
|
||
|
||
------ 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
|