Files
Customer/AA/AAGN/aagn.sql
2024-06-13 14:34:42 +00:00

1125 lines
49 KiB
SQL
Raw Blame History

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