CSUN#39050 -- Reminders filteren bij mailontvangst
CSUN#38640 -- Koppeling CSU met PostNL svn path=/Customer/trunk/; revision=32640
This commit is contained in:
230
CSUN/CSUN.sql
230
CSUN/CSUN.sql
@@ -1,12 +1,22 @@
|
||||
-- Script containing customer specific configuration sql statements for CSUN: CSU National Accounts
|
||||
-- (c) 2011 SG|facilitor
|
||||
-- $Revision$
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Support: +31 53 4800710
|
||||
SPOOL xCSUN.LST
|
||||
-- Script containing customer specific configuration sql statements for CSUN: CSU National Accounts
|
||||
|
||||
DEFINE thisfile = 'CSUN.SQL'
|
||||
DEFINE dbuser = '^CSUN'
|
||||
|
||||
SET ECHO ON
|
||||
--------------
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SPOOL &fcltlogfile
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
CREATE OR REPLACE PROCEDURE csun_imp_writelog (
|
||||
p_import_key IN NUMBER,
|
||||
p_severity IN VARCHAR2,
|
||||
@@ -53,6 +63,40 @@ AS
|
||||
AND i.fac_import_app_key = a.fac_import_app_key(+)
|
||||
AND l.imp_log_datum > sysdate -10;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE csun_add_xml_row (
|
||||
p_bestand IN VARCHAR2,
|
||||
p_regel IN VARCHAR2)
|
||||
AS
|
||||
v_index NUMBER;
|
||||
BEGIN
|
||||
SELECT COALESCE( MAX(fac_rapport_volgnr), 0) + 1
|
||||
INTO v_index
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node = p_bestand;
|
||||
|
||||
INSERT INTO fac_rapport (
|
||||
fac_rapport_node,
|
||||
fac_rapport_volgnr,
|
||||
fac_rapport_regel)
|
||||
VALUES (p_bestand,
|
||||
v_index,
|
||||
p_regel);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE csun_add_xml_element (
|
||||
p_bestand IN VARCHAR2,
|
||||
p_tag IN VARCHAR2,
|
||||
p_value IN VARCHAR2)
|
||||
AS
|
||||
BEGIN
|
||||
csun_add_xml_row(p_bestand,
|
||||
'<' || p_tag || '>'
|
||||
|| xml.char_to_html(p_value)
|
||||
|| '</' || p_tag || '>');
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE CSUN_RAP
|
||||
AS
|
||||
-- PACKAGES voor de CSUN specifieke rapportages
|
||||
@@ -812,6 +856,29 @@ BEGIN
|
||||
|
||||
-- DBMS_OUTPUT.PUT_LINE('mld_stdmelding_key: ' || TO_CHAR(stdmelding));
|
||||
|
||||
IF mldkey IS NULL
|
||||
THEN
|
||||
BEGIN
|
||||
-- controleren of we deze melding al eerder ontvangen hebben en dit een update / reminder betreft.
|
||||
SELECT mld_melding_key, mld_stdmelding_key
|
||||
INTO mldkey, stdmelding
|
||||
FROM mld_melding m
|
||||
WHERE m.prs_perslid_key = sender
|
||||
AND ( (psubject LIKE '%' || m.mld_melding_externnr || '%'
|
||||
AND m.mld_melding_externnr IS NOT NULL)
|
||||
OR (EXISTS
|
||||
(SELECT mld_kenmerkmelding_key
|
||||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||||
WHERE km.mld_melding_key = m.mld_melding_key
|
||||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = 2
|
||||
AND psubject LIKE '%' || km.mld_kenmerkmelding_waarde || '%')));
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
mldkey := NULL;
|
||||
stdmelding := NULL;
|
||||
END;
|
||||
END IF;
|
||||
BEGIN
|
||||
SELECT mld_melding_behandelaar_key
|
||||
INTO behandelaar_key
|
||||
@@ -2325,6 +2392,143 @@ INSERT INTO prs_perslidwerkplek (prs_perslid_key, prs_perslidwerkplek_bezetting,
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
-- Statusberichten die voor de koppeling met Axxerion op de SFTP server geplaatst worden.
|
||||
-- Is copy van RABO
|
||||
CREATE OR REPLACE VIEW csun_v_export_status_axxerion (
|
||||
result,
|
||||
result_order
|
||||
)
|
||||
AS
|
||||
SELECT fac_rapport_regel, fac_rapport_volgnr
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node = SUBSTR ('STATUS_AXXERION', 1, 12);
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE csun_select_status_axxerion (p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
CURSOR c (
|
||||
p_from DATE,
|
||||
p_to DATE)
|
||||
IS
|
||||
SELECT mld_melding_externnr,
|
||||
fac_tracking_datum,
|
||||
DECODE (sn.fac_srtnotificatie_code,
|
||||
'MLDACP', 'ACCEPT',
|
||||
'MLDREJ', 'REJECT',
|
||||
'MLDAFM', 'CLOSE',
|
||||
'MLDAFR', 'FINCLOSE',
|
||||
'MLDUPD', 'UPDATE',
|
||||
'Invalid')
|
||||
status,
|
||||
mld_melding_einddatum,
|
||||
mld_melding_opmerking,
|
||||
DECODE (fac_srtnotificatie_code, 'MLDUPD', 1, 0) volgorde
|
||||
FROM fac_tracking t, fac_srtnotificatie sn, mld_melding m
|
||||
WHERE fac_tracking_datum BETWEEN p_from AND p_to
|
||||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||
AND t.fac_tracking_refkey = m.mld_melding_key
|
||||
AND m.mld_melding_externnr IS NOT NULL
|
||||
AND m.prs_perslid_key = 8902 -- melding is geinitieerd via de PostNL koppeling.
|
||||
AND (sn.fac_srtnotificatie_code = 'MLDACP'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDREJ'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDAFM'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDAFR'
|
||||
OR sn.fac_srtnotificatie_code = 'MLDUPD')
|
||||
ORDER BY mld_melding_externnr, volgorde, fac_tracking_datum;
|
||||
|
||||
v_from DATE;
|
||||
v_to DATE;
|
||||
v_count NUMBER;
|
||||
v_externnr VARCHAR2 (10);
|
||||
v_bestand VARCHAR2 (100);
|
||||
v_empty NUMBER;
|
||||
BEGIN
|
||||
v_count := 0;
|
||||
v_empty := 1;
|
||||
v_externnr := '9999';
|
||||
v_bestand := SUBSTR (p_applname, 1, 12);
|
||||
|
||||
-- de laatste synchronisatietijd wordt opgeslagen in fac_rapport met een speciale node naam eindigend op een 1.
|
||||
-- mocht deze niet gevuld zijn (initieel) dan gebruiken we het huidige uur.
|
||||
BEGIN
|
||||
SELECT fac.safe_to_date (fac_rapport_regel, 'yyyy-mm-dd hh24:mi')
|
||||
INTO v_from
|
||||
FROM fac_rapport
|
||||
WHERE SUBSTR (v_bestand, 1, 11) || '1' = fac_rapport_node;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_from := TRUNC (SYSDATE, 'HH24');
|
||||
END;
|
||||
|
||||
-- het einde van de periode mag niet verder liggen dan de huidige tijd
|
||||
v_to := v_from + 1 / (24 * 4);
|
||||
|
||||
IF v_to > SYSDATE
|
||||
THEN
|
||||
v_to := v_from;
|
||||
END IF;
|
||||
|
||||
-- Eerst opruiming
|
||||
DELETE FROM imp_log
|
||||
WHERE imp_log_applicatie = p_applname;
|
||||
|
||||
DELETE fac_rapport
|
||||
WHERE fac_rapport_node = v_bestand;
|
||||
|
||||
-- als de export een tijdje niet gedraaid is dan halen we dit weer in door de periode groter te maken.
|
||||
WHILE v_to + 1 / (24 * 4) < SYSDATE AND v_count < 10
|
||||
LOOP
|
||||
v_to := v_to + 1 / (24 * 4);
|
||||
v_count := v_count + 1;
|
||||
END LOOP;
|
||||
|
||||
-- header
|
||||
csun_add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>');
|
||||
csun_add_xml_row (v_bestand, '<facilitor>');
|
||||
csun_add_xml_row (v_bestand, '<meldingstatusses>');
|
||||
|
||||
FOR rec IN c (v_from, v_to)
|
||||
LOOP
|
||||
v_empty := 0;
|
||||
|
||||
IF NOT (rec.mld_melding_externnr = v_externnr AND rec.status = 'UPDATE')
|
||||
THEN
|
||||
v_externnr := rec.mld_melding_externnr;
|
||||
csun_add_xml_row (v_bestand, '<meldingstatus key="' || rec.mld_melding_externnr || '">');
|
||||
csun_add_xml_element (v_bestand,
|
||||
'timestamp',
|
||||
TO_CHAR (rec.fac_tracking_datum, 'dd-mm-yyyy hh24:mi'));
|
||||
csun_add_xml_element (v_bestand, 'status', rec.status);
|
||||
csun_add_xml_element (v_bestand, 'afhandeling', rec.mld_melding_opmerking);
|
||||
csun_add_xml_element (v_bestand,
|
||||
'oplosdatum',
|
||||
TO_CHAR (rec.mld_melding_einddatum, 'dd-mm-yyyy hh24:mi'));
|
||||
csun_add_xml_row (v_bestand, '</meldingstatus>');
|
||||
END IF;
|
||||
END LOOP;
|
||||
|
||||
csun_add_xml_row (v_bestand, '</meldingstatusses>');
|
||||
csun_add_xml_row (v_bestand, '</facilitor>');
|
||||
|
||||
-- Als er niet geexporteerd is dan gaan we alle regels verwijderen
|
||||
-- zodat er niet een leeg xml bestand komt te staan met alleen de facilitor tags.
|
||||
IF v_empty = 1
|
||||
THEN
|
||||
DELETE fac_rapport
|
||||
WHERE fac_rapport_node = v_bestand;
|
||||
END IF;
|
||||
|
||||
DELETE fac_rapport
|
||||
WHERE fac_rapport_node = SUBSTR (v_bestand, 1, 11) || '1';
|
||||
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel)
|
||||
VALUES (SUBSTR (v_bestand, 1, 11) || '1', TO_CHAR (v_to, 'yyyy-mm-dd hh24:mi'));
|
||||
END;
|
||||
/
|
||||
|
||||
---- CSUN#25915: Portaal specials...
|
||||
---- Drie Grafieken, scope op afdelingnivo1 (BU):
|
||||
-- 1. openstaande meldingen per vakgroep.
|
||||
@@ -2429,9 +2633,15 @@ AS
|
||||
|
||||
|
||||
|
||||
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
||||
/
|
||||
BEGIN fac.registercustversion('CSUN', 20); END;
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
spool off
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
|
||||
|
||||
Reference in New Issue
Block a user