PCHW#37813 -- Implementatie Gemeente Westland
svn path=/Customer/trunk/; revision=35861
This commit is contained in:
@@ -27,8 +27,8 @@ AS
|
||||
p_alg_key IN NUMBER, -- Altijd gebouw of hoger, locatie niet ondersteund
|
||||
p_ins_key IN NUMBER)
|
||||
RETURN NUMBER;
|
||||
|
||||
FUNCTION get_index_value (p_date IN DATE, p_categorie IN VARCHAR2)
|
||||
|
||||
FUNCTION get_index_value (p_date IN DATE, p_categorie IN VARCHAR2)
|
||||
RETURN NUMBER;
|
||||
|
||||
FUNCTION klant_melding (p_melding_key IN NUMBER)
|
||||
@@ -57,34 +57,34 @@ AS
|
||||
AND NOT EXISTS (SELECT 1
|
||||
FROM pchx_monitoring
|
||||
WHERE melding_key = m2.mld_melding_key)
|
||||
AND m2.mld_stdmelding_key = std2.mld_stdmelding_key
|
||||
AND (
|
||||
AND m2.mld_stdmelding_key = std2.mld_stdmelding_key
|
||||
AND (
|
||||
(
|
||||
pchx.get_user = 'PCHW'
|
||||
AND std2.mld_stdmelding_malus IS NOT NULL -- alleen meldingen waarvoor een malus geldt
|
||||
AND std1.mld_Stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
|
||||
AND (
|
||||
AND std1.mld_Stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
|
||||
AND (
|
||||
( std1.mld_stdmeldinggroep_key = 181 -- Prestatiekortingen
|
||||
AND std1.mld_ins_discipline_key = std2.mld_ins_discipline_key)
|
||||
OR
|
||||
( std1.mld_stdmeldinggroep_key <> 181 -- Prestatiekortingen
|
||||
( std1.mld_stdmeldinggroep_key <> 181 -- Prestatiekortingen
|
||||
AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte
|
||||
)
|
||||
)
|
||||
OR
|
||||
( pchx.get_user = 'PCHA'
|
||||
AND std1.mld_ins_discipline_key NOT IN (232,220) -- V-G en W-R koppelen we nooit
|
||||
AND std1.mld_stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
|
||||
AND (
|
||||
AND std1.mld_stdmeldinggroep_key = std2.mld_stdmeldinggroep_key -- voor stdmeldinggroep
|
||||
AND (
|
||||
( std1.mld_stdmeldinggroep_key = 161 -- FTRC
|
||||
AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte
|
||||
OR
|
||||
( std1.mld_stdmeldinggroep_key <> 161 -- FTRC
|
||||
( std1.mld_stdmeldinggroep_key <> 161 -- FTRC
|
||||
AND m1.mld_alg_onroerendgoed_keys = m2.mld_alg_onroerendgoed_keys) -- op dezelfde ruimte
|
||||
AND std1.mld_ins_discipline_key = std2.mld_ins_discipline_key -- zelfde vakgroep.
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
AND m1.mld_melding_key <> m2.mld_melding_key
|
||||
AND m2.mld_melding_indult <> 1
|
||||
AND m2.mld_melding_status <> 1 -- Afgewezen
|
||||
@@ -103,7 +103,7 @@ AS
|
||||
IF pchx_mon.klant_melding (p_melding_key) = 0 THEN
|
||||
RETURN p_melding_key;
|
||||
END IF;
|
||||
|
||||
|
||||
SELECT mld_melding_datum
|
||||
INTO v_datum_begin
|
||||
FROM mld_melding
|
||||
@@ -116,18 +116,18 @@ AS
|
||||
|
||||
-- door de sortering op de cursor hoeven we alleen het eerste record te gebruiken tenzij deze niet door de klant is ingediend.
|
||||
IF p_index < 10 AND v_loop_index = 1
|
||||
|
||||
|
||||
THEN
|
||||
-- DBMS_OUTPUT.put_line(p_melding_key || '-' || rec.mld_melding_key || '-' || p_index);
|
||||
-- DBMS_OUTPUT.put_line('Klant melding: ' || '-' || pchx_mon.klant_melding (rec.mld_melding_key));
|
||||
IF pchx_mon.klant_melding (rec.mld_melding_key) = 1
|
||||
THEN
|
||||
THEN
|
||||
BEGIN
|
||||
l_melding_key :=
|
||||
PCHX_MON.get_first_melding (rec.mld_melding_key, p_index + 1);
|
||||
END;
|
||||
--- DBMS_OUTPUT.put_line('Resultaat: ' || rec.mld_melding_key || '-' || l_melding_key);
|
||||
|
||||
|
||||
SELECT mld_melding_datum
|
||||
INTO l_datum_begin
|
||||
FROM mld_melding
|
||||
@@ -140,13 +140,13 @@ AS
|
||||
END IF;
|
||||
v_loop_index := v_loop_index + 1;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
END LOOP;
|
||||
|
||||
IF pchx_mon.klant_melding (v_melding_key) = 1
|
||||
THEN
|
||||
RETURN v_melding_key;
|
||||
ELSE
|
||||
ELSE
|
||||
RETURN p_melding_key;
|
||||
END IF;
|
||||
END;
|
||||
@@ -219,7 +219,7 @@ AS
|
||||
|
||||
FUNCTION get_index_value (p_date IN DATE, p_categorie IN VARCHAR2)
|
||||
RETURN NUMBER
|
||||
|
||||
|
||||
AS
|
||||
v_index_1_key NUMBER;
|
||||
v_index_4_key NUMBER;
|
||||
@@ -233,8 +233,8 @@ AS
|
||||
v_index_25_key NUMBER;
|
||||
v_index_28_key NUMBER;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
v_index_1_value NUMBER;
|
||||
v_index_4_value NUMBER;
|
||||
v_index_5_value NUMBER;
|
||||
@@ -246,7 +246,7 @@ AS
|
||||
v_index_24_value NUMBER;
|
||||
v_index_25_value NUMBER;
|
||||
v_index_28_value NUMBER;
|
||||
|
||||
|
||||
v_result NUMBER;
|
||||
BEGIN
|
||||
IF PCHX.get_user = 'PCHA'
|
||||
@@ -275,9 +275,9 @@ AS
|
||||
v_index_19_value := get_index_value (p_date, v_index_19_key);
|
||||
v_index_20_value := get_index_value (p_date, v_index_20_key);
|
||||
v_index_24_value := get_index_value (p_date, v_index_24_key);
|
||||
v_index_25_value := get_index_value (p_date, v_index_25_key);
|
||||
v_index_25_value := get_index_value (p_date, v_index_25_key);
|
||||
v_index_28_value := get_index_value (p_date, v_index_28_key);
|
||||
|
||||
|
||||
CASE p_categorie
|
||||
WHEN 'MON'
|
||||
THEN v_result := v_index_1_value;
|
||||
@@ -316,7 +316,7 @@ AS
|
||||
WHEN 'SVD13'
|
||||
THEN v_result := 0.2 * v_index_10_value + 0.8 * v_index_19_value;
|
||||
ELSE v_result := 1;
|
||||
END CASE;
|
||||
END CASE;
|
||||
RETURN v_result;
|
||||
END;
|
||||
|
||||
@@ -335,14 +335,14 @@ AS
|
||||
AND m.mld_melding_key = p_melding_key;
|
||||
RETURN v_klant_melding;
|
||||
EXCEPTION WHEN OTHERS
|
||||
THEN
|
||||
THEN
|
||||
RETURN 0;
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
-- Monitoring
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW pchx_v_startmelding_geg
|
||||
(
|
||||
@@ -533,7 +533,7 @@ AS
|
||||
mld_stdmeldinggroep_naam groep,
|
||||
bk basiskorting,
|
||||
vk variabelekorting,
|
||||
DECODE (telaat, 1, ROUND (g.uitloop.tijdsduur, 2)) wht_tht,
|
||||
DECODE (telaat, 1, ROUND (g.uitloop.tijdsduur, 2)) wht_tht,
|
||||
DECODE (
|
||||
telaat,
|
||||
1, -- Westland rond de breuk af op 1 decimaal en HGH rond af op gehele getallen.
|
||||
@@ -555,7 +555,7 @@ AS
|
||||
WHERE prs_dienst_key = g.prs_dienst_key),
|
||||
mld_stdmelding_key,
|
||||
mld_ins_discipline_key,
|
||||
DECODE(overlappend, NULL, NULL, overlappend || ',') ||
|
||||
DECODE(overlappend, NULL, NULL, overlappend || ',') ||
|
||||
(SELECT listagg (m2.mld_melding_key, ',') WITHIN GROUP (ORDER BY m2.mld_melding_key)
|
||||
AS overlappend
|
||||
FROM mld_melding m2
|
||||
@@ -773,9 +773,9 @@ AS
|
||||
FROM pchx_monitoring
|
||||
WHERE melding_key = m.mld_melding_key)
|
||||
AND m.mld_stdmelding_key = std.mld_stdmelding_key -- alleen meldingen waarvoor een malus geldt
|
||||
AND (std.mld_stdmelding_malus IS NOT NULL OR EXISTS (SELECT mld_stdmsrtruimte_key FROM mld_stdmsrtruimte stdsr WHERE stdsr.mld_stdmelding_key = std.mld_stdmelding_key));
|
||||
AND (std.mld_stdmelding_malus IS NOT NULL OR EXISTS (SELECT mld_stdmsrtruimte_key FROM mld_stdmsrtruimte stdsr WHERE stdsr.mld_stdmelding_key = std.mld_stdmelding_key));
|
||||
|
||||
-- Het rapport monitoring totaal bevat alle kortingen van de afgelopen maand als deze nog niet
|
||||
-- Het rapport monitoring totaal bevat alle kortingen van de afgelopen maand als deze nog niet
|
||||
-- bevroren zijn. Als dit wel zo is dan bevat het rapport de gegevens van de huidige maand.
|
||||
CREATE OR REPLACE VIEW pchx_v_monitoring_tot
|
||||
(
|
||||
@@ -848,9 +848,10 @@ AS
|
||||
bedrijf_malus,
|
||||
prefix
|
||||
FROM pchx_v_monitoring
|
||||
WHERE totaal IS NOT NULL AND ( (status = 'Afgemeld' AND afw IS NULL) OR (status = 'Historie'))
|
||||
AND (gereed < TRUNC (SYSDATE, 'MONTH')
|
||||
OR TRUNC (SYSDATE, 'MONTH') =
|
||||
WHERE totaal IS NOT NULL
|
||||
AND ( (status = 'Afgemeld' AND afw IS NULL) OR (status = 'Historie'))
|
||||
AND (gereed < TRUNC (SYSDATE, 'MONTH') -- Vorige maand afgemeld als we al over de maandgrens zitten.
|
||||
OR TRUNC (SYSDATE, 'MONTH') = -- Huidige maand. Dan is de huidige maand gelijk aan de maand van de laatste export
|
||||
(SELECT TRUNC (MAX (export_datum), 'MONTH') FROM pchx_monitoring))
|
||||
UNION ALL
|
||||
SELECT NULL melding_key,
|
||||
@@ -862,8 +863,8 @@ AS
|
||||
NULL verdieping,
|
||||
NULL ruimte,
|
||||
NULL omschrijving,
|
||||
NULL begin,
|
||||
NULL gereed,
|
||||
ADD_MONTHS(TRUNC (SYSDATE, 'MONTH'), -1) begin,
|
||||
TRUNC (SYSDATE, 'MONTH') gereed,
|
||||
NULL thtijdstip,
|
||||
NULL verwerkt,
|
||||
NULL eenheid,
|
||||
@@ -888,7 +889,9 @@ AS
|
||||
NULL prefix
|
||||
FROM pchx_v_monitoring
|
||||
WHERE PCHX.get_user = 'PCHW'
|
||||
AND totaal IS NOT NULL AND ( (status = 'Afgemeld' AND afw IS NULL) OR (status = 'Historie'))
|
||||
AND totaal IS NOT NULL
|
||||
AND totaal <> 0
|
||||
AND ( (status = 'Afgemeld' AND afw IS NULL) OR (status = 'Historie'))
|
||||
AND (gereed < TRUNC (SYSDATE, 'MONTH')
|
||||
OR TRUNC (SYSDATE, 'MONTH') =
|
||||
(SELECT TRUNC (MAX (export_datum), 'MONTH') FROM pchx_monitoring))
|
||||
@@ -903,8 +906,8 @@ AS
|
||||
NULL verdieping,
|
||||
NULL ruimte,
|
||||
NULL omschrijving,
|
||||
NULL begin,
|
||||
NULL gereed,
|
||||
ADD_MONTHS(TRUNC (SYSDATE, 'MONTH'), -1) begin,
|
||||
TRUNC (SYSDATE, 'MONTH') gereed,
|
||||
NULL thtijdstip,
|
||||
NULL verwerkt,
|
||||
NULL eenheid,
|
||||
@@ -933,7 +936,7 @@ AS
|
||||
AND (gereed < TRUNC (SYSDATE, 'MONTH')
|
||||
OR TRUNC (SYSDATE, 'MONTH') =
|
||||
(SELECT TRUNC (MAX (export_datum), 'MONTH') FROM pchx_monitoring))
|
||||
GROUP BY 'Overschrijding';
|
||||
GROUP BY 'Overschrijding';
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW pchx_v_monitoring_history
|
||||
@@ -1236,7 +1239,7 @@ AS
|
||||
|
||||
-- !!! controleer ook meldingen die aan elkaar gekoppeld zijn !!!!!!!!!!!!!!!!!!
|
||||
CURSOR c2
|
||||
IS
|
||||
IS
|
||||
SELECT m_start,
|
||||
m.mld_melding_key,
|
||||
(SELECT mld_melding_status
|
||||
@@ -1264,14 +1267,14 @@ AS
|
||||
|
||||
CURSOR c_svd_opdracht
|
||||
IS
|
||||
SELECT * FROM pchx_v_rap_svd
|
||||
SELECT * FROM pchx_v_rap_svd
|
||||
WHERE status = 'Afgerond'
|
||||
AND xml_node = 'opdracht'
|
||||
AND datum < TRUNC (SYSDATE, 'MONTH');
|
||||
|
||||
CURSOR c_svd_artikel
|
||||
IS
|
||||
SELECT * FROM pchx_v_rap_svd
|
||||
SELECT * FROM pchx_v_rap_svd
|
||||
WHERE status = 'Afgemeld'
|
||||
AND xml_node = 'artikel'
|
||||
AND datum < TRUNC (SYSDATE, 'MONTH');
|
||||
@@ -1286,7 +1289,7 @@ BEGIN
|
||||
SELECT MAX(export_datum)
|
||||
INTO v_lastexport
|
||||
FROM pchx_monitoring;
|
||||
|
||||
|
||||
IF TRUNC (COALESCE(v_lastexport, SYSDATE-100), 'MONTH') <> TRUNC(v_exportdate, 'MONTH')
|
||||
THEN
|
||||
-- Zet de meldingen die geen afwijking kennen en die niet op status afgerond staan naar status verwerkt
|
||||
@@ -1298,8 +1301,8 @@ BEGIN
|
||||
END;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
|
||||
|
||||
-- zet slave meldingen van samenvallende meldingen ook op verwerkt
|
||||
FOR rec IN c2
|
||||
LOOP
|
||||
@@ -1312,8 +1315,8 @@ BEGIN
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
|
||||
|
||||
-- Voeg de entries uit het monitoringsoverzicht toe aan de freeze tabel.
|
||||
FOR rec IN c3
|
||||
LOOP
|
||||
@@ -1350,6 +1353,8 @@ BEGIN
|
||||
kinderen,
|
||||
prs_bedrijf_naam,
|
||||
klant_melding,
|
||||
melding_omschrijving,
|
||||
melding_opmerking,
|
||||
export_datum,
|
||||
bedrijf_malus,
|
||||
prefix)
|
||||
@@ -1384,13 +1389,15 @@ BEGIN
|
||||
rec.kinderen,
|
||||
rec.bedrijf_naam,
|
||||
rec.klant_melding,
|
||||
rec.melding_omschrijving,
|
||||
rec.melding_opmerking,
|
||||
v_exportdate,
|
||||
rec.bedrijf_malus,
|
||||
rec.prefix);
|
||||
END;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
|
||||
INSERT INTO pchx_monitoring (melding_key, export_datum)
|
||||
SELECT mld_melding_key, SYSDATE
|
||||
FROM mld_melding m
|
||||
@@ -1401,25 +1408,25 @@ BEGIN
|
||||
FROM pchx_monitoring nm
|
||||
WHERE nm.melding_key IS NOT NULL);
|
||||
|
||||
SELECT SUM(totaal)
|
||||
SELECT SUM(totaal)
|
||||
INTO v_kortingen_totaal
|
||||
FROM pchx_monitoring
|
||||
FROM pchx_monitoring
|
||||
WHERE export_datum = v_exportdate;
|
||||
|
||||
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel, fac_rapport_volgnr)
|
||||
VALUES ('FREEZE', 'Kortingen totaal: ' || v_kortingen_totaal, 1);
|
||||
|
||||
ELSE
|
||||
ELSE
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel, fac_rapport_volgnr)
|
||||
VALUES ('FREEZE', 'Kortingen zijn al bevroren deze maand op ' || TO_CHAR(v_lastexport, 'dd-mm-yyyy hh24:mi:ss'), 1);
|
||||
VALUES ('FREEZE', 'Kortingen zijn al bevroren deze maand op ' || TO_CHAR(v_lastexport, 'dd-mm-yyyy hh24:mi:ss'), 1);
|
||||
END IF;
|
||||
|
||||
|
||||
-- Freeze van SVD's
|
||||
-- Als ik deze maand al een freeze heb uitgevoerd dan mag ik dat niet nog een keer doen.
|
||||
SELECT MAX(export_datum)
|
||||
INTO v_lastexport
|
||||
FROM pchx_svd;
|
||||
|
||||
|
||||
IF TRUNC (COALESCE(v_lastexport, SYSDATE-100), 'MONTH') <> TRUNC(v_exportdate, 'MONTH')
|
||||
THEN
|
||||
FOR rec IN c_svd_opdracht
|
||||
@@ -1449,13 +1456,13 @@ BEGIN
|
||||
rec.totaal,
|
||||
rec.index_totaal,
|
||||
rec.mld_opdr_key,
|
||||
rec.lomschr,
|
||||
rec.lomschr,
|
||||
rec.kostensoort,
|
||||
rec.kostenkenmerk,
|
||||
v_exportdate);
|
||||
|
||||
|
||||
mld.setopdrachtstatus (rec.mld_opdr_key, 7, NULL);
|
||||
|
||||
|
||||
mld.updatemeldingstatus (rec.mld_melding_key, 0, NULL);
|
||||
END;
|
||||
END LOOP;
|
||||
@@ -1487,11 +1494,11 @@ BEGIN
|
||||
rec.totaal,
|
||||
rec.index_totaal,
|
||||
rec.mld_opdr_key,
|
||||
rec.lomschr,
|
||||
rec.lomschr,
|
||||
rec.kostensoort,
|
||||
rec.kostenkenmerk,
|
||||
v_exportdate);
|
||||
|
||||
|
||||
UPDATE res_rsv_artikel rra
|
||||
SET res_rsv_artikel_verwerkt = v_exportdate, res_status_bo_key = 6
|
||||
WHERE rra.res_rsv_artikel_key = rec.mld_opdr_key;
|
||||
@@ -1500,17 +1507,17 @@ BEGIN
|
||||
|
||||
|
||||
|
||||
SELECT SUM(totaal)
|
||||
SELECT SUM(totaal)
|
||||
INTO v_svd_totaal
|
||||
FROM pchx_svd
|
||||
WHERE export_datum = v_exportdate;
|
||||
|
||||
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel, fac_rapport_volgnr)
|
||||
VALUES ('FREEZE', 'Kortingen totaal: ' || v_svd_totaal, 2);
|
||||
ELSE
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel, fac_rapport_volgnr)
|
||||
VALUES ('FREEZE', 'SVDs zijn al bevroren deze maand op ' || TO_CHAR(v_lastexport, 'dd-mm-yyyy hh24:mi:ss'), 2);
|
||||
END IF;
|
||||
VALUES ('FREEZE', 'SVDs zijn al bevroren deze maand op ' || TO_CHAR(v_lastexport, 'dd-mm-yyyy hh24:mi:ss'), 2);
|
||||
END IF;
|
||||
COMMIT;
|
||||
END pchx_select_freeze_mon;
|
||||
/
|
||||
|
||||
Reference in New Issue
Block a user