FCLT#56803 Klantspecifieke code voor de 'bolletjes communicatie' aanpassing

svn path=/Customer/trunk/; revision=41350
This commit is contained in:
Erik Groener
2019-03-06 14:10:55 +00:00
parent aa63d816fd
commit 2a1baaa192
4 changed files with 197 additions and 55 deletions

View File

@@ -4415,21 +4415,31 @@ BEGIN
-- Vlaggetjes zetten zoals mld_edit_note.asp dat doet
BEGIN
v_flag_on_fenote := fac.getsetting ('mld_flag_on_fenote');
v_flag_on_bonote := fac.getsetting ('mld_flag_on_bonote');
IF v_flag_on_fenote <> 0 AND v_flag_on_fenote IS NOT NULL
IF fac.getdbversion() >= 'DB36' -- DB36 forward compatible
THEN
UPDATE mld_melding
SET mld_melding_flag =
DECODE (opdrkey,
NULL, v_flag_on_fenote,
v_flag_on_bonote)
WHERE mld_melding_key = mldkey
AND ( (mld_melding_flag = v_flag_on_bonote)
OR (mld_melding_flag = 0 OR mld_melding_flag IS NULL));
DBMS_OUTPUT.put_line ('Flag gezet.');
IF fac.getsetting('mld_melding_actiecode') = 1
THEN
UPDATE mld_melding
SET mld_melding_actiecode = 1+128 -- Backoffice + Attentie
WHERE mld_melding_key = v_mldkey;
END IF;
ELSE
v_flag_on_fenote := fac.getsetting ('mld_flag_on_fenote');
v_flag_on_bonote := fac.getsetting ('mld_flag_on_bonote');
IF v_flag_on_fenote <> 0 AND v_flag_on_fenote IS NOT NULL
THEN
UPDATE mld_melding
SET mld_melding_flag =
DECODE (opdrkey,
NULL, v_flag_on_fenote,
v_flag_on_bonote)
WHERE mld_melding_key = mldkey
AND ( (mld_melding_flag = v_flag_on_bonote)
OR (mld_melding_flag = 0 OR mld_melding_flag IS NULL));
DBMS_OUTPUT.put_line ('Flag gezet.');
END IF;
END IF;
EXCEPTION
WHEN OTHERS
@@ -4714,6 +4724,109 @@ AS
AND l.alg_district_key = d.alg_district_key
GROUP BY b.prs_bedrijf_key, b.prs_bedrijf_naam, d.alg_district_key;
/* Origineel - Pre-beurs 2019
CREATE OR REPLACE FORCE VIEW DEMO.DEMO_V_THEMA_DEEL_RES_PVH
(
INS_DEEL_KEY,
INS_ALG_RUIMTE_KEY,
WAARDE
)
AS
SELECT r.ins_deel_key,
ins_alg_ruimte_key,
DECODE (k.ins_kenmerkdeel_waarde,
NULL,
COALESCE (MIN (TRUNC (tijdvrij * 24 * 60) - 1), 999999),
1)
waarde -- MIN want perssimistisch
FROM (SELECT res_ins_deel_key ins_deel_key,
ins_alg_ruimte_key,
res_rsv_deel_van - SYSDATE tijdvrij
FROM res_v_aanwezigdeel r,
ins_deel d,
(SELECT res_deel_key, res_rsv_deel_van, res_rsv_deel_tot
FROM res_v_aanwezigrsv_deel rrd
WHERE SYSDATE BETWEEN TRUNC (res_rsv_deel_van)
AND res_rsv_deel_tot) blokkerend -- vandaag en nog niet afgelopen
WHERE r.res_deel_key = blokkerend.res_deel_key(+)
AND d.ins_deel_key = r.res_ins_deel_key) r
LEFT OUTER JOIN
(SELECT ins_deel_key, ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel
WHERE ins_kenmerk_key = 1141
AND ins_kenmerkdeel_verwijder IS NULL) k
ON k.ins_deel_key = r.ins_deel_key
GROUP BY r.ins_deel_key, ins_alg_ruimte_key, k.ins_kenmerkdeel_waarde;
*/
CREATE OR REPLACE VIEW DEMO_V_THEMA_DEEL_RES_PVH
(
INS_DEEL_KEY,
INS_ALG_RUIMTE_KEY,
WAARDE
)
AS
SELECT r.ins_deel_key,
r.ins_alg_ruimte_key,
DECODE (r.status,
0,
COALESCE (MIN (TRUNC (r.tijdvrij * 24 * 60) - 1), 999999),
1)
waarde -- MIN want pessimistisch
FROM (SELECT r.res_ins_deel_key ins_deel_key,
d.ins_alg_ruimte_key,
blokkerend.res_rsv_deel_van - SYSDATE tijdvrij,
DECODE (INITCAP (d.ins_deel_state),
'0', -- Als de sensor uit is kijken we naar de reservering
DECODE (blokkerend.res_deel_key,
NULL,
0, -- Als er geen reservering loopt, dan is de status uit
1), -- Anders aan
1)
status
FROM res_v_aanwezigdeel r,
ins_deel d,
(SELECT res_deel_key, res_rsv_deel_van, res_rsv_deel_tot
FROM res_v_aanwezigrsv_deel
WHERE SYSDATE BETWEEN TRUNC (res_rsv_deel_van)
AND res_rsv_deel_tot) blokkerend -- Vandaag en nog niet afgelopen
WHERE r.res_ins_deel_key = d.ins_deel_key
AND d.ins_alg_ruimte_type = 'R'
AND r.res_deel_key = blokkerend.res_deel_key(+)) r
LEFT JOIN -- Waarom dit kenmerk en bezetting niet op basis van reservering?
(SELECT ins_deel_key, ins_kenmerkdeel_waarde
FROM ins_v_aanwezigkenmerkdeel
WHERE ins_kenmerk_key = 1141) k -- Bezet door
ON r.ins_deel_key = k.ins_deel_key
WHERE r.ins_deel_key IN (26486, 26506) -- LeftClick puck+slof!
GROUP BY r.ins_deel_key, ins_alg_ruimte_key, r.status
UNION ALL -- En dan de reserveerbare delen zonder sensor
SELECT r.ins_deel_key,
r.ins_alg_ruimte_key,
DECODE (k.ins_kenmerkdeel_waarde,
NULL,
COALESCE (MIN (TRUNC (r.tijdvrij * 24 * 60) - 1), 999999),
1)
waarde -- MIN want pessimistisch
FROM (SELECT r.res_ins_deel_key ins_deel_key,
d.ins_alg_ruimte_key,
blokkerend.res_rsv_deel_van - SYSDATE tijdvrij
FROM res_v_aanwezigdeel r,
ins_deel d,
(SELECT res_deel_key, res_rsv_deel_van, res_rsv_deel_tot
FROM res_v_aanwezigrsv_deel
WHERE SYSDATE BETWEEN TRUNC (res_rsv_deel_van)
AND res_rsv_deel_tot) blokkerend -- Vandaag en nog niet afgelopen
WHERE r.res_ins_deel_key = d.ins_deel_key
AND d.ins_alg_ruimte_type = 'R'
AND r.res_deel_key = blokkerend.res_deel_key(+)) r
LEFT JOIN -- Waarom dit kenmerk en bezetting niet op basis van reservering?
(SELECT ins_deel_key, ins_kenmerkdeel_waarde
FROM ins_v_aanwezigkenmerkdeel
WHERE ins_kenmerk_key = 1141) k -- Bezet door
ON r.ins_deel_key = k.ins_deel_key
WHERE r.ins_deel_key NOT IN (26486, 26506) -- LeftClick puck+slof!
GROUP BY r.ins_deel_key, r.ins_alg_ruimte_key, k.ins_kenmerkdeel_waarde;
BEGIN adm.systrackscriptId('$Id$'); END;
/
BEGIN fac.registercustversion('DEMO', 7); END;