ARAI#56657 -- Fix mailkoppeling ter voorbereiding rigging meldingen

ARAI#60106 -- API keys in mail2melding weggepoetst
ARAI#58775 -- Views ter voorbereiding livegang Postshow
ARAI#59738 -- Rapport voor uitdraaien tracking t.b.v. Disco
ARAI#59522 -- Views voor compliance dashboard

svn path=/Customer/trunk/; revision=45216
This commit is contained in:
Robin Stoker
2019-12-12 13:26:56 +00:00
parent 351c9ad835
commit 72ceb47b98

View File

@@ -8855,41 +8855,32 @@ BEGIN
-- De melding zetten we op de system-api user voor hotelremarks, waarvan de api-key bekend is.
-- Vanaf release 2015.2 (FSN#33503) wordt deze api-user netjes als parameter puserkey meegegeven.
IF pemailkey IS NOT NULL
CASE pto
WHEN 'hotelremarks@arai.facilitor.nl'
THEN
-- Vanaf release 2015.2
SELECT prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_perslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND prs_perslid_key = pemailkey;
ELSE
IF pto = 'gielissen@arai.facilitor.nl'
THEN
SELECT prs_perslid_key, d.prs_kostenplaats_key
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_perslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND prs_perslid_apikey = 'hKkBBqPfzvKMupzSXZwblvsmTPHXMT';
-- ELSE
-- IF pto = 'beoordelenriggingplan@arai.facilitor.nl'
-- THEN
-- SELECT prs_perslid_key, d.prs_kostenplaats_key
-- INTO sender, kostenplaats
-- FROM prs_perslid p, prs_afdeling d
-- WHERE p.prs_afdeling_key = d.prs_afdeling_key
-- AND prs_perslid_apikey = 'ciyRGcuqAgWkymQkVecNHYGsQOxKrE';
ELSE
-- Tot release 2015.2
SELECT prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_perslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND prs_perslid_apikey =
'IwIyYfSxveyBfiVicoHDgDpLSzuBboXs';
END IF;
END IF;
-- END IF;
AND p.prs_perslid_key = 5321;
WHEN 'gielissen@arai.facilitor.nl'
THEN
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_perslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND p.prs_perslid_key = 13301;
WHEN 'beoordelenriggingplan@arai.facilitor.nl'
THEN
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_perslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND p.prs_perslid_key = 13501;
END CASE;
CASE pto
WHEN 'hotelremarks@arai.facilitor.nl'
@@ -8922,12 +8913,12 @@ BEGIN
v_mailadres_kenmerk_key := 46;
END CASE;
END CASE;
-- WHEN 'beoordelenriggingplan@arai.facilitor.nl '
-- THEN
-- defaultstdmelding := 4141;
-- v_mailadres_kenmerk_key := 3321;
WHEN 'beoordelenriggingplan@arai.facilitor.nl '
THEN
defaultstdmelding := 4141;
v_mailadres_kenmerk_key := 3321;
--ELSE
-- Standaard /default waarden, nu nog n.v.t., er is 1 concrete mailadres en we hebben (nog) geen vangnet voor de rest...
--defaultstdmelding := fac.getsetting ('defaultstdmelding');
END CASE;
@@ -9029,26 +9020,11 @@ BEGIN
IF 1=0 -- ARAI heeft geen melding valggetjes, dus onderstaande kan voor nu weg.
THEN
BEGIN
IF fac.getdbversion() >= 'DB36' -- DB36 forward compatible
IF fac.getsetting('mld_melding_actiecode') = 1
THEN
IF fac.getsetting('mld_melding_actiecode') = 1
THEN
UPDATE mld_melding
SET mld_melding_actiecode = 1+128 -- Backoffice + Attentie
WHERE mld_melding_key = v_mldkey;
END IF;
ELSE
v_flag_on_fenote := fac.getsetting('mld_flag_on_fenote');
v_flag_on_bonote := fac.getsetting('mld_flag_on_bonote');
IF v_flag_on_bonote <> 0 AND v_flag_on_bonote IS NOT NULL
THEN
UPDATE mld_melding
SET mld_melding_flag = v_flag_on_bonote
WHERE mld_melding_key = v_mldkey
AND ( (mld_melding_flag = v_flag_on_fenote)
OR (mld_melding_flag = 0 OR mld_melding_flag IS NULL));
END IF;
UPDATE mld_melding
SET mld_melding_actiecode = 1+128 -- Backoffice + Attentie
WHERE mld_melding_key = v_mldkey;
END IF;
EXCEPTION
WHEN OTHERS
@@ -11127,7 +11103,7 @@ SELECT DISTINCT
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND m.prs_perslid_key = p.prs_perslid_key
AND std.mld_ins_discipline_key = 1541;
-- Nu ook met extra meldingen die niet om dagrap gaan
CREATE OR REPLACE VIEW arai_v_rap_postshow
@@ -11201,6 +11177,162 @@ SELECT DISTINCT
AND m.prs_perslid_key = p.prs_perslid_key
AND std.mld_ins_discipline_key IN (1541, 1781);
-- Specifiek rapport voor knelpunt kenmerken / Deze zijn nog niet allemaal aanwezig op prod!
CREATE OR REPLACE VIEW arai_v_rap_postshow_knelpnt
(
melding_key,
afdeling,
teammanager,
manager,
evenement,
meldingdatum,
kenmerkvolgnr,
kenmerkoms,
kenmerkwaarde
)
AS
SELECT DISTINCT
m.mld_melding_key,
std.mld_stdmelding_omschrijving,
(SELECT fac_usrdata_omschr
FROM fac_usrdata
WHERE fac_usrdata_key =
(SELECT MAX (mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 1362)),
(SELECT fac_usrdata_omschr
FROM fac_usrdata
WHERE fac_usrdata_key =
(SELECT MAX (mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 1361)),
(SELECT evenement
FROM arai_v_events
WHERE arai_events_key =
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km, mld_kenmerk k
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND k.mld_srtkenmerk_key = 283)),
m.mld_melding_datum,
mk.mld_kenmerk_volgnummer,
msk.mld_srtkenmerk_omschrijving,
SUBSTR (p.prs_perslid_voornaam, 1, 1)
|| SUBSTR (p.prs_perslid_naam, 1, 1)
|| ': '
|| ARAI.get_flex_value ('MLD',
mk.mld_kenmerk_key,
m.mld_melding_key,
msk.fac_kenmerkdomein_key,
'm')
FROM mld_srtkenmerk msk,
mld_kenmerk mk,
mld_kenmerkmelding km,
mld_melding m,
mld_stdmelding std,
prs_perslid p
WHERE msk.mld_srtkenmerk_key = mk.mld_srtkenmerk_key
AND msk.mld_srtkenmerk_key IN (961, -- knelpunt evemenent
1321, -- knelpunten beleid
1323 -- knelpunten werkafspraken
)
AND km.mld_kenmerk_key = mk.mld_kenmerk_key
AND km.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND m.prs_perslid_key = p.prs_perslid_key
AND std.mld_ins_discipline_key IN (1541, 1781);
CREATE OR REPLACE VIEW arai_v_rap_postshow_report
(
evenement,
meldingdatum,
weeknummer,
kenmerkoms,
event_managenent,
facilities_warehouse,
traffic_management,
safety_security,
food_beverage,
ict,
account_management,
exhibitor_services,
event_operations,
planning_management,
product_manager_es,
support_center,
hide_f_sort
)
AS
SELECT x.*, y.kenmerkvolgnr
FROM ( SELECT afdeling,
evenement,
TRUNC (meldingdatum),
TO_CHAR (meldingdatum, 'YYYY-IW') week,
kenmerkoms,
LISTAGG (kenmerkwaarde, ', ')
WITHIN GROUP (ORDER BY meldingdatum)
kenmerkwaarde
FROM arai_v_rap_postshow_knelpnt b
GROUP BY afdeling, evenement, kenmerkoms, meldingdatum) PIVOT (MIN(kenmerkwaarde)
FOR afdeling
IN ('Event Management',
'Facilities/Warehouse',
'Traffic Management',
'Safety & Security',
'Food & Beverage',
'ICT',
'Account Management',
'Exhibitor Services',
'Event Operations',
'Planning Management',
'Product manager ES',
'Support Center' )) x
LEFT JOIN
( SELECT MIN (kenmerkvolgnr) kenmerkvolgnr, kenmerkoms
FROM arai_v_rap_postshow_knelpnt
GROUP BY kenmerkoms) y
ON x.kenmerkoms = y.kenmerkoms
ORDER BY x.evenement;
-- Postshow klaar voor styling
CREATE OR REPLACE VIEW arai_v_rap_postshow_style
(
afdeling,
evenement,
kenmerkoms,
kenmerkwaarde
)
AS
SELECT x.*
FROM ( SELECT afdeling,
evenement,
kenmerkoms,
LISTAGG (kenmerkwaarde, ', ')
WITHIN GROUP (ORDER BY meldingdatum)
kenmerkwaarde
FROM arai_v_rap_postshow_knelpnt b
GROUP BY afdeling, evenement, kenmerkoms
ORDER BY DECODE (afdeling,
'Event Management', 1,
'Facilities/Warehouse', 2,
'Traffic Management', 3,
'Safety & Security', 4,
'Food & Beverage', 5,
'ICT', 6,
'Account Management', 7,
'Exhibitor Services', 8,
'Event Operations', 9,
'Planning Management', 10,
'Product manager ES', 11,
'Support Center', 12,
13)) x,
DUAL;
-- Deze dagrap_report is voor gebruik als rapportage in Facilitor, hier kan ook historie in bekeken worden.
CREATE OR REPLACE VIEW arai_v_rap_dagrap_report
(
@@ -12168,7 +12300,7 @@ AS
FROM fac_v_lcrap_fe_vs_key_data f, prs_perslid p
WHERE f.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_verwijder IS NULL;
-- Notificatie wanneer iemand nog opdrachten open heeft staan
CREATE OR REPLACE VIEW ARAI_V_NOTI_OPENOPDR
(
@@ -12228,6 +12360,549 @@ AS
AND mo.mld_statusopdr_key IN (5, 8, 10)
AND mo.mld_opdr_einddatum > SYSDATE - 14
AND mo.mld_opdr_einddatum < SYSDATE;
-- Compliance periodieke taken, WIP (orgineel in NOUR)
CREATE OR REPLACE VIEW ARAI_V_RAP_TAKEN
(
ins_deel_key,
plaatsaanduiding,
gebouwnaam,
verdieping,
ruimtenummer,
object,
opmerking,
inspectie,
laatste_inspectiedatum,
result_laatste_inspectie,
ins_deelsrtcontrole_datum,
perslid,
deelsrtcontrole_status
)
AS
SELECT cl.ins_deel_key,
cl.alg_plaatsaanduiding,
cl.alg_gebouw_naam,
cl.alg_verdieping_code,
cl.alg_ruimte_nr,
cl.ins_deel_omschrijving,
cl.ins_deel_opmerking,
cl.ins_srtcontrole_omschrijving,
last_insp.ins_deelsrtcontrole_datum laatste_insp,
insp_result.ins_controlemode_oms result_laatste_insp,
cl.ins_deelsrtcontrole_datum,
cl.perslid,
cl.deelsrtcontrole_status
FROM (SELECT lod.ins_deel_key,
og.alg_plaatsaanduiding,
og.alg_gebouw_naam,
og.alg_verdieping_code,
og.alg_ruimte_nr,
ins_deel_omschrijving,
ins_deel_opmerking,
isrt.ins_srtcontrole_omschrijving,
dc.ins_deelsrtcontrole_datum,
(SELECT icm.ins_controlemode_oms
FROM ins_controlemode icm
WHERE icm.ins_controlemode_key = dc.ins_controlemode_key)
controlemode_omschrijving,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = dc.prs_perslid_key)
perslid,
(SELECT lcl.x ('fc2l.fac_code2label_label',
fc2l.fac_code2label_key,
fc2l.fac_code2label_label)
FROM fac_code2label fc2l
WHERE fc2l.fac_code2label_domein = 'controle'
AND fc2l.fac_code2label_code =
dc.ins_deelsrtcontrole_status)
deelsrtcontrole_status
FROM ins_deel lod,
ins_deelsrtcontrole dc,
ins_srtcontrole isrt,
alg_v_allonrgoed_gegevens og
WHERE ins_deel_verwijder IS NULL
AND ins_deel_actief = 1
AND dc.ins_deel_key = lod.ins_deel_key
AND lod.ins_alg_ruimte_key = og.alg_ruimte_key
AND dc.ins_srtcontrole_key = isrt.ins_srtcontrole_key
UNION ALL
SELECT d.ins_deel_key,
d.alg_plaatsaanduiding,
d.alg_gebouw_naam,
d.alg_verdieping_code,
d.alg_ruimte_nr,
d.ins_deel_omschrijving,
d.ins_deel_opmerking,
d.ins_srtdeel_omschrijving,
fac.nextcyclusdatedeel (d.ins_deel_key,
d.ins_srtcontrole_key,
1),
'' AS ctrmode,
prs_perslid_naam_full,
'' AS status
FROM (SELECT sc.ins_srtcontrole_key,
d.ins_deel_key,
d.ins_deel_omschrijving,
d.ins_deel_opmerking,
sc.ins_srtcontrole_periode,
sd.ins_srtdeel_omschrijving,
pfa.prs_perslid_key,
pfa.prs_perslid_naam_full,
og.alg_plaatsaanduiding,
og.alg_gebouw_naam,
og.alg_verdieping_code,
og.alg_ruimte_nr
FROM ins_srtcontrole sc,
ins_discipline di,
ins_v_aanwezigsrtgroep sg,
ins_v_aanwezigsrtdeel sd,
ins_v_aanwezigdeel d,
alg_v_allonrgoed_gegevens og,
prs_perslid p,
prs_v_perslid_fullnames_all pfa
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
AND di.ins_discipline_key =
sg.ins_discipline_key
AND p.prs_perslid_key = d.prs_perslid_key_beh
AND d.ins_alg_ruimte_key = og.alg_ruimte_key
AND pfa.prs_perslid_key = d.prs_perslid_key_beh)
d
LEFT OUTER JOIN
ins_srtcontroledl_xcp xcp
ON xcp.ins_deel_key = d.ins_deel_key
AND xcp.ins_srtcontrole_key = d.ins_srtcontrole_key
WHERE d.ins_deel_key NOT IN --- als een inspectie al is ingepland weegt dat zwaarder dan de oorspronkelijke datum, object komt op de lijst als plandatum komende maand is
(SELECT ins_deel_key
FROM ins_v_udr_deelinspect ins, ins_deel lod
WHERE ins_deelsrtcontrole_plandatum IS NOT NULL
AND ins_deelsrtcontrole_datum IS NULL
AND lod.ins_deel_key = ins.deel_key
AND lod.ins_deel_verwijder IS NULL)
UNION ALL
SELECT lod.ins_deel_key,
og.alg_plaatsaanduiding,
og.alg_gebouw_naam,
og.alg_verdieping_code,
og.alg_ruimte_nr,
lod.ins_deel_omschrijving,
lod.ins_deel_opmerking,
ins.soort,
ins_deelsrtcontrole_plandatum,
'' ctrmode,
perslid,
deelsrtcontrole_status
FROM ins_v_udr_deelinspect ins,
ins_deel lod,
alg_v_allonrgoed_gegevens og
WHERE ins_deelsrtcontrole_plandatum IS NOT NULL
AND ins_deelsrtcontrole_datum IS NULL
AND lod.ins_alg_ruimte_key = og.alg_ruimte_key
AND lod.ins_deel_key = ins.deel_key
AND lod.ins_deel_verwijder IS NULL
AND actief = 'ja'
AND ins_deelsrtcontrole_plandatum >= SYSDATE) cl,
( SELECT MAX (sc.ins_deelsrtcontrole_datum)
ins_deelsrtcontrole_datum,
sc.ins_deel_key,
MAX (sc.ins_deelsrtcontrole_key) ins_deelsrtcontrole_key
FROM ins_deelsrtcontrole sc
GROUP BY sc.ins_deel_key) last_insp,
(SELECT sc.ins_deelsrtcontrole_key, cm.ins_controlemode_oms
FROM ins_deelsrtcontrole sc, ins_controlemode cm
WHERE sc.ins_controlemode_key = cm.ins_controlemode_key)
insp_result
WHERE cl.ins_deel_key = last_insp.ins_deel_key(+)
AND last_insp.ins_deelsrtcontrole_key =
insp_result.ins_deelsrtcontrole_key;
CREATE OR REPLACE VIEW arai_v_rap_disco
(
mld_melding_key,
meldingnummer,
extern_nr,
meldbron,
mld_melding_start_key,
alg_district_omschrijving,
locatie,
locatie_omschrijving,
alg_locatie_key,
onrgoed_key,
gebouw,
gebouw_naam,
gebouw_key,
verdieping,
verdieping_key,
ruimtenr,
ruimte_omschrijving,
ruimte_key,
melding_ordernr,
kostensoortgroep,
kostensoort,
kostenplaats,
kostenplaats_oms,
melder,
prs_perslid_key,
afdeling,
afdeling_omschrijving,
prs_bedrijf_key,
invoerder,
invoerder_key,
behandelaar,
behandelaar_key,
soortmelding,
ins_discipline_key,
ins_srtdiscipline_prefix,
productgroep,
subproductgroep,
subproductgroepgroep,
status,
plan_uitvoertijd,
datum,
datumfilter,
plan_einddatum,
prioriteit,
ingezien,
geaccepteerd,
afgemeld,
verwerkt,
acceptoptijd,
uitvoeringoptijd_sla,
uitvoeringoptijd_afspraak,
onderwerp,
omschrijving,
opmerking,
mld_melding_parentkey,
tevredenheid,
tevredenheid_opm,
object_omschrijving,
geplande_actie,
opdracht_key,
opdracht_volgnummer,
opdracht_type,
opdracht_status,
opdracht_datum,
opdracht_einddatum,
opdracht_plandatum,
opdracht_verzonden,
opdracht_geaccepteerd,
opdracht_afgemeld,
opdracht_verwerkt,
opdracht_omschrijving,
opdracht_opmerking,
opdracht_uitvoerende,
opdracht_contract,
opdracht_behandelaar,
opdracht_behandelaar_key,
opdracht_uren,
opdracht_uren_besteed,
opdracht_correctie,
opdracht_materiaal,
opdracht_uurtarief,
opdracht_kosten,
opdracht_kostenplaats,
opdracht_kostenplaats_oms
)
AS
SELECT m.mld_melding_key,
TO_CHAR (m.mld_melding_key) meldingnummer,
m.mld_melding_externnr,
mld_meldbron_omschrijving meldbron,
m.mld_melding_start_key,
alg_district_omschrijving,
alg_locatie_code locatie,
alg_locatie_omschrijving locatie_omschrijving,
l.alg_locatie_key,
m.mld_alg_onroerendgoed_keys,
og.alg_gebouw_code gebouw,
og.alg_gebouw_naam gebouw_naam,
og.alg_gebouw_key,
og.alg_verdieping_code verdieping,
og.alg_verdieping_key,
og.alg_ruimte_nr ruimte,
og.alg_ruimte_omschrijving ruimte_omschrijving,
og.alg_ruimte_key,
m.mld_melding_ordernr melding_ordernr,
(SELECT ksg.prs_kostensoortgrp_oms
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
WHERE ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key
AND ks.prs_kostensoort_key =
(SELECT COALESCE (sm.prs_kostensoort_key,
disc.prs_kostensoort_key)
FROM mld_stdmelding sm, mld_discipline disc
WHERE sm.mld_ins_discipline_key =
disc.ins_discipline_key
AND sm.mld_stdmelding_key =
s.mld_stdmelding_key))
kostensoortgroep,
(SELECT ks.prs_kostensoort_oms
FROM prs_kostensoort ks
WHERE ks.prs_kostensoort_key =
(SELECT COALESCE (sm.prs_kostensoort_key,
disc.prs_kostensoort_key)
FROM mld_stdmelding sm, mld_discipline disc
WHERE sm.mld_ins_discipline_key =
disc.ins_discipline_key
AND sm.mld_stdmelding_key =
s.mld_stdmelding_key))
kostensoort,
(SELECT k.prs_kostenplaats_nr
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key)
kostenplaats,
(SELECT k.prs_kostenplaats_omschrijving
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = m.prs_kostenplaats_key)
kostenplaats_oms,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = m.prs_perslid_key)
melder,
m.prs_perslid_key,
(SELECT prs_afdeling_naam
FROM prs_afdeling afd, prs_perslid pp
WHERE afd.prs_afdeling_key = pp.prs_afdeling_key
AND pp.prs_perslid_key = m.prs_perslid_key)
afdeling,
(SELECT prs_afdeling_omschrijving
FROM prs_afdeling afd, prs_perslid pp
WHERE afd.prs_afdeling_key = pp.prs_afdeling_key
AND pp.prs_perslid_key = m.prs_perslid_key)
afdeling_omschrijving,
(SELECT prs_bedrijf_key
FROM prs_v_afdeling pva, prs_perslid pp
WHERE pva.prs_afdeling_key = pp.prs_afdeling_key
AND pp.prs_perslid_key = m.prs_perslid_key)
prs_bedrijf_key,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key =
mld.getmeldinguser (m.mld_melding_key))
invoerder,
fac.gettrackinguserkey ('MLDNEW', m.mld_melding_key),
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all
WHERE prs_perslid_key = m.mld_melding_behandelaar_key),
m.mld_melding_behandelaar_key,
sd.ins_srtdiscipline_omschrijving soortmelding,
md.ins_discipline_key ins_discipline_key,
ins_srtdiscipline_prefix ins_srtdiscipline_prefix,
md.ins_discipline_omschrijving productgroep,
s.mld_stdmelding_omschrijving subproductgroep,
(SELECT smg.mld_stdmeldinggroep_naam
FROM mld_stdmeldinggroep smg
WHERE smg.mld_stdmeldinggroep_key = s.mld_stdmeldinggroep_key)
subproductgroepgroep,
(SELECT DECODE (
COALESCE (par.mld_melding_status,
m.mld_melding_status),
4,
DECODE (o.mld_opdr_key,
NULL, mld_statuses_omschrijving,
'Niet opgelost'),
mld_statuses_omschrijving
)
FROM mld_statuses sta
WHERE sta.mld_statuses_key =
COALESCE (par.mld_melding_status,
m.mld_melding_status))
status,
COALESCE (
par.plan_uitvoertijd,
DECODE (m.mld_melding_t_uitvoertijd.eenheid,
'U', TO_NUMBER (NULL),
m.mld_melding_t_uitvoertijd.tijdsduur)
)
plan_uitvoertijd, -- Altijd in dagen; anders NULL!
COALESCE (par.mld_melding_datum, m.mld_melding_datum) datum,
m.mld_melding_datum datumfilter,
COALESCE (par.mld_melding_einddatum, m.mld_melding_einddatum)
plan_einddatum,
DECODE(mld_melding_spoed, 1, 'Kritiek', 2, 'Hoog', 3, 'Normaal', 4, 'Laag', 'Onbekend') prioritieit,
mld.getmeldingstatusdate (m.mld_melding_key, 3) ingezien,
mld.getmeldingstatusdate (m.mld_melding_key, 4) geaccepteerd,
COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5),
mld.getmeldingstatusdate (m.mld_melding_key, 1))
afgemeld,
fac.gettrackingdate ('MLDVER', m.mld_melding_key) verwerkt,
CASE
WHEN mld_melding_acceptdatum_std <
COALESCE (
fac.gettrackingdate ('MLDREJ', m.mld_melding_key),
COALESCE (
fac.gettrackingdate ('MLDACP',
m.mld_melding_key),
SYSDATE
)
)
THEN
0
ELSE
1
END
acceptoptijd,
CASE
WHEN s.mld_stdmelding_slabewaken = 0
OR m.mld_melding_indult = 1
THEN
NULL
WHEN fac.gettrackingdate ('MLDREJ', m.mld_melding_key) IS NOT NULL
THEN
1
ELSE
CASE
-- vooralsnog WHEN mld.getactualuitvoer(m.mld_melding_key).tijdsduur <
-- te traag m.mld_melding_t_uitvoertijd.tijdsduur + m.mld_melding_t_respijt.tijdsduur
WHEN m.mld_melding_einddatum_std >
COALESCE (
fac.gettrackingdate ('MLDAFM',
m.mld_melding_key),
SYSDATE
)
THEN
1
ELSE
0
END
END
uitvoeringoptijd_sla,
CASE
WHEN fac.gettrackingdate ('MLDREJ', m.mld_melding_key) IS NOT NULL
THEN
1
ELSE
CASE
WHEN m.mld_melding_einddatum >
COALESCE (
fac.gettrackingdate ('MLDAFM',
m.mld_melding_key),
SYSDATE
)
THEN
1
ELSE
0
END
END
uitvoeringoptijd_afspraak,
m.mld_melding_onderwerp,
m.mld_melding_omschrijving omschrijving,
m.mld_melding_opmerking opmerking,
m.mld_melding_parentkey,
m.mld_melding_satisfaction,
m.mld_melding_satisfaction_op,
(SELECT MAX (ins_deel_omschrijving)
FROM ins_deel id, mld_melding_object mo
WHERE mo.mld_melding_key = m.mld_melding_key
AND mo.ins_deel_key = id.ins_deel_key)
object_omschrijving,
DECODE (
INSTR (mld_melding_opmerking, 'Automatisch gegenereerd door'),
1,
'yes',
'no')
geplande_actie,
o.mld_opdr_key,
o.mld_opdr_bedrijfopdr_volgnr opdracht_volgnummer,
(SELECT mld_typeopdr_omschrijving
FROM mld_typeopdr t
WHERE o.mld_typeopdr_key = t.mld_typeopdr_key)
opdracht_type,
(SELECT REPLACE (mld_statusopdr_omschrijving,
'Uitgegeven',
'Toegekend')
mld_statusopdr_omschrijving
FROM mld_statusopdr sta
WHERE sta.mld_statusopdr_key = o.mld_statusopdr_key)
opdracht_status,
o.mld_opdr_datumbegin opdracht_datum,
o.mld_opdr_einddatum opdracht_einddatum,
o.mld_opdr_plandatum opdracht_plandatum,
o.mld_opdr_verzonden opdracht_verzonden,
fac.gettrackingdate ('ORDACP', o.mld_opdr_key)
opdracht_geaccepteerd,
mld.getopdrachtstatusdate (o.mld_opdr_key, 6) opdracht_afgemeld,
fac.gettrackingdate ('ORDVER', mld_opdr_key) opdracht_verwerkt,
o.mld_opdr_omschrijving opdracht_omschrijving,
o.mld_opdr_opmerking opdracht_opmerking,
(SELECT naam
FROM mld_v_uitvoerende u
WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys)
opdracht_uitvoerende,
NULL opdracht_contract,
(SELECT prs_perslid_naam_full
FROM prs_v_perslid_fullnames_all
WHERE prs_perslid_key = o.prs_perslid_key)
behandelaar,
o.prs_perslid_key opdracht_contactpersoon,
DECODE (mld_statusopdr_key, 1, 0, 2, 0, -- afgewezen, niet akkoord
o.mld_opdr_uren)
opdracht_uren,
(SELECT COUNT (mld_opdr_uren_besteed)
FROM mld_opdr_uren ou
WHERE ou.mld_opdr_key = o.mld_opdr_key
AND mld_opdr_uren_status IN (3, -- goedgekeurd
4) -- verwerkt
)
uren_besteed,
DECODE (
mld_statusopdr_key,
1,
0,
2,
0,
o.mld_opdr_kosten
- o.mld_opdr_materiaal
- (o.mld_opdr_uren * o.mld_opdr_uurloon)
)
opdracht_correctie,
DECODE (mld_statusopdr_key, 1, 0, 2, 0, o.mld_opdr_materiaal)
opdracht_materiaal,
DECODE (mld_statusopdr_key, 1, 0, 2, 0, o.mld_opdr_uurloon)
opdracht_uurtarief,
DECODE (mld_statusopdr_key, 1, 0, 2, 0, o.mld_opdr_kosten)
opdracht_kosten,
(SELECT k.prs_kostenplaats_nr
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key)
opdracht_kostenplaats,
(SELECT k.prs_kostenplaats_omschrijving
FROM prs_kostenplaats k
WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key)
opdracht_kostenplaats_oms
FROM mld_melding m,
mld_meldbron mb,
mld_stdmelding s,
alg_locatie l,
alg_district d,
alg_v_allonrgoed_gegevens og,
mld_discipline md,
ins_srtdiscipline sd,
mld_opdr o,
(SELECT mld_melding_key,
mld_melding_status,
mld_melding_datum,
mld_melding_einddatum,
DECODE (m.mld_melding_t_uitvoertijd.eenheid,
'U', TO_NUMBER (NULL),
m.mld_melding_t_uitvoertijd.tijdsduur)
plan_uitvoertijd
FROM mld_melding m
WHERE mld_melding_key IN
(SELECT mld_melding_parentkey
FROM mld_melding
WHERE mld_melding_parentkey IS NOT NULL)) par
WHERE s.mld_stdmelding_key = m.mld_stdmelding_key
AND m.mld_meldbron_key = mb.mld_meldbron_key
AND m.fac_activiteit_key IS NULL
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
AND md.ins_discipline_key = s.mld_ins_discipline_key
AND l.alg_district_key = d.alg_district_key(+)
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND m.mld_melding_key = o.mld_melding_key(+)
AND m.mld_melding_parentkey = par.mld_melding_key(+);
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- MJOB import