RWSN#55808 M2M+RWSN#56949 Rap/Productie KCC+ RWSN#57914 Notijob/<x> dagen voor gereed
svn path=/Customer/trunk/; revision=44406
This commit is contained in:
475
RWSN/rwsn.sql
475
RWSN/rwsn.sql
@@ -16276,7 +16276,7 @@ AS
|
||||
AND (m.mld_melding_status IN (4, 7) -- Geaccepteerd/Uitgegeven
|
||||
OR mdp.mld_disc_params_factuurappr = 1) -- OBSCUUR!!!
|
||||
AND mdp.mld_disc_params_noti_dagen IS NOT NULL
|
||||
AND TRUNC (m.mld_melding_einddatum + 1) + mdp.mld_disc_params_noti_dagen <= TRUNC (SYSDATE)
|
||||
AND TRUNC (m.mld_melding_einddatum + 1) + mdp.mld_disc_params_noti_dagen <= TRUNC (SYSDATE)
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM mld_opdr o
|
||||
@@ -17377,8 +17377,8 @@ AS
|
||||
AND sk.res_srtkenmerk_verwijder IS NULL;
|
||||
|
||||
/* Formatted on 19-8-2011 16:04:10 (QP5 v5.115.810.9015) */
|
||||
-- TODO1: Welke precieze contractgegevens/kolommen?
|
||||
-- TODO2: Alleen actieve of ook verlopen?
|
||||
-- TODO1:Welke precieze contractgegevens/kolommen?
|
||||
-- TODO2:Alleen actieve of ook verlopen?
|
||||
CREATE OR REPLACE VIEW rwsn_v_rap_cntnotities
|
||||
(
|
||||
nummer,
|
||||
@@ -27443,7 +27443,9 @@ CREATE OR REPLACE PROCEDURE RWSN_processemail (
|
||||
psessionid IN VARCHAR2,
|
||||
pemailkey IN NUMBER)
|
||||
AS
|
||||
-- Soortmelding=8357 onder Vakgroep=274 onder Vakgroeptype=1!
|
||||
c_ebf_melder_key NUMBER (10) := 13760; -- EXTERN Overig
|
||||
c_ebf_stdmld_key NUMBER (10) := 11961; -- Soortmelding=11961=E-mail Algemeen onder Vakgroep=681=MP-FI KCC onder Vakgroeptype=3=KCC [TODO:11761 in T-omgeving]!
|
||||
-- Printer-Soortmelding=8357 onder Vakgroep=274 onder Vakgroeptype=1!
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
@@ -27451,6 +27453,7 @@ AS
|
||||
v_perslid_key NUMBER (10);
|
||||
v_kostenplaats_key NUMBER (10);
|
||||
v_onderwerp VARCHAR2 (255);
|
||||
v_discipline_key NUMBER (10) := NULL;
|
||||
v_stdmelding_key NUMBER (10);
|
||||
--v_stdmelding_uvt mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE := MLD_T_UITVOERTIJD (NULL, NULL); -- constructor initialisatie
|
||||
v_deel_key NUMBER (10) := NULL;
|
||||
@@ -27458,6 +27461,7 @@ AS
|
||||
v_locatie_key NUMBER (10) := NULL;
|
||||
v_melding_key NUMBER (10) := NULL;
|
||||
v_email_kkey NUMBER (10) := NULL;
|
||||
v_email VARCHAR2 (255) := '';
|
||||
v_folder_kkey NUMBER (10) := NULL;
|
||||
v_count NUMBER (10) := NULL;
|
||||
BEGIN
|
||||
@@ -27480,15 +27484,15 @@ BEGIN
|
||||
v_errormsg := 'Fout bepalen Printer-onderwerp';
|
||||
v_onderwerp := psubject;
|
||||
|
||||
-- Bepaal Soortmelding met afgesproken key=8357.
|
||||
-- Bepaal de afgesproken Soortmelding met key=8357.
|
||||
v_errormsg := 'Fout bepalen Printer-soortmelding';
|
||||
SELECT sm.mld_stdmelding_key
|
||||
INTO v_stdmelding_key
|
||||
SELECT mld_ins_discipline_key, mld_stdmelding_key
|
||||
INTO v_discipline_key, v_stdmelding_key
|
||||
FROM mld_discipline md, mld_stdmelding sm
|
||||
WHERE md.ins_discipline_verwijder IS NULL
|
||||
WHERE sm.mld_stdmelding_key = 8357
|
||||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||||
--AND md.ins_srtdiscipline_key = 1 -- Facilitair
|
||||
AND md.ins_discipline_key = sm.mld_ins_discipline_key
|
||||
AND sm.mld_stdmelding_key = 8357;
|
||||
AND md.ins_discipline_verwijder IS NULL;
|
||||
|
||||
-- Bepaal evt. object met omschrijving zoals in pbody achter EX!
|
||||
-- Alleen objecten onder disciplines met keys -1 t/m -1 worden beschouwd!
|
||||
@@ -27542,7 +27546,7 @@ BEGIN
|
||||
mld_melding_onderwerp)
|
||||
VALUES ('MLD',
|
||||
4, -- email
|
||||
DECODE (v_count, 1, v_locatie_key, 82), -- TODO/Westraven als printer niet kan worden bepaald?
|
||||
DECODE (v_count, 1, v_locatie_key, 82), -- TODO:Westraven als printer niet kan worden bepaald?
|
||||
DECODE (v_count, 1, v_onrgoed_keys, NULL),
|
||||
SYSDATE,
|
||||
SUBSTR (pfrom || CHR (13) || CHR (10) || pbody, 1, 4000),
|
||||
@@ -27568,106 +27572,51 @@ BEGIN
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
VALUES (psessionid, 'maillog', 'Geregistreerd onder melding ' || v_melding_key);
|
||||
--mails.fd.ebfd@rws.nl Alle e-mails afkomstig vanuit dit e-mailadres daar dient de volgende melding voor te worden gemaakt:
|
||||
--Vakgroep: K-MP-FI KCC
|
||||
--Melding: E-mail Algemeen
|
||||
|
||||
--mails.esize.ebfd@rws.nl Alle e-mails afkomstig vanuit dit e-mailadres daar dient de volgende melding voor te worden gemaakt:
|
||||
--Vakgroep: K-MP-EBF Workforce
|
||||
--Melding: E-mail Algemeen
|
||||
|
||||
--mails.digiinkoop.ebfd@rws.nl Alle e-mails afkomstig vanuit dit e-mailadres daar dient de volgende melding voor te worden gemaakt:
|
||||
--Vakgroep: K-MP-EBF DigiInkoop
|
||||
--Melding: E-mail Algemeen
|
||||
|
||||
--Daarnaast willen we graag uit de body van de tekst het e-mailadres in kenmerksoort E-Mail (key 20) / kenmerk laten landen.
|
||||
--Het gaat dan specifiek om het e-mailadres na de volgende tekst in de body: [mailto:
|
||||
WHEN UPPER (pto) LIKE 'XXX@%' -- RWSN#55808
|
||||
WHEN UPPER (pto) LIKE 'EBF.FACILITOR@%' -- RWSN#55808
|
||||
THEN
|
||||
-- Bepaal de melder/noteur op basis van e-mail adres zoals in pfrom?
|
||||
v_errormsg := 'Fout bepalen melder ' || COALESCE (pfrom, '???');
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE UPPER (prs_perslid_email) LIKE UPPER (pfrom) || '%';
|
||||
|
||||
IF v_count = 1
|
||||
-- Negeer mails anders dan vanaf 'MAILS.FD.EBFD@RWS.NL'!
|
||||
IF INSTR (UPPER (pfrom), 'MAILS.FD.EBFD@RWS.NL') > 0
|
||||
THEN
|
||||
SELECT p.prs_perslid_key, a.prs_kostenplaats_key, MIN (wpg.alg_locatie_key)
|
||||
INTO v_perslid_key, v_kostenplaats_key, v_locatie_key
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a,
|
||||
(SELECT pw.prs_perslid_key, pw.prs_werkplek_key
|
||||
FROM prs_perslidwerkplek pw
|
||||
WHERE NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_perslidwerkplek
|
||||
WHERE prs_perslid_key = pw.prs_perslid_key
|
||||
AND prs_perslidwerkplek_key > pw.prs_perslidwerkplek_key)) pw,
|
||||
prs_v_werkplekperslid_gegevens wpg
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND UPPER (p.prs_perslid_email) LIKE UPPER (pfrom) || '%'
|
||||
AND p.prs_perslid_key = pw.prs_perslid_key(+)
|
||||
AND pw.prs_werkplek_key = wpg.prs_werkplek_key(+)
|
||||
GROUP BY p.prs_perslid_key, a.prs_kostenplaats_key;
|
||||
ELSE -- Melder kan niet 1-duidig worden bepaald, dus Onbekend en 61=Servicecentrum!
|
||||
SELECT p.prs_perslid_key, a.prs_kostenplaats_key, 61
|
||||
INTO v_perslid_key, v_kostenplaats_key, v_locatie_key
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND p.prs_perslid_key = c_onbekend_key;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Fout bepalen bestaande melding';
|
||||
v_exist_ticket := psubject;
|
||||
IF REGEXP_INSTR (v_exist_ticket, '\d') > 0
|
||||
THEN
|
||||
v_exist_ticket := SUBSTR (v_exist_ticket, REGEXP_INSTR (v_exist_ticket, '\d')) || 'x'; -- Gedeelte vanaf eerste cijfer in v_exist_ticket plus 'x'!
|
||||
v_exist_ticket := SUBSTR (v_exist_ticket, 1, REGEXP_INSTR (v_exist_ticket, '\D') - 1); -- Gedeelte tot eerste niet-cijfer in v_exist_ticket!
|
||||
ELSE
|
||||
v_exist_ticket := 'x';
|
||||
END IF;
|
||||
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_key = fac.safe_to_number (v_exist_ticket);
|
||||
|
||||
-- Om te voorkomen dat huisnummers in het Onderwerp resulteren in het
|
||||
-- toevoegen van Notities, dit alleen doen voor nummers > 16000!
|
||||
IF v_count = 1 AND fac.safe_to_number (v_exist_ticket) > 16000
|
||||
THEN -- Notitie bij bestaande melding!
|
||||
SELECT mld_stdmelding_key, mld_melding_key
|
||||
INTO v_stdmelding_key, v_melding_key
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_key = fac.safe_to_number (v_exist_ticket);
|
||||
|
||||
v_errormsg := 'Fout toevoegen notitie';
|
||||
INSERT INTO mld_melding_note (mld_melding_key,
|
||||
prs_perslid_key,
|
||||
mld_melding_note_omschrijving,
|
||||
mld_melding_note_flag)
|
||||
VALUES (v_melding_key,
|
||||
v_perslid_key,
|
||||
pfrom || CHR (13) || CHR (10) || psubject || CHR (13) || CHR (10) || SUBSTR (pbody, 1, 2000),
|
||||
0);
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
VALUES (psessionid, 'maillog', 'Notitie onder exist-melding ' || v_melding_key);
|
||||
|
||||
-- Vlaggetjes zetten zoals mld_edit_note.asp dat doet!
|
||||
IF fac.getsetting ('mld_melding_actiecode') = 1
|
||||
v_errormsg := 'Fout bepalen E-mail';
|
||||
IF INSTR (pbody, 'mailto:') > 0
|
||||
THEN
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_actiecode = 1 + 128 -- BO + Attentie
|
||||
WHERE mld_melding_key = v_melding_key;
|
||||
v_email := TRIM (SUBSTR (pbody,
|
||||
INSTR (pbody, 'mailto:') + 7,
|
||||
INSTR (SUBSTR (REPLACE (REPLACE (pbody, CHR (13), '#'), CHR (10), '#') || '#', INSTR (pbody, 'mailto:') + 7), '#') - 1));
|
||||
ELSE
|
||||
v_email := '';
|
||||
END IF;
|
||||
ELSE -- Nieuwe melding!
|
||||
-- Bepaal de afgesproken soortmelding met key=1691=Harware/Computer!
|
||||
|
||||
-- Bepaal de afgesproken melder.
|
||||
v_errormsg := 'Fout bepalen externe melder';
|
||||
SELECT p.prs_perslid_key, a.prs_kostenplaats_key, MIN (g1.alg_locatie_key)
|
||||
INTO v_perslid_key, v_kostenplaats_key, v_locatie_key
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a, prs_perslidwerkplek pw1, prs_werkplek wp1, alg_ruimte r1, alg_verdieping v1, alg_gebouw g1
|
||||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND p.prs_perslid_key = c_ebf_melder_key
|
||||
AND p.prs_perslid_key = pw1.prs_perslid_key(+)
|
||||
AND pw1.prs_werkplek_key = wp1.prs_werkplek_key(+)
|
||||
AND wp1.prs_alg_ruimte_key = r1.alg_ruimte_key(+)
|
||||
AND r1.alg_verdieping_key = v1.alg_verdieping_key(+)
|
||||
AND v1.alg_gebouw_key = g1.alg_gebouw_key(+)
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_perslidwerkplek pw2, prs_werkplek wp2, alg_ruimte r2, alg_verdieping v2, alg_gebouw g2
|
||||
WHERE pw2.prs_perslid_key = c_ebf_melder_key
|
||||
AND pw2.prs_werkplek_key = wp2.prs_werkplek_key
|
||||
AND wp2.prs_alg_ruimte_key = r2.alg_ruimte_key
|
||||
AND r2.alg_verdieping_key = v2.alg_verdieping_key
|
||||
AND v2.alg_gebouw_key = g2.alg_gebouw_key
|
||||
AND pw2.prs_werkplek_key != pw1.prs_werkplek_key
|
||||
AND pw2.prs_perslidwerkplek_bezetting > pw1.prs_perslidwerkplek_bezetting)
|
||||
GROUP BY p.prs_perslid_key, a.prs_kostenplaats_key;
|
||||
|
||||
-- Bepaal de afgesproken Soortmelding met key=c_ebf_stdmld_key.
|
||||
v_errormsg := 'Fout bepalen soortmelding';
|
||||
SELECT mld_ins_discipline_key, mld_stdmelding_key
|
||||
INTO v_discipline_key, v_stdmelding_key
|
||||
FROM mld_stdmelding
|
||||
WHERE mld_stdmelding_key = 1691;
|
||||
WHERE mld_stdmelding_key = c_ebf_stdmld_key;
|
||||
|
||||
-- Suggested extensions:
|
||||
-- - Check for MLDUSE-write autorisations
|
||||
@@ -27688,11 +27637,10 @@ BEGIN
|
||||
mld_melding_status,
|
||||
mld_melding_spoed,
|
||||
mld_melding_onderwerp,
|
||||
mld_melding_behandelaar2_key,
|
||||
mld_ins_discipline_key)
|
||||
mld_melding_behandelaar2_key)
|
||||
VALUES ('MLD',
|
||||
4, -- email
|
||||
v_locatie_key,
|
||||
COALESCE (v_locatie_key, 82), -- Westraven als locatie niet kan worden bepaald?
|
||||
NULL, --v_onrgoed_keys,
|
||||
SYSDATE,
|
||||
pfrom || CHR (13) || CHR (10) || SUBSTR (pbody, 1, 2000),
|
||||
@@ -27704,78 +27652,81 @@ BEGIN
|
||||
NULL,
|
||||
3, -- prio normaal
|
||||
SUBSTR (psubject, 1, 80),
|
||||
NULL,
|
||||
3141) -- BT Helpdesk I+A
|
||||
NULL)
|
||||
RETURNING mld_melding_key
|
||||
INTO v_melding_key;
|
||||
|
||||
v_errormsg := 'Fout bepalen E-mail kenmerk';
|
||||
SELECT MIN (k1.mld_kenmerk_key)
|
||||
SELECT MIN (k.mld_kenmerk_key)
|
||||
INTO v_email_kkey
|
||||
FROM mld_stdmelding sm1, ins_tab_discipline td1, mld_kenmerk k1--, mld_srtkenmerk sk1
|
||||
WHERE sm1.mld_stdmelding_key = v_stdmelding_key
|
||||
AND sm1.mld_ins_discipline_key = td1.ins_discipline_key
|
||||
AND k1.mld_kenmerk_verwijder IS NULL
|
||||
AND k1.mld_srtkenmerk_key = 20 -- E-mail
|
||||
--AND k1.mld_srtkenmerk_key = sk1.mld_srtkenmerk_key
|
||||
--AND sk1.mld_srtkenmerk_kenmerktype = 'C'
|
||||
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'));
|
||||
FROM mld_stdmelding sm, ins_tab_discipline td, mld_kenmerk k--, mld_srtkenmerk sk
|
||||
WHERE sm.mld_stdmelding_key = v_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||||
AND k.mld_kenmerk_verwijder IS NULL
|
||||
AND k.mld_srtkenmerk_key = 20 -- E-mail
|
||||
--AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
|
||||
--AND sk.mld_srtkenmerk_kenmerktype = 'C'
|
||||
AND ((k.mld_stdmelding_key = sm.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')
|
||||
OR (k.mld_stdmelding_key = td.ins_discipline_key AND k.mld_kenmerk_niveau = 'D')
|
||||
OR (k.mld_stdmelding_key = td.ins_srtdiscipline_key AND k.mld_kenmerk_niveau = 'T'));
|
||||
|
||||
IF v_folder_kkey IS NOT NULL
|
||||
THEN
|
||||
IF v_email_kkey IS NOT NULL
|
||||
THEN
|
||||
v_errormsg := 'Fout toevoegen E-mail kenmerk';
|
||||
INSERT INTO mld_kenmerkmelding (mld_melding_key,
|
||||
mld_kenmerk_key,
|
||||
mld_kenmerkmelding_waarde)
|
||||
VALUES (v_melding_key,
|
||||
v_email_kkey, -- E-mail
|
||||
SUBSTR (pfrom, 1, 50)); -- TODO:Uit body halen?
|
||||
SUBSTR (v_email, 1, 49));
|
||||
END IF;
|
||||
|
||||
mld.setmeldingstatus (v_melding_key, 2, v_perslid_key);
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
VALUES (psessionid, 'maillog', 'Geregistreerd onder melding ' || v_melding_key);
|
||||
END IF;
|
||||
|
||||
-- Find the lowest volgnummer of the Folder-flexfield.
|
||||
v_errormsg := 'Fout bepalen Folder kenmerk';
|
||||
SELECT MIN (k1.mld_kenmerk_key)
|
||||
INTO v_folder_kkey
|
||||
FROM mld_stdmelding sm1, ins_tab_discipline td1, mld_kenmerk k1, mld_srtkenmerk sk1
|
||||
WHERE sm1.mld_stdmelding_key = v_stdmelding_key
|
||||
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_stdmelding sm2, ins_tab_discipline td2, mld_kenmerk k2, mld_srtkenmerk sk2
|
||||
WHERE sm2.mld_stdmelding_key = v_stdmelding_key
|
||||
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);
|
||||
-- Find the lowest volgnummer of the Folder-flexfield.
|
||||
v_errormsg := 'Fout bepalen Folder kenmerk';
|
||||
SELECT MIN (k1.mld_kenmerk_key)
|
||||
INTO v_folder_kkey
|
||||
FROM mld_stdmelding sm1, ins_tab_discipline td1, mld_kenmerk k1, mld_srtkenmerk sk1
|
||||
WHERE sm1.mld_stdmelding_key = v_stdmelding_key
|
||||
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_stdmelding sm2, ins_tab_discipline td2, mld_kenmerk k2, mld_srtkenmerk sk2
|
||||
WHERE sm2.mld_stdmelding_key = v_stdmelding_key
|
||||
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 v_folder_kkey IS NOT NULL
|
||||
THEN
|
||||
IF v_folder_kkey IS NOT NULL
|
||||
THEN
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
VALUES (psessionid, 'kenmerkpath', 'MLD\M' || TO_CHAR (TRUNC (v_melding_key / 1000), 'FM0000') || '___\M' || v_melding_key || '\' || v_folder_kkey || '\');
|
||||
END IF;
|
||||
|
||||
-- Handle workflow actions for completion (in case of new melding).
|
||||
IF v_count = 0
|
||||
THEN
|
||||
MLD.mld_nextworkflowstep (v_melding_key, -1); -- -1=Initial
|
||||
END IF;
|
||||
ELSE
|
||||
-- Ignore afzender.
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
VALUES (psessionid, 'kenmerkpath', 'MLD\M' || TO_CHAR (TRUNC (v_melding_key / 1000), 'FM0000') || '___\M' || v_melding_key || '\' || v_folder_kkey || '\');
|
||||
END IF;
|
||||
|
||||
-- Handle workflow actions for completion (in case of new melding).
|
||||
IF v_count = 0
|
||||
THEN
|
||||
MLD.mld_nextworkflowstep (v_melding_key, -1); -- -1=Initial
|
||||
VALUES (psessionid, 'errormsg', 'Afzender ongeldig - Neem contact op met uw systeembeheerder ');
|
||||
END IF;
|
||||
ELSE
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
@@ -28100,6 +28051,216 @@ AS
|
||||
LEFT JOIN kd k39 ON x.ins_deel_key = k39.ins_deel_key AND k39.vnr = 39
|
||||
LEFT JOIN kd k40 ON x.ins_deel_key = k40.ins_deel_key AND k40.vnr = 40;
|
||||
|
||||
-- RWSN#57914: Reminder naar behandelaar als melding x dagen voor gereeddatum.
|
||||
-- TODO:Set bepalen op basis van Eigen tabel?
|
||||
CREATE OR REPLACE VIEW rwsn_v_noti_mld_eind_reminder
|
||||
(
|
||||
code,
|
||||
sender,
|
||||
receiver,
|
||||
text,
|
||||
key,
|
||||
xkey
|
||||
)
|
||||
AS
|
||||
SELECT sn.fac_srtnotificatie_code,
|
||||
NULL,
|
||||
m.mld_melding_behandelaar_key,
|
||||
REPLACE (sn.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key),
|
||||
m.mld_melding_key,
|
||||
NULL
|
||||
FROM mld_melding m, mld_stdmelding sm, mld_disc_params dp, fac_srtnotificatie sn
|
||||
WHERE m.mld_melding_status IN (4, 7, 99) -- 4-Geaccepteerd, 7-Uitgegeven
|
||||
--AND m.mld_melding_einddatum_std > SYSDATE
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key = dp.mld_ins_discipline_key
|
||||
AND dp.mld_disc_params_noti_dagen IS NOT NULL
|
||||
--AND TRUNC (SYSDATE + dp.mld_disc_params_noti_dagen) > TRUNC (m.mld_melding_einddatum_std)
|
||||
--AND TRUNC (SYSDATE + dp.mld_disc_params_noti_dagen) = TRUNC (m.mld_melding_einddatum)
|
||||
AND fac.count_work_days (SYSDATE, m.mld_melding_einddatum) = dp.mld_disc_params_noti_dagen
|
||||
AND sn.fac_srtnotificatie_code = 'CUST21'
|
||||
UNION ALL
|
||||
SELECT sn.fac_srtnotificatie_code,
|
||||
NULL,
|
||||
m.mld_melding_behandelaar_key,
|
||||
REPLACE (sn.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key),
|
||||
m.mld_melding_key,
|
||||
NULL
|
||||
FROM mld_melding m, mld_stdmelding sm, mld_disc_params dp, fac_srtnotificatie sn
|
||||
WHERE m.mld_melding_status IN (4, 7, 99) -- 4-Geaccepteerd, 7-Uitgegeven
|
||||
--AND m.mld_melding_einddatum_std > SYSDATE
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key = dp.mld_ins_discipline_key
|
||||
AND dp.mld_disc_params_noti_dagen IS NOT NULL
|
||||
--AND TRUNC (SYSDATE + 1) > TRUNC (m.mld_melding_einddatum_std)
|
||||
--AND TRUNC (SYSDATE + 1) = TRUNC (m.mld_melding_einddatum)
|
||||
AND dp.mld_disc_params_noti_dagen != 1
|
||||
AND fac.count_work_days (SYSDATE, m.mld_melding_einddatum) = 1
|
||||
AND sn.fac_srtnotificatie_code = 'CUST22'
|
||||
;
|
||||
/*
|
||||
AND SIGN(mld.geteinddatum (
|
||||
m.mld_melding_datum,
|
||||
m.mld_stdmelding_key,
|
||||
m.mld_melding_spoed,
|
||||
NULL, -- Plaats binnen/kleiner locatie!
|
||||
NULL, -- Object met laagste uitvoertijd
|
||||
MLD_T_UITVOERTIJD (
|
||||
0.7 * m.mld_melding_t_uitvoertijd.tijdsduur,
|
||||
m.mld_melding_t_uitvoertijd.eenheid))
|
||||
- TRUNC (SYSDATE, 'mi')) = -1;
|
||||
*/
|
||||
|
||||
-- RWSN#56949: Productie KCC medewerkers (MLD+RES)!
|
||||
-- Medewerker (= persoon onder afdeling 'Afd. Meldingenproces' met key=<nader te bepalen>)
|
||||
-- Module (MLD of RES)
|
||||
-- Stroom (Vakgroeptype of Activiteit)
|
||||
-- ID (van Melding of Reservering)
|
||||
-- Aanmaakdatum (van Melding of Reservering)
|
||||
-- Status (van Melding of Reservering)
|
||||
CREATE OR REPLACE VIEW rwsn_v_rap_kcc_productie
|
||||
(
|
||||
medewerker,
|
||||
module,
|
||||
stroom,
|
||||
id,
|
||||
aanmaakdatum,
|
||||
status,
|
||||
trackdatum,
|
||||
trackcode
|
||||
)
|
||||
AS
|
||||
SELECT pf.prs_perslid_naam_full medewerker,
|
||||
'MLD' module,
|
||||
sd.ins_srtdiscipline_omschrijving stroom,
|
||||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) id,
|
||||
fac.gettrackingdate ('MLDNEW', m.mld_melding_key) aanmaakdatum,
|
||||
ms.mld_statuses_omschrijving status,
|
||||
t.fac_tracking_datum trackdatum,
|
||||
sn.fac_srtnotificatie_code
|
||||
FROM fac_tracking t,
|
||||
fac_srtnotificatie sn,
|
||||
mld_melding m,
|
||||
mld_stdmelding sm,
|
||||
mld_discipline md,
|
||||
ins_srtdiscipline sd,
|
||||
mld_statuses ms,
|
||||
prs_v_aanwezigperslid p,
|
||||
prs_v_afdeling_boom ab,
|
||||
prs_v_perslid_fullnames pf
|
||||
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_key IN (26, 21, 27, 22, 28) -- MLDNEW/MLDACP/MLDREJ/MLDAFM/MLDUPD
|
||||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
AND sd.ins_srtdiscipline_key IN (1, 3, 242, 81, 221) -- Facilitair/KCC/Tijdelijke Capaciteit (oud/N?)
|
||||
AND m.mld_melding_status = ms.mld_statuses_key(+)
|
||||
AND t.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND ab.prs_afdeling_key3 = 2867 -- Afd. Meldingenproces
|
||||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||||
UNION ALL
|
||||
SELECT x.prs_perslid_naam_full medewerker,
|
||||
'RES' module,
|
||||
x.res_activiteit_omschrijving stroom,
|
||||
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) id,
|
||||
x.res_rsv_ruimte_aanmaak aanmaakdatum,
|
||||
(SELECT res_status_bo_omschrijving
|
||||
FROM res_status_bo
|
||||
WHERE res_status_bo_key = COALESCE (x.res_status_bo_key, ads.status_bo_key))
|
||||
status,
|
||||
x.fac_tracking_datum trackdatum,
|
||||
x.fac_srtnotificatie_code
|
||||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||||
rrr.res_reservering_key,
|
||||
rrr.res_rsv_ruimte_volgnr,
|
||||
rrr.res_rsv_ruimte_aanmaak,
|
||||
rrr.res_status_bo_key,
|
||||
ra.res_activiteit_omschrijving,
|
||||
t.fac_tracking_datum,
|
||||
sn.fac_srtnotificatie_code,
|
||||
pf.prs_perslid_naam_full
|
||||
FROM fac_tracking t,
|
||||
fac_srtnotificatie sn,
|
||||
res_rsv_ruimte rrr,
|
||||
res_activiteit ra,
|
||||
prs_v_aanwezigperslid p,
|
||||
prs_v_afdeling_boom ab,
|
||||
prs_v_perslid_fullnames pf
|
||||
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_key IN (34, 35) -- RESNEW/RESUPD
|
||||
AND t.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||||
AND rrr.res_rsv_ruimte_volgnr = 1
|
||||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||||
AND t.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND ab.prs_afdeling_key3 = 2867 -- Afd. Meldingenproces
|
||||
AND p.prs_perslid_key = pf.prs_perslid_key) x
|
||||
LEFT JOIN -- Niet meetellen losse Artikel/Deel-reserveringen waar nooit iets bijgeboekt is!
|
||||
( SELECT res_rsv_ruimte_key, MIN (res_status_bo_key) status_bo_key
|
||||
FROM (SELECT res_rsv_ruimte_key, res_status_bo_key FROM res_rsv_artikel
|
||||
UNION
|
||||
SELECT res_rsv_ruimte_key, res_status_bo_key FROM res_rsv_deel)
|
||||
GROUP BY res_rsv_ruimte_key) ads -- Artikel/Deel-status
|
||||
ON x.res_rsv_ruimte_key = ads.res_rsv_ruimte_key
|
||||
WHERE x.res_status_bo_key IS NOT NULL OR ads.res_rsv_ruimte_key IS NOT NULL
|
||||
UNION ALL
|
||||
SELECT x.prs_perslid_naam_full medewerker,
|
||||
'RES' module,
|
||||
x.res_activiteit_omschrijving stroom,
|
||||
TO_CHAR (x.res_reservering_key) || '/' || TO_CHAR (x.res_rsv_ruimte_volgnr) id,
|
||||
x.res_rsv_ruimte_aanmaak aanmaakdatum,
|
||||
(SELECT res_status_bo_omschrijving
|
||||
FROM res_status_bo
|
||||
WHERE res_status_bo_key = COALESCE (x.res_status_bo_key, ads.status_bo_key))
|
||||
status,
|
||||
x.fac_tracking_datum trackdatum,
|
||||
x.fac_srtnotificatie_code
|
||||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||||
rrr.res_reservering_key,
|
||||
rrr.res_rsv_ruimte_volgnr,
|
||||
rrr.res_rsv_ruimte_aanmaak,
|
||||
rrr.res_status_bo_key,
|
||||
ra.res_activiteit_omschrijving,
|
||||
t.fac_tracking_datum,
|
||||
sn.fac_srtnotificatie_code,
|
||||
pf.prs_perslid_naam_full
|
||||
FROM fac_tracking t,
|
||||
fac_srtnotificatie sn,
|
||||
res_rsv_ruimte rrr,
|
||||
res_activiteit ra,
|
||||
prs_v_aanwezigperslid p,
|
||||
prs_v_afdeling_boom ab,
|
||||
prs_v_perslid_fullnames pf
|
||||
WHERE t.fac_tracking_datum > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_key = 38 -- RESDEL
|
||||
AND t.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||||
AND t.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||||
AND ab.prs_afdeling_key3 = 2867 -- Afd. Meldingenproces
|
||||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM res_rsv_ruimte
|
||||
WHERE res_rsv_ruimte_verwijder IS NOT NULL
|
||||
AND res_reservering_key = rrr.res_reservering_key
|
||||
AND res_rsv_ruimte_volgnr < rrr.res_rsv_ruimte_volgnr)) x
|
||||
LEFT JOIN -- Niet meetellen losse Artikel/Deel-reserveringen waar nooit iets bijgeboekt is!
|
||||
( SELECT res_rsv_ruimte_key, MIN (res_status_bo_key) status_bo_key
|
||||
FROM (SELECT res_rsv_ruimte_key, res_status_bo_key FROM res_rsv_artikel
|
||||
UNION
|
||||
SELECT res_rsv_ruimte_key, res_status_bo_key FROM res_rsv_deel)
|
||||
GROUP BY res_rsv_ruimte_key) ads -- Artikel/Deel-status
|
||||
ON x.res_rsv_ruimte_key = ads.res_rsv_ruimte_key
|
||||
WHERE x.res_status_bo_key IS NOT NULL OR ads.res_rsv_ruimte_key IS NOT NULL
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user