CIZN#84447 -- Inrichten jaarlijkse controle Facilitor
svn path=/Customer/trunk/; revision=66149
This commit is contained in:
177
CIZN/cizn.sql
177
CIZN/cizn.sql
@@ -63,7 +63,7 @@ AS
|
||||
-- Procedure om ieder jaar een notificatie te sturen naar personen die <20><>n of meerdere voorzieningen
|
||||
-- in hun bezit hebben. Als een persoon al eerder een notificiatie ontvangen heeft omdat er een voorziening
|
||||
-- op zijn/haar naam is gezet CUST03 of omdat er een voorziening is ingeleverd CUST04, dan zal dit als laatste
|
||||
-- notificatiemoment genomen worden. Om het systeem op te starten wordt vanaf 4 juli per week een letter uit het
|
||||
-- notificatiemoment genomen worden. Om het systeem op te starten wordt vanaf 9 september per 2 weken een letter uit het
|
||||
-- alfabet genotificeerd.
|
||||
PROCEDURE select_asset_jaar_not
|
||||
AS
|
||||
@@ -74,19 +74,19 @@ AS
|
||||
p.prs_perslid_email,
|
||||
ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 64,
|
||||
prs_perslid_naam,
|
||||
-- De positie van de letter in het alfabet: (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 64)
|
||||
TO_DATE ('2023-07-04', 'yyyy-mm-dd') + (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 64) * 7
|
||||
-- De positie van de letter in het alfabet: (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 65)
|
||||
TO_DATE ('2023-09-09', 'yyyy-mm-dd') + (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 65) * 14
|
||||
ddefault,
|
||||
GREATEST (
|
||||
COALESCE (
|
||||
FAC.gettrackingdate ('CUST03', p.prs_perslid_key),
|
||||
TO_DATE ('2023-07-04', 'yyyy-mm-dd') + (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 64) * 7),
|
||||
TO_DATE ('2023-09-09', 'yyyy-mm-dd') + (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 65) * 14),
|
||||
COALESCE (
|
||||
FAC.gettrackingdate ('CUST04', p.prs_perslid_key),
|
||||
TO_DATE ('2023-07-04', 'yyyy-mm-dd') + (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 64) * 7),
|
||||
TO_DATE ('2023-09-09', 'yyyy-mm-dd') + (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 65) * 14),
|
||||
COALESCE (
|
||||
FAC.gettrackingdate ('CUST05', p.prs_perslid_key),
|
||||
TO_DATE ('2023-07-04', 'yyyy-mm-dd') + (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 64) * 7))
|
||||
TO_DATE ('2023-09-09', 'yyyy-mm-dd') + (ASCII (UPPER (SUBSTR (prs_perslid_naam, 1, 1))) - 65) * 14))
|
||||
laatsteNot
|
||||
FROM prs_perslid p, ins_deel_uitgifte u
|
||||
WHERE p.prs_perslid_key = u.prs_perslid_key
|
||||
@@ -94,7 +94,7 @@ AS
|
||||
AND prs_perslid_inactief IS NULL
|
||||
AND prs_perslid_verwijder IS NULL
|
||||
AND prs_perslid_email IS NOT NULL)
|
||||
WHERE laatsteNot + 355 < SYSDATE;
|
||||
WHERE add_months(laatsteNot, 12) < SYSDATE;
|
||||
|
||||
v_cust06_key NUMBER;
|
||||
v_rapport_key NUMBER;
|
||||
@@ -625,7 +625,8 @@ AS
|
||||
ins_deel_opmerking,
|
||||
alg_gebouw_naam,
|
||||
prs_perslid_volnaam,
|
||||
flx.getdomeinwaarde (21, flx.getflex ('INS', 41, ins_deel_key)) status
|
||||
flx.getdomeinwaarde (21, flx.getflex ('INS', 41, ins_deel_key)) status,
|
||||
ins_deel_key
|
||||
FROM ins_v_deel_gegevens
|
||||
WHERE ins_discipline_omschrijving = 'ICT'
|
||||
AND ins_srtgroep_omschrijving IN ('Computer', 'Telefoon', 'Tablet')
|
||||
@@ -660,25 +661,59 @@ AS
|
||||
AND d.ins_deel_vervaldatum IS NULL
|
||||
AND d.ins_deel_key = dg.ins_deel_key(+);
|
||||
|
||||
-- Rapportage met de gegevens van de ICT voorzieningen waarbij de gedurende de laatste 30 dagen ingelogd is
|
||||
-- en waar de gebruiker die ingelogd is niet overeenkomt met de persoon aan wie het device is uitgegeven.
|
||||
CREATE OR REPLACE VIEW cizn_v_rap_asset_login_mismatch
|
||||
-- Basisrapportage met deelgegevens gecombineerd met de import uit Intune
|
||||
-- ICT 221
|
||||
CREATE OR REPLACE VIEW cizn_v_asset_check_bron
|
||||
AS
|
||||
SELECT manufacturer Merk,
|
||||
model TYPE,
|
||||
serialnumber serienummer,
|
||||
prs_perslid_email gekoppeld_aan,
|
||||
emailaddress ingelogd_door,
|
||||
FAC.safe_TO_DATE (lastsyncdatetime, 'yyyy-mm-dd"T"hh24:mi:ss"Z"') laastelogin
|
||||
FROM cizn_imp_device_info i,
|
||||
(SELECT *
|
||||
FROM ins_deel
|
||||
WHERE ins_alg_ruimte_type = 'P') d,
|
||||
prs_perslid p
|
||||
WHERE COALESCE (ins_deel_opmerking, '-2') = COALESCE (i.serialnumber, '-1')
|
||||
AND d.ins_alg_ruimte_key = p.prs_perslid_key(+)
|
||||
AND UPPER (COALESCE (prs_perslid_email, 'Leeg')) <> UPPER (COALESCE (emailaddress, 'Leeg'))
|
||||
AND FAC.safe_TO_DATE (lastsyncdatetime, 'yyyy-mm-dd"T"hh24:mi:ss"Z"') > SYSDATE - 30;
|
||||
SELECT d.ins_deel_key,
|
||||
d.ins_deel_opmerking,
|
||||
sd.ins_srtdeel_omschrijving,
|
||||
sg.ins_srtgroep_omschrijving,
|
||||
i.emailaddress,
|
||||
p.prs_perslid_email,
|
||||
fac.safe_to_date (flx.getflex ('INS', 47, d.ins_deel_key), 'yyyy-mm-dd hh24:mi:ss') laatst_ingelogd
|
||||
FROM cizn_imp_device_info i,
|
||||
ins_deel d,
|
||||
ins_srtdeel sd,
|
||||
ins_srtgroep sg,
|
||||
(SELECT ins_deel_key, prs_perslid_key, prs_perslid_email FROM ins_deel d2, prs_perslid p2
|
||||
WHERE d2.ins_alg_ruimte_type = 'P' and d2.ins_alg_ruimte_key = p2.prs_perslid_key) p
|
||||
WHERE i.serialNumber = d.ins_deel_opmerking
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
AND d.ins_deel_key = p.ins_deel_key(+)
|
||||
AND sg.ins_discipline_key = 221;
|
||||
|
||||
-- Rapportage van assets die niet uitgegeven zijn in Facilitor maar waarop wel recentelijk is ingelogd.
|
||||
CREATE OR REPLACE VIEW cizn_v_asset_niet_uitgegeven
|
||||
AS
|
||||
SELECT ins_deel_key,
|
||||
ins_deel_opmerking,
|
||||
ins_srtdeel_omschrijving,
|
||||
ins_srtgroep_omschrijving,
|
||||
emailaddress,
|
||||
prs_perslid_email,
|
||||
laatst_ingelogd
|
||||
FROM cizn_v_asset_check_bron dg
|
||||
WHERE laatst_ingelogd > SYSDATE - 7
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM ins_deel_uitgifte u
|
||||
WHERE u.ins_deel_key = dg.ins_deel_key
|
||||
AND (u.ins_deel_uitgifte_ingeleverd IS NULL OR u.ins_deel_uitgifte_ingeleverd > SYSDATE - 7));
|
||||
|
||||
-- Rapportage van assets waarbij iemand anders ingelogd
|
||||
CREATE OR REPLACE VIEW cizn_v_asset_user_mismatch
|
||||
AS
|
||||
SELECT ins_deel_key,
|
||||
ins_deel_opmerking,
|
||||
ins_srtdeel_omschrijving,
|
||||
ins_srtgroep_omschrijving,
|
||||
emailaddress,
|
||||
prs_perslid_email,
|
||||
laatst_ingelogd
|
||||
FROM cizn_v_asset_check_bron
|
||||
WHERE UPPER (emailaddress) <> UPPER (prs_perslid_email);
|
||||
|
||||
-- Rapport om de historie van bezittingen per persoon te kunnen raadplegen.
|
||||
CREATE OR REPLACE VIEW cizn_v_rap_asset_prs_historie
|
||||
@@ -716,26 +751,28 @@ SELECT ins_srtgroep_omschrijving,
|
||||
|
||||
-- Rapport om inzichtelijk te maken welke personen die door de SCIM koppeling op Inactief zijn gezet
|
||||
-- toch nog ICT voorzieningen in het bezit hebben.
|
||||
CREATE OR REPLACE VIEW cizn_v_rap_asset_einde_contract
|
||||
CREATE OR REPLACE VIEW cizn_v_ict_assets_prs_inactief
|
||||
AS
|
||||
SELECT pf.prs_perslid_naam_full,
|
||||
p.prs_perslid_inactief,
|
||||
SELECT p.prs_perslid_inactief,
|
||||
pf.prs_perslid_naam_full,
|
||||
a.prs_afdeling_omschrijving,
|
||||
d.ins_deel_opmerking,
|
||||
sd.ins_srtdeel_omschrijving,
|
||||
d.ins_deel_key,
|
||||
p.prs_perslid_key
|
||||
FROM prs_perslid p,
|
||||
ins_deel_uitgifte u,
|
||||
ins_deel d,
|
||||
prs_v_perslid_fullnames_all pf,
|
||||
ins_srtdeel sd
|
||||
WHERE prs_perslid_inactief IS NOT NULL
|
||||
FROM prs_perslid p,
|
||||
ins_deel_uitgifte u,
|
||||
ins_deel d,
|
||||
ins_srtdeel sd,
|
||||
prs_afdeling a,
|
||||
prs_v_perslid_fullnames_all pf
|
||||
WHERE (p.prs_perslid_verwijder IS NOT NULL OR p.prs_perslid_inactief < SYSDATE)
|
||||
AND u.prs_perslid_key = p.prs_perslid_key
|
||||
AND ins_deel_uitgifte_ingeleverd IS NULL
|
||||
AND u.ins_deel_uitgifte_ingeleverd IS NULL
|
||||
AND u.ins_deel_key = d.ins_deel_key
|
||||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND d.ins_deel_vervaldatum IS NULL
|
||||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND d.ins_deel_verwijder IS NULL;
|
||||
|
||||
-- Dashboard met informatie omtrent assetbeheer. Per regel wordt het aantal van een rapport getoond. Doorklikken leidt tot het rapport zelf.
|
||||
@@ -745,9 +782,71 @@ AS
|
||||
'<a onclick=''FcltMgr.openDetail("Appl/fac/fac_report.asp?rapcode=ASSETM_DASHB_INACTIEF", "Apparaten toegewezen aan gebruikers met be<62>indigd contract")''>'
|
||||
|| 'Apparaten toegewezen aan gebruikers met be<62>indigd contract'
|
||||
|| '</a>' html_omschrijving,
|
||||
(SELECT COUNT (*) FROM cizn_v_rap_asset_einde_contract) aantal
|
||||
(SELECT COUNT (*) FROM cizn_v_ict_assets_prs_inactief) aantal
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT 2 volgorde,
|
||||
'<a onclick=''FcltMgr.openDetail("Appl/fac/fac_report.asp?rapcode=ASSETM_USER_MISMATCH", "Oneigenlijk gebruik van ICT voorzieningen door anderen")''>'
|
||||
|| 'Oneigenlijk gebruik van ICT voorzieningen door anderen'
|
||||
|| '</a>' html_omschrijving,
|
||||
(SELECT COUNT (*) FROM cizn_v_asset_user_mismatch) aantal
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT 3 volgorde,
|
||||
'<a onclick=''FcltMgr.openDetail("Appl/fac/fac_report.asp?rapcode=ASSET_REQ_FOR_DEPRICATION", "Assets aangemeld voor afschrijving")''>'
|
||||
|| 'Assets aangemeld voor afschrijving'
|
||||
|| '</a>' html_omschrijving,
|
||||
(SELECT COUNT (*) FROM cizn_v_rap_asset_gegevens WHERE status = 'Aangemeld voor afschrijving') aantal
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT 4 volgorde,
|
||||
'<a onclick=''FcltMgr.openDetail("Appl/fac/fac_report.asp?rapcode=ASSETM_NOT_USED_FOR_60", "Assets langer dan 60 dagen niet gebruikt")''>'
|
||||
|| 'Assets langer dan 60 dagen niet gebruikt'
|
||||
|| '</a>' html_omschrijving,
|
||||
(SELECT COUNT (*) FROM cizn_v_asset_check_bron where SIGN(SYSDATE-LAATST_INGELOGD-60) = 1 AND prs_perslid_email IS NOT NULL) aantal
|
||||
FROM DUAL
|
||||
UNION ALL
|
||||
SELECT 5 volgorde,
|
||||
'<a onclick=''FcltMgr.openDetail("Appl/fac/fac_report.asp?rapcode=ASSETM_NOT_IN_INTUNE", "Computer, mobielen en tablets die niet in Intune staan")''>'
|
||||
|| 'Computer, mobielen en tablets die niet in Intune staan'
|
||||
|| '</a>' html_omschrijving,
|
||||
(SELECT COUNT (*) FROM cizn_v_rap_asset_not_in_intune ) aantal
|
||||
FROM DUAL;
|
||||
|
||||
|
||||
-- Rapport om de status van ICT assets te communiceren naar de financiele administratie.
|
||||
CREATE OR REPLACE VIEW cizn_v_rap_ins_fin_admin
|
||||
AS
|
||||
SELECT ins_srtgroep_omschrijving,
|
||||
ins_srtdeel_omschrijving,
|
||||
ins_deel_opmerking,
|
||||
flx.getflex ('INS', 46, ins_deel_key) inkoopnummer,
|
||||
ins_deel_aanmaak,
|
||||
ins_deel_vervaldatum
|
||||
FROM ins_deel d, ins_srtdeel sd, ins_srtgroep sg
|
||||
WHERE d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
AND sg.ins_discipline_key = 221
|
||||
AND ins_deel_verwijder IS NULL;
|
||||
|
||||
-- Rapportage met ICT assets in het bezit van inactieve personen.
|
||||
CREATE OR REPLACE VIEW cizn_v_ict_assets_prs_inactief
|
||||
AS
|
||||
SELECT prs_perslid_inactief,
|
||||
prs_perslid_naam,
|
||||
ins_deel_opmerking,
|
||||
ins_srtdeel_omschrijving,
|
||||
d.ins_deel_key
|
||||
FROM prs_perslid p,
|
||||
ins_deel_uitgifte u,
|
||||
ins_deel d,
|
||||
ins_srtdeel sd
|
||||
WHERE (prs_perslid_verwijder IS NOT NULL OR prs_perslid_inactief < SYSDATE)
|
||||
AND u.prs_perslid_key = p.prs_perslid_key
|
||||
AND ins_deel_uitgifte_ingeleverd IS NULL
|
||||
AND u.ins_deel_key = d.ins_deel_key
|
||||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key;
|
||||
|
||||
-- View om te gebuiken in de notificatie CUST06 om jaarlijks de ICT voorzieningen te noticeren
|
||||
CREATE OR REPLACE VIEW cizn_v_rap_asset_jaar
|
||||
AS
|
||||
|
||||
Reference in New Issue
Block a user