2938 lines
168 KiB
MySQL
2938 lines
168 KiB
MySQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific db-configuration for SROZ.
|
||
DEFINE thisfile = 'SROZ.SQL'
|
||
DEFINE dbuser = '^SROZ'
|
||
|
||
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 ------
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_import_log
|
||
(
|
||
fclt_f_applicatie,
|
||
datum,
|
||
fclt_f_status,
|
||
omschrijving,
|
||
hint
|
||
)
|
||
AS
|
||
SELECT COALESCE (fac_import_app_code, imp_log_applicatie),
|
||
TO_CHAR (imp_log_datum, 'dd-mm-yyyy hh24:mi'),
|
||
imp_log_status,
|
||
imp_log_omschrijving,
|
||
imp_log_hint
|
||
FROM imp_log il1, fac_import fi1, fac_import_app fia1
|
||
WHERE il1.fac_import_key = fi1.fac_import_key(+)
|
||
AND fi1.fac_import_app_key = fia1.fac_import_app_key(+)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM imp_log il2, fac_import fi2
|
||
WHERE il2.fac_import_key = fi2.fac_import_key
|
||
AND fi2.fac_import_app_key = fi1.fac_import_app_key
|
||
AND il2.fac_import_key > il1.fac_import_key);
|
||
|
||
CREATE OR REPLACE PROCEDURE sroz_import_prs (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000) := '-';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
-- Generieke import.
|
||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE.
|
||
--'%"Personeelsnummer";"Loginnaam";"Achternaam";"Tussenvoegsel";"Voorletters";"Voornaam";"Afdelingscode";"Functie";"Email";"Telefoonnr";"Mobiel";"Gebouwcode"%');
|
||
--'%Personeelsnummer;Loginnaam;Achternaam;Tussenvoegsel;Voorletters;Voornaam;Afdelingscode;Functie;Email;Telefoonnr;Mobiel;Gebouwcode%');
|
||
prs.import_perslid (
|
||
p_import_key,
|
||
'0;0;0;0;0;0;7;3;4;6;'
|
||
|| '5;0;0;0;0;10;11;9;0;1;'
|
||
|| '8;2;0;0;0;0;12;0;0;0;'
|
||
|| '0;0;0;0;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0',
|
||
'%"Personeelsnummer";"Loginnaam";"Achternaam";"Tussenvoegsel";"Voorletters";"Voornaam";"Afdelingscode";"Functie";"Email";"Telefoonnr";"Mobiel";"Gebouwcode"%');
|
||
|
||
-- Klantspecifieke aanpassingen.
|
||
-- Als geen Loginnaam aangeleverd, dan handmatig toegekende niet wissen.
|
||
UPDATE fac_imp_perslid i
|
||
SET i.prs_perslid_oslogin =
|
||
(SELECT MAX (prs_perslid_oslogin)
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_nr = i.prs_perslid_nr)
|
||
WHERE i.prs_perslid_oslogin IS NULL -- Aangeleverde Loginnaam wint!
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_oslogin IS NOT NULL
|
||
AND prs_perslid_nr = i.prs_perslid_nr);
|
||
COMMIT;
|
||
|
||
-- Ontvangen Functie negeren en - voorlopig? - altijd op 'Onbekend'!
|
||
UPDATE fac_imp_perslid
|
||
SET prs_srtperslid_omschrijving = 'Onbekend';
|
||
|
||
-- Als geen Email aangeleverd, dan handmatig toegekende niet wissen.
|
||
UPDATE fac_imp_perslid i
|
||
SET i.prs_perslid_email =
|
||
(SELECT MAX (prs_perslid_email)
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_nr = i.prs_perslid_nr)
|
||
WHERE i.prs_perslid_email IS NULL -- Aangeleverde Email wint!
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_email IS NOT NULL
|
||
AND prs_perslid_nr = i.prs_perslid_nr);
|
||
COMMIT;
|
||
|
||
-- Als Gebouwcode niet aangeleverd, dan krijgen medewerkers - zover mogelijk - een WP
|
||
-- in het 'RZT'-gebouw (zie hieronder)!
|
||
UPDATE fac_imp_perslid
|
||
SET prs_kenmerk1 = 'RZT'
|
||
WHERE prs_kenmerk1 IS NULL;
|
||
COMMIT;
|
||
|
||
-- Locatie/Gebouw/Verdieping/Ruimte bepalen via Kenmerk1-kolom -> Gebouw en daaronder
|
||
-- Ruimte '_000' op de verdieping met het laagste volgnummer!
|
||
-- Als persoon al een WP heeft op import-locatie, dan is dat de juiste en blijft deze
|
||
-- (handmatig gecorrigeerde WP) ongewijzigd. In alle andere gevallen verhuist persoon
|
||
-- naar Ruimte '_000' op de meegegeven locatie.
|
||
-- Eventuele WPs onder andere locaties dan import-locatie blijven ook ongewijzigd!
|
||
UPDATE fac_imp_perslid i
|
||
SET i.alg_locatie_code =
|
||
(SELECT il.alg_locatie_code
|
||
FROM alg_v_aanweziggebouw ig, alg_locatie il
|
||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND alg_locatie_key < il.alg_locatie_key)),
|
||
i.alg_gebouw_code =
|
||
(SELECT ig.alg_gebouw_code
|
||
FROM alg_v_aanweziggebouw ig, alg_locatie il
|
||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND alg_locatie_key < il.alg_locatie_key)),
|
||
i.alg_verdieping_volgnr =
|
||
(SELECT iv.alg_verdieping_volgnr
|
||
FROM alg_v_aanweziggebouw ig, alg_locatie il, alg_verdieping iv, alg_ruimte ir
|
||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND alg_locatie_key < il.alg_locatie_key)
|
||
AND ig.alg_gebouw_key = iv.alg_gebouw_key
|
||
AND iv.alg_verdieping_key = ir.alg_verdieping_key
|
||
AND ir.alg_ruimte_nr = '_000'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanwezigruimte r, alg_verdieping v
|
||
WHERE r.alg_ruimte_nr = '_000'
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = iv.alg_gebouw_key
|
||
AND v.alg_verdieping_volgnr < iv.alg_verdieping_volgnr)),
|
||
i.alg_ruimte_nr =
|
||
(SELECT ir.alg_ruimte_nr
|
||
FROM alg_v_aanweziggebouw ig, alg_locatie il, alg_verdieping iv, alg_ruimte ir
|
||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND alg_locatie_key < il.alg_locatie_key)
|
||
AND ig.alg_gebouw_key = iv.alg_gebouw_key
|
||
AND iv.alg_verdieping_key = ir.alg_verdieping_key
|
||
AND ir.alg_ruimte_nr = '_000'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanwezigruimte r, alg_verdieping v
|
||
WHERE r.alg_ruimte_nr = '_000'
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = iv.alg_gebouw_key
|
||
AND v.alg_verdieping_volgnr < iv.alg_verdieping_volgnr))
|
||
WHERE NOT EXISTS -- Nog geen werkplek op Locatie!
|
||
(SELECT 1
|
||
FROM alg_v_aanweziggebouw ig,
|
||
alg_locatie il,
|
||
prs_v_aanwezigperslid p,
|
||
prs_perslidwerkplek pw,
|
||
prs_werkplek cw,
|
||
alg_v_aanwezigruimte cr,
|
||
alg_verdieping cv,
|
||
alg_gebouw cg,
|
||
alg_locatie cl
|
||
WHERE ig.alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND ig.alg_locatie_key = il.alg_locatie_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_v_aanweziggebouw
|
||
WHERE alg_gebouw_upper = UPPER (i.prs_kenmerk1)
|
||
AND alg_locatie_key < il.alg_locatie_key)
|
||
AND p.prs_perslid_oslogin = i.prs_perslid_nr
|
||
AND p.prs_perslid_key = pw.prs_perslid_key
|
||
AND pw.prs_werkplek_key = cw.prs_werkplek_key
|
||
AND cw.prs_alg_ruimte_key = cr.alg_ruimte_key
|
||
AND cr.alg_verdieping_key = cv.alg_verdieping_key
|
||
AND cv.alg_gebouw_key = cg.alg_gebouw_key
|
||
AND cg.alg_locatie_key = il.alg_locatie_key);
|
||
COMMIT;
|
||
|
||
-- Resulteert in nette foutmelding als ruimte niet kan worden bepaald.
|
||
UPDATE fac_imp_perslid
|
||
SET alg_verdieping_volgnr = 0
|
||
WHERE alg_gebouw_code IS NOT NULL
|
||
AND alg_verdieping_volgnr IS NULL;
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
|
||
fac.imp_writelog (p_import_key, 'E', v_errormsg, 'Inleesproces personen afgebroken!');
|
||
END sroz_import_prs;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE sroz_update_prs (p_import_key IN NUMBER)
|
||
AS
|
||
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers (met
|
||
-- een personeelsnummer).
|
||
c_max_delta_percentage NUMBER (10) := 50; -- 50%!
|
||
v_count_prs_import NUMBER (10); -- #actieve personen na import!
|
||
v_count_prs_actual NUMBER (10); -- #actieve personen voor import!
|
||
|
||
-- Mandateren personen met >1 dienstverband, namelijk voor kostenplaats(en)
|
||
-- van de andere dan de eigen afdeling!
|
||
/*
|
||
CURSOR c_mandate
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_nr, a.prs_kostenplaats_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND UPPER (p.prs_perslid_nr) = UPPER (i.prs_perslid_nr)
|
||
AND a.prs_afdeling_upper != UPPER (i.prs_perslid_naam)
|
||
ORDER BY 2;
|
||
*/
|
||
|
||
-- Verwijderen personen niet in import!
|
||
CURSOR c_del
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_nr
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_perslid_nr IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_imp_perslid
|
||
WHERE UPPER (prs_perslid_nr) = UPPER (p.prs_perslid_nr))
|
||
ORDER BY 2;
|
||
BEGIN
|
||
-- Bepaal aantal actieve personen in FACILITOR na import!
|
||
SELECT COUNT (DISTINCT prs_perslid_nr)
|
||
INTO v_count_prs_import
|
||
FROM fac_imp_perslid
|
||
WHERE prs_perslid_nr IS NOT NULL;
|
||
|
||
-- Bepaal aantal actieve personen in FACILITOR voor import!
|
||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||
INTO v_count_prs_actual
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_nr IS NOT NULL;
|
||
|
||
IF (TRUNC ( (v_count_prs_import / v_count_prs_actual) * 100) < (100 - c_max_delta_percentage))
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key, 'E',
|
||
'Verschil tussen huidig aantal en te importeren aantal personen te groot; zie specificatie!',
|
||
'- max. verschilpercentage = [' || TO_CHAR (c_max_delta_percentage) || '%]'
|
||
|| CHR (13) || CHR (10)
|
||
|| '- #personen/import = [' || TO_CHAR (v_count_prs_import) || ']'
|
||
|| CHR (13) || CHR (10)
|
||
|| '- #personen/huidig = [' || TO_CHAR (v_count_prs_actual) || ']');
|
||
RETURN;
|
||
END IF;
|
||
|
||
-- Generieke update (op personeelsnummer).
|
||
prs.update_perslid (p_import_key, 'NR', 'D');
|
||
|
||
-- Verwijder personen die niet meer in de import voorkomen.
|
||
FOR rec IN c_del
|
||
LOOP
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END LOOP;
|
||
END sroz_update_prs;
|
||
/
|
||
|
||
-- Domein met alle huurders (debiteuren).
|
||
CREATE OR REPLACE VIEW sroz_v_huurders
|
||
(
|
||
prs_bedrijf_key,
|
||
prs_bedrijf_naam,
|
||
prs_bedrijf_verwijder
|
||
)
|
||
AS
|
||
SELECT b.prs_bedrijf_key,
|
||
b.prs_bedrijf_naam || ' [' || prs_overeenkomst_nr || ']/-;T:'
|
||
|| COALESCE (b.prs_bedrijf_telefoon, b.prs_bedrijf_telefoon2, '-') || ';E:'
|
||
|| COALESCE (b.prs_bedrijf_email, '-') || ';F:'
|
||
|| DECODE (b.prs_bedrijf_post_adres, NULL, '-', TRIM (b.prs_bedrijf_post_adres || ', ' || b.prs_bedrijf_post_postcode) || ' ' || b.prs_bedrijf_post_plaats),
|
||
prs_bedrijf_verwijder
|
||
FROM prs_bedrijf b
|
||
WHERE b.prs_bedrijf_huurder = 1
|
||
UNION ALL
|
||
SELECT 100000000 + cp.prs_contactpersoon_key,
|
||
b.prs_bedrijf_naam || ' [' || prs_overeenkomst_nr || ']/'
|
||
|| COALESCE (TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voornaam || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))), '-') || ';T:'
|
||
|| COALESCE (cp.prs_contactpersoon_telefoon_1, cp.prs_contactpersoon_telefoon_2, b.prs_bedrijf_telefoon, b.prs_bedrijf_telefoon2, '-') || ';E:'
|
||
|| COALESCE (cp.prs_contactpersoon_email, b.prs_bedrijf_email, '-') || ';F:'
|
||
|| DECODE (b.prs_bedrijf_post_adres, NULL, '-', TRIM (b.prs_bedrijf_post_adres || ', ' || b.prs_bedrijf_post_postcode) || ' ' || b.prs_bedrijf_post_plaats),
|
||
cp.prs_contactpersoon_verwijder
|
||
FROM prs_bedrijf b, prs_contactpersoon cp
|
||
WHERE b.prs_bedrijf_huurder = 1
|
||
AND b.prs_bedrijf_key = cp.prs_bedrijf_key;
|
||
|
||
-- Domein met controleurs.
|
||
CREATE OR REPLACE VIEW sroz_v_controleurs
|
||
(
|
||
prs_perslid_key,
|
||
prs_perslid_naam_full,
|
||
prs_perslid_naam_friendly,
|
||
prs_perslid_verwijder
|
||
)
|
||
AS
|
||
SELECT pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full,
|
||
pf.prs_perslid_naam_friendly,
|
||
p.prs_perslid_verwijder
|
||
FROM fac_gebruikersgroep gg, prs_perslid p, prs_v_perslid_fullnames_all pf
|
||
WHERE gg.fac_groep_key = 6 -- FOBO RES
|
||
AND gg.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND SUBSTR (p.prs_perslid_oslogin, 1, 1) != '_';
|
||
|
||
-- Bronview met alle afgemelde Externe bijeenkomsten tot *nu*!
|
||
CREATE OR REPLACE VIEW sroz_v_res_all
|
||
(
|
||
sortering,
|
||
res_rsv_ruimte_key,
|
||
res_rsv_artikel_key,
|
||
res_rsv_deel_key,
|
||
res_reservering_key,
|
||
res_rsv_ruimte_volgnr,
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
res_rsv_ruimte_van,
|
||
res_rsv_ruimte_tot,
|
||
res_rsv_ruimte_omschrijving,
|
||
res_status_bo_key,
|
||
res_rsv_ruimte_ordernr,
|
||
aantal,
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
export2afas_key,
|
||
export2afas_oms,
|
||
controleur
|
||
)
|
||
AS
|
||
SELECT x.sortering,
|
||
x.res_rsv_ruimte_key, x.res_rsv_artikel_key, x.res_rsv_deel_key,
|
||
x.res_reservering_key, x.res_rsv_ruimte_volgnr,
|
||
TRIM (SUBSTR (h.prs_bedrijf_naam,
|
||
INSTR (h.prs_bedrijf_naam, '[') + 1,
|
||
INSTR (h.prs_bedrijf_naam, ']/') - INSTR (h.prs_bedrijf_naam, '[') - 1))
|
||
debiteurnummer,
|
||
TRIM (SUBSTR (h.prs_bedrijf_naam,
|
||
1,
|
||
INSTR (h.prs_bedrijf_naam, '[') - 1))
|
||
debiteurnaam,
|
||
TRIM (SUBSTR (h.prs_bedrijf_naam,
|
||
INSTR (h.prs_bedrijf_naam, '/') + 1,
|
||
INSTR (h.prs_bedrijf_naam, ';T') - INSTR (h.prs_bedrijf_naam, '/') - 1))
|
||
debiteurcontact,
|
||
x.res_rsv_ruimte_van, x.res_rsv_ruimte_tot,
|
||
x.res_rsv_ruimte_omschrijving,
|
||
x.res_status_bo_key, x.res_rsv_ruimte_ordernr,
|
||
ROUND (x.aantal, 2),
|
||
x.artikelomschrijving,
|
||
ROUND (COALESCE (x.artikelprijs, 0), 2),
|
||
x.btw,
|
||
ref.res_kenmerkreservering_waarde debiteurref,
|
||
a.fac_usrdata_code administratie,
|
||
'7' kostenplaats,
|
||
x.code_rcvm,
|
||
e.fac_usrdata_key,
|
||
e.fac_usrdata_omschr,
|
||
c.prs_perslid_naam_friendly
|
||
FROM (SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || 'R0' sortering,
|
||
rrr.res_rsv_ruimte_key, NULL res_rsv_artikel_key, NULL res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_status_bo_key, rrr.res_rsv_ruimte_ordernr,
|
||
24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) aantal,
|
||
rr.res_ruimte_nr artikelomschrijving,
|
||
DECODE (rrr.res_rsv_ruimte_ordernr,
|
||
NULL, -- Nog niet AV=Verwerkt!
|
||
DECODE (vht.res_kenmerkreservering_waarde, -- 1=Commercieel/2=Maatschappelijk
|
||
'1', rr.res_ruimte_prijs,
|
||
rr.res_ruimte_prijs * 0.5),
|
||
rrr.res_rsv_ruimte_prijs / (24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van)))
|
||
artikelprijs,
|
||
COALESCE (fac.safe_to_number (rr.res_ruimte_groep), 21) btw,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key) alg_ruimte_key,
|
||
'R' code_rcvm
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) vht -- Verhuurtarief
|
||
WHERE rrr.res_activiteit_key = 30 -- Externe bijeenkomst (g<><67>n 11 of 50=Uitleen of Rondleiding)!
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
--AND COALESCE (rrr.res_rsv_ruimte_totaal, 0) = 0 -- G<><47>n afgesproken prijs!
|
||
AND rrr.res_rsv_ruimte_totaal IS NULL -- G<><47>n afgesproken prijs!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
AND rrr.res_rsv_ruimte_key = vht.res_rsv_ruimte_key(+)
|
||
AND rrr.res_status_bo_key IN (5, 6)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_artikel
|
||
WHERE res_rsv_artikel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE res_rsv_deel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
AND 24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) > 0 -- Zou zo moeten zijn!?
|
||
UNION ALL -- Afgesproken ruimteprijs
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || 'R0' sortering,
|
||
rrr.res_rsv_ruimte_key, NULL res_rsv_artikel_key, NULL res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_status_bo_key, rrr.res_rsv_ruimte_ordernr,
|
||
1 aantal,
|
||
'Afgesproken prijs' artikelomschrijving,
|
||
rrr.res_rsv_ruimte_totaal artikelprijs,
|
||
COALESCE (fac.safe_to_number (rr.res_ruimte_groep), 21) btw,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key) alg_ruimte_key,
|
||
'R' code_rcvm
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr
|
||
WHERE rrr.res_activiteit_key = 30 -- Externe bijeenkomst (g<><67>n 11 of 50=Uitleen of Rondleiding)!
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
--AND COALESCE (rrr.res_rsv_ruimte_totaal, 0) != 0 -- Afgesproken prijs!
|
||
AND rrr.res_rsv_ruimte_totaal IS NOT NULL -- Afgesproken prijs!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
AND rrr.res_status_bo_key IN (5, 6)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_artikel
|
||
WHERE res_rsv_artikel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE res_rsv_deel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
UNION ALL -- Korting
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || 'R1' sortering,
|
||
rrr.res_rsv_ruimte_key, NULL res_rsv_artikel_key, NULL res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_status_bo_key, rrr.res_rsv_ruimte_ordernr,
|
||
1 aantal,
|
||
'Korting' artikelomschrijving,
|
||
-1 * rrr.res_rsv_ruimte_korting artikelprijs,
|
||
COALESCE (fac.safe_to_number (rr.res_ruimte_groep), 21) btw,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key) alg_ruimte_key,
|
||
'R' code_rcvm
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr
|
||
WHERE rrr.res_activiteit_key = 30 -- Externe bijeenkomst (g<><67>n 11 of 50=Uitleen of Rondleiding)!
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
AND COALESCE (rrr.res_rsv_ruimte_korting, 0) != 0
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
AND rrr.res_status_bo_key IN (5, 6)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_artikel
|
||
WHERE res_rsv_artikel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE res_rsv_deel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
UNION ALL -- Verbruik=Verbruiksartikelen
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || 'V' || TO_CHAR (rra.res_discipline_key) || SUBSTR ('000' || TO_CHAR (COALESCE (rra.res_artikel_volgnummer, 0)), -3) sortering,
|
||
rrr.res_rsv_ruimte_key, rra.res_rsv_artikel_key, NULL res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_status_bo_key, rrr.res_rsv_ruimte_ordernr,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
rra.res_artikel_omschrijving artikelomschrijving,
|
||
DECODE (rra.res_rsv_artikel_prijs, NULL, rra.res_artikel_prijs, rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal)
|
||
artikelprijs,
|
||
rra.btw,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key,
|
||
DECODE (rra.res_artikel_groep,
|
||
'R', rra.res_artikel_groep,
|
||
'C', rra.res_artikel_groep,
|
||
'V', rra.res_artikel_groep,
|
||
'M', rra.res_artikel_groep,
|
||
ks.prs_kostensoort_altcode)
|
||
code_rcvm
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr,
|
||
(SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
ra.res_artikel_prijs,
|
||
COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw, 21) btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND (ra.res_discipline_key NOT IN (48, 50) OR ra.res_artikel_btw IS NOT NULL)
|
||
UNION ALL -- Dichtbij BTW laag
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.66 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.66 * ra.res_artikel_prijs res_artikel_prijs,
|
||
6 btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (48) -- Dichtbij extra
|
||
AND ra.res_artikel_btw IS NULL
|
||
UNION ALL -- Dichtbij BTW hoog
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.34 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.34 * ra.res_artikel_prijs res_artikel_prijs,
|
||
21 btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (48) -- Dichtbij extra
|
||
AND ra.res_artikel_btw IS NULL
|
||
UNION ALL -- Momento BTW laag
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.65 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.65 * ra.res_artikel_prijs res_artikel_prijs,
|
||
6 btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (50) -- Momento extra
|
||
AND ra.res_artikel_btw IS NULL
|
||
UNION ALL -- Momento BTW hoog
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.35 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.35 * ra.res_artikel_prijs res_artikel_prijs,
|
||
21 btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (50) -- Momento extra
|
||
AND ra.res_artikel_btw IS NULL) rra,
|
||
res_discipline rd,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_activiteit_key IN (30, -11, -50) -- Externe bijeenkomst/Uitleen/Rondleiding
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) -- Ruimte- <20>n Uitleen-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_status_bo_key IN (5, 6)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_artikel
|
||
WHERE res_rsv_artikel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE res_rsv_deel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
UNION ALL -- Overig=Voorzieningen
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || 'X' || SUBSTR (rd.res_deel_omschrijving, 1, 3) sortering,
|
||
rrr.res_rsv_ruimte_key, NULL res_rsv_artikel_key, rrd.res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_status_bo_key, rrr.res_rsv_ruimte_ordernr,
|
||
24 * (rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van) aantal,
|
||
rd.res_deel_omschrijving artikelomschrijving,
|
||
DECODE (rrd.res_rsv_deel_prijs, NULL, rd.res_deel_prijs, rrd.res_rsv_deel_prijs / (24 * (rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van)))
|
||
artikelprijs,
|
||
21 btw, -- Hard 21%
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key,
|
||
'V' code_rcvm
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr,
|
||
res_v_aanwezigrsv_deel rrd,
|
||
res_deel rd
|
||
WHERE rrr.res_activiteit_key IN (30, -11, -50) -- Externe bijeenkomst/Uitleen/Rondleiding
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) -- Ruimte- <20>n Uitleen-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
|
||
AND rrd.res_rsv_deel_tot < SYSDATE -- Niet in toekomst!
|
||
AND rrd.res_rsv_deel_dirtlevel = 0 -- Niet dirty!
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rrr.res_status_bo_key IN (5, 6)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_artikel
|
||
WHERE res_rsv_artikel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel
|
||
WHERE res_rsv_deel_dirtlevel = 0 -- Niet dirty!
|
||
AND res_status_bo_key = 2
|
||
AND res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
AND 24 * (rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van) > 0) x -- Zou zo moeten zijn!?
|
||
LEFT JOIN res_v_aanwezigkenmerkwaarde deb
|
||
ON x.res_rsv_ruimte_key = deb.res_rsv_ruimte_key
|
||
AND deb.res_kenmerk_key = 2 -- Debiteur
|
||
LEFT JOIN sroz_v_huurders h
|
||
ON deb.res_kenmerkreservering_waarde = TO_CHAR (h.prs_bedrijf_key)
|
||
LEFT JOIN res_v_aanwezigkenmerkwaarde ref
|
||
ON x.res_rsv_ruimte_key = ref.res_rsv_ruimte_key
|
||
AND ref.res_kenmerk_key = 3 -- Referentie debiteur
|
||
LEFT JOIN res_v_aanwezigkenmerkwaarde adm
|
||
ON x.res_rsv_ruimte_key = adm.res_rsv_ruimte_key
|
||
AND adm.res_kenmerk_key = 161 -- Administratie
|
||
LEFT JOIN fac_v_aanwezigusrdata a
|
||
ON adm.res_kenmerkreservering_waarde = TO_CHAR (a.fac_usrdata_key)
|
||
LEFT JOIN res_v_aanwezigkenmerkwaarde e2a
|
||
ON x.res_rsv_ruimte_key = e2a.res_rsv_ruimte_key
|
||
AND e2a.res_kenmerk_key = 181 -- Export naar Afas
|
||
LEFT JOIN fac_v_aanwezigusrdata e
|
||
ON e2a.res_kenmerkreservering_waarde = TO_CHAR (e.fac_usrdata_key)
|
||
LEFT JOIN res_v_aanwezigkenmerkwaarde gdr
|
||
ON x.res_rsv_ruimte_key = gdr.res_rsv_ruimte_key
|
||
AND gdr.res_kenmerk_key = 182 -- Gecontroleerd door
|
||
LEFT JOIN sroz_v_controleurs c
|
||
ON gdr.res_kenmerkreservering_waarde = TO_CHAR (c.prs_perslid_key)
|
||
WHERE x.res_rsv_ruimte_van > TO_DATE ('01-01-2019', 'dd-mm-yyyy')
|
||
;
|
||
|
||
-- Actueel: Externe reserveringen lopende week!
|
||
CREATE OR REPLACE VIEW sroz_v_rap_actual_res
|
||
(
|
||
hide_f_sortering,
|
||
reserveringsnummer,
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
vandatum,
|
||
totdatum,
|
||
omschrijving,
|
||
aantal,
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
controleur
|
||
)
|
||
AS
|
||
SELECT sortering,
|
||
TO_CHAR (res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr),
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy hh24:mi:ss'),
|
||
TO_CHAR (res_rsv_ruimte_tot, 'dd-mm-yyyy hh24:mi:ss'),
|
||
res_rsv_ruimte_omschrijving,
|
||
SUM (aantal),
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
controleur
|
||
FROM sroz_v_res_all
|
||
WHERE res_rsv_ruimte_van > TRUNC (SYSDATE, 'iw')
|
||
AND res_status_bo_key != 6 -- Niet AV
|
||
--AND COALESCE (export2afas_key, 161) = 161 -- Ja of leeg (zodra afgemeld+gecontroleerd)
|
||
AND export2afas_key = 161 -- Ja (zodra afgemeld+gecontroleerd)
|
||
GROUP BY sortering,
|
||
TO_CHAR (res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr),
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy hh24:mi:ss'),
|
||
TO_CHAR (res_rsv_ruimte_tot, 'dd-mm-yyyy hh24:mi:ss'),
|
||
res_rsv_ruimte_omschrijving,
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
controleur;
|
||
|
||
-- Concept: Externe reserveringen voorgaande week!
|
||
CREATE OR REPLACE VIEW sroz_v_rap_dryrun_res
|
||
(
|
||
hide_f_sortering,
|
||
reserveringsnummer,
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
vandatum,
|
||
totdatum,
|
||
omschrijving,
|
||
aantal,
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
controleur
|
||
)
|
||
AS
|
||
SELECT sortering,
|
||
TO_CHAR (res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr),
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy hh24:mi:ss'),
|
||
TO_CHAR (res_rsv_ruimte_tot, 'dd-mm-yyyy hh24:mi:ss'),
|
||
res_rsv_ruimte_omschrijving,
|
||
SUM (aantal),
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
controleur
|
||
FROM sroz_v_res_all
|
||
WHERE res_rsv_ruimte_van > TO_DATE ('01-01-2023', 'dd-mm-yyyy')
|
||
AND res_rsv_ruimte_van < TRUNC (SYSDATE, 'iw')
|
||
AND res_status_bo_key != 6 -- Niet AV
|
||
--AND COALESCE (export2afas_key, 161) = 161 -- Ja of leeg (zodra afgemeld+gecontroleerd)
|
||
AND export2afas_key = 161 -- Ja (zodra afgemeld+gecontroleerd)
|
||
GROUP BY sortering,
|
||
TO_CHAR (res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr),
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy hh24:mi:ss'),
|
||
TO_CHAR (res_rsv_ruimte_tot, 'dd-mm-yyyy hh24:mi:ss'),
|
||
res_rsv_ruimte_omschrijving,
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
controleur;
|
||
|
||
-- Definitief: Externe reserveringen voorgaande weken!
|
||
-- TODO: Beter historisch opslaan in fin_verkoopfactuur-tabel?
|
||
-- SROZ#85316: Tonen wat verwerkt is en afgemeld+gecontroleerd op ja of leeg!
|
||
CREATE OR REPLACE VIEW sroz_v_rap_frozen_res
|
||
(
|
||
hide_f_sortering,
|
||
fclt_x_week,
|
||
reserveringsnummer,
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
vandatum,
|
||
totdatum,
|
||
omschrijving,
|
||
aantal,
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
controleur
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (TRUNC (fac.gettrackingdate ('RESVER', res_rsv_ruimte_key), 'iw') - 1, 'iyyy-iw') || TO_CHAR (SUBSTR (res_rsv_ruimte_ordernr, 1, INSTR (res_rsv_ruimte_ordernr, '|') - 1), 'FM00000009') || sortering sortering,
|
||
TO_CHAR (TRUNC (fac.gettrackingdate ('RESVER', res_rsv_ruimte_key), 'iw') - 1, 'iyyy-iw') week,
|
||
TO_CHAR (res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr),
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy hh24:mi:ss'),
|
||
TO_CHAR (res_rsv_ruimte_tot, 'dd-mm-yyyy hh24:mi:ss'),
|
||
res_rsv_ruimte_omschrijving,
|
||
SUM (aantal),
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
--administratie,
|
||
CASE -- SROZ#76265: Alles op 1 per export op 02-03-2023!
|
||
WHEN fac.gettrackingdate ('RESVER', res_rsv_ruimte_key) > TO_DATE ('02-03-2023', 'dd-mm-yyyy') THEN '1' -- 1=Stichting Rozet
|
||
ELSE administratie
|
||
END
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
controleur
|
||
FROM sroz_v_res_all
|
||
WHERE fac.gettrackingdate ('RESVER', res_rsv_ruimte_key) > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy') -- Huidige jaar en 2 voorgaande jaren!
|
||
--AND res_status_bo_key = 6 -- AV!
|
||
AND res_rsv_ruimte_ordernr IS NOT NULL
|
||
--AND export2afas_key = 161 -- Ja (zodra afgemeld+gecontroleerd)
|
||
AND COALESCE (export2afas_key, 161) = 161 -- Ja of leeg (zodra afgemeld+gecontroleerd)
|
||
GROUP BY TO_CHAR (TRUNC (fac.gettrackingdate ('RESVER', res_rsv_ruimte_key), 'iw') - 1, 'iyyy-iw') || TO_CHAR (SUBSTR (res_rsv_ruimte_ordernr, 1, INSTR (res_rsv_ruimte_ordernr, '|') - 1), 'FM00000009') || sortering,
|
||
TO_CHAR (TRUNC (fac.gettrackingdate ('RESVER', res_rsv_ruimte_key), 'iw') - 1, 'iyyy-iw'),
|
||
TO_CHAR (res_reservering_key) || '/' || TO_CHAR (res_rsv_ruimte_volgnr),
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy hh24:mi:ss'),
|
||
TO_CHAR (res_rsv_ruimte_tot, 'dd-mm-yyyy hh24:mi:ss'),
|
||
res_rsv_ruimte_omschrijving,
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
CASE -- SROZ#76265: Alles op 1 per export op 02-03-2023!
|
||
WHEN fac.gettrackingdate ('RESVER', res_rsv_ruimte_key) > TO_DATE ('02-03-2023', 'dd-mm-yyyy') THEN '1' -- 1=Stichting Rozet
|
||
ELSE administratie
|
||
END,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
controleur;
|
||
|
||
-- WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 15
|
||
-- AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
-- AND NOT EXISTS
|
||
-- (SELECT 1
|
||
-- FROM mld_vrije_dagen
|
||
-- WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
CREATE OR REPLACE VIEW sroz_v_export_fin
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op woensdagen!
|
||
SELECT 'reserveringsnummer'
|
||
|| ';debiteur'
|
||
|| ';vandatum'
|
||
|| ';totdatum'
|
||
|| ';omschrijving'
|
||
|| ';aantal'
|
||
|| ';artikelomschrijving'
|
||
|| ';artikelprijs'
|
||
|| ';btw'
|
||
|| ';debiteurreferentie'
|
||
|| ';administratie'
|
||
|| ';kostenplaats'
|
||
|| ';codercvm'
|
||
|| ';contactpersoon',
|
||
0
|
||
FROM DUAL
|
||
WHERE TO_CHAR (SYSDATE, 'd') = '4' -- Per SROZ#89074 op woensdag
|
||
UNION ALL
|
||
SELECT reserveringsnummer
|
||
|| ';'
|
||
|| debiteurnummer
|
||
|| ';'
|
||
|| vandatum
|
||
|| ';'
|
||
|| totdatum
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| REPLACE (TO_CHAR (aantal), '.', ',')
|
||
|| ';'
|
||
|| artikelomschrijving
|
||
|| ';'
|
||
|| REPLACE (TO_CHAR (artikelprijs), '.', ',')
|
||
|| ';'
|
||
|| REPLACE (TO_CHAR (btw), '.', ',')
|
||
|| ';'
|
||
|| debiteurreferentie
|
||
|| ';'
|
||
|| administratie
|
||
|| ';'
|
||
|| kostenplaats
|
||
|| ';'
|
||
|| code_rcvm
|
||
|| ';'
|
||
|| debiteurcontact,
|
||
ROWNUM
|
||
FROM ( SELECT reserveringsnummer,
|
||
debiteurnummer,
|
||
vandatum,
|
||
totdatum,
|
||
omschrijving,
|
||
aantal,
|
||
artikelomschrijving,
|
||
artikelprijs,
|
||
btw,
|
||
debiteurreferentie,
|
||
administratie,
|
||
kostenplaats,
|
||
code_rcvm,
|
||
debiteurcontact
|
||
FROM sroz_v_rap_frozen_res
|
||
WHERE fclt_x_week = TO_CHAR (TRUNC (SYSDATE, 'iw') - 1, 'iyyy-iw')
|
||
AND artikelprijs != 0
|
||
ORDER BY hide_f_sortering)
|
||
WHERE TO_CHAR (SYSDATE, 'd') = '4' -- Per SROZ#89074 op woensdag
|
||
;
|
||
|
||
CREATE OR REPLACE PROCEDURE sroz_select_fin (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Verwerken gedefineerde set aan 'Externe bijeenkomst'-regels (waarvan
|
||
-- mogelijk slechts een deel wordt ge<67>xporteerd)!
|
||
CURSOR c1
|
||
IS
|
||
SELECT '[' || debiteurnummer || '] ' aanduiding,
|
||
res_rsv_ruimte_key, res_rsv_artikel_key, res_rsv_deel_key,
|
||
debiteurnummer, aantal, artikelprijs, btw
|
||
FROM sroz_v_res_all
|
||
WHERE res_rsv_ruimte_van > TO_DATE ('01-01-2023', 'dd-mm-yyyy')
|
||
AND res_rsv_ruimte_van < TRUNC (SYSDATE, 'iw')
|
||
AND res_status_bo_key != 6 -- Niet AV
|
||
--AND ((COALESCE (export2afas_key, 161) = 161 AND controleur IS NOT NULL) -- Ja of leeg (zodra afgemeld+gecontroleerd)
|
||
AND ((export2afas_key = 161 AND controleur IS NOT NULL) -- Ja (zodra afgemeld+gecontroleerd)
|
||
OR export2afas_key = 162)
|
||
AND sortering NOT LIKE '%R1' -- Skip Korting-regels!
|
||
ORDER BY debiteurnummer, sortering DESC;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_regel_nr NUMBER;
|
||
v_amount_tot NUMBER (10, 2);
|
||
v_prijs NUMBER (9, 2);
|
||
BEGIN
|
||
-- LET OP: FIN-export draait dagelijks na middernacht (begin van dag) en de
|
||
-- verkoop wordt wekelijks - per SROZ#89074 - alleen in de nacht na dinsdag
|
||
-- doorgezet.
|
||
IF TO_CHAR (SYSDATE, 'd') = '4'
|
||
THEN
|
||
v_regel_nr := 0;
|
||
v_amount_tot := 0;
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_prijs := ROUND (rec.aantal * rec.artikelprijs, 2);
|
||
|
||
IF rec.res_rsv_artikel_key IS NOT NULL
|
||
THEN -- Artikel-regel
|
||
v_errormsg := 'Fout verwerken res_rsv_artikel';
|
||
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date)
|
||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
v_errormsg := 'Fout tracken C-verwerking';
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Artikel verwerkt');
|
||
ELSIF rec.res_rsv_deel_key IS NOT NULL
|
||
THEN -- Voorziening-regel
|
||
v_errormsg := 'Fout bewaren res_rsv_deel_prijs';
|
||
|
||
UPDATE res_rsv_deel
|
||
SET res_rsv_deel_prijs = v_prijs
|
||
WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
|
||
|
||
v_errormsg := 'Fout verwerken res_rsv_deel';
|
||
|
||
UPDATE res_rsv_deel
|
||
SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date)
|
||
WHERE res_rsv_deel_key = rec.res_rsv_deel_key;
|
||
|
||
v_errormsg := 'Fout tracken V-verwerking';
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Voorziening verwerkt');
|
||
ELSE -- Ruimte-regel
|
||
v_errormsg := 'Fout bewaren res_rsv_ruimte_prijs';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_rsv_ruimte_prijs = v_prijs,
|
||
res_rsv_ruimte_ordernr = rec.debiteurnummer || '|' || TO_CHAR (rec.btw) -- Historisch bewaren: debiteurnummer + btw
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
v_errormsg := 'Fout verwerken res_rsv_ruimte';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 6 -- AV
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
v_errormsg := 'Fout tracken R-verwerking';
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||
END IF;
|
||
|
||
v_regel_nr := v_regel_nr + 1;
|
||
v_amount_tot := v_amount_tot + v_prijs;
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'FIN-regels');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'FIN export/#regels: ' || TO_CHAR (v_regel_nr), TO_CHAR (v_amount_tot));
|
||
END IF;
|
||
END;
|
||
/
|
||
|
||
-- View tbv. Fidato/TiC Narrow Casting om reserveringsgegevens te tonen <20>n de
|
||
-- Omschrijvingen van geaccepteerde/niet afgemelde meldingen van soortmelding
|
||
-- Bericht (met key=1).
|
||
-- SROZ#59450: Organisatie-kolom leeg als er geen debiteur is gekozen.
|
||
CREATE OR REPLACE VIEW sroz_v_rap_infobord
|
||
AS
|
||
SELECT (CASE
|
||
WHEN rrr.res_rsv_ruimte_van > SYSDATE THEN 'expected'
|
||
WHEN rrr.res_rsv_ruimte_tot < SYSDATE THEN 'passed'
|
||
ELSE 'active'
|
||
END)
|
||
aktief,
|
||
--TRUNC ((SYSDATE - rrr.res_rsv_ruimte_van) * 24 * 60) offset,
|
||
TO_CHAR (rrr.res_rsv_ruimte_van, 'dd-mm-yyyy') dag,
|
||
TO_CHAR (rrr.res_rsv_ruimte_van, 'hh24:mi') tijd_van,
|
||
TO_CHAR (rrr.res_rsv_ruimte_tot, 'hh24:mi') tijd_tot,
|
||
rrg.res_ruimte_nr ruimte,
|
||
--rd.ins_discipline_omschrijving catalogus,
|
||
--aanvrager.prs_perslid_naam_full aanvrager,
|
||
--gastheer.prs_perslid_naam_full gastheer,
|
||
rrr.res_rsv_ruimte_omschrijving omschrijving,
|
||
--sf.res_status_fo_omschrijving status,
|
||
--l.alg_locatie_code locatie_code,
|
||
--g.alg_gebouw_code gebouw_code,
|
||
--v.alg_verdieping_code verdieping_code,
|
||
--l.alg_locatie_omschrijving locatie_omschrijving,
|
||
--g.alg_gebouw_omschrijving gebouw_omschrijving,
|
||
--v.alg_verdieping_omschrijving verdieping_omschrijving,
|
||
--l.alg_locatie_key,
|
||
--g.alg_gebouw_key,
|
||
--v.alg_verdieping_key
|
||
COALESCE (deb.prs_bedrijf_naam, '') organisatie
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_v_res_ruimte_gegevens rrg,
|
||
--prs_v_perslid_fullnames aanvrager,
|
||
--prs_v_perslid_fullnames gastheer,
|
||
--alg_locatie l,
|
||
--alg_gebouw g,
|
||
--alg_verdieping v,
|
||
--res_status_fo sf,
|
||
--res_discipline rd,
|
||
(SELECT kw.res_rsv_ruimte_key, b.prs_bedrijf_naam
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k, prs_bedrijf b
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 2 -- Debiteur
|
||
AND kw.res_kenmerkreservering_waarde = TO_CHAR (b.prs_bedrijf_key)
|
||
UNION ALL
|
||
SELECT kw.res_rsv_ruimte_key, b.prs_bedrijf_naam
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k, prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 2 -- Debiteur
|
||
AND kw.res_kenmerkreservering_waarde = TO_CHAR (cp.prs_contactpersoon_key - 100000000)
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key) deb,
|
||
prs_perslid ph,
|
||
prs_afdeling a
|
||
WHERE TRUNC (rrr.res_rsv_ruimte_van) = TRUNC (SYSDATE) -- Alleen vandaag!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rrg.res_ruimte_key
|
||
--AND rrr.res_rsv_ruimte_contact_key = aanvrager.prs_perslid_key
|
||
--AND rrr.res_rsv_ruimte_host_key = gastheer.prs_perslid_key
|
||
--AND rrg.alg_locatie_key = l.alg_locatie_key
|
||
--AND rrg.alg_gebouw_key = g.alg_gebouw_key
|
||
--AND rrg.alg_verdieping_key = v.alg_verdieping_key
|
||
--AND rrr.res_status_fo_key = sf.res_status_fo_key
|
||
--AND rrg.res_discipline_key = rd.ins_discipline_key
|
||
AND rrr.res_rsv_ruimte_key = deb.res_rsv_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_host_key = ph.prs_perslid_key
|
||
AND ph.prs_afdeling_key = a.prs_afdeling_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 21 -- Toon op scherm
|
||
AND kw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||
UNION ALL
|
||
SELECT 'active' aktief,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') dag,
|
||
'08:30' tijd_van,
|
||
'22:00' tijd_tot,
|
||
NULL,
|
||
TO_CHAR(SUBSTR(mld_melding_omschrijving,1,4000)) omschrijving,
|
||
NULL organisatie
|
||
FROM mld_melding
|
||
WHERE mld_stdmelding_key = 1 -- Bericht
|
||
AND mld_melding_status = 4 -- In behandeling (van Acceptatie tot Afgemeld)
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_meubels
|
||
(
|
||
hide_f_sortering,
|
||
datum,
|
||
artikel,
|
||
aantal_aanwezig,
|
||
aantal_gebruikt,
|
||
mogelijk_tekort,
|
||
resnrs
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (datum, 'yyyymmdd') || artikel,
|
||
datum,
|
||
artikel,
|
||
aanwezig,
|
||
gebruikt,
|
||
DECODE (SIGN (aanwezig - gebruikt), -1, 'Ja', 'Nee') tekort,
|
||
resnrs
|
||
FROM ( SELECT TRUNC (rra.res_rsv_artikel_levering) datum,
|
||
ra.res_artikel_omschrijving artikel,
|
||
COALESCE (fac.safe_to_number (ra.res_artikel_groep), 0) aanwezig,
|
||
SUM (rra.res_rsv_artikel_aantal) gebruikt,
|
||
listagg (
|
||
TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr),
|
||
', ')
|
||
WITHIN GROUP (ORDER BY rrr.res_rsv_ruimte_key)
|
||
AS resnrs
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = 52 -- Meubels
|
||
GROUP BY TRUNC (rra.res_rsv_artikel_levering),
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_groep);
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_zalenzetters
|
||
(
|
||
hide_f_sortering,
|
||
res_rsv_ruimte_key,
|
||
datum,
|
||
resnr,
|
||
titel,
|
||
begin_eind,
|
||
tijd,
|
||
ruimte,
|
||
deelnemers,
|
||
opstelling_voorzieningen,
|
||
opmerking_beheerder,
|
||
catering
|
||
)
|
||
AS
|
||
SELECT DECODE (x.begin_eind, 'Begin', TO_CHAR (x.res_rsv_ruimte_van, 'yyyymmdd hh24:mi'), TO_CHAR (x.res_rsv_ruimte_tot, 'yyyymmdd hh24:mi')) || TO_CHAR (res_ruimte_nr)
|
||
sortering,
|
||
x.res_rsv_ruimte_key,
|
||
x.res_rsv_ruimte_van datum,
|
||
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) resnr,
|
||
x.res_rsv_ruimte_omschrijving titel,
|
||
x.begin_eind,
|
||
DECODE (x.begin_eind, 'Begin', TO_CHAR (x.res_rsv_ruimte_van, 'hh24:mi') || '-' || TO_CHAR (x.res_rsv_ruimte_tot, 'hh24:mi'), TO_CHAR (x.res_rsv_ruimte_tot, 'hh24:mi')) tijd,
|
||
x.res_ruimte_nr ruimte,
|
||
x.res_rsv_ruimte_bezoekers deelnemers,
|
||
DECODE (x.next_van, NULL, '', '[' || TO_CHAR (x.next_van, 'hh24:mi') || ']' || CHR (13) || CHR (10))
|
||
|| DECODE (x.begin_eind, 'Eind', DECODE (x.res_ruimte_opstel_default, 1, '', 'Opstelling terugbouwen' || CHR (13) || CHR (10)), x.res_opstelling_omschrijving || CHR (13) || CHR (10))
|
||
|| DECODE (rar.aantal, NULL, '', 0, '', 1, '', DECODE (x.begin_eind, 'Eind', 'Koppelzaal dicht', 'Koppelzaal open') || CHR (13) || CHR (10))
|
||
|| DECODE (sbo_beh.res_kenmerkreservering_waarde, NULL, '', DECODE (x.begin_eind, 'Eind', '', 'Smartboard opstarten') || CHR (13) || CHR (10))
|
||
|| DECODE (ra.res_artikels, NULL, '', ra.res_artikels || CHR (13) || CHR (10))
|
||
|| rd.res_deels
|
||
opstelling_voorzieningen,
|
||
opm_beh.res_kenmerkreservering_waarde opmerking_beheerder,
|
||
cat.res_catalogi
|
||
FROM (SELECT 'Begin' begin_eind, -- Begin als opstelling anders dan voorgaande
|
||
rrr1.*, rr1.res_ruimte_key, rr1.res_ruimte_nr, ro1.res_opstelling_omschrijving, res_ruimte_opstel_default,
|
||
NULL next_van
|
||
FROM res_v_aanwezigrsv_ruimte rrr1, res_ruimte_opstelling rro1, res_ruimte rr1, res_opstelling ro1
|
||
WHERE rrr1.res_rsv_ruimte_van > TRUNC (SYSDATE)
|
||
AND rrr1.res_ruimte_opstel_key = rro1.res_ruimte_opstel_key
|
||
AND rro1.res_ruimte_key = rr1.res_ruimte_key
|
||
AND rro1.res_opstelling_key = ro1.res_opstelling_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_ruimte rrr2, res_ruimte_opstelling rro2
|
||
WHERE rrr2.res_ruimte_opstel_key = rro2.res_ruimte_opstel_key
|
||
AND rrr2.res_rsv_ruimte_tot BETWEEN TRUNC (rrr1.res_rsv_ruimte_van - 1) AND rrr1.res_rsv_ruimte_van
|
||
AND rro2.res_ruimte_key = rro1.res_ruimte_key
|
||
AND rro2.res_opstelling_key != rro1.res_opstelling_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_ruimte rrr3, res_ruimte_opstelling rro3
|
||
WHERE rrr3.res_ruimte_opstel_key = rro3.res_ruimte_opstel_key
|
||
AND rrr3.res_rsv_ruimte_tot BETWEEN TRUNC (rrr1.res_rsv_ruimte_van - 1) AND rrr1.res_rsv_ruimte_van
|
||
AND rro3.res_ruimte_key = rro2.res_ruimte_key
|
||
AND rrr3.res_rsv_ruimte_tot > rrr2.res_rsv_ruimte_tot))
|
||
UNION
|
||
SELECT 'Begin' begin_eind, -- Begin als opstelling anders dan default
|
||
rrr1.*, rr1.res_ruimte_key, rr1.res_ruimte_nr, ro1.res_opstelling_omschrijving, res_ruimte_opstel_default,
|
||
NULL next_van
|
||
FROM res_v_aanwezigrsv_ruimte rrr1, res_ruimte_opstelling rro1, res_ruimte rr1, res_opstelling ro1
|
||
WHERE rrr1.res_rsv_ruimte_van > TRUNC (SYSDATE)
|
||
AND rrr1.res_ruimte_opstel_key = rro1.res_ruimte_opstel_key
|
||
AND rro1.res_ruimte_key = rr1.res_ruimte_key
|
||
AND rro1.res_opstelling_key = ro1.res_opstelling_key
|
||
AND rro1.res_ruimte_opstel_default IS NULL
|
||
UNION
|
||
SELECT 'Eind' begin_eind, -- Eind als opstelling anders dan default
|
||
rrr1.*, rr1.res_ruimte_key, rr1.res_ruimte_nr, ro1.res_opstelling_omschrijving, res_ruimte_opstel_default,
|
||
(SELECT MIN (x.res_rsv_ruimte_van)
|
||
FROM res_v_aanwezigrsv_ruimte x, res_ruimte_opstelling y
|
||
WHERE x.res_ruimte_opstel_key = y.res_ruimte_opstel_key
|
||
AND y.res_ruimte_key = rr1.res_ruimte_key
|
||
AND TRUNC (x.res_rsv_ruimte_van) = TRUNC (rrr1.res_rsv_ruimte_tot)
|
||
AND x.res_rsv_ruimte_van > rrr1.res_rsv_ruimte_tot)
|
||
next_van
|
||
FROM res_v_aanwezigrsv_ruimte rrr1, res_ruimte_opstelling rro1, res_ruimte rr1, res_opstelling ro1
|
||
WHERE rrr1.res_rsv_ruimte_van > TRUNC (SYSDATE)
|
||
AND rrr1.res_ruimte_opstel_key = rro1.res_ruimte_opstel_key
|
||
AND rro1.res_ruimte_key = rr1.res_ruimte_key
|
||
AND rro1.res_opstelling_key = ro1.res_opstelling_key
|
||
AND rro1.res_ruimte_opstel_default IS NULL
|
||
UNION
|
||
SELECT 'Begin' begin_eind, -- Begin als koppelzaal of smartboard opstarten of Opmerking beheerder
|
||
rrr1.*, rr1.res_ruimte_key, rr1.res_ruimte_nr, ro1.res_opstelling_omschrijving, res_ruimte_opstel_default,
|
||
NULL next_van
|
||
FROM res_v_aanwezigrsv_ruimte rrr1, res_ruimte_opstelling rro1, res_ruimte rr1, res_opstelling ro1,
|
||
( SELECT res_ruimte_key, COUNT (*) aantal
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar
|
||
WHERE rrr1.res_rsv_ruimte_van > TRUNC (SYSDATE)
|
||
AND rrr1.res_ruimte_opstel_key = rro1.res_ruimte_opstel_key
|
||
AND rro1.res_ruimte_key = rr1.res_ruimte_key
|
||
AND rro1.res_opstelling_key = ro1.res_opstelling_key
|
||
AND rro1.res_ruimte_key = rar.res_ruimte_key
|
||
AND (rar.aantal > 1
|
||
OR EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 121 -- Smartboard opstarten door beheerder
|
||
AND kw.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key)
|
||
OR EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigkenmerkwaarde kw
|
||
WHERE kw.res_kenmerk_key IN (44, 46) -- Opmerking beheerder
|
||
AND kw.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key))
|
||
UNION
|
||
SELECT 'Eind' begin_eind, -- Eind als koppelzaal
|
||
rrr1.*, rr1.res_ruimte_key, rr1.res_ruimte_nr, ro1.res_opstelling_omschrijving, res_ruimte_opstel_default,
|
||
(SELECT MIN (x.res_rsv_ruimte_van)
|
||
FROM res_v_aanwezigrsv_ruimte x, res_ruimte_opstelling y
|
||
WHERE x.res_ruimte_opstel_key = y.res_ruimte_opstel_key
|
||
AND y.res_ruimte_key = rr1.res_ruimte_key
|
||
AND TRUNC (x.res_rsv_ruimte_van) = TRUNC (rrr1.res_rsv_ruimte_tot)
|
||
AND x.res_rsv_ruimte_van > rrr1.res_rsv_ruimte_tot)
|
||
next_van
|
||
FROM res_v_aanwezigrsv_ruimte rrr1, res_ruimte_opstelling rro1, res_ruimte rr1, res_opstelling ro1,
|
||
( SELECT res_ruimte_key, COUNT (*) aantal
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar
|
||
WHERE rrr1.res_rsv_ruimte_van > TRUNC (SYSDATE)
|
||
AND rrr1.res_ruimte_opstel_key = rro1.res_ruimte_opstel_key
|
||
AND rro1.res_ruimte_key = rr1.res_ruimte_key
|
||
AND rro1.res_opstelling_key = ro1.res_opstelling_key
|
||
AND rro1.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.aantal > 1
|
||
UNION
|
||
SELECT 'Begin' begin_eind, -- Begin als geboekt uit Beheerder-catalogi
|
||
rrr1.*, rr1.res_ruimte_key, rr1.res_ruimte_nr, ro1.res_opstelling_omschrijving, res_ruimte_opstel_default,
|
||
NULL next_van
|
||
FROM res_v_aanwezigrsv_ruimte rrr1, res_ruimte_opstelling rro1, res_ruimte rr1, res_opstelling ro1
|
||
WHERE rrr1.res_rsv_ruimte_van > TRUNC (SYSDATE)
|
||
AND rrr1.res_ruimte_opstel_key = rro1.res_ruimte_opstel_key
|
||
AND rro1.res_ruimte_key = rr1.res_ruimte_key
|
||
AND rro1.res_opstelling_key = ro1.res_opstelling_key
|
||
AND (EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = 52 -- Meubels
|
||
AND rra.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key)
|
||
OR EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd
|
||
WHERE rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key IN (54, 55, 102, 103, 461)
|
||
AND rrd.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key))
|
||
UNION
|
||
SELECT 'Eind' begin_eind, -- Eind als geboekt uit Beheerder-catalogi
|
||
rrr1.*, rr1.res_ruimte_key, rr1.res_ruimte_nr, ro1.res_opstelling_omschrijving, res_ruimte_opstel_default,
|
||
(SELECT MIN (x.res_rsv_ruimte_van)
|
||
FROM res_v_aanwezigrsv_ruimte x, res_ruimte_opstelling y
|
||
WHERE x.res_ruimte_opstel_key = y.res_ruimte_opstel_key
|
||
AND y.res_ruimte_key = rr1.res_ruimte_key
|
||
AND TRUNC (x.res_rsv_ruimte_van) = TRUNC (rrr1.res_rsv_ruimte_tot)
|
||
AND x.res_rsv_ruimte_van > rrr1.res_rsv_ruimte_tot)
|
||
next_van
|
||
FROM res_v_aanwezigrsv_ruimte rrr1, res_ruimte_opstelling rro1, res_ruimte rr1, res_opstelling ro1
|
||
WHERE rrr1.res_rsv_ruimte_van > TRUNC (SYSDATE)
|
||
AND rrr1.res_ruimte_opstel_key = rro1.res_ruimte_opstel_key
|
||
AND rro1.res_ruimte_key = rr1.res_ruimte_key
|
||
AND rro1.res_opstelling_key = ro1.res_opstelling_key
|
||
AND (EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = 52 -- Meubels
|
||
AND rra.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key)
|
||
OR EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd
|
||
WHERE rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key IN (54, 55, 102, 103, 461)
|
||
AND rrd.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key))
|
||
UNION
|
||
SELECT 'Begin' begin_eind, -- SROZ#60166: Begin als geboekt uit Catering(/Voorziening)-catalogi
|
||
rrr1.*, rr1.res_ruimte_key, rr1.res_ruimte_nr, ro1.res_opstelling_omschrijving, res_ruimte_opstel_default,
|
||
NULL next_van
|
||
FROM res_v_aanwezigrsv_ruimte rrr1, res_ruimte_opstelling rro1, res_ruimte rr1, res_opstelling ro1
|
||
WHERE rrr1.res_rsv_ruimte_van > TRUNC (SYSDATE)
|
||
AND rrr1.res_ruimte_opstel_key = rro1.res_ruimte_opstel_key
|
||
AND rro1.res_ruimte_key = rr1.res_ruimte_key
|
||
AND rro1.res_opstelling_key = ro1.res_opstelling_key
|
||
AND (EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (49, 50, 301, 321, 341) -- Momento/A-vif/Koffie- en theekar
|
||
AND rra.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key)
|
||
OR EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd
|
||
WHERE rrd.res_rsv_deel_dirtlevel = 0
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key IN (381, 541) -- SROZ#60166+SROZ#71251: Koffie- en theekar Rozet (Extra)
|
||
AND rrd.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key))
|
||
UNION
|
||
SELECT 'Eind' begin_eind, -- SROZ#60166: Eind als geboekt uit Catering(/Voorziening)-catalogi
|
||
rrr1.*, rr1.res_ruimte_key, rr1.res_ruimte_nr, ro1.res_opstelling_omschrijving, res_ruimte_opstel_default,
|
||
(SELECT MIN (x.res_rsv_ruimte_van)
|
||
FROM res_v_aanwezigrsv_ruimte x, res_ruimte_opstelling y
|
||
WHERE x.res_ruimte_opstel_key = y.res_ruimte_opstel_key
|
||
AND y.res_ruimte_key = rr1.res_ruimte_key
|
||
AND TRUNC (x.res_rsv_ruimte_van) = TRUNC (rrr1.res_rsv_ruimte_tot)
|
||
AND x.res_rsv_ruimte_van > rrr1.res_rsv_ruimte_tot)
|
||
next_van
|
||
FROM res_v_aanwezigrsv_ruimte rrr1, res_ruimte_opstelling rro1, res_ruimte rr1, res_opstelling ro1
|
||
WHERE rrr1.res_rsv_ruimte_van > TRUNC (SYSDATE)
|
||
AND rrr1.res_ruimte_opstel_key = rro1.res_ruimte_opstel_key
|
||
AND rro1.res_ruimte_key = rr1.res_ruimte_key
|
||
AND rro1.res_opstelling_key = ro1.res_opstelling_key
|
||
AND (EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (49, 50, 301, 321, 341) -- Momento/A-vif/Koffie- en theekar
|
||
AND rra.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key)
|
||
OR EXISTS
|
||
(SELECT 1
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd
|
||
WHERE rrd.res_rsv_deel_dirtlevel = 0
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key IN (381, 541) -- SROZ#60166+SROZ#71251: Koffie- en theekar Rozet (Extra)
|
||
AND rrd.res_rsv_ruimte_key = rrr1.res_rsv_ruimte_key))) x
|
||
LEFT JOIN ( SELECT res_ruimte_key, COUNT (*) aantal
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar
|
||
ON x.res_ruimte_key = rar.res_ruimte_key
|
||
LEFT JOIN res_v_aanwezigkenmerkwaarde sbo_beh
|
||
ON x.res_rsv_ruimte_key = sbo_beh.res_rsv_ruimte_key
|
||
AND sbo_beh.res_kenmerk_key IN (141, 142) -- Smartboard opstarten door beheerder
|
||
LEFT JOIN ( SELECT rra.res_rsv_ruimte_key, -- Te bezorgen/afhalen Beheerder-artikelen
|
||
listagg (
|
||
TO_CHAR (rra.res_rsv_artikel_aantal) || ' x ' || TO_CHAR (ra.res_artikel_omschrijving),
|
||
CHR (13) || CHR (10))
|
||
WITHIN GROUP (ORDER BY ra.res_artikel_omschrijving)
|
||
AS res_artikels
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering > TRUNC (SYSDATE)
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = 52 -- Meubels
|
||
GROUP BY rra.res_rsv_ruimte_key) ra
|
||
ON x.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
|
||
LEFT JOIN ( SELECT rrd.res_rsv_ruimte_key, -- Te bezorgen/afhalen Beheerder-delen
|
||
listagg (
|
||
TO_CHAR (rd.res_deel_omschrijving),
|
||
CHR (13) || CHR (10))
|
||
WITHIN GROUP (ORDER BY rd.res_deel_omschrijving)
|
||
AS res_deels
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd
|
||
WHERE rrd.res_rsv_deel_van > TRUNC (SYSDATE)
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key IN (54, 55, 102, 103, 461)
|
||
GROUP BY rrd.res_rsv_ruimte_key) rd
|
||
ON x.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
|
||
LEFT JOIN res_v_aanwezigkenmerkwaarde opm_beh
|
||
ON x.res_rsv_ruimte_key = opm_beh.res_rsv_ruimte_key
|
||
AND opm_beh.res_kenmerk_key IN (44, 46) -- Opmerking beheerder
|
||
LEFT JOIN ( SELECT res_rsv_ruimte_key, -- SROZ#60166+SROZ#61582+SROZ#71251: Geboekte Catering(/Voorziening)-catalogi
|
||
listagg (
|
||
ins_discipline_omschrijving,
|
||
CHR (13) || CHR (10))
|
||
WITHIN GROUP (ORDER BY ins_discipline_omschrijving)
|
||
AS res_catalogi
|
||
FROM (SELECT DISTINCT rra.res_rsv_ruimte_key, cat.ins_discipline_omschrijving
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra, res_discipline cat
|
||
WHERE rra.res_rsv_artikel_levering > TRUNC (SYSDATE)
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key = cat.ins_discipline_key
|
||
AND cat.ins_discipline_key IN (49, 50, 301, 321, 341) -- Momento/A-vif/Koffie- en theekar
|
||
UNION ALL
|
||
SELECT DISTINCT rrd.res_rsv_ruimte_key, rd.res_deel_omschrijving ins_discipline_omschrijving
|
||
FROM res_v_aanwezigrsv_deel rrd, res_deel rd, res_discipline cat
|
||
WHERE rrd.res_rsv_deel_van > TRUNC (SYSDATE)
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key = cat.ins_discipline_key
|
||
AND cat.ins_discipline_key IN (381, 541)) -- SROZ#60166+SROZ#71251: Koffie- en theekar Rozet (Extra)
|
||
GROUP BY res_rsv_ruimte_key) cat
|
||
ON x.res_rsv_ruimte_key = cat.res_rsv_ruimte_key
|
||
;
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_infopunt
|
||
(
|
||
hide_f_sortering,
|
||
res_rsv_ruimte_key,
|
||
datum,
|
||
resnr,
|
||
begintijd,
|
||
eindtijd,
|
||
ruimte,
|
||
titel,
|
||
programma,
|
||
debiteur,
|
||
team
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (x.res_rsv_ruimte_van, 'yyyymmdd hh24:mi') || TO_CHAR (res_ruimte_nr)
|
||
sortering,
|
||
x.res_rsv_ruimte_key,
|
||
x.res_rsv_ruimte_van datum,
|
||
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr)
|
||
resnr,
|
||
x.res_rsv_ruimte_van,
|
||
x.res_rsv_ruimte_tot,
|
||
x.res_ruimte_nr ruimte,
|
||
x.res_rsv_ruimte_omschrijving titel,
|
||
prog.res_kenmerkreservering_waarde programma,
|
||
x.prs_bedrijf_naam debiteur,
|
||
CASE
|
||
WHEN x.res_rsv_ruimte_flag > 0
|
||
THEN lcl.l ('lcl_res_flag' || x.res_rsv_ruimte_flag)
|
||
END
|
||
team
|
||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_rsv_ruimte_flag,
|
||
rr.res_ruimte_nr,
|
||
deb.prs_bedrijf_naam
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
(SELECT kw.res_rsv_ruimte_key, b.prs_bedrijf_naam
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k, prs_bedrijf b
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 2 -- Debiteur
|
||
AND kw.res_kenmerkreservering_waarde = TO_CHAR (b.prs_bedrijf_key)
|
||
UNION ALL
|
||
SELECT kw.res_rsv_ruimte_key, b.prs_bedrijf_naam
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k, prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 2 -- Debiteur
|
||
AND kw.res_kenmerkreservering_waarde = TO_CHAR (cp.prs_contactpersoon_key - 100000000)
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key) deb
|
||
WHERE rrr.res_rsv_ruimte_van BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE + 10)
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rrr.res_rsv_ruimte_key = deb.res_rsv_ruimte_key(+)) x
|
||
LEFT JOIN
|
||
res_v_aanwezigkenmerkwaarde prog
|
||
ON x.res_rsv_ruimte_key = prog.res_rsv_ruimte_key
|
||
AND prog.res_kenmerk_key IN (41, 42) -- Programma
|
||
;
|
||
|
||
-- SROZ#55615: Rapportage cateraars.
|
||
-- SROZ#71881: Verbruiksartikelen-catalogus 52=Meubels negeren in rapportage.
|
||
CREATE OR REPLACE VIEW sroz_v_rap_cateraar
|
||
(
|
||
hide_f_sortering,
|
||
res_rsv_ruimte_key,
|
||
datum,
|
||
begintijd,
|
||
eindtijd,
|
||
resnr,
|
||
titel,
|
||
--team, -- Organisatie?
|
||
ruimte,
|
||
deelnemers,
|
||
artikel,
|
||
aantal,
|
||
prijs_incl_btw,
|
||
btw,
|
||
totaal_incl_btw,
|
||
opm_cateraar,
|
||
fclt_3d_discipline_key,
|
||
catalogus
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24:mi')
|
||
|| SUBSTR ('000000000' || TO_CHAR (rrr.res_reservering_key), -10)
|
||
|| '/'
|
||
|| SUBSTR ('0000' || TO_CHAR (rrr.res_rsv_ruimte_volgnr), -5)
|
||
|| SUBSTR ('00' || TO_CHAR (rra.volgnr), -3)
|
||
sortering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_rsv_ruimte_van datum,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_tot,
|
||
TO_CHAR (rrr.res_reservering_key) || '/' || TO_CHAR (rrr.res_rsv_ruimte_volgnr)
|
||
resnr,
|
||
rrr.res_rsv_ruimte_omschrijving titel,
|
||
--CASE
|
||
-- WHEN rrr.res_rsv_ruimte_flag > 0
|
||
-- THEN lcl.l ('lcl_res_flag' || rrr.res_rsv_ruimte_flag)
|
||
--END
|
||
-- team,
|
||
COALESCE (rr.res_ruimte_nr, (SELECT alg_plaatsaanduiding FROM alg_v_plaatsaanduiding_all WHERE alg_onroerendgoed_keys = rrr.alg_ruimte_key))
|
||
ruimte,
|
||
rrr.res_rsv_ruimte_bezoekers deelnemers,
|
||
rra.res_artikel_omschrijving artikel,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
DECODE (rra.res_rsv_artikel_prijs, NULL, rra.res_artikel_prijs, rra.res_rsv_artikel_prijs / rra.res_rsv_artikel_aantal)
|
||
prijs_incl_btw,
|
||
rra.btw,
|
||
DECODE (rra.res_rsv_artikel_prijs, NULL, rra.res_rsv_artikel_aantal * rra.res_artikel_prijs, rra.res_rsv_artikel_prijs)
|
||
totaal_incl_btw,
|
||
DECODE (rra.volgnr, 1, opm_cat.res_kenmerkreservering_waarde, NULL)
|
||
opmerking_cateraar,
|
||
rra.res_discipline_key,
|
||
rd.ins_discipline_omschrijving catalogus
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr,
|
||
(SELECT res_rsv_ruimte_key, res_rsv_artikel_key,
|
||
res_rsv_artikel_levering, res_status_bo_key,
|
||
res_rsv_artikel_aantal, res_artikel_nr, res_artikel_omschrijving,
|
||
res_rsv_artikel_prijs, res_artikel_prijs, btw,
|
||
res_discipline_key,
|
||
ROW_NUMBER ()
|
||
OVER (
|
||
PARTITION BY res_rsv_ruimte_key
|
||
ORDER BY res_discipline_key, res_artikel_volgnummer, res_artikel_omschrijving)
|
||
AS volgnr
|
||
FROM (SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal, ra.res_artikel_nr, ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs, ra.res_artikel_prijs,
|
||
COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw, 21) btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND (ra.res_discipline_key NOT IN (48, 50, 52) OR ra.res_artikel_btw IS NOT NULL)
|
||
UNION ALL -- Dichtbij BTW laag
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal, ra.res_artikel_nr, ra.res_artikel_omschrijving,
|
||
0.66 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.66 * ra.res_artikel_prijs res_artikel_prijs,
|
||
DECODE (TO_CHAR (rra.res_rsv_artikel_levering, 'yyyy'), '2018', 6, 9) btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (48) -- Dichtbij extra
|
||
AND ra.res_artikel_btw IS NULL
|
||
UNION ALL -- Dichtbij BTW hoog
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal, ra.res_artikel_nr, ra.res_artikel_omschrijving,
|
||
0.34 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.34 * ra.res_artikel_prijs res_artikel_prijs,
|
||
21 btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (48) -- Dichtbij extra
|
||
AND ra.res_artikel_btw IS NULL
|
||
UNION ALL -- Momento BTW laag
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal, ra.res_artikel_nr, ra.res_artikel_omschrijving,
|
||
0.65 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.65 * ra.res_artikel_prijs res_artikel_prijs,
|
||
DECODE (TO_CHAR (rra.res_rsv_artikel_levering, 'yyyy'), '2018', 6, 9) btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (50) -- Momento extra
|
||
AND ra.res_artikel_btw IS NULL
|
||
UNION ALL -- Momento BTW hoog
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal, ra.res_artikel_nr, ra.res_artikel_omschrijving,
|
||
0.35 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.35 * ra.res_artikel_prijs res_artikel_prijs,
|
||
21 btw,
|
||
ra.res_discipline_key, ra.res_artikel_volgnummer
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (50) -- Momento extra
|
||
AND ra.res_artikel_btw IS NULL)) rra,
|
||
(SELECT res_rsv_ruimte_key, res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde
|
||
WHERE res_kenmerk_key IN (43, 45)) opm_cat, -- Opmerking cateraar
|
||
res_discipline rd
|
||
WHERE rrr.res_rsv_ruimte_van > TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy')
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) -- Ruimte- <20>n Uitleen-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_aantal != 0 -- Zou altijd zo moeten zijn!?
|
||
AND rrr.res_rsv_ruimte_key = opm_cat.res_rsv_ruimte_key(+)
|
||
AND rra.res_discipline_key = rd.ins_discipline_key;
|
||
|
||
-- SROZ#56682: RES-managementrapportages
|
||
-- - Alle Externe en Interne (niet dirty) reserveringen ongeacht BO-status t/m volgend jaar
|
||
-- - Inclusief activiteit (key + omschrijving)
|
||
-- - Inclusief gebruiker (key + omschrijving)
|
||
-- - Inclusief res_status_fo_key (1=Optie of 2=Definitief)
|
||
-- - Inclusief catalogus (R-, C-, V- of M-catalogus)
|
||
-- - Ruimtenr als Artikelomschrijving ook igv. Afgesproken prijs en Korting
|
||
-- - Inclusief netto- en bruto prijs
|
||
-- - Inclusief verhuurtarief (key + omschrijving)
|
||
-- - Exclusief overbodige kolommen
|
||
CREATE OR REPLACE VIEW sroz_v_res_all2
|
||
(
|
||
sortering,
|
||
periode,
|
||
res_rsv_ruimte_key,
|
||
res_rsv_artikel_key,
|
||
res_rsv_deel_key,
|
||
res_reservering_key,
|
||
res_rsv_ruimte_volgnr,
|
||
debiteurnummer,
|
||
debiteurnaam,
|
||
debiteurcontact,
|
||
res_rsv_ruimte_van,
|
||
res_rsv_ruimte_tot,
|
||
res_rsv_ruimte_omschrijving,
|
||
activiteit_key, -- 10=Intern of 30=Extern
|
||
activiteit, -- Intern of Extern
|
||
gebruiker_key,
|
||
gebruiker,
|
||
res_status_fo_key, -- 1=Optie of 2=Definitief
|
||
res_status_bo_key,
|
||
res_rsv_ruimte_ordernr,
|
||
aantal,
|
||
catalogus_key,
|
||
catalogus,
|
||
artikel_key,
|
||
artikel,
|
||
--artikelprijs,
|
||
--btw,
|
||
excl_btw,
|
||
incl_btw,
|
||
verhuurtarief_key, -- 1=Commercieel of 2=Maatschappelijk
|
||
verhuurtarief, -- Commercieel of Maatschappelijk
|
||
--debiteurreferentie,
|
||
--administratie,
|
||
--kostenplaats,
|
||
code_rcvm
|
||
--export2afas_key,
|
||
--export2afas_oms,
|
||
--controleur
|
||
)
|
||
AS
|
||
SELECT x.sortering,
|
||
TO_CHAR (x.res_rsv_ruimte_van, 'yyyy-mm') periode,
|
||
x.res_rsv_ruimte_key, x.res_rsv_artikel_key, x.res_rsv_deel_key,
|
||
x.res_reservering_key, x.res_rsv_ruimte_volgnr,
|
||
TRIM (SUBSTR (h.prs_bedrijf_naam,
|
||
INSTR (h.prs_bedrijf_naam, '[') + 1,
|
||
INSTR (h.prs_bedrijf_naam, ']/') - INSTR (h.prs_bedrijf_naam, '[') - 1))
|
||
debiteurnummer,
|
||
TRIM (SUBSTR (h.prs_bedrijf_naam,
|
||
1,
|
||
INSTR (h.prs_bedrijf_naam, '[') - 1))
|
||
debiteurnaam,
|
||
TRIM (SUBSTR (h.prs_bedrijf_naam,
|
||
INSTR (h.prs_bedrijf_naam, '/') + 1,
|
||
INSTR (h.prs_bedrijf_naam, ';T') - INSTR (h.prs_bedrijf_naam, '/') - 1))
|
||
debiteurcontact,
|
||
x.res_rsv_ruimte_van, x.res_rsv_ruimte_tot,
|
||
x.res_rsv_ruimte_omschrijving,
|
||
ra.res_activiteit_key activiteit_key,
|
||
ra.res_activiteit_omschrijving activiteit,
|
||
--CASE
|
||
-- WHEN x.res_rsv_ruimte_flag > 0
|
||
-- THEN lcl.l ('lcl_res_flag' || x.res_rsv_ruimte_flag)
|
||
--END
|
||
DECODE (x.res_activiteit_key, 10, COALESCE (afd3.prs_afdeling_key, afd2.prs_afdeling_key, afd1.prs_afdeling_key), COALESCE (gebr1.fac_usrdata_key, gebr2.fac_usrdata_key))
|
||
gebruiker_key,
|
||
DECODE (x.res_activiteit_key, 10, COALESCE (afd3.prs_afdeling_omschrijving, afd2.prs_afdeling_omschrijving, afd1.prs_afdeling_omschrijving), COALESCE (gebr1.fac_usrdata_omschr, gebr2.fac_usrdata_omschr))
|
||
gebruiker,
|
||
x.res_status_fo_key, x.res_status_bo_key, x.res_rsv_ruimte_ordernr,
|
||
ROUND (x.aantal, 2),
|
||
rd.ins_discipline_key catalogus_key,
|
||
rd.ins_discipline_omschrijving catalogus,
|
||
x.artikel_key,
|
||
x.artikel,
|
||
--ROUND (COALESCE (x.artikelprijs, 0), 2),
|
||
--x.btw,
|
||
ROUND (COALESCE (x.regelprijs, 0), 2) excl_btw,
|
||
ROUND ((ROUND (COALESCE (x.regelprijs, 0), 2) * (100 + x.btw)) / 100, 2) incl_btw,
|
||
fac.safe_to_number (tar.res_kenmerkreservering_waarde) tar_key,
|
||
(SELECT fac_usrdata_omschr FROM fac_v_aanwezigusrdata WHERE fac_usrdata_key = fac.safe_to_number (tar.res_kenmerkreservering_waarde)) tar,
|
||
--ref.res_kenmerkreservering_waarde ref,
|
||
--a.fac_usrdata_code administratie,
|
||
--'7' kostenplaats,
|
||
x.code_rcvm
|
||
--e.fac_usrdata_key,
|
||
--e.fac_usrdata_omschr,
|
||
--c.prs_perslid_naam_friendly
|
||
FROM (SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_volgnr), -5) || 'R0' sortering,
|
||
rrr.res_rsv_ruimte_key, NULL res_rsv_artikel_key, NULL res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_rsv_ruimte_contact_key, rrr.res_rsv_ruimte_host_key,
|
||
rrr.res_rsv_ruimte_flag,
|
||
rrr.res_status_bo_key, rrr.res_status_fo_key, rrr.res_rsv_ruimte_ordernr,
|
||
ROUND (24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van), 2) aantal, -- Uren
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key artikel_key,
|
||
rr.res_ruimte_nr artikel,
|
||
DECODE (rrr.res_rsv_ruimte_ordernr,
|
||
NULL, -- Nog niet AV=Verwerkt!
|
||
DECODE (vht.res_kenmerkreservering_waarde, -- 1=Commercieel/2=Maatschappelijk
|
||
'1', ROUND (24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van), 2) * ROUND (rr.res_ruimte_prijs, 2),
|
||
'2', ROUND (24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van), 2) * ROUND (rr.res_ruimte_prijs * 0.5, 2),
|
||
0),
|
||
rrr.res_rsv_ruimte_prijs)
|
||
regelprijs,
|
||
COALESCE (fac.safe_to_number (rr.res_ruimte_groep), 21) btw,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key) alg_ruimte_key,
|
||
'R' code_rcvm,
|
||
rrr.res_activiteit_key
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) vht -- Verhuurtarief
|
||
WHERE rrr.res_activiteit_key IN (10, 30) -- Interne of Externe bijeenkomst (g<><67>n 11 of 50=Uitleen of Rondleiding)!
|
||
--AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
AND COALESCE (rrr.res_rsv_ruimte_totaal, 0) = 0 -- TODO:G<><47>n afgesproken prijs!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
AND rrr.res_rsv_ruimte_key = vht.res_rsv_ruimte_key(+)
|
||
AND 24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) > 0 -- Zou zo moeten zijn!?
|
||
UNION ALL -- Afgesproken ruimteprijs
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_volgnr), -5) || 'R0' sortering,
|
||
rrr.res_rsv_ruimte_key, NULL res_rsv_artikel_key, NULL res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_rsv_ruimte_contact_key, rrr.res_rsv_ruimte_host_key,
|
||
rrr.res_rsv_ruimte_flag,
|
||
rrr.res_status_bo_key, rrr.res_status_fo_key, rrr.res_rsv_ruimte_ordernr,
|
||
ROUND (24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van), 2) aantal, -- Uren
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key artikel_key,
|
||
rr.res_ruimte_nr artikel,
|
||
DECODE (rrr.res_activiteit_key, 10, 0, rrr.res_rsv_ruimte_totaal) regelprijs,
|
||
COALESCE (fac.safe_to_number (rr.res_ruimte_groep), 21) btw,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key) alg_ruimte_key,
|
||
'R' code_rcvm,
|
||
rrr.res_activiteit_key
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr
|
||
WHERE rrr.res_activiteit_key IN (10, 30) -- Interne of Externe bijeenkomst (g<><67>n 11 of 50=Uitleen of Rondleiding)!
|
||
--AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
AND COALESCE (rrr.res_rsv_ruimte_totaal, 0) != 0 -- TODO:Afgesproken prijs!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
UNION ALL -- Korting
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_volgnr), -5) || 'R1' sortering,
|
||
rrr.res_rsv_ruimte_key, NULL res_rsv_artikel_key, NULL res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_rsv_ruimte_contact_key, rrr.res_rsv_ruimte_host_key,
|
||
rrr.res_rsv_ruimte_flag,
|
||
rrr.res_status_bo_key, rrr.res_status_fo_key, rrr.res_rsv_ruimte_ordernr,
|
||
0 aantal, -- Voor Koring-regel Uren = 0!
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key artikel_key,
|
||
rr.res_ruimte_nr artikel,
|
||
DECODE (rrr.res_activiteit_key, 10, 0, -1 * rrr.res_rsv_ruimte_korting) regelprijs,
|
||
COALESCE (fac.safe_to_number (rr.res_ruimte_groep), 21) btw,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key) alg_ruimte_key,
|
||
'R' code_rcvm,
|
||
rrr.res_activiteit_key
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr
|
||
WHERE rrr.res_activiteit_key IN (10, 30) -- Interne of Externe bijeenkomst (g<><67>n 11 of 50=Uitleen of Rondleiding)!
|
||
--AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
AND COALESCE (rrr.res_rsv_ruimte_korting, 0) != 0
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
UNION ALL -- Verbruik=Verbruiksartikelen
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_volgnr), -5) || 'V' || TO_CHAR (rra.res_discipline_key) || SUBSTR ('000' || TO_CHAR (COALESCE (rra.res_artikel_volgnummer, 0)), -3) sortering,
|
||
rrr.res_rsv_ruimte_key, rra.res_rsv_artikel_key, NULL res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_rsv_ruimte_contact_key, rrr.res_rsv_ruimte_host_key,
|
||
rrr.res_rsv_ruimte_flag,
|
||
rrr.res_status_bo_key, rrr.res_status_fo_key, rrr.res_rsv_ruimte_ordernr,
|
||
rra.res_rsv_artikel_aantal aantal, -- Stuks/TODO: Misschien igv. V omzetten naar uren???
|
||
DECODE (rra.res_artikel_groep, 'R', rr.res_discipline_key, rra.res_discipline_key)
|
||
res_discipline_key,
|
||
rra.res_artikel_key artikel_key,
|
||
rra.res_artikel_omschrijving artikel,
|
||
DECODE (rra.res_rsv_artikel_prijs, NULL, rra.res_rsv_artikel_aantal * rra.res_artikel_prijs, rra.res_rsv_artikel_prijs)
|
||
regelprijs,
|
||
rra.btw,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key,
|
||
DECODE (rra.res_artikel_groep,
|
||
'R', rra.res_artikel_groep, -- TODO:Komt dit ooit voor???
|
||
'C', rra.res_artikel_groep,
|
||
'V', rra.res_artikel_groep,
|
||
'M', rra.res_artikel_groep,
|
||
ks.prs_kostensoort_altcode)
|
||
code_rcvm,
|
||
rrr.res_activiteit_key
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr,
|
||
(SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
ra.res_artikel_prijs,
|
||
COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw, 21) btw,
|
||
ra.res_discipline_key, ra.res_artikel_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND (ra.res_discipline_key NOT IN (48, 50) OR ra.res_artikel_btw IS NOT NULL)
|
||
UNION ALL -- Dichtbij BTW laag
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.66 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.66 * ra.res_artikel_prijs res_artikel_prijs,
|
||
6 btw,
|
||
ra.res_discipline_key, ra.res_artikel_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (48) -- Dichtbij extra
|
||
AND ra.res_artikel_btw IS NULL
|
||
UNION ALL -- Dichtbij BTW hoog
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.34 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.34 * ra.res_artikel_prijs res_artikel_prijs,
|
||
21 btw,
|
||
ra.res_discipline_key, ra.res_artikel_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (48) -- Dichtbij extra
|
||
AND ra.res_artikel_btw IS NULL
|
||
UNION ALL -- Momento BTW laag
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.65 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.65 * ra.res_artikel_prijs res_artikel_prijs,
|
||
6 btw,
|
||
ra.res_discipline_key, ra.res_artikel_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (50) -- Momento extra
|
||
AND ra.res_artikel_btw IS NULL
|
||
UNION ALL -- Momento BTW hoog
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_key,
|
||
rra.res_rsv_artikel_levering, rra.res_status_bo_key,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.35 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
0.35 * ra.res_artikel_prijs res_artikel_prijs,
|
||
21 btw,
|
||
ra.res_discipline_key, ra.res_artikel_key, ra.res_artikel_volgnummer,
|
||
ra.res_artikel_groep
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1)
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (50) -- Momento extra
|
||
AND ra.res_artikel_btw IS NULL) rra,
|
||
res_discipline rd,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_activiteit_key IN (10, 30) -- Interne of Externe bijeenkomst (g<><67>n 11 of 50=Uitleen of Rondleiding)!
|
||
--AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) -- Ruimte- <20>n Uitleen-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
UNION ALL -- Overig=Voorzieningen
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyymmdd hh24mi') || SUBSTR ('00000000' || TO_CHAR (res_reservering_key), -9) || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_volgnr), -5) || 'X' || SUBSTR (rd.res_deel_omschrijving, 1, 3) sortering,
|
||
rrr.res_rsv_ruimte_key, NULL res_rsv_artikel_key, rrd.res_rsv_deel_key,
|
||
rrr.res_reservering_key, rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van, rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rrr.res_rsv_ruimte_contact_key, rrr.res_rsv_ruimte_host_key,
|
||
rrr.res_rsv_ruimte_flag,
|
||
rrr.res_status_bo_key, rrr.res_status_fo_key, rrr.res_rsv_ruimte_ordernr,
|
||
ROUND (24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van), 2) aantal, -- Uren
|
||
rd.res_discipline_key,
|
||
rd.res_deel_key artikel_key,
|
||
rd.res_deel_omschrijving artikel,
|
||
DECODE (rrd.res_rsv_deel_prijs, NULL, ROUND (24 * (rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van), 2) * ROUND (rd.res_deel_prijs, 2), rrd.res_rsv_deel_prijs)
|
||
regelprijs,
|
||
21 btw, -- Hard 21%
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key,
|
||
'V' code_rcvm,
|
||
rrr.res_activiteit_key
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
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,
|
||
res_ruimte rr,
|
||
res_v_aanwezigrsv_deel rrd,
|
||
res_deel rd
|
||
WHERE rrr.res_activiteit_key IN (10, 30) -- Interne of Externe bijeenkomst (g<><67>n 11 of 50=Uitleen of Rondleiding)!
|
||
--AND rrr.res_rsv_ruimte_tot < TRUNC (SYSDATE + 1) -- Niet in toekomst!
|
||
AND rrr.res_rsv_ruimte_tot < TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0 -- Niet dirty!
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) -- Ruimte- <20>n Uitleen-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rrd.res_rsv_ruimte_key
|
||
AND rrd.res_rsv_deel_tot < SYSDATE -- Niet in toekomst!
|
||
AND rrd.res_rsv_deel_dirtlevel = 0 -- Niet dirty!
|
||
AND rrd.res_deel_key = rd.res_deel_key
|
||
AND 24 * (rrd.res_rsv_deel_tot - rrd.res_rsv_deel_van) > 0) x -- Zou zo moeten zijn!?
|
||
LEFT JOIN prs_perslid p
|
||
ON x.res_rsv_ruimte_host_key = p.prs_perslid_key -- Of res_rsv_ruimte_contact_key?
|
||
LEFT JOIN prs_v_afdeling_boom ab
|
||
ON p.prs_afdeling_key = ab.prs_afdeling_key
|
||
LEFT JOIN prs_afdeling afd3
|
||
ON ab.prs_afdeling_key3 = afd3.prs_afdeling_key
|
||
LEFT JOIN prs_afdeling afd2
|
||
ON ab.prs_afdeling_key2 = afd2.prs_afdeling_key
|
||
LEFT JOIN prs_afdeling afd1
|
||
ON ab.prs_afdeling_key1 = afd1.prs_afdeling_key
|
||
LEFT JOIN res_discipline rd
|
||
ON x.res_discipline_key = rd.ins_discipline_key
|
||
LEFT JOIN res_activiteit ra
|
||
ON x.res_activiteit_key = ra.res_activiteit_key
|
||
LEFT JOIN res_v_aanwezigkenmerkwaarde tar
|
||
ON x.res_rsv_ruimte_key = tar.res_rsv_ruimte_key
|
||
AND tar.res_kenmerk_key = 1 -- Verhuur tarief
|
||
LEFT JOIN res_v_aanwezigkenmerkwaarde deb
|
||
ON x.res_rsv_ruimte_key = deb.res_rsv_ruimte_key
|
||
AND deb.res_kenmerk_key = 2 -- Debiteur
|
||
LEFT JOIN sroz_v_huurders h
|
||
ON deb.res_kenmerkreservering_waarde = TO_CHAR (h.prs_bedrijf_key)
|
||
LEFT JOIN prs_bedrijf b
|
||
ON h.prs_bedrijf_key = b.prs_bedrijf_key
|
||
LEFT JOIN prs_kenmerklink kc1
|
||
ON b.prs_bedrijf_key = kc1.prs_link_key
|
||
AND kc1.prs_kenmerk_key = 1000 -- Klantcategorie
|
||
LEFT JOIN fac_v_aanwezigusrdata gebr1
|
||
ON kc1.prs_kenmerklink_waarde = TO_CHAR (gebr1.fac_usrdata_key)
|
||
LEFT JOIN prs_contactpersoon cp
|
||
ON MOD (h.prs_bedrijf_key, 100000000) = cp.prs_contactpersoon_key
|
||
LEFT JOIN prs_kenmerklink kc2
|
||
ON cp.prs_bedrijf_key = kc2.prs_link_key
|
||
AND kc2.prs_kenmerk_key = 1000 -- Klantcategorie
|
||
LEFT JOIN fac_v_aanwezigusrdata gebr2
|
||
ON kc2.prs_kenmerklink_waarde = TO_CHAR (gebr2.fac_usrdata_key)
|
||
--LEFT JOIN res_v_aanwezigkenmerkwaarde ref
|
||
-- ON x.res_rsv_ruimte_key = ref.res_rsv_ruimte_key
|
||
-- AND ref.res_kenmerk_key = 3 -- Referentie debiteur
|
||
--LEFT JOIN res_v_aanwezigkenmerkwaarde adm
|
||
-- ON x.res_rsv_ruimte_key = adm.res_rsv_ruimte_key
|
||
-- AND adm.res_kenmerk_key = 161 -- Administratie
|
||
--LEFT JOIN fac_v_aanwezigusrdata a
|
||
-- ON adm.res_kenmerkreservering_waarde = TO_CHAR (a.fac_usrdata_key)
|
||
--LEFT JOIN res_v_aanwezigkenmerkwaarde e2a
|
||
-- ON x.res_rsv_ruimte_key = e2a.res_rsv_ruimte_key
|
||
-- AND e2a.res_kenmerk_key = 181 -- Export naar Afas
|
||
--LEFT JOIN fac_v_aanwezigusrdata e
|
||
-- ON e2a.res_kenmerkreservering_waarde = TO_CHAR (e.fac_usrdata_key)
|
||
--LEFT JOIN res_v_aanwezigkenmerkwaarde gdr
|
||
-- ON x.res_rsv_ruimte_key = gdr.res_rsv_ruimte_key
|
||
-- AND gdr.res_kenmerk_key = 182 -- Gecontroleerd door
|
||
--LEFT JOIN sroz_v_controleurs c
|
||
-- ON gdr.res_kenmerkreservering_waarde = TO_CHAR (c.prs_perslid_key)
|
||
WHERE x.res_rsv_ruimte_van > TO_DATE ('01-01-2019', 'dd-mm-yyyy')
|
||
;
|
||
|
||
-- SROZ#56682: RES-managementrapportages/Omzet:
|
||
-- O1 <20> Omzet zaalhuur per maand/tarief (of week?) met de 4 kolommen als in Afbeelding 1
|
||
-- O2 <20> Omzet per maand/zaaltype met de 8 kolommen als in Afbeelding 1
|
||
-- O3 <20> Omzet per maand/artikelcatalogus met de 4 kolommen als in Afbeelding 1
|
||
-- O4 <20> Omzet per maand/intern of extern/team of doelgroep met de 6 kolommen als in Afbeelding 1
|
||
-- O5 <20> Omzet per maand/intern of extern/team of doelgroep/artikelcatalogus/artikel met de 6 kolommen als in Afbeelding 1
|
||
CREATE OR REPLACE VIEW sroz_v_rap_res_omzet1
|
||
(
|
||
maand, -- Of week?
|
||
zaalhuur,
|
||
aant_res,
|
||
uren,
|
||
optie_excl,
|
||
optie_incl,
|
||
contract_excl,
|
||
contract_incl,
|
||
verhuurtarief_key
|
||
)
|
||
AS
|
||
SELECT periode, verhuurtarief,
|
||
COUNT (DISTINCT res_rsv_ruimte_key) aant_res,
|
||
SUM (COALESCE (aantal, 0)) uren,
|
||
SUM (DECODE (res_status_fo_key, 1, excl_btw, 0)) oe,
|
||
SUM (DECODE (res_status_fo_key, 1, incl_btw, 0)) oi,
|
||
SUM (DECODE (res_status_fo_key, 2, excl_btw, 0)) ce,
|
||
SUM (DECODE (res_status_fo_key, 2, incl_btw, 0)) ci,
|
||
verhuurtarief_key
|
||
FROM sroz_v_res_all2
|
||
WHERE activiteit_key = 30 -- Alleen Extern!
|
||
AND code_rcvm = 'R'
|
||
--AND excl_btw != 0
|
||
GROUP BY periode, verhuurtarief,
|
||
verhuurtarief_key;
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_res_omzet2
|
||
(
|
||
maand, -- Of week?
|
||
zaaltype,
|
||
zaalnaam,
|
||
aant_res,
|
||
uren,
|
||
maatsch_optie_excl,
|
||
maatsch_optie_incl,
|
||
maatsch_contract_excl,
|
||
maatsch_contract_incl,
|
||
commerc_optie_excl,
|
||
commerc_optie_incl,
|
||
commerc_contract_excl,
|
||
commerc_contract_incl,
|
||
catalogus_key,
|
||
artikel_key
|
||
)
|
||
AS
|
||
SELECT periode, catalogus, artikel,
|
||
COUNT (DISTINCT res_rsv_ruimte_key) aant_res,
|
||
SUM (COALESCE (aantal, 0)) uren,
|
||
SUM (DECODE (res_status_fo_key, 1, DECODE (verhuurtarief_key, 2, excl_btw, 0), 0)) moe,
|
||
SUM (DECODE (res_status_fo_key, 1, DECODE (verhuurtarief_key, 2, incl_btw, 0), 0)) moi,
|
||
SUM (DECODE (res_status_fo_key, 2, DECODE (verhuurtarief_key, 2, excl_btw, 0), 0)) mce,
|
||
SUM (DECODE (res_status_fo_key, 2, DECODE (verhuurtarief_key, 2, incl_btw, 0), 0)) mci,
|
||
SUM (DECODE (res_status_fo_key, 1, DECODE (verhuurtarief_key, 1, excl_btw, 0), 0)) coe,
|
||
SUM (DECODE (res_status_fo_key, 1, DECODE (verhuurtarief_key, 1, incl_btw, 0), 0)) coi,
|
||
SUM (DECODE (res_status_fo_key, 2, DECODE (verhuurtarief_key, 1, excl_btw, 0), 0)) cce,
|
||
SUM (DECODE (res_status_fo_key, 2, DECODE (verhuurtarief_key, 1, incl_btw, 0), 0)) cci,
|
||
catalogus_key, artikel_key
|
||
FROM sroz_v_res_all2
|
||
WHERE activiteit_key = 30 -- Alleen Extern!
|
||
AND code_rcvm = 'R'
|
||
--AND excl_btw != 0
|
||
GROUP BY periode, catalogus, artikel,
|
||
catalogus_key, artikel_key;
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_res_omzet3
|
||
(
|
||
maand, -- Of week?
|
||
intern_extern,
|
||
catalogus,
|
||
artikel,
|
||
aant_res,
|
||
uren_of_stuks,
|
||
optie_excl,
|
||
optie_incl,
|
||
contract_excl,
|
||
contract_incl,
|
||
activiteit_key,
|
||
catalogus_key,
|
||
artikel_key
|
||
)
|
||
AS
|
||
SELECT periode, activiteit, catalogus, artikel,
|
||
COUNT (DISTINCT res_rsv_ruimte_key) aant_res,
|
||
SUM (COALESCE (aantal, 0)) uren_of_stuks,
|
||
SUM (DECODE (res_status_fo_key, 1, excl_btw, 0)) oe,
|
||
SUM (DECODE (res_status_fo_key, 1, incl_btw, 0)) oi,
|
||
SUM (DECODE (res_status_fo_key, 2, excl_btw, 0)) ce,
|
||
SUM (DECODE (res_status_fo_key, 2, incl_btw, 0)) ci,
|
||
activiteit_key, catalogus_key, artikel_key
|
||
FROM sroz_v_res_all2
|
||
WHERE code_rcvm != 'R'
|
||
--AND excl_btw != 0
|
||
GROUP BY periode, activiteit, catalogus, artikel,
|
||
activiteit_key, catalogus_key, artikel_key;
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_res_omzet4
|
||
(
|
||
maand, -- Of week?
|
||
intern_extern,
|
||
gebruiker,
|
||
aant_res,
|
||
zaalhuur_uren,
|
||
zaalhuur_optie_excl,
|
||
zaalhuur_optie_incl,
|
||
zaalhuur_contract_excl,
|
||
zaalhuur_contract_incl,
|
||
artikelen_optie_excl,
|
||
artikelen_optie_incl,
|
||
artikelen_contract_excl,
|
||
artikelen_contract_incl,
|
||
activiteit_key,
|
||
gebruiker_key
|
||
)
|
||
AS
|
||
SELECT periode, activiteit, gebruiker,
|
||
COUNT (DISTINCT res_rsv_ruimte_key) aant_res,
|
||
SUM (DECODE (code_rcvm, 'R', COALESCE (aantal, 0), 0)) uren_of_stuks,
|
||
SUM (DECODE (res_status_fo_key, 1, DECODE (code_rcvm, 'R', excl_btw, 0), 0)) zoe,
|
||
SUM (DECODE (res_status_fo_key, 1, DECODE (code_rcvm, 'R', incl_btw, 0), 0)) zoi,
|
||
SUM (DECODE (res_status_fo_key, 2, DECODE (code_rcvm, 'R', excl_btw, 0), 0)) zce,
|
||
SUM (DECODE (res_status_fo_key, 2, DECODE (code_rcvm, 'R', incl_btw, 0), 0)) zci,
|
||
SUM (DECODE (res_status_fo_key, 1, DECODE (code_rcvm, 'R', 0, excl_btw), 0)) aoe,
|
||
SUM (DECODE (res_status_fo_key, 1, DECODE (code_rcvm, 'R', 0, incl_btw), 0)) aoi,
|
||
SUM (DECODE (res_status_fo_key, 2, DECODE (code_rcvm, 'R', 0, excl_btw), 0)) ace,
|
||
SUM (DECODE (res_status_fo_key, 2, DECODE (code_rcvm, 'R', 0, incl_btw), 0)) aci,
|
||
activiteit_key, gebruiker_key
|
||
FROM sroz_v_res_all2
|
||
--WHERE excl_btw != 0
|
||
GROUP BY periode, activiteit, gebruiker,
|
||
activiteit_key, gebruiker_key;
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_res_omzet5
|
||
(
|
||
maand, -- Of week?
|
||
intern_extern,
|
||
gebruiker,
|
||
catalogus,
|
||
zaal_of_artikel,
|
||
aant_res,
|
||
uren_of_stuks,
|
||
optie_excl,
|
||
optie_incl,
|
||
contract_excl,
|
||
contract_incl,
|
||
activiteit_key,
|
||
gebruiker_key,
|
||
catalogus_key,
|
||
artikel_key
|
||
)
|
||
AS
|
||
SELECT periode, activiteit, gebruiker, catalogus, artikel,
|
||
COUNT (DISTINCT res_rsv_ruimte_key) aant_res,
|
||
SUM (COALESCE (aantal, 0)) uren_of_stuks,
|
||
SUM (DECODE (res_status_fo_key, 1, excl_btw, 0)) oe,
|
||
SUM (DECODE (res_status_fo_key, 1, incl_btw, 0)) oi,
|
||
SUM (DECODE (res_status_fo_key, 2, excl_btw, 0)) ce,
|
||
SUM (DECODE (res_status_fo_key, 2, incl_btw, 0)) ci,
|
||
activiteit_key, gebruiker_key, catalogus_key, artikel_key
|
||
FROM sroz_v_res_all2
|
||
--WHERE excl_btw != 0
|
||
GROUP BY periode, activiteit, gebruiker, catalogus, artikel,
|
||
activiteit_key, gebruiker_key, catalogus_key, artikel_key;
|
||
|
||
-- Beschikbare uren per maand/zaaltype/zaalnaam!
|
||
-- TODO:Vrije dagen als zondag?
|
||
CREATE OR REPLACE VIEW sroz_v_res_besuren
|
||
(
|
||
maand, -- Of week?
|
||
ins_discipline_key,
|
||
ins_discipline_omschrijving,
|
||
res_ruimte_key,
|
||
res_ruimte_nr,
|
||
alg_ruimte_key,
|
||
quotum
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (d.dag, 'yyyy-mm') mnd,
|
||
rd.ins_discipline_key, rd.ins_discipline_omschrijving, -- R-catalogi
|
||
rr.res_ruimte_key, rr.res_ruimte_nr,
|
||
rar.alg_ruimte_key,
|
||
SUM (CASE
|
||
WHEN EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (d.dag)) -- Vrije dag=Zondag?
|
||
THEN CASE
|
||
WHEN TO_CHAR (d.dag, 'mm') BETWEEN '04' AND '08'
|
||
THEN 0 -- Op zondag alleen van september-april open van 13:00-17:00, dus in dr zomermaanden gesloten (= 0 uur)!
|
||
ELSE LEAST (COALESCE (rr.res_ruimte_eindtijd, 17), 17) - GREATEST (COALESCE (rr.res_ruimte_begintijd, 13), 13)
|
||
END
|
||
ELSE CASE
|
||
WHEN TO_CHAR (d.dag, 'd') = '1' -- Zondag
|
||
THEN CASE
|
||
WHEN TO_CHAR (d.dag, 'mm') BETWEEN '04' AND '08'
|
||
THEN 0 -- Op zondag alleen van september-april open van 13:00-17:00, dus in dr zomermaanden gesloten (= 0 uur)!
|
||
ELSE LEAST (COALESCE (rr.res_ruimte_eindtijd, 17), 17) - GREATEST (COALESCE (rr.res_ruimte_begintijd, 13), 13)
|
||
END
|
||
WHEN TO_CHAR (d.dag, 'd') = '7' -- Zaterdag
|
||
THEN LEAST (COALESCE (rr.res_ruimte_eindtijd, 17), 17) - GREATEST (COALESCE (rr.res_ruimte_begintijd, 8.5), 8.5)
|
||
ELSE LEAST (COALESCE (rr.res_ruimte_eindtijd, 22), 22) - GREATEST (COALESCE (rr.res_ruimte_begintijd, 8.5), 8.5) -- Werkdag
|
||
END
|
||
END)
|
||
quotum
|
||
FROM res_ruimte rr, -- Ook verwijderde zalen!
|
||
res_discipline rd, -- Ook verwijderde catalogi!
|
||
res_alg_ruimte rar,
|
||
( SELECT TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') + LEVEL - 1 dag
|
||
FROM DUAL
|
||
CONNECT BY LEVEL <= (TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') - TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy'))) d
|
||
WHERE rr.res_discipline_key = rd.ins_discipline_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND rar.res_alg_ruimte_aanmaak < TRUNC (ADD_MONTHS (d.dag, 1), 'mm')
|
||
AND (rar.res_alg_ruimte_verwijder IS NULL OR rar.res_alg_ruimte_verwijder >= TRUNC (d.dag, 'mm'))
|
||
GROUP BY TO_CHAR (d.dag, 'yyyy-mm'),
|
||
rd.ins_discipline_key, rd.ins_discipline_omschrijving, -- R-catalogi
|
||
rr.res_ruimte_key, rr.res_ruimte_nr,
|
||
rar.alg_ruimte_key;
|
||
|
||
-- SROZ#56682: RES-managementrapportages/Bezettingsgraad:
|
||
-- B1 <20> Bezetting per maand/zaaltype met de 6 kolommen als in Afbeelding 2 en doorklikbaar naar B2
|
||
-- B2 <20> Bezetting per maand/zaaltype/zaal met de 6 kolommen als in Afbeelding 2
|
||
-- B3 <20> Bezetting per maand/intern of extern/team of doelgroep met de 4 kolommen als in Afbeelding 2
|
||
CREATE OR REPLACE VIEW sroz_v_rap_res_bezgr1
|
||
(
|
||
maand, -- Of week?
|
||
zaaltype,
|
||
quotum,
|
||
totaal,
|
||
intern_optie,
|
||
intern_contract,
|
||
extern_optie,
|
||
extern_contract,
|
||
catalogus_key
|
||
)
|
||
AS
|
||
WITH resztznieoc -- Per maand/zaaltype/zaalnaam/activiteit/fo-status de beschikbare en bezette uren (op tot-tijd)!
|
||
AS ( SELECT resbes.mnd,
|
||
resbes.ins_discipline_omschrijving zaaltype,
|
||
resbes.res_ruimte_nr zaalnaam,
|
||
resbes.res_discipline_key,
|
||
resbes.res_ruimte_key,
|
||
resbes.res_activiteit_key,
|
||
resbes.res_status_fo_key,
|
||
SUM (ROUND (resbes.uren, 3)) bes_uren,
|
||
SUM (ROUND (resbez.uren, 3)) bez_uren,
|
||
SUM (resbez.aant) aantal_reserveringen
|
||
FROM (SELECT DISTINCT TO_CHAR (p.mnd, 'yyyy-mm') mnd, -- DISTINCT igv. verwijderde res_alg_ruimte!
|
||
rr.res_discipline_key, rd.ins_discipline_omschrijving, -- R-catalogi
|
||
rr.res_ruimte_key, rr.res_ruimte_nr,
|
||
rar.alg_ruimte_key,
|
||
ra.res_activiteit_key,
|
||
sfo.res_status_fo_key,
|
||
--fac.count_work_days (p.mnd - 1, ADD_MONTHS (p.mnd, 1) - 1) -- TODO: Alleen werkdagen?
|
||
(ADD_MONTHS (p.mnd, 1) - p.mnd)
|
||
* (LEAST (COALESCE (rr.res_ruimte_eindtijd, 22), 22) - GREATEST (COALESCE (rr.res_ruimte_begintijd, 8.5), 8.5))
|
||
uren
|
||
FROM res_ruimte rr, -- Ook verwijderde zalen!
|
||
res_discipline rd, -- Ook verwijderde catalogi!
|
||
res_alg_ruimte rar,
|
||
res_activiteit ra,
|
||
res_status_fo sfo,
|
||
(SELECT ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy'), LEVEL - 1) mnd FROM DUAL CONNECT BY LEVEL <= 36) p
|
||
WHERE rr.res_discipline_key = rd.ins_discipline_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND ra.res_activiteit_key IN (10, 30) -- Intern/Extern
|
||
AND sfo.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rar.res_alg_ruimte_aanmaak < ADD_MONTHS (p.mnd, 1)
|
||
AND (rar.res_alg_ruimte_verwijder IS NULL OR rar.res_alg_ruimte_verwijder >= p.mnd)) resbes,
|
||
( SELECT TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm') mnd,
|
||
rr.res_discipline_key, -- R-catalogi
|
||
rr.res_ruimte_key,
|
||
ra.alg_ruimte_key,
|
||
rrr.res_activiteit_key,
|
||
rrr.res_status_fo_key,
|
||
COUNT ( * ) aant,
|
||
SUM (LEAST ((rrr.res_rsv_ruimte_tot - TRUNC (rrr.res_rsv_ruimte_tot)) * 24, 22)
|
||
- GREATEST ((rrr.res_rsv_ruimte_van - TRUNC (rrr.res_rsv_ruimte_van)) * 24, 8.5))
|
||
uren
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling ro, res_ruimte rr, res_alg_ruimte ra
|
||
WHERE rrr.res_activiteit_key IN (10, 30) -- Intern/Extern
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
--AND TO_CHAR (rrr.res_rsv_ruimte_tot, 'd') BETWEEN '2' AND '6' -- TODO: Alleen werkdagen?
|
||
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrr.res_rsv_ruimte_tot)) -- TODO: Alleen werkdagen?
|
||
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_ruimte_key = ra.res_ruimte_key
|
||
GROUP BY TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm'),
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key,
|
||
ra.alg_ruimte_key,
|
||
rrr.res_activiteit_key,
|
||
rrr.res_status_fo_key) resbez
|
||
WHERE resbes.mnd = resbez.mnd(+)
|
||
AND resbes.res_discipline_key = resbez.res_discipline_key(+)
|
||
AND resbes.res_ruimte_key = resbez.res_ruimte_key(+)
|
||
AND resbes.alg_ruimte_key = resbez.alg_ruimte_key(+)
|
||
AND resbes.res_activiteit_key = resbez.res_activiteit_key(+)
|
||
AND resbes.res_status_fo_key = resbez.res_status_fo_key(+)
|
||
--AND resbes.uren > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van reserveerbare ruimte = res_ruimte)!
|
||
--AND COALESCE (resbez.uren, 1) > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van res_rsv_ruimte/deel)!
|
||
GROUP BY resbes.mnd,
|
||
resbes.ins_discipline_omschrijving,
|
||
resbes.res_ruimte_nr,
|
||
resbes.res_discipline_key,
|
||
resbes.res_ruimte_key,
|
||
resbes.res_activiteit_key,
|
||
resbes.res_status_fo_key)
|
||
SELECT x.mnd, x.zaaltype, x.bes_uren,
|
||
TO_CHAR (COALESCE (x.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (x.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
TO_CHAR (COALESCE (io.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (io.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
TO_CHAR (COALESCE (ic.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (ic.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
TO_CHAR (COALESCE (eo.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (eo.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
TO_CHAR (COALESCE (ec.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (ec.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
x.res_discipline_key
|
||
FROM ( SELECT mnd, zaaltype, res_discipline_key, SUM (bes_uren / 4) bes_uren, SUM (COALESCE (bez_uren, 0)) bez_uren
|
||
FROM resztznieoc
|
||
--WHERE res_status_fo_key = 1
|
||
GROUP BY mnd, zaaltype, res_discipline_key) x
|
||
LEFT JOIN ( SELECT mnd, zaaltype, SUM (bez_uren) bez_uren
|
||
FROM resztznieoc
|
||
WHERE res_activiteit_key = 10 AND res_status_fo_key = 1
|
||
GROUP BY mnd, zaaltype) io
|
||
ON x.mnd = io.mnd AND x.zaaltype = io.zaaltype
|
||
LEFT JOIN ( SELECT mnd, zaaltype, SUM (bez_uren) bez_uren
|
||
FROM resztznieoc
|
||
WHERE res_activiteit_key = 10 AND res_status_fo_key = 2
|
||
GROUP BY mnd, zaaltype) ic
|
||
ON x.mnd = ic.mnd AND x.zaaltype = ic.zaaltype
|
||
LEFT JOIN ( SELECT mnd, zaaltype, SUM (bez_uren) bez_uren
|
||
FROM resztznieoc
|
||
WHERE res_activiteit_key = 30 AND res_status_fo_key = 1
|
||
GROUP BY mnd, zaaltype) eo
|
||
ON x.mnd = eo.mnd AND x.zaaltype = eo.zaaltype
|
||
LEFT JOIN ( SELECT mnd, zaaltype, SUM (bez_uren) bez_uren
|
||
FROM resztznieoc
|
||
WHERE res_activiteit_key = 30 AND res_status_fo_key = 2
|
||
GROUP BY mnd, zaaltype) ec
|
||
ON x.mnd = ec.mnd AND x.zaaltype = ec.zaaltype;
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_res_bezgr2
|
||
(
|
||
maand, -- Of week?
|
||
zaaltype,
|
||
zaalnaam,
|
||
quotum,
|
||
totaal,
|
||
intern_optie,
|
||
intern_contract,
|
||
extern_optie,
|
||
extern_contract,
|
||
catalogus_key,
|
||
artikel_key
|
||
)
|
||
AS
|
||
WITH resztznieoc -- Per maand/zaaltype/zaalnaam/activiteit/fo-status de beschikbare en bezette uren (op tot-tijd)!
|
||
AS ( SELECT resbes.mnd,
|
||
resbes.ins_discipline_omschrijving zaaltype,
|
||
resbes.res_ruimte_nr zaalnaam,
|
||
resbes.res_discipline_key,
|
||
resbes.res_ruimte_key,
|
||
resbes.res_activiteit_key,
|
||
resbes.res_status_fo_key,
|
||
SUM (ROUND (resbes.uren, 3)) bes_uren,
|
||
SUM (ROUND (resbez.uren, 3)) bez_uren,
|
||
SUM (resbez.aant) aantal_reserveringen
|
||
FROM (SELECT DISTINCT TO_CHAR (p.mnd, 'yyyy-mm') mnd, -- DISTINCT igv. verwijderde res_alg_ruimte!
|
||
rr.res_discipline_key, rd.ins_discipline_omschrijving, -- R-catalogi
|
||
rr.res_ruimte_key, rr.res_ruimte_nr,
|
||
rar.alg_ruimte_key,
|
||
ra.res_activiteit_key,
|
||
sfo.res_status_fo_key,
|
||
--fac.count_work_days (p.mnd - 1, ADD_MONTHS (p.mnd, 1) - 1) -- TODO: Alleen werkdagen?
|
||
(ADD_MONTHS (p.mnd, 1) - p.mnd)
|
||
* (LEAST (COALESCE (rr.res_ruimte_eindtijd, 22), 22) - GREATEST (COALESCE (rr.res_ruimte_begintijd, 8.5), 8.5))
|
||
uren
|
||
FROM res_ruimte rr, -- Ook verwijderde zalen!
|
||
res_discipline rd, -- Ook verwijderde catalogi!
|
||
res_alg_ruimte rar,
|
||
res_activiteit ra,
|
||
res_status_fo sfo,
|
||
(SELECT ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy'), LEVEL - 1) mnd FROM DUAL CONNECT BY LEVEL <= 36) p
|
||
WHERE rr.res_discipline_key = rd.ins_discipline_key
|
||
AND rr.res_ruimte_key = rar.res_ruimte_key
|
||
AND ra.res_activiteit_key IN (10, 30) -- Intern/Extern
|
||
AND sfo.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rar.res_alg_ruimte_aanmaak < ADD_MONTHS (p.mnd, 1)
|
||
AND (rar.res_alg_ruimte_verwijder IS NULL OR rar.res_alg_ruimte_verwijder >= p.mnd)) resbes,
|
||
( SELECT TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm') mnd,
|
||
rr.res_discipline_key, -- R-catalogi
|
||
rr.res_ruimte_key,
|
||
ra.alg_ruimte_key,
|
||
rrr.res_activiteit_key,
|
||
rrr.res_status_fo_key,
|
||
COUNT ( * ) aant,
|
||
SUM (LEAST ((rrr.res_rsv_ruimte_tot - TRUNC (rrr.res_rsv_ruimte_tot)) * 24, 22)
|
||
- GREATEST ((rrr.res_rsv_ruimte_van - TRUNC (rrr.res_rsv_ruimte_van)) * 24, 8.5))
|
||
uren
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_ruimte_opstelling ro, res_ruimte rr, res_alg_ruimte ra
|
||
WHERE rrr.res_activiteit_key IN (10, 30) -- Intern/Extern
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
--AND TO_CHAR (rrr.res_rsv_ruimte_tot, 'd') BETWEEN '2' AND '6' -- TODO: Alleen werkdagen?
|
||
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrr.res_rsv_ruimte_tot)) -- TODO: Alleen werkdagen?
|
||
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rr.res_ruimte_key = ra.res_ruimte_key
|
||
GROUP BY TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm'),
|
||
rr.res_discipline_key,
|
||
rr.res_ruimte_key,
|
||
ra.alg_ruimte_key,
|
||
rrr.res_activiteit_key,
|
||
rrr.res_status_fo_key) resbez
|
||
WHERE resbes.mnd = resbez.mnd(+)
|
||
AND resbes.res_discipline_key = resbez.res_discipline_key(+)
|
||
AND resbes.res_ruimte_key = resbez.res_ruimte_key(+)
|
||
AND resbes.alg_ruimte_key = resbez.alg_ruimte_key(+)
|
||
AND resbes.res_activiteit_key = resbez.res_activiteit_key(+)
|
||
AND resbes.res_status_fo_key = resbez.res_status_fo_key(+)
|
||
--AND resbes.uren > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van reserveerbare ruimte = res_ruimte)!
|
||
--AND COALESCE (resbez.uren, 1) > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van res_rsv_ruimte/deel)!
|
||
GROUP BY resbes.mnd,
|
||
resbes.ins_discipline_omschrijving,
|
||
resbes.res_ruimte_nr,
|
||
resbes.res_discipline_key,
|
||
resbes.res_ruimte_key,
|
||
resbes.res_activiteit_key,
|
||
resbes.res_status_fo_key)
|
||
SELECT x.mnd, x.zaaltype, x.zaalnaam, x.bes_uren,
|
||
TO_CHAR (COALESCE (x.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (x.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
TO_CHAR (COALESCE (io.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (io.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
TO_CHAR (COALESCE (ic.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (ic.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
TO_CHAR (COALESCE (eo.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (eo.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
TO_CHAR (COALESCE (ec.bez_uren, 0), '999990.99') || ' / ' || TRIM (TO_CHAR (100 * (COALESCE (ec.bez_uren, 0) / x.bes_uren), '990') || '%'),
|
||
x.res_discipline_key, x.res_ruimte_key
|
||
FROM ( SELECT mnd, zaaltype, zaalnaam, res_discipline_key, res_ruimte_key, SUM (bes_uren / 4) bes_uren, SUM (COALESCE (bez_uren, 0)) bez_uren
|
||
FROM resztznieoc
|
||
--WHERE res_status_fo_key = 1
|
||
GROUP BY mnd, zaaltype, zaalnaam, res_discipline_key, res_ruimte_key) x
|
||
LEFT JOIN ( SELECT mnd, zaaltype, zaalnaam, SUM (bez_uren) bez_uren
|
||
FROM resztznieoc
|
||
WHERE res_activiteit_key = 10 AND res_status_fo_key = 1
|
||
GROUP BY mnd, zaaltype, zaalnaam) io
|
||
ON x.mnd = io.mnd AND x.zaaltype = io.zaaltype AND x.zaalnaam = io.zaalnaam
|
||
LEFT JOIN ( SELECT mnd, zaaltype, zaalnaam, SUM (bez_uren) bez_uren
|
||
FROM resztznieoc
|
||
WHERE res_activiteit_key = 10 AND res_status_fo_key = 2
|
||
GROUP BY mnd, zaaltype, zaalnaam) ic
|
||
ON x.mnd = ic.mnd AND x.zaaltype = ic.zaaltype AND x.zaalnaam = ic.zaalnaam
|
||
LEFT JOIN ( SELECT mnd, zaaltype, zaalnaam, SUM (bez_uren) bez_uren
|
||
FROM resztznieoc
|
||
WHERE res_activiteit_key = 30 AND res_status_fo_key = 1
|
||
GROUP BY mnd, zaaltype, zaalnaam) eo
|
||
ON x.mnd = eo.mnd AND x.zaaltype = eo.zaaltype AND x.zaalnaam = eo.zaalnaam
|
||
LEFT JOIN ( SELECT mnd, zaaltype, zaalnaam, SUM (bez_uren) bez_uren
|
||
FROM resztznieoc
|
||
WHERE res_activiteit_key = 30 AND res_status_fo_key = 2
|
||
GROUP BY mnd, zaaltype, zaalnaam) ec
|
||
ON x.mnd = ec.mnd AND x.zaaltype = ec.zaaltype AND x.zaalnaam = ec.zaalnaam;
|
||
|
||
CREATE OR REPLACE VIEW sroz_v_rap_res_bezgr3
|
||
(
|
||
maand, -- Of week?
|
||
intern_extern,
|
||
gebruiker, -- Vooralsnog Commercieel/Maatschappelijk igv. Extern!
|
||
aant_res,
|
||
zaalhuur_optie_uren,
|
||
zaalhuur_contract_uren,
|
||
obj_optie_aant,
|
||
obj_contract_aant,
|
||
art_optie_aant,
|
||
art_contract_aant,
|
||
activiteit_key,
|
||
gebruiker_key
|
||
)
|
||
AS
|
||
WITH resiegoc -- Per maand/activiteit/gebruiker het aantal geboekte optie- en contract-uren!
|
||
AS ( SELECT resbes.mnd,
|
||
resbes.res_activiteit_omschrijving,
|
||
resbes.gebruiker,
|
||
resbes.res_activiteit_key,
|
||
resbes.gebruiker_key,
|
||
SUM (resbez.aant) aant_res,
|
||
SUM (DECODE (resbez.res_status_fo_key, 1, ROUND (resbez.uren, 3), 0)) ou,
|
||
SUM (DECODE (resbez.res_status_fo_key, 2, ROUND (resbez.uren, 3), 0)) cu,
|
||
SUM (DECODE (objbez.res_status_fo_key, 1, ROUND (objbez.aant, 3), 0)) oobj,
|
||
SUM (DECODE (objbez.res_status_fo_key, 2, ROUND (objbez.aant, 3), 0)) cobj,
|
||
SUM (DECODE (artbez.res_status_fo_key, 1, ROUND (artbez.aant, 3), 0)) oart,
|
||
SUM (DECODE (artbez.res_status_fo_key, 2, ROUND (artbez.aant, 3), 0)) cart
|
||
FROM (SELECT DISTINCT TO_CHAR (p.mnd, 'yyyy-mm') mnd,
|
||
ra.res_activiteit_key, ra.res_activiteit_omschrijving,
|
||
afd.prs_afdeling_key gebruiker_key, afd.prs_afdeling_omschrijving gebruiker
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_activiteit ra, prs_perslid p, prs_afdeling afd,
|
||
(SELECT ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy'), LEVEL - 1) mnd FROM DUAL CONNECT BY LEVEL <= 36) p
|
||
WHERE rrr.res_activiteit_key = ra.res_activiteit_key
|
||
AND ra.res_activiteit_key = 10 -- Intern
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key -- Of res_rsv_ruimte_contact_key?
|
||
AND p.prs_afdeling_key = afd.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT DISTINCT TO_CHAR (p.mnd, 'yyyy-mm') mnd,
|
||
ra.res_activiteit_key, ra.res_activiteit_omschrijving,
|
||
COALESCE (gebr1.fac_usrdata_key, gebr2.fac_usrdata_key) gebruiker_key, COALESCE (gebr1.fac_usrdata_omschr, gebr2.fac_usrdata_omschr, '?') gebruiker
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_activiteit ra, res_v_aanwezigkenmerkwaarde deb, sroz_v_huurders h,
|
||
(SELECT b.prs_bedrijf_key deb_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr FROM prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1000) kl, fac_usrdata ud WHERE b.prs_bedrijf_key = kl.prs_link_key(+) AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = ud.fac_usrdata_key(+)) gebr1,
|
||
(SELECT cp.prs_contactpersoon_key deb_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr FROM prs_contactpersoon cp, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1000) kl, fac_usrdata ud WHERE cp.prs_bedrijf_key = kl.prs_link_key(+) AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = ud.fac_usrdata_key(+)) gebr2,
|
||
(SELECT ADD_MONTHS (TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy'), LEVEL - 1) mnd FROM DUAL CONNECT BY LEVEL <= 36) p
|
||
WHERE rrr.res_activiteit_key = ra.res_activiteit_key
|
||
AND rrr.res_activiteit_key = 30 -- Extern
|
||
AND deb.res_kenmerk_key = 2 -- Debiteur
|
||
AND rrr.res_rsv_ruimte_key = deb.res_rsv_ruimte_key
|
||
AND fac.safe_to_number (deb.res_kenmerkreservering_waarde) = h.prs_bedrijf_key
|
||
AND h.prs_bedrijf_key = gebr1.deb_key(+)
|
||
AND MOD (h.prs_bedrijf_key, 100000000) = gebr2.deb_key(+)) resbes,
|
||
( SELECT TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm') mnd,
|
||
rrr.res_activiteit_key,
|
||
p.prs_afdeling_key gebruiker_key,
|
||
rrr.res_status_fo_key,
|
||
COUNT ( * ) aant,
|
||
SUM ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24) uren
|
||
FROM res_v_aanwezigrsv_ruimte rrr, prs_perslid p
|
||
WHERE rrr.res_activiteit_key = 10 -- Intern
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
--AND TO_CHAR (rrr.res_rsv_ruimte_tot, 'd') BETWEEN '2' AND '6' -- TODO: Alleen werkdagen?
|
||
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrr.res_rsv_ruimte_tot)) -- TODO: Alleen werkdagen?
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key -- Of res_rsv_ruimte_contact_key?
|
||
GROUP BY TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm'),
|
||
rrr.res_activiteit_key,
|
||
p.prs_afdeling_key,
|
||
rrr.res_status_fo_key
|
||
UNION ALL
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm') mnd,
|
||
rrr.res_activiteit_key,
|
||
COALESCE (gebr1.fac_usrdata_key, gebr2.fac_usrdata_key) gebruiker_key,
|
||
rrr.res_status_fo_key,
|
||
COUNT ( * ) aant,
|
||
SUM ((rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24) uren
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_v_aanwezigkenmerkwaarde deb, sroz_v_huurders h,
|
||
(SELECT b.prs_bedrijf_key deb_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr FROM prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1000) kl, fac_usrdata ud WHERE b.prs_bedrijf_key = kl.prs_link_key(+) AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = ud.fac_usrdata_key(+)) gebr1,
|
||
(SELECT cp.prs_contactpersoon_key deb_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr FROM prs_contactpersoon cp, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1000) kl, fac_usrdata ud WHERE cp.prs_bedrijf_key = kl.prs_link_key(+) AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = ud.fac_usrdata_key(+)) gebr2
|
||
WHERE rrr.res_activiteit_key = 30 -- Extern
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
--AND TO_CHAR (rrr.res_rsv_ruimte_tot, 'd') BETWEEN '2' AND '6' -- TODO: Alleen werkdagen?
|
||
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrr.res_rsv_ruimte_tot)) -- TODO: Alleen werkdagen?
|
||
AND deb.res_kenmerk_key = 2 -- Debiteur
|
||
AND rrr.res_rsv_ruimte_key = deb.res_rsv_ruimte_key
|
||
AND fac.safe_to_number (deb.res_kenmerkreservering_waarde) = h.prs_bedrijf_key
|
||
AND h.prs_bedrijf_key = gebr1.deb_key(+)
|
||
AND MOD (h.prs_bedrijf_key, 100000000) = gebr2.deb_key(+)
|
||
GROUP BY TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm'),
|
||
rrr.res_activiteit_key,
|
||
COALESCE (gebr1.fac_usrdata_key, gebr2.fac_usrdata_key),
|
||
rrr.res_status_fo_key) resbez,
|
||
( SELECT TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm') mnd,
|
||
rrr.res_activiteit_key,
|
||
p.prs_afdeling_key gebruiker_key,
|
||
rrr.res_status_fo_key,
|
||
SUM (obj.aant) aant
|
||
FROM res_v_aanwezigrsv_ruimte rrr, prs_perslid p,
|
||
(SELECT rrd.res_rsv_ruimte_key, rrd.res_rsv_deel_aantal aant
|
||
FROM res_v_aanwezigrsv_deel rrd
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_aantal aant
|
||
FROM res_v_aanwezigrsv_artikel rra
|
||
WHERE EXISTS (SELECT 1 FROM res_artikel WHERE res_artikel_key = rra.res_artikel_key AND res_discipline_key = 52)) obj
|
||
WHERE rrr.res_activiteit_key = 10 -- Intern
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
--AND TO_CHAR (rrr.res_rsv_ruimte_tot, 'd') BETWEEN '2' AND '6' -- TODO: Alleen werkdagen?
|
||
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrr.res_rsv_ruimte_tot)) -- TODO: Alleen werkdagen?
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key -- Of res_rsv_ruimte_contact_key?
|
||
AND rrr.res_rsv_ruimte_key = obj.res_rsv_ruimte_key
|
||
GROUP BY TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm'),
|
||
rrr.res_activiteit_key,
|
||
p.prs_afdeling_key,
|
||
rrr.res_status_fo_key
|
||
UNION ALL
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm') mnd,
|
||
rrr.res_activiteit_key,
|
||
COALESCE (gebr1.fac_usrdata_key, gebr2.fac_usrdata_key) gebruiker_key,
|
||
rrr.res_status_fo_key,
|
||
SUM (obj.aant) aant
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_v_aanwezigkenmerkwaarde deb, sroz_v_huurders h,
|
||
(SELECT b.prs_bedrijf_key deb_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr FROM prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1000) kl, fac_usrdata ud WHERE b.prs_bedrijf_key = kl.prs_link_key(+) AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = ud.fac_usrdata_key(+)) gebr1,
|
||
(SELECT cp.prs_contactpersoon_key deb_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr FROM prs_contactpersoon cp, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1000) kl, fac_usrdata ud WHERE cp.prs_bedrijf_key = kl.prs_link_key(+) AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = ud.fac_usrdata_key(+)) gebr2,
|
||
(SELECT rrd.res_rsv_ruimte_key, rrd.res_rsv_deel_aantal aant
|
||
FROM res_v_aanwezigrsv_deel rrd
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key, rra.res_rsv_artikel_aantal aant
|
||
FROM res_v_aanwezigrsv_artikel rra
|
||
WHERE EXISTS (SELECT 1 FROM res_artikel WHERE res_artikel_key = rra.res_artikel_key AND res_discipline_key = 52)) obj
|
||
WHERE rrr.res_activiteit_key = 30 -- Extern
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
--AND TO_CHAR (rrr.res_rsv_ruimte_tot, 'd') BETWEEN '2' AND '6' -- TODO: Alleen werkdagen?
|
||
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrr.res_rsv_ruimte_tot)) -- TODO: Alleen werkdagen?
|
||
AND deb.res_kenmerk_key = 2 -- Debiteur
|
||
AND rrr.res_rsv_ruimte_key = deb.res_rsv_ruimte_key
|
||
AND fac.safe_to_number (deb.res_kenmerkreservering_waarde) = h.prs_bedrijf_key
|
||
AND h.prs_bedrijf_key = gebr1.deb_key(+)
|
||
AND MOD (h.prs_bedrijf_key, 100000000) = gebr2.deb_key(+)
|
||
AND rrr.res_rsv_ruimte_key = obj.res_rsv_ruimte_key
|
||
GROUP BY TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm'),
|
||
rrr.res_activiteit_key,
|
||
COALESCE (gebr1.fac_usrdata_key, gebr2.fac_usrdata_key),
|
||
rrr.res_status_fo_key) objbez,
|
||
( SELECT TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm') mnd,
|
||
rrr.res_activiteit_key,
|
||
p.prs_afdeling_key gebruiker_key,
|
||
rrr.res_status_fo_key,
|
||
SUM (art.res_rsv_artikel_aantal) aant
|
||
FROM res_v_aanwezigrsv_ruimte rrr, prs_perslid p,
|
||
(SELECT *
|
||
FROM res_v_aanwezigrsv_artikel rra
|
||
WHERE EXISTS (SELECT 1 FROM res_artikel WHERE res_artikel_key = rra.res_artikel_key AND res_discipline_key != 52)) art
|
||
WHERE rrr.res_activiteit_key = 10 -- Intern
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
--AND TO_CHAR (rrr.res_rsv_ruimte_tot, 'd') BETWEEN '2' AND '6' -- TODO: Alleen werkdagen?
|
||
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrr.res_rsv_ruimte_tot)) -- TODO: Alleen werkdagen?
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key -- Of res_rsv_ruimte_contact_key?
|
||
AND rrr.res_rsv_ruimte_key = art.res_rsv_ruimte_key
|
||
GROUP BY TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm'),
|
||
rrr.res_activiteit_key,
|
||
p.prs_afdeling_key,
|
||
rrr.res_status_fo_key
|
||
UNION ALL
|
||
SELECT TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm') mnd,
|
||
rrr.res_activiteit_key,
|
||
COALESCE (gebr1.fac_usrdata_key, gebr2.fac_usrdata_key) gebruiker_key,
|
||
rrr.res_status_fo_key,
|
||
SUM (art.res_rsv_artikel_aantal) aant
|
||
FROM res_v_aanwezigrsv_ruimte rrr, res_v_aanwezigkenmerkwaarde deb, sroz_v_huurders h,
|
||
(SELECT b.prs_bedrijf_key deb_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr FROM prs_bedrijf b, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1000) kl, fac_usrdata ud WHERE b.prs_bedrijf_key = kl.prs_link_key(+) AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = ud.fac_usrdata_key(+)) gebr1,
|
||
(SELECT cp.prs_contactpersoon_key deb_key, ud.fac_usrdata_key, ud.fac_usrdata_omschr FROM prs_contactpersoon cp, (SELECT * FROM prs_v_aanwezigkenmerklink WHERE prs_kenmerk_key = 1000) kl, fac_usrdata ud WHERE cp.prs_bedrijf_key = kl.prs_link_key(+) AND fac.safe_to_number (kl.prs_kenmerklink_waarde) = ud.fac_usrdata_key(+)) gebr2,
|
||
(SELECT *
|
||
FROM res_v_aanwezigrsv_artikel rra
|
||
WHERE EXISTS (SELECT 1 FROM res_artikel WHERE res_artikel_key = rra.res_artikel_key AND res_discipline_key != 52)) art
|
||
WHERE rrr.res_activiteit_key = 30 -- Extern
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_status_fo_key IN (1, 2) -- Optie/Definitief
|
||
AND rrr.res_rsv_ruimte_tot BETWEEN TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy') AND TRUNC (ADD_MONTHS (SYSDATE, 24), 'yyyy') -- T/m volgend jaar!
|
||
--AND TO_CHAR (rrr.res_rsv_ruimte_tot, 'd') BETWEEN '2' AND '6' -- TODO: Alleen werkdagen?
|
||
--AND NOT EXISTS (SELECT 1 FROM mld_vrije_dagen WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (rrr.res_rsv_ruimte_tot)) -- TODO: Alleen werkdagen?
|
||
AND deb.res_kenmerk_key = 2 -- Debiteur
|
||
AND rrr.res_rsv_ruimte_key = deb.res_rsv_ruimte_key
|
||
AND fac.safe_to_number (deb.res_kenmerkreservering_waarde) = h.prs_bedrijf_key
|
||
AND h.prs_bedrijf_key = gebr1.deb_key(+)
|
||
AND MOD (h.prs_bedrijf_key, 100000000) = gebr2.deb_key(+)
|
||
AND rrr.res_rsv_ruimte_key = art.res_rsv_ruimte_key
|
||
GROUP BY TO_CHAR (rrr.res_rsv_ruimte_tot, 'yyyy-mm'),
|
||
rrr.res_activiteit_key,
|
||
COALESCE (gebr1.fac_usrdata_key, gebr2.fac_usrdata_key),
|
||
rrr.res_status_fo_key) artbez
|
||
WHERE resbes.mnd = resbez.mnd(+)
|
||
AND resbes.res_activiteit_key = resbez.res_activiteit_key(+)
|
||
AND resbes.gebruiker_key = resbez.gebruiker_key(+)
|
||
AND resbes.mnd = objbez.mnd(+)
|
||
AND resbes.res_activiteit_key = objbez.res_activiteit_key(+)
|
||
AND resbes.gebruiker_key = objbez.gebruiker_key(+)
|
||
AND resbes.mnd = artbez.mnd(+)
|
||
AND resbes.res_activiteit_key = artbez.res_activiteit_key(+)
|
||
AND resbes.gebruiker_key = artbez.gebruiker_key(+)
|
||
--AND COALESCE (resbez.uren, 1) > 0 -- Soms 0 of zelfs negatief bij vreemde/gelijke begin- en eindtijden (van res_rsv_ruimte/deel)!
|
||
GROUP BY resbes.mnd,
|
||
resbes.res_activiteit_omschrijving,
|
||
resbes.gebruiker,
|
||
resbes.res_activiteit_key,
|
||
resbes.gebruiker_key)
|
||
SELECT mnd, res_activiteit_omschrijving, gebruiker,
|
||
COALESCE (aant_res, 0),
|
||
COALESCE (ou, 0),
|
||
COALESCE (cu, 0),
|
||
COALESCE (oobj, 0),
|
||
COALESCE (cobj, 0),
|
||
COALESCE (oart, 0),
|
||
COALESCE (cart, 0),
|
||
res_activiteit_key,
|
||
gebruiker_key
|
||
FROM resiegoc;
|
||
|
||
------ 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
|