NMMS#32004 -- Aanpassingen tbv rapportage en freeze

svn path=/Customer/trunk/; revision=24984
This commit is contained in:
Arthur Egberink
2015-04-24 15:28:36 +00:00
parent cf5f480b16
commit ea5b3dde8c

View File

@@ -184,7 +184,6 @@ END;
-- Selecteer oa. de MIN(begintijd) en MAX(eindtijd) van overlappende meldingen:
-- op dezelfde ruimte voor dezelfde dienst
-- met hetzelfde regime in dezelfde eenheid
/* Formatted on 21-10-2014 16:54:44 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW nmms_v_startmelding_geg
(
m_start,
@@ -206,7 +205,9 @@ CREATE OR REPLACE VIEW nmms_v_startmelding_geg
mld_melding_einddatum_std,
mld_melding_einddatum,
mld_melding_omschrijving,
mld_melding_opmerking
mld_melding_opmerking,
nmm_melding,
prs_bedrijf_key
)
AS
SELECT m.m_start,
@@ -240,7 +241,9 @@ AS
m.mld_melding_einddatum_std, -- min_melding_einddatum_std of min_tht_einddatum_start???
m.mld_melding_einddatum, -- max_melding_einddatum
x.mld_melding_omschrijving, -- mld_melding_oms. van alleen M_START
x.mld_melding_opmerking -- mld_melding_opm. van alleen M_START
x.mld_melding_opmerking, -- mld_melding_opm. van alleen M_START
m.nmm_melding, -- melding gemeld door medewerker NMM
m.prs_bedrijf_key -- bedrijf key van de melder
FROM ( SELECT m.m_start,
SUM (m.OPEN) OPEN,
COUNT (m.mld_melding_key) aantal,
@@ -257,7 +260,9 @@ AS
MAX (m.mld_melding_t_respijt.eenheid) max_respijt_eenheid, -- altijd dezelfde eenheid als uitvoertijd???
MAX (m.mld_melding_indult) mld_melding_indult,
MIN (m.mld_melding_einddatum_std) mld_melding_einddatum_std, -- min_melding_einddatum_std of min_thtsla_einddatum_start???
MAX (m.mld_melding_einddatum) mld_melding_einddatum
MAX (m.mld_melding_einddatum) mld_melding_einddatum,
MAX (m.nmm_melding) nmm_melding,
MAX (m.prs_bedrijf_key) prs_bedrijf_key
FROM (SELECT nmms.get_first_melding (m.mld_melding_key, 1) m_start,
m.mld_melding_key,
DECODE (m.mld_melding_status, 4, 1, 0) open, -- open = Geaccepteerd???
@@ -267,9 +272,13 @@ AS
m.mld_melding_t_respijt,
m.mld_melding_indult,
m.mld_melding_einddatum_std,
m.mld_melding_einddatum
FROM mld_melding m, mld_stdmelding std
m.mld_melding_einddatum,
a.prs_bedrijf_key,
DECODE(a.prs_bedrijf_key, 1542, 1, 0) nmm_melding
FROM mld_melding m, mld_stdmelding std, prs_perslid p, prs_afdeling a
WHERE m.mld_melding_parentkey IS NULL
AND m.prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
-- meldingen die al geexporteerd zijn (en in de tabel nmms_monitoring staan) komen niet meer in deze view
AND NOT EXISTS
(SELECT 1
@@ -325,7 +334,9 @@ CREATE OR REPLACE VIEW nmms_v_monitoring
overlappend,
wegingsfactor,
melding_omschrijving,
melding_opmerking
melding_opmerking,
nmm_melding,
bedrijf_naam
)
AS
SELECT m_start, --mld_melding_key,
@@ -424,7 +435,9 @@ AS
overlappend,
wegingsfactor,
mld_melding_omschrijving,
mld_melding_opmerking
mld_melding_opmerking,
nmm_melding,
(SELECT prs_bedrijf_naam FROM prs_bedrijf b WHERE b.prs_bedrijf_key = g.prs_bedrijf_key) prs_bedrijf_naam
FROM (SELECT m.m_start,
m.aantal,
DECODE (m.aantal, 1, NULL, m.overlappend) overlappend,
@@ -551,7 +564,9 @@ AS
AND sn.fac_srtnotificatie_code = 'MLDUPD'
AND (t.fac_tracking_oms LIKE '%Start :%'
OR t.fac_tracking_oms LIKE '%Afgemeld:%'))
antedateren
antedateren,
nmm_melding,
prs_bedrijf_key
FROM nmms_v_startmelding_geg m,
mld_stdmelding std,
mld_stdmeldinggroep stdg,
@@ -585,6 +600,9 @@ AS
AND m.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
AND m.mld_alg_onroerendgoed_keys = rg.alg_ruimte_key(+)
AND rg.alg_srtruimte_key = sr.alg_srtruimte_key(+)
AND (q.vervolg IS NOT NULL OR UPPER (SUBSTR (stdg.mld_stdmeldinggroep_naam, 1, 1)) = 'Q' OR nmm_melding = 1)
-- storingen op vervolgmeldingen en inspecties (Q) worden altijd getoond
-- anders alleen storingen ingelegd door NMM medewerkers
AND m.m_start = q.mld_melding_key(+)
AND m.m_start = obj.mld_melding_key(+) -- mld_melding_key VAN MELDING MET LAAGSTE KEY???
AND obj.ins_deel_key = d.ins_deel_key(+)) g;
@@ -625,7 +643,11 @@ CREATE OR REPLACE VIEW nmms_v_rap_monitoring
fclt_f_dienst,
hide_f_stdmelding_key,
wegingsfactor,
totaal,
overlappend,
te_laat,
nmm,
bedrijf,
hide_f_melding_omschrijving,
hide_f_melding_opmerking
)
@@ -667,7 +689,11 @@ AS
dienst,
stdmelding_key,
wegingsfactor,
(COALESCE(kb,0) + COALESCE(kp,0)) * COALESCE(wegingsfactor,1) totaal,
overlappend,
DECODE(SIGN(thtijdstip - COALESCE(gereed,SYSDATE)), -1, 'x', '') te_laat,
DECODE(nmm_melding, 1, 'x', ''),
bedrijf_naam,
melding_omschrijving,
melding_opmerking
FROM nmms_v_monitoring;
@@ -1110,7 +1136,87 @@ AS
wegingsfactor,
totaal
FROM nmms_v_monitoring_tot;
-- rapport om historische informatie te tonen
CREATE OR REPLACE VIEW nmms_v_monitoring_history
(
fclt_d_datum,
html_melding,
hide_f_melding_key,
fclt_f_afw,
q_vervolg,
indult,
respijt,
ruimte,
object,
thema,
omschrijving,
begin,
gereed,
thtijdstip,
eenheid,
tht,
wht,
regime,
groep,
typekorting,
basiskorting,
variabelekorting,
uren,
kb,
prestatiekorting,
factor,
kp,
fclt_f_dienst,
hide_f_stdmelding_key,
wegingsfactor,
overlappend,
hide_f_melding_omschrijving,
hide_f_melding_opmerking
)
AS
SELECT TO_CHAR (begin, 'dd-mm-yyyy') begin,
'<a class="details" onclick=''FcltMgr.openDetail("appl/mld/mld_melding.asp?urole=bo&'
|| 'mld_key='
|| melding_key
|| '")''>'
|| melding_key
|| '</a>'
melding,
melding_key,
afw,
q_vervolg,
indult,
respijt,
ruimte,
object,
thema,
omschrijving,
TO_CHAR (begin, 'dd-mm-yyyy hh24:mi:ss') begin,
TO_CHAR (gereed, 'dd-mm-yyyy hh24:mi:ss') gereed,
TO_CHAR (thtijdstip, 'dd-mm-yyyy hh24:mi:ss') thtijdstip,
eenheid,
tht,
wht,
regime,
groep,
typekorting,
basiskorting,
variabelekorting,
uren,
kb,
prestatiekorting,
factor,
kp,
dienst,
stdmelding_key,
wegingsfactor,
overlappend,
mld_melding_omschrijving,
mld_melding_opmerking
FROM nmms_monitoring mo, mld_melding m
WHERE mo.melding_key = m.mld_melding_key AND begin IS NOT NULL;
CREATE OR REPLACE VIEW nmms_v_dwh_monitoring
(
melding_key,
@@ -1244,123 +1350,127 @@ AS
IS
SELECT * FROM nmms_v_monitoring_tot;
BEGIN
-- Zet de meldingen die geen afwijking kennen en die niet op status afgerond staan naar status verwerkt
FOR rec IN c1
LOOP
BEGIN
-- Gaan we vandaag de freeze starten? Dit mag alleen op de derde werkdag van de maand om 17:00 uur.
IF fac.count_Work_Days(trunc(sysdate, 'MON'), sysdate) = 2
THEN
-- Zet de meldingen die geen afwijking kennen en die niet op status afgerond staan naar status verwerkt
FOR rec IN c1
LOOP
BEGIN
mld.setmeldingstatus (rec.melding_key, 6, 4);
END;
END;
END LOOP;
-- zet slave meldingen van samenvallende meldingen ook op verwerkt
FOR rec IN c2
LOOP
BEGIN
IF rec.mld_melding_status = 6 OR rec.mld_melding_status = 5 -- verwerkt of afgemeld
THEN
BEGIN
mld.setmeldingstatus (rec.mld_melding_key, 6, 4);
mld.setmeldingstatus (rec.melding_key, 6, 4);
END;
END IF;
END;
END LOOP;
-- Voeg de entries uit het monitoringsoverzicht toe aan de freeze tabel.
FOR rec IN c3
LOOP
BEGIN
BEGIN
INSERT INTO nmms_monitoring (melding_key,
afw,
q_vervolg,
indult,
respijt,
ruimte,
object,
thema,
omschrijving,
begin,
gereed,
thtijdstip,
verwerkt,
eenheid,
tht,
wht,
regime,
groep,
typekorting,
basiskorting,
variabelekorting,
uren,
kb,
prestatiekorting,
factor,
kp,
herhalingskorting,
aantal,
kh,
wegingsfactor,
dienst,
stdmelding_key,
totaal,
overlappend,
kinderen,
export_datum)
VALUES (rec.melding_key,
rec.afw,
rec.q_vervolg,
rec.indult,
rec.respijt,
rec.ruimte,
rec.object,
rec.thema,
rec.omschrijving,
rec.begin,
rec.gereed,
rec.thtijdstip,
rec.verwerkt,
rec.eenheid,
rec.tht,
rec.wht,
rec.regime,
rec.groep,
rec.typekorting,
rec.basiskorting,
rec.variabelekorting,
rec.uren,
rec.kb,
rec.prestatiekorting,
rec.factor,
rec.kp,
rec.herhalingskorting,
rec.aantal,
rec.kh,
rec.wegingsfactor,
rec.dienst,
rec.stdmelding_key,
DECODE (rec.indult, 'Ja', 0, rec.totaal),
rec.overlappend,
rec.kinderen,
SYSDATE);
END;
END;
END LOOP;
INSERT INTO nmms_monitoring (melding_key, export_datum)
SELECT mld_melding_key, SYSDATE
FROM mld_melding m
WHERE m.mld_melding_status = 6 -- Historie
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) <
TRUNC (SYSDATE, 'MONTH')
AND m.mld_melding_key NOT IN (SELECT nm.melding_key
FROM nmms_monitoring nm
WHERE nm.melding_key IS NOT NULL);
COMMIT;
END LOOP;
-- zet slave meldingen van samenvallende meldingen ook op verwerkt
FOR rec IN c2
LOOP
BEGIN
IF rec.mld_melding_status = 6 OR rec.mld_melding_status = 5 -- verwerkt of afgemeld
THEN
BEGIN
mld.setmeldingstatus (rec.mld_melding_key, 6, 4);
END;
END IF;
END;
END LOOP;
-- Voeg de entries uit het monitoringsoverzicht toe aan de freeze tabel.
FOR rec IN c3
LOOP
BEGIN
BEGIN
INSERT INTO nmms_monitoring (melding_key,
afw,
q_vervolg,
indult,
respijt,
ruimte,
object,
thema,
omschrijving,
begin,
gereed,
thtijdstip,
verwerkt,
eenheid,
tht,
wht,
regime,
groep,
typekorting,
basiskorting,
variabelekorting,
uren,
kb,
prestatiekorting,
factor,
kp,
herhalingskorting,
aantal,
kh,
wegingsfactor,
dienst,
stdmelding_key,
totaal,
overlappend,
kinderen,
export_datum)
VALUES (rec.melding_key,
rec.afw,
rec.q_vervolg,
rec.indult,
rec.respijt,
rec.ruimte,
rec.object,
rec.thema,
rec.omschrijving,
rec.begin,
rec.gereed,
rec.thtijdstip,
rec.verwerkt,
rec.eenheid,
rec.tht,
rec.wht,
rec.regime,
rec.groep,
rec.typekorting,
rec.basiskorting,
rec.variabelekorting,
rec.uren,
rec.kb,
rec.prestatiekorting,
rec.factor,
rec.kp,
rec.herhalingskorting,
rec.aantal,
rec.kh,
rec.wegingsfactor,
rec.dienst,
rec.stdmelding_key,
DECODE (rec.indult, 'Ja', 0, rec.totaal),
rec.overlappend,
rec.kinderen,
SYSDATE);
END;
END;
END LOOP;
INSERT INTO nmms_monitoring (melding_key, export_datum)
SELECT mld_melding_key, SYSDATE
FROM mld_melding m
WHERE m.mld_melding_status = 6 -- Historie
AND fac.gettrackingdate ('MLDAFM', m.mld_melding_key) <
TRUNC (SYSDATE, 'MONTH')
AND m.mld_melding_key NOT IN (SELECT nm.melding_key
FROM nmms_monitoring nm
WHERE nm.melding_key IS NOT NULL);
COMMIT;
END IF;
END nmms_export_freeze_monitoring;
/
@@ -1601,7 +1711,7 @@ GRANT SELECT ON nmms_v_dwh_opdr_materiaal TO aafm;
BEGIN adm.systrackscriptId('$Id$', 0); END;
/
BEGIN fac.registercustversion('NMMS', 4); END;
BEGIN fac.registercustversion('NMMS', 5); END;
/
COMMIT;
spool off