PCHW#51595 -- Rapport overschrijdingskorting
PCHW#51175 -- Kosten evenement svn path=/Customer/trunk/; revision=36395
This commit is contained in:
334
PCHW/pchw.sql
334
PCHW/pchw.sql
@@ -1541,36 +1541,124 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
--Klant specifieke view voor het tonen van het totaal aantal korting per onderwerp over 1 maand
|
||||
CREATE OR REPLACE VIEW PCHW_V_TOTAAL_KORTING_OND
|
||||
|
||||
CREATE OR REPLACE PROCEDURE pchw_select_freeze_cat (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT rra.res_rsv_artikel_key, rra.res_rsv_artikel_prijs
|
||||
FROM res_rsv_artikel rra, res_artikel ra
|
||||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||||
AND SUBSTR (ra.res_artikel_groep, 1, 3) <> 'SVD'
|
||||
AND res_status_bo_key = 5
|
||||
AND res_rsv_artikel_levering < TRUNC (SYSDATE, 'MONTH')
|
||||
AND res_rsv_artikel_verwijder IS NULL;
|
||||
|
||||
v_exportdate DATE;
|
||||
v_lastexport DATE;
|
||||
v_cat_totaal NUMBER(11,2);
|
||||
BEGIN
|
||||
v_exportdate := SYSDATE;
|
||||
v_cat_totaal := 0;
|
||||
-- Als ik deze maand al een freeze heb uitgevoerd dan mag ik dat niet nog een keer doen.
|
||||
SELECT MAX(res_rsv_artikel_verwerkt)
|
||||
INTO v_lastexport
|
||||
FROM res_rsv_artikel rra, res_artikel ra
|
||||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||||
AND SUBSTR (ra.res_artikel_groep, 1, 3) <> 'SVD';
|
||||
|
||||
IF TRUNC (v_lastexport, 'MONTH') <> TRUNC(v_exportdate, 'MONTH')
|
||||
THEN
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
UPDATE res_rsv_artikel
|
||||
SET res_status_bo_key = 6
|
||||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||||
v_cat_totaal := v_cat_totaal + rec.res_rsv_artikel_prijs;
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel, fac_rapport_volgnr)
|
||||
VALUES ('FREEZE_CAT', 'Catering totaal: ' || v_cat_totaal, 1);
|
||||
|
||||
ELSE
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_regel, fac_rapport_volgnr)
|
||||
VALUES ('FREEZE_CAT', 'Catering is al bevroren deze maand op ' || TO_CHAR(v_lastexport, 'dd-mm-yyyy hh24:mi:ss'), 1);
|
||||
END IF;
|
||||
|
||||
COMMIT;
|
||||
END pchw_select_freeze_cat;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE pchw_export_freeze_cat (
|
||||
p_applname IN VARCHAR2,
|
||||
p_applrun IN VARCHAR2,
|
||||
p_filedir IN VARCHAR2,
|
||||
p_filename IN VARCHAR2)
|
||||
AS
|
||||
BEGIN
|
||||
DELETE fac_rapport WHERE fac_rapport_node = 'FREEZE_CAT';
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE VIEW pchw_v_export_freeze_cat
|
||||
( result,
|
||||
result_order)
|
||||
AS
|
||||
SELECT fac_rapport_regel, fac_rapport_volgnr
|
||||
FROM fac_rapport
|
||||
WHERE fac_rapport_node = 'FREEZE_CAT';
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW pchw_v_cat_factuur
|
||||
(
|
||||
ONDERWERP,
|
||||
TOTAAL
|
||||
res_rsv_ruimte_nr,
|
||||
res_rsv_ruimte_omschrijving,
|
||||
res_rsv_ruimte_van,
|
||||
res_rsv_ruimte_bezoekers,
|
||||
res_rsv_ruimte_extern,
|
||||
res_discipline_omschrijving,
|
||||
res_rsv_artikel_aantal,
|
||||
res_rsv_artikel_omschrijving,
|
||||
res_rsv_artikel_prijs,
|
||||
res_artikel_groep,
|
||||
res_rsv_artikel_verwerkt,
|
||||
periode
|
||||
)
|
||||
AS
|
||||
SELECT onderwerp, SUM(totaal)
|
||||
FROM (SELECT ins_discipline_omschrijving,
|
||||
DECODE (
|
||||
UPPER (ins_discipline_omschrijving),
|
||||
'COMFORT', 'FTRC',
|
||||
'FUNCTIONALITEIT', 'FTRC',
|
||||
'TOEGANKELIJKHEID', 'FTRC',
|
||||
'REPRESENTATIVITEIT', 'FTRC',
|
||||
'VEILIGHEID ' || CHR (38) || ' GEZONDHEID', 'V'
|
||||
|| CHR (38)
|
||||
|| 'G',
|
||||
'WET ' || CHR (38) || ' REGELGEVING', 'W' || CHR (38) || 'R',
|
||||
'Dienst')
|
||||
onderwerp,
|
||||
totaal
|
||||
FROM pchx_v_monitoring m, mld_discipline d, mld_melding a
|
||||
WHERE m.discipline_key = d.ins_discipline_key
|
||||
AND m.melding_key = a.mld_melding_key
|
||||
AND totaal IS NOT NULL
|
||||
AND totaal != 0
|
||||
AND mld_melding_datum > ADD_MONTHS (SYSDATE, -1))
|
||||
GROUP BY onderwerp;
|
||||
|
||||
SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr,
|
||||
res_rsv_ruimte_omschrijving,
|
||||
res_rsv_ruimte_van,
|
||||
res_rsv_ruimte_bezoekers,
|
||||
(SELECT fac.safe_to_number (res_kenmerkreservering_waarde)
|
||||
FROM res_kenmerkwaarde kw
|
||||
WHERE kw.res_kenmerk_key = 22
|
||||
AND kw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key)
|
||||
extern,
|
||||
d.ins_discipline_omschrijving,
|
||||
rra.res_rsv_artikel_aantal,
|
||||
ra.res_artikel_omschrijving,
|
||||
res_rsv_artikel_prijs,
|
||||
DECODE (SUBSTR (ra.res_artikel_groep, 1, 3),
|
||||
'SVD', 'SVD',
|
||||
'Banqueting')
|
||||
groep,
|
||||
rra.res_rsv_artikel_verwerkt,
|
||||
TO_CHAR (
|
||||
ADD_MONTHS (TRUNC (rra.res_rsv_artikel_verwerkt, 'month'), -1),
|
||||
'YYYY-month')
|
||||
periode
|
||||
FROM res_rsv_artikel rra,
|
||||
res_artikel ra,
|
||||
res_rsv_ruimte rrr,
|
||||
res_discipline d
|
||||
WHERE rra.res_artikel_key = ra.res_artikel_key
|
||||
AND ra.res_discipline_key = d.ins_discipline_key
|
||||
AND rra.res_status_bo_key = 6
|
||||
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key;
|
||||
|
||||
-- Procedure om mailberichten van meldingen buiten kantooruren toch in een melding op te kunnen slaan.
|
||||
CREATE OR REPLACE PROCEDURE pchw_processemail (pfrom IN VARCHAR2,
|
||||
@@ -1730,6 +1818,198 @@ CREATE OR REPLACE VIEW pchw_v_rap_indices (svd, index_waarde) as
|
||||
ORDER BY fac.safe_to_number (
|
||||
SUBSTR (COALESCE (res_artikel_groep, 'SVD1'), 4));
|
||||
|
||||
-- Dashboard views
|
||||
|
||||
-- Dashboard rapport voor nieuwe meldingen.
|
||||
CREATE OR REPLACE VIEW pchw_v_dashboard_new
|
||||
AS
|
||||
SELECT sd.ins_srtdiscipline_prefix || m.mld_melding_key mld_melding_key,
|
||||
pf.prs_perslid_naam_full,
|
||||
mld_melding_datum,
|
||||
std.mld_stdmelding_omschrijving,
|
||||
d.ins_discipline_omschrijving
|
||||
FROM mld_melding m,
|
||||
prs_perslid p,
|
||||
prs_v_perslid_fullnames pf,
|
||||
mld_stdmelding std,
|
||||
ins_tab_discipline d,
|
||||
ins_srtdiscipline sd
|
||||
WHERE m.prs_perslid_key = p.prs_perslid_key
|
||||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||||
AND pchx_mon.klant_melding (m.mld_melding_key) = 1
|
||||
AND mld_melding_status IN (2, 3);
|
||||
|
||||
CREATE OR REPLACE VIEW pchw_melding_optijd
|
||||
AS
|
||||
SELECT gereed,
|
||||
DECODE (SIGN (mld_melding_einddatum_std - gereed), -1, 0, 100)
|
||||
optijd
|
||||
FROM (SELECT m.*,
|
||||
fac.gettrackingdate ('MLDAFM', m.mld_melding_key) gereed
|
||||
FROM mld_melding m)
|
||||
WHERE gereed IS NOT NULL
|
||||
AND ADD_MONTHS(TRUNC(gereed, 'MONTH'),6) > SYSDATE;
|
||||
|
||||
--Klant specifieke view voor het tonen van het totaal aantal korting per onderwerp over 1 maand
|
||||
CREATE OR REPLACE VIEW pchw_v_totaal_korting_ond
|
||||
(
|
||||
onderwerp,
|
||||
totaal_index,
|
||||
maand
|
||||
)
|
||||
AS
|
||||
SELECT onderwerp, SUM (totaal_index), TRUNC (gereed, 'MONTH')
|
||||
FROM (SELECT ins_discipline_omschrijving,
|
||||
mld_stdmeldinggroep_oms onderwerp,
|
||||
totaal_index,
|
||||
gereed
|
||||
FROM (SELECT melding_key,
|
||||
COALESCE (gereed, SYSDATE) gereed,
|
||||
totaal_index,
|
||||
stdmelding_key,
|
||||
indult
|
||||
FROM pchx_v_monitoring
|
||||
UNION ALL
|
||||
SELECT melding_key,
|
||||
gereed,
|
||||
totaal_index,
|
||||
stdmelding_key,
|
||||
indult
|
||||
FROM pchx_monitoring) m,
|
||||
mld_discipline d,
|
||||
mld_stdmelding std,
|
||||
mld_stdmeldinggroep gr
|
||||
WHERE m.stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND std.mld_stdmeldinggroep_key =
|
||||
gr.mld_stdmeldinggroep_key(+)
|
||||
AND indult = 'Nee'
|
||||
AND totaal_index IS NOT NULL
|
||||
AND totaal_index != 0
|
||||
AND ADD_MONTHS (TRUNC (gereed, 'MONTH'), 6) > SYSDATE)
|
||||
GROUP BY onderwerp, TRUNC (gereed, 'MONTH');
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW pchw_v_overschrijding_doorbel
|
||||
(
|
||||
EXPORT_DATUM,
|
||||
BEDRIJF,
|
||||
GROEP,
|
||||
VARIABELEKORTING,
|
||||
TOTAAL,
|
||||
TOTAAL_INDEX
|
||||
)
|
||||
AS
|
||||
SELECT export_datum,
|
||||
bedrijf,
|
||||
groep,
|
||||
variabelekorting,
|
||||
( totaal
|
||||
/ ( (totaal / variabelekorting)
|
||||
+ DECODE (variabelekorting, 50, 20, 250, 10, 0)))
|
||||
* COUNT (*)
|
||||
totaal,
|
||||
( totaal_index
|
||||
/ ( (totaal / variabelekorting)
|
||||
+ DECODE (variabelekorting, 50, 20, 250, 10, 0)))
|
||||
* COUNT (*)
|
||||
totaal_index
|
||||
FROM pchx_monitoring mo,
|
||||
mld_melding m,
|
||||
(SELECT km.mld_melding_key, fac_usrdata_omschr bedrijf
|
||||
FROM mld_kenmerkmelding km, fac_usrdata ud
|
||||
WHERE mld_kenmerk_key = 121
|
||||
AND fac.safe_to_number (mld_kenmerkmelding_waarde) =
|
||||
ud.fac_usrdata_key) b
|
||||
WHERE kinderen IS NOT NULL
|
||||
AND ',' || mo.kinderen || ',' LIKE
|
||||
'%,' || m.mld_melding_key || ',%'
|
||||
AND COALESCE(m.mld_melding_parentkey, m.mld_melding_key) = b.mld_melding_key(+) -- bij meldingen die onder een andere melding vallen moeten we bij de parent kijken
|
||||
AND totaal > 0 -- Soms zijn er wel kind meldingen maar hebben we geen korting te pakken.
|
||||
GROUP BY export_datum,
|
||||
groep,
|
||||
variabelekorting,
|
||||
totaal_index,
|
||||
totaal,
|
||||
bedrijf;
|
||||
|
||||
-- Rapportages ten behoeve van de verslaglegging naar de financiers.
|
||||
CREATE OR REPLACE VIEW pchw_v_melding_p_maand
|
||||
AS
|
||||
SELECT maand,
|
||||
(SELECT COUNT (*)
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_datum BETWEEN ADD_MONTHS (maand, -11)
|
||||
AND ADD_MONTHS (maand, 1))
|
||||
pmaandjaar,
|
||||
(SELECT COUNT (*)
|
||||
FROM mld_melding
|
||||
WHERE mld_melding_datum BETWEEN maand AND ADD_MONTHS (maand, 1))
|
||||
pmaand
|
||||
FROM ( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'MONTH'), (LEVEL * -1)) maand
|
||||
FROM DUAL
|
||||
CONNECT BY LEVEL <= 12);
|
||||
|
||||
CREATE OR REPLACE VIEW pchw_v_onderdeel_p_maand
|
||||
AS
|
||||
SELECT maand,
|
||||
mld_stdmeldinggroep_oms,
|
||||
(SELECT COUNT (*)
|
||||
FROM mld_melding m, mld_stdmelding std
|
||||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_stdmeldinggroep_key = gr.mld_stdmeldinggroep_key
|
||||
AND mld_melding_datum BETWEEN maand AND ADD_MONTHS (maand, 1))
|
||||
pmaand
|
||||
FROM ( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'MONTH'), (LEVEL * -1)) maand
|
||||
FROM DUAL
|
||||
CONNECT BY LEVEL <= 12) m,
|
||||
mld_stdmeldinggroep gr
|
||||
WHERE mld_stdmeldinggroep_oms IS NOT NULL;
|
||||
|
||||
CREATE OR REPLACE VIEW pchw_v_meldingen_top10_mnd
|
||||
AS
|
||||
SELECT mld_stdmelding_omschrijving, ins_discipline_omschrijving, aantal
|
||||
FROM ( SELECT mld_stdmelding_omschrijving,
|
||||
d.ins_discipline_omschrijving,
|
||||
COUNT (*) aantal
|
||||
FROM mld_melding m, mld_stdmelding std, ins_tab_discipline d
|
||||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_srtdiscipline_key = 101
|
||||
AND mld_melding_datum BETWEEN ADD_MONTHS (
|
||||
TRUNC (SYSDATE, 'MONTH'),
|
||||
-1)
|
||||
AND TRUNC (SYSDATE, 'MONTH')
|
||||
GROUP BY mld_stdmelding_omschrijving,
|
||||
d.ins_discipline_omschrijving
|
||||
ORDER BY COUNT (*) DESC)
|
||||
WHERE ROWNUM <= 10;
|
||||
|
||||
CREATE OR REPLACE VIEW pchw_v_meldingen_top10_jaar
|
||||
AS
|
||||
SELECT 1 - aantal hide_f_sort,
|
||||
mld_stdmelding_omschrijving,
|
||||
ins_discipline_omschrijving,
|
||||
aantal
|
||||
FROM ( SELECT mld_stdmelding_omschrijving,
|
||||
d.ins_discipline_omschrijving,
|
||||
COUNT (*) aantal
|
||||
FROM mld_melding m, mld_stdmelding std, ins_tab_discipline d
|
||||
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||||
AND d.ins_srtdiscipline_key = 101
|
||||
AND mld_melding_datum BETWEEN ADD_MONTHS (
|
||||
TRUNC (SYSDATE, 'MONTH'),
|
||||
-12)
|
||||
AND TRUNC (SYSDATE, 'MONTH')
|
||||
GROUP BY mld_stdmelding_omschrijving,
|
||||
d.ins_discipline_omschrijving
|
||||
ORDER BY COUNT (*) DESC)
|
||||
WHERE ROWNUM <= 10;
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user