2141 lines
87 KiB
SQL
2141 lines
87 KiB
SQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific sql statements for the FACILITOR database
|
||
|
||
DEFINE thisfile = 'HPJI.SQL'
|
||
DEFINE dbuser = '^HPJI'
|
||
DEFINE custid = 'HPJI'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
WHENEVER SQLERROR EXIT;
|
||
|
||
SELECT adm.scriptspoolfile ('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SPOOL &fcltlogfile
|
||
SET DEFINE OFF
|
||
|
||
|
||
CREATE OR REPLACE PACKAGE HPJI
|
||
AS
|
||
-- PACKAGES voor de HPJI specifieke ondersteuning
|
||
TYPE t_cursor IS REF CURSOR;
|
||
|
||
PROCEDURE rap_it_inventaris_jaar (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 HPJI
|
||
AS
|
||
PROCEDURE rap_it_inventaris_jaar (user_key IN NUMBER,
|
||
p_datum_van IN VARCHAR2, -- Let wel: formaat '24-06-1965'
|
||
p_datum_tot IN VARCHAR2,
|
||
p_cursor OUT t_cursor)
|
||
AS
|
||
v_datum_van DATE;
|
||
v_datum_tot DATE;
|
||
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');
|
||
|
||
OPEN p_cursor FOR
|
||
SELECT grid.onderdeel || '-' || grid.rubriek hide_f_regel,
|
||
grid.onderdeel fclt_f_onderdeel,
|
||
grid.rubriek fclt_f_rubriek,
|
||
grid.jaar fclt_f_aanschafjaar,
|
||
COALESCE (x.aantal, 0) aantal
|
||
FROM (SELECT a.prs_afdeling_key onderdeel_key,
|
||
sd.ins_srtdeel_key rubriek_key,
|
||
j.jaar jaar,
|
||
a.prs_afdeling_omschrijving onderdeel,
|
||
sd.ins_srtdeel_omschrijving rubriek
|
||
FROM (SELECT prs_afdeling_key,
|
||
prs_afdeling_omschrijving
|
||
FROM prs_v_aanwezigafdeling
|
||
WHERE prs_afdeling_parentkey IS NULL
|
||
UNION ALL
|
||
SELECT -1 prs_afdeling_key,
|
||
'Onbekend' prs_afdeling_omschrijving
|
||
FROM DUAL) a,
|
||
ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigsrtgroep sg,
|
||
(SELECT DISTINCT
|
||
TO_CHAR (
|
||
fac.safe_to_date (
|
||
ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy'),
|
||
'yyyy')
|
||
jaar
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_kenmerk_key = 101 -- Aanschafdatum
|
||
AND fac.safe_to_date (
|
||
ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy') BETWEEN v_datum_van
|
||
AND v_datum_tot)
|
||
j
|
||
WHERE sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = 401) grid -- Hardware
|
||
LEFT JOIN
|
||
( SELECT asd.prs_afdeling_key1 onderdeel_key,
|
||
asd.ins_srtdeel_key rubriek_key,
|
||
j.jaar jaar,
|
||
COUNT ( * ) aantal
|
||
FROM (SELECT DECODE (ra.aantal,
|
||
1, ab.prs_afdeling_key1,
|
||
-1)
|
||
prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
( SELECT alg_ruimte_key,
|
||
MAX (prs_afdeling_key)
|
||
prs_afdeling_key,
|
||
COUNT ( * ) aantal
|
||
FROM prs_ruimteafdeling
|
||
GROUP BY alg_ruimte_key) ra,
|
||
prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type NOT IN
|
||
('A', 'P', 'W')
|
||
AND d.ins_alg_ruimte_key =
|
||
aog.alg_onroerendgoed_keys
|
||
AND aog.alg_ruimte_key =
|
||
ra.alg_ruimte_key
|
||
AND ra.prs_afdeling_key =
|
||
ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT -1 prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
alg_v_allonrgoed_gegevens aog
|
||
WHERE d.ins_alg_ruimte_type NOT IN
|
||
('A', 'P', 'W')
|
||
AND d.ins_alg_ruimte_key =
|
||
aog.alg_onroerendgoed_keys
|
||
AND (aog.alg_ruimte_key IS NULL
|
||
OR NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_ruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key =
|
||
aog.alg_ruimte_key))
|
||
UNION ALL
|
||
SELECT ab.prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type = 'A'
|
||
AND d.ins_alg_ruimte_key =
|
||
ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT ab.prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_alg_ruimte_key =
|
||
p.prs_perslid_key
|
||
AND p.prs_afdeling_key =
|
||
ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT DECODE (ra.aantal,
|
||
1, ab.prs_afdeling_key1,
|
||
-1)
|
||
prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
prs_werkplek w,
|
||
( SELECT alg_ruimte_key,
|
||
MAX (prs_afdeling_key)
|
||
prs_afdeling_key,
|
||
COUNT ( * ) aantal
|
||
FROM prs_ruimteafdeling
|
||
GROUP BY alg_ruimte_key) ra,
|
||
prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type = 'W'
|
||
AND d.ins_alg_ruimte_key =
|
||
w.prs_werkplek_key
|
||
AND w.prs_alg_ruimte_key =
|
||
ra.alg_ruimte_key
|
||
AND ra.prs_afdeling_key =
|
||
ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT -1 prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d, prs_werkplek w
|
||
WHERE d.ins_alg_ruimte_type = 'W'
|
||
AND d.ins_alg_ruimte_key =
|
||
w.prs_werkplek_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_ruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key =
|
||
w.prs_alg_ruimte_key))
|
||
asd
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
fac.safe_to_date (
|
||
ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy')
|
||
datum,
|
||
TO_CHAR (
|
||
fac.safe_to_date (
|
||
ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy'),
|
||
'yyyy')
|
||
jaar
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_kenmerk_key = 101) j -- Aanschafdatum
|
||
ON asd.ins_deel_key = j.ins_deel_key
|
||
WHERE j.datum BETWEEN v_datum_van AND v_datum_tot
|
||
GROUP BY asd.prs_afdeling_key1,
|
||
asd.ins_srtdeel_key,
|
||
j.jaar) x
|
||
ON grid.onderdeel_key = x.onderdeel_key
|
||
AND grid.rubriek_key = x.rubriek_key
|
||
AND grid.jaar = x.jaar
|
||
ORDER BY 1,
|
||
2,
|
||
3,
|
||
4;
|
||
END rap_it_inventaris_jaar;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_import_log
|
||
AS
|
||
SELECT imp_log_status fclt_f_status,
|
||
imp_log_omschrijving omschrijving,
|
||
imp_log_hint opmerking
|
||
FROM imp_log l
|
||
WHERE l.fac_import_key = (SELECT MAX (fac_import_key)
|
||
FROM fac_import
|
||
WHERE fac_import_app_key = 41);
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_ruimtekaartjes
|
||
(
|
||
fclt_f_opmaak,
|
||
fclt_f_loc_code,
|
||
fclt_f_geb_code,
|
||
fclt_f_ver_code,
|
||
fclt_f_ruimte_nr,
|
||
hide_f_ruimte_key,
|
||
ruimtesoort,
|
||
opp,
|
||
titel,
|
||
naam,
|
||
tussenvoegsel,
|
||
voorletters,
|
||
voornaam,
|
||
functie,
|
||
aantal
|
||
)
|
||
AS
|
||
(SELECT e.opmaak,
|
||
a.alg_locatie_code,
|
||
a.alg_gebouw_code,
|
||
a.alg_verdieping_code,
|
||
a.alg_ruimte_nr,
|
||
TO_CHAR (a.alg_ruimte_key) || e.opmaak,
|
||
b.ruimtesoort,
|
||
a.opp,
|
||
c.prs_perslid_titel,
|
||
c.prs_perslid_naam,
|
||
c.prs_perslid_tussenvoegsel,
|
||
c.prs_perslid_voorletters,
|
||
c.prs_perslid_voornaam,
|
||
c.prs_srtperslid_omschrijving,
|
||
d.aantal
|
||
FROM (SELECT r.alg_ruimte_key,
|
||
r.alg_ruimte_nr,
|
||
v.alg_verdieping_code,
|
||
g.alg_gebouw_code,
|
||
l.alg_locatie_code,
|
||
d.alg_district_omschrijving,
|
||
r.alg_ruimte_bruto_vloeropp opp
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
alg_district d
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = d.alg_district_key) a
|
||
LEFT JOIN
|
||
(SELECT r.alg_ruimte_key,
|
||
COALESCE (sr.alg_srtruimte_omschrijving, '-')
|
||
ruimtesoort
|
||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key) b
|
||
ON a.alg_ruimte_key = b.alg_ruimte_key
|
||
LEFT JOIN -- personen op ruimte
|
||
(SELECT DISTINCT wp.prs_alg_ruimte_key,
|
||
p.prs_perslid_titel,
|
||
p.prs_perslid_naam,
|
||
p.prs_perslid_voorletters,
|
||
p.prs_perslid_tussenvoegsel,
|
||
p.prs_perslid_voornaam,
|
||
sp.prs_srtperslid_omschrijving
|
||
FROM prs_werkplek wp,
|
||
prs_perslidwerkplek pw,
|
||
prs_v_aanwezigperslid p,
|
||
prs_srtperslid sp
|
||
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
|
||
AND pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_srtperslid_key = sp.prs_srtperslid_key) c
|
||
ON a.alg_ruimte_key = c.prs_alg_ruimte_key
|
||
LEFT JOIN -- aantal personen op ruimte
|
||
( SELECT wp.prs_alg_ruimte_key,
|
||
COUNT (pw.prs_perslid_key) aantal
|
||
FROM prs_werkplek wp, prs_perslidwerkplek pw
|
||
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
|
||
GROUP BY wp.prs_alg_ruimte_key) d
|
||
ON a.alg_ruimte_key = d.prs_alg_ruimte_key,
|
||
(SELECT 'Wilster' opmaak FROM DUAL
|
||
UNION ALL
|
||
SELECT 'Portalis' opmaak FROM DUAL
|
||
UNION ALL
|
||
SELECT 'Juvaid' opmaak FROM DUAL
|
||
UNION ALL
|
||
SELECT 'Het Poortje' opmaak FROM DUAL
|
||
UNION ALL
|
||
SELECT 'DOK3' opmaak FROM DUAL) e);
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_ruimtekaartjes2
|
||
(
|
||
fclt_f_opmaak,
|
||
fclt_f_loc_code,
|
||
fclt_f_geb_code,
|
||
fclt_f_ver_code,
|
||
fclt_f_ruimte_nr,
|
||
hide_f_ruimte_key,
|
||
ruimtesoort
|
||
)
|
||
AS
|
||
SELECT DISTINCT fclt_f_opmaak,
|
||
fclt_f_loc_code,
|
||
fclt_f_geb_code,
|
||
fclt_f_ver_code,
|
||
fclt_f_ruimte_nr,
|
||
hide_f_ruimte_key,
|
||
ruimtesoort
|
||
FROM hpji_v_ruimtekaartjes
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_label_ruimteafd (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT DISTINCT ra.alg_ruimte_key, a.prs_afdeling_naam1
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
UNION
|
||
SELECT DISTINCT r.alg_ruimte_key, '[Onbekend]' -- ruimten zonder afd.
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE NOT EXISTS ( -- waar geen afd. binnen bestaat
|
||
SELECT ra.alg_ruimte_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key = r.alg_ruimte_key)
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_label_ruimteafd_nr (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT DISTINCT ra.alg_ruimte_key, a.prs_afdeling_naam
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
UNION
|
||
SELECT DISTINCT r.alg_ruimte_key, '[Onbekend]' -- ruimten zonder afd.
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE NOT EXISTS ( -- waar geen afd. binnen bestaat
|
||
SELECT ra.alg_ruimte_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key = r.alg_ruimte_key)
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_label_ruimteafd_oms (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT DISTINCT ra.alg_ruimte_key, a.prs_afdeling_omschrijving
|
||
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
UNION
|
||
SELECT DISTINCT r.alg_ruimte_key, '[Onbekend]' -- ruimten zonder afd.
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE NOT EXISTS ( -- waar geen afd. binnen bestaat
|
||
SELECT ra.alg_ruimte_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key = r.alg_ruimte_key)
|
||
/
|
||
|
||
CREATE OR REPLACE FORCE VIEW hpji_v_thema_ruimteafd
|
||
(
|
||
alg_ruimte_key,
|
||
waarde,
|
||
waarde_key
|
||
)
|
||
AS
|
||
SELECT x.alg_ruimte_key,
|
||
DECODE (y.aantal,
|
||
NULL, '[Onbekend]',
|
||
1, SUBSTR (y.afd, 1, 60),
|
||
'Meer dan 1 afdeling!'),
|
||
DECODE (y.aantal, NULL, -1, 1, y.afd_key, NULL)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) x
|
||
LEFT JOIN
|
||
( SELECT ra.alg_ruimte_key,
|
||
MIN (a.prs_afdeling_naam1) afd,
|
||
MIN (a.prs_afdeling_key) afd_key,
|
||
COUNT (ra.prs_afdeling_key) aantal
|
||
FROM prs_v_aanwezigruimteafdeling ra,
|
||
prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY ra.alg_ruimte_key) y
|
||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT NULL, a.prs_afdeling_naam1, a.prs_afdeling_key
|
||
FROM prs_v_aanwezigafdeling a
|
||
WHERE NOT EXISTS (SELECT ra.prs_afdeling_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key)
|
||
/
|
||
|
||
CREATE OR REPLACE TRIGGER hpji_t_thema_ruimteafd_i_iu
|
||
INSTEAD OF INSERT OR UPDATE
|
||
ON hpji_v_thema_ruimteafd
|
||
BEGIN
|
||
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
|
||
THEN
|
||
DELETE FROM prs_ruimteafdeling
|
||
WHERE alg_ruimte_key = :new.alg_ruimte_key
|
||
AND prs_afdeling_key <> :new.waarde_key;
|
||
END IF;
|
||
|
||
BEGIN
|
||
IF :new.waarde_key <> -1
|
||
THEN
|
||
INSERT INTO prs_ruimteafdeling (alg_ruimte_key, prs_afdeling_key)
|
||
VALUES (:new.alg_ruimte_key, :new.waarde_key);
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
||
THEN
|
||
NULL;
|
||
END;
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE FORCE VIEW hpji_v_thema_ruimteafd1
|
||
(
|
||
alg_ruimte_key,
|
||
waarde,
|
||
waarde_key
|
||
)
|
||
AS
|
||
SELECT x.alg_ruimte_key,
|
||
DECODE (y.aantal,
|
||
NULL, '[Onbekend]',
|
||
1, SUBSTR (y.afd, 1, 60),
|
||
'Meer dan 1 afdeling!'),
|
||
DECODE (y.aantal, 1, y.afd_key, NULL)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) x
|
||
LEFT JOIN
|
||
( SELECT ra.alg_ruimte_key,
|
||
MIN (a.prs_afdeling_naam1) afd,
|
||
MIN (a.prs_afdeling_key) afd_key,
|
||
COUNT (ra.prs_afdeling_key) aantal
|
||
FROM prs_v_aanwezigruimteafdeling ra,
|
||
prs_v_afdeling_boom b,
|
||
prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = b.prs_afdeling_key
|
||
AND b.prs_afdeling_key1 = a.prs_afdeling_key
|
||
GROUP BY ra.alg_ruimte_key) y
|
||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_thema_vloerafw
|
||
(
|
||
alg_ruimte_key,
|
||
waarde,
|
||
waarde_key
|
||
)
|
||
AS
|
||
SELECT a.alg_ruimte_key,
|
||
COALESCE (b.vloerafw, '[Onbekend]'),
|
||
COALESCE (b.vloerafw_key, -1)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r) a
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_omschr vloerafw,
|
||
ud.fac_usrdata_key vloerafw_key
|
||
FROM alg_onrgoedkenmerk ok, fac_usrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1020 -- vloerafwerking
|
||
AND ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND ok.alg_onrgoedkenmerk_waarde = ud.fac_usrdata_key) b
|
||
ON a.alg_ruimte_key = b.alg_onrgoed_key
|
||
UNION ALL
|
||
SELECT NULL,
|
||
ud.fac_usrdata_omschr vloerafw,
|
||
ud.fac_usrdata_key vloerafw_key
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrtab_key = 21
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_onrgoedkenmerk ok
|
||
WHERE ok.alg_kenmerk_key = 1020 -- vloerafwerking
|
||
AND ok.alg_onrgoedkenmerk_waarde = ud.fac_usrdata_key)
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE TRIGGER hpji_t_thema_vloerafw_i_iu
|
||
INSTEAD OF INSERT OR UPDATE
|
||
ON hpji_v_thema_vloerafw
|
||
BEGIN
|
||
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
|
||
THEN
|
||
DELETE FROM alg_onrgoedkenmerk
|
||
WHERE alg_onrgoed_key = :new.alg_ruimte_key
|
||
AND alg_onrgoedkenmerk_waarde <> :new.waarde_key;
|
||
END IF;
|
||
|
||
BEGIN
|
||
IF :new.waarde_key <> -1
|
||
THEN
|
||
INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key,
|
||
alg_onrgoed_niveau,
|
||
alg_kenmerk_key,
|
||
alg_onrgoedkenmerk_waarde)
|
||
VALUES (:new.alg_ruimte_key,
|
||
'R',
|
||
1020,
|
||
:new.waarde_key);
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
||
THEN
|
||
NULL;
|
||
END;
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_thema_ruimtefunc
|
||
(
|
||
alg_ruimte_key,
|
||
waarde,
|
||
waarde_key
|
||
)
|
||
AS
|
||
SELECT r.alg_ruimte_key ruimte_key,
|
||
COALESCE (sr.alg_srtruimte_omschrijving, '[Onbekend]') waarde,
|
||
COALESCE (sr.alg_srtruimte_key, -1) waarde_key
|
||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
|
||
UNION ALL
|
||
SELECT NULL ruimte_key,
|
||
sr.alg_srtruimte_omschrijving waarde,
|
||
sr.alg_srtruimte_key waarde_key
|
||
FROM alg_srtruimte sr
|
||
WHERE NOT EXISTS (SELECT 1
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key)
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE TRIGGER hpji_t_thema_ruimtefunc_i_iu
|
||
INSTEAD OF UPDATE
|
||
ON hpji_v_thema_ruimtefunc
|
||
FOR EACH ROW
|
||
BEGIN
|
||
UPDATE alg_ruimte
|
||
SET alg_srtruimte_key = :new.waarde_key
|
||
WHERE alg_ruimte_key = :new.alg_ruimte_key
|
||
AND alg_srtruimte_key <> :new.waarde_key;
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE FORCE VIEW hpji_v_thema_legewp (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT x.prs_alg_ruimte_key, (100 - ROUND (wp_bez / wp_tot * 100)) leeg_p
|
||
FROM ( SELECT wp.prs_alg_ruimte_key, COUNT ( * ) wp_tot
|
||
FROM prs_werkplek wp
|
||
GROUP BY wp.prs_alg_ruimte_key) x
|
||
LEFT JOIN
|
||
( SELECT wp.prs_alg_ruimte_key, COUNT ( * ) wp_bez
|
||
FROM prs_werkplek wp
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw
|
||
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key)
|
||
GROUP BY wp.prs_alg_ruimte_key) y
|
||
ON x.prs_alg_ruimte_key = y.prs_alg_ruimte_key;
|
||
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE FORCE VIEW hpji_v_thema_objecten (alg_ruimte_key, waarde)
|
||
AS
|
||
SELECT d.ins_alg_ruimte_key, COUNT ( * ) aantal
|
||
FROM ins_deel d
|
||
WHERE d.ins_alg_ruimte_type = 'R'
|
||
GROUP BY d.ins_alg_ruimte_key
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW HPJI_V_RAP_OPROGNOSEACTIVITEIT
|
||
(
|
||
FCLT_F_SOORTACTIVITEIT,
|
||
FCLT_F_JAAR,
|
||
ACTIVITEITEN,
|
||
BUDGET
|
||
)
|
||
AS
|
||
SELECT mld_stdmelding_omschrijving,
|
||
TO_CHAR (mld_melding_datum, 'yyyy') fclt_f_jaar,
|
||
COUNT (mld_melding_key),
|
||
SUM (fac.safe_to_number (prijs)) budget
|
||
FROM fac_v_oprognosegegevens
|
||
GROUP BY mld_stdmelding_omschrijving, TO_CHAR (mld_melding_datum, 'yyyy');
|
||
|
||
|
||
CREATE OR REPLACE VIEW HPJI_V_RAP_OPROGNOSEGEBOUW
|
||
(
|
||
FCLT_F_GEBOUW,
|
||
FCLT_F_JAAR,
|
||
ACTIVITEITEN,
|
||
BUDGET
|
||
)
|
||
AS
|
||
SELECT op.alg_locatie_code
|
||
|| ' - '
|
||
|| g.alg_gebouw_code
|
||
|| ' / '
|
||
|| g.alg_gebouw_naam
|
||
gebouw,
|
||
TO_CHAR (op.mld_melding_datum, 'yyyy') fclt_f_jaar,
|
||
COUNT (op.mld_melding_key),
|
||
SUM (fac.safe_to_number (op.prijs)) budget
|
||
FROM fac_v_oprognosegegevens op, alg_gebouw g
|
||
WHERE op.alg_gebouw_key = g.alg_gebouw_key
|
||
GROUP BY op.alg_locatie_code
|
||
|| ' - '
|
||
|| g.alg_gebouw_code
|
||
|| ' / '
|
||
|| g.alg_gebouw_naam,
|
||
TO_CHAR (op.mld_melding_datum, 'yyyy');
|
||
|
||
|
||
CREATE OR REPLACE FORCE VIEW HPJI_V_RAP_OPROGNOSEVOORTGANG
|
||
(
|
||
FCLT_F_GEBOUW,
|
||
FCLT_F_JAAR,
|
||
MELDINGNR,
|
||
SOORTACTIVITEIT,
|
||
ACTIVITEIT,
|
||
STATUS,
|
||
BUDGET
|
||
)
|
||
AS
|
||
SELECT alg_locatie_gebouw_naam gebouw,
|
||
TO_CHAR (mld_melding_datum, 'yyyy') fclt_f_jaar,
|
||
TO_CHAR (mld_melding_key) meldingnr,
|
||
mld_stdmelding_omschrijving,
|
||
mld_melding_omschrijving melding,
|
||
mld_statuses_omschrijving status,
|
||
fac.safe_to_number (prijs) budget
|
||
FROM fac_v_oprognosegegevens;
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_inkoopdata
|
||
(
|
||
maand,
|
||
afgemeld_op,
|
||
soort_bestelling,
|
||
bestel_id,
|
||
status,
|
||
besteld_op,
|
||
besteld_bij,
|
||
commentaar,
|
||
kosten
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
DECODE (b.bes_bestelling_status,
|
||
6, TO_CHAR (bo.bes_bestelopdr_leverdatum, 'yyyy-mm'),
|
||
-- TO_CHAR (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key),
|
||
-- 'yyyy-mm'),
|
||
'Lopend')
|
||
maand,
|
||
-- TO_CHAR (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key),
|
||
-- 'dd-mm-yyyy')
|
||
TO_CHAR (bo.bes_bestelopdr_leverdatum, 'dd-mm-yyyy') afgemeld_op,
|
||
'Catalogus',
|
||
TO_CHAR (b.bes_bestelling_key) bestel_id,
|
||
s.bes_bestellingstatuses_omschr status,
|
||
TO_CHAR (b.bes_bestelling_datum, 'dd-mm-yyyy') besteld_op,
|
||
l.prs_bedrijf_naam,
|
||
bo.bes_bestelopdr_delivery_opmerk,
|
||
0 kosten
|
||
FROM bes_bestelling b,
|
||
bes_bestellingstatuses s,
|
||
bes_bestelling_item bi,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelopdr bo,
|
||
prs_bedrijf l
|
||
WHERE b.bes_bestelling_status = s.bes_bestellingstatuses_key
|
||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key(+)
|
||
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
|
||
AND bo.prs_bedrijf_key = l.prs_bedrijf_key
|
||
UNION ALL
|
||
SELECT DECODE (
|
||
a.mld_statusopdr_key,
|
||
6,
|
||
TO_CHAR (fac.gettrackingdate ('ORDAFM', a.mld_opdr_key),
|
||
'yyyy-mm'),
|
||
'Lopend')
|
||
maand,
|
||
TO_CHAR (fac.gettrackingdate ('ORDAFM', a.mld_opdr_key),
|
||
'dd-mm-yyyy')
|
||
afgemeld_op,
|
||
'Incidenteel',
|
||
a.bestel_id,
|
||
a.status,
|
||
TO_CHAR (a.besteld_op, 'dd-mm-yyyy'),
|
||
a.prs_bedrijf_naam,
|
||
DECODE (b.fac_usrdata_key,
|
||
41, b.ontvangststatus || CHR (13) || CHR (10),
|
||
42, b.ontvangststatus || CHR (13) || CHR (10),
|
||
43, b.ontvangststatus || CHR (13) || CHR (10),
|
||
'')
|
||
|| COALESCE (c.commentaar, ''),
|
||
a.kosten
|
||
FROM (SELECT o.mld_opdr_key,
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||
bestel_id,
|
||
o.mld_statusopdr_key,
|
||
s.mld_statusopdr_omschrijving status,
|
||
o.mld_opdr_datumbegin besteld_op,
|
||
o.mld_opdr_verzonden,
|
||
u.prs_bedrijf_naam,
|
||
o.mld_opdr_kosten kosten
|
||
FROM mld_opdr o, mld_statusopdr s, prs_bedrijf u
|
||
WHERE o.mld_typeopdr_key = 182
|
||
AND o.mld_statusopdr_key = s.mld_statusopdr_key
|
||
AND o.mld_uitvoerende_keys = u.prs_bedrijf_key) a
|
||
LEFT JOIN (SELECT ko.mld_opdr_key,
|
||
ud.fac_usrdata_key,
|
||
ud.fac_usrdata_omschr ontvangststatus
|
||
FROM mld_v_aanwezigkenmerkopdr ko, fac_usrdata ud
|
||
WHERE ko.mld_kenmerk_key = 1
|
||
AND fac.safe_to_number (
|
||
ko.mld_kenmerkopdr_waarde) =
|
||
ud.fac_usrdata_key) b
|
||
ON a.mld_opdr_key = b.mld_opdr_key
|
||
LEFT JOIN (SELECT ko.mld_opdr_key,
|
||
ko.mld_kenmerkopdr_waarde commentaar
|
||
FROM mld_v_aanwezigkenmerkopdr ko
|
||
WHERE ko.mld_kenmerk_key = 2) c
|
||
ON a.mld_opdr_key = c.mld_opdr_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_rap_inkoop_opm
|
||
(
|
||
fclt_f_maand,
|
||
hide_f_afgemeld_op,
|
||
fclt_f_soort_bestelling,
|
||
bestel_id,
|
||
status,
|
||
besteld_op,
|
||
fclt_f_leverancier,
|
||
klacht
|
||
)
|
||
AS
|
||
SELECT v.maand,
|
||
v.afgemeld_op,
|
||
v.soort_bestelling,
|
||
v.bestel_id,
|
||
v.status,
|
||
v.besteld_op,
|
||
v.besteld_bij,
|
||
v.commentaar
|
||
FROM hpji_v_inkoopdata v
|
||
WHERE v.maand = 'Lopend' OR v.commentaar IS NOT NULL;
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_rap_inkoop_ppi
|
||
(
|
||
fclt_f_maand,
|
||
fclt_f_leverancier,
|
||
totaal_aantal,
|
||
klacht_aantal,
|
||
percentage
|
||
)
|
||
AS
|
||
SELECT sums.maand,
|
||
sums.besteld_bij,
|
||
sums.totaal_aant,
|
||
sums.klacht_aant,
|
||
REPLACE (
|
||
TO_CHAR (sums.klacht_aant / sums.totaal_aant * 100, '999990D9'),
|
||
'.',
|
||
',')
|
||
|| '%'
|
||
FROM ( SELECT x.maand,
|
||
x.besteld_bij,
|
||
SUM (x.totaal_aant) totaal_aant,
|
||
SUM (x.klacht_aant) klacht_aant
|
||
FROM ( SELECT v.maand,
|
||
v.besteld_bij,
|
||
COUNT ( * ) totaal_aant,
|
||
0 klacht_aant
|
||
FROM hpji_v_inkoopdata v
|
||
WHERE v.maand <> 'Lopend'
|
||
GROUP BY v.maand, v.besteld_bij
|
||
UNION ALL
|
||
SELECT v.maand,
|
||
v.besteld_bij,
|
||
0 totaal_aant,
|
||
COUNT ( * ) klacht_aant
|
||
FROM hpji_v_inkoopdata v
|
||
WHERE v.maand <> 'Lopend' AND v.commentaar IS NOT NULL
|
||
GROUP BY v.maand, v.besteld_bij) x
|
||
GROUP BY x.maand, x.besteld_bij) sums
|
||
WHERE sums.totaal_aant > 0;
|
||
|
||
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_noti_goederenontvangst
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
KEY,
|
||
par1,
|
||
par2,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
gg.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##OPDR##',
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr),
|
||
o.mld_opdr_key,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_opdr o,
|
||
mld_kenmerkopdr ko,
|
||
fac_srtnotificatie sn,
|
||
fac_gebruikersgroep gg
|
||
WHERE o.mld_statusopdr_key IN (4, 5, 8) -- Gefiat./Uitgeg./Geaccept.
|
||
AND o.mld_typeopdr_key = 182
|
||
AND TRUNC (ko.mld_kenmerkopdr_aanmaak) = TRUNC (SYSDATE)
|
||
AND TO_NUMBER (TO_CHAR (ko.mld_kenmerkopdr_aanmaak, 'HH24')) + 1 =
|
||
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
||
AND o.mld_opdr_key = ko.mld_opdr_key
|
||
AND ko.mld_kenmerk_key = 1 -- Ontvangststatus
|
||
AND ko.mld_kenmerkopdr_waarde IN ('41') -- Onjuist
|
||
AND sn.fac_srtnotificatie_code = 'CUST01'
|
||
AND gg.fac_groep_key = 81
|
||
UNION ALL
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
gg.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##OPDR##',
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr),
|
||
o.mld_opdr_key,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM mld_opdr o,
|
||
mld_v_aanwezigkenmerkopdr ko1,
|
||
mld_v_aanwezigkenmerkopdr ko2,
|
||
fac_srtnotificatie sn,
|
||
fac_gebruikersgroep gg
|
||
WHERE o.mld_statusopdr_key IN (4, 5, 8) -- Gefiat./Uitgeg./Geaccept.
|
||
AND o.mld_typeopdr_key = 182
|
||
AND TRUNC (fac.gettrackingdate ('ORDUPD', o.mld_opdr_key)) =
|
||
TRUNC (SYSDATE)
|
||
AND TO_NUMBER(TO_CHAR (
|
||
fac.gettrackingdate ('ORDUPD', o.mld_opdr_key),
|
||
'HH24'))
|
||
+ 1 = TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
||
AND o.mld_opdr_key = ko1.mld_opdr_key
|
||
AND ko1.mld_kenmerk_key = 1 -- Ontvangststatus
|
||
AND ko1.mld_kenmerkopdr_waarde IN ('42', '43') -- Retour/Goedgek.
|
||
AND o.mld_opdr_key = ko2.mld_opdr_key
|
||
AND ko2.mld_kenmerk_key = 101 -- Afleveradres
|
||
AND sn.fac_srtnotificatie_code = 'CUST01'
|
||
AND gg.fac_groep_key = 86
|
||
AND gg.prs_perslid_key IN
|
||
(SELECT pw.prs_perslid_key
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek wp,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g
|
||
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
|
||
AND wp.prs_alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key =
|
||
DECODE (ko2.mld_kenmerkopdr_waarde,
|
||
'121', 2, -- Afleveradres GR
|
||
'122', 1, -- Afleveradres VH
|
||
NULL));
|
||
|
||
-- Bevat CUST02-reminders naar groepen bij aanmaken specifieke WF-meldingen:
|
||
-- Nieuwe Medewerker (NM), Vertrek Medewerker (VM) en Kleine Verhuizing (KV).
|
||
-- Periodiciteit: elk uur (mbt. in het voorgaande uur aangemaakte meldingen)!
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_noti_wf_reminder
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
KEY,
|
||
par1,
|
||
par2,
|
||
xkey
|
||
)
|
||
AS -- Systeembeheer=89
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
gg.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##STDM##',
|
||
sm.mld_stdmelding_omschrijving),
|
||
m.mld_melding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_srtnotificatie sn,
|
||
fac_gebruikersgroep gg
|
||
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
||
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
||
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
||
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
||
AND m.mld_stdmelding_key IN (281, -- verzorgen netwerkacc.+appl.
|
||
288, -- toewijzen telefoonnr.
|
||
292, -- plaatsen PC+randapp.
|
||
300, -- deact. acc.+appl.
|
||
306 -- patchen netw.
|
||
)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST02'
|
||
AND gg.fac_groep_key = 89
|
||
UNION ALL -- PZ=93
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
gg.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##STDM##',
|
||
sm.mld_stdmelding_omschrijving),
|
||
m.mld_melding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_srtnotificatie sn,
|
||
fac_gebruikersgroep gg
|
||
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
||
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
||
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
||
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
||
AND m.mld_stdmelding_key IN (282, -- opvoeren Persmaster
|
||
293, -- wijzigen Persmaster
|
||
297 -- innemen vervoersbewijs
|
||
)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST02'
|
||
AND gg.fac_groep_key = 93
|
||
UNION ALL -- Huisvesting=82
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
gg.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##STDM##',
|
||
sm.mld_stdmelding_omschrijving),
|
||
m.mld_melding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_srtnotificatie sn,
|
||
fac_gebruikersgroep gg
|
||
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
||
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
||
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
||
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
||
AND m.mld_stdmelding_key IN (283, -- toewijzen werkplek
|
||
302 -- plannen kleine verhuzing
|
||
)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST02'
|
||
AND gg.fac_groep_key = 82
|
||
UNION ALL -- Applicatiebeheer=21
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
gg.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##STDM##',
|
||
sm.mld_stdmelding_omschrijving),
|
||
m.mld_melding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_srtnotificatie sn,
|
||
fac_gebruikersgroep gg
|
||
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
||
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
||
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
||
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
||
AND m.mld_stdmelding_key IN (287, -- verzorgen spec. appl.
|
||
299 -- deactiveren spec. appl.
|
||
)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST02'
|
||
AND gg.fac_groep_key = 21
|
||
UNION ALL -- Managementassistentes=121
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
gg.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##STDM##',
|
||
sm.mld_stdmelding_omschrijving),
|
||
m.mld_melding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_srtnotificatie sn,
|
||
fac_gebruikersgroep gg
|
||
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
||
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
||
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
||
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
||
AND m.mld_stdmelding_key IN (289, -- bestellen visitekaartjes
|
||
298 -- aankondigen vertrek
|
||
)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST02'
|
||
AND gg.fac_groep_key = 121
|
||
UNION ALL -- AD ontvangst en veiligheid=122
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
NULL,
|
||
gg.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##STDM##',
|
||
sm.mld_stdmelding_omschrijving),
|
||
m.mld_melding_key,
|
||
sm.mld_stdmelding_omschrijving,
|
||
NULL,
|
||
NULL
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_srtnotificatie sn,
|
||
fac_gebruikersgroep gg
|
||
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
||
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
||
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
||
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
||
AND m.mld_stdmelding_key IN (285, -- verzorgen toegang+pieper
|
||
295 -- innemen toegang+pieper
|
||
)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST02'
|
||
AND gg.fac_groep_key = 122;
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_ruimteaanduiding (ruimtekey, ruimteaanduiding)
|
||
AS
|
||
SELECT pa.alg_onroerendgoed_keys, pa.alg_plaatsaanduiding
|
||
FROM alg_v_plaatsaanduiding pa
|
||
WHERE pa.alg_onroerendgoed_type = 'R'
|
||
UNION ALL
|
||
SELECT -1, 'GR-000 (Onbekend)' FROM DUAL
|
||
UNION ALL
|
||
SELECT -1, 'VH-000 (Onbekend)' FROM DUAL;
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_rap_ruimteoverzicht
|
||
(
|
||
fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_f_verdieping,
|
||
ruimtenr,
|
||
fclt_f_ruimtefunctie,
|
||
fclt_f_vloerafwerking,
|
||
fclt_f_specialisatie,
|
||
fclt_f_afdeling,
|
||
teken_opp
|
||
)
|
||
AS
|
||
(SELECT a.alg_locatie_code,
|
||
a.alg_gebouw_code,
|
||
a.alg_verdieping_code,
|
||
a.alg_ruimte_nr,
|
||
a.ruimtefunctie,
|
||
b.vloerafw,
|
||
c.specialisatie,
|
||
d.afdeling,
|
||
a.opp
|
||
FROM (SELECT r.alg_ruimte_key,
|
||
r.alg_ruimte_nr,
|
||
r.alg_ruimte_omschrijving,
|
||
v.alg_verdieping_code,
|
||
g.alg_gebouw_code,
|
||
l.alg_locatie_code,
|
||
sr.alg_srtruimte_omschrijving ruimtefunctie,
|
||
r.alg_ruimte_bruto_vloeropp opp
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l,
|
||
alg_srtruimte sr
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+)) a
|
||
LEFT JOIN (SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_omschr vloerafw
|
||
FROM alg_onrgoedkenmerk ok, fac_usrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1020 -- vloerafwerking
|
||
AND ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_onrgoedkenmerk_waarde =
|
||
ud.fac_usrdata_key) b
|
||
ON a.alg_ruimte_key = b.alg_onrgoed_key
|
||
LEFT JOIN (SELECT ra.alg_ruimte_key,
|
||
a.prs_afdeling_naam1 specialisatie
|
||
FROM prs_v_aanwezigruimteafdeling ra,
|
||
prs_v_afdeling_boom b,
|
||
prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = b.prs_afdeling_key
|
||
AND b.prs_afdeling_key1 = a.prs_afdeling_key) c
|
||
ON a.alg_ruimte_key = c.alg_ruimte_key
|
||
LEFT JOIN (SELECT ra.alg_ruimte_key, a.prs_afdeling_naam1 afdeling
|
||
FROM prs_v_aanwezigruimteafdeling ra,
|
||
prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key) d
|
||
ON a.alg_ruimte_key = d.alg_ruimte_key);
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_rap_verplichtingen
|
||
(
|
||
bestel_id,
|
||
status,
|
||
omschrijving,
|
||
besteld_op,
|
||
fclt_f_leverancier,
|
||
ontvangststatus,
|
||
kosten
|
||
)
|
||
AS
|
||
SELECT a.bestel_id,
|
||
a.status,
|
||
a.mld_opdr_omschrijving,
|
||
TO_CHAR (a.besteld_op, 'dd-mm-yyyy'),
|
||
a.prs_bedrijf_naam,
|
||
DECODE (b.fac_usrdata_key,
|
||
41, b.ontvangststatus || CHR (13) || CHR (10),
|
||
42, b.ontvangststatus || CHR (13) || CHR (10),
|
||
43, b.ontvangststatus || CHR (13) || CHR (10),
|
||
'')
|
||
|| COALESCE (c.commentaar, ''),
|
||
a.kosten
|
||
FROM (SELECT o.mld_opdr_key,
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||
bestel_id,
|
||
o.mld_statusopdr_key,
|
||
s.mld_statusopdr_omschrijving status,
|
||
o.mld_opdr_omschrijving,
|
||
o.mld_opdr_datumbegin besteld_op,
|
||
o.mld_opdr_verzonden,
|
||
u.prs_bedrijf_naam,
|
||
o.mld_opdr_kosten kosten
|
||
FROM mld_opdr o, mld_statusopdr s, prs_bedrijf u
|
||
WHERE o.mld_typeopdr_key = 182
|
||
AND o.mld_statusopdr_key <> 6
|
||
AND o.mld_statusopdr_key = s.mld_statusopdr_key
|
||
AND o.mld_uitvoerende_keys = u.prs_bedrijf_key) a
|
||
LEFT JOIN (SELECT ko.mld_opdr_key,
|
||
ud.fac_usrdata_key,
|
||
ud.fac_usrdata_omschr ontvangststatus
|
||
FROM mld_v_aanwezigkenmerkopdr ko, fac_usrdata ud
|
||
WHERE ko.mld_kenmerk_key = 1
|
||
AND fac.safe_to_number (
|
||
ko.mld_kenmerkopdr_waarde) =
|
||
ud.fac_usrdata_key) b
|
||
ON a.mld_opdr_key = b.mld_opdr_key
|
||
LEFT JOIN (SELECT ko.mld_opdr_key,
|
||
ko.mld_kenmerkopdr_waarde commentaar
|
||
FROM mld_v_aanwezigkenmerkopdr ko
|
||
WHERE ko.mld_kenmerk_key = 2) c
|
||
ON a.mld_opdr_key = c.mld_opdr_key;
|
||
|
||
|
||
CREATE OR REPLACE FUNCTION hpji_res_deel_maandbez (p_reskey IN NUMBER,
|
||
yyyymm IN VARCHAR2)
|
||
RETURN NUMBER
|
||
IS
|
||
v_bez NUMBER;
|
||
v_van_date DATE;
|
||
v_van_uur NUMBER;
|
||
v_tot_date DATE;
|
||
v_tot_uur NUMBER;
|
||
v_loop_date DATE;
|
||
v_count NUMBER;
|
||
BEGIN
|
||
v_bez := 0;
|
||
|
||
SELECT TRUNC (res_rsv_deel_van),
|
||
DECODE (
|
||
SIGN (
|
||
( (res_rsv_deel_van - TRUNC (res_rsv_deel_van)) * 24) - 8),
|
||
-1,
|
||
8,
|
||
DECODE (
|
||
SIGN( ( (res_rsv_deel_van - TRUNC (res_rsv_deel_van)) * 24)
|
||
- 18),
|
||
-1,
|
||
( (res_rsv_deel_van - TRUNC (res_rsv_deel_van)) * 24),
|
||
18)),
|
||
TRUNC (res_rsv_deel_tot),
|
||
DECODE (
|
||
SIGN (
|
||
( (res_rsv_deel_tot - TRUNC (res_rsv_deel_tot)) * 24) - 8),
|
||
-1,
|
||
8,
|
||
DECODE (
|
||
SIGN( ( (res_rsv_deel_tot - TRUNC (res_rsv_deel_tot)) * 24)
|
||
- 18),
|
||
-1,
|
||
( (res_rsv_deel_tot - TRUNC (res_rsv_deel_tot)) * 24),
|
||
18))
|
||
INTO v_van_date,
|
||
v_van_uur,
|
||
v_tot_date,
|
||
v_tot_uur
|
||
FROM res_rsv_deel
|
||
WHERE res_rsv_deel_key = p_reskey;
|
||
|
||
IF (TO_CHAR (v_van_date, 'yyyy-mm') = yyyymm)
|
||
THEN
|
||
v_loop_date := v_van_date;
|
||
ELSE
|
||
v_loop_date := TO_DATE (yyyymm || '01', 'yyyy-mmdd');
|
||
END IF;
|
||
|
||
WHILE (v_loop_date <= v_tot_date
|
||
AND TO_CHAR (v_loop_date, 'yyyy-mm') = yyyymm)
|
||
LOOP
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM mld_vrije_dagen
|
||
WHERE mld_vrije_dagen_datum = v_loop_date;
|
||
|
||
IF (v_count = 0 AND TO_CHAR (v_loop_date, 'd') NOT IN ('1', '7'))
|
||
THEN
|
||
CASE
|
||
WHEN v_van_date = v_tot_date
|
||
THEN
|
||
v_bez := v_bez + (v_tot_uur - v_van_uur);
|
||
WHEN v_loop_date = v_van_date
|
||
THEN
|
||
v_bez := v_bez + v_van_uur - 8;
|
||
WHEN v_loop_date = v_tot_date
|
||
THEN
|
||
v_bez := v_bez + v_tot_uur - 8;
|
||
ELSE
|
||
v_bez := v_bez + 10;
|
||
END CASE;
|
||
END IF;
|
||
|
||
v_loop_date := v_loop_date + 1;
|
||
END LOOP;
|
||
|
||
RETURN v_bez;
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_rap_res_deel_maandbez
|
||
(
|
||
fclt_f_maand,
|
||
fclt_f_catalogus,
|
||
fclt_f_voorziening,
|
||
gebruik,
|
||
beschikbaar,
|
||
bezetting
|
||
)
|
||
AS
|
||
SELECT a.maand,
|
||
a.catalogus,
|
||
a.voorziening,
|
||
a.gebruik,
|
||
b.beschikbaar,
|
||
REPLACE (TO_CHAR (a.gebruik / b.beschikbaar * 100, '990D9'),
|
||
'.',
|
||
',')
|
||
|| '%'
|
||
FROM ( SELECT hist.maand,
|
||
td.ins_discipline_omschrijving catalogus,
|
||
ins_d.ins_deel_omschrijving voorziening,
|
||
rd.res_deel_key,
|
||
SUM(hpji_res_deel_maandbez (rd.res_rsv_deel_key,
|
||
hist.maand))
|
||
gebruik
|
||
FROM res_v_aanwezigrsv_deel rd,
|
||
res_deel res_d,
|
||
ins_deel ins_d,
|
||
ins_tab_discipline td,
|
||
(SELECT DISTINCT
|
||
TO_CHAR (res_rsv_deel_van, 'yyyy-mm') maand
|
||
FROM res_rsv_deel
|
||
WHERE TO_CHAR (res_rsv_deel_van, 'yyyymmdd') <
|
||
TO_CHAR (SYSDATE, 'yyyymm') || '01') hist
|
||
WHERE rd.res_deel_key = res_d.res_deel_key
|
||
AND res_d.res_ins_deel_key = ins_d.ins_deel_key
|
||
AND res_d.res_discipline_key = td.ins_discipline_key
|
||
AND TO_CHAR (rd.res_rsv_deel_van, 'yyyy-mm') <=
|
||
hist.maand
|
||
AND TO_CHAR (rd.res_rsv_deel_tot, 'yyyy-mm') >=
|
||
hist.maand
|
||
GROUP BY hist.maand,
|
||
td.ins_discipline_omschrijving,
|
||
ins_d.ins_deel_omschrijving,
|
||
rd.res_deel_key) a
|
||
LEFT JOIN
|
||
(SELECT hist.maand,
|
||
fac.count_work_days (
|
||
TO_DATE (hist.maand || '01', 'yyyy-mmdd'),
|
||
LAST_DAY (TO_DATE (hist.maand || '01', 'yyyy-mmdd'))
|
||
+ 1)
|
||
* 10
|
||
beschikbaar
|
||
FROM (SELECT DISTINCT
|
||
TO_CHAR (res_rsv_deel_van, 'yyyy-mm') maand
|
||
FROM res_rsv_deel
|
||
WHERE TO_CHAR (res_rsv_deel_van, 'yyyymmdd') <
|
||
TO_CHAR (SYSDATE, 'yyyymm') || '01') hist) b
|
||
ON a.maand = b.maand;
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_rap_it_inventaris_jaar
|
||
(
|
||
hide_f_regel,
|
||
fclt_f_onderdeel,
|
||
fclt_f_rubriek,
|
||
fclt_f_aanschafjaar,
|
||
aantal
|
||
)
|
||
AS
|
||
SELECT grid.onderdeel || '-' || grid.rubriek regel,
|
||
grid.onderdeel,
|
||
grid.rubriek,
|
||
grid.jaar,
|
||
COALESCE (x.aantal, 0)
|
||
FROM (SELECT a.prs_afdeling_key onderdeel_key,
|
||
sd.ins_srtdeel_key rubriek_key,
|
||
j.jaar jaar,
|
||
a.prs_afdeling_omschrijving onderdeel,
|
||
sd.ins_srtdeel_omschrijving rubriek
|
||
FROM (SELECT prs_afdeling_key, prs_afdeling_omschrijving
|
||
FROM prs_v_aanwezigafdeling
|
||
WHERE prs_afdeling_parentkey IS NULL
|
||
UNION ALL
|
||
SELECT -1 prs_afdeling_key,
|
||
'Onbekend' prs_afdeling_omschrijving
|
||
FROM DUAL) a,
|
||
ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigsrtgroep sg,
|
||
(SELECT DISTINCT
|
||
TO_CHAR (
|
||
fac.safe_to_date (ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy'),
|
||
'yyyy')
|
||
jaar
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_kenmerk_key = 101) j -- Aanschafdatum
|
||
WHERE sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = 401) grid -- Hardware
|
||
LEFT JOIN
|
||
( SELECT asd.prs_afdeling_key1 onderdeel_key,
|
||
asd.ins_srtdeel_key rubriek_key,
|
||
j.jaar jaar,
|
||
COUNT ( * ) aantal
|
||
FROM (SELECT DECODE (ra.aantal,
|
||
1, ab.prs_afdeling_key1,
|
||
-1)
|
||
prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
( SELECT alg_ruimte_key,
|
||
MAX (prs_afdeling_key)
|
||
prs_afdeling_key,
|
||
COUNT ( * ) aantal
|
||
FROM prs_ruimteafdeling
|
||
GROUP BY alg_ruimte_key) ra,
|
||
prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type NOT IN ('A', 'P', 'W')
|
||
AND d.ins_alg_ruimte_key =
|
||
aog.alg_onroerendgoed_keys
|
||
AND aog.alg_ruimte_key = ra.alg_ruimte_key
|
||
AND ra.prs_afdeling_key = ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT -1 prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
alg_v_allonrgoed_gegevens aog
|
||
WHERE d.ins_alg_ruimte_type NOT IN ('A', 'P', 'W')
|
||
AND d.ins_alg_ruimte_key =
|
||
aog.alg_onroerendgoed_keys
|
||
AND (aog.alg_ruimte_key IS NULL
|
||
OR NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_ruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key =
|
||
aog.alg_ruimte_key))
|
||
UNION ALL
|
||
SELECT ab.prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d, prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type = 'A'
|
||
AND d.ins_alg_ruimte_key =
|
||
ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT ab.prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT DECODE (ra.aantal,
|
||
1, ab.prs_afdeling_key1,
|
||
-1)
|
||
prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d,
|
||
prs_werkplek w,
|
||
( SELECT alg_ruimte_key,
|
||
MAX (prs_afdeling_key)
|
||
prs_afdeling_key,
|
||
COUNT ( * ) aantal
|
||
FROM prs_ruimteafdeling
|
||
GROUP BY alg_ruimte_key) ra,
|
||
prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type = 'W'
|
||
AND d.ins_alg_ruimte_key = w.prs_werkplek_key
|
||
AND w.prs_alg_ruimte_key = ra.alg_ruimte_key
|
||
AND ra.prs_afdeling_key = ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT -1 prs_afdeling_key1,
|
||
d.ins_srtdeel_key,
|
||
d.ins_deel_key
|
||
FROM ins_v_aanwezigdeel d, prs_werkplek w
|
||
WHERE d.ins_alg_ruimte_type = 'W'
|
||
AND d.ins_alg_ruimte_key = w.prs_werkplek_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_ruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key =
|
||
w.prs_alg_ruimte_key)) asd
|
||
LEFT JOIN
|
||
(SELECT ins_deel_key,
|
||
TO_CHAR (
|
||
fac.safe_to_date (ins_kenmerkdeel_waarde,
|
||
'dd-mm-yyyy'),
|
||
'yyyy')
|
||
jaar
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_kenmerk_key = 101) j -- Aanschafdatum
|
||
ON asd.ins_deel_key = j.ins_deel_key
|
||
GROUP BY asd.prs_afdeling_key1, asd.ins_srtdeel_key, j.jaar) x
|
||
ON grid.onderdeel_key = x.onderdeel_key
|
||
AND grid.rubriek_key = x.rubriek_key
|
||
AND grid.jaar = x.jaar;
|
||
|
||
CREATE OR REPLACE VIEW HPJI_V_RAP_CNT_HUURCONTRACT
|
||
(
|
||
CNT_CONTRACT_KEY,
|
||
CNT_CONTRACT_NUMMER,
|
||
CNT_CONTRACT_NUMMER_INTERN,
|
||
CNT_CONTRACT_VERSIE,
|
||
ALG_LOCATIE_KEY,
|
||
ALG_LOCATIE_OMSCHRIJVING,
|
||
ALG_LOCATIE_ADRES,
|
||
ALG_LOCATIE_POSTCODE,
|
||
ALG_LOCATIE_PLAATS,
|
||
ALG_GEBOUW_KEY,
|
||
ALG_GEBOUW_CODE,
|
||
ALG_GEBOUW_NAAM,
|
||
PRS_KOSTENPLAATS_NR_GEB,
|
||
PRS_KOSTENPLAATS_OMS_GEB,
|
||
CNT_CONTRACT_OPMERKING,
|
||
CONTRACTPARTIJ,
|
||
CNT_CONTRACT_LOOPTIJD_VAN,
|
||
CNT_RAPPELDATUM,
|
||
CNT_OPZEGDATUM,
|
||
CNT_CONTRACT_LOOPTIJD_TOT,
|
||
FASE_ACTIEF,
|
||
CNT_CONTRACT_STATUS,
|
||
KOSTEN,
|
||
CNT_CONTRACT_TERMIJNKOSTEN,
|
||
FACTUURTERMIJN,
|
||
JAARKOSTEN,
|
||
CNT_CONTRACT_KORTING,
|
||
BEDDEN,
|
||
ZORGSOORT,
|
||
BEHEERDER,
|
||
KALE_HUUR_MAAND,
|
||
NAAM_HUURDER_GEB_DAT,
|
||
TUIN,
|
||
MAINENERGIE,
|
||
WATERBEDRIJF,
|
||
ZIGGO,
|
||
TOTALGAS
|
||
)
|
||
AS
|
||
SELECT c.cnt_contract_key,
|
||
cnt_contract_nummer,
|
||
cnt_contract_nummer_intern,
|
||
cnt_contract_versie,
|
||
alg_locatie_key,
|
||
cp.alg_locatie_omschrijving,
|
||
alg_locatie_adres,
|
||
alg_locatie_postcode,
|
||
alg_locatie_plaats,
|
||
alg_gebouw_key,
|
||
alg_gebouw_code,
|
||
alg_gebouw_naam,
|
||
pk.prs_kostenplaats_nr,
|
||
pk.prs_kostenplaats_omschrijving,
|
||
cnt_contract_opmerking,
|
||
COALESCE (prs_bedrijf_naam, pf1.prs_perslid_naam_full)
|
||
contractpartij,
|
||
cnt_contract_looptijd_van,
|
||
cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
cnt_rappeldatum,
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key)
|
||
cnt_opzegdatum,
|
||
cnt_contract_looptijd_tot,
|
||
DECODE (cnt.cnt_contract_status (
|
||
c.cnt_contract_looptijd_van,
|
||
cnt.cnt_getrappeldatum (c.cnt_contract_key),
|
||
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
||
c.cnt_contract_looptijd_tot),
|
||
0, lcl.l ('lcl_cnt_future'),
|
||
1, lcl.l ('lcl_cnt_topical'),
|
||
2, lcl.l ('lcl_cnt_warn'),
|
||
3, lcl.l ('lcl_cnt_cancel'),
|
||
4, lcl.l ('lcl_cnt_past'))
|
||
fase_actief,
|
||
DECODE (
|
||
c.cnt_contract_status,
|
||
0, DECODE (fac.getsetting ('cnt_contract_approval'),
|
||
1, lcl.l ('lcl_cnt_active_approval'),
|
||
lcl.l ('lcl_cnt_active')),
|
||
1, lcl.l ('lcl_cnt_inactive'),
|
||
2, lcl.l ('lcl_cnt_new'),
|
||
3, lcl.l ('lcl_cnt_forapproval'))
|
||
cnt_contract_status,
|
||
ROUND (
|
||
DECODE (
|
||
fac.getsetting ('cnt_scopeverdeling'),
|
||
1, cp.cnt_contract_plaats_gewicht,
|
||
0, COALESCE (cp.cnt_contract_plaats_gewicht, 1)
|
||
* c.cnt_contract_kosten
|
||
/ (SELECT DECODE (
|
||
SUM (
|
||
COALESCE (
|
||
cnt_contract_plaats_gewicht,
|
||
0)),
|
||
0, 1,
|
||
SUM (cnt_contract_plaats_gewicht))
|
||
FROM cnt_contract_plaats ccp
|
||
WHERE ccp.cnt_contract_key = cnt_contract_key),
|
||
c.cnt_contract_kosten),
|
||
2)
|
||
kosten,
|
||
c.cnt_contract_termijnkosten,
|
||
(SELECT lcl.x ('cnt_termijn_omschrijving',
|
||
cnt_termijn_key,
|
||
cnt_termijn_omschrijving)
|
||
FROM cnt_termijn
|
||
WHERE cnt_termijn_key = c.cnt_contract_termijntermijn)
|
||
factuurtermijn,
|
||
DECODE (
|
||
cnt.termijnjaarfactor (c.cnt_contract_termijntermijn),
|
||
-1, TO_NUMBER (NULL),
|
||
cnt.termijnjaarfactor (c.cnt_contract_termijntermijn)
|
||
* cnt_contract_termijnkosten)
|
||
jaarkosten,
|
||
c.cnt_contract_korting,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract ck
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 281)
|
||
bedden,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 241
|
||
AND ud.fac_usrtab_key = 385
|
||
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
||
zorgsoort,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 301
|
||
AND ud.fac_usrtab_key = 541
|
||
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
||
beheerder,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract ck
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 341)
|
||
kale_huur_maand,
|
||
(SELECT cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract ck
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 342)
|
||
naam_huurder_geb_dat,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 423
|
||
AND ud.fac_usrtab_key = 643
|
||
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
||
tuin,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 421
|
||
AND ud.fac_usrtab_key = 641
|
||
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
||
mainenergie,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 422
|
||
AND ud.fac_usrtab_key = 642
|
||
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
||
waterbedrijf,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 561
|
||
AND ud.fac_usrtab_key = 681
|
||
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
||
ziggo,
|
||
(SELECT fac_usrdata_omschr
|
||
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
||
WHERE cnt_contract_key = c.cnt_contract_key
|
||
AND cnt_kenmerk_key = 581
|
||
AND ud.fac_usrtab_key = 81
|
||
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
||
totalgas
|
||
FROM cnt_contract c,
|
||
(SELECT cp_1.cnt_contract_key,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_omschrijving,
|
||
l.alg_locatie_code,
|
||
l.alg_locatie_adres,
|
||
l.alg_locatie_postcode,
|
||
l.alg_locatie_plaats,
|
||
g.alg_gebouw_key,
|
||
g.alg_gebouw_code,
|
||
g.alg_gebouw_naam,
|
||
g.prs_kostenplaats_key,
|
||
cp_1.cnt_contract_plaats_gewicht
|
||
FROM cnt_contract_plaats cp_1,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE cp_1.cnt_contract_plaats_verwijder IS NULL
|
||
AND cp_1.cnt_alg_plaats_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND cp_1.cnt_alg_plaats_code = 'G'
|
||
UNION ALL
|
||
SELECT cp_2.cnt_contract_key,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_omschrijving,
|
||
l.alg_locatie_code,
|
||
l.alg_locatie_adres,
|
||
l.alg_locatie_postcode,
|
||
l.alg_locatie_plaats,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
cp_2.cnt_contract_plaats_gewicht
|
||
FROM cnt_contract_plaats cp_2,
|
||
alg_locatie l
|
||
WHERE cp_2.cnt_contract_plaats_verwijder IS NULL
|
||
AND cp_2.cnt_alg_plaats_key = l.alg_locatie_key
|
||
AND cp_2.cnt_alg_plaats_code = 'L') cp,
|
||
prs_bedrijf b,
|
||
prs_v_perslid_fullnames_all pf1,
|
||
prs_kostenplaats pk
|
||
WHERE c.ins_discipline_key = 1101
|
||
AND c.cnt_contract_verwijder IS NULL
|
||
AND c.cnt_contract_key = cp.cnt_contract_key(+)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
AND c.cnt_prs_perslid_key = pf1.prs_perslid_key(+)
|
||
AND cp.prs_kostenplaats_key = pk.prs_kostenplaats_key(+);
|
||
|
||
|
||
CREATE OR REPLACE VIEW hpji_v_rap_it_inventaris_stuk
|
||
(
|
||
fclt_f_onderdeel,
|
||
fclt_f_rubriek,
|
||
obj_id,
|
||
fclt_f_merk,
|
||
fclt_f_model,
|
||
fclt_d_aanschafdatum,
|
||
fclt_f_vestiging,
|
||
ruimte_nr,
|
||
ruimte_oms
|
||
)
|
||
AS
|
||
SELECT a.prs_afdeling_omschrijving,
|
||
sd.ins_srtdeel_omschrijving,
|
||
asd.ins_deel_omschrijving,
|
||
x.merk,
|
||
y.model,
|
||
TO_CHAR (z.datum, 'dd-mm-yyyy'),
|
||
asd.vestiging,
|
||
asd.ruimte_nr,
|
||
asd.ruimte_oms
|
||
FROM (SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
DECODE (rv.aantal, 1, rv.prs_afdeling_key1, -1)
|
||
prs_afdeling_key1,
|
||
aog.alg_gebouw_code || ' - ' || aog.alg_gebouw_naam
|
||
vestiging,
|
||
aog.alg_ruimte_nr ruimte_nr,
|
||
aog.alg_ruimte_omschrijving ruimte_oms
|
||
FROM ins_v_aanwezigdeel d,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
( SELECT alg_ruimte_key,
|
||
MAX (prs_afdeling_key1) prs_afdeling_key1,
|
||
COUNT ( * ) aantal
|
||
FROM prs_ruimteafdeling ra, prs_v_afdeling_boom ab
|
||
WHERE ra.prs_afdeling_key = ab.prs_afdeling_key
|
||
GROUP BY ra.alg_ruimte_key) rv
|
||
WHERE d.ins_alg_ruimte_type NOT IN ('A', 'P', 'W')
|
||
AND d.ins_alg_ruimte_key = aog.alg_onroerendgoed_keys
|
||
AND aog.alg_ruimte_key = rv.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
-1 prs_afdeling_key1,
|
||
aog.alg_gebouw_code || ' - ' || aog.alg_gebouw_naam
|
||
vestiging,
|
||
aog.alg_ruimte_nr ruimte_nr,
|
||
aog.alg_ruimte_omschrijving ruimte_oms
|
||
FROM ins_v_aanwezigdeel d, alg_v_allonrgoed_gegevens aog
|
||
WHERE d.ins_alg_ruimte_type NOT IN ('A', 'P', 'W')
|
||
AND d.ins_alg_ruimte_key = aog.alg_onroerendgoed_keys
|
||
AND (aog.alg_ruimte_key IS NULL
|
||
OR NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_ruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key = aog.alg_ruimte_key))
|
||
UNION ALL
|
||
SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
ab.prs_afdeling_key1,
|
||
'Onbekend',
|
||
NULL ruimte_nr,
|
||
NULL ruimte_oms
|
||
FROM ins_v_aanwezigdeel d, prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type = 'A'
|
||
AND d.ins_alg_ruimte_key = ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
ab.prs_afdeling_key1,
|
||
'Onbekend',
|
||
NULL ruimte_nr,
|
||
NULL ruimte_oms
|
||
FROM ins_v_aanwezigdeel d, prs_perslid p, prs_v_afdeling_boom ab
|
||
WHERE d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
DECODE (rv.aantal, 1, rv.prs_afdeling_key1, -1)
|
||
prs_afdeling_key1,
|
||
aog.alg_gebouw_code || ' - ' || aog.alg_gebouw_naam
|
||
vestiging,
|
||
aog.alg_ruimte_nr ruimte_nr,
|
||
aog.alg_ruimte_omschrijving ruimte_oms
|
||
FROM ins_v_aanwezigdeel d,
|
||
prs_werkplek w,
|
||
( SELECT alg_ruimte_key,
|
||
MAX (prs_afdeling_key1) prs_afdeling_key1,
|
||
COUNT ( * ) aantal
|
||
FROM prs_ruimteafdeling ra, prs_v_afdeling_boom ab
|
||
WHERE ra.prs_afdeling_key = ab.prs_afdeling_key
|
||
GROUP BY ra.alg_ruimte_key) rv,
|
||
alg_v_allonrgoed_gegevens aog
|
||
WHERE d.ins_alg_ruimte_type = 'W'
|
||
AND d.ins_alg_ruimte_key = w.prs_werkplek_key
|
||
AND w.prs_alg_ruimte_key = rv.alg_ruimte_key
|
||
AND rv.alg_ruimte_key = aog.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
-1 prs_afdeling_key1,
|
||
aog.alg_gebouw_code || ' - ' || aog.alg_gebouw_naam
|
||
vestiging,
|
||
aog.alg_ruimte_nr ruimte_nr,
|
||
aog.alg_ruimte_omschrijving ruimte_oms
|
||
FROM ins_v_aanwezigdeel d,
|
||
prs_werkplek w,
|
||
alg_v_allonrgoed_gegevens aog
|
||
WHERE d.ins_alg_ruimte_type = 'W'
|
||
AND d.ins_alg_ruimte_key = w.prs_werkplek_key
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_ruimteafdeling ra
|
||
WHERE ra.alg_ruimte_key = w.prs_alg_ruimte_key)
|
||
AND w.prs_alg_ruimte_key = aog.alg_ruimte_key) asd,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
(SELECT prs_afdeling_key, prs_afdeling_omschrijving
|
||
FROM prs_v_aanwezigafdeling
|
||
WHERE prs_afdeling_parentkey IS NULL
|
||
UNION ALL
|
||
SELECT -1 prs_afdeling_key, 'Onbekend' prs_afdeling_omschrijving
|
||
FROM DUAL) a,
|
||
(SELECT ins_deel_key, ins_kenmerkdeel_waarde merk
|
||
FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 21) x, -- Merk
|
||
(SELECT ins_deel_key, ins_kenmerkdeel_waarde model
|
||
FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k
|
||
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 22) y, -- Model
|
||
(SELECT ins_deel_key,
|
||
fac.safe_to_date (ins_kenmerkdeel_waarde, 'dd-mm-yyyy')
|
||
datum
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_kenmerk_key = 101) z -- Aanschafdatum
|
||
WHERE asd.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_discipline_key = 401 -- Hardware
|
||
AND asd.prs_afdeling_key1 = a.prs_afdeling_key
|
||
AND asd.ins_deel_key = x.ins_deel_key(+)
|
||
AND asd.ins_deel_key = y.ins_deel_key(+)
|
||
AND asd.ins_deel_key = z.ins_deel_key(+);
|
||
|
||
|
||
-- HPJI#28971 Geleverde bestellingen bloemen automatisch afmelden
|
||
|
||
CREATE OR REPLACE PROCEDURE hpji_export_bes_afmeld (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
-- De bestelopdrachten die ik als compleet geleverd veronderstel,
|
||
-- die zouden in principe meer werkdagen geleden geleverd zijn dan
|
||
-- de 'notidagen' van de catalogus aangeeft.
|
||
-- bes_discipline 201 Bloemen Groningen
|
||
-- bes_discipline 202 Bloemen Veenhuizen
|
||
CURSOR cbopi
|
||
IS
|
||
SELECT boi.bes_bestelopdr_item_key,
|
||
bo.bes_bestelopdr_key,
|
||
b.bes_bestelling_key
|
||
FROM bes_bestelopdr bo,
|
||
bes_bestelopdr_item boi,
|
||
bes_bestelling_item bi,
|
||
bes_bestelling b,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg,
|
||
bes_disc_params bdp
|
||
WHERE bo.bes_bestelopdr_status = 4 -- In bestelling
|
||
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
||
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key = bdp.bes_ins_discipline_key
|
||
AND sg.ins_discipline_key IN (201, 202)
|
||
AND bdp.bes_disc_params_noti_dagen IS NOT NULL
|
||
AND (b.bes_bestelling_leverdatum IS NULL
|
||
OR fac.datumtijdplusuitvoertijd (
|
||
b.bes_bestelling_leverdatum,
|
||
bdp.bes_disc_params_noti_dagen,
|
||
'DAGEN') < SYSDATE);
|
||
|
||
-- Alle bestelaanvragen die (nu) geheel geleverd zijn sluiten we af.
|
||
CURSOR cbesi
|
||
IS
|
||
SELECT bi.bes_bestelling_item_key, b.bes_bestelling_key
|
||
FROM bes_bestelling b,
|
||
bes_bestelling_item bi,
|
||
bes_bestelopdr_item boi,
|
||
bes_srtdeel sd,
|
||
bes_srtgroep sg
|
||
WHERE b.bes_bestelling_status = 5 -- Besteld
|
||
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
||
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
||
AND boi.bes_bestelopdr_item_aantal =
|
||
boi.bes_bestelopdr_item_aantalontv
|
||
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
||
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
||
AND sg.ins_discipline_key IN (201, 202);
|
||
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
FOR r IN cbopi
|
||
LOOP
|
||
-- Zeg dat alles geleverd is wat besteld is.
|
||
UPDATE bes_bestelopdr_item
|
||
SET bes_bestelopdr_item_aantalontv = bes_bestelopdr_item_aantal
|
||
WHERE bes_bestelopdr_item_key = r.bes_bestelopdr_item_key;
|
||
|
||
bes.updatebestelopdrstatus (r.bes_bestelopdr_key, NULL);
|
||
END LOOP;
|
||
|
||
FOR r IN cbesi
|
||
LOOP
|
||
-- Sluit alle aanvraagregels af die nu geheel geleverd zijn.
|
||
UPDATE bes_bestelling_item
|
||
SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal
|
||
WHERE bes_bestelling_item_key = r.bes_bestelling_item_key;
|
||
|
||
bes.updatebestellingstatus (r.bes_bestelling_key, NULL);
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
ROLLBACK;
|
||
v_errormsg :=
|
||
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname,
|
||
'E',
|
||
'Proces afmelden bestellingen afgebroken!',
|
||
v_errormsg);
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
/* Formatted on 12-3-2018 15:47:37 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE hpji_import_prs (p_import_key IN NUMBER)
|
||
AS
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
v_aantal_in_FCLT NUMBER;
|
||
BEGIN
|
||
v_errorhint := 'Generieke update';
|
||
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
|
||
prs.import_perslid (
|
||
p_import_key,
|
||
'0;0;0;0;0;0;7;2;3;5;'
|
||
|| '4;0;0;0;0;11;12;13;0;6;'
|
||
|| '8;1;0;0;0;0;14;15;16;0;'
|
||
|| '0;0;0;0;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0',
|
||
'Loginnaam;Naam;Tussenvoegsel;Voorletters;Voornaam;Personeelsnummer;Afdelingscode;Functie;Locatie;Ruimte;Telefoon;Mobiel;Email;Datum in dienst;Datum uit dienst;Domain%');
|
||
|
||
-- op basis van het bedrijf wordt straks de autorisatie groep bepaald
|
||
-- het bedrijf dus maar vast bepalen
|
||
UPDATE fac_imp_perslid i
|
||
SET prs_kenmerk5 =
|
||
(SELECT DISTINCT b.prs_bedrijf_key
|
||
FROM prs_v_afdeling a, prs_bedrijf b
|
||
WHERE UPPER (i.prs_afdeling_naam) = a.prs_afdeling_upper
|
||
AND a.prs_bedrijf_key = b.prs_bedrijf_key);
|
||
|
||
-- Zie #55445: personen met een alternatieve inlogcode moeten worden uitgesloten van bijwerken
|
||
-- Deze worden dus uit de importtabel verwijderd, tenzij ze een einddatum hebben in het verleden, dan moeten ze wel netjes be<62>indigd worden
|
||
DELETE fac_imp_perslid
|
||
WHERE fac.safe_to_date (prs_kenmerk2, 'dd-mm-yyyy') > SYSDATE
|
||
AND upper(prs_perslid_oslogin) IN (SELECT upper(prs_perslid_oslogin)
|
||
FROM prs_perslid p
|
||
WHERE p.prs_perslid_oslogin2 IS NOT NULL);
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END hpji_import_prs;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE hpji_update_prs (p_import_key IN NUMBER)
|
||
IS
|
||
-- Alle personen verwijderen die in het import import bestand voorkomen met een einddatum < vandaag
|
||
-- Personen in de juiste autorisatiegroep zetten.
|
||
-- Match bij HPJI is oslogin, hieronder de query om alle personen te verwijderen die:
|
||
|
||
CURSOR c_del
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
|
||
FROM fac_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames_all pf
|
||
WHERE UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND i.prs_kenmerk2 IS NOT NULL
|
||
AND fac.safe_to_date (i.prs_kenmerk2, 'dd-mm-yyyy') < SYSDATE;
|
||
|
||
|
||
v_count NUMBER;
|
||
BEGIN
|
||
-- generic update
|
||
-- 'LOGIN' betekent dat op basis van Login wordt gematched.
|
||
-- 'NR' betekent dat op basis van Personeelsnummer wordt gematched.
|
||
-- 'A' betekent altijd alle (andere/overige) werkplekken verwijderen
|
||
prs.update_perslid (p_import_key, 'LOGIN', NULL);
|
||
|
||
hpji_post_update_perslid(p_import_key);
|
||
|
||
-- Verwijder personen die niet meer in de import voorkomen.
|
||
FOR rec IN c_del
|
||
LOOP
|
||
BEGIN
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END;
|
||
END LOOP;
|
||
|
||
|
||
|
||
END hpji_update_prs;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE hpji_post_update_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
--- prsleden die vallen onder Elker (28580) of de combi (29670) moeten toegevoegd worden aan de _default groep (1)
|
||
--- als ze daar nog niet in zitten
|
||
CURSOR c_auth_default
|
||
IS
|
||
SELECT DISTINCT prs_perslid_key, prs_kenmerk5
|
||
FROM fac_imp_perslid
|
||
WHERE prs_kenmerk5 IN (28580, 29670)
|
||
AND fac_import_key = p_import_key
|
||
AND prs_perslid_key IS NOT NULL
|
||
AND prs_perslid_key NOT IN (SELECT prs_perslid_key
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 1);
|
||
|
||
-- prsleden die vallen onder Het Poortje (21) of de combi (29670) moeten worden toegevoegd aan de groep Bestellen Poortje (721)
|
||
-- als ze daar nog niet in zitten
|
||
CURSOR c_auth_bestellen
|
||
IS
|
||
SELECT DISTINCT prs_perslid_key, prs_kenmerk5
|
||
FROM fac_imp_perslid
|
||
WHERE prs_kenmerk5 IN (21, 29670)
|
||
AND fac_import_key = p_import_key
|
||
AND prs_perslid_key IS NOT NULL
|
||
AND prs_perslid_key NOT IN (SELECT prs_perslid_key
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = 721);
|
||
BEGIN
|
||
-- plaats personen in de juiste autorisatie groepen
|
||
FOR rec IN c_auth_default
|
||
LOOP
|
||
BEGIN
|
||
INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key)
|
||
VALUES (rec.prs_perslid_key, 1);
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR rec IN c_auth_bestellen
|
||
LOOP
|
||
BEGIN
|
||
INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key)
|
||
VALUES (rec.prs_perslid_key, 721);
|
||
|
||
-- Medewerkers van mogen Het Poortje (21) mogen niet in de _default groep
|
||
-- Dus als zij daar in zitten moeten zij daar uit
|
||
DELETE FAC_GEBRUIKERSGROEP
|
||
WHERE prs_perslid_key = rec.prs_perslid_key
|
||
AND rec.prs_kenmerk5 = 21
|
||
AND fac_groep_key = 1;
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
SET DEFINE OFF
|
||
|
||
BEGIN
|
||
adm.systrackscriptId ('$Id$', 0);
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
|
||
COMMIT;
|
||
SET ECHO OFF
|
||
SPOOL OFF
|
||
SET DEFINE ON
|
||
PROMPT Logfile of this upgrade is: &fcltlogfile |