HSLE#60343 M2M-koppeling/Aanvrager direct op _Extern

svn path=/Customer/trunk/; revision=45113
This commit is contained in:
Maarten van der Heide
2019-12-04 12:00:27 +00:00
parent c465d35af6
commit 298feb1295

View File

@@ -1343,19 +1343,19 @@ BEGIN
IF (UPPER (pto) = UPPER ('uMdbnym@hsle.facilitor.nl'))
THEN
-- HSLE#33581: Social Media 'Userlike' berichten naar mld_stdmelding_key=191 (stdmelding 'Social Media' onder vakgroep 'Social Media')
-- HSLE#33581: Social Media 'Userlike' berichten laten landen in mld_stdmelding_key=191='Social Media' onder vakgroep 'SD (Social Media)'
defaultstdmelding := '191';
v_mld_meldbron_key := 8; -- Vanaf 2015.3 zijn meldbronnen 8 (Chat) en 9 (Social Media) ook mogelijk
ELSE
IF (UPPER (pto) = UPPER ('TdDpVge@hsle.facilitor.nl'))
THEN
-- HSLE#37091: Mail naar studentzaken@hsleiden.nl automatisch verwerken in FCL tot stdmelding 'Mailmelding' (key=1241) onder de vakgroep 'Studentzaken' (key=98)
-- HSLE#37091: Mail naar studentzaken@hsleiden.nl laten landen in mld_stdmelding_key=1241='Mailmelding' onder vakgroep 'Studentinschrijving'
defaultstdmelding := '1241';
v_mld_meldbron_key := 4;
ELSE
IF (UPPER (pto) = UPPER ('CJXaYlt@hsle.facilitor.nl'))
THEN
-- HSLE#38876: Toevoegen Receptie@hsleiden.nl (vervolg op HSLE#37339)
-- HSLE#38876: Mail naar receptie@hsleiden.nl laten landen in mld_stdmelding_key=1701='Mailmelding' onder vakgroep 'Receptie'
defaultstdmelding := '1701';
v_mld_meldbron_key := 4;
ELSE -- XamdCNd@hsle.facilitor.nl
@@ -1440,8 +1440,7 @@ BEGIN
SELECT COUNT (*)
INTO v_count
FROM prs_v_aanwezigperslid
WHERE ( INSTR (UPPER (v_from), '@STUDENT.HSLEIDEN.NL') > 0
OR INSTR (UPPER (v_from), '@HSLEIDEN.NL') > 0)
WHERE (INSTR (UPPER (v_from), '@STUDENT.HSLEIDEN.NL') > 0 OR INSTR (UPPER (v_from), '@HSLEIDEN.NL') > 0)
AND UPPER (prs_perslid_email) LIKE '%' || UPPER (v_from) || '%';
IF v_count = 1
@@ -1449,25 +1448,31 @@ BEGIN
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_v_aanwezigperslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND UPPER (p.prs_perslid_email) LIKE
'%' || UPPER (v_from) || '%';
ELSE -- Melder kan niet 1-duidig worden bepaald, dan selecteer prs_perslid_key = 15621 = system-user 'SYSTEM API Mail2Melding'!
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND UPPER (p.prs_perslid_email) LIKE '%' || UPPER (v_from) || '%';
ELSIF UPPER (v_from) = 'HRM@HSLEIDEN.NL'
THEN -- HSLE#60343: Igv. e-mails vanuit hrm@hsleiden.nl, dan selecteer prs_perslid_key=15661=_Extern
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_v_aanwezigperslid p, prs_afdeling d
WHERE p.prs_afdeling_key = d.prs_afdeling_key
AND p.prs_perslid_key = 15621;
WHERE p.prs_perslid_key = 15661 -- _Extern
AND p.prs_afdeling_key = d.prs_afdeling_key;
ELSE -- Melder kan niet 1-duidig worden bepaald, dan selecteer prs_perslid_key=15621=SYSTEM API Mail2Melding
SELECT p.prs_perslid_key, d.prs_kostenplaats_key
INTO sender, kostenplaats
FROM prs_v_aanwezigperslid p, prs_afdeling d
WHERE p.prs_perslid_key = 15621 -- SYSTEM API Mail2Melding
AND p.prs_afdeling_key = d.prs_afdeling_key;
END IF;
-- Bepaal kenmerk-key van kenmerksoort 'E-mail' (key 26) op vakgroeptype niveau van vakgroeptype-key 1 die niet verwijderd is
-- Bepaal (aanwezige) kenmerk-key van kenmerksoort 'E-mail' (key=26) op vakgroeptype-niveau bij vakgroeptype-key=1
v_errormsg := 'Fout bepalen kenmerksoort=E-mail';
SELECT MAX (mld_kenmerk_key)
INTO v_mailadres_kenmerk_key
FROM mld_kenmerk
WHERE mld_srtkenmerk_key = 26
AND mld_kenmerk_verwijder IS NULL
WHERE mld_kenmerk_verwijder IS NULL
AND mld_srtkenmerk_key = 26
AND mld_kenmerk_niveau = 'T'
AND mld_stdmelding_key = 1;
@@ -1684,25 +1689,18 @@ BEGIN
RETURNING mld_melding_key
INTO v_mldkey;
-- Vullen van kenmerkwaarde voor "E-mail"
-- Als v_from gevuld en 'E-mail'-kenmerk bestaat, dan registreer v_from (max. 50 tekens) bij de zojuist aangemaakte melding.
IF v_from IS NOT NULL AND v_mailadres_kenmerk_key IS NOT NULL
THEN
-- v_from is gevuld, en kenmerk mailadres bestaat, zet v_from met maximaal 50 tekens als kenmerk bij de zojuist aangemaakte melding.
INSERT INTO mld_kenmerkmelding (mld_melding_key,
mld_kenmerk_key,
mld_kenmerkmelding_waarde)
VALUES (v_mldkey, v_mailadres_kenmerk_key, v_from);
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
VALUES (v_mldkey, v_mailadres_kenmerk_key, v_from);
END IF;
-- HSLE#56362: Vullen van kenmerkwaarde voor "Meldbron" met 2703 = Chat of 2721 = Mail
-- HSLE#56362: Vullen van kenmerkwaarde voor 'Meldbron' met 2703=Chat of 2721=Mail.
IF v_meldbron_kenmerk_key IS NOT NULL
THEN
INSERT INTO mld_kenmerkmelding (mld_melding_key,
mld_kenmerk_key,
mld_kenmerkmelding_waarde)
VALUES (v_mldkey,
v_meldbron_kenmerk_key,
DECODE (v_mld_meldbron_key, 8, 2703, 2721));
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
VALUES (v_mldkey, v_meldbron_kenmerk_key, DECODE (v_mld_meldbron_key, 8, 2703, 2721));
END IF;
mld.setmeldingstatus (v_mldkey, 2, sender);
@@ -1716,49 +1714,32 @@ BEGIN
END;
END IF;
-- find the lowest volgnummer of the flexfield of type folder.
-- Find the lowest volgnummer of the flexfield of type folder.
v_errormsg := 'Fout toevoegen bijlage(n)';
SELECT MIN (mld_kenmerk_key)
SELECT MIN (k1.mld_kenmerk_key)
INTO kkey
FROM mld_kenmerk k,
mld_srtkenmerk sk,
mld_stdmelding std,
ins_tab_discipline d
WHERE sk.mld_srtkenmerk_kenmerktype = 'M'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND std.mld_stdmelding_key = defaultstdmelding
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND ( ( k.mld_stdmelding_key = std.mld_stdmelding_key
AND k.mld_kenmerk_niveau = 'S')
OR ( k.mld_stdmelding_key = d.ins_discipline_key
AND k.mld_kenmerk_niveau = 'D')
OR ( k.mld_stdmelding_key = d.ins_srtdiscipline_key
AND k.mld_kenmerk_niveau = 'T'))
AND k.mld_kenmerk_verwijder IS NULL
FROM mld_stdmelding sm1, ins_tab_discipline td1, mld_kenmerk k1, mld_srtkenmerk sk1
WHERE sm1.mld_stdmelding_key = defaultstdmelding
AND sm1.mld_ins_discipline_key = td1.ins_discipline_key
AND k1.mld_kenmerk_verwijder IS NULL
AND k1.mld_srtkenmerk_key = sk1.mld_srtkenmerk_key
AND sk1.mld_srtkenmerk_kenmerktype = 'M'
AND ((k1.mld_stdmelding_key = sm1.mld_stdmelding_key AND k1.mld_kenmerk_niveau = 'S')
OR (k1.mld_stdmelding_key = td1.ins_discipline_key AND k1.mld_kenmerk_niveau = 'D')
OR (k1.mld_stdmelding_key = td1.ins_srtdiscipline_key AND k1.mld_kenmerk_niveau = 'T'))
AND NOT EXISTS
(SELECT 1
FROM mld_kenmerk k1,
mld_srtkenmerk sk1,
mld_stdmelding std1,
ins_tab_discipline d1
WHERE sk1.mld_srtkenmerk_kenmerktype = 'M'
AND sk1.mld_srtkenmerk_key = k1.mld_srtkenmerk_key
AND std1.mld_stdmelding_key = defaultstdmelding
AND std1.mld_ins_discipline_key =
d1.ins_discipline_key
AND ( ( k1.mld_stdmelding_key =
std1.mld_stdmelding_key
AND k1.mld_kenmerk_niveau = 'S')
OR ( k1.mld_stdmelding_key =
d1.ins_discipline_key
AND k1.mld_kenmerk_niveau = 'D')
OR ( k1.mld_stdmelding_key =
d1.ins_srtdiscipline_key
AND k1.mld_kenmerk_niveau = 'T'))
AND k1.mld_kenmerk_verwijder IS NULL
AND k1.mld_kenmerk_volgnummer <
k.mld_kenmerk_volgnummer);
(SELECT 1
FROM mld_stdmelding sm2, ins_tab_discipline td2, mld_kenmerk k2, mld_srtkenmerk sk2
WHERE sm2.mld_stdmelding_key = defaultstdmelding
AND sm2.mld_ins_discipline_key = td2.ins_discipline_key
AND k2.mld_kenmerk_verwijder IS NULL
AND k2.mld_srtkenmerk_key = sk2.mld_srtkenmerk_key
AND sk2.mld_srtkenmerk_kenmerktype = 'M'
AND ((k2.mld_stdmelding_key = sm2.mld_stdmelding_key AND k2.mld_kenmerk_niveau = 'S')
OR (k2.mld_stdmelding_key = td2.ins_discipline_key AND k2.mld_kenmerk_niveau = 'D')
OR (k2.mld_stdmelding_key = td2.ins_srtdiscipline_key AND k2.mld_kenmerk_niveau = 'T'))
AND k2.mld_kenmerk_volgnummer < k1.mld_kenmerk_volgnummer);
IF kkey IS NOT NULL
THEN
@@ -1768,17 +1749,11 @@ BEGIN
VALUES (
psessionid,
'kenmerkpath',
'MLD\M'
|| TO_CHAR (TRUNC (v_mldkey / 1000), 'FM0000')
|| '___\M'
|| v_mldkey
|| '\'
|| kkey
|| '\');
'MLD\M' || TO_CHAR (TRUNC (v_mldkey / 1000), 'FM0000') || '___\M' || v_mldkey || '\' || kkey || '\');
END IF;
IF v_directafwijzen = 1
THEN -- Direct afgewezen door 15621 = system-user 'SYSTEM API Mail2Melding'!
THEN -- Direct op afgewezen door 15621=SYSTEM API Mail2Melding!
mld.setmeldingstatus (v_mldkey, 1, 15621);
END IF;
EXCEPTION
@@ -1786,17 +1761,8 @@ EXCEPTION
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog ('PROCESSEMAIL',
'W',
'HSLE_processemail afgebroken!',
'[' || COALESCE (v_from, pfrom) || '] ' || v_errormsg);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog ('PROCESSEMAIL', 'W', 'HSLE_processemail afgebroken!', '[' || COALESCE (v_from, pfrom) || '] ' || v_errormsg);
INSERT INTO fac_result (fac_result_sessionid,
fac_result_naam,
@@ -1805,7 +1771,6 @@ EXCEPTION
psessionid,
'errormsg',
'Database fout - Neem contact op met uw systeembeheerder ');
COMMIT;
END;
/
@@ -3812,7 +3777,7 @@ AS
100,
92);
CREATE OR REPLACE VIEW HSLE_V_RAP_MAIL_PP
CREATE OR REPLACE VIEW HSLE_V_RAP_MAIL_PP
(
MAILADRESSEN
)
@@ -3845,20 +3810,15 @@ AS
AND d.ins_deel_key NOT IN (SELECT k.ins_deel_key -- niet topsport of medische indicatie
FROM ins_kenmerkdeel k
WHERE k.ins_kenmerk_key = 261) ) pas;
------ payload end ------
SET DEFINE OFF
BEGIN
adm.systrackscriptId (
'$Id$',
0);
END;
BEGIN adm.systrackscriptId ('$Id$', 0); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile
PROMPT Logfile of this upgrade is: &fcltlogfile