From 1939f8fea1ba2e6c86e14a84ce94635516cf6e21 Mon Sep 17 00:00:00 2001 From: Norbert Wassink Date: Wed, 20 Mar 2024 12:38:33 +0000 Subject: [PATCH] PROR#82508 -- aanpassingen catering export bestand svn path=/Customer/trunk/; revision=63988 --- PROR/PROR.sql | 102 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 62 insertions(+), 40 deletions(-) diff --git a/PROR/PROR.sql b/PROR/PROR.sql index 185074477..06f3749ed 100644 --- a/PROR/PROR.sql +++ b/PROR/PROR.sql @@ -1650,8 +1650,8 @@ AS WHERE rrr.res_rsv_ruimte_van > TO_DATE('01-05-2022','DD-MM-YYYY') AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+) - AND rrr.res_status_fo_key = 2 -- vervallen en te laat uit outllok afgemeld - AND rrr.res_rsv_ruimte_cvab_mode IS NOT NULL -- vervallen en te laat uit outllok afgemeld + AND rrr.res_status_fo_key = 2 -- Alleen definitieve res + AND rrr.res_rsv_ruimte_cvab_mode IS NOT NULL -- betreft een losse catering AND p.prs_perslid_key=rrr.res_rsv_ruimte_contact_key AND rrr.res_rsv_ruimte_key NOT IN (SELECT rkw.RES_RSV_RUIMTE_KEY FROM res_kenmerkwaarde rkw, res_kenmerk rk WHERE rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY @@ -1659,7 +1659,7 @@ AS AND rk.RES_KENMERK_OMSCHRIJVING='ExternSyncDatum') -- AND rrr.res_rsv_ruimte_externsyncdate IS NULL UNION -- alle te laat verwijderde outlook reservereingen met catering - SELECT distinct rra.res_rsv_ruimte_key rrr_key, + SELECT distinct rrr.res_rsv_ruimte_key rrr_key, rrr.res_reservering_key||'/'||rrr.res_rsv_ruimte_volgnr reservering, rrr.res_rsv_ruimte_opmerking opmerking, 'Te late annulering' extra_opmerking, @@ -1695,18 +1695,35 @@ AS AND rarm.res_alg_ruimte_verwijder IS NULL AND alg.alg_ruimte_key = rarm.alg_ruimte_key)) ruimtenr, rrr.res_activiteit_key activiteit_key - FROM res_rsv_artikel rra, - res_rsv_ruimte rrr, + FROM res_rsv_ruimte rrr, prs_kostenplaats k, - prs_v_perslid_gegevens p + prs_v_perslid_gegevens p, + (SElECT r.*, + (SELECT MAX(rdp.res_disc_params_cancel_dagen) annuleer_dagen + FROM res_rsv_artikel rra, res_artikel ra, res_discipline rd, res_disc_params rdp + WHERE res_rsv_ruimte_key = r.res_rsv_ruimte_key + AND ra.res_artikel_key = rra.res_artikel_key + AND ra.res_discipline_key = rd.ins_discipline_key + AND rdp.res_ins_discipline_key=rd.ins_discipline_key) annuleer_dagen + FROM (SELECT DISTINCT + res.res_rsv_ruimte_key res_rsv_ruimte_key, + res.res_reservering_key res_reservering_key, + res.res_rsv_ruimte_volgnr res_rsv_ruimte_volgnr, + res.res_rsv_ruimte_host_key gastheer_key, + res.res_rsv_ruimte_verwijder datum_verwijder, + fac.safe_to_date ( + TO_CHAR (res.res_rsv_ruimte_van, 'DD-MM-YYYY')||' 12:00', + 'DD-MM-YYYY HH24:MI') leverdatum + FROM res_rsv_ruimte res, res_rsv_artikel rra + WHERE res.res_rsv_ruimte_verwijder IS NOT NULL + AND res.res_rsv_ruimte_externnr IS NOT NULL + -- AND res.res_status_fo_key=4 + AND rra.res_rsv_ruimte_key=res.res_rsv_ruimte_key) r) x WHERE rrr.res_rsv_ruimte_van > TO_DATE('01-05-2022','DD-MM-YYYY') - AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key - AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+) - AND rrr.res_status_fo_key = 4 -- vervallen en te laat uit outllok afgemeld - AND rrr.res_status_bo_key = 2 -- vervallen en te laat uit outllok afgemeld - AND p.prs_perslid_key=rrr.res_rsv_ruimte_contact_key - AND rrr.res_rsv_ruimte_externnr IS NOT NULL - -- AND rrr.res_rsv_ruimte_externsyncdate IS NULL + AND rrr.res_rsv_ruimte_key = x.res_rsv_ruimte_key + AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+) + AND p.prs_perslid_key=rrr.res_rsv_ruimte_contact_key + AND x.datum_verwijder> x.leverdatum - x.annuleer_dagen -- bepalen of de annulering te laat was AND rrr.res_rsv_ruimte_key NOT IN (SELECT rkw.RES_RSV_RUIMTE_KEY FROM res_kenmerkwaarde rkw, res_kenmerk rk WHERE rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY AND rk.RES_KENMERK_KEY = rkw.RES_KENMERK_KEY @@ -1737,30 +1754,30 @@ AS CURSOR sel_art(p_rrr_key NUMBER) IS - SELECT rra.res_rsv_artikel_key, - rra.res_rsv_artikel_aantal aantal, - ra.res_artikel_omschrijving artikel_omschrijving, - COALESCE(ra.RES_ARTIKEL_NR,ra.res_artikel_externnr) artikelnr, - rra.res_rsv_artikel_levering van, - ra.res_artikel_btw btw, - rra.res_rsv_artikel_prijs totprijs, - ra.res_artikel_prijs prijs, - rd.ins_discipline_omschrijving catalogus, - (SELECT rka.res_kenmerkartikel_waarde - from res_kenmerkartikel rka, res_kenmerk rk, res_srtkenmerk rsk - where rka.res_rsv_artikel_key=rra.res_rsv_artikel_key - AND rk.res_kenmerk_key=rka.res_kenmerk_key - AND rsk.res_srtkenmerk_key = rk.res_srtkenmerk_key - AND rsk.res_srtkenmerk_upper='MAATWERK OPMERKING') opmerking - FROM res_rsv_artikel rra, - res_artikel ra, - res_discipline rd - WHERE rra.res_rsv_ruimte_key=p_rrr_key - AND rra.res_artikel_key = ra.res_artikel_key - -- AND rra.res_status_bo_key = 2 -- afgemeld - AND rra.res_rsv_artikel_verwijder IS NULL - AND ra.res_artikel_btw IN (0, 9, 21) - AND rd.ins_discipline_key=ra.res_discipline_key; + SELECT rra.res_rsv_artikel_key, + rra.res_rsv_artikel_aantal aantal, + ra.res_artikel_omschrijving artikel_omschrijving, + COALESCE(ra.RES_ARTIKEL_NR,ra.res_artikel_externnr) artikelnr, + rra.res_rsv_artikel_levering van, + ra.res_artikel_btw btw, + rra.res_rsv_artikel_prijs totprijs, + ra.res_artikel_prijs prijs, + rd.ins_discipline_omschrijving catalogus, + (SELECT rka.res_kenmerkartikel_waarde + from res_kenmerkartikel rka, res_kenmerk rk, res_srtkenmerk rsk + where rka.res_rsv_artikel_key=rra.res_rsv_artikel_key + AND rk.res_kenmerk_key=rka.res_kenmerk_key + AND rsk.res_srtkenmerk_key = rk.res_srtkenmerk_key + AND rsk.res_srtkenmerk_upper='MAATWERK OPMERKING') opmerking + FROM res_rsv_artikel rra, + res_artikel ra, + res_discipline rd + WHERE rra.res_rsv_ruimte_key=p_rrr_key + AND rra.res_artikel_key = ra.res_artikel_key + -- AND rra.res_status_bo_key = 2 -- afgemeld + -- AND rra.res_rsv_artikel_verwijder IS NULL + AND ra.res_artikel_btw IN (0, 9, 21) + AND rd.ins_discipline_key=ra.res_discipline_key; v_bestand VARCHAR2(20); v_shop_token VARCHAR2(50); @@ -1794,7 +1811,7 @@ BEGIN pror.add_xml_row (v_bestand, '
'); /* pror.add_xml_row (v_bestand, ''||v_shop_token||''); */ pror.add_xml_row (v_bestand, ''); - pror.add_xml_row (v_bestand, '1'); + pror.add_xml_row (v_bestand, ''); pror.add_xml_row (v_bestand, 'Prorail'); pror.add_xml_row (v_bestand, ''||v_contact_email||''); pror.add_xml_row (v_bestand, ''); @@ -1808,7 +1825,7 @@ BEGIN pror.add_xml_row(v_bestand, ''); pror.add_xml_row(v_bestand, ''); pror.add_xml_element (v_bestand, 'Name', 'PROR'); - pror.add_xml_element (v_bestand, 'ID', '0000'); + pror.add_xml_element (v_bestand, 'ID', '251990'); pror.add_xml_element (v_bestand, 'ExternalID', rec.reservering); pror.add_xml_row(v_bestand, ''); pror.add_xml_element (v_bestand, 'Name', rec.aanvrager); @@ -1844,7 +1861,12 @@ BEGIN IF UPPER(rec_art.catalogus) LIKE 'MAATWERK%' THEN - v_artikelprijs := rec_art.totprijs/rec_art.aantal; + IF rec_art.totprijs IS NOT NULL + THEN + v_artikelprijs := rec_art.totprijs/rec_art.aantal; + ELSE + v_artikelprijs := rec_art.prijs; + END IF; ELSE v_artikelprijs := rec_art.prijs;