WEHK#57307 -- Processmail en CUST notificaties

svn path=/Customer/trunk/; revision=43136
This commit is contained in:
Robin Stoker
2019-06-27 14:54:06 +00:00
parent 445a515101
commit b155c4ec6d

View File

@@ -1272,6 +1272,97 @@ BEGIN
END;
/
CREATE OR REPLACE PROCEDURE wehk_processemail (pfrom IN VARCHAR2,
pto IN VARCHAR2,
psubject IN VARCHAR2,
pbody IN VARCHAR2,
psessionid IN VARCHAR2,
pemailkey IN NUMBER)
AS
v_sender prs_perslid.prs_perslid_key%TYPE;
v_melding_key mld_melding.mld_melding_key%TYPE;
v_stdmelding_key mld_stdmelding.mld_stdmelding_key%TYPE;
v_mld_kenmerk_key mld_kenmerk.mld_kenmerk_key%TYPE;
v_mld_kenmerkmelding_waarde mld_kenmerkmelding.mld_kenmerkmelding_waarde%TYPE;
errormsg fac_result.fac_result_waarde%TYPE;
subject_regexp fac_setting.fac_setting_default%TYPE;
v_count NUMBER;
v_error NUMBER;
v_errormsg VARCHAR2 (100);
v_from VARCHAR2 (4000);
v_body VARCHAR2 (4000);
BEGIN
errormsg := 'Geen geldige reply';
v_error := 0;
v_errormsg := '';
-- Check of dit een reply is op CUST07 waar de sender coversheet@wehk.facilitor.nl is.
CASE
WHEN UPPER (pto) LIKE '%COVERSHEET@%'
THEN
errormsg := 'Geen coversheet email gevonden.';
v_body := pbody;
errormsg := 'Geen geldige reply gevonden, dit moet JA of NEE zijn.';
subject_regexp := '[[:digit:]]{1,}';
v_melding_key := REGEXP_SUBSTR (psubject,
subject_regexp,
1,
1,
'i');
SELECT mld_stdmelding_key
INTO v_stdmelding_key
FROM mld_melding
WHERE mld_melding_key = v_melding_key;
SELECT mld_kenmerk_key
INTO v_mld_kenmerk_key
FROM mld_kenmerk
WHERE mld_stdmelding_key = v_stdmelding_key
AND mld_srtkenmerk_key IN (1831, 1832, 1833, 1834, 1835);
CASE WHEN UPPER (v_body) LIKE 'JA%'
THEN
v_mld_kenmerkmelding_waarde := 41;
WHEN UPPER (v_body) LIKE 'NEE%'
THEN
v_mld_kenmerkmelding_waarde := 42;
END CASE;
INSERT INTO mld_kenmerkmelding
(mld_melding_key,
mld_kenmerk_key,
mld_kenmerkmelding_waarde)
VALUES (v_melding_key,
v_mld_kenmerk_key, -- email
v_mld_kenmerkmelding_waarde)
RETURNING mld_melding_key
INTO v_melding_key;
UPDATE mld_melding
SET mld_melding_status = 5
WHERE mld_melding_key = v_melding_key;
errormsg := '(0x165)';
mld.setmeldingstatus (v_melding_key, 2, v_sender);
END CASE;
EXCEPTION
WHEN OTHERS
THEN
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
VALUES (psessionid,
'maillog',
'Database fout - Neem contact op met uw systeembeheerder ' || errormsg);
fac.writelog ('PROCESSEMAIL',
'E',
'Mail kon niet ingelezen worden afzender:' || pfrom || '[' || errormsg || ']',
'OTHERS (error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100) || ')');
END;
/
/* Formatted on 2008/07/31 14:25 (Formatter Plus v4.8.7) */
CREATE OR REPLACE VIEW wehk_v_rap_ruimteoverzicht (fclt_f_locatie,
fclt_f_gebouw,
@@ -3591,11 +3682,28 @@ AS
NULL,
'contracten@wehkamp.nl',
NULL
FROM mld_melding m
FROM mld_melding m,
fac_tracking t
WHERE m.mld_stdmelding_key = 1641
AND m.mld_melding_status = 2;
AND m.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key =
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'MLDNEW')
AND t.fac_tracking_datum BETWEEN (SELECT fac_notificatie_job_nextrun
- fac_notificatie_job_interval
/ 24
FROM fac_notificatie_job
WHERE fac_notificatie_job_view =
'WEHK_V_NOTI_OPVOERENCONTRACT')
AND (SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE fac_notificatie_job_view =
'WEHK_V_NOTI_OPVOERENCONTRACT');
-- Melding naar de in de coversheet melding geselecteerde goedkeurder.
-- Flag 8 instellen voor XSENDER!
CREATE OR REPLACE VIEW WEHK_V_NOTI_GOEDKEURDER
(
CODE,
@@ -3604,6 +3712,7 @@ CREATE OR REPLACE VIEW WEHK_V_NOTI_GOEDKEURDER
TEXT,
KEY,
XKEY,
XSENDER,
XEMAIL,
XMOBILE
)
@@ -3611,20 +3720,34 @@ AS
SELECT 'CUST07',
NULL,
mkm.mld_kenmerkmelding_waarde,
( 'Er staat een coversheet voor u klaar ter goedkeuring ('
'Er staat een coversheet voor u klaar ter goedkeuring ('
|| 'i /'
|| m.mld_melding_key)
|| m.mld_melding_key
|| ')',
m.mld_melding_key,
NULL,
'coversheet@wehk.facilitor.nl',
NULL,
NULL
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk, fac_tracking t
WHERE m.mld_stdmelding_key IN (1621, 1622, 1623, 1624, 1625) -- een van de goedkeuringsmeldingen
AND m.mld_melding_status IN (2, 3) -- nieuwe en te accepteren
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND mkm.mld_melding_key = m.mld_melding_key
AND mk.mld_srtkenmerk_key = 1847;
AND mk.mld_srtkenmerk_key = 1847
AND t.fac_srtnotificatie_key =
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'MLDNEW')
AND t.fac_tracking_datum BETWEEN (SELECT fac_notificatie_job_nextrun
- fac_notificatie_job_interval
/ 24
FROM fac_notificatie_job
WHERE fac_notificatie_job_view =
'WEHK_V_NOTI_GOEDKEURDER')
AND (SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE fac_notificatie_job_view =
'WEHK_V_NOTI_GOEDKEURDER');
------ payload end ------