KFHT#39552: Werkvergunningen: Notificaties nieuwe melding voor gebouwbeh./veiligheidskundig.

svn path=/Database/trunk/; revision=33768
This commit is contained in:
Maykel Geerdink
2017-05-10 08:57:38 +00:00
parent 432cefe793
commit 105b32b844

View File

@@ -507,6 +507,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
PROCEDURE notifybackoffice (pmeldingkey IN NUMBER, pcode IN VARCHAR2)
AS
lloc_key mld_melding.mld_alg_locatie_key%TYPE;
lonrg_key mld_melding.mld_alg_onroerendgoed_keys%TYPE;
lalg_type alg_v_onroerendgoed.alg_type%TYPE;
lafd_key prs_perslid.prs_afdeling_key%TYPE;
ldisc_key mld_stdmelding.mld_ins_discipline_key%TYPE;
lspoed mld_melding.mld_melding_spoed%TYPE;
@@ -540,6 +542,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
-- 3 (bo3 en dan bof) | BO3(MLD2B3) | BOF(MLD2BO) | Zowel de WEB_MLDBO3 als WEB_MLDBOF rechten zijn actief.
--
SELECT m.mld_alg_locatie_key,
m.mld_alg_onroerendgoed_keys,
onrg.alg_type,
p.prs_afdeling_key,
stdm.mld_ins_discipline_key,
m.mld_melding_spoed,
@@ -547,6 +551,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
mdp.mld_disc_params_offhours,
m.mld_melding_status
INTO lloc_key,
lonrg_key,
lalg_type,
lafd_key,
ldisc_key,
lspoed,
@@ -557,7 +563,8 @@ CREATE OR REPLACE PACKAGE BODY mld AS
prs_perslid p,
mld_stdmelding stdm,
ins_tab_discipline d,
mld_disc_params mdp
mld_disc_params mdp,
alg_v_onroerendgoed onrg
WHERE m.prs_perslid_key = p.prs_perslid_key
AND stdm.mld_stdmelding_key = m.mld_stdmelding_key
-- Eerste notificatie: Melding is nieuw (2).
@@ -569,6 +576,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
OR (mld_melding_status = 4 AND pcode = 'MLDACP' AND mdp.mld_disc_params_bonotify = 3))
AND stdm.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_discipline_key = mdp.mld_ins_discipline_key
AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys
AND mld_melding_key = pmeldingkey; -- op dit moment nog alleen voor NIEUWE meldingen
-- Als die er niet is sprongen we al naar de exception
@@ -664,12 +672,31 @@ CREATE OR REPLACE PACKAGE BODY mld AS
AND aa.niveau = g.fac_gebruiker_prs_level_write))))
-- in ASP: if (params.loc_key>0, hier is lloc_key dan NULL en gaat het ook goed)
AND (g.fac_gebruiker_alg_level_write = -1
OR (g.fac_gebruiker_alg_level_write < 9
AND lloc_key IN
(SELECT alg_locatie_key
FROM fac_v_my_locations
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = fac_gebruiker_alg_level_write)))
OR (g.fac_gebruiker_alg_level_write < 9
AND (CASE
WHEN lalg_type IS NULL AND lloc_key IN (SELECT alg_locatie_key
FROM fac_v_my_locations
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = fac_gebruiker_alg_level_write)
THEN 1
WHEN lalg_type = 'G' AND lonrg_key IN (SELECT alg_gebouw_key
FROM fac_v_my_buildings
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = fac_gebruiker_alg_level_write)
THEN 1
WHEN lalg_type = 'V' AND lonrg_key IN (SELECT alg_verdieping_key
FROM fac_v_my_floors
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = fac_gebruiker_alg_level_write)
THEN 1
WHEN lalg_type = 'R' AND lonrg_key IN (SELECT alg_ruimte_key
FROM fac_v_my_rooms
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = fac_gebruiker_alg_level_write)
THEN 1
ELSE 0
END) = 1
))
AND fac_functie_code = lfunctiecode)
LOOP
fac.putnotificationsrtprio (NULL,