STPH#70681 Koppeling Exchange
svn path=/Customer/trunk/; revision=55302
This commit is contained in:
@@ -262,7 +262,7 @@ AS
|
||||
WHERE res_kenmerk_key = c_km_key_genodigden
|
||||
AND res_rsv_ruimte_key = p_rsv_ruimte_key;
|
||||
-- Afspraak wissen
|
||||
v_afspraak_key := stph.getAfspraak(p_rsv_ruimte_key, 0);
|
||||
v_afspraak_key := stph_exchange.getAfspraak(p_rsv_ruimte_key, 0);
|
||||
IF v_afspraak_key IS NOT NULL
|
||||
THEN
|
||||
IF (v_debug) THEN
|
||||
@@ -322,7 +322,7 @@ AS
|
||||
-- Er zijn niet-AMB-/SSCA-medewerker attendees, zorgen dat er een afspraak is
|
||||
IF (v_afspraak_key IS NULL)
|
||||
THEN
|
||||
v_afspraak_key := stph.getAfspraak(p_rsv_ruimte_key, 1);
|
||||
v_afspraak_key := stph_exchange.getAfspraak(p_rsv_ruimte_key, 1);
|
||||
|
||||
-- Moet de afspraak verplaatst worden in de tijd?
|
||||
SELECT bez_afspraak_datum,
|
||||
@@ -357,7 +357,7 @@ AS
|
||||
p_rsv_ruimte_key, 'AFSPRAAK '||v_afspraak_key);
|
||||
END IF;
|
||||
END IF;
|
||||
stph.upsertBezoeker(p_import_key, v_afspraak_key, rec.bez_bezoekers_key, rec.att_mail, rec.att_name, rec.prs_perslid_key, rec.prs_afdeling_naam );
|
||||
stph_exchange.upsertBezoeker(p_import_key, v_afspraak_key, rec.bez_bezoekers_key, rec.att_mail, rec.att_name, rec.prs_perslid_key, rec.prs_afdeling_naam );
|
||||
END IF;
|
||||
|
||||
-- Opruiming: afspraken zonder bezoekers (kan gebeuren als er alleen nog interne deelnemers zijn,
|
||||
@@ -373,7 +373,7 @@ AS
|
||||
fac.imp_writelog (p_import_key, 'D',
|
||||
p_rsv_ruimte_key, SUBSTR('GENODIGDEN: '||CHR(13) ||v_genodigden, 1, 1000) );
|
||||
END IF;
|
||||
stph.upsertkenmerk_res(c_km_key_genodigden, p_rsv_ruimte_key, v_genodigden );
|
||||
stph_exchange.upsertkenmerk_res(c_km_key_genodigden, p_rsv_ruimte_key, v_genodigden );
|
||||
END IF;
|
||||
|
||||
END;
|
||||
@@ -546,7 +546,7 @@ AS
|
||||
|
||||
-- Mailadres opslaan
|
||||
-- bez_kenmerk E-mail 1000
|
||||
stph.upsertkenmerk_bez(1000, v_bezoekers_key, p_att_mail);
|
||||
stph_exchange.upsertkenmerk_bez(1000, v_bezoekers_key, p_att_mail);
|
||||
END IF;
|
||||
|
||||
-- TODO: tracking; liefst geen aparte regel per bezoeker
|
||||
@@ -1208,7 +1208,7 @@ IS
|
||||
v_ongeldig NUMBER (1);
|
||||
v_debug BOOLEAN := TRUE;
|
||||
|
||||
c_activiteit_key NUMBER (10) := 201; -- Vergadering vanuit Exchange
|
||||
c_activiteit_key NUMBER (10) := 70; -- Vergadering vanuit Exchange
|
||||
v_reservering_key NUMBER (10);
|
||||
v_rsv_ruimte_volgnr res_rsv_ruimte.res_rsv_ruimte_volgnr%TYPE;
|
||||
v_ruimte_opstel_key NUMBER (10);
|
||||
@@ -1791,7 +1791,7 @@ BEGIN
|
||||
OR rec.res_rsv_ruimte_tot != rec.endtime)
|
||||
THEN
|
||||
v_errorhint := 'Opstelling ophalen';
|
||||
v_ruimte_opstel_key := stph.getOpstelling(rec.room_id);
|
||||
v_ruimte_opstel_key := stph_exchange.getOpstelling(rec.room_id);
|
||||
IF (v_ruimte_opstel_key IS NULL)
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
@@ -1850,7 +1850,7 @@ BEGIN
|
||||
|
||||
-- Bezoekers bijwerken
|
||||
v_errorhint := 'Bezoekers bijwerken';
|
||||
stph.setBezoekers(p_import_key, rec.appt_id, rec.recur_id, rec.res_rsv_ruimte_key);
|
||||
stph_exchange.setBezoekers(p_import_key, rec.appt_id, rec.recur_id, rec.res_rsv_ruimte_key);
|
||||
|
||||
-- Succesvol afgerond; zet vlag.
|
||||
-- All<6C><6C>n voor nu beschouwde ruimte! (appointments kunnen op meerdere ruimtes zijn)
|
||||
@@ -1923,7 +1923,7 @@ BEGIN
|
||||
AND a.prs_afdeling_key = p.prs_afdeling_key;
|
||||
|
||||
v_errorhint := 'Opstelling ophalen';
|
||||
v_ruimte_opstel_key := stph.getOpstelling(rec.room_id);
|
||||
v_ruimte_opstel_key := stph_exchange.getOpstelling(rec.room_id);
|
||||
IF (v_ruimte_opstel_key IS NULL)
|
||||
THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
@@ -2022,7 +2022,7 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
v_errorhint := 'Toevoegen bezoekers';
|
||||
stph.setBezoekers(p_import_key, rec.appt_id, rec.recur_id, v_rsv_ruimte_key);
|
||||
stph_exchange.setBezoekers(p_import_key, rec.appt_id, rec.recur_id, v_rsv_ruimte_key);
|
||||
|
||||
-- Succesvol afgerond; zet vlag.
|
||||
-- TODO: komen we hier ook als er iets mis ging met de bezoekers?
|
||||
@@ -2087,7 +2087,7 @@ BEGIN
|
||||
-- Bij dirty ruimtes de *oudere* opruimen
|
||||
v_aanduiding := 'Calling set_ruimtes_clean';
|
||||
v_errorhint := '';
|
||||
stph.set_ruimtes_clean(p_import_key);
|
||||
stph_exchange.set_ruimtes_clean(p_import_key);
|
||||
COMMIT;
|
||||
|
||||
EXCEPTION
|
||||
@@ -2135,12 +2135,68 @@ BEGIN
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE stph_update_exchsync (
|
||||
CREATE OR REPLACE PROCEDURE stph_update_exchfull (
|
||||
p_import_key IN NUMBER
|
||||
)
|
||||
IS
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
BEGIN
|
||||
stph_update_exchange(p_import_key);
|
||||
stph_update_exchange(p_import_key); -- Eerst de gewone import
|
||||
|
||||
-- Nu alle reserveringen die niet zijn aangetroffen verwijderen
|
||||
-- (Alleen voor ruimtes die in de importtabel voorkomen. Normaliter zijn dat alle ruimtes,
|
||||
-- maar zo voorkom je dat je alle reserveringen weggooit als een ruimte 'per ongeluk' een
|
||||
-- keer niet in de import zit. Handmatig verwijderen kan altijd.)
|
||||
FOR rec IN (WITH this_import AS (SELECT *
|
||||
FROM stph_imp_exchange
|
||||
WHERE fac_import_key = p_import_key)
|
||||
SELECT res_rsv_ruimte_key,
|
||||
res_rsv_ruimte_van,
|
||||
res_rsv_ruimte_tot,
|
||||
res_reservering_key,
|
||||
res_rsv_ruimte_volgnr
|
||||
FROM res_rsv_ruimte rr,
|
||||
res_ruimte_opstelling ro,
|
||||
res_ruimte r
|
||||
WHERE rr.res_rsv_ruimte_externnr IS NOT NULL
|
||||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||||
AND rr.res_rsv_ruimte_van >= (SELECT MIN(starttime) FROM this_import)
|
||||
AND rr.res_rsv_ruimte_van <= (SELECT MAX(starttime) FROM this_import)
|
||||
AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key
|
||||
AND r.res_ruimte_key = ro.res_ruimte_key
|
||||
AND r.res_ruimte_extern_id IN (SELECT DISTINCT room_id FROM this_import)
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM this_import i
|
||||
WHERE rr.res_rsv_ruimte_externnr LIKE i.appt_id||'|'||i.recur_id||'|%'
|
||||
AND r.res_ruimte_extern_id = i.room_id)
|
||||
)
|
||||
LOOP
|
||||
v_errorhint := 'Verwijderen reservering '
|
||||
|| TO_CHAR(rec.res_reservering_key) || '/' || rec.res_rsv_ruimte_volgnr
|
||||
|| ' (' || TO_CHAR(rec.res_rsv_ruimte_key) || ')';
|
||||
fac.imp_writelog (p_import_key, 'I', v_errorhint, '');
|
||||
|
||||
UPDATE res_rsv_ruimte
|
||||
SET res_status_fo_key = 1, -- nooit doorbelasten of v_status_fo_key?
|
||||
res_rsv_ruimte_verwijder = SYSDATE
|
||||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||||
|
||||
fac.trackaction ('RESDEL', rec.res_rsv_ruimte_key, NULL, SYSDATE, NULL);
|
||||
|
||||
res.set_ruimte_dirty(rec.res_rsv_ruimte_key);
|
||||
res.set_ruimtes_clean(rec.res_rsv_ruimte_van);
|
||||
res.follow_artikel(rec.res_rsv_ruimte_key, rec.res_rsv_ruimte_van, rec.res_rsv_ruimte_tot);
|
||||
res.follow_deel(rec.res_rsv_ruimte_key, rec.res_rsv_ruimte_van, rec.res_rsv_ruimte_tot);
|
||||
|
||||
v_errorhint := 'res_reservering verwijderen';
|
||||
UPDATE res_reservering
|
||||
SET res_reservering_verwijder = SYSDATE
|
||||
WHERE res_reservering_key = rec.res_reservering_key
|
||||
AND NOT EXISTS (SELECT *
|
||||
FROM res_v_aanwezigrsv_ruimte
|
||||
WHERE res_reservering_key = rec.res_reservering_key);
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user