1569 lines
66 KiB
MySQL
1569 lines
66 KiB
MySQL
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific db-configuration for VBGO.
|
|
DEFINE thisfile = 'VBGO.SQL'
|
|
DEFINE dbuser = '^VBGO'
|
|
|
|
SET ECHO ON
|
|
SET DEFINE ON
|
|
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
|
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 ------
|
|
|
|
-- Koppeling om persoonsgegevens in te lezen vanuit Synergy van Yask (aangeleverde bestand dat
|
|
-- in de VenR omgeving via de mail ontvangen is wordt gekopieerd naar de VBGO omgeving.
|
|
CREATE OR REPLACE PROCEDURE vbgo_import_prs (p_import_key IN NUMBER)
|
|
AS
|
|
v_seq_of_columns VARCHAR(255);
|
|
BEGIN
|
|
-- v_alg_locatie_code 1
|
|
-- v_alg_gebouw_code 2
|
|
-- v_alg_verdieping_volgnr 3
|
|
-- v_alg_ruimte_nr 4
|
|
-- v_prs_werkplek_volgnr 5
|
|
-- v_prs_werkplek_omschrijving 6
|
|
-- v_prs_afdeling_naam 7
|
|
-- v_prs_perslid_naam 8
|
|
-- v_prs_perslid_tussenvoegsel 9
|
|
-- v_prs_perslid_voornaam 10
|
|
-- v_prs_perslid_voorletters 11
|
|
-- v_prs_perslid_partner_naam 12
|
|
-- v_prs_perslid_partner_tussenv 13
|
|
-- v_prs_naamgebruik_code 14 0 (default) perslid_naam en perslid_tussenvoegsel worden gebruikt
|
|
-- 1 personen die de geboortenaam van de partner icm de eigen naam willen gebruiken
|
|
-- 2 personen die de geboortenaam van de partner willen gebruiken
|
|
-- 3 personen die de eigen naam icm de geboortenaam van de partner willen gebruiken
|
|
-- v_prs_perslid_geslacht 15 Gebruik 'man', 'm' of 1 voor man en 'vrouw', 'v' of 0 voor vrouw case insensitive geen default
|
|
-- v_prs_perslid_telefoonnr 16
|
|
-- v_prs_perslid_mobiel 17
|
|
-- v_prs_perslid_email 18
|
|
-- v_prs_perslid_dienstverband 19
|
|
-- v_prs_perslid_nr 20
|
|
-- v_prs_srtperslid_omschrijving 21
|
|
-- v_prs_perslid_oslogin 22
|
|
-- v_prs_perslid_wachtwoord 23
|
|
-- v_prs_perslid_titel 24
|
|
-- v_prs_perslid_apikey 25
|
|
-- v_dummy 26
|
|
-- v_prs_kenmerk1 27
|
|
-- v_prs_kenmerk2 28
|
|
-- v_prs_kenmerk3 29
|
|
-- v_prs_kenmerk4 30
|
|
-- v_prs_kenmerk5 31
|
|
-- v_prs_kenmerk6 32
|
|
-- v_prs_kenmerk7 33
|
|
-- v_prs_kenmerk8 34
|
|
-- v_prs_kenmerk9 35
|
|
-- v_prs_kenmerk10 36
|
|
-- v_prs_kenmerk11 37
|
|
-- v_prs_kenmerk12 38
|
|
-- v_prs_kenmerk13 39
|
|
-- v_prs_kenmerk14 40
|
|
-- v_prs_kenmerk15 41
|
|
-- v_prs_kenmerk16 42
|
|
-- v_prs_kenmerk17 43
|
|
-- v_prs_kenmerk18 44
|
|
-- v_prs_kenmerk19 45
|
|
-- v_prs_kenmerk20 46
|
|
-- Voeg een lege regel toe anders wordt de eerste persoon geskipped.
|
|
INSERT INTO fac_imp_file (fac_imp_file_line, fac_imp_file_index, fac_import_key)
|
|
VALUES ('Header', 0, p_import_key);
|
|
v_seq_of_columns := '0;0;0;0;0;0;9;4;3;2;0;0;0;0;0;10;11;8;0;1;5;8;0;0;0;0;6;7;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0';
|
|
prs.import_perslid(p_import_key, v_seq_of_columns, '%');
|
|
|
|
UPDATE fac_imp_perslid
|
|
SET prs_perslid_oslogin = UPPER(prs_perslid_oslogin),
|
|
prs_afdeling_naam = 'FS';
|
|
|
|
DELETE fac_imp_perslid
|
|
WHERE prs_perslid_oslogin IS NULL;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE vbgo_update_prs (p_import_key IN NUMBER)
|
|
IS
|
|
CURSOR c_del
|
|
IS
|
|
SELECT p.prs_perslid_key
|
|
FROM prs_perslid p
|
|
WHERE p.prs_perslid_verwijder IS NULL -- Persoon niet verwijderd
|
|
AND p.prs_afdeling_key = 75 -- FS
|
|
AND p.prs_perslid_nr IS NOT NULL
|
|
AND SUBSTR (COALESCE (p.prs_perslid_oslogin, 'Que'), 1, 1) <> '_'
|
|
AND COALESCE (p.prs_perslid_login, SYSDATE - 300) < SYSDATE - 60 -- Persoon 2 maanden niet ingelogd geweest
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM fac_imp_perslid i
|
|
WHERE lower(i.prs_perslid_email) = lower(p.prs_perslid_email));
|
|
|
|
v_count NUMBER;
|
|
BEGIN
|
|
SELECT COUNT ( * ) INTO v_count FROM fac_imp_perslid;
|
|
|
|
prs.update_perslid (p_import_key, 'EMAIL', NULL);
|
|
|
|
INSERT INTO fac_gebruikersgroep gg (prs_perslid_key, fac_groep_key)
|
|
SELECT p.prs_perslid_key, 487 -- YASK_Default_MLD_BES_RES
|
|
FROM prs_perslid p
|
|
WHERE prs_perslid_verwijder IS NULL
|
|
AND prs_afdeling_key = 75 -- YASK
|
|
AND NOT EXISTS (SELECT 1
|
|
FROM fac_gebruikersgroep gg2
|
|
WHERE gg2.fac_groep_key = 487
|
|
AND p.prs_perslid_key = gg2.prs_perslid_key);
|
|
|
|
-- Oppassen dat we geen leeg bestand ontvangen hebben.
|
|
IF v_count > 100
|
|
THEN
|
|
FOR rec IN c_del
|
|
LOOP
|
|
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
|
END LOOP;
|
|
END IF;
|
|
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
|
|
|
|
-- View voor reserveerbare (werkplek)OBJECTEN, het default thema met key 13
|
|
-- Deze core-view wordt direct als kleur-objecten-thema gebruikt, maar kan ook als basis voor een alternatief via worden gebruikt
|
|
-- Kijkt nu hard maximaal 42 dagen tov van nu vooruit, wat hopelijk even genoeg is voor alle situaties
|
|
-- De verschillende waardevarianten zijn presentatie alternatieven, evt meerdere regels onder elkaar
|
|
-- waarde1: Voor hele dagen: Vrij(0) of Bezet (3)
|
|
-- waarde: Voor halve dagen: Vrij(0), Ochtendbezet(1), MiddagBezet(2), Helemaalbezet(3) of het type werkplek (kenmerk bij deel)
|
|
-- waarde3: Voor tellen: Het aantal reservering op de dag, met 0 is dus Vrij
|
|
|
|
CREATE OR REPLACE VIEW vbgo_v_thema_wp_res_datum
|
|
AS
|
|
WITH
|
|
datums
|
|
AS
|
|
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
|
|
FROM DUAL
|
|
CONNECT BY LEVEL <= 42)
|
|
SELECT datum
|
|
fclt_f_datum,
|
|
ins_deel_key,
|
|
MIN (res_rsv_deel_van)
|
|
min_van,
|
|
MAX (res_rsv_deel_tot)
|
|
max_tot,
|
|
CASE WHEN MAX (res_rsv_deel_tot) IS NULL THEN 0 ELSE 3 -- hele dag
|
|
END
|
|
waarde1,
|
|
CASE
|
|
WHEN MAX (res_rsv_deel_tot) IS NULL THEN FAC.safe_to_number(fac_usrdata_code)
|
|
WHEN TO_CHAR (MAX (res_rsv_deel_tot), 'HH24') <= 13 THEN 1 -- ochtend
|
|
WHEN TO_CHAR (MIN (res_rsv_deel_van), 'HH24') >= 12 THEN 2 -- middag
|
|
ELSE 3 -- hele dag
|
|
END
|
|
waarde,
|
|
COUNT (res_rsv_deel_tot) -- aantal reservering deze dag
|
|
waarde3
|
|
FROM (SELECT datums.datum,
|
|
res_ins_deel_key ins_deel_key,
|
|
res_rsv_deel_van,
|
|
res_rsv_deel_tot,
|
|
fac_usrdata_code
|
|
FROM res_v_aanwezigdeel r,
|
|
ins_deel d,
|
|
datums,
|
|
ins_kenmerkdeel kd,
|
|
fac_usrdata ud,
|
|
(SELECT datum,
|
|
res_deel_key,
|
|
res_rsv_deel_van,
|
|
res_rsv_deel_tot
|
|
FROM datums, res_v_aanwezigrsv_deel rrd
|
|
WHERE res_rsv_deel_van > TRUNC(SYSDATE) - 1 -- negeer alle irrelevante historie sowieso
|
|
AND datum + 1 >= res_rsv_deel_van
|
|
AND datum < res_rsv_deel_tot) blokkerend -- vandaag en nog niet afgelopen
|
|
WHERE r.res_deel_key = blokkerend.res_deel_key(+)
|
|
AND datums.datum = blokkerend.datum(+)
|
|
AND (r.res_deel_vervaldatum IS NULL or r.res_deel_vervaldatum > datums.datum)
|
|
AND d.ins_deel_key = r.res_ins_deel_key
|
|
AND d.ins_deel_key = kd.ins_deel_key
|
|
AND kd.ins_kenmerk_key = 1 -- type werkplek
|
|
AND FAC.safe_to_number(ins_kenmerkdeel_waarde) = ud.fac_usrdata_key)
|
|
GROUP BY datum, ins_deel_key, fac_usrdata_code
|
|
ORDER BY datum, ins_deel_key;
|
|
|
|
-- rapportage voor vergaderdisplays
|
|
CREATE OR REPLACE VIEW vbgo_v_rap_res_room_display
|
|
AS
|
|
SELECT prs_perslid_naam_friendly
|
|
res_rsv_ruimte_host_friendly,
|
|
res_ruimte_nr,
|
|
TO_CHAR (COALESCE (rrr.res_rsv_ruimte_van, SYSDATE), 'Day')
|
|
dagvdweek,
|
|
TO_CHAR (COALESCE (rrr.res_rsv_ruimte_van, SYSDATE), 'Month')
|
|
maand,
|
|
TO_CHAR (COALESCE (rrr.res_rsv_ruimte_van, SYSDATE), 'YYYY')
|
|
jaar,
|
|
TO_CHAR (COALESCE (rrr.res_rsv_ruimte_van, SYSDATE), 'DD')
|
|
dag,
|
|
DECODE (rrr.res_rsv_ruimte_key, NULL, 'Vrij',
|
|
DECODE(SIGN(rrr.res_rsv_ruimte_van - SYSDATE), 1, 'Vrij', 'Bezet'))
|
|
status,
|
|
TO_CHAR (rrr.res_rsv_ruimte_van, 'hh24:mi')
|
|
res_rsv_ruimte_van,
|
|
TO_CHAR (rrr.res_rsv_ruimte_tot, 'hh24:mi')
|
|
res_rsv_ruimte_tot,
|
|
rar.res_alg_ruimte_key
|
|
FROM res_ruimte rr,
|
|
res_rsv_ruimte rrr,
|
|
prs_v_perslid_fullnames pf,
|
|
res_alg_ruimte rar,
|
|
(SELECT *
|
|
FROM res_v_rsv_ruimte_2_alg_ruimte
|
|
WHERE res_rsv_ruimte_tot > SYSDATE
|
|
AND TRUNC(res_rsv_ruimte_van) = TRUNC(SYSDATE))
|
|
r2a
|
|
WHERE rr.res_ruimte_key = r2a.res_ruimte_key(+)
|
|
AND r2a.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
|
|
AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key(+)
|
|
AND rr.res_ruimte_key = rar.res_ruimte_key;
|
|
|
|
|
|
-- Tijdelijke procedures om reserveringen uit Outlook in te lezen
|
|
CREATE OR REPLACE PROCEDURE vbgo_import_res (p_import_key IN NUMBER)
|
|
AS
|
|
c_fielddelimitor VARCHAR2 (1) := ';';
|
|
v_newline VARCHAR2 (1000); -- Input line
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (200);
|
|
|
|
-- De importvelden:
|
|
v_afdelingscode VARCHAR2 (100);
|
|
v_afdelingsomschrijving VARCHAR2 (100);
|
|
v_afdelingsparent VARCHAR2 (100);
|
|
v_zaal VARCHAR2(1000);
|
|
v_starttijd VARCHAR2(100);
|
|
v_eindtijd VARCHAR2(100);
|
|
v_onderwerp VARCHAR2(1000);
|
|
v_organisator VARCHAR2(100);
|
|
v_uitgenodigd VARCHAR2(1000);
|
|
v_dummy VARCHAR2(1000);
|
|
|
|
v_perslid_key NUMBER;
|
|
CURSOR c
|
|
IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
BEGIN
|
|
-- Eerst de importtabel leegmaken
|
|
DELETE vbgo_imp_res;
|
|
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
v_errormsg := 'Fout FETCH te importeren rij';
|
|
|
|
v_newline := rec.fac_imp_file_line;
|
|
v_errormsg := 'Fout opvragen te importeren rij';
|
|
v_aanduiding := '';
|
|
|
|
-- Lees alle veldwaarden
|
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_zaal);
|
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_starttijd);
|
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_eindtijd);
|
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_onderwerp);
|
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_organisator);
|
|
fac.imp_getfield (v_newline, c_fielddelimitor, v_uitgenodigd);
|
|
|
|
v_aanduiding := v_zaal || '|' || v_starttijd || '|' || v_eindtijd;
|
|
|
|
v_errormsg :=
|
|
'Fout bij toevoegen te impoteren bedrijf/afdeling [' || v_aanduiding || ']';
|
|
|
|
BEGIN
|
|
SELECT MAX(prs_perslid_key)
|
|
INTO v_perslid_key
|
|
FROM prs_perslid
|
|
WHERE prs_perslid_verwijder IS NULL
|
|
AND UPPER(prs_perslid_email) = UPPER(v_organisator);
|
|
|
|
EXCEPTION WHEN NO_DATA_FOUND
|
|
THEN
|
|
fac.imp_writelog (p_import_key,
|
|
'W',
|
|
v_errormsg,
|
|
'');
|
|
END;
|
|
|
|
INSERT INTO vbgo_imp_res (zaal,
|
|
starttijd,
|
|
eindtijd,
|
|
onderwerp,
|
|
organisator,
|
|
uitgenodigd)
|
|
VALUES (v_zaal,
|
|
v_starttijd,
|
|
v_eindtijd,
|
|
v_onderwerp,
|
|
v_organisator,
|
|
v_uitgenodigd);
|
|
|
|
END;
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_errormsg,
|
|
'');
|
|
END vbgo_import_res;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE vbgo_update_res (p_import_key IN NUMBER)
|
|
AS
|
|
CURSOR c IS
|
|
SELECT *
|
|
FROM vbgo_imp_res
|
|
WHERE TO_DATE (starttijd, 'dd-mm-yyyy hh24:mi') > SYSDATE
|
|
AND starttijd NOT LIKE 'Starttijd';
|
|
|
|
v_ruimte_opstel_key NUMBER;
|
|
v_perslid_key NUMBER;
|
|
v_res_ruimte_key NUMBER;
|
|
v_rsv_ruimte_key NUMBER;
|
|
v_reservering_key NUMBER;
|
|
v_opmerking VARCHAR2(200);
|
|
|
|
v_aanduiding VARCHAR2 (100);
|
|
v_errorhint VARCHAR2 (1000);
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
BEGIN
|
|
BEGIN
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
v_opmerking := NULL;
|
|
v_aanduiding := rec.zaal || '-' || rec.starttijd;
|
|
v_errorhint := 'Opzoeken reserveerbare ruimte: ' || rec.zaal;
|
|
|
|
SELECT CASE SUBSTR (rec.zaal, 1, INSTR (rec.zaal, '@') - 1)
|
|
WHEN 'ams.jordaan' THEN 21 --AMS Vergaderruimte 2 - De Jordaan ams.jordaan@vebego.mail.onmicrosoft.com
|
|
WHEN 'AMS.Albert' THEN 41 --AMS Vergaderruimte 1 - Albert Cuyp AMS.Albert@vebego.mail.onmicrosoft.com
|
|
WHEN 'ams.dam' THEN 42 --AMS Vergaderruimte 3 - De dam ams.dam@vebego.mail.onmicrosoft.com
|
|
WHEN 'ams.vondelpark' THEN 61 --AMS Vergaderruimte 6 - Het vondelpark ams.vondelpark@vebego.mail.onmicrosoft.com
|
|
WHEN 'ams.rembrandtplein' THEN 62 --AMS Vergaderruimte 5 - Rembrandtplein ams.rembrandtplein@vebego.mail.onmicrosoft.com
|
|
WHEN 'ams.johan' THEN 63 --AMS Vergaderruimte 4 - Johan Cruijf Arena ams.johan@vebego.mail.onmicrosoft.com
|
|
WHEN 'Vergaderruimte.1.Eindhoven' THEN 81 --EIND Vergaderruimte 1 - Eindhoven Vergaderruimte.1.Eindhoven@hago.nl
|
|
WHEN 'Vergaderruimte.2.Eindhoven' THEN 101 --EIND Vergaderruimte 2 - Eindhoven Vergaderruimte.2.Eindhoven@hago.nl
|
|
WHEN 'Vergaderruimte.3.Eindhoven' THEN 121 --EIND Vergaderruimte 3 - Eindhoven Vergaderruimte.3.Eindhoven@hago.nl
|
|
WHEN 'ruimte1arn' THEN 141 --ARN Vergaderruimte 1 - Arnhem ruimte1arn@vebego.mail.onmicrosoft.com
|
|
WHEN '19' THEN 142 --EIND Vergaderruimte 4 - Eindhoven
|
|
WHEN 'ruimte2arn' THEN 143 --ARN Vergaderruimte 2 - Arnhem ruimte2arn@vebego.mail.onmicrosoft.com
|
|
WHEN 'ruimte3arn' THEN 144 --ARN Vergaderruimte 3 - Arnhem ruimte3arn@vebego.mail.onmicrosoft.com
|
|
WHEN '22' THEN 161 --EIND Combi ruimte 2&3 - Eindhoven
|
|
WHEN '23' THEN 161 --EIND Combi ruimte 2&3 - Eindhoven
|
|
WHEN 'Vergaderruimte1' THEN 181 --DB Vergaderruimte 1 - Den Bosch Vergaderruimte1@hagozorg.nl
|
|
WHEN '25' THEN 201 --DB Vergaderruimte 3 - Den Bosch
|
|
WHEN 'Vergaderruimte4' THEN 221 --DB Vergaderruimte 4 - Den Bosch Vergaderruimte4@hagozorg.nl
|
|
WHEN 'Vergaderruimte5' THEN 222 --DB Vergaderruimte 5 - Den Bosch Vergaderruimte5@hagozorg.nl
|
|
WHEN 'Vergaderkamer.Capelle.Hago.Zorg' THEN 223 --CAP Vergaderruimte ZW - Capelle Vergaderkamer.Capelle.Hago.Zorg@hagozorg.nl
|
|
WHEN 'Vergaderruimte6' THEN 224 --DB Vergaderruimte 6 - Den Bosch Vergaderruimte6@hagozorg.nl
|
|
WHEN 'Vergaderruimte1CAY' THEN 225 --CAP Vergaderruimte 1 - Capelle Vergaderruimte1CAY@hago.nl
|
|
WHEN 'Vergaderruimte7' THEN 226 --DB Vergaderruimte 7 - Den Bosch Vergaderruimte7@hagozorg.nl
|
|
WHEN 'Vergaderruimte2CAY' THEN 227 --CAP Vergaderruimte 2 - Capelle Vergaderruimte2CAY@hago.nl
|
|
WHEN 'Vergaderruimte8' THEN 228 --DB Vergaderruimte 8 - Den Bosch Vergaderruimte8@hagozorg.nl
|
|
WHEN '34' THEN 229 --CAP Spreekkamer - Capelle
|
|
WHEN 'Vergaderkamer.heerlen1' THEN 241 --HRL/8 Vergaderruimte 1 - Heerlen Vergaderkamer.heerlen1@hagozorg.nl
|
|
WHEN 'Vergaderkamer.heerlen2' THEN 242 --HRL/8 Vergaderruimte 2 - Heerlen Vergaderkamer.heerlen2@hagozorg.nl
|
|
WHEN 'Vergaderkamer.heerlen3' THEN 243 --HRL/8 Vergaderruimte 3 - Heerlen Vergaderkamer.heerlen3@hagozorg.nl
|
|
WHEN 'Vergaderkamer.heerlen4' THEN 244 --HRL/8 Vergaderruimte 4 - Heerlen Vergaderkamer.heerlen4@hagozorg.nl
|
|
WHEN 'Vergaderkamer.heerlen5' THEN 245 --HRL/8 Vergaderruimte 5 - Heerlen Vergaderkamer.heerlen5@hagozorg.nl
|
|
WHEN 'Vergaderkamer.heerlen.6' THEN 246 --HRL/8 Vergaderruimte 6 - Heerlen Vergaderkamer.heerlen.6@hagozorg.nl
|
|
WHEN '41' THEN 247 --HRL/8 Vergaderruimte 7 - Heerlen
|
|
WHEN '42' THEN 261 --HRL/8 Vergaderruimte 1 - Heerlen 8A
|
|
WHEN '43' THEN 262 --HRL/8 Vergaderruimte 2 - Heerlen 8A
|
|
WHEN '44' THEN 263 --HRL/8 Vergaderruimte 3 - Heerlen 8A
|
|
WHEN '45' THEN 264 --HRL/8 Vergaderruimte 4 - Heerlen 8A
|
|
WHEN '45' THEN 265 --HRL/8 Vergaderruimte 5 - Heerlen 8A
|
|
WHEN '46' THEN 266 --HRL/8 Vergaderruimte 6 - Heerlen 8A
|
|
ELSE -1
|
|
END
|
|
INTO v_res_ruimte_key
|
|
FROM DUAL;
|
|
|
|
v_errorhint := 'Opzoeken opstelling: ' || rec.zaal;
|
|
|
|
SELECT res_ruimte_opstel_key
|
|
INTO v_ruimte_opstel_key
|
|
FROM res_ruimte_opstelling
|
|
WHERE res_ruimte_opstel_verwijder IS NULL
|
|
AND res_ruimte_key = v_res_ruimte_key;
|
|
|
|
BEGIN
|
|
SELECT prs_perslid_key
|
|
INTO v_perslid_key
|
|
FROM prs_perslid
|
|
WHERE prs_perslid_verwijder IS NULL
|
|
AND UPPER (prs_perslid_email) =
|
|
UPPER (rec.organisator);
|
|
EXCEPTION
|
|
WHEN NO_DATA_FOUND
|
|
THEN
|
|
v_perslid_key := 3; -- Facilitor
|
|
v_opmerking := 'Contactpersoon: ' || rec.organisator;
|
|
END;
|
|
|
|
INSERT INTO res_reservering (res_reservering_verwijder)
|
|
VALUES (NULL)
|
|
RETURNING res_reservering_key
|
|
INTO v_reservering_key;
|
|
|
|
v_errormsg := 'Fout toevoegen rsv_ruimte.';
|
|
|
|
INSERT INTO res_rsv_ruimte (res_reservering_key,
|
|
res_rsv_ruimte_volgnr,
|
|
res_rsv_ruimte_opmerking,
|
|
res_rsv_ruimte_omschrijving,
|
|
prs_kostenplaats_key,
|
|
res_rsv_ruimte_contact_key,
|
|
res_rsv_ruimte_host_key,
|
|
res_ruimte_opstel_key,
|
|
res_activiteit_key,
|
|
res_rsv_ruimte_van,
|
|
res_rsv_ruimte_tot,
|
|
res_rsv_ruimte_bezoekers,
|
|
res_status_fo_key,
|
|
res_status_bo_key)
|
|
VALUES (v_reservering_key,
|
|
1,
|
|
v_opmerking,
|
|
rec.onderwerp,
|
|
NULL,
|
|
v_perslid_key,
|
|
v_perslid_key,
|
|
v_ruimte_opstel_key,
|
|
10, -- vergadering
|
|
TO_DATE (rec.starttijd, 'DD-MM-YYYY:HH24:MI'),
|
|
TO_DATE (rec.eindtijd, 'DD-MM-YYYY:HH24:MI'),
|
|
NULL,
|
|
2,
|
|
2)
|
|
RETURNING res_rsv_ruimte_key
|
|
INTO v_rsv_ruimte_key;
|
|
|
|
FAC.trackaction ('RESNEW',
|
|
v_rsv_ruimte_key,
|
|
3,
|
|
SYSDATE,
|
|
'Aangemaakt door conversie uit Outook');
|
|
|
|
RES.set_ruimte_dirty (v_rsv_ruimte_key);
|
|
|
|
fac.imp_writelog (p_import_key,
|
|
'I',
|
|
'Reservering is aangemaakt: ' || v_rsv_ruimte_key,
|
|
v_aanduiding);
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
'OTHERS (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
v_errorhint);
|
|
END;
|
|
END LOOP;
|
|
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg :=
|
|
'OTHERS (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
v_errorhint);
|
|
END;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE vbgo_import_mailomzetting (p_import_key IN NUMBER)
|
|
AS
|
|
|
|
CURSOR f IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
|
|
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
|
v_header_is_valid NUMBER;
|
|
v_count NUMBER;
|
|
v_field VARCHAR2(100);
|
|
v_index NUMBER (2);
|
|
v_old_email_index NUMBER := NULL;
|
|
v_new_email_index NUMBER := NULL;
|
|
v_name_index NUMBER := NULL;
|
|
v_old_email VARCHAR2(200);
|
|
v_new_email VARCHAR2(200);
|
|
v_name VARCHAR2(200);
|
|
c_delim VARCHAR2(1) := ';';
|
|
BEGIN
|
|
v_header_is_valid := 0;
|
|
|
|
FOR rec IN f
|
|
LOOP
|
|
v_newline := rec.fac_imp_file_line;
|
|
|
|
IF v_header_is_valid = 0
|
|
THEN
|
|
IF rec.fac_imp_file_index = 1
|
|
THEN
|
|
v_index := 0;
|
|
v_field := 'QueQeLeQue';
|
|
WHILE v_field IS NOT NULL AND v_index < 30
|
|
LOOP
|
|
fac.imp_getfield (v_newline, c_delim, v_field);
|
|
v_index := v_index + 1;
|
|
CASE UPPER(v_field)
|
|
WHEN 'CUSTOMER EMAIL' THEN v_old_email_index := v_index;
|
|
WHEN 'NIEUWE UPN' THEN v_new_email_index := v_index;
|
|
WHEN 'CUSTOMER NAME' THEN v_name_index := v_index;
|
|
ELSE
|
|
NULL;
|
|
END CASE;
|
|
END LOOP;
|
|
END IF;
|
|
|
|
IF v_old_email_index IS NOT NULL
|
|
AND v_new_email_index IS NOT NULL
|
|
AND v_name_index IS NOT NULL
|
|
THEN
|
|
v_header_is_valid := 1;
|
|
END IF;
|
|
ELSIF v_newline NOT LIKE ';;;;;;;;%'
|
|
THEN
|
|
fac.imp_getfield_nr (v_newline, c_delim, v_old_email_index, v_old_email);
|
|
fac.imp_getfield_nr (v_newline, c_delim, v_new_email_index, v_new_email);
|
|
fac.imp_getfield_nr (v_newline, c_delim, v_name_index, v_name);
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_count
|
|
FROM prs_perslid
|
|
WHERE prs_perslid_verwijder IS NULL AND UPPER (prs_perslid_email) = UPPER (v_old_email);
|
|
|
|
IF v_count = 0
|
|
THEN
|
|
fac.imp_writelog (p_import_key, 'W', 'Persoon is niet gevonden: ' || v_name || ' <' || v_old_email || '>', '');
|
|
END IF;
|
|
|
|
IF v_count > 1
|
|
THEN
|
|
fac.imp_writelog (p_import_key, 'E', 'Persoon is ' || v_count || ' keer gevonden: ' || v_name || ' <' || v_old_email || '>', '');
|
|
END IF;
|
|
|
|
IF v_count = 1
|
|
THEN
|
|
fac.imp_writelog (p_import_key, 'I', 'Persoon is gevonden: ' || v_name || ' <' || v_old_email || '>', '');
|
|
END IF;
|
|
END IF;
|
|
END LOOP;
|
|
|
|
IF v_header_is_valid = 0
|
|
THEN
|
|
fac.imp_writelog (p_import_key, 'W', 'Geen geldige header aangetroffen', '');
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE vbgo_update_mailomzetting (p_import_key IN NUMBER)
|
|
AS
|
|
CURSOR f IS
|
|
SELECT *
|
|
FROM fac_imp_file
|
|
WHERE fac_import_key = p_import_key
|
|
ORDER BY fac_imp_file_index;
|
|
|
|
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
|
v_header_is_valid NUMBER;
|
|
v_count NUMBER;
|
|
v_field VARCHAR2(100);
|
|
v_index NUMBER (2);
|
|
v_old_email_index NUMBER := NULL;
|
|
v_new_email_index NUMBER := NULL;
|
|
v_name_index NUMBER := NULL;
|
|
v_old_email VARCHAR2(200);
|
|
v_new_email VARCHAR2(200);
|
|
v_name VARCHAR2(200);
|
|
c_delim VARCHAR2(1) := ';';
|
|
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (200);
|
|
v_prs_perslid_key NUMBER;
|
|
BEGIN
|
|
v_aanduiding := 'Initialisatie';
|
|
v_header_is_valid := 0;
|
|
|
|
v_header_is_valid := 0;
|
|
|
|
FOR rec IN f
|
|
LOOP
|
|
BEGIN
|
|
v_newline := rec.fac_imp_file_line;
|
|
|
|
IF v_header_is_valid = 0
|
|
THEN
|
|
IF rec.fac_imp_file_index = 1
|
|
THEN
|
|
v_index := 0;
|
|
v_field := 'QueQeLeQue';
|
|
WHILE v_field IS NOT NULL AND v_index < 30
|
|
LOOP
|
|
fac.imp_getfield (v_newline, c_delim, v_field);
|
|
v_index := v_index + 1;
|
|
CASE UPPER(v_field)
|
|
WHEN 'CUSTOMER EMAIL' THEN v_old_email_index := v_index;
|
|
WHEN 'NIEUWE UPN' THEN v_new_email_index := v_index;
|
|
WHEN 'CUSTOMER NAME' THEN v_name_index := v_index;
|
|
ELSE
|
|
NULL;
|
|
END CASE;
|
|
END LOOP;
|
|
END IF;
|
|
|
|
IF v_old_email_index IS NOT NULL
|
|
AND v_new_email_index IS NOT NULL
|
|
AND v_name_index IS NOT NULL
|
|
THEN
|
|
v_header_is_valid := 1;
|
|
END IF;
|
|
ELSIF v_newline NOT LIKE ';;;;;;;;%'
|
|
THEN
|
|
fac.imp_getfield_nr (v_newline, c_delim, v_old_email_index, v_old_email);
|
|
fac.imp_getfield_nr (v_newline, c_delim, v_new_email_index, v_new_email);
|
|
fac.imp_getfield_nr (v_newline, c_delim, v_name_index, v_name);
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_count
|
|
FROM prs_perslid
|
|
WHERE prs_perslid_verwijder IS NULL AND UPPER (prs_perslid_email) = UPPER (v_old_email);
|
|
|
|
IF v_count = 1
|
|
THEN
|
|
SELECT prs_perslid_key
|
|
INTO v_prs_perslid_key
|
|
FROM prs_perslid
|
|
WHERE prs_perslid_verwijder IS NULL AND UPPER (prs_perslid_email) = UPPER (v_old_email);
|
|
|
|
UPDATE prs_perslid
|
|
SET prs_perslid_email = v_new_email
|
|
WHERE prs_perslid_key = v_prs_perslid_key;
|
|
|
|
BEGIN fac.trackaction('PRSUPD', v_prs_perslid_key, NULL, NULL, 'E-mail: ' || v_old_email || ' --> ' || v_new_email); END;
|
|
fac.imp_writelog (p_import_key, 'I', 'Email is aangepast: ' || v_name || ' <' || v_old_email || '>', '');
|
|
END IF;
|
|
END IF;
|
|
|
|
EXCEPTION WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
|
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_errormsg,
|
|
v_aanduiding);
|
|
END;
|
|
END LOOP;
|
|
|
|
IF v_header_is_valid = 0
|
|
THEN
|
|
fac.imp_writelog (p_import_key, 'W', 'Geen geldige header aangetroffen', '');
|
|
END IF;
|
|
END;
|
|
/
|
|
|
|
-- View om een catalogus te exporteren die daarna weer ingelezen kan worden.
|
|
-- Hopelijk komt hier met YAXX#78417 een generieke oplossing voor.
|
|
CREATE OR REPLACE VIEW vbgo_v_rap_sync_catalogus
|
|
AS
|
|
SELECT d.ins_discipline_omschrijving catalogus_naam,
|
|
b.prs_bedrijf_naam leverancier,
|
|
NULL cat_datum,
|
|
sd.bes_srtdeel_nr artikelnr,
|
|
sg.bes_srtgroep_omschrijving groep,
|
|
sd.bes_srtdeel_omschrijving omschrijving,
|
|
REPLACE (TO_CHAR (bes.getsrtdeelprijs (sd.bes_srtdeel_key, NULL)), ',', '.') prijs,
|
|
sd.bes_srtdeel_eenheid eenheid,
|
|
sd.bes_srtdeel_image picture,
|
|
sd.bes_srtdeel_veelvoud orderaantal,
|
|
sd.bes_srtdeel_btw tax,
|
|
TO_CHAR (sd.bes_srtdeel_vervaldatum, 'yyyymmdd') duedate,
|
|
REPLACE (TO_CHAR (bes.getsrtdeelinkprijs (sd.bes_srtdeel_key, NULL)), ',', '.') inkoopprijs,
|
|
bes_srtdeel_minimum minimum,
|
|
bes_staffeltabel_naam staffeltabel,
|
|
bes_srtdeel_wijzigdagen wijzigdagen,
|
|
bes_srtdeel_annuleerdagen annuleerdagen,
|
|
bes_srtdeel_opmerking opmerking
|
|
FROM bes_srtdeel sd,
|
|
bes_srtgroep sg,
|
|
bes_discipline d,
|
|
prs_bedrijf b,
|
|
bes_staffeltabel st
|
|
WHERE sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
|
AND sg.ins_discipline_key = d.ins_discipline_key
|
|
AND sd.prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND sd.bes_staffeltabel_key = st.bes_staffeltabel_key(+)
|
|
AND sd.bes_srtdeel_verwijder IS NULL
|
|
AND sg.bes_srtgroep_verwijder IS NULL;
|
|
|
|
|
|
-- Views overgenomen uit de Yask omgeving
|
|
CREATE OR REPLACE VIEW vbgo_v_kosten_doorbelasting
|
|
AS
|
|
SELECT sd.ins_srtdiscipline_prefix || m.mld_melding_key meldingnummer,
|
|
m.mld_melding_key,
|
|
l.alg_locatie_omschrijving meldinglocatie,
|
|
pf.prs_perslid_naam_full melder,
|
|
sd.ins_srtdiscipline_omschrijving soortmelding,
|
|
d.ins_discipline_omschrijving productgroep,
|
|
std.mld_stdmelding_omschrijving subproductgroep,
|
|
ksm.prs_kostensoort_oms melding_nen_omschrijving,
|
|
ksm.prs_kostensoort_refcode melding_nen_code,
|
|
CASE
|
|
WHEN m.mld_melding_status = 5 AND m.mld_melding_afgerond = 1
|
|
THEN
|
|
'Afgerond'
|
|
ELSE
|
|
ms.mld_statuses_omschrijving
|
|
END
|
|
meldingstatus,
|
|
fs.fac_usrdata_omschr facturatiestatus,
|
|
m.mld_melding_datum meldingdatum,
|
|
MLD.getmeldingstatusdate (m.mld_melding_key, 5) afgemeld,
|
|
m.mld_melding_onderwerp onderwerp,
|
|
m.mld_melding_omschrijving vomschrijving,
|
|
sd.ins_srtdiscipline_prefix || m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdrachtnummer,
|
|
ot.mld_typeopdr_omschrijving opdrachttype,
|
|
so.mld_statusopdr_omschrijving opdrachtstatus,
|
|
o.mld_opdr_omschrijving opdrachtomschrijving,
|
|
kso.prs_kostensoort_oms opdracht_nen_omschrijving,
|
|
b.prs_bedrijf_naam opdrachtuitvoerende,
|
|
o.mld_opdr_kosten opdrachtkosten,
|
|
'Geen' soortopslag,
|
|
0 opslag,
|
|
o.mld_opdr_kosten kostenplusopslag,
|
|
NULL geenopslag,
|
|
NULL boekmaand,
|
|
aog.alg_gebouw_naam meldinggebouw,
|
|
(SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km WHERE km.mld_melding_key = m.mld_melding_key AND km.mld_kenmerk_key = 182) klant_inkoopordernr, -- keys uit Yask omgeving.
|
|
(SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km WHERE km.mld_melding_key = m.mld_melding_key AND km.mld_kenmerk_key = 181) klant_kostenplaats,
|
|
(SELECT mld_kenmerkmelding_waarde FROM mld_kenmerkmelding km WHERE km.mld_melding_key = m.mld_melding_key AND km.mld_kenmerk_key = 183) klant_werkorder,
|
|
o.mld_opdr_key,
|
|
l.alg_district_key
|
|
FROM prs_v_perslid_fullnames_all pf,
|
|
prs_kostensoort ksm,
|
|
mld_statuses ms,
|
|
mld_opdr o,
|
|
mld_typeopdr ot,
|
|
mld_statusopdr so,
|
|
prs_bedrijf b,
|
|
alg_locatie l,
|
|
prs_kostensoort kso,
|
|
mld_melding m,
|
|
mld_stdmelding std,
|
|
ins_tab_discipline d,
|
|
ins_srtdiscipline sd,
|
|
alg_v_allonrgoed_gegevens aog,
|
|
(SELECT mld_melding_key, fac_usrdata_omschr
|
|
FROM fac_usrdata ud, mld_kenmerkmelding km
|
|
WHERE km.mld_kenmerk_key = 1 -- Facturatiestatus
|
|
AND FAC.safe_to_number (mld_kenmerkmelding_waarde) =
|
|
ud.fac_usrdata_key) fs
|
|
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
|
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
|
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
|
AND std.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
|
AND m.mld_melding_status = ms.mld_statuses_key
|
|
AND m.mld_melding_key = fs.mld_melding_key(+)
|
|
AND m.mld_melding_key = o.mld_melding_key
|
|
AND m.prs_perslid_key = pf.prs_perslid_key
|
|
AND m.mld_alg_locatie_key = l.alg_locatie_key
|
|
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
|
AND o.mld_statusopdr_key = so.mld_statusopdr_key
|
|
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
|
|
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key(+)
|
|
AND o.prs_kostensoort_key = kso.prs_kostensoort_key(+);
|
|
|
|
--yask_v_kosten_export_power_bi
|
|
CREATE OR REPLACE VIEW vbgo_v_kosten_export_power_bi
|
|
AS
|
|
SELECT d.meldingnummer,
|
|
d.mld_melding_key,
|
|
d.meldinglocatie,
|
|
u.melding_gebouw,
|
|
u.melding_gebouwcode,
|
|
d.melder,
|
|
d.soortmelding,
|
|
d.productgroep,
|
|
d.subproductgroep,
|
|
d.melding_nen_omschrijving,
|
|
d.melding_nen_code,
|
|
d.meldingstatus,
|
|
d.facturatiestatus,
|
|
d.meldingdatum,
|
|
d.afgemeld,
|
|
d.onderwerp,
|
|
d.vomschrijving,
|
|
d.opdrachtnummer,
|
|
d.opdrachttype,
|
|
d.opdrachtstatus,
|
|
d.opdrachtomschrijving,
|
|
d.opdracht_nen_omschrijving,
|
|
d.opdrachtuitvoerende,
|
|
d.opdrachtkosten,
|
|
d.soortopslag,
|
|
d.opslag,
|
|
d.kostenplusopslag,
|
|
d.geenopslag,
|
|
d.boekmaand,
|
|
d.klant_inkoopordernr,
|
|
d.klant_kostenplaats,
|
|
d.klant_werkorder,
|
|
d.mld_opdr_key,
|
|
u.sla_accpturen,
|
|
u.plan_uitvoertijd_sla,
|
|
u.accept_sla_dagen,
|
|
u.accept_sla_uren,
|
|
u.afspraak_sla_dagen,
|
|
u.accept_sla_optijd,
|
|
u.uitvoering_sla_optijd,
|
|
u.afspraak_sla_optijd,
|
|
u.melding_afgemeld datum_afgemeld,
|
|
u.melding_accepted datum_acceptatie,
|
|
u.melding_datum datum_aanmaak,
|
|
u.fclt_3d_locatie_key
|
|
FROM vbgo_v_kosten_doorbelasting d, mld_v_udr_melding u
|
|
WHERE d.mld_melding_key = u.melding_key;
|
|
|
|
-- Tijdelijke versie van de UDR view omdat in de originele view de kostenplaats hard wordt vereist.
|
|
-- Melding VBGO#70402 aangemaakt om de UDR view aan te passen.
|
|
-- VBGO#71830: Bestelkenmerk met key=101=Vebego onderdeel opnemen als kolom.
|
|
CREATE OR REPLACE VIEW vbgo_v_udr_bestelling
|
|
AS
|
|
SELECT bes_bestelling_key,
|
|
bestelaanvraagnr,
|
|
besteldatum,
|
|
bedrijf_naam,
|
|
besteller,
|
|
invoerder,
|
|
kostensoortgroep,
|
|
kostensoort,
|
|
kpn,
|
|
kpn_omschrijving,
|
|
prs_afdeling_key,
|
|
afdeling_code,
|
|
afdeling_omschrijving,
|
|
alg_locatie_key,
|
|
locatie_code,
|
|
regio_omschrijving,
|
|
district_omschijving,
|
|
afleveradres,
|
|
afleverplaats,
|
|
mandaat,
|
|
ins_discipline_key,
|
|
catalogus,
|
|
groep,
|
|
productomschrijving,
|
|
productcode,
|
|
afleverdatum,
|
|
doorlooptijd_werkdgn,
|
|
sla_tijd,
|
|
prijs,
|
|
inkoopprijs,
|
|
status,
|
|
gefiatteerddoor,
|
|
bestelopdrachtnummer,
|
|
aantal,
|
|
itemprijs,
|
|
iteminkoopprijs,
|
|
itemposnr,
|
|
vebego_onderdeel
|
|
FROM (SELECT b.bes_bestelling_key
|
|
bes_bestelling_key,
|
|
'A-' || b.bes_bestelling_key
|
|
bestelaanvraagnr,
|
|
b.bes_bestelling_datum
|
|
besteldatum,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key = p.prs_perslid_key)
|
|
besteller,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key =
|
|
COALESCE (
|
|
fac.gettrackinguserkey ('BESNEW',
|
|
b.bes_bestelling_key),
|
|
fac.gettrackinguserkey ('BESAP2',
|
|
b.bes_bestelling_key)))
|
|
invoerder,
|
|
(SELECT ksg.prs_kostensoortgrp_oms
|
|
FROM prs_kostensoortgrp ksg, prs_kostensoort ks
|
|
WHERE ksg.prs_kostensoortgrp_key =
|
|
ks.prs_kostensoortgrp_key
|
|
AND ks.prs_kostensoort_key =
|
|
(SELECT MAX (
|
|
COALESCE (
|
|
bsg.prs_kostensoort_key,
|
|
disc.prs_kostensoort_key))
|
|
FROM bes_discipline disc, bes_srtgroep bsg
|
|
WHERE disc.ins_discipline_key =
|
|
d.ins_discipline_key))
|
|
kostensoortgroep,
|
|
(SELECT ks.prs_kostensoort_oms
|
|
FROM prs_kostensoort ks
|
|
WHERE ks.prs_kostensoort_key =
|
|
(SELECT MAX (
|
|
COALESCE (bsg.prs_kostensoort_key,
|
|
disc.prs_kostensoort_key))
|
|
FROM bes_discipline disc, bes_srtgroep bsg
|
|
WHERE disc.ins_discipline_key =
|
|
bsg.ins_discipline_key
|
|
AND disc.ins_discipline_key =
|
|
d.ins_discipline_key))
|
|
kostensoort,
|
|
k.prs_kostenplaats_nr
|
|
kpn,
|
|
k.prs_kostenplaats_omschrijving
|
|
kpn_omschrijving,
|
|
(SELECT b.prs_bedrijf_naam
|
|
FROM prs_bedrijf b
|
|
WHERE b.prs_bedrijf_key = sd.prs_bedrijf_key)
|
|
bedrijf_naam,
|
|
a.prs_afdeling_key,
|
|
a.prs_afdeling_naam
|
|
afdeling_code,
|
|
a.prs_afdeling_omschrijving
|
|
afdeling_omschrijving,
|
|
ma.alg_locatie_key
|
|
alg_locatie_key,
|
|
(SELECT alg_locatie_code
|
|
FROM alg_locatie l
|
|
WHERE l.alg_locatie_key = ma.alg_locatie_key)
|
|
locatie_code,
|
|
(SELECT alg_regio_omschrijving
|
|
FROM alg_locatie l, alg_district d, alg_regio r
|
|
WHERE r.alg_regio_key = d.alg_regio_key
|
|
AND l.alg_district_key = d.alg_district_key
|
|
AND l.alg_locatie_key = ma.alg_locatie_key)
|
|
regio_omschrijving,
|
|
(SELECT alg_district_omschrijving
|
|
FROM alg_locatie l, alg_district d
|
|
WHERE l.alg_district_key = d.alg_district_key
|
|
AND l.alg_locatie_key = ma.alg_locatie_key)
|
|
district_omschijving,
|
|
ma.mld_adres_naam
|
|
afleveradres,
|
|
b.bes_bestelling_plaats
|
|
afleverplaats,
|
|
NVL ((SELECT pr.fac_profiel_limiet
|
|
FROM fac_profiel pr
|
|
WHERE p.fac_profiel_key = pr.fac_profiel_key),
|
|
0)
|
|
mandaat,
|
|
d.ins_discipline_key
|
|
ins_discipline_key,
|
|
d.ins_discipline_omschrijving
|
|
catalogus,
|
|
sg.bes_srtgroep_omschrijving
|
|
groep,
|
|
b.bes_bestelling_leverdatum
|
|
afleverdatum,
|
|
fac.count_work_days (
|
|
b.bes_bestelling_datum,
|
|
NVL (
|
|
fac.gettrackingdate ('BESOTV',
|
|
b.bes_bestelling_key),
|
|
SYSDATE))
|
|
doorlooptijd_werkdgn,
|
|
NVL (
|
|
(SELECT bdp.bes_disc_params_leverdagen
|
|
FROM bes_disc_params bdp
|
|
WHERE d.ins_discipline_key =
|
|
bdp.bes_ins_discipline_key),
|
|
0)
|
|
sla_tijd,
|
|
sd.bes_srtdeel_nr
|
|
productcode,
|
|
bi.bes_bestelling_item_prijs
|
|
* bi.bes_bestelling_item_aantal
|
|
prijs,
|
|
NVL (
|
|
bes.getsrtdeelinkprijs (sd.bes_srtdeel_key,
|
|
bes_bestelling_datum),
|
|
bi.bes_bestelling_item_prijs)
|
|
* bi.bes_bestelling_item_aantal
|
|
inkoopprijs,
|
|
(SELECT bes_bestellingstatuses_omschr
|
|
FROM bes_bestellingstatuses bs
|
|
WHERE bs.bes_bestellingstatuses_key =
|
|
b.bes_bestelling_status)
|
|
status,
|
|
(SELECT prs_perslid_naam_full
|
|
FROM prs_v_perslid_fullnames_all pf
|
|
WHERE pf.prs_perslid_key = b.bes_bestelling_fiat_user)
|
|
gefiatteerddoor,
|
|
'O-' || bo.bes_bestelopdr_id
|
|
bestelopdrachtnummer,
|
|
bi.bes_bestelling_item_aantal
|
|
aantal,
|
|
bi.bes_bestelling_item_prijs
|
|
itemprijs,
|
|
NVL (
|
|
bes.getsrtdeelinkprijs (sd.bes_srtdeel_key,
|
|
bes_bestelling_datum),
|
|
bi.bes_bestelling_item_prijs)
|
|
iteminkoopprijs,
|
|
sd.bes_srtdeel_omschrijving
|
|
productomschrijving,
|
|
boi.bes_bestelopdr_item_posnr
|
|
itemposnr,
|
|
vo.fac_usrdata_omschr vebego_onderdeel
|
|
FROM bes_bestelling b,
|
|
prs_perslid p,
|
|
prs_afdeling a,
|
|
prs_kostenplaats k,
|
|
mld_adres ma,
|
|
bes_bestelling_item bi,
|
|
bes_bestelopdr_item boi,
|
|
bes_bestelopdr bo,
|
|
bes_srtdeel sd,
|
|
bes_srtgroep sg,
|
|
ins_tab_discipline d,
|
|
(SELECT kb.bes_bestelling_key, ud.fac_usrdata_omschr
|
|
FROM bes_kenmerkbestell kb, fac_usrdata ud
|
|
WHERE kb.bes_kenmerkbestell_verwijder IS NULL
|
|
AND kb.bes_kenmerk_key = 101 -- Vebego onderdeel
|
|
AND fac.safe_to_number (kb.bes_kenmerkbestell_waarde) = ud.fac_usrdata_key) vo
|
|
WHERE b.prs_perslid_key = p.prs_perslid_key
|
|
AND p.prs_afdeling_key = a.prs_afdeling_key
|
|
AND b.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
|
AND b.mld_adres_key_lev = ma.mld_adres_key
|
|
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
|
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key(+)
|
|
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
|
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
|
AND sg.ins_discipline_key = d.ins_discipline_key
|
|
AND b.bes_bestelling_key = vo.bes_bestelling_key(+));
|
|
/*
|
|
CREATE OR REPLACE VIEW VBGO_V_RES_WP_DAG_BEZETTING
|
|
(
|
|
RES_RSV_RUIMTE_VAN,
|
|
RES_RSV_RUIMTE_TOT,
|
|
RES_RUIMTE_OPSTEL_KEY,
|
|
RES_RSV_RUIMTE_VERWIJDER,
|
|
RES_RSV_RUIMTE_KEY,
|
|
RES_STATUS_FO_KEY,
|
|
N8,
|
|
N9,
|
|
N10,
|
|
N11,
|
|
N12,
|
|
N13,
|
|
N14,
|
|
N15,
|
|
N16,
|
|
N17
|
|
)
|
|
AS
|
|
SELECT res_rsv_deel_key,
|
|
res_rsv_deel_van,
|
|
res_rsv_deel_tot,
|
|
SUM (DECODE (uurnum, 8, n_uur)) n8,
|
|
SUM (DECODE (uurnum, 9, n_uur)) n9,
|
|
SUM (DECODE (uurnum, 10, n_uur)) n10,
|
|
SUM (DECODE (uurnum, 11, n_uur)) n11,
|
|
SUM (DECODE (uurnum, 12, n_uur)) n12,
|
|
SUM (DECODE (uurnum, 13, n_uur)) n13,
|
|
SUM (DECODE (uurnum, 14, n_uur)) n14,
|
|
SUM (DECODE (uurnum, 15, n_uur)) n15,
|
|
SUM (DECODE (uurnum, 16, n_uur)) n16,
|
|
SUM (DECODE (uurnum, 17, n_uur)) n17
|
|
FROM (SELECT res_rsv_deel_key,
|
|
res_rsv_deel_van,
|
|
res_rsv_deel_tot,
|
|
uurnum,
|
|
CASE
|
|
WHEN res.van <= uurnum + 0.00 AND res.tot >= uurnum + 0.25
|
|
THEN 1 / 4
|
|
ELSE 0
|
|
END
|
|
+ CASE
|
|
WHEN res.van <= uurnum + 0.25 AND res.tot >= uurnum + 0.50
|
|
THEN 1 / 4
|
|
ELSE 0
|
|
END
|
|
+ CASE
|
|
WHEN res.van <= uurnum + 0.50 AND res.tot >= uurnum + 0.75
|
|
THEN 1 / 4
|
|
ELSE 0
|
|
END
|
|
+ CASE
|
|
WHEN res.van <= uurnum + 0.75 AND res.tot >= uurnum + 1.00
|
|
THEN 1 / 4
|
|
ELSE 0
|
|
END
|
|
n_uur
|
|
FROM (SELECT rrd.res_rsv_deel_key,
|
|
(rrd.res_rsv_deel_van - TRUNC (rrd.res_rsv_deel_van)) * 24
|
|
van,
|
|
(rrd.res_rsv_deel_tot - TRUNC (rrd.res_rsv_deel_tot)) * 24
|
|
tot,
|
|
rrd.res_rsv_deel_van,
|
|
rrd.res_rsv_deel_tot
|
|
FROM res_rsv_deel rrd, res_rsv_ruimte rrr, res_deel rd, ins_deel d
|
|
WHERE rrd.res_rsv_deel_verwijder IS NULL
|
|
AND rrd.res_rsv_deel_dirtlevel = 0
|
|
--AND TO_CHAR (rrd.res_rsv_deel_tot, 'd') BETWEEN '2' AND '6'
|
|
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrd.res_rsv_deel_tot))
|
|
AND TRUNC (rrd.res_rsv_deel_van) = TRUNC (rrd.res_rsv_deel_tot) -- Eendaags!
|
|
AND rrd.res_rsv_deel_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (SYSDATE + 7, 'iw')
|
|
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
|
|
AND rrr.res_status_fo_key(+) IN (1, 2) -- Optie/Definitief
|
|
AND rrr.res_activiteit_key = 30 -- Reservering werkplekken
|
|
AND rrd.res_deel_key = rd.res_deel_key
|
|
AND rd.res_ins_deel_key = d.ins_deel_key
|
|
AND COALESCE (d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) = 'R') res, -- Noodzakelijk?
|
|
( SELECT 8 + LEVEL - 1 uurnum
|
|
FROM DUAL
|
|
CONNECT BY LEVEL <= 10) uren)
|
|
GROUP BY res_rsv_deel_key,
|
|
res_rsv_deel_van,
|
|
res_rsv_deel_tot;
|
|
*/
|
|
CREATE OR REPLACE VIEW VBGO_V_RAP_RES_BZG
|
|
(
|
|
hide_f_sortering,
|
|
fclt_3d_locatie_key,
|
|
locatie,
|
|
datum,
|
|
zaal,
|
|
uur_08_09,
|
|
uur_09_10,
|
|
uur_10_11,
|
|
uur_11_12,
|
|
uur_12_13,
|
|
uur_13_14,
|
|
uur_14_15,
|
|
uur_15_16,
|
|
uur_16_17,
|
|
uur_17_18
|
|
)
|
|
AS
|
|
SELECT TO_CHAR (x.res_rsv_ruimte_van, 'yyyymmdd') || l.alg_locatie_code sortering,
|
|
l.alg_locatie_key,
|
|
l.alg_locatie_code locatie,
|
|
TRUNC (x.res_rsv_ruimte_van) datum,
|
|
rr.res_ruimte_nr zaal,
|
|
x.n8,
|
|
x.n9,
|
|
x.n10,
|
|
x.n11,
|
|
x.n12,
|
|
x.n13,
|
|
x.n14,
|
|
x.n15,
|
|
x.n16,
|
|
x.n17
|
|
FROM res_v_res_dag_bezetting x,
|
|
res_ruimte_opstelling rro,
|
|
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
|
FROM res_alg_ruimte
|
|
WHERE res_alg_ruimte_verwijder IS NULL
|
|
GROUP BY res_ruimte_key) rar1,
|
|
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
|
FROM res_alg_ruimte
|
|
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
|
GROUP BY res_ruimte_key) rar2,
|
|
--alg_v_allonrgoed_gegevens aog, -- Ook verwijderde ruimten!
|
|
alg_v_allonroerendgoed aog, -- Ook verwijderde ruimten!
|
|
alg_locatie l, -- Ook verwijderde locaties
|
|
res_ruimte rr
|
|
WHERE x.res_rsv_ruimte_verwijder IS NULL
|
|
AND x.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
|
AND x.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
|
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
|
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
|
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key) = aog.alg_ruimte_key
|
|
AND aog.alg_locatie_key = l.alg_locatie_key
|
|
AND rro.res_ruimte_key = rr.res_ruimte_key;
|
|
|
|
-- Rapportage overgenomen uit de VENR omgeving.
|
|
-- TODO: Keys aanpassen
|
|
-- VENR#65754: Opdrachtgegevens incl. kenmerken (afgeleid van mld_v_udr_opdrachtkenmerk_cnd).
|
|
-- VENR#69955: Uitbreiden met de SLA-velden van de bovenliggende melding + (sub)productgroep.
|
|
CREATE OR REPLACE VIEW vbgo_v_udr_opdrachten
|
|
(
|
|
opdracht_key,
|
|
opdracht_nummer,
|
|
opdracht_regio,
|
|
opdracht_district,
|
|
opdracht_locatie_code,
|
|
opdracht_locatie,
|
|
opdracht_locatieplaats,
|
|
fclt_3d_locatie_key,
|
|
opdracht_gebouwcode,
|
|
opdracht_gebouw,
|
|
opdracht_verdieping,
|
|
opdracht_ruimtenr,
|
|
opdracht_ruimte,
|
|
opdracht_kostenplaats,
|
|
opdracht_kostenplaats_oms,
|
|
melding_key,
|
|
opdracht_type,
|
|
opdracht_volgnummer,
|
|
opdracht_status,
|
|
opdracht_duur_gepland,
|
|
opdracht_datum,
|
|
opdracht_einddatum,
|
|
opdracht_plandatum,
|
|
opdracht_acceptdatum,
|
|
opdracht_afgemeld,
|
|
opdracht_doorlooptijd,
|
|
opdracht_accepttijd,
|
|
opdracht_omschrijving,
|
|
opdracht_opmerking,
|
|
opdracht_uitvoerende,
|
|
opdracht_uitvoerende_contact,
|
|
opdracht_behandelaar,
|
|
opdracht_contract,
|
|
opdracht_contract_versie,
|
|
opdracht_contactpersoon,
|
|
opdracht_uren,
|
|
opdracht_correctie,
|
|
opdracht_materiaal,
|
|
opdracht_uurtarief,
|
|
opdracht_kosten,
|
|
opdracht_parent_key,
|
|
opdracht_parent_nummer,
|
|
opdracht_parent_volgnummer,
|
|
opdracht_verstrektdatum,
|
|
opdracht_lev_doorloopdagen,
|
|
opdracht_lev_doorloopuren,
|
|
refnr_lev,
|
|
klant,
|
|
accept_sla_dagen,
|
|
accept_sla_uren,
|
|
uitvoering_sla_dagen,
|
|
uitvoering_sla_uren,
|
|
afspraak_sla_dagen,
|
|
afspraak_sla_uren,
|
|
accept_sla_optijd,
|
|
uitvoering_sla_optijd,
|
|
afspraak_sla_optijd,
|
|
productgroep,
|
|
subproductgroep
|
|
)
|
|
AS
|
|
SELECT o.opdracht_key,
|
|
o.opdracht_nummer,
|
|
o.opdracht_regio,
|
|
o.opdracht_district,
|
|
o.opdracht_locatie_code,
|
|
o.opdracht_locatie,
|
|
o.opdracht_locatieplaats,
|
|
o.fclt_3d_locatie_key,
|
|
o.opdracht_gebouwcode,
|
|
o.opdracht_gebouw,
|
|
o.opdracht_verdieping,
|
|
o.opdracht_ruimtenr,
|
|
o.opdracht_ruimte,
|
|
o.opdracht_kostenplaats,
|
|
o.opdracht_kostenplaats_oms,
|
|
o.melding_key,
|
|
o.opdracht_type,
|
|
o.opdracht_volgnummer,
|
|
o.opdracht_status,
|
|
o.opdracht_duur_gepland,
|
|
o.opdracht_datum,
|
|
o.opdracht_einddatum,
|
|
o.opdracht_plandatum,
|
|
o.opdracht_acceptdatum,
|
|
o.opdracht_afgemeld,
|
|
o.opdracht_doorlooptijd,
|
|
o.opdracht_accepttijd,
|
|
o.opdracht_omschrijving,
|
|
o.opdracht_opmerking,
|
|
o.opdracht_uitvoerende,
|
|
o.opdracht_uitvoerende_contact,
|
|
o.opdracht_behandelaar,
|
|
o.opdracht_contract,
|
|
o.opdracht_contract_versie,
|
|
o.opdracht_contactpersoon,
|
|
o.opdracht_uren,
|
|
o.opdracht_correctie,
|
|
o.opdracht_materiaal,
|
|
o.opdracht_uurtarief,
|
|
o.opdracht_kosten,
|
|
o.opdracht_parent_key,
|
|
o.opdracht_parent_nummer,
|
|
o.opdracht_parent_volgnummer,
|
|
o.opdracht_verstrektdatum,
|
|
o.opdracht_lev_doorloopdagen,
|
|
o.opdracht_lev_doorloopuren,
|
|
ko4.mld_kenmerkopdr_waarde,
|
|
km5.fac_usrdata_omschr,
|
|
m.accept_sla_dagen,
|
|
m.accept_sla_uren,
|
|
m.uitvoering_sla_dagen,
|
|
m.uitvoering_sla_uren,
|
|
m.afspraak_sla_dagen,
|
|
m.afspraak_sla_uren,
|
|
m.accept_sla_optijd,
|
|
m.uitvoering_sla_optijd,
|
|
m.afspraak_sla_optijd,
|
|
m.productgroep,
|
|
m.subproductgroep
|
|
FROM mld_v_udr_opdracht o,
|
|
mld_v_udr_melding m,
|
|
(SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde
|
|
FROM mld_v_aanwezigkenmerkopdr ko
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM mld_kenmerk
|
|
WHERE mld_srtkenmerk_key = 341
|
|
AND mld_kenmerk_key = ko.mld_kenmerk_key)) ko4, -- Refnr. Leverancier
|
|
(SELECT km.mld_melding_key, ud.fac_usrdata_omschr
|
|
FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud
|
|
WHERE fac.safe_to_number (km.mld_kenmerkmelding_waarde) = ud.fac_usrdata_key
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM mld_kenmerk
|
|
WHERE mld_srtkenmerk_key = 461
|
|
AND mld_kenmerk_key = km.mld_kenmerk_key)) km5 -- Klant(R)
|
|
WHERE fac.gettrackingdate ('ORDNEW', o.opdracht_key) > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
|
|
AND o.melding_key = m.melding_key
|
|
AND o.opdracht_key = ko4.mld_opdr_key(+)
|
|
AND m.melding_key = km5.mld_melding_key(+);
|
|
|
|
CREATE OR REPLACE VIEW VBGO_V_RUIMTEEXPORT
|
|
(
|
|
ruimte_key,
|
|
gebouw_code,
|
|
verdieping_nr,
|
|
ruimte_nr,
|
|
ruimte_soort,
|
|
werkplek_key,
|
|
werkplek_omschrijving,
|
|
werkplek_persoon
|
|
)
|
|
AS
|
|
SELECT a.alg_ruimte_key,
|
|
b.alg_gebouw_code,
|
|
v.alg_verdieping_code,
|
|
a.alg_ruimte_nr,
|
|
s.alg_srtruimte_omschrijving,
|
|
w.prs_werkplek_key,
|
|
w.prs_werkplek_omschrijving,
|
|
(SELECT p.prs_perslid_naam_friendly
|
|
FROM prs_v_perslid_fullnames p, prs_perslidwerkplek pw
|
|
WHERE pw.prs_werkplek_key=w.prs_werkplek_key
|
|
AND pw.prs_perslid_key = p.prs_perslid_key) werkplek_persoon
|
|
FROM alg_v_aanwezigruimte a,
|
|
alg_v_aanwezigsrtruimte s,
|
|
alg_v_aanweziggebouw b,
|
|
alg_v_aanwezigverdieping v,
|
|
prs_werkplek w
|
|
WHERE s.alg_srtruimte_key = a.alg_srtruimte_key
|
|
AND v.alg_verdieping_key=a.alg_verdieping_key
|
|
AND b.alg_gebouw_key=v.alg_gebouw_key
|
|
AND w.prs_alg_ruimte_key(+) =a.alg_ruimte_key;
|
|
|
|
|
|
-- Procedure tbv de Facilitor - Facilitor koppeling met het logcenter.
|
|
CREATE OR REPLACE PROCEDURE vbgo_pre_putorders
|
|
AS
|
|
BEGIN
|
|
UPDATE mld_opdr
|
|
SET mld_opdr_teverzenden = 2, mld_opdr_verzonden = NULL
|
|
WHERE mld_opdr_key IN
|
|
( SELECT new.mld_opdr_key
|
|
FROM ( SELECT mld_opdr_key, MAX (datum) datum
|
|
FROM (SELECT o.mld_opdr_key, fac_tracking_datum datum
|
|
FROM fac_tracking t, fac_srtnotificatie sn, mld_opdr o
|
|
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
|
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
|
AND fac_tracking_refkey = o.mld_opdr_key
|
|
AND o.mld_opdr_externnr IS NOT NULL
|
|
AND sn.fac_srtnotificatie_code <> 'ORDTRK'
|
|
UNION
|
|
SELECT o.mld_opdr_key, mld_opdr_note_wijzigdatum datum
|
|
FROM mld_opdr_note n, mld_opdr o
|
|
WHERE n.mld_opdr_key = o.mld_opdr_key
|
|
AND o.mld_opdr_externnr IS NOT NULL
|
|
AND BITAND (mld_opdr_note_flag, 4) = 4)
|
|
GROUP BY mld_opdr_key) new,
|
|
( SELECT o.mld_opdr_key, MAX (fac_tracking_datum) fac_tracking_datum
|
|
FROM fac_tracking t, fac_srtnotificatie sn, mld_opdr o
|
|
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
|
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
|
AND fac_tracking_refkey = o.mld_opdr_key
|
|
AND o.mld_opdr_externnr IS NOT NULL
|
|
AND sn.fac_srtnotificatie_code = 'ORDTRK'
|
|
GROUP BY o.mld_opdr_key) ordtrk
|
|
WHERE new.mld_opdr_key = ordtrk.mld_opdr_key(+) AND new.datum > COALESCE (ordtrk.fac_tracking_datum, SYSDATE - 100));
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE vbgo_daily
|
|
AS
|
|
-- Alle personen die in de groep zitten dat ze alleen een emailadres hebben en geen windows login (geen laptop)
|
|
-- Waarbij geen wachtwoord is ingesteld.
|
|
CURSOR c_setpw IS
|
|
SELECT p.*
|
|
FROM prs_perslid p
|
|
WHERE prs_perslid_key IN
|
|
(SELECT prs_perslid_key
|
|
FROM fac_gebruikersgroep gg, fac_groep g
|
|
WHERE gg.fac_groep_key = g.fac_groep_key AND fac_groep_omschrijving = 'SG-VFS-NL-APP-FACPRD')
|
|
AND prs_perslid_salt IS NULL;
|
|
|
|
-- Alle personen die in de groep zitten dat ze alleen een emailadres hebben en geen windows login (geen laptop)
|
|
-- Waarbij al wel een wachtwoord is ingesteld.
|
|
-- Bij deze mensen hoeven we alleen het vinkje te zetten.
|
|
CURSOR c_setpw_once (c_kenmerk_key NUMBER)
|
|
IS
|
|
SELECT p.*
|
|
FROM prs_perslid p
|
|
WHERE prs_perslid_key IN
|
|
(SELECT prs_perslid_key
|
|
FROM fac_gebruikersgroep gg, fac_groep g
|
|
WHERE gg.fac_groep_key = g.fac_groep_key AND fac_groep_omschrijving = 'SG-VFS-NL-APP-FACPRD')
|
|
AND prs_perslid_salt IS NOT NULL
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM prs_kenmerklink kl, prs_kenmerk k
|
|
WHERE kl.prs_link_key = p.prs_perslid_key AND kl.prs_kenmerk_key = c_kenmerk_key);
|
|
|
|
-- Alle personen die het vinkje hebben staan dat ze in de via wachtwoord inloggen maar die niet (meer) deel uitmaken van de autorisatiegroep
|
|
CURSOR c_delpw (c_kenmerk_key NUMBER)
|
|
IS
|
|
SELECT p.*
|
|
FROM prs_perslid p
|
|
WHERE prs_perslid_key NOT IN
|
|
(SELECT prs_perslid_key
|
|
FROM fac_gebruikersgroep gg, fac_groep g
|
|
WHERE gg.fac_groep_key = g.fac_groep_key AND fac_groep_omschrijving = 'SG-VFS-NL-APP-FACPRD')
|
|
AND EXISTS
|
|
(SELECT 1
|
|
FROM prs_kenmerklink kl, prs_kenmerk k
|
|
WHERE kl.prs_link_key = p.prs_perslid_key AND kl.prs_kenmerk_key = c_kenmerk_key);
|
|
|
|
|
|
v_kenmerk_key NUMBER;
|
|
BEGIN
|
|
SELECT prs_kenmerk_key
|
|
INTO v_kenmerk_key
|
|
FROM prs_kenmerk
|
|
WHERE prs_kenmerk_code = 'WACHTWOORDACCOUNT';
|
|
|
|
FOR rec IN c_setpw
|
|
LOOP
|
|
PRS.setpassword (rec.prs_perslid_key, 'kPrqyyQcvaEUwhmqMoExSfQCGFs6-Egb');
|
|
FLX.setflex ('PRS',
|
|
v_kenmerk_key,
|
|
rec.prs_perslid_key,
|
|
'P',
|
|
1);
|
|
FAC.trackaction ('PRSUPD',
|
|
rec.prs_perslid_key,
|
|
NULL,
|
|
NULL,
|
|
'Logt in met wachtwoord: (leeg) --> 1');
|
|
END LOOP;
|
|
|
|
FOR rec IN c_setpw_once (v_kenmerk_key)
|
|
LOOP
|
|
FLX.setflex ('PRS',
|
|
v_kenmerk_key,
|
|
rec.prs_perslid_key,
|
|
'P',
|
|
1);
|
|
FAC.trackaction ('PRSUPD',
|
|
rec.prs_perslid_key,
|
|
NULL,
|
|
NULL,
|
|
'Logt in met wachtwoord: (leeg) --> 1');
|
|
END LOOP;
|
|
|
|
FOR rec IN c_delpw (v_kenmerk_key)
|
|
LOOP
|
|
PRS.setpassword (rec.prs_perslid_key, NULL);
|
|
FLX.setflex ('PRS',
|
|
v_kenmerk_key,
|
|
rec.prs_perslid_key,
|
|
'P',
|
|
NULL);
|
|
FAC.trackaction ('PRSUPD',
|
|
rec.prs_perslid_key,
|
|
NULL,
|
|
NULL,
|
|
'Logt in met wachtwoord: 1 --> (leeg)');
|
|
END LOOP;
|
|
END;
|
|
/
|
|
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile
|