PCHA#64425 Aanpassing GBS import (meldingen zonder korting)
svn path=/Customer/trunk/; revision=49238
This commit is contained in:
157
PCHA/pcha.sql
157
PCHA/pcha.sql
@@ -1463,7 +1463,7 @@ AS
|
||||
v_date DATE;
|
||||
v_sync_bericht6 NUMBER;
|
||||
v_sync_bericht8 NUMBER;
|
||||
v_korting NUMBER;
|
||||
v_korting NUMBER;
|
||||
v_count NUMBER;
|
||||
v_error NUMBER;
|
||||
v_errormsg VARCHAR2 (100);
|
||||
@@ -1480,7 +1480,7 @@ BEGIN
|
||||
v_errormsg := '';
|
||||
v_sync_bericht6 := 0;
|
||||
v_sync_bericht8 := 0;
|
||||
v_korting := 0;
|
||||
v_korting := 1;
|
||||
|
||||
-- Verwijder de Bounce Address Tag Validation
|
||||
IF pfrom LIKE 'prvs=%'
|
||||
@@ -1506,7 +1506,8 @@ BEGIN
|
||||
-- filter nu de essentiele velden uit de mailbody
|
||||
-- vervang cr door lf
|
||||
-- MOETEN WE EEN FALLBACK STDMELDING KEY DEFINIEREN??????????????????????
|
||||
v_stdmelding_key := fac.safe_to_number (fac.getsetting ('defaultstdmelding'));
|
||||
v_stdmelding_key :=
|
||||
fac.safe_to_number (fac.getsetting ('defaultstdmelding'));
|
||||
|
||||
v_body := REPLACE (v_body, CHR (13), CHR (10));
|
||||
-- verwijder dubbele lf's
|
||||
@@ -1528,22 +1529,18 @@ BEGIN
|
||||
-- NULL);
|
||||
errormsg := '(0x1452)';
|
||||
|
||||
-- PCHA#64425: Bepalen welke vakgroeptype de melding in moet gaan (wel of niet korting)
|
||||
CASE v_tag
|
||||
WHEN 'MELDINGSGROEP'
|
||||
THEN
|
||||
CASE TRIM (UPPER (v_value))
|
||||
WHEN 'FMIS FTRC (F)'
|
||||
THEN
|
||||
v_korting := 1;
|
||||
WHEN 'FMIS V&G (V)'
|
||||
THEN
|
||||
v_korting := 1;
|
||||
EXIT;
|
||||
WHEN 'FMIS COMFORT'
|
||||
THEN
|
||||
v_korting := 0;
|
||||
END CASE;
|
||||
|
||||
END CASE;
|
||||
|
||||
CASE v_tag
|
||||
WHEN 'MELDINGSTEKST'
|
||||
THEN
|
||||
v_onderwerp := SUBSTR (v_value, 1, 60);
|
||||
@@ -1566,6 +1563,7 @@ BEGIN
|
||||
END CASE;
|
||||
|
||||
errormsg := '(0x1454)';
|
||||
|
||||
BEGIN
|
||||
-- Zoek omschrijving op in eigen tabel met key 221 (met korting) of 501 (zonder korting)
|
||||
CASE v_korting
|
||||
@@ -1588,8 +1586,7 @@ BEGIN
|
||||
TRIM (UPPER (v_value))
|
||||
AND fac_usrtab_key = 221; -- Hier staat de verwijzing naar de Stdmeldingen met korting
|
||||
END CASE;
|
||||
|
||||
EXCEPTION
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_error := 1;
|
||||
@@ -1603,11 +1600,16 @@ BEGIN
|
||||
WHEN 'INSTALLATIEDEEL'
|
||||
THEN
|
||||
-- plak er ' x' achter om er zeker van te zijn dat er een spatie in staat.
|
||||
v_ruimte := UPPER(SUBSTR(TRIM (v_value), 1, INSTR(TRIM(v_value || ' x'), ' ')-1));
|
||||
v_ruimte :=
|
||||
UPPER(SUBSTR (TRIM (v_value),
|
||||
1,
|
||||
INSTR (TRIM (v_value || ' x'), ' ') - 1));
|
||||
errormsg := '(0x1455)';
|
||||
|
||||
BEGIN
|
||||
SELECT alg_ruimte_key, alg_locatie_key, alg_srtruimte_key
|
||||
SELECT alg_ruimte_key,
|
||||
alg_locatie_key,
|
||||
alg_srtruimte_key
|
||||
INTO v_ruimte_key, v_locatie_key, v_srtruimte_key
|
||||
FROM alg_v_ruimte_gegevens
|
||||
WHERE UPPER (alg_ruimte_nr) = v_ruimte;
|
||||
@@ -1615,7 +1617,8 @@ BEGIN
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
v_error := 1;
|
||||
v_errormsg := 'Ruimte kan niet gevonden worden: ' || v_ruimte;
|
||||
v_errormsg :=
|
||||
'Ruimte kan niet gevonden worden: ' || v_ruimte;
|
||||
END;
|
||||
WHEN 'INSTALLATIECODE'
|
||||
THEN
|
||||
@@ -1628,7 +1631,7 @@ BEGIN
|
||||
v_datum := TRIM (v_value);
|
||||
WHEN 'ONDERSTATION TIJD'
|
||||
THEN
|
||||
v_tijdstip := TRIM(v_value);
|
||||
v_tijdstip := TRIM (v_value);
|
||||
ELSE
|
||||
NULL;
|
||||
END CASE;
|
||||
@@ -1637,12 +1640,15 @@ BEGIN
|
||||
IF v_error = 0 AND v_sync_bericht6 = 0 AND v_sync_bericht8 = 0
|
||||
THEN
|
||||
-- bepalen van de timestamp uit het emailbericht
|
||||
v_date := fac.safe_to_date(v_datum || ' ' || v_tijdstip, 'dd-mm-yyyy hh24:mi.ss');
|
||||
v_date :=
|
||||
fac.safe_to_date (v_datum || ' ' || v_tijdstip,
|
||||
'dd-mm-yyyy hh24:mi.ss');
|
||||
|
||||
IF v_date IS NULL
|
||||
THEN
|
||||
v_date := SYSDATE;
|
||||
END IF;
|
||||
|
||||
-- nu gaan we de hersteltijd bepalen
|
||||
errormsg := '(0x147)';
|
||||
|
||||
@@ -1651,7 +1657,8 @@ BEGIN
|
||||
SELECT mld_stdmsrtruimte_t_uitvtijd
|
||||
INTO v_uitvoertijd
|
||||
FROM mld_stdmsrtruimte
|
||||
WHERE alg_srtruimte_key = v_srtruimte_key AND mld_stdmelding_key = v_stdmelding_key;
|
||||
WHERE alg_srtruimte_key = v_srtruimte_key
|
||||
AND mld_stdmelding_key = v_stdmelding_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
@@ -1670,12 +1677,17 @@ BEGIN
|
||||
SELECT MIN (m.mld_melding_key), COUNT (m.mld_melding_key)
|
||||
INTO v_melding_key, v_count
|
||||
FROM mld_melding m, mld_kenmerkmelding km
|
||||
WHERE mld_stdmelding_key = v_stdmelding_key
|
||||
AND mld_alg_onroerendgoed_keys = v_ruimte_key
|
||||
AND mld_melding_status IN (0, 2, 3, 4, 7, 99) -- alles behalve 1=Afgewezen, 5= afgemeld, 6= historie
|
||||
AND km.mld_melding_key = m.mld_melding_key
|
||||
AND km.mld_kenmerk_key = 181
|
||||
AND km.mld_kenmerkmelding_waarde = v_installatiecode || ';' || v_status || ';' || v_onderwerp;
|
||||
WHERE mld_stdmelding_key = v_stdmelding_key
|
||||
AND mld_alg_onroerendgoed_keys = v_ruimte_key
|
||||
AND mld_melding_status IN (0, 2, 3, 4, 7, 99) -- alles behalve 1=Afgewezen, 5= afgemeld, 6= historie
|
||||
AND km.mld_melding_key = m.mld_melding_key
|
||||
AND km.mld_kenmerk_key = 181
|
||||
AND km.mld_kenmerkmelding_waarde =
|
||||
v_installatiecode
|
||||
|| ';'
|
||||
|| v_status
|
||||
|| ';'
|
||||
|| v_onderwerp;
|
||||
|
||||
IF UPPER (v_inuit) = 'IN'
|
||||
THEN
|
||||
@@ -1698,7 +1710,7 @@ BEGIN
|
||||
mld_alg_locatie_key,
|
||||
mld_alg_onroerendgoed_keys)
|
||||
VALUES ('MLD',
|
||||
4, -- email
|
||||
4, -- email
|
||||
v_date,
|
||||
v_onderwerp,
|
||||
v_omschrijving,
|
||||
@@ -1717,16 +1729,30 @@ BEGIN
|
||||
errormsg := '(0x165)';
|
||||
mld.setmeldingstatus (v_melding_key, 2, v_sender);
|
||||
|
||||
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
|
||||
VALUES (v_melding_key, 181, v_installatiecode || ';' || v_status || ';' || v_onderwerp);
|
||||
INSERT INTO mld_kenmerkmelding (mld_melding_key,
|
||||
mld_kenmerk_key,
|
||||
mld_kenmerkmelding_waarde)
|
||||
VALUES (v_melding_key,
|
||||
181,
|
||||
v_installatiecode
|
||||
|| ';'
|
||||
|| v_status
|
||||
|| ';'
|
||||
|| v_onderwerp);
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'maillog',
|
||||
'Geregistreerd onder melding ' || v_melding_key);
|
||||
ELSE
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
VALUES (psessionid, 'maillog', 'Melding bestaat al ' || v_melding_key);
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'maillog',
|
||||
'Melding bestaat al ' || v_melding_key);
|
||||
|
||||
v_error := 1;
|
||||
v_errormsg := 'Melding bestaat al ' || v_melding_key;
|
||||
@@ -1751,24 +1777,54 @@ BEGIN
|
||||
-- nu de status op afgemeld zetten.
|
||||
mld.setmeldingstatus (v_melding_key, 5, v_sender);
|
||||
|
||||
fac.backtrackaction('MLDAFM', v_melding_key , v_sender, v_date);
|
||||
fac.backtrackaction ('MLDAFM',
|
||||
v_melding_key,
|
||||
v_sender,
|
||||
v_date);
|
||||
|
||||
-- Vul het kenmerk Bedrijf (malus) met de waarde van Homij uit de eigen tabel
|
||||
mld.upsertmeldingkenmerk (61, v_melding_key, 182);
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'maillog',
|
||||
'Melding ' || v_melding_key || ' is afgemeld, aantal gevonden ' || v_count || ' Details: ' || v_installatiecode || ';' || v_status || ';' || v_onderwerp);
|
||||
|
||||
'Melding '
|
||||
|| v_melding_key
|
||||
|| ' is afgemeld, aantal gevonden '
|
||||
|| v_count
|
||||
|| ' Details: '
|
||||
|| v_installatiecode
|
||||
|| ';'
|
||||
|| v_status
|
||||
|| ';'
|
||||
|| v_onderwerp);
|
||||
ELSE
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'maillog',
|
||||
'Melding niet uniek gevonden, aantal gevonden ' || v_count || ' Details: ' || v_installatiecode || ';' || v_status || ';' || v_onderwerp);
|
||||
'Melding niet uniek gevonden, aantal gevonden '
|
||||
|| v_count
|
||||
|| ' Details: '
|
||||
|| v_installatiecode
|
||||
|| ';'
|
||||
|| v_status
|
||||
|| ';'
|
||||
|| v_onderwerp);
|
||||
|
||||
v_error := 1;
|
||||
v_errormsg := 'Melding niet uniek gevonden, aantal gevonden ' || v_count || ' Details: ' || v_installatiecode || ';' || v_status || ';' || v_onderwerp;
|
||||
v_errormsg :=
|
||||
'Melding niet uniek gevonden, aantal gevonden '
|
||||
|| v_count
|
||||
|| ' Details: '
|
||||
|| v_installatiecode
|
||||
|| ';'
|
||||
|| v_status
|
||||
|| ';'
|
||||
|| v_onderwerp;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
@@ -1802,20 +1858,31 @@ EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
-- DBMS_OUTPUT.PUT_LINE('Mail niet geaccepteerd: ' || 'OTHERS (error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100) || ')');
|
||||
INSERT INTO fac_result (fac_result_sessionid, fac_result_naam, fac_result_waarde)
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'maillog',
|
||||
'Database fout - Neem contact op met uw systeembeheerder ' || errormsg);
|
||||
'Database fout - Neem contact op met uw systeembeheerder '
|
||||
|| errormsg);
|
||||
|
||||
fac.writelog ('PROCESSEMAIL',
|
||||
'E',
|
||||
'Mail kon niet ingelezen worden afzender:' || pfrom || '[' || errormsg || ']',
|
||||
'OTHERS (error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100) || ')');
|
||||
fac.writelog (
|
||||
'PROCESSEMAIL',
|
||||
'E',
|
||||
'Mail kon niet ingelezen worden afzender:'
|
||||
|| pfrom
|
||||
|| '['
|
||||
|| errormsg
|
||||
|| ']',
|
||||
'OTHERS (error '
|
||||
|| SQLCODE
|
||||
|| '/'
|
||||
|| SUBSTR (SQLERRM, 1, 100)
|
||||
|| ')');
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
--Klant specifieke view voor het tonen van het totaal korting per kwartaal per onderwerp
|
||||
CREATE OR REPLACE VIEW pcha_v_totaal_korting_ond
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user