BRED#84141 -- Implementatie Bredenoord B.V. - procedures en rapportages definitief
svn path=/Customer/trunk/; revision=68385
This commit is contained in:
181
BRED/bred.sql
181
BRED/bred.sql
@@ -138,12 +138,12 @@ AS
|
||||
pemailkey IN NUMBER)
|
||||
AS
|
||||
c_onbekend_key NUMBER (10) := 9; -- Melder onbekend
|
||||
c_leverancier_M2M_key NUMBER (10) := 81; -- Leverancier_key M2M
|
||||
c_leverancier_M2M_key NUMBER (10) := 81; -- Leverancier_key M2M
|
||||
defaultstdmelding fac_setting.fac_setting_default%TYPE;
|
||||
c_locatie_key NUMBER (10) := 2 ; -- Apeldoorn
|
||||
c_gebouw_key NUMBER (10) := 10 ; -- Woudhuis Kantoor
|
||||
c_gebouw_key NUMBER (10) := 10 ; -- Woudhuis Kantoor
|
||||
c_folder_kkey NUMBER (10) := 1 ; -- standaard folder_kenmerk_key
|
||||
c_folder_opdr_kkey NUMBER (10) := 121 ; -- standaard folder_kenmerk_key tbv opdrachten
|
||||
c_folder_opdr_kkey NUMBER (10) := 121 ; -- standaard folder_kenmerk_key tbv opdrachten
|
||||
v_prs_werkplek_key NUMBER (10);
|
||||
v_locatie_key NUMBER (10);
|
||||
v_gebouw_key NUMBER (10);
|
||||
@@ -158,6 +158,7 @@ AS
|
||||
v_kostenplaats_key NUMBER (10);
|
||||
v_discipline_key NUMBER (10);
|
||||
v_melding_key NUMBER (10);
|
||||
v_behandelaar2_key NUMBER (10);
|
||||
v_folder_kkey NUMBER (10);
|
||||
v_count NUMBER (10);
|
||||
v_count_wp NUMBER (10);
|
||||
@@ -167,7 +168,7 @@ AS
|
||||
v_from_string VARCHAR2 (1000) := NULL;
|
||||
v_voor_at VARCHAR2 (1000) := '';
|
||||
v_na_at VARCHAR2 (1000) := '';
|
||||
v_forward_soort NUMBER (1) := 2 ; -- 0 = De mail wordt direct van aanvrager doorgestuurd naar het facilitor-emailadres
|
||||
v_forward_soort NUMBER (1) := 1 ; -- 0 = De mail wordt direct van aanvrager doorgestuurd naar het facilitor-emailadres
|
||||
-- 1 = De mail wordt via eigen centrale klant-postbus automatisch geforward naar het facilitor-emailadres
|
||||
-- 2 = De mail wordt via eigen centrale klant-postbus handmatig aangevuld en daarna geforward naar het facilitor-emailadres
|
||||
v_forward_0 NUMBER (1) := 0 ;
|
||||
@@ -259,30 +260,10 @@ AS
|
||||
v_mailbody_notitie := v_mailbody_notitie_1 ;
|
||||
END IF;
|
||||
|
||||
--- 2. DE MAILER BEPALEN (FROM-ADRES)
|
||||
----- NOG UITWERKEN - HELE STUK UIT CASE-SERVICEDESK HIERONDER PLAATSEN...
|
||||
--- 2. HET FROM-ADRES VAN DE MAILER/NOTEUR BEPALEN UIT MAILBODY (V_FW_FROM)
|
||||
|
||||
SELECT fac_result_waarde
|
||||
INTO v_fac_result_fromaddr
|
||||
FROM fac_result
|
||||
WHERE fac_result_sessionid = psessionid
|
||||
AND fac_result_naam = 'fromaddr';
|
||||
|
||||
v_fac_result_fromaddr := REPLACE (REPLACE (v_fac_result_fromaddr, '>', ''),
|
||||
'<',
|
||||
'');
|
||||
|
||||
|
||||
CASE
|
||||
WHEN UPPER (pto) LIKE 'SERVICEDESK@%'
|
||||
THEN
|
||||
|
||||
defaultstdmelding := fac.getsetting ('defaultstdmelding');
|
||||
|
||||
-- 1. HANDMATIG doorgestuurd vanuit eigen postbus servicedesk-team
|
||||
-- Voorbeeld BRED: Van: Ruard Turksma <R.Turksma@bredenoord.com>
|
||||
-- Dus eerst op zoek naar eerste VAN-regel
|
||||
v_from_string :=
|
||||
-- Dus eerst op zoek naar eerste VAN-regel
|
||||
v_from_string :=
|
||||
SUBSTR (pbody,
|
||||
REGEXP_INSTR (pbody,
|
||||
'Van:|From:|E-mail:',
|
||||
@@ -304,7 +285,7 @@ AS
|
||||
IF v_from_string IS NOT NULL
|
||||
AND INSTR (v_from_string, '@') > 0
|
||||
THEN
|
||||
-- Als in die VAN-regel de structuur is 'alias_naam <maliadres>' dan moeten we tussen de haken het emailadres bepalen..
|
||||
-- Als in die VAN-regel de structuur is 'alias_naam <mailadres>' dan moeten we tussen de haken het emailadres bepalen..
|
||||
IF INSTR (v_from_string,
|
||||
'<',
|
||||
1,
|
||||
@@ -378,8 +359,8 @@ AS
|
||||
|
||||
v_fw_from := v_voor_at || '@' || v_na_at;
|
||||
END IF;
|
||||
ELSE
|
||||
-- 2. AUTOMATISCH doorgestuurde mail OF geen "Van: met email-adres" in de body. Dan dus maar terugvallen op de v_fromaddr...
|
||||
ELSE -- Als er in mailboby geen "Van: met email-adres" dan maar terugvallen op from_adress uit fac_result
|
||||
|
||||
SELECT fac_result_waarde
|
||||
INTO v_fac_result_fromaddr
|
||||
FROM fac_result
|
||||
@@ -392,11 +373,22 @@ AS
|
||||
'');
|
||||
|
||||
v_fw_from := v_fac_result_fromaddr ;
|
||||
|
||||
END IF;
|
||||
|
||||
v_fw_from := SUBSTR (v_fw_from, 1, 50);
|
||||
-- Tot slot FROM-email-adres heeft restrictie van 200
|
||||
v_fw_from := SUBSTR (v_fw_from, 1, 200);
|
||||
|
||||
-- Bepaal de melder/noteur op basis van e-mail adres zoals in v_fw_from
|
||||
|
||||
|
||||
---- MAILINSTELLING - SERVICEDESK TBV MELDINGEN
|
||||
CASE
|
||||
WHEN UPPER (pto) LIKE 'SERVICEDESK@%'
|
||||
THEN
|
||||
|
||||
defaultstdmelding := fac.getsetting ('defaultstdmelding');
|
||||
|
||||
-- Bepaal de melder/noteur op basis van e-mail adres zoals bepaald in v_fw_from
|
||||
v_errormsg :=
|
||||
'Fout bepalen melder ' || COALESCE (pfrom, '???');
|
||||
|
||||
@@ -490,11 +482,12 @@ AS
|
||||
WHERE mld_melding_key = fac.safe_to_number (v_exist_ticket);
|
||||
|
||||
-- Om te voorkomen dat we andere nummers in onderwerpveld ten onrechte als Facilitor-meldingsnummer gaan zien, de meldings-sequence vanag 10000 gezet en daar dus op zoeken
|
||||
IF v_count = 1
|
||||
AND fac.safe_to_number (v_exist_ticket) > 10000
|
||||
THEN -- Notitie bij bestaande melding!
|
||||
SELECT mld_stdmelding_key, mld_melding_key
|
||||
INTO v_stdmelding_key, v_melding_key
|
||||
IF v_count = 1 AND fac.safe_to_number (v_exist_ticket) > 10000
|
||||
THEN -- Notitie bij bestaande melding!
|
||||
|
||||
-- bestaande melding ophalen inclusief aanvrager_key omdat we deze ivm forward op bred-emailadres niet goed doorkrijgen in FROM-adres..
|
||||
SELECT mld_stdmelding_key, mld_melding_key, prs_perslid_key
|
||||
INTO v_stdmelding_key, v_melding_key, v_perslid_key
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_key =
|
||||
fac.safe_to_number (v_exist_ticket);
|
||||
@@ -512,7 +505,56 @@ AS
|
||||
v_mailbody_notitie,
|
||||
0);
|
||||
|
||||
-- VOOR DE TEST NOG EVEN DE GESPLITSTE NOTITIES TONEN
|
||||
-- Bepalen van de actieve behandelaar van deze melding
|
||||
BEGIN
|
||||
SELECT mld_melding_behandelaar2_key
|
||||
INTO v_behandelaar2_key
|
||||
FROM mld_melding m, prs_perslid p
|
||||
WHERE mld_melding_key = v_melding_key
|
||||
AND mld_melding_behandelaar2_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_email IS NOT NULL
|
||||
AND p.prs_perslid_verwijder IS NULL;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_behandelaar2_key := NULL;
|
||||
END;
|
||||
|
||||
IF v_behandelaar2_key IS NOT NULL
|
||||
THEN
|
||||
-- Bestaande melding en behandelaar is bekend.
|
||||
|
||||
-- Notificatie naar behandelaar
|
||||
fac.putnotificationsrtprio (
|
||||
NULL,
|
||||
v_behandelaar2_key,
|
||||
'MLDNOB',
|
||||
v_melding_key,
|
||||
'Melding ' || v_melding_key || ' is door de aanvrager via M2M aangepast.',
|
||||
2,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
2,
|
||||
NULL);
|
||||
|
||||
END IF; -- Bestaande melding en behandelaar is bekend.
|
||||
|
||||
-- Vlaggetjes zetten zoals mld_edit_note.asp dat doet!
|
||||
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_actiecode = 1 + 128 -- BO + Attentie
|
||||
WHERE mld_melding_key = v_melding_key;
|
||||
|
||||
|
||||
-- VOOR DE TEST NOG EVEN DE GESPLITSTE NOTITIES EN MAIL_ADRES_AANVRAGER-BEPALING IN KENMERKEVELDEN ZETTEN
|
||||
BEGIN mld.upsertmeldingkenmerk (102, v_melding_key, v_forward_soort); END;
|
||||
|
||||
BEGIN mld.upsertmeldingkenmerk (103, v_melding_key, v_voor_at || '@' || v_na_at); END;
|
||||
BEGIN mld.upsertmeldingkenmerk (104, v_melding_key, v_voor_at); END;
|
||||
BEGIN mld.upsertmeldingkenmerk (105, v_melding_key, v_na_at); END;
|
||||
BEGIN mld.upsertmeldingkenmerk (106, v_melding_key, v_fac_result_fromaddr); END;
|
||||
|
||||
BEGIN mld.upsertmeldingkenmerk (107, v_melding_key, v_mailbody_notitie_1); END;
|
||||
BEGIN mld.upsertmeldingkenmerk (108, v_melding_key, v_mailbody_notitie_2); END;
|
||||
BEGIN mld.upsertmeldingkenmerk (109, v_melding_key, v_mailbody_notitie_3); END;
|
||||
@@ -526,11 +568,7 @@ AS
|
||||
'Notitie onder exist-melding '
|
||||
|| v_melding_key);
|
||||
|
||||
-- Vlaggetjes zetten zoals mld_edit_note.asp dat doet! - DEZE NOG NETJES INPASSEN + NOTIFICATIE MLDNOB NAAR BEHANDELAAR DIRECT DOEN!!
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_actiecode = 1 + 128 -- BO + Attentie
|
||||
WHERE mld_melding_key = v_melding_key;
|
||||
|
||||
|
||||
|
||||
|
||||
ELSE
|
||||
@@ -642,6 +680,7 @@ AS
|
||||
|| '\');
|
||||
END IF;
|
||||
|
||||
---- MAILINSTELLING - SERVICEDESK _PLANNING TBV OPDRACHTEN
|
||||
WHEN UPPER (pto) LIKE 'SERVICEDESK_PLANNING@%'
|
||||
THEN
|
||||
-- Probeer noteur te bepalen op basis van e-mail adres tussen '<>' na eerste voorkomen 'Van:'!
|
||||
@@ -1124,6 +1163,62 @@ SELECT mld_uitvoerende_key,
|
||||
FROM bred_v_rap_opdrachten
|
||||
ORDER BY geplande_aanvang_b ;
|
||||
|
||||
-- O.a. voor beheer nieuwe medewerkers en inactieve mederwerkers en koppeling object voor registreren van de uitgegeven middelen
|
||||
CREATE OR REPLACE VIEW bred_v_rap_personenbeheer
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
PRS_PERSLID_NAAM,
|
||||
PRS_PERLSID_EMAIL,
|
||||
PRS_PERSLID_TELNR,
|
||||
PRS_PERSLID_MOBIEL,
|
||||
PRS_AFDELING_OMSCHRIJVING,
|
||||
PRS_PERSLID_AANMAAK,
|
||||
PRS_PERSLID_INDIENST,
|
||||
PRS_PERSLID_UITDIENST,
|
||||
PRS_PERSLID_INACTIEF,
|
||||
PRS_PERSLID_INACTIEF_V,
|
||||
PRS_PERSLID_VERWIJDER,
|
||||
PRS_PERSLID_VERWIJDER_V,
|
||||
OBJECT_MIDDEL_ACTIEF
|
||||
)
|
||||
AS
|
||||
SELECT p.prs_perslid_key,
|
||||
p.prs_perslid_voornaam || ' ' || p.prs_perslid_naam
|
||||
prs_perslid_naam,
|
||||
p.prs_perslid_email,
|
||||
p.prs_perslid_telefoonnr,
|
||||
p.prs_perslid_mobiel,
|
||||
a.prs_afdeling_omschrijving || ' (' || a.prs_afdeling_upper || ')'
|
||||
prs_afdeling_omschrijving,
|
||||
p.prs_perslid_aanmaak,
|
||||
p.prs_perslid_ingangsdatum
|
||||
prs_perslid_indienst,
|
||||
p.prs_perslid_einddatum
|
||||
prs_perslid_uitdienst,
|
||||
p.prs_perslid_inactief,
|
||||
CASE WHEN p.prs_perslid_inactief IS NOT NULL THEN 'ja' ELSE 'nee' END
|
||||
prs_perslid_inactief_v,
|
||||
p.prs_perslid_verwijder,
|
||||
CASE WHEN p.prs_perslid_verwijder IS NOT NULL THEN 'ja' ELSE 'nee' END
|
||||
prs_perslid_verwijder_v,
|
||||
CASE WHEN d.prs_perslid_key IS NOT NULL THEN 'ja' ELSE 'nee' END
|
||||
object_middel_actief
|
||||
FROM prs_perslid p, prs_v_afdeling a, prs_bedrijf b,
|
||||
(SELECT ins_alg_ruimte_key prs_perslid_key
|
||||
FROM ins_deel d
|
||||
WHERE d.ins_Srtdeel_key = 41 AND ins_alg_ruimte_type = 'P'
|
||||
AND ins_deel_verwijder IS NULL
|
||||
AND ins_deel_actief = 1
|
||||
AND (ins_deel_vervaldatum IS NULL OR TRUNC(ins_deel_vervaldatum) <= TRUNC(SYSDATE) )
|
||||
) d
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND b.prs_bedrijf_key = 8
|
||||
AND p.prs_perslid_key = d.prs_perslid_key (+)
|
||||
;
|
||||
|
||||
|
||||
|
||||
-- Dagelijkse taak
|
||||
CREATE OR REPLACE PROCEDURE bred_daily
|
||||
AS
|
||||
|
||||
Reference in New Issue
Block a user