From 380d9eb218fdb7f111c2075a66e89e84440e29da Mon Sep 17 00:00:00 2001 From: Jos Migo Date: Thu, 3 Apr 2025 18:20:45 +0000 Subject: [PATCH] BRED#84141 -- Implementatie Bredenoord B.V. - Inpassing Receptie bij Cateringsverhaal (bestellen + brengen en ophalen) svn path=/Customer/trunk/; revision=68654 --- BRED/bred.sql | 242 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) diff --git a/BRED/bred.sql b/BRED/bred.sql index de5336875..211f5c589 100644 --- a/BRED/bred.sql +++ b/BRED/bred.sql @@ -801,6 +801,59 @@ END; --- DOMEINVIEWS --------------- ------------------------------- +CREATE OR REPLACE VIEW bred_v_personenlijst +( + PRS_PERSLID_KEY, + NAAM, + PERSONEELSNUMMER, + AFDELING, + EMAIL, + PRS_PERSLID_VERWIJDER +) +AS + SELECT + p.prs_perslid_key, + CASE WHEN p.prs_perslid_tussenvoegsel IS NULL + THEN p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam || ' (' || sp.prs_srtperslid_omschrijving || ')' + ELSE p.prs_perslid_voornaam || ' ' || p.prs_perslid_tussenvoegsel || ' ' || p.prs_perslid_naam || ' (' || sp.prs_srtperslid_omschrijving || ')' + END + naam, + p.prs_perslid_nr, + a.prs_afdeling_naam3, + p.prs_perslid_email, + p.prs_perslid_verwijder + FROM + prs_perslid p, + prs_srtperslid sp, + prs_v_afdeling a, + prs_bedrijf b + WHERE + p.prs_afdeling_key = a.prs_afdeling_key + AND a.prs_bedrijf_key = b.prs_bedrijf_key + AND b.prs_bedrijf_key = 8 -- bedrijfs_key BRED + AND p.prs_srtperslid_key = sp.prs_srtperslid_key + ORDER BY sp.prs_srtperslid_omschrijving DESC, p.prs_perslid_voornaam, p.prs_perslid_naam + ; + + +CREATE OR REPLACE VIEW bred_v_ruimtes +( + ALG_RUIMTE_KEY, + ALG_RUIMTE_OMSCHRIJVING, + ALG_SRTRUIMTE_OMSCHRIJVING, + ALG_RUIMTE_VERWIJDER +) +AS +SELECT alg_ruimte_key, + alg_gebouw_naam || ' - ' || alg_ruimte_nr || ' - ' || alg_ruimte_omschrijving + alg_ruimte_omschrijving, + alg_srtruimte_omschrijving, + alg_ruimte_verwijder +FROM alg_v_ruimte_gegevens_all +WHERE instr(alg_ruimte_upper_nr, 'FICTIEF') = 0 +ORDER BY alg_gebouw_naam, alg_ruimte_nr +; + ------------------------------- --- NOTI-JOBS --------------- @@ -1155,6 +1208,195 @@ SELECT mld_uitvoerende_key, FROM bred_v_rap_opdrachten ORDER BY geplande_aanvang_b ; +-- Catering: bestellen (receptie) en daarna brengen en halen/opruimen (facilitaire team) +---- via calenderview in beeld houden dagelijks +CREATE OR REPLACE VIEW bred_v_rap_meldingen_cat +( + VAKGROEP_TYPE, + VAKGROEP, + STD_MELDING, + MLD_MELDING_KEY, + MELDING_NUMMER, + MELDING_ONDERWERP, + MELDING_AANVRAGER, + MELDING_PLAATS, + MELDING_RUIMTE, + MELDING_STATUS, + MELDING_BEHANDELAAR, + MELDING_BEHANDELAAR_KEY, + MELDING_BEHANDELTEAM, + MELDING_DATUM, + MELDING_EINDATUM, + MELDING_ACTIEDATUM, + -- kenmerkvelden lunch halen/brengen + TIJDSTIP_VAN, + TIJDSTIP_TOT, + TIJDSTIP_BRENGEN, + GEPLANDE_AANVANG, + GEPLANDE_AANVANG_B, + GEPLANDE_EINDDATUM, + GEPLANDE_EINDDATUM_B, + -- kenmerkvelden status + STATUS_BESTELD, + STATUS_GEBRACHT, + STATUS_OPGEHAALD, + STATUS_KALENDER +) +AS + SELECT sd.ins_srtdiscipline_omschrijving, + d.ins_discipline_omschrijving, + std.mld_stdmelding_omschrijving, + m.mld_melding_key, + sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) + meldingnummer, + m.mld_melding_onderwerp, + p.prs_perslid_naam_full, + l.alg_locatie_plaats, + r.alg_ruimte_omschrijving, + ms.mld_statuses_omschrijving, + COALESCE (ab.prs_perslid_naam_full, '') + behandelaar, + ab.prs_perslid_key + melding_behandelaar_key, + COALESCE (abt.ins_discipline_omschrijving, '') + behandelteam, + m.mld_melding_datum, + m.mld_melding_einddatum, + m.mld_melding_actiedatum, + -- kenmerkvelden lunch - afspraak + v.tijdstip_van + tijdstip_van, + v.tijdstip_tot + tijdstip_tot, + v.tijdstip_brengen + tijdstip_brengen, + CASE WHEN v.tijdstip_brengen IS NOT NULL + THEN TO_CHAR(v.datum_afspraak,'dd-mm-yyyy') || ' ' || v.tijdstip_brengen || ':00' + ELSE TO_CHAR(v.datum_afspraak,'dd-mm-yyyy') || ' ' || '06:00' || ':00' + END + geplande_aanvang, + CASE WHEN v.tijdstip_brengen IS NOT NULL + THEN fac.safe_to_date(TO_CHAR(v.datum_afspraak,'dd-mm-yyyy') || ' ' || v.tijdstip_brengen || ':00', 'dd-mm-yyyy hh24:mi:ss') + ELSE fac.safe_to_date(TO_CHAR(v.datum_afspraak,'dd-mm-yyyy') || ' ' || '06:00' || ':00', 'dd-mm-yyyy hh24:mi:ss') + END + geplande_aanvang_b, + CASE WHEN v.tijdstip_tot IS NOT NULL + THEN TO_CHAR(v.datum_afspraak,'dd-mm-yyyy') || ' ' || v.tijdstip_tot || ':00' + ELSE TO_CHAR(v.datum_afspraak,'dd-mm-yyyy') || ' ' || '19:00' || ':00' + END + geplande_einddatum, + CASE WHEN v.tijdstip_tot IS NOT NULL + THEN fac.safe_to_date(TO_CHAR(v.datum_afspraak,'dd-mm-yyyy') || ' ' || v.tijdstip_tot || ':00', 'dd-mm-yyyy hh24:mi:ss') + ELSE fac.safe_to_date(TO_CHAR(v.datum_afspraak,'dd-mm-yyyy') || ' ' || '19:00' || ':00', 'dd-mm-yyyy hh24:mi:ss') + END + geplande_einddatum_b, + v.besteld + besteld, + v.gebracht + gebracht, + v.opgehaald + opgehaald, + -- statussen in kalender - rood - oranje - groen + CASE + WHEN v.gebracht IS NULL AND v.opgehaald IS NULL THEN 'Open' + WHEN v.gebracht IS NOT NULL AND v.opgehaald IS NULL THEN 'Gebracht' + WHEN v.gebracht IS NOT NULL AND v.opgehaald IS NOT NULL THEN 'Gereed' + ELSE '' + END status_kalender + FROM mld_melding m, + prs_v_perslid_fullnames p, -- aanvrager + prs_v_perslid_fullnames ab, -- actieve behandelaar + ins_tab_discipline abt, -- actieve behandelteam + ins_tab_discipline d, + ins_srtdiscipline sd, + mld_stdmelding std, + alg_locatie l, + alg_district d, + mld_statuses ms, + bred_v_ruimtes r, + (SELECT + mld_melding_key, + TRUNC(mld_melding_einddatum) + datum_afspraak, + flx.getflex('MLD',363, mld_melding_key) + tijdstip_van, + flx.getflex('MLD',364, mld_melding_key) + tijdstip_tot, + flx.getflex('MLD',404, mld_melding_key) + tijdstip_brengen, + flx.getflex('MLD',484, mld_melding_key) + besteld, + flx.getflex('MLD',461, mld_melding_key) + gebracht, + flx.getflex('MLD',462, mld_melding_key) + opgehaald + FROM mld_melding + WHERE mld_stdmelding_key = 119) v -- kenmerken bij catering + WHERE + m.mld_stdmelding_key = std.mld_stdmelding_key + AND std.mld_stdmelding_key = 119 + AND m.mld_alg_onroerendgoed_keys = r.alg_ruimte_key + AND std.mld_ins_discipline_key = d.ins_discipline_key + AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key + AND m.prs_perslid_key = p.prs_perslid_key -- aanvrager + AND m.mld_melding_behandelaar2_key = ab.prs_perslid_key(+) + AND m.mld_ins_discipline_key = abt.ins_discipline_key(+) + AND m.mld_alg_locatie_key = l.alg_locatie_key -- alle std-meldingen hebben verplicht-niveau locatie + AND l.alg_district_key = d.alg_district_key + AND m.mld_melding_status = ms.mld_statuses_key + AND m.mld_melding_key = v.mld_melding_key + ; + +CREATE OR REPLACE VIEW bred_v_cal_meldingen_cat +( + USER_KEY, + TITLE, + VAN, + TOT, + ITEM_KEY, + COLOR, + TEXTCOLOR, + MELDING_BEHANDELTEAM, + MELDING_BEHANDELAAR, + MELDING_RUIMTE, + MELDING_ONDERWERP, + STATUS_KALENDER +) +AS +SELECT melding_behandelaar_key, + ' - ' || melding_nummer || ' (' || melding_status || ')' || CHR(10) + || melding_ruimte || CHR(10) + || melding_behandelteam || ' / ' || melding_behandelaar || CHR(10) + || 'Status: ' || status_kalender || CHR(10) + || '- ' || geplande_aanvang || CHR(10) + || '- ' || geplande_einddatum + title, + geplande_aanvang_b + van, + geplande_einddatum_b + tot, + mld_melding_key, + DECODE (status_kalender, + 'Gereed', '#008000', -- groen + 'Open', '#FF4611', -- rood/oranje + 'Gebracht', '#FFA500', -- oranje + '#0000FF') + color, + DECODE (status_kalender, + 'Gereed', '#000000', -- zwart + 'Open', '#FFFFFF', -- wit + 'Gebracht', '#FFFFFF', -- wit + '#000000') + textcolor, + melding_behandelteam, + melding_behandelaar, + melding_ruimte, + melding_onderwerp, + status_kalender +FROM bred_v_rap_meldingen_cat +ORDER BY geplande_aanvang_b ; + + -- O.a. voor beheer nieuwe medewerkers en inactieve mederwerkers en koppeling object voor registreren van de uitgegeven middelen CREATE OR REPLACE VIEW bred_v_rap_personenbeheer (