YASK#79792 -- Altrecht - koppeling reserveringen
svn path=/Customer/trunk/; revision=64272
This commit is contained in:
132
YASK/yask.sql
132
YASK/yask.sql
@@ -66,6 +66,12 @@ AS
|
||||
p_subcategorie VARCHAR)
|
||||
RETURN NUMBER;
|
||||
|
||||
-- Routines voor de koppeling van Altrecht met TOPdesk voor reserveringen
|
||||
PROCEDURE upsert_resroom (p_locId IN VARCHAR2, p_roomName VARCHAR2, p_roomNr VARCHAR2, p_roomId IN VARCHAR2);
|
||||
|
||||
FUNCTION get_resroom (p_roomId IN VARCHAR2)
|
||||
RETURN NUMBER;
|
||||
-- Einde Altrecht
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -1016,6 +1022,116 @@ AS
|
||||
RETURN v_stdmelding_key;
|
||||
END;
|
||||
|
||||
-- Routines voor de koppeling van Altrecht met TOPdesk voor reserveringen
|
||||
PROCEDURE upsert_resroom (p_locId IN VARCHAR2, p_roomName VARCHAR2, p_roomNr VARCHAR2, p_roomId IN VARCHAR2)
|
||||
AS
|
||||
v_res_ruimte_key NUMBER;
|
||||
v_ruimte_key NUMBER;
|
||||
v_verdieping_key NUMBER;
|
||||
v_gebouw_key NUMBER;
|
||||
v_ruimte_opstel_key NUMBER;
|
||||
v_gebouw_prefix VARCHAR2(1);
|
||||
BEGIN
|
||||
|
||||
-- Zoek het gebouw waaronder we een vergaderzaal gaan toevoegen.
|
||||
BEGIN
|
||||
SELECT g.alg_gebouw_key, v.alg_verdieping_key, SUBSTR(alg_gebouw_naam, 1,1)
|
||||
INTO v_gebouw_key, v_verdieping_key, v_gebouw_prefix
|
||||
FROM alg_gebouw g, alg_verdieping v
|
||||
WHERE g.alg_gebouw_key = v.alg_gebouw_key
|
||||
AND v.alg_verdieping_code = '0'
|
||||
AND alg_gebouw_externnr = p_locId;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
RETURN;
|
||||
-- geen gebouw gevonden dat meedoet in de sync
|
||||
END;
|
||||
|
||||
-- En nu kijken we of de reserveerbare zaal al bestaat.
|
||||
BEGIN
|
||||
SELECT res_ruimte_opstel_key, rr.res_ruimte_key
|
||||
INTO v_ruimte_opstel_key, v_res_ruimte_key
|
||||
FROM res_ruimte rr, res_ruimte_opstelling rro
|
||||
WHERE rr.res_ruimte_key = rro.res_ruimte_key
|
||||
AND rro.res_opstelling_key = 11 -- standaard
|
||||
AND res_ruimte_extern_id = p_roomId;
|
||||
|
||||
-- We kennen de reserveerbare zaal al. Dan gaan we de omschrijving updaten
|
||||
-- want misschien is deze gewijzigd.
|
||||
UPDATE res_ruimte SET res_ruimte_nr = SUBSTR(v_gebouw_prefix || '-' || p_roomName,1,40)
|
||||
WHERE res_ruimte_key = v_res_ruimte_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT g.alg_gebouw_key, v.alg_verdieping_key
|
||||
INTO v_gebouw_key, v_verdieping_key
|
||||
FROM alg_gebouw g, alg_verdieping v
|
||||
WHERE g.alg_gebouw_key = v.alg_gebouw_key
|
||||
AND v.alg_verdieping_code = '0'
|
||||
AND alg_gebouw_externnr = p_locId;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
NULL;
|
||||
return;
|
||||
-- geen gebouw gevonden dat meedoet in de sync
|
||||
END;
|
||||
dbms_output.put_line('before alg_ruimte');
|
||||
BEGIN
|
||||
SELECT alg_ruimte_key
|
||||
INTO v_ruimte_key
|
||||
FROM alg_ruimte r
|
||||
WHERE r.alg_verdieping_key = v_verdieping_key
|
||||
AND r.alg_ruimte_nr = p_roomNr;
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
dbms_output.put_line('before insert alg_ruimte' || v_verdieping_key || '-' || p_roomNr || '-' || p_roomName);
|
||||
INSERT INTO alg_ruimte (alg_verdieping_key, alg_ruimte_nr, alg_ruimte_omschrijving, alg_srtruimte_key)
|
||||
VALUES(v_verdieping_key, p_roomNr, SUBSTR(p_roomName,1,30), 12) -- onbekend
|
||||
RETURNING alg_ruimte_key INTO v_ruimte_key;
|
||||
END;
|
||||
dbms_output.put_line('before res_ruimte');
|
||||
-- AltrechtRuimten = 981
|
||||
INSERT INTO res_ruimte (res_discipline_key, res_ruimte_nr, res_ruimte_omschrijving, res_ruimte_extern_id)
|
||||
VALUES (981, SUBSTR(v_gebouw_prefix || '-' || p_roomName,1,40), null, p_roomId)
|
||||
RETURNING res_ruimte_key INTO v_res_ruimte_key;
|
||||
dbms_output.put_line('before res_alg_ruimte' || v_res_ruimte_key || '-' || v_ruimte_key);
|
||||
INSERT INTO res_alg_ruimte (res_ruimte_key, alg_ruimte_key)
|
||||
VALUES (v_res_ruimte_key, v_ruimte_key);
|
||||
dbms_output.put_line('before res_ruimte_opstelling');
|
||||
INSERT INTO res_ruimte_opstelling (res_ruimte_key, res_opstelling_key, res_ruimte_opstel_default, res_ruimte_opstel_bezoekers)
|
||||
VALUES (v_res_ruimte_key, 11, 1, 100)
|
||||
RETURNING res_ruimte_opstel_key INTO v_ruimte_opstel_key;
|
||||
END;
|
||||
END;
|
||||
|
||||
|
||||
FUNCTION get_resroom (p_roomId IN VARCHAR2)
|
||||
RETURN NUMBER
|
||||
AS
|
||||
v_ruimte_opstel_key NUMBER;
|
||||
BEGIN
|
||||
BEGIN
|
||||
SELECT rr.res_ruimte_key
|
||||
INTO v_ruimte_opstel_key
|
||||
FROM res_ruimte rr, res_ruimte_opstelling rro
|
||||
WHERE rr.res_ruimte_key = rro.res_ruimte_key
|
||||
AND rro.res_opstelling_key = 11 -- standaard
|
||||
AND res_ruimte_extern_id = p_roomId;
|
||||
RETURN v_ruimte_opstel_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
RETURN NULL;
|
||||
END;
|
||||
END;
|
||||
-- Einde Altrecht routines
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -4084,6 +4200,22 @@ SELECT sd.ins_srtdiscipline_omschrijving,
|
||||
AND km.mld_kenmerk_niveau = 'O'
|
||||
AND km.mld_srtkenmerk_key = sk.mld_srtkenmerk_key;
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE yask_daily
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- Voor de koppeling met Altrecht passen we alle ingelezen artikelen aan zodat ze een vrije omschrijving
|
||||
-- ondersteunen. Dit veld is niet beschikbaar in de API, anders hadden we het daar aangepast.
|
||||
UPDATE res_artikel
|
||||
SET res_artikel_vrije_omschrijving = 1
|
||||
WHERE res_artikel_externnr IS NOT NULL
|
||||
AND res_artikel_vrije_omschrijving = 0
|
||||
AND res_artikel_verwijder IS NULL;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user