CIZN#82879 -- Inrichten CMDB
svn path=/Customer/trunk/; revision=64732
This commit is contained in:
215
CIZN/cizn.sql
215
CIZN/cizn.sql
@@ -31,7 +31,14 @@ SELECT 'extern' typebezoek,
|
|||||||
REPLACE (kw.res_kenmerkreservering_waarde, '-') kenteken,
|
REPLACE (kw.res_kenmerkreservering_waarde, '-') kenteken,
|
||||||
pf.prs_perslid_naam_full naam,
|
pf.prs_perslid_naam_full naam,
|
||||||
TO_CHAR (rrd.res_rsv_deel_van, 'dd-mm-yyyy hh24:mi') van,
|
TO_CHAR (rrd.res_rsv_deel_van, 'dd-mm-yyyy hh24:mi') van,
|
||||||
TO_CHAR (rrd.res_rsv_deel_tot, 'dd-mm-yyyy hh24:mi') tot
|
TO_CHAR (rrd.res_rsv_deel_tot, 'dd-mm-yyyy hh24:mi') tot,
|
||||||
|
CASE WHEN fac.count_Work_Days(rrd.res_rsv_deel_aanmaak, rrd.res_rsv_deel_van) = 1
|
||||||
|
THEN
|
||||||
|
CASE WHEN TO_CHAR(rrd.res_rsv_deel_aanmaak, 'hh24mi') > '1630'
|
||||||
|
THEN rrd.res_rsv_deel_aanmaak
|
||||||
|
ELSE NULL
|
||||||
|
END
|
||||||
|
END datum_te_laat
|
||||||
FROM res_rsv_deel rrd,
|
FROM res_rsv_deel rrd,
|
||||||
res_deel rd,
|
res_deel rd,
|
||||||
ins_v_deel_gegevens dg,
|
ins_v_deel_gegevens dg,
|
||||||
@@ -58,7 +65,14 @@ SELECT 'bezoekers' typebezoek,
|
|||||||
REPLACE (bez_bezoekers_kenteken, '-') kenteken,
|
REPLACE (bez_bezoekers_kenteken, '-') kenteken,
|
||||||
bez_afspraak_naam naam,
|
bez_afspraak_naam naam,
|
||||||
TO_CHAR (a.bez_afspraak_datum, 'dd-mm-yyyy hh24:mi') van,
|
TO_CHAR (a.bez_afspraak_datum, 'dd-mm-yyyy hh24:mi') van,
|
||||||
TO_CHAR (a.bez_afspraak_eind, 'dd-mm-yyyy hh24:mi') tot
|
TO_CHAR (a.bez_afspraak_eind, 'dd-mm-yyyy hh24:mi') tot,
|
||||||
|
CASE WHEN fac.count_Work_Days(b.bez_bezoekers_aanmaak, a.bez_afspraak_datum) = 1
|
||||||
|
THEN
|
||||||
|
CASE WHEN TO_CHAR(b.bez_bezoekers_aanmaak, 'hh24mi') > '1630'
|
||||||
|
THEN b.bez_bezoekers_aanmaak
|
||||||
|
ELSE NULL
|
||||||
|
END
|
||||||
|
END datum_te_laat
|
||||||
FROM bez_bezoekers b,
|
FROM bez_bezoekers b,
|
||||||
bez_afspraak a,
|
bez_afspraak a,
|
||||||
res_rsv_deel rrd,
|
res_rsv_deel rrd,
|
||||||
@@ -161,16 +175,6 @@ AS
|
|||||||
-- Thema om het vlekkenplan te tonen welke afdeling die dag de ruimte gepland heeft. Om dit in te richten moet je voor
|
-- Thema om het vlekkenplan te tonen welke afdeling die dag de ruimte gepland heeft. Om dit in te richten moet je voor
|
||||||
-- deze ruimten een reservering inleggen en het veld afdeling vullen.
|
-- deze ruimten een reservering inleggen en het veld afdeling vullen.
|
||||||
CREATE OR REPLACE VIEW cizn_v_thema_ruimte_dag
|
CREATE OR REPLACE VIEW cizn_v_thema_ruimte_dag
|
||||||
(
|
|
||||||
FCLT_F_DATUM,
|
|
||||||
ALG_RUIMTE_KEY,
|
|
||||||
alg_ruimte_OMSCHRIJVING,
|
|
||||||
WAARDE1,
|
|
||||||
WAARDE,
|
|
||||||
WAARDE3,
|
|
||||||
WAARDE_HTML,
|
|
||||||
WAARDE_HTML2
|
|
||||||
)
|
|
||||||
AS
|
AS
|
||||||
WITH
|
WITH
|
||||||
datums
|
datums
|
||||||
@@ -178,23 +182,24 @@ AS
|
|||||||
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
|
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
|
||||||
FROM DUAL
|
FROM DUAL
|
||||||
CONNECT BY LEVEL <= 14)
|
CONNECT BY LEVEL <= 14)
|
||||||
SELECT datums.datum fclt_f_datum, --count(res.res_ins_deel_key),
|
SELECT datums.datum fclt_f_datum,
|
||||||
r2a.alg_ruimte_key ,
|
|
||||||
r2a.alg_ruimte_key,
|
r2a.alg_ruimte_key,
|
||||||
afdeling || 'w1' waarde1,
|
r2a.alg_ruimte_key alg_ruimte_omschrijving,
|
||||||
afdeling waarde2,
|
NULL waarde1,
|
||||||
afdeling || 'w3' waarde3,
|
afdeling waarde,
|
||||||
afdeling
|
NULL waarde3,
|
||||||
|| 'h1' waarde_html,
|
NULL waarde_html,
|
||||||
afdeling
|
NULL waarde_html2
|
||||||
|| 'h2' waarde_html2
|
FROM res_v_rsv_ruimte_2_alg_ruimte r2a,
|
||||||
FROM RES_V_RSV_RUIMTE_2_ALG_RUIMTE r2a,
|
|
||||||
datums,
|
datums,
|
||||||
(SELECT datum,
|
(SELECT datum,
|
||||||
res_rsv_ruimte_key,
|
res_rsv_ruimte_key,
|
||||||
flx.getdomeinwaarde(1, flx.getflex ('RES', 41, rrr.res_rsv_ruimte_key)) afdeling
|
flx.getdomeinwaarde(k.fac_kenmerkdomein_key, flx.getflex ('RES', k.res_kenmerk_key, rrr.res_rsv_ruimte_key)) afdeling
|
||||||
FROM res_v_aanwezigrsv_ruimte rrr,
|
FROM res_v_aanwezigrsv_ruimte rrr,
|
||||||
datums
|
datums,
|
||||||
|
(SELECT k.res_kenmerk_key, sk.fac_kenmerkdomein_key
|
||||||
|
FROM res_srtkenmerk sk, res_kenmerk k
|
||||||
|
WHERE sk.res_srtkenmerk_key = k.res_srtkenmerk_key AND res_srtkenmerk_code = 'AFDELINGWP') k
|
||||||
WHERE TRUNC(datum) = TRUNC(res_rsv_ruimte_van)) res -- Bezet
|
WHERE TRUNC(datum) = TRUNC(res_rsv_ruimte_van)) res -- Bezet
|
||||||
WHERE r2a.res_rsv_ruimte_key = res.res_rsv_ruimte_key(+)
|
WHERE r2a.res_rsv_ruimte_key = res.res_rsv_ruimte_key(+)
|
||||||
AND datums.datum = res.datum(+);
|
AND datums.datum = res.datum(+);
|
||||||
@@ -252,6 +257,168 @@ AS
|
|||||||
GROUP BY datum, ins_deel_key, zitsta
|
GROUP BY datum, ins_deel_key, zitsta
|
||||||
ORDER BY datum, ins_deel_key;
|
ORDER BY datum, ins_deel_key;
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW cizn_v_thema_ruimte
|
||||||
|
AS
|
||||||
|
SELECT r.alg_ruimte_key, 'bestaat' waarde, 1 waarde_key
|
||||||
|
FROM alg_v_aanwezigruimte r;
|
||||||
|
|
||||||
|
CREATE OR REPLACE VIEW cizn_v_uitgifte_ict_basis
|
||||||
|
AS
|
||||||
|
SELECT pf.prs_perslid_key extra_key,
|
||||||
|
TO_CHAR(u.ins_deel_uitgifte_begin, 'DD-MM-YYYY') ins_deel_uitgifte_begin,
|
||||||
|
TO_CHAR(u.ins_deel_uitgifte_ingeleverd, 'DD-MM-YYYY') ins_deel_uitgifte_ingeleverd,
|
||||||
|
sg.ins_srtgroep_omschrijving,
|
||||||
|
sd.ins_srtdeel_omschrijving,
|
||||||
|
d.ins_deel_omschrijving,
|
||||||
|
pf.prs_perslid_naam_friendly,
|
||||||
|
flx.getflex ('INS', 24, d.ins_deel_key) serienummer,
|
||||||
|
CASE
|
||||||
|
WHEN tu.fac_srtnotificatie_code = 'CUST03' AND u.ins_deel_uitgifte_ingeleverd BETWEEN COALESCE (tu.intv_begin, TO_DATE('20240517 14:00', 'yyyymmdd hh24:mi')) AND intv_eind THEN 1
|
||||||
|
WHEN tu.fac_srtnotificatie_code IS NULL AND u.ins_deel_uitgifte_ingeleverd IS NOT NULL AND u.ins_deel_uitgifte_begin > TO_DATE('20240517 14:00', 'yyyymmdd hh24:mi') THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END act_ingenomen,
|
||||||
|
CASE
|
||||||
|
WHEN SYSDATE - u.ins_deel_uitgifte_ingeleverd < 1 THEN 1 ELSE 0 END rec_ingenomen,
|
||||||
|
CASE
|
||||||
|
WHEN ti.fac_srtnotificatie_code = 'CUST04' AND u.ins_deel_uitgifte_begin BETWEEN COALESCE (ti.intv_begin, TO_DATE('20240517 14:00', 'yyyymmdd hh24:mi')) AND intv_eind THEN 1
|
||||||
|
WHEN ti.fac_srtnotificatie_code IS NULL AND u.ins_deel_uitgifte_begin IS NOT NULL AND u.ins_deel_uitgifte_begin > TO_DATE('20240517 14:00', 'yyyymmdd hh24:mi') THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END act_uitgegeven,
|
||||||
|
(SELECT pfi.prs_perslid_naam_full FROM prs_v_perslid_fullnames pfi WHERE pfi.prs_perslid_key = FAC.gettrackinguserkey('INSIN2', d.ins_deel_key)) ingenomen_door,
|
||||||
|
TO_CHAR(u.ins_deel_uitgifte_begin, 'YYYYMMDD') volgorde
|
||||||
|
FROM ins_deel_uitgifte u,
|
||||||
|
ins_deel d,
|
||||||
|
ins_srtdeel sd,
|
||||||
|
ins_srtgroep sg,
|
||||||
|
prs_perslid p,
|
||||||
|
prs_v_perslid_fullnames_all pf,
|
||||||
|
( SELECT sn.fac_srtnotificatie_code, t.fac_tracking_refkey, MAX (fac_tracking_datum) intv_begin
|
||||||
|
FROM fac_tracking t, fac_srtnotificatie sn
|
||||||
|
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||||
|
AND fac_srtnotificatie_code IN ('CUST03')
|
||||||
|
GROUP BY fac_tracking_refkey, sn.fac_srtnotificatie_code) tu,
|
||||||
|
( SELECT sn.fac_srtnotificatie_code, t.fac_tracking_refkey, MAX (fac_tracking_datum) intv_begin
|
||||||
|
FROM fac_tracking t, fac_srtnotificatie sn
|
||||||
|
WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||||||
|
AND fac_srtnotificatie_code IN ('CUST04')
|
||||||
|
GROUP BY fac_tracking_refkey, sn.fac_srtnotificatie_code) ti,
|
||||||
|
(SELECT fac_usrdata_vervaldatum intv_eind
|
||||||
|
FROM fac_usrdata
|
||||||
|
WHERE fac_usrdata_code = 'LastNotIns') l
|
||||||
|
WHERE u.prs_perslid_key = pf.prs_perslid_key
|
||||||
|
AND u.prs_perslid_key = p.prs_perslid_key
|
||||||
|
AND p.prs_perslid_email IS NOT NULL
|
||||||
|
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||||
|
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||||
|
AND u.prs_perslid_key = tu.fac_tracking_refkey(+)
|
||||||
|
AND u.prs_perslid_key = ti.fac_tracking_refkey(+)
|
||||||
|
AND d.ins_deel_key = u.ins_deel_key;
|
||||||
|
|
||||||
|
-- Deze procedure stuurt medewerkers een mail als ze nieuwe ICT voorzieningen op de naam hebben gekregen
|
||||||
|
-- of als ze ICT voorzieningen hebben ingeleverd. Hiervoor worden 4 notificaties gebruikt;
|
||||||
|
-- * CUST01 is de notificatie op een rapport naar de medewerker om toegevoegde voorzieningen te notificeren
|
||||||
|
-- * CUST02 is de notificatie op een rapport naar de medewerker om ingeleverde voorzieningen te notificeren
|
||||||
|
-- * CUST03 is de tracking op de persoon van de nieuwe voorzieningen
|
||||||
|
-- * CUST04 is de tracking op de persoon van de ingeleverde voorzieningen
|
||||||
|
-- Onderstaande procedure zet de timestamp in de eigen tabel met code 'LastNotIns'. Dit is het tijdstip tot wanneer het rapport
|
||||||
|
-- cizn_v_uitgifte_ict_basis kijkt naar de mutaties. Het tijdstip van het toevoegen van de notificatie en het daadwerkelijk versturen
|
||||||
|
-- kan namelijk afwijken.
|
||||||
|
CREATE OR REPLACE PROCEDURE cizn_select_asset_not (p_applname IN VARCHAR2,
|
||||||
|
p_applrun IN VARCHAR2)
|
||||||
|
AS
|
||||||
|
CURSOR c_uitgifte IS
|
||||||
|
SELECT extra_key,
|
||||||
|
'CIZ-Facilitor, Bevestiging uitgifte ICT voorziening(en) ('
|
||||||
|
|| LISTAGG (ins_deel_omschrijving, ',') WITHIN GROUP (ORDER BY ins_deel_omschrijving)
|
||||||
|
|| ')' text
|
||||||
|
FROM cizn_v_uitgifte_ict_basis b
|
||||||
|
WHERE act_uitgegeven = 1
|
||||||
|
GROUP BY extra_key;
|
||||||
|
|
||||||
|
CURSOR c_inname IS
|
||||||
|
SELECT extra_key,
|
||||||
|
'CIZ-Facilitor, Bevestiging inname ICT voorziening(en) ('
|
||||||
|
|| LISTAGG (ins_deel_omschrijving, ',') WITHIN GROUP (ORDER BY ins_deel_omschrijving)
|
||||||
|
|| ')' text
|
||||||
|
FROM cizn_v_uitgifte_ict_basis b
|
||||||
|
WHERE act_ingenomen = 1
|
||||||
|
GROUP BY extra_key;
|
||||||
|
|
||||||
|
v_cust01_key NUMBER;
|
||||||
|
v_cust02_key NUMBER;
|
||||||
|
v_rapport_key NUMBER;
|
||||||
|
v_timestamp DATE;
|
||||||
|
BEGIN
|
||||||
|
v_timestamp := SYSDATE;
|
||||||
|
|
||||||
|
UPDATE fac_usrdata
|
||||||
|
SET fac_usrdata_vervaldatum = v_timestamp
|
||||||
|
WHERE fac_usrdata_code = 'LastNotIns';
|
||||||
|
|
||||||
|
SELECT fac_srtnotificatie_key
|
||||||
|
INTO v_cust01_key
|
||||||
|
FROM fac_srtnotificatie
|
||||||
|
WHERE fac_srtnotificatie_code = 'CUST01';
|
||||||
|
|
||||||
|
SELECT fac_srtnotificatie_key
|
||||||
|
INTO v_cust02_key
|
||||||
|
FROM fac_srtnotificatie
|
||||||
|
WHERE fac_srtnotificatie_code = 'CUST02';
|
||||||
|
|
||||||
|
SELECT fac_usrrap_key
|
||||||
|
INTO v_rapport_key
|
||||||
|
FROM fac_usrrap
|
||||||
|
WHERE fac_usrrap_code = 'UITGIFTEINNAME';
|
||||||
|
|
||||||
|
FOR rec IN c_uitgifte
|
||||||
|
LOOP
|
||||||
|
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||||
|
fac_notificatie_status,
|
||||||
|
fac_notificatie_oms,
|
||||||
|
fac_notificatie_refkey,
|
||||||
|
fac_notificatie_extrakey,
|
||||||
|
fac_notificatie_datum,
|
||||||
|
prs_perslid_key_receiver)
|
||||||
|
VALUES (v_cust01_key,
|
||||||
|
2,
|
||||||
|
rec.text,
|
||||||
|
v_rapport_key,
|
||||||
|
rec.extra_key,
|
||||||
|
v_timestamp,
|
||||||
|
rec.extra_key);
|
||||||
|
|
||||||
|
FAC.trackaction ('CUST03',
|
||||||
|
rec.extra_key,
|
||||||
|
NULL,
|
||||||
|
v_timestamp,
|
||||||
|
rec.text);
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
FOR rec IN c_inname
|
||||||
|
LOOP
|
||||||
|
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||||||
|
fac_notificatie_status,
|
||||||
|
fac_notificatie_oms,
|
||||||
|
fac_notificatie_refkey,
|
||||||
|
fac_notificatie_extrakey,
|
||||||
|
fac_notificatie_datum,
|
||||||
|
prs_perslid_key_receiver)
|
||||||
|
VALUES (v_cust02_key,
|
||||||
|
2,
|
||||||
|
rec.text,
|
||||||
|
v_rapport_key,
|
||||||
|
rec.extra_key,
|
||||||
|
v_timestamp,
|
||||||
|
rec.extra_key);
|
||||||
|
|
||||||
|
FAC.trackaction ('CUST04',
|
||||||
|
rec.extra_key,
|
||||||
|
NULL,
|
||||||
|
v_timestamp,
|
||||||
|
rec.text);
|
||||||
|
END LOOP;
|
||||||
|
END;
|
||||||
|
/
|
||||||
|
|
||||||
------ payload end ------
|
------ payload end ------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user