diff --git a/PZEE/PZEE.sql b/PZEE/PZEE.sql index 0a8bf4ece..f81648cfb 100644 --- a/PZEE/PZEE.sql +++ b/PZEE/PZEE.sql @@ -1172,7 +1172,6 @@ AS ORDER BY res_rsv_ruimte_key; --- catering artikelen die besteld mogen worden conform de gestelde catalogus instellingen - CREATE OR REPLACE VIEW PZEE_V_RAP_CATERING_RGL AS SELECT b.prs_bedrijf_key || rar.res_rsv_ruimte_key extra_key, @@ -1191,6 +1190,7 @@ AS cat.ins_discipline_omschrijving, cat_s.res_disc_params_expire_dagen, cat_s.res_disc_params_expire_tijd, + rar.res_rsv_artikel_externsyncdate, t1.t1, TRUNC (fac.datumtijdplusuitvoertijd ( SYSDATE, @@ -1220,11 +1220,9 @@ AS AND rar.res_rsv_artikel_verwijder IS NULL AND cat_s.res_ins_discipline_key = cat.ins_discipline_key AND cat_s.prs_bedrijf_key = b.prs_bedrijf_key - AND ba.prs_bedrijf_key = b.prs_bedrijf_key - AND rar.res_rsv_artikel_externsyncdate IS NULL; + AND ba.prs_bedrijf_key = b.prs_bedrijf_key; -- combinatie van reservering en bestelregels - CREATE OR REPLACE VIEW PZEE_V_RAP_CATERING_ALL AS SELECT CASE @@ -1310,7 +1308,7 @@ AS END leverdag, --- zondag is dag 1 van de week cr.res_rsv_artikel_levering artikel_levering, TO_CHAR (cr.res_rsv_artikel_levering, 'dd-mm-yyyy') leverdatum, - TO_CHAR (cr.res_rsv_artikel_levering, 'hh:mi') levertijd + TO_CHAR (cr.res_rsv_artikel_levering, 'hh24:mi') levertijd FROM pzee_v_rap_catering c, pzee_v_rap_catering_rgl cr WHERE c.res_rsv_ruimte_key = cr.res_rsv_ruimte_key; @@ -1318,6 +1316,7 @@ AS CREATE OR REPLACE VIEW PZEE_V_RAP_NOTI_LEVERANCIER AS SELECT c.res_rsv_ruimte_key, + c.res_reservering_key, c.reservering, c.oms omschrijving, c.ruimte_catalogus_key, @@ -1384,7 +1383,8 @@ AS FROM pzee_v_rap_catering c, pzee_v_rap_catering_rgl cr WHERE TRUNC (cr.bestelling_voor) = TRUNC (cr.res_rsv_artikel_levering) - AND c.res_rsv_ruimte_key = cr.res_rsv_ruimte_key; + AND c.res_rsv_ruimte_key = cr.res_rsv_ruimte_key + AND cr.res_rsv_artikel_externsyncdate IS NULL; --- SELECT sender, receiver, text, code, key, xkey, xsender, xemail, xmobile CREATE OR REPLACE VIEW PZEE_V_NOTI_BAKKERBEST @@ -1478,16 +1478,34 @@ CREATE OR REPLACE VIEW PZEE_V_MENTIMETER_ACC INS_DEEL_VERWIJDER ) AS - SELECT d.ins_deel_key, kd.ins_kenmerkdeel_waarde, d.ins_deel_verwijder - FROM ins_deel d, - ins_srtdeel sd, - ins_kenmerkdeel kd, - ins_kenmerk k + SELECT d.ins_deel_key, + d.ins_deel_omschrijving + || ' (' + || srt_a.fac_usrdata_omschr + || ') ' + || a.ins_kenmerkdeel_waarde accountnaam, + d.ins_deel_verwijder + FROM ins_deel d, + ins_srtdeel sd, + (SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde + FROM ins_kenmerkdeel kd, ins_kenmerk k + WHERE k.ins_kenmerk_key = kd.ins_kenmerk_key + AND k.ins_kenmerk_key = 151) a, + (SELECT kd.ins_deel_key, ud.fac_usrdata_omschr + FROM ins_kenmerkdeel kd, + ins_kenmerk k, + ins_srtkenmerk sk, + fac_usrdata ud + WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key + AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key + AND sk.ins_srtkenmerk_key = 87 + AND ud.fac_usrdata_key = + fac.safe_to_number (kd.ins_kenmerkdeel_waarde) + AND ud.fac_usrtab_key = 441) srt_a WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key - AND kd.ins_deel_key = d.ins_deel_key - AND k.ins_kenmerk_key = kd.ins_kenmerk_key - AND k.ins_kenmerk_key = 151 - AND sd.ins_srtdeel_key = 183; + AND sd.ins_srtdeel_key = 183 + AND a.ins_deel_key = d.ins_deel_key + AND srt_a.ins_deel_key = d.ins_deel_key; --- notificatie naar representatie wanneer er een wijziging is in een reserving van een representatieve ruimte --- die in behandeling is door representatie @@ -1511,7 +1529,7 @@ AS || '/' || r.res_rsv_ruimte_volgnr tekst, sn.fac_srtnotificatie_code code, - r.res_rsv_ruimte_key key, + r.res_reservering_key key, NULL xkey, NULL xsender, 'representatie@zeeland.nl;abkramer@zeeland.nl' xemail, @@ -1550,6 +1568,212 @@ AS FROM prs_perslid ton WHERE ton.prs_perslid_key = 1225 AND ton.prs_perslid_key = p.prs_perslid_key); + +CREATE OR REPLACE PROCEDURE pzee_select_catering_bes ( + p_applname IN VARCHAR2, + p_applrun IN VARCHAR2) +AS + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); + v_errorhint VARCHAR2 (100); + v_aanduiding VARCHAR2 (100); + + CURSOR BAKKER IS + SELECT DISTINCT b.reservering, + b.res_rsv_ruimte_key, + 3 sender, -- Facilitor + 'Bestelling ' + || b.reservering + || ' voor ' + || leverdatum text, + sn.fac_srtnotificatie_code, + sn.fac_srtnotificatie_key, + (SELECT fac_usrrap_key + FROM fac_usrrap + WHERE UPPER (fac_usrrap_omschrijving) = + 'RES: TE BESTELLEN CATERING' + AND UPPER (fac_usrrap_view_name) = + 'PZEE_V_RAP_NOTI_LEVERANCIER') ---- refkey: is het rapport + key, + b.extra_key xkey, + b.mailadres xemail + FROM fac_srtnotificatie sn, + fac_tracking t, + pzee_v_rap_noti_leverancier b + WHERE sn.fac_srtnotificatie_code = 'CUST01' + AND b.bedrijfs_key = 1842; + + CURSOR SEC IS + SELECT DISTINCT b.reservering, + b.res_rsv_ruimte_key, + 3 sender, -- Facilitor + 'Bestelling ' + || b.reservering + || ' voor ' + || leverdatum text, + sn.fac_srtnotificatie_code, + sn.fac_srtnotificatie_key, + (SELECT fac_usrrap_key + FROM fac_usrrap + WHERE UPPER (fac_usrrap_omschrijving) = + 'RES: TE BESTELLEN CATERING' + AND UPPER (fac_usrrap_view_name) = + 'PZEE_V_RAP_NOTI_LEVERANCIER') ---- refkey: is het rapport + key, + b.extra_key xkey, + b.mailadres xemail + FROM fac_srtnotificatie sn, + fac_tracking t, + pzee_v_rap_noti_leverancier b + WHERE sn.fac_srtnotificatie_code = 'CUST01' + AND b.bedrijfs_key = 1841; + + CURSOR BES_RGL IS + SELECT res_rsv_artikel_key, + cr.bedrijfs_key, + cr.leverancier, + cr.mailadres, + cr.res_artikel_omschrijving + artikel, + cr.res_rsv_artikel_aantal + aantal, + cr.res_rsv_artikel_levering + artikel_levering, + TO_CHAR (cr.res_rsv_artikel_levering, 'hh24:mi') + levertijd, + TO_CHAR (cr.res_rsv_artikel_levering, 'dd-mm-yyyy') + leverdatum, + TO_CHAR (cr.res_rsv_artikel_levering, 'd') + leverdag --- zondag is dag 1 van de week + FROM pzee_v_rap_catering_rgl cr + WHERE TRUNC (cr.bestelling_voor) = TRUNC (cr.res_rsv_artikel_levering) + AND cr.res_rsv_artikel_externsyncdate IS NULL; + +BEGIN + v_errorhint := 'init'; + + DELETE imp_log + WHERE imp_log_applicatie = p_applname; + + + FOR rec IN BAKKER + LOOP + BEGIN + INSERT INTO fac_notificatie (fac_srtnotificatie_key, + fac_notificatie_status, + fac_notificatie_receiver_email, + fac_notificatie_oms, + fac_notificatie_refkey, + fac_notificatie_extrakey, + prs_perslid_key_sender, + fac_notificatie_prioriteit, + fac_notificatie_lang) + VALUES (rec.fac_srtnotificatie_key, + 2, + rec.xemail, + rec.text, + rec.key, -- rapport key + rec.xkey, -- bedrijfskey + 3, + 2, + 'NL'); + + fac.trackaction ( + 'RESTRK', + rec.res_rsv_ruimte_key, + NULL, + NULL, + 'Bakkersbestelling verstuurd naar: ' || rec.xemail); + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 100); + fac.writelog ( + p_applname, + 'E', + 'Error ' + || v_aanduiding + || oracle_err_num + || '/' + || oracle_err_mes, + v_errorhint); + END; + END LOOP; + + FOR rec IN SEC + LOOP + BEGIN + INSERT INTO fac_notificatie (fac_srtnotificatie_key, + fac_notificatie_status, + fac_notificatie_receiver_email, + fac_notificatie_oms, + fac_notificatie_refkey, + fac_notificatie_extrakey, + prs_perslid_key_sender, + fac_notificatie_prioriteit, + fac_notificatie_lang) + VALUES (rec.fac_srtnotificatie_key, + 2, + rec.xemail, + rec.text, + rec.key, -- rapport key + rec.xkey, -- bedrijfskey + 3, + 2, + 'NL'); + + fac.trackaction ('RESTRK', + rec.res_rsv_ruimte_key, + NULL, + NULL, + 'SEC bestelling verstuurd naar: ' || rec.xemail); + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 100); + fac.writelog ( + p_applname, + 'E', + 'Error ' + || v_aanduiding + || oracle_err_num + || '/' + || oracle_err_mes, + v_errorhint); + END; + END LOOP; + + FOR rec IN BES_RGL + LOOP + BEGIN + UPDATE res_rsv_artikel ra + SET ra.res_rsv_artikel_externsyncdate = SYSDATE + WHERE ra.res_rsv_artikel_key = rec.res_rsv_artikel_key; + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 100); + fac.writelog ( + p_applname, + 'E', + 'Error ' || oracle_err_num || '/' || oracle_err_mes, + v_errorhint); + END; + END LOOP; +EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 100); + fac.writelog (p_applname, + 'E', + 'Error ' || oracle_err_num || '/' || oracle_err_mes, + v_errorhint); +END; +/ ------ payload end ------