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,
|
||||
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_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,
|
||||
res_deel rd,
|
||||
ins_v_deel_gegevens dg,
|
||||
@@ -58,7 +65,14 @@ SELECT 'bezoekers' typebezoek,
|
||||
REPLACE (bez_bezoekers_kenteken, '-') kenteken,
|
||||
bez_afspraak_naam naam,
|
||||
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,
|
||||
bez_afspraak a,
|
||||
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
|
||||
-- deze ruimten een reservering inleggen en het veld afdeling vullen.
|
||||
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
|
||||
WITH
|
||||
datums
|
||||
@@ -178,23 +182,24 @@ AS
|
||||
( SELECT TRUNC (SYSDATE) + LEVEL - 1 datum
|
||||
FROM DUAL
|
||||
CONNECT BY LEVEL <= 14)
|
||||
SELECT datums.datum fclt_f_datum, --count(res.res_ins_deel_key),
|
||||
r2a.alg_ruimte_key ,
|
||||
SELECT datums.datum fclt_f_datum,
|
||||
r2a.alg_ruimte_key,
|
||||
afdeling || 'w1' waarde1,
|
||||
afdeling waarde2,
|
||||
afdeling || 'w3' waarde3,
|
||||
afdeling
|
||||
|| 'h1' waarde_html,
|
||||
afdeling
|
||||
|| 'h2' waarde_html2
|
||||
FROM RES_V_RSV_RUIMTE_2_ALG_RUIMTE r2a,
|
||||
r2a.alg_ruimte_key alg_ruimte_omschrijving,
|
||||
NULL waarde1,
|
||||
afdeling waarde,
|
||||
NULL waarde3,
|
||||
NULL waarde_html,
|
||||
NULL waarde_html2
|
||||
FROM res_v_rsv_ruimte_2_alg_ruimte r2a,
|
||||
datums,
|
||||
(SELECT datum,
|
||||
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,
|
||||
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 r2a.res_rsv_ruimte_key = res.res_rsv_ruimte_key(+)
|
||||
AND datums.datum = res.datum(+);
|
||||
@@ -252,6 +257,168 @@ AS
|
||||
GROUP BY datum, ins_deel_key, zitsta
|
||||
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 ------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user