287 lines
12 KiB
SQL
287 lines
12 KiB
SQL
-- Script containing customer specific configuration sql statements for WELK
|
|
-- (c) 2010 SG|facilitor bv
|
|
-- $Revision: 5 $
|
|
-- $Modtime: 4-10-10 17:51 $
|
|
--
|
|
-- Support: +31 53 4800710
|
|
|
|
set echo on
|
|
|
|
spool welk.lst
|
|
|
|
-- Voorbeeld aanroep van webservice
|
|
-- http://dit03/facilitor5iwork/appl/fac/fac_usrrap_list.asp?standalone=1&key=23&session_customerId=WELK&session_user_key=3&sqlWhere=
|
|
-- http://welk-a.facilitor.nl/appl/fac/fac_usrrap_list.asp?standalone=1&key=41&session_customerId=WELK&session_user_key=3&sqlWhere=
|
|
--
|
|
-- Gebouw-key = 5 in onderstaande view om alle bezoekers van het hoofdkantoor in Heerenveen op te kunnen vragen
|
|
CREATE OR REPLACE VIEW welk_v_rapp_bezoekers_screen
|
|
AS
|
|
SELECT to_char(a.bez_afspraak_datum,'DD-MM-YYYY') bez_afspraak_datum,
|
|
to_char(a.bez_afspraak_datum,'YYYY-MM-DD') datum_yyyymmdd,
|
|
to_char(a.bez_afspraak_datum,'HH24:MI') starttijd,
|
|
a.bez_afspraak_key afspr_key,
|
|
b.bez_afspraak_naam,
|
|
b.bez_afspraak_bedrijf bez_bedrijf,
|
|
b.prs_contactpersoon_key,
|
|
p.prs_perslid_naam
|
|
|| CASE
|
|
WHEN p.prs_perslid_voorletters IS NULL THEN ''
|
|
ELSE ', ' || p.prs_perslid_voorletters
|
|
END
|
|
|| CASE
|
|
WHEN p.prs_perslid_tussenvoegsel IS NULL THEN ''
|
|
ELSE ' ' || p.prs_perslid_tussenvoegsel
|
|
END
|
|
|| CASE
|
|
WHEN p.prs_perslid_voornaam IS NULL THEN ''
|
|
ELSE ' (' || p.prs_perslid_voornaam || ')'
|
|
END
|
|
pers_naam,
|
|
a.bez_afspraak_gastheer gastheer,
|
|
COALESCE (a.bez_afspraak_telefoonnr,
|
|
p.prs_perslid_telefoonnr,
|
|
p.prs_perslid_mobiel
|
|
)
|
|
telf_nr,
|
|
a.bez_afspraak_ruimte ruimte,
|
|
a.bez_afspraak_opmerking,
|
|
a.bez_afspraak_eind,
|
|
to_char(a.bez_afspraak_eind,'HH24:MI') eindtijd,
|
|
t.bez_actie_omschrijving actie,
|
|
b.bez_bezoekers_done,
|
|
b.bez_bezoekers_out,
|
|
l.alg_locatie_omschrijving loc_omschr,
|
|
b.bez_bezoekers_key bez_key
|
|
FROM bez_afspraak a,
|
|
bez_bezoekers b,
|
|
bez_actie t,
|
|
prs_perslid p,
|
|
alg_locatie l,
|
|
alg_district d,
|
|
res_rsv_ruimte rrr,
|
|
res_ruimte_opstelling rro,
|
|
res_ruimte rr,
|
|
(SELECT alg_r.alg_ruimte_key alg_onroerendgoed_keys,
|
|
alg_r.alg_ruimte_key,
|
|
alg_r.alg_verdieping_key,
|
|
alg_v.alg_gebouw_key,
|
|
'R' alg_type
|
|
FROM alg_ruimte alg_r, alg_verdieping alg_v
|
|
WHERE alg_r.alg_verdieping_key = alg_v.alg_verdieping_key
|
|
UNION ALL
|
|
SELECT alg_v.alg_verdieping_key,
|
|
TO_NUMBER (NULL),
|
|
alg_v.alg_verdieping_key,
|
|
alg_v.alg_gebouw_key,
|
|
'V'
|
|
FROM alg_verdieping alg_v
|
|
UNION ALL
|
|
SELECT alg_g.alg_gebouw_key,
|
|
TO_NUMBER (NULL),
|
|
TO_NUMBER (NULL),
|
|
alg_g.alg_gebouw_key,
|
|
'G'
|
|
FROM alg_gebouw alg_g) og,
|
|
res_rsv_deel rd
|
|
WHERE a.bez_afspraak_key = b.bez_afspraak_key
|
|
AND l.alg_district_key = d.alg_district_key
|
|
AND t.bez_actie_key(+) = a.bez_actie_key
|
|
AND a.alg_locatie_key = l.alg_locatie_key
|
|
AND og.alg_onroerendgoed_keys(+) = a.alg_onrgoed_keys
|
|
AND b.bez_bezoekers_key = rd.bez_bezoekers_key(+)
|
|
AND p.prs_perslid_key = a.bez_afspraak_contact_key
|
|
AND a.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key(+)
|
|
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
|
AND rro.res_ruimte_key = rr.res_ruimte_key(+)
|
|
AND a.bez_afspraak_datum BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE+1)
|
|
AND og.alg_gebouw_key = 5;
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW welk_v_rapp_lunches
|
|
(fclt_f_datum, tijd, fclt_f_locatie, ruimte, voorziening, aantal, aanvrager, gastheer, afdeling, activiteit, bezoekers, omschrijving, opmerking)
|
|
AS SELECT
|
|
TO_CHAR(DATUM,'YYYY-MM-DD') DATUM,
|
|
TO_CHAR(DATUM,'HH24:MI') TIJD,
|
|
LOCATIE,
|
|
ALG_RUIMTE_AANDUIDING RUIMTE,
|
|
RES_VOORZIENING,
|
|
AANTAL,
|
|
AANVRAGER,
|
|
GASTHEER,
|
|
ORGANISATIE,
|
|
RES_ACTIVITEIT_OMSCHRIJVING,
|
|
BEZOEKERS,
|
|
OMSCHRIJVING,
|
|
OPMERKING
|
|
FROM (WITH theperslid
|
|
AS (SELECT prs_perslid_key,
|
|
prs_perslid_telefoonnr,
|
|
prs_afdeling_key,
|
|
p.prs_perslid_naam
|
|
|| CASE
|
|
WHEN p.prs_perslid_voorletters IS NULL THEN ''
|
|
ELSE ', ' || p.prs_perslid_voorletters
|
|
END
|
|
|| CASE
|
|
WHEN p.prs_perslid_tussenvoegsel IS NULL THEN ''
|
|
ELSE ' ' || p.prs_perslid_tussenvoegsel
|
|
END
|
|
|| CASE
|
|
WHEN p.prs_perslid_voornaam IS NULL THEN ''
|
|
ELSE ' (' || p.prs_perslid_voornaam || ')'
|
|
END
|
|
naam
|
|
FROM prs_perslid p),
|
|
theresrsv
|
|
AS (SELECT *
|
|
FROM res_rsv_ruimte
|
|
)
|
|
SELECT rrr.res_reservering_key,
|
|
ruimte_geg.alg_locatie_key,
|
|
l.alg_locatie_omschrijving locatie,
|
|
ruimte_geg.alg_gebouw_key,
|
|
ruimte_geg.alg_verdieping_key,
|
|
ruimte_geg.alg_ruimte_key,
|
|
COALESCE (opstelalg.res_ruimte_nr,
|
|
ruimte_geg.alg_ruimte_aanduiding
|
|
)
|
|
res_ruimte_nr,
|
|
ruimte_geg.alg_ruimte_aanduiding,
|
|
res_geg.res_voorziening,
|
|
NULL,
|
|
res_geg.res_reservering_van num_datum_tijd,
|
|
res_geg.res_reservering_van datum,
|
|
res_geg.res_reservering_van tijd,
|
|
res_geg.res_reservering_tot tot,
|
|
pcontact.naam aanvrager,
|
|
res_geg.res_ins_discipline_key,
|
|
res_rsv_ruimte_omschrijving omschrijving,
|
|
res_rsv_ruimte_opmerking opmerking,
|
|
res_geg.res_rsv_ruimte_key rsv_ruimte_key,
|
|
res_geg.res_item_key,
|
|
res_geg.res_status_bo_key res_status_bo_key,
|
|
res_geg.res_type categorie,
|
|
rrr.res_rsv_ruimte_bezoekers bezoekers,
|
|
phost.naam gastheer,
|
|
pcontact.prs_perslid_telefoonnr,
|
|
COALESCE ( (SELECT k.prs_kostenplaats_nr
|
|
FROM prs_kostenplaats k
|
|
WHERE rrr.prs_kostenplaats_key =
|
|
k.prs_kostenplaats_key),
|
|
''
|
|
)
|
|
kostenplaats,
|
|
res_geg.aantal aantal,
|
|
res_geg.rsv_ruimte_aantal,
|
|
res_geg.prijs verwerkt_prijs,
|
|
l.alg_district_key,
|
|
rrr.res_activiteit_key,
|
|
ra.res_activiteit_omschrijving,
|
|
ra.res_activiteit_upper,
|
|
res_geg.stuks_prijs stuks_prijs,
|
|
phost.prs_afdeling_key,
|
|
(SELECT d.prs_afdeling_naam2
|
|
FROM prs_v_afdeling d
|
|
WHERE phost.prs_afdeling_key = d.prs_afdeling_key)
|
|
organisatie,
|
|
artikelnummer,
|
|
rrr.res_rsv_ruimte_noshow noshow,
|
|
artikel_groep,
|
|
res_geg.rcv_type rcv_type,
|
|
res_geg.res_type res_type,
|
|
res_geg.keycolumn keycolumn,
|
|
(SELECT COUNT ('1')
|
|
FROM res_rsv_deel rrd, res_deel resd
|
|
WHERE rrd.res_rsv_ruimte_key = res_geg.res_rsv_ruimte_key
|
|
AND rrd.res_deel_key = resd.res_deel_key
|
|
AND resd.res_discipline_key != 121)
|
|
+ (SELECT COUNT ('2')
|
|
FROM res_rsv_artikel
|
|
WHERE res_rsv_ruimte_key = res_geg.res_rsv_ruimte_key)
|
|
nrobjects,
|
|
rrr.res_rsv_ruimte_volgnr,
|
|
rrr.res_rsv_ruimte_key,
|
|
res_geg.res_ruimte_key
|
|
FROM (SELECT 'C' AS res_type,
|
|
'CV' AS rcv_type,
|
|
rra.res_rsv_ruimte_key,
|
|
(SELECT rro.res_ruimte_key
|
|
FROM res_ruimte_opstelling rro
|
|
WHERE rrr.res_ruimte_opstel_key =
|
|
rro.res_ruimte_opstel_key)
|
|
AS res_ruimte_key,
|
|
res_rsv_artikel_key AS res_item_key,
|
|
rra.res_rsv_artikel_levering AS res_reservering_van,
|
|
res_rsv_ruimte_tot AS res_reservering_tot,
|
|
rra.res_rsv_artikel_aantal AS aantal,
|
|
LTRIM (ra.res_artikel_omschrijving)
|
|
|| CASE
|
|
WHEN ra.res_artikel_eenheid IS NULL THEN ''
|
|
ELSE ' (' || ra.res_artikel_eenheid || ')'
|
|
END
|
|
AS res_voorziening,
|
|
NULL,
|
|
ra.res_discipline_key AS res_ins_discipline_key,
|
|
rra.res_status_bo_key,
|
|
ra.res_artikel_key AS res_artikel_key,
|
|
rra.res_rsv_artikel_prijs AS prijs,
|
|
ra.res_artikel_prijs AS stuks_prijs,
|
|
TO_NUMBER (NULL) AS rsv_ruimte_aantal,
|
|
ra.res_artikel_nr AS artikelnummer,
|
|
ra.res_artikel_groep AS artikel_groep,
|
|
rra.res_rsv_artikel_key keycolumn
|
|
FROM res_v_aanwezigrsv_artikel rra, theresrsv rrr, res_artikel ra
|
|
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
|
AND rra.res_rsv_artikel_dirtlevel = 0
|
|
AND rra.res_artikel_key = ra.res_artikel_key
|
|
AND ra.res_discipline_key IN (101)) res_geg,
|
|
res_rsv_ruimte rrr,
|
|
res_activiteit ra,
|
|
theperslid phost,
|
|
theperslid pcontact,
|
|
alg_v_ruimte_gegevens ruimte_geg,
|
|
(SELECT res_ruimte_opstel_key,
|
|
res_ruimte_nr,
|
|
MIN (alg_ruimte_key) alg_ruimte_key
|
|
FROM res_ruimte_opstelling rro, res_alg_ruimte rar, res_ruimte rr
|
|
WHERE rro.res_ruimte_key = rar.res_ruimte_key
|
|
AND rr.res_ruimte_key = rar.res_ruimte_key
|
|
AND rar.res_alg_ruimte_verwijder IS NULL
|
|
GROUP BY res_ruimte_opstel_key, res_ruimte_nr) opstelalg,
|
|
alg_locatie l,
|
|
alg_district di,
|
|
prs_kostenplaats k
|
|
WHERE res_geg.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
|
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
|
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
|
AND res_rsv_ruimte_host_key = phost.prs_perslid_key
|
|
AND res_rsv_ruimte_contact_key = pcontact.prs_perslid_key
|
|
AND rrr.res_ruimte_opstel_key = opstelalg.res_ruimte_opstel_key(+)
|
|
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
|
AND ruimte_geg.alg_ruimte_key =
|
|
COALESCE (rrr.alg_ruimte_key, opstelalg.alg_ruimte_key)
|
|
AND l.alg_locatie_key = ruimte_geg.alg_locatie_key
|
|
AND l.alg_district_key = di.alg_district_key
|
|
AND res_geg.res_status_bo_key < 5);
|
|
|
|
|
|
CREATE OR REPLACE VIEW welk_v_rap_lunches_morgen
|
|
(datum, tijd, locatie, ruimte, voorziening, aantal, aanvrager, gastheer, afdeling, activiteit)
|
|
AS
|
|
SELECT fclt_f_datum, tijd, fclt_f_locatie, ruimte, voorziening, aantal, aanvrager, gastheer, afdeling, activiteit
|
|
FROM welk_v_rapp_lunches
|
|
WHERE TO_DATE (fclt_f_datum, 'YYYY-MM-DD') = TRUNC(SYSDATE+1);
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN adm.systrackscript('$Workfile: welk.sql $', '$Revision: 5 $', 0); END;
|
|
/
|
|
|
|
|
|
COMMIT;
|
|
|
|
spool off
|