156 lines
5.7 KiB
SQL
156 lines
5.7 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Omzetten van huidige inrichting met vakgroepen per team naar vakgroepen per product en secundaire behandelgroepen
|
|
-- Er is handmatig al e.e.a. aangemaakt zodat we hier van bekende keys uit kunnen gaan:
|
|
--
|
|
-- Nieuwe disciplines Facilitor (161), Mareon (181) en Plato (182)
|
|
-- Corresponderende meldingen:
|
|
-- Gebrek|Verstoring (201, 241, 245)
|
|
-- Ondersteuning (202, 242, 246)
|
|
-- Vraag (203, 243, 247)
|
|
-- Wens (221, 244, 248)
|
|
|
|
DEFINE thisfile = 'LOGC#56439.SQL'
|
|
DEFINE dbuser = '^LOGC'
|
|
|
|
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
|
|
|
|
------ payload begin ------
|
|
|
|
-- Eerst doen we alles onder FACILITOR, achteraf splitsen we nog naar Mareon en Plato
|
|
|
|
-- Het omzetten van Ticket/Consultants/Ticket[@Ondersteuning] naar Tickets/FACILITOR/Ondersteuning enz.
|
|
-- De secundaire behandelaar wordt gevuld met de primaire behandelaar
|
|
-- kenmerk 21 is het type: Gebrek, Wens, Ondersteuning en Vraag en bepaalt de nieuwe stdmelding
|
|
|
|
-- Waar het type bekend is, kun je 1-op-1 omzetten
|
|
UPDATE mld_melding m
|
|
SET
|
|
m.mld_ins_discipline_key =
|
|
(SELECT sm.mld_ins_discipline_key
|
|
FROM mld_stdmelding sm
|
|
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key),
|
|
mld_melding_behandelaar2_key = mld_melding_behandelaar_key,
|
|
m.mld_stdmelding_key =
|
|
(SELECT DECODE (kmm.mld_kenmerkmelding_waarde,
|
|
1, 201,
|
|
2, 202,
|
|
3, 203,
|
|
4, 221)
|
|
FROM mld_kenmerkmelding kmm
|
|
WHERE kmm.mld_melding_key = m.mld_melding_key
|
|
AND kmm.mld_kenmerk_key = 21)
|
|
WHERE m.mld_melding_key IN
|
|
(SELECT mld_melding_key
|
|
FROM mld_kenmerkmelding
|
|
WHERE mld_kenmerk_key = 21
|
|
AND mld_kenmerkmelding_verwijder IS NULL);
|
|
|
|
-- Waar het type NIET bekend is, vertalen we de tickets obv de huidige primaire behandelgroep
|
|
-- wat bepaald wordt via de stdmelding
|
|
UPDATE mld_melding m
|
|
SET
|
|
m.mld_ins_discipline_key =
|
|
(SELECT sm.mld_ins_discipline_key
|
|
FROM mld_stdmelding sm
|
|
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key),
|
|
mld_melding_behandelaar2_key = mld_melding_behandelaar_key,
|
|
m.mld_stdmelding_key =
|
|
DECODE (m.mld_stdmelding_key,
|
|
22, 221,
|
|
23, 202,
|
|
24, 221,
|
|
101, 203,
|
|
81, 203,
|
|
25, 203,
|
|
3, 203, m.mld_stdmelding_key) -- rest is geen tickets
|
|
WHERE NOT EXISTS
|
|
(SELECT ''
|
|
FROM mld_kenmerkmelding km
|
|
WHERE mld_kenmerk_key = 21
|
|
AND mld_kenmerkmelding_verwijder IS NULL
|
|
AND km.mld_melding_key = m.mld_melding_key);
|
|
|
|
-- De oude vakgroepen worden secundaire behandelgroepen, net als de nieuwe Testen en Release
|
|
UPDATE mld_disc_params SET mld_disc_params_srtgroep = 2 WHERE mld_ins_discipline_key IN (22,42,41,81,43,21,201,202);
|
|
|
|
-- Meldingen met Test-balletje krijgen secundaire behandelgroep Testen
|
|
UPDATE mld_melding SET mld_ins_discipline_key = 201 WHERE mld_melding_flag = 4;
|
|
-- Meldingen met 2Saas-balletje krijgen secundaire behandelgroep Release
|
|
UPDATE mld_melding SET mld_ins_discipline_key = 202 WHERE mld_melding_flag = 5;
|
|
|
|
--Nu gaan we MARX splitsen naar de Mareon-vakgroep:
|
|
-- Kenmerk 25 is de fixversie/release
|
|
UPDATE mld_melding
|
|
SET mld_stdmelding_key =
|
|
DECODE (mld_stdmelding_key,
|
|
201, 241,
|
|
202, 242,
|
|
203, 243,
|
|
221, 244,
|
|
mld_stdmelding_key)
|
|
WHERE prs_kostenplaats_key = (SELECT prs_kostenplaats_key
|
|
FROM prs_kostenplaats
|
|
WHERE prs_kostenplaats_upper = 'MARX');
|
|
UPDATE mld_melding
|
|
SET mld_stdmelding_key =
|
|
DECODE (mld_stdmelding_key,
|
|
201, 241,
|
|
202, 242,
|
|
203, 243,
|
|
221, 244,
|
|
mld_stdmelding_key)
|
|
WHERE mld_melding_key IN
|
|
(SELECT mld_melding_key
|
|
FROM mld_kenmerkmelding kmm
|
|
WHERE kmm.mld_kenmerkmelding_waarde LIKE 'MARX%'
|
|
AND kmm.mld_kenmerk_key = 25);
|
|
|
|
--Nu gaan we PLAT splitsen naar de Plato-vakgroep:
|
|
UPDATE mld_melding
|
|
SET mld_stdmelding_key =
|
|
DECODE (mld_stdmelding_key,
|
|
201, 245,
|
|
202, 246,
|
|
203, 247,
|
|
221, 248,
|
|
mld_stdmelding_key)
|
|
WHERE prs_kostenplaats_key = (SELECT prs_kostenplaats_key
|
|
FROM prs_kostenplaats
|
|
WHERE prs_kostenplaats_upper = 'PLAT');
|
|
UPDATE mld_melding
|
|
SET mld_stdmelding_key =
|
|
DECODE (mld_stdmelding_key,
|
|
201, 245,
|
|
202, 246,
|
|
203, 247,
|
|
221, 248,
|
|
mld_stdmelding_key)
|
|
WHERE mld_melding_key IN
|
|
(SELECT mld_melding_key
|
|
FROM mld_kenmerkmelding kmm
|
|
WHERE kmm.mld_kenmerkmelding_waarde LIKE 'PLAT%'
|
|
AND kmm.mld_kenmerk_key = 25);
|
|
|
|
-- Nu moet er (handmatig) geautoriseerd gaan worden
|
|
|
|
------ payload end ------
|
|
|
|
SET DEFINE OFF
|
|
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
|
/
|
|
|
|
COMMIT;
|
|
SET ECHO OFF
|
|
SPOOL OFF
|
|
SET DEFINE ON
|
|
PROMPT Logfile of this upgrade is: &fcltlogfile
|