LOGI#71963 RES-hookfunction/Verwijderen WP-restricties (en daarmee custfunctions.wsc)

svn path=/Customer/trunk/; revision=55570
This commit is contained in:
Maarten van der Heide
2022-04-12 10:16:43 +00:00
parent fafc0a3e2f
commit 894b7ec736

View File

@@ -1,100 +1,27 @@
--
-- $Id$
--
-- Script containing customer specific sql statements for the LOGI database
-- Script containing customer specific db-configuration for FMHN.
DEFINE thisfile = 'LOGI.SQL'
DEFINE dbuser = '^LOGI'
DEFINE custid = 'LOGI'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
WHENEVER SQLERROR CONTINUE;
---------------------------------------
PROMPT &fcltcusttxt
---------------------------------------
SET DEFINE OFF
------ payload begin ------
CREATE OR REPLACE PACKAGE LOGI
AS
FUNCTION res_presave (p_user_key IN NUMBER,
p_rsv_ruimte_key IN NUMBER,
p_activiteit_key IN NUMBER,
p_res_deel_key IN NUMBER,
p_datum_van IN DATE,
p_datum_tot IN DATE,
p_volgnr IN NUMBER)
RETURN VARCHAR2;
END;
/
CREATE OR REPLACE PACKAGE BODY LOGI
AS
FUNCTION res_presave (p_user_key IN NUMBER,
p_rsv_ruimte_key IN NUMBER,
p_activiteit_key IN NUMBER,
p_res_deel_key IN NUMBER,
p_datum_van IN DATE,
p_datum_tot IN DATE,
p_volgnr IN NUMBER)
RETURN VARCHAR2
AS
v_result VARCHAR2 (300);
v_date DATE;
v_count NUMBER;
v_discipline_key NUMBER;
BEGIN
v_result := 'OK';
IF p_activiteit_key = 321 -- Flexplek
THEN
-- Kijk of de user ook frontoffice rechten heeft
SELECT count(*)
INTO v_count
FROM fac_groeprechten gr, fac_gebruikersgroep gg, fac_functie f, res_deel rd
WHERE gr.fac_groep_key = gg.fac_groep_key
AND gr.ins_discipline_key = rd.res_discipline_key
AND gr.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_RESFOF'
AND rd.res_deel_key = p_res_deel_key
AND gg.prs_perslid_key = p_user_key;
IF v_count = 0
THEN
-- We hebben geen FO rechten
SELECT count(*)
INTO v_count
FROM res_rsv_ruimte rrr
WHERE rrr.res_rsv_ruimte_verwijder IS NULL
AND rrr.res_activiteit_key = 321 -- 321 Flexplek
AND rrr.res_rsv_ruimte_host_key = p_user_key
AND rrr.res_rsv_ruimte_key <> p_rsv_ruimte_key
AND TRUNC(res_rsv_ruimte_van, 'IW') = TRUNC (p_datum_tot, 'IW');
IF v_count > 2
THEN
v_result := 'Dear colleague,' || CHR(10) ||
'Please note that you have already made three reservations for this week. Therefore your maximum number of workspaces has been reached. Your latest reservation will be deleted. You can make a new reservation for next week.' || CHR(10) ||
'Kind regards,' || CHR(10) ||
'Facility Management';
END IF;
END IF;
END IF;
RETURN v_result;
END;
END;
/
CREATE OR REPLACE PROCEDURE logi_import_persoon (p_import_key IN NUMBER)
AS
v_errormsg VARCHAR2 (1000) := '';