KFSG#57062 -- Klachtenrapportage uitbreiden met 3 kolommen.
svn path=/Customer/trunk/; revision=41787
This commit is contained in:
194
KFSG/kfsg.sql
194
KFSG/kfsg.sql
@@ -18,35 +18,163 @@ SET DEFINE OFF
|
||||
|
||||
CREATE OR REPLACE PACKAGE KFSG
|
||||
AS
|
||||
PROCEDURE set_werkplek;
|
||||
PROCEDURE set_werkplek;
|
||||
|
||||
FUNCTION get_kenmerk (p_module IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_link_key IN NUMBER)
|
||||
RETURN VARCHAR2;
|
||||
|
||||
FUNCTION get_kenmerkwaarde (p_kenmerk_type VARCHAR2,
|
||||
p_kenmerkdomein_key NUMBER,
|
||||
p_kenmerk_waarde VARCHAR2)
|
||||
RETURN VARCHAR2;
|
||||
END;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PACKAGE BODY KFSG
|
||||
AS
|
||||
-- Geef alle mensen een werkplek in het Schiphol gebouw (key
|
||||
PROCEDURE set_werkplek
|
||||
AS
|
||||
-- Geef alle mensen een werkplek in het Schiphol gebouw (key
|
||||
PROCEDURE set_werkplek
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT *
|
||||
FROM prs_perslid p
|
||||
WHERE NOT EXISTS
|
||||
(SELECT prs_perslidwerkplek_key
|
||||
FROM prs_perslidwerkplek pwp
|
||||
WHERE pwp.prs_perslid_key = p.prs_perslid_key)
|
||||
AND SUBSTR (prs_perslid_oslogin, 1, 1) <> '_';
|
||||
BEGIN
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
PRS.movetoruimte (rec.prs_perslid_key,
|
||||
4963,
|
||||
'R',
|
||||
0);
|
||||
END LOOP;
|
||||
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT *
|
||||
FROM prs_perslid p
|
||||
WHERE NOT EXISTS
|
||||
(SELECT prs_perslidwerkplek_key
|
||||
FROM prs_perslidwerkplek pwp
|
||||
WHERE pwp.prs_perslid_key = p.prs_perslid_key)
|
||||
AND SUBSTR (prs_perslid_oslogin, 1, 1) <> '_';
|
||||
COMMIT;
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
FUNCTION get_kenmerk (p_module IN VARCHAR2,
|
||||
p_kenmerk_key IN NUMBER,
|
||||
p_link_key IN NUMBER)
|
||||
RETURN VARCHAR2
|
||||
AS
|
||||
v_kenmerk_type mld_srtkenmerk.mld_srtkenmerk_kenmerktype%TYPE;
|
||||
v_kenmerk_waarde mld_kenmerkmelding.mld_kenmerkmelding_waarde%TYPE;
|
||||
v_kenmerkdomein_key fac_kenmerkdomein.fac_kenmerkdomein_key%TYPE;
|
||||
v_kenmerk_niveau ins_kenmerk.ins_kenmerk_niveau%TYPE;
|
||||
BEGIN
|
||||
CASE p_module
|
||||
WHEN 'MLD'
|
||||
THEN
|
||||
SELECT mld_srtkenmerk_kenmerktype,
|
||||
sk.fac_kenmerkdomein_key,
|
||||
km.mld_kenmerkmelding_waarde
|
||||
INTO v_kenmerk_type, v_kenmerkdomein_key, v_kenmerk_waarde
|
||||
FROM mld_v_aanwezigkenmerkmelding km,
|
||||
mld_kenmerk k,
|
||||
mld_srtkenmerk sk
|
||||
WHERE km.mld_melding_key = p_link_key
|
||||
AND km.mld_kenmerk_key = p_kenmerk_key
|
||||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||||
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key;
|
||||
WHEN 'CNT'
|
||||
THEN
|
||||
SELECT cnt_srtkenmerk_kenmerktype,
|
||||
sk.fac_kenmerkdomein_key,
|
||||
kc.cnt_kenmerkcontract_waarde
|
||||
INTO v_kenmerk_type, v_kenmerkdomein_key, v_kenmerk_waarde
|
||||
FROM cnt_kenmerkcontract kc,
|
||||
cnt_kenmerk k,
|
||||
cnt_srtkenmerk sk
|
||||
WHERE kc.cnt_contract_key = p_link_key
|
||||
AND kc.cnt_kenmerk_key = p_kenmerk_key
|
||||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key;
|
||||
WHEN 'ALG'
|
||||
THEN
|
||||
SELECT alg_kenmerk_kenmerktype,
|
||||
k.fac_kenmerkdomein_key,
|
||||
aogk.alg_onrgoedkenmerk_waarde
|
||||
INTO v_kenmerk_type, v_kenmerkdomein_key, v_kenmerk_waarde
|
||||
FROM alg_onrgoedkenmerk aogk, alg_kenmerk k
|
||||
WHERE aogk.alg_onrgoed_key = p_link_key
|
||||
AND aogk.alg_kenmerk_key = p_kenmerk_key
|
||||
AND aogk.alg_kenmerk_key = k.alg_kenmerk_key;
|
||||
WHEN 'INS'
|
||||
THEN
|
||||
SELECT k.ins_kenmerk_niveau
|
||||
INTO v_kenmerk_niveau
|
||||
FROM ins_kenmerk k
|
||||
WHERE ins_kenmerk_key = p_kenmerk_key;
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
PRS.movetoruimte (rec.prs_perslid_key, 4963, 'R', 0);
|
||||
END LOOP;
|
||||
IF v_kenmerk_niveau = 'C'
|
||||
THEN
|
||||
SELECT sk.ins_srtkenmerk_kenmerktype,
|
||||
sk.fac_kenmerkdomein_key,
|
||||
ikds.ins_kmdeelsrtcontr_waarde
|
||||
INTO v_kenmerk_type,
|
||||
v_kenmerkdomein_key,
|
||||
v_kenmerk_waarde
|
||||
FROM ins_kmdeelsrtcontr ikds,
|
||||
ins_kenmerk k,
|
||||
ins_srtkenmerk sk
|
||||
WHERE ikds.ins_kmdeelsrtcontr_key = p_link_key
|
||||
AND ikds.ins_kmdeelsrtcontr_verwijder IS NULL
|
||||
AND ikds.ins_kenmerk_key = p_kenmerk_key
|
||||
AND ikds.ins_kenmerk_key = k.ins_kenmerk_key
|
||||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key;
|
||||
ELSE
|
||||
SELECT sk.ins_srtkenmerk_kenmerktype,
|
||||
sk.fac_kenmerkdomein_key,
|
||||
ikd.ins_kenmerkdeel_waarde
|
||||
INTO v_kenmerk_type,
|
||||
v_kenmerkdomein_key,
|
||||
v_kenmerk_waarde
|
||||
FROM ins_kenmerkdeel ikd,
|
||||
ins_kenmerk k,
|
||||
ins_srtkenmerk sk
|
||||
WHERE ikd.ins_deel_key = p_link_key
|
||||
AND ikd.ins_kenmerkdeel_verwijder IS NULL
|
||||
AND ikd.ins_kenmerk_key = p_kenmerk_key
|
||||
AND ikd.ins_kenmerk_key = k.ins_kenmerk_key
|
||||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key;
|
||||
END IF;
|
||||
END CASE;
|
||||
|
||||
COMMIT;
|
||||
END;
|
||||
RETURN kfsg.get_kenmerkwaarde (v_kenmerk_type,
|
||||
v_kenmerkdomein_key,
|
||||
v_kenmerk_waarde);
|
||||
END;
|
||||
|
||||
|
||||
|
||||
FUNCTION get_kenmerkwaarde (p_kenmerk_type VARCHAR2,
|
||||
p_kenmerkdomein_key NUMBER,
|
||||
p_kenmerk_waarde VARCHAR2)
|
||||
RETURN VARCHAR2
|
||||
AS
|
||||
v_result VARCHAR2 (4000);
|
||||
BEGIN
|
||||
IF p_kenmerk_type = 'R' OR p_kenmerk_type = 'S'
|
||||
THEN
|
||||
v_result :=
|
||||
fac.getdomeinwaarde (p_kenmerkdomein_key, p_kenmerk_waarde);
|
||||
ELSIF p_kenmerk_type = 'D'
|
||||
THEN
|
||||
v_result :=
|
||||
TO_CHAR (fac.safe_to_date (p_kenmerk_waarde, 'dd-mm-yyyy'),
|
||||
'yyyy-mm-dd');
|
||||
ELSE
|
||||
v_result := p_kenmerk_waarde;
|
||||
END IF;
|
||||
|
||||
RETURN v_result;
|
||||
END;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -451,6 +579,32 @@ AS
|
||||
AND a.prs_kostenplaats_key = ka.prs_kostenplaats_key
|
||||
AND geg.datum < SYSDATE;
|
||||
|
||||
-- KFSG#57062: Klachtenrapportage
|
||||
CREATE OR REPLACE VIEW kfsg_v_rap_klachten
|
||||
AS
|
||||
SELECT d.ins_discipline_omschrijving,
|
||||
m.mld_melding_onderwerp,
|
||||
aogk.alg_gebouw_naam,
|
||||
pf.prs_perslid_naam_full,
|
||||
m.mld_melding_datum,
|
||||
fac.gettrackingdate ('MLDAFM', m.mld_melding_key)
|
||||
melding_afgemeld,
|
||||
s.mld_statuses_omschrijving,
|
||||
m.mld_melding_opmerking
|
||||
FROM mld_melding m,
|
||||
prs_v_perslid_fullnames_all pf,
|
||||
alg_v_allonrgoed_gegevens aogk,
|
||||
mld_statuses s,
|
||||
mld_stdmelding std,
|
||||
ins_tab_discipline d
|
||||
WHERE m.mld_melding_status = mld_statuses_key
|
||||
AND m.prs_perslid_key = pf.prs_perslid_key
|
||||
AND m.mld_alg_onroerendgoed_keys = aogk.alg_onroerendgoed_keys
|
||||
AND m.mld_stdmelding_key = std.mld_stdmelding_key
|
||||
AND std.mld_ins_discipline_key = d.ins_discipline_key -- klacht
|
||||
AND d.ins_srtdiscipline_key = 23;
|
||||
|
||||
|
||||
-- KFSG#51990: Facturatieproces (reverse billing zoals bij NS)!
|
||||
CREATE OR REPLACE VIEW kfsg_v_rap_actual_cost_tot
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user