FCLT#80263 ITIL/IT Service Management 'module'

svn path=/Database/trunk/; revision=64791
This commit is contained in:
Suzan Wiegerinck
2024-05-23 15:18:12 +00:00
parent 7fedfe3d15
commit 83f5007053

View File

@@ -9,9 +9,9 @@
DECLARE
---- TODO: variabelen opschonen, alleen VGT is voldoende rest kan dan uniek herleid worden. Voor settings zijn ze ook niet nodig.
v_allow_parent VARCHAR2 (4000);
v_can_change_prio VARCHAR2 (4000);
v_forward_can_assign VARCHAR2 (4000);
v_mg_applicaties NUMBER (10);
v_mg_hardware NUMBER (10);
v_mg_inloggen NUMBER (10);
@@ -50,6 +50,18 @@ BEGIN
SET f.fac_setting_pvalue = 'true'
WHERE f.fac_setting_name = 'mld_can_change_prio_and_place_while_issued';
END IF;
SELECT COALESCE (f.fac_setting_pvalue, f.fac_setting_default)
INTO v_forward_can_assign
FROM fac_setting f
WHERE f.fac_setting_name = 'mld_forward_can_assign';
IF v_forward_can_assign = '0'
THEN
UPDATE fac_setting f
SET f.fac_setting_pvalue = '1'
WHERE f.fac_setting_name = 'mld_forward_can_assign';
END IF;
------------------------------
--- Vulling ------------------
@@ -143,6 +155,11 @@ BEGIN
VALUES ('MLD', 'Problemen', v_vgt_problem);
--- Zet de parameters van de vakgroepen goed
INSERT INTO mld_disc_params (mld_ins_discipline_key, mld_disc_params_srtgroep)
SELECT ins_discipline_key, 2
FROM ins_tab_discipline
WHERE ins_discipline_module = 'MLD' AND ins_srtdiscipline_key = v_vgt_behandelteams;
INSERT INTO mld_disc_params (mld_ins_discipline_key,
mld_disc_params_notify,
mld_disc_params_bonotify,
@@ -180,6 +197,7 @@ BEGIN
AND ins_srtdiscipline_key IN( v_vgt_wijziging, v_vgt_problem ));
--- Maak de standaardmeldingen aan
--- !!!! BIJ INCIDENTEN MOETN DE SLA TIJDEN NOG GEVULD WORDEN IVM DE URGENTIE MATRIX !!!! ---
INSERT INTO mld_stdmelding (mld_ins_discipline_key,
mld_stdmelding_omschrijving,
mld_stdmelding_notfrontend,
@@ -899,9 +917,9 @@ BEGIN
UNION ALL
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 10 , 'Bijlagen' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Bijlagen'
UNION ALL
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 15 , 'Workaround mogelijk?' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Ja/Nee/Nvt'
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 905 , 'Workaround mogelijk?' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Ja/Nee/Nvt'
UNION ALL
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 15 , 'Toelichting/beschrijving workaround' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Tekstblok';
SELECT sk.mld_srtkenmerk_key, v_vgt_incident, 'T', 910 , 'Toelichting/beschrijving workaround' FROM mld_srtkenmerk sk WHERE sk.mld_srtkenmerk_omschrijving = 'ITSM Tekstblok';
-- Niet-standaard wijzigingen hebben kenmerken op vakgroep niveau zodat een klant eenvoudig een nieuwe categorie niet-standaard wijziging kan toevoegen
-- Niet-standaard wijziging Bloktitels
@@ -1772,7 +1790,7 @@ BEGIN
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code IN ('WEB_MLDBOF', 'MLDBAC')
WHERE f.fac_functie_code IN ('WEB_MLDBOF', 'WEB_MLDBAC')
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_incident
AND g.fac_groep_omschrijving = 'ITSM-Incident manager'
@@ -1798,7 +1816,7 @@ BEGIN
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code IN ('WEB_MLDBOF', 'MLDBAC')
WHERE f.fac_functie_code IN ('WEB_MLDBOF', 'WEB_MLDBAC')
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_wijziging
AND g.fac_groep_omschrijving = 'ITSM-Change manager'
@@ -1824,9 +1842,9 @@ BEGIN
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code IN ('WEB_MLDBOF', 'MLDBAC')
WHERE f.fac_functie_code IN ('WEB_MLDBOF', 'WEB_MLDBAC')
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_problem
AND d.ins_srtdiscipline_key = v_vgt_problem
AND g.fac_groep_omschrijving = 'ITSM-Problem manager'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
@@ -1834,7 +1852,248 @@ BEGIN
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
ins_discipline_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key,
f.fac_functie_key,
d.ins_discipline_key,
-1,
-1,
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code IN ('WEB_MLDFOF', 'WEB_MLDBOF')
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key IN ( v_vgt_incident, v_vgt_wijziging )
AND g.fac_groep_omschrijving = 'ITSM-Eerste lijn'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
ins_discipline_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key,
f.fac_functie_key,
d.ins_discipline_key,
-1,
-1,
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code = 'WEB_MLDFOF'
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key IN ( v_vgt_incident, v_vgt_wijziging )
AND g.fac_groep_omschrijving = 'ITSM-Tweede lijn'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
ins_discipline_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key,
f.fac_functie_key,
d.ins_discipline_key,
-1,
9,
-1,
9
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code = 'WEB_MLDBOF'
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_wijziging
AND g.fac_groep_omschrijving = 'ITSM-CAB'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
-- sowieso moeten alle groepen BOF rechten hebben voor het eigen BT
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
ins_discipline_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key,
f.fac_functie_key,
d.ins_discipline_key,
-1,
-1,
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code = 'WEB_MLDBOF'
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_behandelteams
AND d.ins_discipline_omschrijving = 'Eerste lijn'
AND g.fac_groep_omschrijving = 'ITSM-Eerste lijn'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
ins_discipline_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key,
f.fac_functie_key,
d.ins_discipline_key,
-1,
-1,
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code = 'WEB_MLDBOF'
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_behandelteams
AND d.ins_discipline_omschrijving = 'Tweede lijn'
AND g.fac_groep_omschrijving = 'ITSM-Tweede lijn'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
ins_discipline_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key,
f.fac_functie_key,
d.ins_discipline_key,
-1,
-1,
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code = 'WEB_MLDBOF'
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_behandelteams
AND d.ins_discipline_omschrijving = 'Incidentmanager'
AND g.fac_groep_omschrijving = 'ITSM-Incident manager'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
ins_discipline_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key,
f.fac_functie_key,
d.ins_discipline_key,
-1,
-1,
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code = 'WEB_MLDBOF'
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_behandelteams
AND d.ins_discipline_omschrijving = 'Changemanager'
AND g.fac_groep_omschrijving = 'ITSM-Change manager'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
ins_discipline_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key,
f.fac_functie_key,
d.ins_discipline_key,
-1,
-1,
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code = 'WEB_MLDBOF'
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_behandelteams
AND d.ins_discipline_omschrijving = 'Problemmanager'
AND g.fac_groep_omschrijving = 'ITSM-Problem manager'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
INSERT INTO fac_groeprechten (fac_groep_key,
fac_functie_key,
ins_discipline_key,
fac_gebruiker_alg_level_read,
fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read,
fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key,
f.fac_functie_key,
d.ins_discipline_key,
-1,
-1,
-1,
-1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
WHERE f.fac_functie_code = 'WEB_MLDBOF'
AND f.fac_functie_module = d.ins_discipline_module
AND d.ins_srtdiscipline_key = v_vgt_behandelteams
AND d.ins_discipline_omschrijving = 'CAB'
AND g.fac_groep_omschrijving = 'ITSM-CAB'
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
WHERE gr.fac_functie_key = f.fac_functie_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
-- Portaal & menu items
END;