PGHE#71255 -- Meldingen die door de eigen organisatie ingelegd zijn niet in monitoring rapport

PGHE#71254 -- Storingen op koffieautomaten mogen niet overlappen.

svn path=/Customer/trunk/; revision=55109
This commit is contained in:
Arthur Egberink
2022-02-24 12:20:58 +00:00
parent 9320495595
commit e5f337af45

View File

@@ -152,10 +152,13 @@ AS
WHERE melding_key = m2.mld_melding_key)
AND m2.mld_stdmelding_key = std2.mld_stdmelding_key
AND std2.mld_stdmelding_slabewaken <> 0 -- alleen meldingen waarvoor een malus geldt
AND std1.mld_Stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
AND std1.mld_stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
AND (
( std1.mld_stdmeldinggroep_key = 1 -- Prestatiekortingen
AND std1.mld_stdmelding_key = std2.mld_stdmelding_key)
AND std1.mld_stdmelding_key = std2.mld_stdmelding_key
AND ( std1.mld_stdmelding_key <> 91 -- Prestatiekortingen op automaten overlappen alleen als het dezelfde ruimte (automaat) is.
OR m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys)
)
OR
( std1.mld_stdmeldinggroep_key <> 1 -- Prestatiekortingen
AND std1.mld_Stdmeldinggroep_key <> 8 -- Losse voorzieningen worden niet samengenomen
@@ -791,20 +794,20 @@ AS
UPPER (SUBSTR (stdg.mld_stdmeldinggroep_naam, 1, 1))
kortingtype, -- de meldingsgroep bevat het type storing
kp.prs_kostenplaats_nr,
rg.alg_locatie_code,
rg.alg_gebouw_upper,
rg.alg_verdieping_volgnr,
rg.alg_ruimte_nr || '-' || rg.alg_ruimte_omschrijving
l.alg_locatie_code,
g.alg_gebouw_upper,
v.alg_verdieping_volgnr,
r.alg_ruimte_nr || '-' || r.alg_ruimte_omschrijving
ruimte,
COALESCE ((SELECT stsr.mld_stdmsrtruimte_malusbasis
FROM mld_stdmsrtruimte stsr
WHERE stsr.mld_stdmelding_key = std.mld_stdmelding_key
AND stsr.alg_srtruimte_key = rg.alg_srtruimte_key), std.mld_stdmelding_malusbasis)
AND stsr.alg_srtruimte_key = r.alg_srtruimte_key), std.mld_stdmelding_malusbasis)
bk,
COALESCE ((SELECT stsr.mld_stdmsrtruimte_malus
FROM mld_stdmsrtruimte stsr
WHERE stsr.mld_stdmelding_key = std.mld_stdmelding_key
AND stsr.alg_srtruimte_key = rg.alg_srtruimte_key), std.mld_stdmelding_malus) vk,
AND stsr.alg_srtruimte_key = r.alg_srtruimte_key), std.mld_stdmelding_malus) vk,
(SELECT COUNT (mb.mld_melding_key) aantal -- kijk of er op het moment van de melding er een beschikbaarheidsstoring was
FROM mld_melding mb, mld_stdmelding std_b
WHERE (mb.mld_melding_datum BETWEEN m.t_van
@@ -871,7 +874,10 @@ AS
ins_srtdiscipline sd,
mld_stdmeldinggroep stdg,
prs_kostenplaats kp,
alg_v_ruimte_gegevens rg,
alg_locatie l,
alg_gebouw g,
alg_verdieping v,
alg_ruimte r,
alg_srtruimte sr
WHERE m.mld_melding_status IN (0, 2, 3, 4, 5, 6, 7, 99) -- alles behalve 1=Afgewezen
AND m.mld_stdmelding_key = std.mld_stdmelding_key
@@ -880,37 +886,58 @@ AS
AND std.mld_stdmeldinggroep_key =
stdg.mld_stdmeldinggroep_key(+)
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 ( ( PCHX.get_user = 'PGHE'
AND ( UPPER (SUBSTR (stdg.mld_stdmeldinggroep_naam, 1, 1)) IN ('P', 'M') -- Prestatiemelding, Monitoring
OR d.ins_discipline_key IN (86, 90) -- V en G, W en R
OR klant_melding = 1
)
-- Meldingen met Ruimtesoort: Geen Korting hebben voor een aantal stdmeldingen geen korting
-- Deze meldingen worden dan niet meegenomen in het monitoringsrapport.
AND NOT EXISTS (SELECT mld_stdmsrtruimte_key
FROM mld_stdmsrtruimte stdsr
WHERE stdsr.mld_stdmelding_key = std.mld_stdmelding_key
AND stdsr.alg_srtruimte_key = rg.alg_srtruimte_key
AND COALESCE(mld_stdmsrtruimte_malusbasis,0) = 0
AND COALESCE(mld_stdmsrtruimte_malus,0) = 0)
)
OR
( PCHX.get_user <> 'PGHE'
AND ( UPPER (SUBSTR (sd.ins_srtdiscipline_prefix, 1, 1)) = 'Q'
OR (PCHX.get_user = 'PCHA' AND d.ins_discipline_key in (232, 220)) -- V en G, W en R
OR klant_melding = 1
)
) )
-- meldingen op inspecties worden altijd getoond (Kq)
-- anders alleen storingen ingelegd door klant medewerkers
-- alleen meldingen waarvoor een malus geldt
AND ( std.mld_stdmelding_malus IS NOT NULL
OR (PCHX.get_user = 'PGHE' AND std.mld_stdmelding_malusbasis IS NOT NULL) -- Dit zou eigenlijk ook voor de andere klanten moeten gelden.
OR EXISTS (SELECT mld_stdmsrtruimte_key
AND m.mld_alg_onroerendgoed_keys = r.alg_ruimte_key(+)
AND r.alg_verdieping_key = v.alg_verdieping_key(+)
AND v.alg_gebouw_key = g.alg_gebouw_key(+)
AND g.alg_locatie_key = l.alg_locatie_key(+)
AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
AND (
( PCHX.get_user = 'PGHE'
AND ( UPPER (SUBSTR (stdg.mld_stdmeldinggroep_naam, 1, 1)) IN ('M') -- Meting Periodiek
-- Meldingen op V&G en W&R worden altijd getoond ook als ze door een eigen medewerker zijn ingelegd.
OR d.ins_discipline_key IN (86, 90) -- V en G, W en R
OR klant_melding = 1
)
-- alleen meldingen waarvoor een malus geldt
AND ( std.mld_stdmelding_malus IS NOT NULL
OR std.mld_stdmelding_malusbasis IS NOT NULL
OR EXISTS (SELECT mld_stdmsrtruimte_key
FROM mld_stdmsrtruimte stdsr
WHERE stdsr.mld_stdmelding_key = std.mld_stdmelding_key
AND stdsr.alg_srtruimte_key = r.alg_srtruimte_key)
)
)
OR
( PCHX.get_user = 'PCHA'
-- meldingen op inspecties worden altijd getoond (Kq)
AND ( UPPER (SUBSTR (sd.ins_srtdiscipline_prefix, 1, 1)) = 'Q'
-- anders alleen storingen ingelegd door klant medewerkers
OR klant_melding = 1
-- Meldingen op V&G en W&R worden altijd getoond ook als ze door een eigen medewerker zijn ingelegd.
OR d.ins_discipline_key in (232, 220) -- V en G, W en R
)
AND ( std.mld_stdmelding_malus IS NOT NULL
OR EXISTS (SELECT mld_stdmsrtruimte_key
FROM mld_stdmsrtruimte stdsr
WHERE stdsr.mld_stdmelding_key = std.mld_stdmelding_key))) g;
WHERE stdsr.mld_stdmelding_key = std.mld_stdmelding_key)
)
)
OR
( PCHX.get_user = 'PCHW'
-- meldingen op inspecties worden altijd getoond (Kq)
AND ( UPPER (SUBSTR (sd.ins_srtdiscipline_prefix, 1, 1)) = 'Q'
OR klant_melding = 1
)
-- alleen meldingen waarvoor een malus geldt of als er een uitzondering voor deze ruimtefunctie is.
AND ( std.mld_stdmelding_malus IS NOT NULL
OR EXISTS (SELECT mld_stdmsrtruimte_key
FROM mld_stdmsrtruimte stdsr
WHERE stdsr.mld_stdmelding_key = std.mld_stdmelding_key)
)
)
)
) g;
-- Rapport om de niet gegroeperde data te zien
CREATE OR REPLACE VIEW pchx_v_monitoring_onderlegger