PCHW#51361 -- Uitbreiding rapportages PCHW en PCHA
svn path=/Customer/trunk/; revision=36102
This commit is contained in:
@@ -44,46 +44,76 @@ AS
|
||||
p_index IN NUMBER)
|
||||
RETURN NUMBER
|
||||
AS
|
||||
CURSOR c
|
||||
CURSOR ca
|
||||
IS
|
||||
SELECT m2.mld_melding_datum van, m2.mld_melding_key
|
||||
FROM mld_melding m1,
|
||||
mld_stdmelding std1,
|
||||
(select mld_melding_key, mld_kenmerkmelding_waarde from mld_kenmerkmelding
|
||||
where mld_kenmerk_key = 241) km1,
|
||||
mld_melding m2,
|
||||
mld_stdmelding std2
|
||||
mld_stdmelding std2,
|
||||
(select mld_melding_key, mld_kenmerkmelding_waarde from mld_kenmerkmelding
|
||||
where mld_kenmerk_key = 241) km2
|
||||
WHERE m1.mld_melding_key = p_melding_key
|
||||
AND m1.mld_stdmelding_key = std1.mld_stdmelding_key
|
||||
AND m1.mld_melding_key = km1.mld_melding_key(+)
|
||||
AND km1.mld_kenmerkmelding_waarde IS NULL
|
||||
AND m2.mld_melding_key = km2.mld_melding_key(+)
|
||||
AND km2.mld_kenmerkmelding_waarde IS NULL
|
||||
AND m2.mld_melding_parentkey IS NULL
|
||||
AND NOT EXISTS (SELECT 1
|
||||
FROM pchx_monitoring
|
||||
WHERE melding_key = m2.mld_melding_key)
|
||||
AND m2.mld_stdmelding_key = std2.mld_stdmelding_key
|
||||
AND std1.mld_ins_discipline_key NOT IN (232,220) -- V-G en W-R koppelen we nooit
|
||||
AND std1.mld_stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
|
||||
AND (
|
||||
(
|
||||
pchx.get_user = 'PCHW'
|
||||
AND std2.mld_stdmelding_malus IS NOT NULL -- alleen meldingen waarvoor een malus geldt
|
||||
AND std1.mld_Stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
|
||||
AND (
|
||||
( std1.mld_stdmeldinggroep_key = 181 -- Prestatiekortingen
|
||||
AND std1.mld_ins_discipline_key = std2.mld_ins_discipline_key)
|
||||
OR
|
||||
( std1.mld_stdmeldinggroep_key <> 181 -- Prestatiekortingen
|
||||
AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte
|
||||
)
|
||||
)
|
||||
( std1.mld_stdmeldinggroep_key = 161 -- FTRC
|
||||
AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte
|
||||
OR
|
||||
( pchx.get_user = 'PCHA'
|
||||
AND std1.mld_ins_discipline_key NOT IN (232,220) -- V-G en W-R koppelen we nooit
|
||||
AND std1.mld_stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
|
||||
AND (
|
||||
( std1.mld_stdmeldinggroep_key = 161 -- FTRC
|
||||
AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte
|
||||
OR
|
||||
( std1.mld_stdmeldinggroep_key <> 161 -- FTRC
|
||||
AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte
|
||||
AND std1.mld_ins_discipline_key = std2.mld_ins_discipline_key -- zelfde vakgroep.
|
||||
)
|
||||
)
|
||||
( std1.mld_stdmeldinggroep_key <> 161 -- FTRC
|
||||
AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte
|
||||
AND std1.mld_ins_discipline_key = std2.mld_ins_discipline_key -- zelfde vakgroep.
|
||||
)
|
||||
AND m1.mld_melding_key <> m2.mld_melding_key
|
||||
AND m2.mld_melding_indult <> 1
|
||||
AND m1.mld_melding_indult <> 1
|
||||
AND m2.mld_melding_status <> 1 -- Afgewezen
|
||||
AND m1.mld_melding_datum BETWEEN m2.mld_melding_datum
|
||||
AND COALESCE(fac.gettrackingdate ('MLDAFM', m2.mld_melding_key), SYSDATE)
|
||||
ORDER BY m2.mld_melding_datum;
|
||||
|
||||
CURSOR cw
|
||||
IS
|
||||
SELECT m2.mld_melding_datum van, m2.mld_melding_key
|
||||
FROM mld_melding m1,
|
||||
mld_stdmelding std1,
|
||||
(select mld_melding_key, mld_kenmerkmelding_waarde from mld_kenmerkmelding
|
||||
where mld_kenmerk_key = 221) km1,
|
||||
mld_melding m2,
|
||||
mld_stdmelding std2,
|
||||
(select mld_melding_key, mld_kenmerkmelding_waarde from mld_kenmerkmelding
|
||||
where mld_kenmerk_key = 221) km2
|
||||
WHERE m1.mld_melding_key = p_melding_key
|
||||
AND m1.mld_stdmelding_key = std1.mld_stdmelding_key
|
||||
AND m1.mld_melding_key = km1.mld_melding_key(+)
|
||||
AND km1.mld_kenmerkmelding_waarde IS NULL
|
||||
AND m2.mld_melding_key = km2.mld_melding_key(+)
|
||||
AND km2.mld_kenmerkmelding_waarde IS NULL
|
||||
AND m2.mld_melding_parentkey IS NULL
|
||||
AND NOT EXISTS (SELECT 1
|
||||
FROM pchx_monitoring
|
||||
WHERE melding_key = m2.mld_melding_key)
|
||||
AND m2.mld_stdmelding_key = std2.mld_stdmelding_key
|
||||
AND std2.mld_stdmelding_malus IS NOT NULL -- alleen meldingen waarvoor een malus geldt
|
||||
AND std1.mld_Stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
|
||||
AND (
|
||||
( std1.mld_stdmeldinggroep_key = 181 -- Prestatiekortingen
|
||||
AND std1.mld_ins_discipline_key = std2.mld_ins_discipline_key)
|
||||
OR
|
||||
( std1.mld_stdmeldinggroep_key <> 181 -- Prestatiekortingen
|
||||
AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte
|
||||
)
|
||||
AND m1.mld_melding_key <> m2.mld_melding_key
|
||||
AND m2.mld_melding_indult <> 1
|
||||
@@ -98,6 +128,7 @@ AS
|
||||
v_datum_begin DATE;
|
||||
l_datum_begin DATE;
|
||||
v_loop_index NUMBER;
|
||||
rec ca%ROWTYPE; -- maakt niet uit welke cursor we hier kiezen. Ze hebben dezelfde structuur.
|
||||
BEGIN
|
||||
v_melding_key := p_melding_key;
|
||||
|
||||
@@ -112,8 +143,24 @@ AS
|
||||
|
||||
v_loop_index := 1;
|
||||
|
||||
FOR rec IN c
|
||||
IF pchx.get_user = 'PCHA' THEN
|
||||
OPEN ca;
|
||||
ELSE
|
||||
OPEN cw;
|
||||
END IF;
|
||||
|
||||
LOOP
|
||||
IF pchx.get_user = 'PCHA' THEN
|
||||
FETCH ca INTO rec;
|
||||
EXIT WHEN ca%NOTFOUND;
|
||||
ELSE
|
||||
FETCH cw INTO rec;
|
||||
EXIT WHEN cw%NOTFOUND;
|
||||
END IF;
|
||||
|
||||
|
||||
-- FOR rec IN c
|
||||
-- LOOP
|
||||
|
||||
-- door de sortering op de cursor hoeven we alleen het eerste record te gebruiken tenzij deze niet door de klant is ingediend.
|
||||
IF p_index < 10 AND v_loop_index = 1
|
||||
@@ -385,7 +432,7 @@ AS
|
||||
x.prs_kostenplaats_key, -- prs_kostenplaats_key van alleen M_START
|
||||
mld.getactualuitvoer ( -- verschil tussen t_van en gereed/SYSDATE is de maximale - actuele - doorlooptijd!
|
||||
m.t_van,
|
||||
COALESCE (m.gereed, SYSDATE),
|
||||
DECODE (m.gereed, TO_DATE('20991231', 'YYYYMMDD'), SYSDATE, m.gereed),
|
||||
x.mld_stdmelding_key,
|
||||
x.mld_melding_spoed,
|
||||
x.mld_alg_onroerendgoed_keys,
|
||||
@@ -492,6 +539,7 @@ CREATE OR REPLACE VIEW pchx_v_monitoring
|
||||
stdmelding_key,
|
||||
discipline_key,
|
||||
overlappend,
|
||||
gekoppeld,
|
||||
wegingsfactor,
|
||||
melding_omschrijving,
|
||||
melding_opmerking,
|
||||
@@ -506,6 +554,7 @@ AS
|
||||
DECODE (antedateren, 0, '', 'T') -- de begintijd of eindtijd van de melding is aangepast
|
||||
|| DECODE (g.respijt.tijdsduur, 0, '', 'R') -- er is een respijt ingevuld
|
||||
|| DECODE (mld_melding_indult, 1, 'I', '') -- indult is aangevinkt dus melding doet niet mee
|
||||
|| DECODE (niet_overlappen, 1, 'O', '') -- melding is gemarkeerd als zijnde niet te overlappen met een andere melding
|
||||
|| DECODE (aantal_beschikb, 0, '', 'B'), -- binnen de looptijd van de melding is er ook een beschikbaarheidsmelding in dezelfde ruimte
|
||||
DECODE (COALESCE (mld_melding_indult, 0), 0, 'Nee', 'Ja'),
|
||||
DECODE (g.respijt.tijdsduur,
|
||||
@@ -555,11 +604,11 @@ AS
|
||||
WHERE prs_dienst_key = g.prs_dienst_key),
|
||||
mld_stdmelding_key,
|
||||
mld_ins_discipline_key,
|
||||
DECODE(overlappend, NULL, NULL, overlappend || ',') ||
|
||||
(SELECT listagg (m2.mld_melding_key, ',') WITHIN GROUP (ORDER BY m2.mld_melding_key)
|
||||
AS overlappend
|
||||
FROM mld_melding m2
|
||||
WHERE m2.mld_melding_parentkey = m_start) overlappend,
|
||||
overlappend,
|
||||
(SELECT listagg (m2.mld_melding_key, ',') WITHIN GROUP (ORDER BY m2.mld_melding_key)
|
||||
AS gekoppeld
|
||||
FROM mld_melding m2
|
||||
WHERE m2.mld_melding_parentkey = m_start) gekoppeld,
|
||||
wegingsfactor,
|
||||
mld_melding_omschrijving,
|
||||
mld_melding_opmerking,
|
||||
@@ -574,6 +623,10 @@ AS
|
||||
FROM (SELECT m.m_start,
|
||||
m.aantal,
|
||||
DECODE (m.aantal, 1, NULL, m.overlappend) overlappend,
|
||||
( SELECT count(*)
|
||||
FROM mld_kenmerkmelding km
|
||||
WHERE mld_kenmerk_key = DECODE(PCHX.get_user, 'PCHA', 241, 221)
|
||||
AND km.mld_melding_key = m_start) niet_overlappen,
|
||||
m.mld_melding_status,
|
||||
m.mld_melding_afgerond,
|
||||
m.mld_melding_indult,
|
||||
@@ -809,6 +862,7 @@ CREATE OR REPLACE VIEW pchx_v_monitoring_tot
|
||||
totaal,
|
||||
totaal_index,
|
||||
overlappend,
|
||||
gekoppeld,
|
||||
kinderen,
|
||||
bedrijf_naam,
|
||||
klant_melding,
|
||||
@@ -846,6 +900,7 @@ AS
|
||||
totaal,
|
||||
totaal_index,
|
||||
SUBSTR (overlappend, 1, 100),
|
||||
SUBSTR (gekoppeld, 1, 100),
|
||||
NULL, -- kinderen bij herhalingskorting
|
||||
bedrijf_naam,
|
||||
klant_melding,
|
||||
@@ -888,6 +943,7 @@ AS
|
||||
250 * (COUNT ( * ) - 10) * DECODE (SIGN (COUNT ( * ) - 10), 1, 1, 0) totaal,
|
||||
PCHX_MON.get_index_value(TRUNC(SYSDATE)-1, 'MON') * 250 * (COUNT ( * ) - 10) * DECODE (SIGN (COUNT ( * ) - 10), 1, 1, 0) totaal_index,
|
||||
NULL overlappend,
|
||||
NULL gekoppeld,
|
||||
listagg (melding_key, ',') WITHIN GROUP (ORDER BY melding_key) AS kinderen, -- kinderen bij overschrijdingskorting
|
||||
NULL bedrijf_naam,
|
||||
NULL klant_melding,
|
||||
@@ -897,6 +953,7 @@ AS
|
||||
WHERE PCHX.get_user = 'PCHW'
|
||||
AND totaal IS NOT NULL
|
||||
AND totaal <> 0
|
||||
AND indult = 'Nee'
|
||||
AND ( (status = 'Afgemeld' AND afw IS NULL) OR (status = 'Historie'))
|
||||
AND (gereed < TRUNC (SYSDATE, 'MONTH')
|
||||
OR TRUNC (SYSDATE, 'MONTH') =
|
||||
@@ -933,6 +990,7 @@ AS
|
||||
50 * (COUNT ( * ) - 20) * DECODE (SIGN (COUNT ( * ) - 20), 1, 1, 0) totaal,
|
||||
PCHX_MON.get_index_value(TRUNC(SYSDATE)-1, 'MON') * 50 * (COUNT ( * ) - 20) * DECODE (SIGN (COUNT ( * ) - 20), 1, 1, 0) totaal_index,
|
||||
NULL overlappend,
|
||||
NULL gekoppeld,
|
||||
listagg (melding_key, ',') WITHIN GROUP (ORDER BY melding_key) AS kinderen, -- kinderen bij overschrijdingskorting
|
||||
NULL bedrijf_naam,
|
||||
NULL klant_melding,
|
||||
@@ -940,6 +998,7 @@ AS
|
||||
NULL prefix
|
||||
FROM pchx_v_monitoring
|
||||
WHERE PCHX.get_user = 'PCHW'
|
||||
AND indult = 'Nee'
|
||||
AND ( (status = 'Afgemeld' AND afw IS NULL) OR (status = 'Historie'))
|
||||
AND (gereed < TRUNC (SYSDATE, 'MONTH')
|
||||
OR TRUNC (SYSDATE, 'MONTH') =
|
||||
@@ -973,6 +1032,7 @@ CREATE OR REPLACE VIEW pchx_v_monitoring_history
|
||||
hide_f_stdmelding_key,
|
||||
wegingsfactor,
|
||||
overlappend,
|
||||
gekoppeld,
|
||||
kinderen,
|
||||
klant_melding,
|
||||
bedrijf,
|
||||
@@ -1007,6 +1067,7 @@ AS
|
||||
stdmelding_key,
|
||||
wegingsfactor,
|
||||
overlappend,
|
||||
gekoppeld,
|
||||
kinderen,
|
||||
klant_melding,
|
||||
prs_bedrijf_naam,
|
||||
@@ -1044,6 +1105,7 @@ CREATE OR REPLACE VIEW pchx_v_facuur_onderlegger
|
||||
hide_f_stdmelding_key,
|
||||
wegingsfactor,
|
||||
overlappend,
|
||||
gekoppeld,
|
||||
klant_melding,
|
||||
bedrijf,
|
||||
melding_omschrijving,
|
||||
@@ -1077,6 +1139,7 @@ AS
|
||||
stdmelding_key,
|
||||
wegingsfactor,
|
||||
overlappend,
|
||||
gekoppeld,
|
||||
klant_melding,
|
||||
prs_bedrijf_naam,
|
||||
melding_omschrijving,
|
||||
@@ -1361,6 +1424,7 @@ BEGIN
|
||||
totaal,
|
||||
totaal_index,
|
||||
overlappend,
|
||||
gekoppeld,
|
||||
kinderen,
|
||||
prs_bedrijf_naam,
|
||||
klant_melding,
|
||||
@@ -1397,6 +1461,7 @@ BEGIN
|
||||
DECODE (rec.indult, 'Ja', 0, rec.totaal),
|
||||
DECODE (rec.indult, 'Ja', 0, rec.totaal_index),
|
||||
rec.overlappend,
|
||||
rec.gekoppeld,
|
||||
rec.kinderen,
|
||||
rec.bedrijf_naam,
|
||||
rec.klant_melding,
|
||||
|
||||
Reference in New Issue
Block a user