From ffc2266a29a66b82d41edb28558974c1725af668 Mon Sep 17 00:00:00 2001 From: Arthur Egberink Date: Thu, 18 Aug 2022 06:07:25 +0000 Subject: [PATCH] KMMO#73923 -- vraag over kalenderfunctie Facilitor vanuit Rondleider svn path=/Customer/trunk/; revision=56929 --- KMMO/kmmo.sql | 81 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 73 insertions(+), 8 deletions(-) diff --git a/KMMO/kmmo.sql b/KMMO/kmmo.sql index ef7abc088..ecb80f40c 100644 --- a/KMMO/kmmo.sql +++ b/KMMO/kmmo.sql @@ -1078,17 +1078,82 @@ SELECT res_rsv_ruimte_van, CREATE OR REPLACE VIEW kmmo_v_rap_rondl_afwezigheid AS - SELECT pf.prs_perslid_naam_full rondleider, - fac.safe_to_date (flx.getflex ('MLD', 421, m.mld_melding_key), 'dd-mm-yyyy') van, - fac.safe_to_date (flx.getflex ('MLD', 423, m.mld_melding_key), 'dd-mm-yyyy') tot, - CASE WHEN fac.safe_to_date(flx.getflex ('MLD', 423, m.mld_melding_key), 'dd-mm-yyyy') > SYSDATE - THEN 1 - ELSE 0 - END toekomst + SELECT pf.prs_perslid_naam_full rondleider, + m.prs_perslid_key rondleider_key, + m.mld_melding_key, + fac.safe_to_date (flx.getflex ('MLD', 421, m.mld_melding_key), + 'dd-mm-yyyy') van, + fac.safe_to_date (flx.getflex ('MLD', 423, m.mld_melding_key), + 'dd-mm-yyyy') tot, + CASE + WHEN fac.safe_to_date ( + flx.getflex ('MLD', 423, m.mld_melding_key), + 'dd-mm-yyyy') > + SYSDATE + THEN + 1 + ELSE + 0 + END toekomst FROM mld_melding m, prs_v_perslid_fullnames_all pf - WHERE mld_stdmelding_key = 261 -- Afwezigheid + WHERE mld_stdmelding_key = 261 -- Afwezigheid AND m.prs_perslid_key = pf.prs_perslid_key; +-- kalender functie voor de rondleiders. Hierin zien ze de eigen opdrachten en de geaccepteerde opdrachten van anderen. +-- verder komen de aangevraagde vrije dagen in het overzicht. +CREATE OR REPLACE VIEW kmmo_rap_cal_rondleiders +AS + SELECT r.prs_perslid_key user_key, + o.mld_melding_key + || '/' + || o.mld_opdr_bedrijfopdr_volgnr + || ' (' + || so.mld_statusopdr_omschrijving + || DECODE(r.prs_perslid_key, o.mld_uitvoerende_keys, '', ' - ' || p.prs_perslid_voornaam) + || ')' title, + o.mld_opdr_einddatum tot, + o.mld_opdr_einddatum - 1 / 24 van, + o.mld_opdr_key item_key, + DECODE (o.mld_statusopdr_key, + 1, '#C0C0C0', -- Afgewezen grijs + 5, DECODE(r.prs_perslid_key, o.mld_uitvoerende_keys, '#0000FF', '#C0C0C0'), -- Toegekend blauw + 6, '#C0C0C0', -- Afgemeld grijs + 8, DECODE(r.prs_perslid_key, o.mld_uitvoerende_keys, '#008000', '#C0C0C0')) color, -- Geaccepteerd groen + DECODE (o.mld_statusopdr_key, + 1, '#FFFFFF', -- Afgewezen + 5, '#FFFFFF', -- Toegekend + 6, '#000000', -- Afgemeld + 8, '#FFFFFF') textcolor, -- Geaccepteerd + DECODE(r.prs_perslid_key, o.mld_uitvoerende_keys, '?u=opdracht' + || CHR (38) + || 'internal=1' + || CHR (38) + || 'k=' + || o.mld_opdr_key) url + FROM mld_opdr o, mld_statusopdr so, prs_perslid p, + (SELECT prs_perslid_key FROM fac_gebruikersgroep WHERE fac_groep_key = 321) r -- rondleiders + WHERE mld_typeopdr_key = 241 -- rondleidingen + AND o.mld_statusopdr_key = so.mld_statusopdr_key + AND o.mld_uitvoerende_keys = p.prs_perslid_key + AND o.mld_opdr_datumbegin > ADD_MONTHS(TRUNC(SYSDATE, 'MM'), -1) + AND NOT (o.mld_statusopdr_key IN (1,6) AND r.prs_perslid_key <> o.mld_uitvoerende_keys) + UNION ALL + SELECT rondleider_key, + 'Verlof ' || mld_melding_key, + tot + 1, + DECODE(SIGN(van - ADD_MONTHS(TRUNC(SYSDATE, 'MM'), -1)), -1, ADD_MONTHS(TRUNC(SYSDATE, 'MM'), -1), van) van, + mld_melding_key, + '#cc0066', + '#ffffff', + '?u=melding' + || CHR (38) + || 'internal=1' + || CHR (38) + || 'k=' + || mld_melding_key url + FROM kmmo_v_rap_rondl_afwezigheid + WHERE tot > ADD_MONTHS(TRUNC(SYSDATE, 'MM'), -1); + -- view om te zien welke reservering facturabel is. Dat betekent dat één van de rsv_ruimtes het kenmerk facturabel op 1 heeft staan. CREATE OR REPLACE VIEW kmmo_v_res_facturabel AS