INLO#59373 -- Klantbeoordeling voor reserveringen voor Greenport inpassen

svn path=/Customer/trunk/; revision=44338
This commit is contained in:
Jos Migo
2019-09-24 12:57:35 +00:00
parent cc333f6cb6
commit 09d40eaabf

View File

@@ -17,6 +17,107 @@ SET DEFINE OFF
------ payload begin ------
-- Procedure voor liken reserveringen (zie ticket 59373)
CREATE OR REPLACE PROCEDURE INLO.inlo_export_res_like (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2)
AS
v_expiredays NUMBER (10);
v_likerkey NUMBER (10);
v_xmlnode VARCHAR2(100);
v_refkey NUMBER;
v_bookmark VARCHAR2(150);
CURSOR c
IS
SELECT res_rsv_ruimte_key,
res_rsv_ruimte_contact_key,
res_rsv_ruimte_host_key, -- Aanvrager en Gastheer/vrouw kunnen verschillen. We mailen de aanvrager
(SELECT k.res_kenmerk_key
FROM res_activiteit a, res_kenmerk k, res_srtkenmerk sk
WHERE a.res_activiteit_key = rrr.res_activiteit_key
AND a.res_activiteit_key = k.res_activiteit_key
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
AND k.res_kenmerk_verwijder is null
AND sk.res_srtkenmerk_UPPER = 'BOOKMARK')
kenmerk_key_bookmark
FROM res_rsv_ruimte rrr, prs_perslid p
WHERE rrr.res_rsv_ruimte_contact_key = p.prs_perslid_key
AND TRUNC (res_rsv_ruimte_van) = TRUNC (SYSDATE) - 2
AND res_rsv_ruimte_verwijder IS NULL
AND res_rsv_ruimte_noshow IS NULL -- no shows niet meenemen
AND res_status_fo_key not in (3,4) -- vervallen en verwijderde reserveringen niet meenemen
AND p.prs_perslid_email is not null ;
BEGIN
v_expiredays :=
fac.safe_To_Number (fac.getsetting ('fac_res_deeplike_expire'));
v_xmlnode := 'reservering';
FOR rec IN c
LOOP
v_likerkey := rec.res_rsv_ruimte_contact_key;
v_refkey := rec.res_rsv_ruimte_key;
v_bookmark := DBMS_RANDOM.string ('a', 16) ;
-- FAC_BOOKMARK vullen....PROCEDURE createlikebookmark (pxmlnode VARCHAR2, prefkey NUMBER);
-- BEGIN createlikebookmark ('reservering', rec.res_rsv_ruimte_key) ; Kan niet, want dan mis je (o.a.) expire-days
-- DUS de update pakken
UPDATE fac_bookmark
SET fac_bookmark_expire =
fac.datumtijdplusuitvoertijd (SYSDATE,
v_expiredays,
'DAGEN')
WHERE fac_bookmark_xmlnode = v_xmlnode
AND fac_bookmark_refkey = v_refkey
AND fac_bookmark_naam = 'faclikedeeplink';
IF SQL%ROWCOUNT = 0
THEN
INSERT INTO fac_bookmark (fac_bookmark_id,
fac_bookmark_naam,
fac_bookmark_path,
fac_bookmark_query,
fac_bookmark_xmlnode,
fac_bookmark_refkey,
fac_bookmark_expire,
prs_perslid_key_auth)
VALUES (
v_bookmark ,
'faclikedeeplink',
'appl/fac/fac_like_deep.asp',
'node=' || v_xmlnode || '&key=' || v_refkey, -- is straks beschermd met HMAC
v_xmlnode,
v_refkey,
fac.datumtijdplusuitvoertijd (SYSDATE,
v_expiredays,
'DAGEN'),
v_likerkey);
-- Onderstaande 2 procedures in de IF zodat we alleen het bookmarkkenmerk gaan vullen als er ook nog geen bookmark was aangemaakt.
-- Via de fac_trackaction, via een trigger, wordt de fac_notificatie ook gevuld
-- PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2)
BEGIN
fac.trackaction ('CUST08',
v_refkey,
4,
SYSDATE,
'Mail naar aanvrager ter beoordeling van de reservering');
END;
-- Bij RESAFM komt de bookamrk nog niet mee naar de xml. Daarom gaan we kenmerk 'bookmark' vullen met dit bookmark_id zodat we die in de xml in de stylesheet fac_like kunnen opppakken..
-- Procedure: aaxx_set_kenmerk(p_module IN VARCHAR2, p_kenmerk_key IN NUMBER, p_link_key IN NUMBER, p_kenmerk_waarde IN VARCHAR2, p_history IN NUMBER)
BEGIN
aaxx_set_kenmerk ('RES',rec.kenmerk_key_bookmark,v_refkey,v_bookmark,0) ;
END;
END IF;
END LOOP;
END;
/
-- VIEW voor Notificatiejob Last-minute-reservering. Alle mensen uit specifieke autorisatiegroep krijgen mail dat de reservering (ruimte en/of catering) gewijzigd is - Ticketnr 57145
CREATE OR REPLACE VIEW INLO_V_NOTIFY_LASTMINUTE