From cfb8be60733d2644d226bb4e0740678402224949 Mon Sep 17 00:00:00 2001 From: Arthur Egberink Date: Mon, 6 May 2024 09:24:36 +0000 Subject: [PATCH] PCHX#82765 -- Opzetten dashboards voor PCH svn path=/Customer/trunk/; revision=64531 --- PCHX/pchx.sql | 241 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 228 insertions(+), 13 deletions(-) diff --git a/PCHX/pchx.sql b/PCHX/pchx.sql index 7e48c8342..70b992fa7 100644 --- a/PCHX/pchx.sql +++ b/PCHX/pchx.sql @@ -1,4 +1,4 @@ - -- Script containing customer generic configuration sql statements for all PCH accounts +-- Script containing customer generic configuration sql statements for all PCH accounts -- $Revision$ -- $Id$ -- @@ -2888,6 +2888,111 @@ AS AND p.prs_afdeling_key = a.prs_afdeling_key AND a.prs_bedrijf_key = b.prs_bedrijf_key; +-- Rapportage om te controleren welke rechten er aangepast zijn die te maken hebben met goedkeuring (FIA en GOE rechten) +-- En het wijzigen van profielen en budgethouders. +CREATE OR REPLACE VIEW pchx_v_rap_audit_trail +AS + SELECT * + FROM (SELECT a.fac_audit_key, + fac_audit_tabelnaam, + 'Aanpassing rechten van groep' uitleg, + fac_audit_actie, + fac_audit_datum, + pf.prs_perslid_naam_full, + f.fac_functie_omschrijving, + (SELECT fac_groep_omschrijving + FROM fac_groep g, fac_audit a1 + WHERE COALESCE (fac.safe_to_number (a1.fac_audit_waarde_oud), + fac.safe_to_number (a1.fac_audit_waarde_nieuw)) = + g.fac_groep_key + AND a.fac_audit_tabelkey = a1.fac_audit_tabelkey + AND a.fac_audit_datum = a1.fac_audit_datum + AND fac_audit_veldnaam = 'fac_groep_key') + || ' - ' + || (SELECT ins_discipline_omschrijving + FROM ins_tab_discipline d, fac_audit a1 + WHERE COALESCE (fac.safe_to_number (a1.fac_audit_waarde_oud), + fac.safe_to_number (a1.fac_audit_waarde_nieuw)) = + d.ins_discipline_key + AND a.fac_audit_tabelkey = a1.fac_audit_tabelkey + AND a.fac_audit_datum = a1.fac_audit_datum + AND fac_audit_veldnaam = 'ins_discipline_key') oms + FROM fac_audit a, fac_functie f, prs_v_perslid_fullnames pf + WHERE fac_audit_tabelnaam = 'fac_groeprechten' + AND (a.fac_audit_waarde_oud = fac_functie_key OR a.fac_audit_waarde_nieuw = fac_functie_key) + AND f.fac_functie_code IN ('WEB_FINBOF', 'WEB_ORDGOE', 'WEB_CNTGOE') + AND a.prs_perslid_key = pf.prs_perslid_key + UNION ALL + SELECT a.fac_audit_key, + fac_audit_tabelnaam, + 'Personen toevoegen aan auth groep', + fac_audit_actie, + fac_audit_datum, + pf.prs_perslid_naam_full, + g.fac_groep_omschrijving, + (SELECT p.prs_perslid_naam_full + FROM prs_v_perslid_fullnames_all p, fac_audit a1 + WHERE COALESCE (fac.safe_to_number (a1.fac_audit_waarde_oud), + fac.safe_to_number (a1.fac_audit_waarde_nieuw)) = + p.prs_perslid_key + AND a.fac_audit_tabelkey = a1.fac_audit_tabelkey + AND a.fac_audit_datum = a1.fac_audit_datum + AND fac_audit_veldnaam = 'prs_perslid_key') + || ' - ' + || (SELECT ins_discipline_omschrijving + FROM ins_tab_discipline d, fac_audit a1 + WHERE COALESCE (fac.safe_to_number (a1.fac_audit_waarde_oud), + fac.safe_to_number (a1.fac_audit_waarde_nieuw)) = + d.ins_discipline_key + AND a.fac_audit_tabelkey = a1.fac_audit_tabelkey + AND a.fac_audit_datum = a1.fac_audit_datum + AND fac_audit_veldnaam = 'ins_discipline_key') oms + FROM fac_audit a, fac_groep g, prs_v_perslid_fullnames_all pf + WHERE fac_audit_tabelnaam = 'fac_gebruikersgroep' + AND fac_audit_veldnaam = 'fac_groep_key' + AND (a.fac_audit_waarde_oud = fac_groep_key OR a.fac_audit_waarde_nieuw = fac_groep_key) + AND a.prs_perslid_key = pf.prs_perslid_key + AND EXISTS + (SELECT 1 + FROM fac_groeprechten gr, fac_functie f + WHERE gr.fac_groep_key = g.fac_groep_key + AND gr.fac_functie_key = f.fac_functie_key + AND f.fac_functie_code IN ('WEB_FINBOF', 'WEB_ORDGOE', 'WEB_CNTGOE')) + UNION ALL + SELECT a.fac_audit_key, + fac_audit_tabelnaam, + 'Wijzigen limiet van een profiel', + fac_audit_actie, + fac_audit_datum, + pf.prs_perslid_naam_full, + pr.fac_profiel_omschrijving, + a.fac_audit_waarde_oud || ' --> ' || a.fac_audit_waarde_nieuw oms + FROM fac_audit a, fac_profiel pr, prs_v_perslid_fullnames_all pf + WHERE fac_audit_tabelnaam = 'fac_profiel' + AND fac_audit_veldnaam = 'fac_profiel_limiet' + AND fac_audit_tabelkey = pr.fac_profiel_key + AND a.prs_perslid_key = pf.prs_perslid_key + UNION ALL + SELECT a.fac_audit_key, + fac_audit_tabelnaam, + 'Wijzigen budgethouder', + fac_audit_actie, + fac_audit_datum, + pf.prs_perslid_naam_full, + k.prs_kostenplaats_omschrijving, + (SELECT p.prs_perslid_naam_full + FROM prs_v_perslid_fullnames_all p + WHERE p.prs_perslid_key = a.fac_audit_waarde_oud) + || ' --> ' + || (SELECT p.prs_perslid_naam_full + FROM prs_v_perslid_fullnames_all p + WHERE p.prs_perslid_key = a.fac_audit_waarde_nieuw) oms + FROM fac_audit a, prs_kostenplaats k, prs_v_perslid_fullnames_all pf + WHERE fac_audit_tabelnaam = 'prs_kostenplaats' + AND fac_audit_veldnaam = 'prs_perslid_key' + AND fac_audit_tabelkey = k.prs_kostenplaats_key + AND a.prs_perslid_key = pf.prs_perslid_key) + WHERE fac_audit_datum > SYSDATE - 200; -- Organisastie brede view voor het tonen van het aantal meldingen per dag met een tijdspanne van een week CREATE OR REPLACE VIEW pchx_aant_per_dag @@ -5248,33 +5353,143 @@ AS CREATE OR REPLACE VIEW pchx_v_mld_mldref ( - MELDING_KEY, - MELDING_NUMMER + melding_key, + melding_nummer ) AS SELECT m.mld_melding_key, - srt.INS_SRTDISCIPLINE_PREFIX + srt.ins_srtdiscipline_prefix || m.mld_melding_key || ' - ' - || sm.MLD_STDMELDING_OMSCHRIJVING + || sm.mld_stdmelding_omschrijving FROM mld_melding m, ins_srtdiscipline srt, mld_stdmelding sm, mld_discipline d - WHERE m.MLD_STDMELDING_KEY = sm.MLD_STDMELDING_KEY AND - sm.MLD_INS_DISCIPLINE_KEY = d.INS_DISCIPLINE_KEY - AND d.INS_SRTDISCIPLINE_KEY = srt.INS_SRTDISCIPLINE_KEY; + where m.mld_stdmelding_key = sm.mld_stdmelding_key AND + sm.mld_ins_discipline_key = d.ins_discipline_key + AND d.ins_srtdiscipline_key = srt.ins_srtdiscipline_key; CREATE OR REPLACE VIEW pchx_v_cntr_cntrref ( - CONTRACT_KEY, - CONTRACT_NUMMER, - VERWIJDER_DATUM + contract_key, + contract_nummer, + verwijder_datum ) AS SELECT cnt.cnt_contract_key, cnt.cnt_contract_nummer_intern || case when cnt.cnt_contract_versie IS NULL OR cnt.cnt_contract_versie = ''THEN '' ELSE '.'||cnt.cnt_contract_versie END || ' - ' || cdisc.INS_DISCIPLINE_OMSCHRIJVING , - cnt.CNT_CONTRACT_VERWIJDER + cnt.cnt_contract_verwijder FROM cnt_contract cnt, cnt_discipline cdisc - WHERE cnt.INS_DISCIPLINE_KEY = cdisc.INS_DISCIPLINE_KEY; + WHERE cnt.ins_discipline_key = cdisc.ins_discipline_key; +-- Rapportages tbv Dashboards +CREATE OR REPLACE VIEW pchx_v_dashb_factuur +AS + SELECT f.fin_factuur_KEY, + k.prs_kostenplaats_nr, + k.prs_kostenplaats_omschrijving, + k.prs_perslid_key, + f.fin_factuur_statuses_key, + l.alg_locatie_key fclt_3d_locatie_key, + l.alg_locatie_omschrijving melding_locatie + FROM fin_factuur f, + prs_kostenplaats k, + alg_locatie l, + (SELECT DISTINCT f.fin_factuur_key, aog.alg_locatie_key + FROM fin_factuur f, + cnt_contract_plaats cp, + (SELECT alg_locatie_key, alg_onroerendgoed_keys, alg_type FROM alg_v_allonroerendgoed + UNION ALL + SELECT alg_locatie_key, alg_locatie_key, 'L' FROM alg_locatie) aog + WHERE f.cnt_contract_key = cp.cnt_contract_key + AND cp.cnt_alg_plaats_code = aog.alg_type + AND cp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys + UNION ALL + SELECT fin_factuur_key, a.alg_locatie_key + FROM fin_factuur f, bes_bestelopdr bo, mld_adres a + WHERE f.bes_bestelopdr_key = bo.bes_bestelopdr_key AND bo.mld_adres_key_lev = a.mld_adres_key + UNION ALL + SELECT f.fin_factuur_key, m.mld_alg_locatie_key + FROM fin_factuur f, mld_opdr o, mld_melding m + WHERE f.mld_opdr_key = o.mld_opdr_key AND o.mld_melding_key = m.mld_melding_key) fl + WHERE fin.getfactuurkostenplaats (f.fin_factuur_key) = k.prs_kostenplaats_key + AND fl.alg_locatie_key = l.alg_locatie_key + AND f.fin_factuur_verwijder IS NULL + AND f.fin_factuur_key = fl.fin_factuur_key; + +CREATE OR REPLACE VIEW pchx_v_dashb_openmld_kwisp +AS + SELECT m.mld_melding_key, + alg_locatie_key fctl_3d_locatie_key, + alg_locatie_omschrijving melding_locatie, + sd.ins_srtdiscipline_omschrijving soortmelding, + sd.ins_srtdiscipline_key soortmelding_key, + s.mld_statuses_omschrijving, + m.mld_melding_datum + FROM mld_melding m, + mld_stdmelding std, + mld_discipline d, + ins_srtdiscipline sd, + alg_locatie l, + mld_statuses s + WHERE m.mld_stdmelding_key = std.mld_stdmelding_key + AND std.mld_ins_discipline_key = d.ins_discipline_key + AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key + AND m.mld_alg_locatie_key = l.alg_locatie_key(+) + AND m.mld_melding_status = s.mld_statuses_key; + + +CREATE OR REPLACE VIEW pchx_v_dashb_openbes +AS + SELECT u.catalogus, + u.bestelling_key, + u.status, + u.fclt_3d_locatie_key, + u.fclt_3d_discipline_key, + l.alg_locatie_omschrijving melding_locatie + FROM bes_v_udr_bestelling u, alg_locatie l + WHERE u.fclt_3d_locatie_key = l.alg_locatie_key + GROUP BY u.catalogus, + u.bestelling_key, + u.status, + u.fclt_3d_locatie_key, + l.alg_locatie_omschrijving, + u.fclt_3d_discipline_key; + +CREATE OR REPLACE VIEW pchx_v_dashb_contract_rap +AS + SELECT DISTINCT c.cnt_contract_key, + aog.alg_locatie_key fclt_3d_locatie_key, + l.alg_locatie_omschrijving melding_locatie, + DECODE (cnt.cnt_contract_status (c.cnt_contract_looptijd_van, + cnt.cnt_getrappeldatum (c.cnt_contract_key), + cnt.cnt_getopzegdatum (c.cnt_contract_key), + c.cnt_contract_looptijd_tot), + 0, lcl.l ('lcl_cnt_future'), + 1, lcl.l ('lcl_cnt_topical'), + 2, lcl.l ('lcl_cnt_warn'), + 3, lcl.l ('lcl_cnt_cancel'), + 4, lcl.l ('lcl_cnt_past')) fase_actief, + DECODE ( + c.cnt_contract_status, + 0, DECODE (fac.getsetting ('cnt_contract_approval'), + 1, lcl.l ('lcl_cnt_active_approval'), + lcl.l ('lcl_cnt_active')), + 1, lcl.l ('lcl_cnt_inactive'), + 2, lcl.l ('lcl_cnt_new'), + 3, lcl.l ('lcl_cnt_forapproval')) cnt_contract_status + FROM cnt_contract c, + cnt_contract_plaats cp, + alg_locatie l, + (SELECT alg_locatie_key, alg_onroerendgoed_keys, alg_type FROM alg_v_allonroerendgoed + UNION ALL + SELECT alg_locatie_key, alg_locatie_key, 'L' FROM alg_locatie) aog + WHERE cp.cnt_alg_plaats_code = aog.alg_type + AND cp.cnt_alg_plaats_key = aog.alg_onroerendgoed_keys + AND cp.cnt_contract_key = c.cnt_contract_key + AND aog.alg_locatie_key = l.alg_locatie_key; + +CREATE OR REPLACE VIEW pchx_v_locaties +AS + SELECT alg_locatie_key, alg_locatie_code, alg_locatie_omschrijving FROM alg_v_aanweziglocatie; ------ payload end ------