Files
Customer/AA/AAGN/aagn.sql
Jos Migo 858babb897 alg_gebouw_omschrijving vervallen 2023.1
svn path=/Customer/trunk/; revision=58523
2023-01-05 13:28:34 +00:00

755 lines
29 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,
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