CONN#12503
svn path=/Customer/trunk/; revision=13252
This commit is contained in:
@@ -1,195 +1,24 @@
|
||||
CREATE OR REPLACE PACKAGE CONN_RAP AS
|
||||
-- PACKAGES voor de Connexxion specifieke rapportages
|
||||
TYPE t_cursor IS REF CURSOR;
|
||||
FUNCTION FindNearestSampleValue(p_ins_deel_key IN NUMBER,p_ins_kenmerk_key IN NUMBER ,p_sample_date IN DATE) RETURN NUMBER;
|
||||
FUNCTION FindNearestSampleDate(p_ins_deel_key IN NUMBER,p_ins_kenmerk_key IN NUMBER ,p_sample_date IN DATE) RETURN DATE;
|
||||
PROCEDURE conn_p_verbruik (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor);
|
||||
PROCEDURE conn_p_bes_div_cat (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor);
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY CONN_RAP AS
|
||||
--
|
||||
-- Algemene procedures en functies.
|
||||
--
|
||||
--
|
||||
FUNCTION FindNearestSampleDate(p_ins_deel_key IN NUMBER
|
||||
,p_ins_kenmerk_key IN NUMBER
|
||||
,p_sample_date IN DATE
|
||||
) RETURN DATE IS
|
||||
v_waarde DATE;
|
||||
BEGIN
|
||||
SELECT waarde
|
||||
INTO v_waarde
|
||||
FROM (
|
||||
SELECT ins_kenmerkdeel_aanmaak waarde
|
||||
FROM ins_kenmerkdeel skd
|
||||
WHERE skd.ins_kenmerk_key = p_ins_kenmerk_key
|
||||
AND skd.ins_deel_key = p_ins_deel_key
|
||||
ORDER BY ABS(p_sample_date - skd.INS_KENMERKDEEL_AANMAAK)
|
||||
)
|
||||
WHERE ROWNUM = 1;
|
||||
RETURN v_waarde;
|
||||
END;
|
||||
--
|
||||
FUNCTION FindNearestSampleValue(p_ins_deel_key IN NUMBER
|
||||
,p_ins_kenmerk_key IN NUMBER
|
||||
,p_sample_date IN DATE
|
||||
) RETURN NUMBER IS
|
||||
v_waarde NUMBER;
|
||||
BEGIN
|
||||
SELECT FAC.safe_to_number(waarde)
|
||||
INTO v_waarde
|
||||
FROM (
|
||||
SELECT ins_kenmerkdeel_waarde waarde
|
||||
FROM ins_kenmerkdeel skd
|
||||
WHERE skd.ins_kenmerk_key = p_ins_kenmerk_key
|
||||
AND skd.ins_deel_key = p_ins_deel_key
|
||||
ORDER BY ABS(p_sample_date - skd.INS_KENMERKDEEL_AANMAAK)
|
||||
)
|
||||
WHERE ROWNUM = 1;
|
||||
RETURN v_waarde;
|
||||
END;
|
||||
--
|
||||
PROCEDURE conn_p_verbruik (user_key IN NUMBER
|
||||
,p_datum_van IN VARCHAR2, -- Let wel: formaat '13-05-2005'
|
||||
p_datum_tot IN VARCHAR2,
|
||||
p_cursor OUT t_cursor) AS
|
||||
v_datum_van DATE;
|
||||
v_datum_tot DATE;
|
||||
v_alg_level_read NUMBER;
|
||||
BEGIN
|
||||
v_datum_van := fac.safe_to_date(p_datum_van, 'dd-mm-yyyy');
|
||||
v_datum_tot := fac.safe_to_date(p_datum_tot, 'dd-mm-yyyy');
|
||||
|
||||
SELECT MIN(fac_gebruiker_alg_level_read)
|
||||
INTO v_alg_level_read
|
||||
FROM fac_v_webgebruiker
|
||||
WHERE prs_perslid_key = user_key
|
||||
AND fac_functie_key = 242; -- WEB_OBJUSE
|
||||
|
||||
IF v_alg_level_read = -1 THEN
|
||||
|
||||
OPEN p_cursor FOR
|
||||
SELECT alg_locatie_code code,
|
||||
alg_locatie_omschrijving naam,
|
||||
ins_deel_omschrijving meter,
|
||||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) -
|
||||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) verbruik,
|
||||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van),'dd-mm-yyyy hh24:mi') begin_datum,
|
||||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) begin_waarde,
|
||||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot),'dd-mm-yyyy hh24:mi') eind_datum,
|
||||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) eind_waarde
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
d.ins_deel_key,
|
||||
k.ins_kenmerk_key,
|
||||
ins_deel_omschrijving,
|
||||
alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
alg_locatie_code
|
||||
FROM ins_v_aanwezigsrtdeel sd,
|
||||
ins_v_aanwezigdeel d,
|
||||
ins_kenmerkdeel kd,
|
||||
ins_kenmerk k,
|
||||
ins_srtkenmerk sk,
|
||||
alg_locatie l
|
||||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||||
AND d.ins_deel_key = kd.ins_deel_key
|
||||
AND d.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||||
AND k.ins_kenmerk_verwijder IS NULL
|
||||
AND k.ins_kenmerk_volgnummer >= 100
|
||||
AND sk.INS_SRTKENMERK_KENMERKTYPE = 'N'
|
||||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||||
) res
|
||||
ORDER BY code;
|
||||
ELSE -- We moeten echte autorisatie controleren
|
||||
OPEN p_cursor FOR
|
||||
SELECT alg_locatie_code code,
|
||||
alg_locatie_omschrijving naam,
|
||||
ins_deel_omschrijving meter,
|
||||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) -
|
||||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) verbruik,
|
||||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van),'dd-mm-yyyy hh24:mi') begin_datum,
|
||||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_van) begin_waarde,
|
||||
to_char(FindNearestSampleDate(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot),'dd-mm-yyyy hh24:mi') eind_datum,
|
||||
FindNearestSampleValue(res.ins_deel_key ,res.ins_kenmerk_key, v_datum_tot) eind_waarde
|
||||
FROM (
|
||||
SELECT DISTINCT
|
||||
d.ins_deel_key,
|
||||
k.ins_kenmerk_key,
|
||||
ins_deel_omschrijving,
|
||||
alg_locatie_key,
|
||||
alg_locatie_omschrijving,
|
||||
alg_locatie_code
|
||||
FROM ins_v_aanwezigsrtdeel sd,
|
||||
ins_v_aanwezigdeel d,
|
||||
ins_kenmerkdeel kd,
|
||||
ins_kenmerk k,
|
||||
ins_srtkenmerk sk,
|
||||
alg_locatie l
|
||||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||||
AND d.ins_deel_key = kd.ins_deel_key
|
||||
AND d.INS_ALG_LOCATIE_KEY = l.alg_locatie_key
|
||||
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||||
AND k.ins_kenmerk_verwijder IS NULL
|
||||
AND k.ins_kenmerk_volgnummer >= 100
|
||||
AND sk.INS_SRTKENMERK_KENMERKTYPE = 'N'
|
||||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||||
AND alg_locatie_key IN (
|
||||
SELECT alg_locatie_key
|
||||
FROM fac_v_my_locations
|
||||
WHERE PRS_PERSLID_KEY = user_key
|
||||
AND niveau = v_alg_level_read
|
||||
)
|
||||
) res
|
||||
ORDER BY code;
|
||||
END IF;
|
||||
END;
|
||||
--
|
||||
PROCEDURE conn_p_bes_div_cat ( user_key IN NUMBER,
|
||||
p_datum_van IN VARCHAR2, -- Let wel: formaat '01-01-2015'
|
||||
p_datum_tot IN VARCHAR2,
|
||||
p_cursor OUT t_cursor) AS
|
||||
BEGIN
|
||||
|
||||
OPEN p_cursor FOR
|
||||
SELECT a.prs_afdeling_parent_oms divisie,
|
||||
dis.ins_discipline_omschrijving catalogus,
|
||||
COUNT (b.bes_bestelling_key) aantal_aanvragen,
|
||||
SUM (COALESCE (bp.prijs, 0) * bi.bes_bestelling_item_aantal
|
||||
) totaalbedrag
|
||||
FROM BES_BESTELLING b,
|
||||
BES_BESTELLING_ITEM bi,
|
||||
INS_SRTDEEL sd,
|
||||
INS_SRTGROEP sg,
|
||||
INS_TAB_DISCIPLINE dis,
|
||||
bes_v_item_prijs bp,
|
||||
(SELECT p.prs_perslid_key,
|
||||
a.prs_afdeling_omschrijving prs_afdeling_parent_oms
|
||||
FROM prs_v_afdeling_boom ab, PRS_AFDELING a, PRS_PERSLID p
|
||||
WHERE ab.prs_afdeling_key1 = a.prs_afdeling_key
|
||||
AND p.prs_afdeling_key = ab.prs_afdeling_key) a
|
||||
WHERE bi.bes_bestelling_item_key = bp.bes_bestelling_item_key
|
||||
AND b.bes_bestelling_datum >= Fac.safe_to_date(p_datum_van, 'dd-mm-yyyy')
|
||||
AND b.bes_bestelling_datum < Fac.safe_to_date(p_datum_tot, 'dd-mm-yyyy')
|
||||
AND bi.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
AND sg.ins_discipline_key = dis.ins_discipline_key
|
||||
AND b.bes_bestelling_status <> 1
|
||||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||||
AND bi.bes_bestelling_item_key = bp.bes_bestelling_item_key
|
||||
AND b.bes_bestelling_module = 'BES'
|
||||
AND a.prs_perslid_key = b.prs_perslid_key
|
||||
GROUP BY a.prs_afdeling_parent_oms, dis.ins_discipline_omschrijving
|
||||
ORDER BY 1,2;
|
||||
|
||||
END;
|
||||
--
|
||||
END;
|
||||
/
|
||||
SET ECHO ON
|
||||
SPOOL xconn4701to2.lst
|
||||
PROMPT $Revision: 2 $
|
||||
|
||||
-- CONN#3661
|
||||
INSERT INTO FAC_USRRAP (FAC_USRRAP_VIEW_NAME
|
||||
, FAC_USRRAP_OMSCHRIJVING
|
||||
, FAC_USRRAP_VRAAGBEGINDATUM
|
||||
, FAC_USRRAP_VRAAGEINDDATUM
|
||||
, FAC_USRRAP_FUNCTIE
|
||||
, fac_functie_key
|
||||
, FAC_USRRAP_INFO
|
||||
, FAC_USRRAP_AUTOREFRESH )
|
||||
VALUES ('conn_v_haltewerk'
|
||||
, 'HALTEWERK: Doorbelastingsoverzicht'
|
||||
, 0
|
||||
, 0
|
||||
, 0
|
||||
, 27
|
||||
, 'Overzicht van haltewerkzaamheden'
|
||||
, 0);
|
||||
|
||||
INSERT INTO FAC_USRRAP
|
||||
(fac_usrrap_omschrijving,
|
||||
@@ -206,3 +35,8 @@ INSERT INTO FAC_USRRAP
|
||||
2, 'Bestelbedragen per Divisie/Catalogus (datumformaat: dd-mm-jjjj)',
|
||||
to_number(null), 0
|
||||
);
|
||||
|
||||
|
||||
|
||||
SPOOL OFF
|
||||
@conn.sql
|
||||
Reference in New Issue
Block a user