HSLE#60343 M2M-koppeling/Aanvrager direct op _Extern
svn path=/Customer/trunk/; revision=45113
This commit is contained in:
150
HSLE/hsle.sql
150
HSLE/hsle.sql
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user