YKPN#84338 -- Evenementmanagement - Mail to reservering aanpassing notificatie en extra kenmerken
svn path=/Customer/trunk/; revision=70236
This commit is contained in:
148
YKPN/ykpn.sql
148
YKPN/ykpn.sql
@@ -140,6 +140,7 @@ END;
|
||||
CREATE OR REPLACE PACKAGE BODY YKPN
|
||||
AS
|
||||
|
||||
|
||||
PROCEDURE mail_evenementaanvraag(pfrom IN VARCHAR2,
|
||||
pto IN VARCHAR2,
|
||||
psubject IN VARCHAR2,
|
||||
@@ -185,6 +186,9 @@ AS
|
||||
v_starttijd_label VARCHAR2 (1000);
|
||||
v_eindtijd_label VARCHAR2 (1000);
|
||||
v_genodigden_label VARCHAR2 (1000);
|
||||
v_locatie_label VARCHAR2 (1000);
|
||||
v_catering_label VARCHAR2 (1000);
|
||||
v_bhv_label VARCHAR2 (1000);
|
||||
|
||||
|
||||
v_stdmelding_key NUMBER;
|
||||
@@ -195,8 +199,10 @@ AS
|
||||
v_rrr_key NUMBER;
|
||||
v_reservering_key NUMBER;
|
||||
|
||||
v_message VARCHAR2(250);
|
||||
v_reservering_nr VARCHAR2(200);
|
||||
v_aanvrager_email prs_perslid.prs_perslid_email%TYPE;
|
||||
v_aanvrager VARCHAR2(100);
|
||||
v_onderwerp mld_melding.mld_melding_onderwerp%type;
|
||||
v_omschrijving VARCHAR2(4000);
|
||||
v_alg_gebouw_key alg_gebouw.alg_gebouw_key%TYPE;
|
||||
@@ -204,6 +210,10 @@ AS
|
||||
v_starttijd VARCHAR2(4000);
|
||||
v_eindtijd VARCHAR2(4000);
|
||||
v_genodigden VARCHAR2(4000);
|
||||
v_locatie VARCHAR2(4000);
|
||||
v_catering VARCHAR2(4000);
|
||||
v_cateraar_email VARCHAR2(200);
|
||||
v_bhv VARCHAR2(4000);
|
||||
v_stdmelding_uvt mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE
|
||||
:= MLD_T_UITVOERTIJD (NULL, NULL); -- constructor initialisatie
|
||||
|
||||
@@ -257,37 +267,47 @@ AS
|
||||
v_error:=0;
|
||||
|
||||
|
||||
v_reserveringnr_label:= 'Reserveringsnummer:';
|
||||
|
||||
v_reserveringnr_label:='Reserveringsnummer:';
|
||||
v_omschrijving_label:='Geef een omschrijving van het evenement:';
|
||||
v_aanvrager_label:='Wie is de opdrachtgever?';
|
||||
v_onderwerp_label:='Wat is de naam van het evenement?';
|
||||
v_datum_label:='Datum evenement';
|
||||
v_starttijd_label:='Begintijd';
|
||||
v_eindtijd_label:='Eindtijd';
|
||||
|
||||
v_datum_label:='Wanneer vindt het evenement plaats?';
|
||||
v_starttijd_label:='Wat is de beoogde aanvangstijd?';
|
||||
v_eindtijd_label:='Wat is de beoogde eindtijd?';
|
||||
v_locatie_label := 'Om welke KPN locatie gaat het?';
|
||||
v_catering_label:='Heb je catering nodig bij jouw evenement?';
|
||||
|
||||
|
||||
DELETE imp_log WHERE imp_log_applicatie = 'MAIL_EVENEMENTAANVRAAG'; -- AND imp_log_datum < SYSDATE - 14;
|
||||
|
||||
-- De bais velden inlezen
|
||||
v_errorhint := 'Opzoeken velden in de mail';
|
||||
v_reserveringnr_label:='Reserveringsnummer:';
|
||||
|
||||
v_reservering_nr := findstr(pbody, v_reserveringnr_label,CHR(10));
|
||||
|
||||
v_aanvrager_email := findstr(pbody, v_aanvrager_label|| CHR(10),CHR(10));
|
||||
v_onderwerp := findstr(pbody, v_onderwerp_label|| CHR(10),CHR(10));
|
||||
v_omschrijving := findstr(pbody, v_omschrijving_label|| CHR(10),CHR(10));
|
||||
|
||||
v_locatie := findstr(pbody, v_locatie_label|| CHR(10),CHR(10));
|
||||
v_catering := findstr(pbody, v_catering_label|| CHR(10),CHR(10));
|
||||
v_datum := findstr(pbody, v_datum_label|| CHR(10),CHR(10));
|
||||
v_starttijd :=findstr(pbody, v_starttijd_label|| CHR(10),CHR(10));
|
||||
v_eindtijd := findstr(pbody, v_eindtijd_label|| CHR(10),CHR(10));
|
||||
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_reservering_nr='||v_reservering_nr ,'');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_aanvrager_email='||v_aanvrager_email, '');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_onderwerp='||v_onderwerp ,'');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_omschrijving='||v_omschrijving, '');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_aanvrager_email='||v_aanvrager_email, '');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_onderwerp='||v_onderwerp ,'');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_omschrijving='||v_omschrijving, '');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_locatie_key='||v_locatie_key ,'');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_onrgoed_key='||v_onrgoed_key ,'');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_rrr_key='||v_rrr_key ,'');
|
||||
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'catering ='||v_catering ,'');
|
||||
|
||||
v_errormsg:='Ophalen aanvrager mislukt';
|
||||
BEGIN
|
||||
SELECT prs_perslid_key
|
||||
INTO v_perslid_key
|
||||
SELECT prs_perslid_key ,prs_perslid_voornaam||' '||prs_perslid_naam
|
||||
INTO v_perslid_key , v_aanvrager
|
||||
FROM prs_perslid
|
||||
WHERE UPPER(prs_perslid_email) = UPPER(v_aanvrager_email)
|
||||
AND prs_perslid_verwijder IS NULL
|
||||
@@ -295,9 +315,11 @@ AS
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_perslid_key:=3;
|
||||
END;
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_perslid_key='||v_perslid_key ,'');
|
||||
v_aanvrager:=NULL;
|
||||
END;
|
||||
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_perslid_key='||v_perslid_key ,'');
|
||||
v_errormsg:='Ophalen reservering mislukt';
|
||||
IF LENGTH(v_reservering_nr)>1
|
||||
THEN
|
||||
BEGIN
|
||||
@@ -331,19 +353,46 @@ AS
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_errormsg:='De reservering Nr is niet gevonden';
|
||||
v_onrgoed_key:=-1;
|
||||
v_locatie_key:=-1;
|
||||
v_reservering_key:=-1;
|
||||
v_rrr_key:=NULL;
|
||||
v_error:=1;
|
||||
END;
|
||||
END IF;
|
||||
|
||||
IF (v_onrgoed_key>0 AND v_locatie>0)
|
||||
THEN
|
||||
v_errormsg:='De gebouw omschrijving niet gevonden';
|
||||
|
||||
BEGIN
|
||||
SELECT MIN (alg_onrgoed_key) alg_gebouw_key,
|
||||
alg_locatie_key
|
||||
INTO v_onrgoed_key,
|
||||
v_locatie_key
|
||||
FROM ALG_ONRGOEDKENMERK aok, alg_kenmerk ak,
|
||||
ALG_V_ONROERENDGOED_GEGEVENS a
|
||||
WHERE ak.ALG_KENMERK_CODE = 'GEBOUW_CODE_EVENTS'
|
||||
AND aok.ALG_KENMERK_KEY = ak.ALG_KENMERK_KEY
|
||||
AND aok.ALG_ONRGOED_NIVEAU = 'G'
|
||||
AND UPPER (aok.ALG_ONRGOEDKENMERK_WAARDE) =
|
||||
UPPER (v_locatie)
|
||||
AND aok.ALG_ONRGOEDKENMERK_VERWIJDER IS NULL
|
||||
AND a.ALG_GEBOUW_KEY=alg_onrgoed_key
|
||||
GROUP BY a.alg_locatie_key;
|
||||
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_onrgoed_key:=30721; -- default naar gebou landelijk
|
||||
v_locatie_key:=841; -- default locatie landelijk
|
||||
END;
|
||||
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_locatie_key='||v_locatie_key ,'');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_onrgoed_key='||v_onrgoed_key ,'');
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'v_rrr_key='||v_rrr_key ,'');
|
||||
ELSE
|
||||
v_errormsg:='De reservering Nr niet in de email gevonden';
|
||||
v_error:=1;
|
||||
END IF;
|
||||
|
||||
|
||||
IF v_error=0 THEN
|
||||
|
||||
v_errormsg:='Toevoegen melding mislukt';
|
||||
INSERT INTO mld_melding (mld_melding_module,
|
||||
mld_meldbron_key,
|
||||
mld_alg_locatie_key,
|
||||
@@ -375,7 +424,7 @@ AS
|
||||
NULL,
|
||||
3, -- prio normaal
|
||||
0,
|
||||
v_rrr_key)
|
||||
DECODE(v_rrr_key,-1,NULL,v_rrr_key))
|
||||
RETURNING mld_melding_key
|
||||
INTO v_melding_key;
|
||||
|
||||
@@ -385,7 +434,11 @@ AS
|
||||
|
||||
-- Gaan we de reservereing updaten met de melding_key
|
||||
v_errormsg := 'Fout bij updte reservering';
|
||||
UPDATE res_reservering set mld_melding_key=v_melding_key WHERE res_reservering_key=v_reservering_key;
|
||||
IF v_reservering_key>0
|
||||
THEN
|
||||
UPDATE res_reservering set mld_melding_key=v_melding_key WHERE res_reservering_key=v_reservering_key;
|
||||
|
||||
END IF;
|
||||
-- Mail in de notitie
|
||||
v_errormsg := 'Fout bij toevoegen melding notitie';
|
||||
INSERT INTO mld_melding_note(mld_melding_key,
|
||||
@@ -408,13 +461,56 @@ AS
|
||||
v_errormsg := 'Fout bij toevoegen toevoegen kenmerk '||rec.Tekstlabel;
|
||||
v_kenmerk_key := getKenmerkKey(rec.Tekstlabel, v_stdmelding_key);
|
||||
IF LENGTH(v_value)>0 AND v_kenmerk_key>0 THEN
|
||||
mld.upsertmeldingkenmerk(v_kenmerk_key, v_melding_key, v_value);
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', rec.Tekstlabel||'-'||v_value||'('||v_kenmerk_key||')', '');
|
||||
mld.upsertmeldingkenmerk(v_kenmerk_key, v_melding_key, v_value);
|
||||
|
||||
|
||||
END IF;
|
||||
|
||||
END LOOP;
|
||||
|
||||
v_errormsg := 'Fout bij toevoegen notificatie';
|
||||
IF INSTR(UPPER(v_catering),'JA')>0
|
||||
THEN
|
||||
BEGIN
|
||||
-- Notificatie naar de cateraar versturen
|
||||
SELECT aok.alg_onrgoedkenmerk_waarde
|
||||
INTO v_cateraar_email
|
||||
FROM alg_onrgoedkenmerk aok, alg_kenmerk ak
|
||||
WHERE ak.alg_kenmerk_key = 1063 -- Email adres cateraar
|
||||
AND aok.alg_kenmerk_key = ak.alg_kenmerk_key
|
||||
AND aok.alg_onrgoed_niveau = 'G'
|
||||
AND aok.alg_onrgoed_key =v_locatie_key
|
||||
AND aok.alg_onrgoedkenmerk_verwijder IS NULL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_cateraar_email:='fallback@cirfood.nl';
|
||||
END;
|
||||
|
||||
FAC.trackaction ('CUST26', v_melding_key, NULL, NULL, '#Mail naar cateraar gestuurd naar: ' || v_cateraar_email);
|
||||
|
||||
v_message:='Op '||v_datum||' heeft aanvrager '||v_aanvrager||' een event van '||v_starttijd||' tot '||v_eindtijd||'. Hiervoor heeft aanvrager catering nodig. Graag contact opnemen met '||v_aanvrager_email;
|
||||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||
fac_notificatie_status,
|
||||
fac_notificatie_receiver_email,
|
||||
prs_perslid_key_receiver,
|
||||
fac_notificatie_oms,
|
||||
fac_notificatie_refkey,
|
||||
fac_notificatie_extrakey,
|
||||
fac_notificatie_prioriteit)
|
||||
VALUES (901, -- CUST26
|
||||
2, -- mail
|
||||
v_cateraar_email, -- email
|
||||
null,
|
||||
v_message,
|
||||
v_melding_key,
|
||||
NULL,
|
||||
2);
|
||||
fac.writelog('MAIL_EVENEMENTAANVRAAG', 'I', 'Notificatie naar cateraar'|| v_cateraar_email, '');
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
-- Starten we nu de workflow
|
||||
MLD.mld_nextworkflowstep (v_melding_key, -1);
|
||||
@@ -3139,7 +3235,7 @@ AS
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
-- EINDE BODY
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user