95 lines
2.7 KiB
Plaintext
95 lines
2.7 KiB
Plaintext
#ifdef RES
|
|
|
|
/* RES_PAC.SRC
|
|
*
|
|
* $Revision: 26 $
|
|
* $Modtime: 9-11-04 10:57 $
|
|
*
|
|
*/
|
|
|
|
|
|
CREATE OR REPLACE PACKAGE res AS
|
|
-- Dropped 4.48
|
|
-- FUNCTION Res_CalcMinMaxBezoekers(RuimteKey IN NUMBER) RETURN VARCHAR;
|
|
PROCEDURE Res_NotifyChange2User (pReskey IN NUMBER, pCode IN VARCHAR2, pReceiver IN NUMBER);
|
|
END res;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PACKAGE BODY res AS
|
|
|
|
PROCEDURE Res_NotifyChange2User (pReskey IN NUMBER, pCode IN VARCHAR2, pReceiver IN NUMBER) AS
|
|
BEGIN
|
|
-- Proc+edure to create a notification to the enduser that requested the reservation
|
|
-- Only 1 message is visible to that user. If new events occur that would issue a
|
|
-- new notification, the old message is deleted first.
|
|
-- pReceiver is optional, if it's null we'll look for the receiver ourself.
|
|
DECLARE
|
|
lMessage VARCHAR2(255);
|
|
lActionkey NUMBER;
|
|
keepmes NUMBER(10);
|
|
lSender NUMBER(10);
|
|
lReceiver NUMBER(10);
|
|
BEGIN
|
|
keepmes:= 7;
|
|
IF pReceiver IS NULL THEN
|
|
-- Determine who to send this notification to
|
|
BEGIN
|
|
SELECT res_reservering_contact_key
|
|
INTO lReceiver
|
|
FROM res_reservering
|
|
WHERE res_reservering_key = pReskey;
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN NULL;
|
|
END;
|
|
ELSE
|
|
lReceiver := pReceiver;
|
|
END IF;
|
|
IF pCode IS NOT NULL THEN
|
|
BEGIN
|
|
SELECT web_user_mess_text_dsc, web_user_mess_actions_key
|
|
INTO lMessage, lActionkey
|
|
FROM web_user_mess_text
|
|
WHERE web_user_mess_text_code = pCode;
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND THEN NULL;
|
|
END;
|
|
IF lActionkey IS NOT NULL
|
|
THEN
|
|
|
|
DELETE FROM web_user_messages
|
|
WHERE web_user_mess_actions_key = lActionkey
|
|
AND prs_perslid_key_receiver = lReceiver
|
|
AND web_user_mess_action_params = pResKey;
|
|
|
|
INSERT INTO web_user_messages
|
|
(prs_perslid_key_sender,
|
|
prs_perslid_key_receiver,
|
|
web_user_mess_actions_key,
|
|
web_user_mess_dsc,
|
|
web_user_mess_action_status,
|
|
web_user_mess_action_params)
|
|
VALUES
|
|
(lSender,
|
|
lReceiver,
|
|
lActionkey,
|
|
REPLACE(lMessage, '##KEY##', pReskey),
|
|
1,
|
|
pResKey);
|
|
END IF;
|
|
END IF;
|
|
DELETE FROM web_user_messages
|
|
WHERE web_user_mess_action_datum < (SYSDATE - keepmes)
|
|
AND web_user_mess_actions_key=lActionkey ;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS THEN NULL;
|
|
END;
|
|
END;
|
|
|
|
|
|
END res;
|
|
/
|
|
|
|
#endif // RES
|