diff --git a/AAGB/aagb.sql b/AAGB/aagb.sql index 34958295f..100689eb0 100644 --- a/AAGB/aagb.sql +++ b/AAGB/aagb.sql @@ -326,74 +326,74 @@ AS 'dd-mm-yyyy') = TRUNC (SYSDATE); --- Gestyled rapport met locatiegegevens. De kenmerken worden er bij gejoined zodat er per kenmerk een regel komt. --- In de stylesheet kunnen we dan kiezen welke kenmerken er getoond worden. + CREATE OR REPLACE VIEW aagb_v_locatie_gegevens AS -SELECT k.alg_locatie_key, - k.alg_locatie_code, - k.vm_email, - k.vm_telefoonnr, - k.rm_email, - k.rm_telefoonnr, - k.alg_locatie_omschrijving, - k.alg_locatie_adres, - k.alg_locatie_postcode, - k.alg_locatie_plaats, - k.alg_locatie_verantw_tel, - k.alg_kenmerk_key, - k.alg_kenmerk_omschrijving, - k.alg_kenmerk_volgnr, - k.alg_kenmerk_kenmerktype, - aog.alg_onrgoedkenmerk_waarde - FROM (SELECT l.*, - k.alg_kenmerk_key, - k.alg_kenmerk_omschrijving, - k.alg_kenmerk_volgnr, - k.alg_kenmerk_kenmerktype, - vm.prs_perslid_email vm_email, - vm.prs_perslid_telefoonnr vm_telefoonnr, - rm.prs_perslid_email rm_email, - rm.prs_perslid_telefoonnr rm_telefoonnr - FROM alg_kenmerk k, - alg_locatie l, - (SELECT prs_perslid_email, - prs_perslid_telefoonnr, - vmk.alg_onrgoed_key alg_locatie_key - FROM prs_perslid p, alg_onrgoedkenmerk vmk - WHERE vmk.alg_kenmerk_key = 1141 - AND FAC.safe_to_number (vmk.alg_onrgoedkenmerk_waarde) = - p.prs_perslid_key) vm, - (SELECT prs_perslid_email, - prs_perslid_telefoonnr, - rmk.alg_onrgoed_key alg_locatie_key - FROM prs_perslid p, alg_onrgoedkenmerk rmk - WHERE rmk.alg_kenmerk_key = 1142 - AND FAC.safe_to_number (rmk.alg_onrgoedkenmerk_waarde) = - p.prs_perslid_key) rm - WHERE alg_locatie_verwijder IS NULL - AND k.alg_kenmerk_niveau = 'L' - AND k.alg_kenmerk_kenmerktype NOT IN ('M', 'l') - AND k.alg_kenmerk_verwijder IS NULL - AND l.alg_locatie_key = vm.alg_locatie_key(+) - AND l.alg_locatie_key = rm.alg_locatie_key(+)) k - LEFT JOIN - (SELECT aog.alg_kenmerk_key, - aog.alg_onrgoed_key, - DECODE ( - ak.alg_kenmerk_kenmerktype, - 'R', FLX.getdomeinwaarde (ak.fac_kenmerkdomein_key, - alg_onrgoedkenmerk_waarde), - 'S', FLX.getdomeinwaarde (ak.fac_kenmerkdomein_key, - alg_onrgoedkenmerk_waarde), - alg_onrgoedkenmerk_waarde) alg_onrgoedkenmerk_waarde - FROM alg_onrgoedkenmerk aog, alg_kenmerk ak - WHERE aog.alg_kenmerk_key = ak.alg_kenmerk_key) aog - ON k.alg_kenmerk_key = aog.alg_kenmerk_key - AND k.alg_locatie_key = aog.alg_onrgoed_key; + SELECT k.alg_locatie_key, + k.alg_locatie_code, + k.alg_district_omschrijving, + k.alg_regio_omschrijving, + DECODE(SIGN(COALESCE(k.alg_locatie_vervaldatum, SYSDATE + 10) - SYSDATE), -1, 'Niet actief', 'Actief') status, + k.vm_email, + k.vm_telefoonnr, + k.rm_email, + k.rm_telefoonnr, + k.alg_locatie_omschrijving, + k.alg_locatie_adres, + k.alg_locatie_postcode, + k.alg_locatie_plaats, + k.alg_locatie_verantw_tel, + k.alg_kenmerk_key, + k.alg_kenmerk_omschrijving, + k.alg_kenmerk_volgnr, + k.alg_kenmerk_kenmerktype, + aog.alg_onrgoedkenmerk_waarde + FROM (SELECT l.*, + d.alg_district_omschrijving, + r.alg_regio_omschrijving, + k.alg_kenmerk_key, + k.alg_kenmerk_omschrijving, + k.alg_kenmerk_volgnr, + k.alg_kenmerk_kenmerktype, + vm.prs_perslid_email vm_email, + vm.prs_perslid_telefoonnr vm_telefoonnr, + rm.prs_perslid_email rm_email, + rm.prs_perslid_telefoonnr rm_telefoonnr + FROM alg_kenmerk k, + alg_locatie l, + alg_district d, + alg_regio r, + (SELECT prs_perslid_email, prs_perslid_telefoonnr, vmk.alg_onrgoed_key alg_locatie_key + FROM prs_perslid p, alg_onrgoedkenmerk vmk + WHERE vmk.alg_kenmerk_key = 1141 + AND FAC.safe_to_number (vmk.alg_onrgoedkenmerk_waarde) = p.prs_perslid_key) vm, + (SELECT prs_perslid_email, prs_perslid_telefoonnr, rmk.alg_onrgoed_key alg_locatie_key + FROM prs_perslid p, alg_onrgoedkenmerk rmk + WHERE rmk.alg_kenmerk_key = 1142 + AND FAC.safe_to_number (rmk.alg_onrgoedkenmerk_waarde) = p.prs_perslid_key) rm + WHERE alg_locatie_verwijder IS NULL + AND l.alg_district_key = d.alg_district_key + AND d.alg_regio_key = r.alg_regio_key + AND k.alg_kenmerk_niveau = 'L' + AND k.alg_kenmerk_kenmerktype NOT IN ('M', 'l') + AND k.alg_kenmerk_verwijder IS NULL + AND l.alg_locatie_key = vm.alg_locatie_key(+) + AND l.alg_locatie_key = rm.alg_locatie_key(+)) k + LEFT JOIN + (SELECT aog.alg_kenmerk_key, + aog.alg_onrgoed_key, + DECODE (ak.alg_kenmerk_kenmerktype, + 'R', FLX.getdomeinwaarde (ak.fac_kenmerkdomein_key, alg_onrgoedkenmerk_waarde), + 'S', FLX.getdomeinwaarde (ak.fac_kenmerkdomein_key, alg_onrgoedkenmerk_waarde), + alg_onrgoedkenmerk_waarde) alg_onrgoedkenmerk_waarde + FROM alg_onrgoedkenmerk aog, alg_kenmerk ak + WHERE aog.alg_kenmerk_key = ak.alg_kenmerk_key) aog + ON k.alg_kenmerk_key = aog.alg_kenmerk_key AND k.alg_locatie_key = aog.alg_onrgoed_key; --- kenmerken van delen en locaties. Het gestylede rapport zorgt ervoor dat de kenmerken naar kolommen --- omgezet worden. + + +-- Gestyled rapport met locatiegegevens. De kenmerken worden er bij gejoined zodat er per kenmerk een regel komt. +-- In de stylesheet kunnen we dan kiezen welke kenmerken er getoond worden. CREATE OR REPLACE view aagb_v_deel_gegevens AS SELECT k.ins_srtdeel_omschrijving, @@ -456,6 +456,25 @@ AS AND sd.ins_srtgroep_key = sg.ins_srtgroep_key AND sg.ins_discipline_key = di.ins_discipline_key UNION ALL + SELECT sd.ins_srtdeel_omschrijving, + sg.ins_srtgroep_omschrijving, + di.ins_discipline_omschrijving, + d.ins_deel_key, + 'L-' || l.omschrijving alg_kenmerk_omschrijving, + l.volgnr alg_kenmerk_volgnr, + 'C' alg_kenmerk_kenmerktype, + l.waarde alg_onrgoedkenmerk_waarde + FROM ( SELECT alg_locatie_key, 1 volgnr, 'Locatie email' omschrijving, alg_locatie_email waarde FROM alg_locatie) l, + ins_deel d, + ins_srtdeel sd, + ins_srtgroep sg, + ins_discipline di + WHERE d.ins_deel_verwijder IS NULL + AND l.alg_locatie_key = d.ins_alg_locatie_key + AND d.ins_srtdeel_key = sd.ins_srtdeel_key + AND sd.ins_srtgroep_key = sg.ins_srtgroep_key + AND sg.ins_discipline_key = di.ins_discipline_key + UNION ALL SELECT ins_srtdeel_omschrijving, ins_srtgroep_omschrijving, ins_discipline_omschrijving, @@ -481,6 +500,7 @@ AS ins_srtgroep sg, ins_discipline di WHERE alg_locatie_verwijder IS NULL + AND d.ins_deel_verwijder IS NULL AND k.alg_kenmerk_niveau = 'L' AND k.alg_kenmerk_kenmerktype NOT IN ('M', 'l') AND k.alg_kenmerk_verwijder IS NULL