FSN#33503 Multi-email safer

svn path=/Customer/trunk/; revision=26777
This commit is contained in:
Jos Groot Lipman
2015-10-27 11:09:37 +00:00
parent 171fc5d334
commit d708b839ce
5 changed files with 109 additions and 106 deletions

View File

@@ -488,7 +488,7 @@ END;
-- stuur mail notificatie naar alternatief emailadres dat bij de melding staat. srtkenmerk_key = 1
-- en stuur mail naar de BB-er die via een CSU locatie waar hij/zij een werkplek heeft onder hetzelfde
-- district als de locatie waar de melding op is ingevoerd. Uitzondering is het pand Gustav Mahlerlaan 10
-- district als de locatie waar de melding op is ingevoerd. Uitzondering is het pand Gustav Mahlerlaan 10
-- in A'dam (hoofdgebouw ABN key = 6218) deze heeft een vast emailadres.
CREATE OR REPLACE PROCEDURE csun_export_mailnoti (
p_applname IN VARCHAR2,
@@ -616,7 +616,8 @@ CREATE OR REPLACE PROCEDURE csun_processemail (pfrom IN VARCHAR2,
pto IN VARCHAR2,
psubject IN VARCHAR2,
pbody IN VARCHAR2,
pextra IN VARCHAR2)
psessionid IN VARCHAR2,
puserkey IN NUMBER DEFAULT NULL)
AS
sender prs_perslid.prs_perslid_key%TYPE;
kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE;
@@ -994,7 +995,7 @@ BEGIN
INSERT INTO fac_result (fac_result_sessionid,
fac_result_naam,
fac_result_waarde)
VALUES ('hMailServer',
VALUES (psessionid,
'kenmerkpath',
'MLD\M'
|| TO_CHAR (TRUNC (mldkey / 1000), 'FM0000')
@@ -1011,7 +1012,7 @@ BEGIN
INSERT INTO fac_result (fac_result_sessionid,
fac_result_naam,
fac_result_waarde)
VALUES ('hMailServer',
VALUES (psessionid,
'errormsg',
'Database fout - Neem contact op met uw systeembeheerder '
|| errormsg);
@@ -1023,7 +1024,7 @@ EXCEPTION
INSERT INTO fac_result (fac_result_sessionid,
fac_result_naam,
fac_result_waarde)
VALUES ('hMailServer',
VALUES (psessionid,
'errormsg',
'Database fout - Neem contact op met uw systeembeheerder '
|| errormsg);
@@ -1293,7 +1294,7 @@ AS
AND fac.safe_to_number (alg_onrgoedkenmerk_waarde) =
pf.prs_perslid_key)
bud,
(SELECT max(prs_perslid_naam_full) || DECODE (count(p.prs_perslid_key), 1, '', '*')
(SELECT max(prs_perslid_naam_full) || DECODE (count(p.prs_perslid_key), 1, '', '*')
FROM prs_v_perslid_fullnames pf,
prs_perslid p,
alg_locatie l2,
@@ -1538,7 +1539,7 @@ AS
BEGIN
v_error_hint := 'Verwijderen oude records';
-- Eerst opruiming
DELETE
DELETE
FROM imp_log l
WHERE EXISTS
(SELECT i.fac_import_key
@@ -1607,14 +1608,14 @@ BEGIN
END IF;
ELSE
-- Insert geformatteerde import record
IF v_error = 0
IF v_error = 0
THEN
v_error_hint :=
'Fout bij toevoegen te impoteren locatie ['
|| v_locatie_code
|| ']';
INSERT INTO csun_imp_project (accountcode,
accountnaam,
project,
@@ -1701,7 +1702,7 @@ IS
v_ongeldig NUMBER (1);
v_count_update NUMBER (10);
v_count_tot NUMBER (10);
-- De importvelden:
v_locatie_key NUMBER (10);
v_bud_key NUMBER (10);
@@ -1710,14 +1711,14 @@ IS
v_locatie_code VARCHAR2 (10);
CURSOR c_account
IS
IS
SELECT distinct accountcode, accountnaam
FROM csun_imp_project
WHERE COALESCE(UPPER(vervallen), 'N') <> 'J';
CURSOR c_district (c_accountcode IN VARCHAR2)
IS
SELECT distinct dm, voornaam, voorletters, tussenvoegsels, achternaam
SELECT distinct dm, voornaam, voorletters, tussenvoegsels, achternaam
FROM csun_imp_project
WHERE accountcode = c_accountcode
AND COALESCE(UPPER(vervallen), 'N') <> 'J';
@@ -1730,7 +1731,7 @@ IS
AND COALESCE(UPPER(vervallen), 'N') <> 'J';
CURSOR c_verv (c_accountcode IN VARCHAR2)
IS
IS
SELECT alg_locatie_key, fac_usrdata_code
FROM alg_locatie l,
alg_onrgoedkenmerk aogka,
@@ -1753,7 +1754,7 @@ IS
WHERE aogkv.alg_kenmerk_key = 1160 -- vervaldatum
AND l.alg_locatie_key = aogkv.alg_onrgoed_key);
CURSOR c_del
CURSOR c_del
IS
SELECT alg_locatie_key, alg_locatie_code
FROM alg_locatie l, alg_onrgoedkenmerk aogk
@@ -1771,9 +1772,9 @@ IS
FROM alg_onrgoedkenmerk
WHERE alg_kenmerk_key = p_kenmerk_key
AND alg_onrgoed_key = p_onrgoed_key;
RETURN v_waarde;
EXCEPTION WHEN NO_DATA_FOUND
THEN
RETURN NULL;
@@ -1806,7 +1807,7 @@ BEGIN
LOOP
BEGIN
v_error_hint := 'Ophalen data voor dm: ' || rec_d.dm || ' Naam:' || rec_d.achternaam;
BEGIN
SELECT alg_onrgoed_key
INTO v_district_key
@@ -1821,16 +1822,16 @@ BEGIN
AND aog.alg_onrgoed_key = d.alg_district_key
AND d.alg_district_verwijder IS NULL
AND aog.alg_onrgoedkenmerk_verwijder IS NULL;
EXCEPTION WHEN NO_DATA_FOUND THEN
fac.imp_writelog (
p_import_key,
'E',
'Import locaties afgebroken, distrinctmanager niet gevonden ( district mngr:' || rec_d.dm || '(' || rec_d.voorletters || ' ' || rec_d.tussenvoegsels || ' ' || rec_d.achternaam || ')' || '- account:' || rec_a.accountcode || '-' || rec_a.accountnaam || ')',
v_error_hint);
v_error_hint);
END;
IF v_district_key IS NOT NULL THEN
IF v_district_key IS NOT NULL THEN
FOR rec IN c(rec_a.accountcode, rec_d.dm)
LOOP
BEGIN
@@ -1838,7 +1839,7 @@ BEGIN
-- Get BUD reference
v_error_hint := 'Bepalen bb referentie: ' || rec.dm;
v_bud_key := get_alg_kenmerk (1060, v_district_key);
BEGIN
v_error_hint := 'Kijk of de locatie al bestaat: ' || rec.project;
SELECT alg_onrgoed_key
@@ -1848,21 +1849,21 @@ BEGIN
AND alg_onrgoedkenmerk_waarde = rec.project
AND alg_onrgoed_key = alg_locatie_key
AND alg_locatie_verwijder IS NULL;
EXCEPTION WHEN NO_DATA_FOUND
EXCEPTION WHEN NO_DATA_FOUND
THEN
-- Kijk of de locatieomschrijving al voorkomt. Als dat het geval is mogen we de
-- Kijk of de locatieomschrijving al voorkomt. Als dat het geval is mogen we de
-- nieuwe locatie niet aanmaken.
SELECT count(*)
SELECT count(*)
INTO v_count
FROM alg_locatie
WHERE alg_locatie_upper = UPPER(SUBSTR(rec.omschrijving,1,50))
AND alg_locatie_verwijder IS NULL;
IF v_count = 0 THEN
IF rec.code IS NULL THEN
v_locatie_code := rec.project;
ELSE
ELSE
v_locatie_code := rec.code;
END IF;
INSERT INTO alg_locatie (alg_district_key, alg_locatie_code, alg_locatie_omschrijving)
@@ -1874,10 +1875,10 @@ BEGIN
p_import_key,
'E',
'Import locaties afgebroken, locatie omschrijving bestaat al ( district mngr:' || rec_d.dm || '(' || rec_d.voorletters || ' ' || rec_d.tussenvoegsels || ' ' || rec_d.achternaam || ')' || '- account:' || rec_a.accountcode || '-' || rec_a.accountnaam || ' Projectnr: ' || rec.project || ')',
'Locatie met omschrijving: ' || rec.omschrijving || ' bestaat al');
'Locatie met omschrijving: ' || rec.omschrijving || ' bestaat al');
END IF;
END;
IF v_locatie_key IS NOT NULL THEN
UPDATE alg_locatie
SET alg_locatie_omschrijving = SUBSTR(rec.omschrijving,1,50),
@@ -1886,14 +1887,14 @@ BEGIN
alg_locatie_postcode = rec.postcode,
alg_locatie_plaats = rec.woonplaats
WHERE alg_locatie_key = v_locatie_key;
csun_set_kenmerk ('ALG', 1006, v_locatie_key, v_bud_key, 0);
csun_set_kenmerk ('ALG', 1000, v_locatie_key, v_account_key, 0);
csun_set_kenmerk ('ALG', 1040, v_locatie_key, rec.project, 0);
-- reanimeer verwijderde locaties
csun_set_kenmerk ('ALG', 1160, v_locatie_key, NULL, 0);
csun_set_kenmerk ('ALG', 1160, v_locatie_key, NULL, 0);
END IF;
EXCEPTION WHEN OTHERS THEN
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
@@ -1902,7 +1903,7 @@ BEGIN
'E',
'Import locaties afgebroken ( district mngr:' || rec_d.dm || '(' || rec_d.voorletters || ' ' || rec_d.tussenvoegsels || ' ' || rec_d.achternaam || ')' || '- account:' || rec_a.accountcode || '-' || rec_a.accountnaam || ' Projectnr: ' || rec.project || '):' || v_errormsg,
v_error_hint);
END;
END LOOP;
END IF;
@@ -1917,7 +1918,7 @@ BEGIN
v_error_hint);
END;
END LOOP;
FOR rec_verv IN c_verv(rec_a.accountcode)
LOOP
BEGIN
@@ -1925,7 +1926,7 @@ BEGIN
csun_set_kenmerk ('ALG', 1160, rec_verv.alg_locatie_key, TO_CHAR(SYSDATE, 'dd-mm-yyyy'), 0);
END;
END LOOP;
EXCEPTION WHEN OTHERS THEN
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
@@ -1939,16 +1940,16 @@ BEGIN
END LOOP;
csun_export_set_werkplek (p_import_key);
FOR rec_del IN c_del
LOOP
BEGIN
v_error_hint := 'Verwijderen gebouwen - Locatie_code: ' || rec_del.alg_locatie_code;
UPDATE alg_gebouw SET alg_gebouw_verwijder = SYSDATE WHERE alg_locatie_key = rec_del.alg_locatie_key;
v_error_hint := 'Verwijderen locatie - Locatie_code: ' || rec_del.alg_locatie_code;
UPDATE alg_locatie SET alg_locatie_verwijder = SYSDATE WHERE alg_locatie_key = rec_del.alg_locatie_key;
EXCEPTION WHEN OTHERS THEN
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
v_errormsg := '(ORACLE error ' || oracle_err_mes || ')';
@@ -2214,10 +2215,10 @@ INSERT INTO prs_perslidwerkplek (prs_perslid_key, prs_perslidwerkplek_bezetting,
AND EXISTS (SELECT alg_onrgoedkenmerk_key
FROM alg_onrgoedkenmerk aog,
prs_kenmerklink kl
WHERE (aog.alg_onrgoedkenmerk_waarde = kl.prs_kenmerklink_waarde
WHERE (aog.alg_onrgoedkenmerk_waarde = kl.prs_kenmerklink_waarde
OR kl.prs_kenmerklink_waarde = 'alles')
AND aog.alg_onrgoed_key = wpg.alg_locatie_key
AND kl.prs_link_key = p.prs_perslid_key
AND kl.prs_link_key = p.prs_perslid_key
AND aog.alg_kenmerk_key = 1123 -- klantspecifieke regioindeling
AND kl.prs_kenmerk_key = 1060))) -- klantspecifieke regioautorisatie)
AND fac.safe_to_number (aogk.alg_onrgoedkenmerk_waarde) =