1664 lines
84 KiB
SQL
1664 lines
84 KiB
SQL
--
|
||
-- $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;
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SPOOL &fcltlogfile
|
||
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_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_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,
|
||
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
|
||
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
|
||
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
|
||
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
|
||
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
|
||
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)) x
|
||
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 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 < TRUNC (SYSDATE, 'iw')
|
||
AND res_status_bo_key != 6 -- Niet AV
|
||
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?
|
||
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, 'yyyy-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, 'yyyy-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,
|
||
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)
|
||
GROUP BY TO_CHAR (TRUNC (fac.gettrackingdate ('RESVER', res_rsv_ruimte_key), 'iw') - 1, 'yyyy-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, 'yyyy-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,
|
||
administratie,
|
||
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 donderdagen!
|
||
SELECT 'reserveringsnummer'
|
||
|| ';debiteur'
|
||
|| ';vandatum'
|
||
|| ';totdatum'
|
||
|| ';omschrijving'
|
||
|| ';aantal'
|
||
|| ';artikelomschrijving'
|
||
|| ';artikelprijs'
|
||
|| ';btw'
|
||
|| ';debiteurreferentie'
|
||
|| ';administratie'
|
||
|| ';kostenplaats'
|
||
|| ';codercvm'
|
||
|| ';contactpersoon',
|
||
0
|
||
FROM DUAL
|
||
WHERE TO_CHAR (SYSDATE, 'd') = '5' -- Donderdag
|
||
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, 'yyyy-iw')
|
||
ORDER BY hide_f_sortering)
|
||
WHERE TO_CHAR (SYSDATE, 'd') = '5' -- Donderdag
|
||
;
|
||
|
||
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 < TRUNC (SYSDATE, 'iw')
|
||
AND res_status_bo_key != 6 -- Niet AV
|
||
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 alleen in de nacht na woensdag doorgezet.
|
||
IF TO_CHAR (SYSDATE, 'd') = '5'
|
||
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).
|
||
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, a.prs_afdeling_omschrijving) 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,
|
||
mld_melding_omschrijving 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
|
||
)
|
||
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
|
||
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)
|
||
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)
|
||
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)
|
||
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
|
||
;
|
||
|
||
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.
|
||
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') || TO_CHAR (rr.res_ruimte_nr)
|
||
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,
|
||
opm_cat.res_kenmerkreservering_waarde 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 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) 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;
|
||
|
||
------ 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
|