BVB1#79790 -- Diverse aanpassingen naar aanleiding van het gesprek op 16 augustus

svn path=/Customer/trunk/; revision=61530
This commit is contained in:
Arthur Egberink
2023-08-22 15:16:46 +00:00
parent 089eb018cb
commit 564105a4c8

View File

@@ -36,13 +36,15 @@ AS
v_tijdsduur NUMBER;
v_eenheid VARCHAR2(1);
v_actiedatum DATE;
v_status MLD_MELDING.MLD_MELDING_STATUS%TYPE;
BEGIN
-- meldingen die binnen een dag afgehandeld moeten worden krijgen
-- direct een actiedatum. Hierdoor komen ze in het planbord te staan.
SELECT std.mld_stdmelding_t_uitvoertijd.tijdsduur tijdsduur,
std.mld_stdmelding_t_uitvoertijd.eenheid eenheid,
m.mld_melding_actiedatum
INTO v_tijdsduur, v_eenheid, v_actiedatum
m.mld_melding_actiedatum,
m.mld_melding_status
INTO v_tijdsduur, v_eenheid, v_actiedatum, v_status
FROM mld_stdmelding std, mld_melding m
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND m.mld_melding_key = p_melding_key;
@@ -56,6 +58,15 @@ AS
WHERE mld_melding_key = p_melding_key;
END IF;
-- Als de melding geaccepteerd wordt en de actiedatum is nog leeg dan gaan we de actiedatum
-- vullen met de dag van vandaag zodat de melding ook op de kalender (rapportage) verschijnt.
IF v_status = 4 AND v_actiedatum IS NULL
THEN
UPDATE mld_melding
SET mld_melding_actiedatum = SYSDATE
WHERE mld_melding_key = p_melding_key;
END IF;
END;
END;
/
@@ -111,6 +122,213 @@ AS
WHERE n.ins_deel_key = dg.ins_deel_key
AND n.prs_perslid_key = pf.prs_perslid_key;
CREATE OR REPLACE VIEW bvb1_v_rap_conditiemetingen
AS
SELECT m.mld_melding_key,
l.alg_locatie_code complexnummer,
l.alg_locatie_omschrijving complexnaam,
aog.alg_gebouw_code clusternummer,
aog.alg_gebouw_naam clusternaam,
aog.alg_gebouw_groep gebouwgroep,
id.ins_discipline_omschrijving hoofdrecept,
isg.ins_srtgroep_omschrijving groeprecept,
isd.ins_srtdeel_omschrijving || ' (' || isd.ins_srtdeel_code || ')' subrecept,
d.ins_deel_omschrijving identificatie,
m.mld_melding_key gebreknummer,
m.mld_melding_datum datum_tijd,
TO_CHAR(m.MLD_MELDING_ACTIEDATUM, 'YYYY') uitvoerjaar,
TO_CHAR (mld_melding_datum, 'DD-MM-YYYY') datum,
pf.prs_perslid_naam_full inspecteur,
s.mld_statuses_omschrijving status,
std.mld_stdmelding_omschrijving gebrek,
m.mld_melding_omschrijving omschrijving,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ERNST'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key) ernst,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'OMVANG'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key) omvang,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'INTENSITEIT'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key) intensiteit,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT1'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key) veiligheid_gezondheid,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT2'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key) cultuurhistorische_waarde,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT3'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key) gebruik_en_bedrijfsproces,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT4'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key) technische_vervolgschade,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT5'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key) toename_klachtenonderhoud,
(SELECT fac_usrdata_omschr
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk,
fac_kenmerkdomein kd,
fac_usrtab ut,
fac_usrdata ud
WHERE sk.mld_srtkenmerk_code = 'ASPECT6'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND sk.fac_kenmerkdomein_key = kd.fac_kenmerkdomein_key
AND ut.fac_usrtab_key = kd.fac_usrtab_key
AND ud.fac_usrtab_key = ut.fac_usrtab_key
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde
AND mk.mld_melding_key = m.mld_melding_key) beleving_esthetica,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk
WHERE sk.mld_srtkenmerk_code = 'KOSTEN'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND mk.mld_melding_key = m.mld_melding_key) kosten,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk
WHERE sk.mld_srtkenmerk_code = 'EENHEID'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND mk.mld_melding_key = m.mld_melding_key) eenheid,
(SELECT mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding mk,
mld_kenmerk k,
mld_srtkenmerk sk
WHERE sk.mld_srtkenmerk_code = 'TAAKGROEP'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = mk.mld_kenmerk_key
AND mk.mld_melding_key = m.mld_melding_key) taakgroep,
(SELECT k.mld_kenmerk_key
FROM mld_kenmerk k, mld_srtkenmerk sk
WHERE sk.mld_srtkenmerk_code = 'FOTO' AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key) foto
FROM mld_melding m,
mld_melding_object mo,
ins_deel d,
ins_srtdeel isd,
ins_srtgroep isg,
ins_discipline id,
alg_v_allonrgoed_gegevens aog,
alg_locatie l,
mld_statuses s,
prs_v_perslid_fullnames_all pf,
mld_stdmelding std,
mld_discipline md
WHERE m.mld_melding_key = mo.mld_melding_key
AND d.ins_deel_key = mo.ins_deel_key
AND d.ins_srtdeel_key = isd.ins_srtdeel_key
AND isd.ins_srtgroep_key = isg.ins_srtgroep_key
AND isg.ins_discipline_key = id.ins_discipline_key
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
AND l.alg_locatie_key = aog.alg_locatie_key
AND s.mld_statuses_key = m.mld_melding_status
AND m.prs_perslid_key = pf.prs_perslid_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = md.ins_discipline_key
AND FAC.getsetting('cnd_gebreken_srtdisc_key') = md.ins_srtdiscipline_key;
-- RTM views
-- RTM voor openstaande meldingen.
CREATE OR REPLACE VIEW bvb1_v_rtm_meldingen
@@ -192,6 +410,53 @@ AS
AND mld_melding_status not in (1, 5, 6) -- Afgewezen, afgemeld, historie
AND m.mld_melding_behandelaar_key IS NULL;
-- View om de relatie tussen standaardmeldingen en objectstructuur aan te geven.
CREATE OR REPLACE VIEW bvb1_v_rap_stdmelding_srtinst
AS
SELECT mss.mld_stdmelding_srtinst_key,
sd.ins_srtdiscipline_omschrijving,
md.ins_discipline_omschrijving vakgroep,
std.mld_stdmelding_omschrijving,
mss.ins_srtinstallatie_niveau,
isd.ins_srtdeel_omschrijving,
isg.ins_srtgroep_omschrijving,
id.ins_discipline_omschrijving
FROM mld_stdmelding_srtinst mss,
ins_srtgroep isg,
ins_srtdeel isd,
mld_stdmelding std,
ins_discipline id,
mld_discipline md,
ins_srtdiscipline sd
WHERE isg.ins_srtgroep_key = isd.ins_srtgroep_key
AND isg.ins_discipline_key = id.ins_discipline_key
AND mss.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND ( mss.ins_srtinstallatie_niveau = 'S' AND mss.ins_srtinstallatie_key = isd.ins_srtdeel_key
OR mss.ins_srtinstallatie_niveau = 'G' AND mss.ins_srtinstallatie_key = isg.ins_srtgroep_key
OR mss.ins_srtinstallatie_niveau = 'D' AND mss.ins_srtinstallatie_key = isg.ins_discipline_key);
CREATE OR REPLACE PROCEDURE bvb1_daily
AS
-- accepteer de meldingen die aangemaakt zijn met de geplande acties. Anders komen ze niet in de kalender te staan.
CURSOR c IS
SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_opmerking LIKE 'Automatisch gegenereerd door activiteit%' AND mld_melding_status = 2;
BEGIN
FOR rec IN c
LOOP
MLD.setmeldingstatus (rec.mld_melding_key, 4, NULL);
UPDATE mld_melding
SET mld_melding_actiedatum = SYSDATE
WHERE mld_melding_key = rec.mld_melding_key;
END LOOP;
END;
/
------ payload end ------
SET DEFINE OFF