Files
Customer/onces/LOGC/ConvertfromLogcentre.sql
Peter Feij 3edf9a1084 FSN#35297 conversiescript savepoint
svn path=/Customer/; revision=35203
2017-09-05 14:48:40 +00:00

1310 lines
49 KiB
SQL
Raw Blame History

--
-- $Id$
--
-- Conversie van het oude Logcentre naar het nieuwe
DEFINE thisfile = 'Convertfromlogcentre.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 ------
/* Tools to convert from tha Access data */
-- Bijlagen gaan buitenom
-- Niet geconverteerd worden:
-- * Mijn uren tot dusver
-- * Totaal uren deze actie
-- * Datum afhandeling
-- * Goedgekeurd door
-- * Besteed (uren)
-----------------------------------------------------------------------------
-- ONDERSTAANDE EERST UITVOEREN IN DE FCLT-ORACLE DATABASE, dit zijn de tijdelijke importtabellen
-----------------------------------------------------------------------------
CREATE TABLE tmp_bugs
(
bug_id NUMBER (10), -- logcentrenr #1235
cust_id VARCHAR2 (6), -- 4-letterige klantcode XXXX
project_id NUMBER (10), -- 1-Project ID, verwijst naar combi van klant code en srt melding
priority_id NUMBER (10), -- 2-Prio
status_id NUMBER (10), -- 9-Status
bug_name VARCHAR2 (100), -- Beschrijving, melding ondw
bug_desc VARCHAR2 (4000), -- Omschrijving, melding omschr
bug_desc2 VARCHAR2 (4000), -- voorlopig om te bewaren alleen
resolution VARCHAR2 (4000), -- Oplossing, melding note omschr
resolution2 VARCHAR2 (4000), -- Oplossing, melding note omschr
resolution3 VARCHAR2 (4000), -- Oplossing, melding note omschr
resolution4 VARCHAR2 (4000), -- Oplossing, melding note omschr
resolution5 VARCHAR2 (4000), -- Oplossing, melding note omschr
resolution6 VARCHAR2 (4000), -- Oplossing, melding note omschr
resolution7 VARCHAR2 (4000), -- Oplossing, melding note omschr
resolution8 VARCHAR2 (4000), -- Oplossing, melding note omschr
assigned_by NUMBER (10), -- 4-Gemeld door
assigned_to NUMBER (10), -- 6-Actie bij
date_assigned DATE, -- 7-Datum invoer
date_resolved DATE, -- ???
fixversie VARCHAR2 (10), -- 3-Fixversie
approved_by NUMBER (10), -- ???
time_spent NUMBER (10, 2), -- Mijn uren tot dusver
time_cumulative NUMBER (10, 2), -- Totaal uren deze actie
client_code VARCHAR2 (50), -- Versch gebruikt, bevat nu projectnr Facilitor (AX nr)
releasenote VARCHAR2 (4000) -- Releasenotes, melding opm (eindres/releasenote)
);
CREATE TABLE tmp_projects
(
project_id NUMBER (10) PRIMARY KEY, -- 1-Project ID voor/bij 'project_name'
project_appl VARCHAR2 (15), -- Intranet???
project_name VARCHAR2 (50), -- 1-Project Name, soort melding
employee_id NUMBER (10), -- PL
cust_id VARCHAR2 (6) -- 4-lettercode (of FSN)
);
-- De platgeslagen tag-referenties
CREATE TABLE tmp_tags
(
bug_id NUMBER (10), -- logcentrenr #1235
tag_id NUMBER (10),
tag_code VARCHAR2 (50),
tag_description VARCHAR2 (100)
);
CREATE TABLE tmp_employees
(
employee_id NUMBER (10),
employee_name VARCHAR2 (100),
login VARCHAR2 (100),
pass VARCHAR2 (100),
email VARCHAR2 (100),
phone VARCHAR2 (100),
security_level VARCHAR2 (100),
login_guid VARCHAR2 (100)
);
CREATE OR REPLACE VIEW tmp_damo
AS
SELECT b.*, p.project_name
FROM tmp_bugs b, tmp_projects p
WHERE b.project_id = p.project_id;
-- Doe maar eens een globale gooi, dan hebben we wat vulling.
-- Van personen die niet meer bestaan negeren we de meldingen
DELETE FROM mld_kenmerkmelding;
DELETE FROM mld_melding_note;
DELETE FROM mld_melding;
DELETE FROM fac_tracking;
DELETE FROM fac_notificatie;
DELETE FROM web_user_messages;
DELETE FROM tmp_bugs;
INSERT INTO tmp_bugs (bug_id,
cust_id,
project_id,
priority_id,
status_id,
bug_name,
bug_desc,
bug_desc2,
resolution,
resolution2,
resolution3,
resolution4,
resolution5,
resolution6,
resolution7,
resolution8,
assigned_by,
assigned_to,
date_assigned,
date_resolved,
fixversie,
approved_by,
time_spent,
time_cumulative,
client_code,
releasenote)
SELECT bug_id,
cust_id,
project_id,
priority_id,
status_id,
bug_name,
bug_desc,
bug_desc2,
resolution,
resolution2,
resolution3,
resolution4,
resolution5,
resolution6,
resolution7,
resolution8,
assigned_by,
assigned_to,
date_assigned,
date_resolved,
fixversie,
approved_by,
time_spent,
time_cumulative,
client_code,
releasenote
FROM tmp_bugs_org_saved;
-----------------------------------------------------------------------------
-- IN ACCES DIT ALS QUERYS UITVOEREN
-----------------------------------------------------------------------------
-- Handig: via Acces gewoon linken naar de tabellen en dan kopieren
-- Haal die gekke email-kolom (bugs.email) in access eerst weg.
-- De eerste duurt best heel lang, reken op een dik uur voor alles (mdb lokaal!)
--INSERT INTO fclt_tmp_bugs SELECT * FROM bugs WHERE bug_id < 10000;
--INSERT INTO fclt_tmp_bugs SELECT * FROM bugs WHERE bug_id < 20000 and bug_id >= 10000;
--INSERT INTO fclt_tmp_bugs SELECT * FROM bugs WHERE bug_id < 30000 and bug_id >= 22127;
--INSERT INTO fclt_tmp_bugs SELECT * FROM bugs WHERE bug_id < 40000 and bug_id >= 30000;
--INSERT INTO fclt_tmp_bugs
-- SELECT bugs.bug_id AS bug_id,
-- bugs.cust_id AS cust_id,
-- bugs.project_id AS project_id,
-- bugs.priority_id AS priority_id,
-- bugs.status_id AS status_id,
-- bugs.bug_name AS bug_name,
-- mid (bugs.bug_desc, 1, 4000) AS bug_desc,
-- mid (bugs.bug_desc, 4001, 4000) AS bug_desc2,
-- mid (bugs.resolution, 1, 4000) AS resolution,
-- mid (bugs.resolution, 4001, 4000) AS resolution2,
-- mid (bugs.resolution, 8001, 4000) AS resolution3,
-- mid (bugs.resolution, 12001, 4000) AS resolution4,
-- mid (bugs.resolution, 16001, 4000) AS resolution5,
-- mid (bugs.resolution, 20001, 4000) AS resolution6,
-- mid (bugs.resolution, 24001, 4000) AS resolution7,
-- mid (bugs.resolution, 28001, 4000) AS resolution8,
-- bugs.assigned_by AS assigned_by,
-- bugs.assigned_to AS assigned_to,
-- bugs.date_assigned AS date_assigned,
-- bugs.date_resolved AS date_resolved,
-- bugs.fixversie AS fixversie,
-- bugs.approved_by AS approved_by,
-- bugs.time_spent AS time_spent,
-- bugs.time_cumulative AS time_cumulative,
-- bugs.client_code AS client_code,
-- bugs.releasenote AS releasenote
-- FROM bugs
-- WHERE bug_id BETWEEN 0 AND 5000;
--WHERE bug_id >= 40000 ;
--WHERE bug_id between 35000 and 40000 ;
--WHERE bug_id between 30000 and 35000 ;
-- enz.
INSERT INTO fclt_tmp_projects
SELECT * FROM projects;
INSERT INTO fclt_tmp_tags
SELECT bt.bug_id,
t.tag_id,
t.code AS tag_code,
t.description AS tag_description
FROM bugtag bt, tags t
WHERE bt.tag_id = t.tag_id
-- De eerste calls stammen uit 2002. Dat is niet erg relevant meer.
-- Voorstel is om lekker op te ruimen: alles wat gesloten is van voor 2011 wegdoen
-- Dat kan natuurlijk beter direct hierboven, die had ik al niet mee hoeven nemen
-- Melding 22127 is van 2-1-2012
--DELETE FROM fclt_tmp_bugs WHERE status_id IN (5,8) AND date_assigned < TO_DATE('01-01-2012','DD-MM-YYYY');
-----------------------------------------------------------------------------
-- De FIP-import moeten ook nog worden gedaan voor Personen, Organisatie en Meldingstructuur
-----------------------------------------------------------------------------
--SELECT projects.cust_id as afdelingscode, employees.employee_name as persoonachternaam, Null AS tussenvoegsel, Null AS voorletters, Null AS voornaam, null as titel, employees.phone as telefoonnummer, Null AS mobiel, employees.email as email, 'nvt' AS functie, employees.employee_id as personeelsnummer, employees.login as loginnaam, employees.pass as password, employees.employee_name
--FROM employees INNER JOIN projects ON employees.employee_id = projects.employee_id;
-- Alle PLATO calls worden op een dummy melder gezet
-- Deze bestaat niet in Logcentre maar heeft in Facilitor klantnr 0000 gekregen
-- Als we deze assigned by daar op zetten komt het straks vanzelf goed.
UPDATE tmp_bugs
SET assigned_by = 0000
WHERE cust_id = 'PLAT';
-- Mareon calls worden nu gemeld namens Aareon (VG), klantnr. 1564
-- Om alles netjes op Mareon te krijgen mogen al deze calls omgezet worden
-- Dat kan zijn waar cust_id MARX of behandelaar = MARX (1592)
UPDATE tmp_bugs
SET assigned_by = 1564
WHERE cust_id = 'MARX' OR assigned_to = 1592;
-- Alles wat ooit door 'de helpdesk' gemeld is (assigned by = 1256)
-- Dat zetten we maar even op RLI (assigned by = 1326) voor het gemak
UPDATE tmp_bugs
SET assigned_by = 1326
WHERE assigned_by = 1256;
-- Alles wat ooit rondom 'administratie' gemeld is (assigned by / to= 1246 )
-- Dat zetten we maar even op PF (= 1210) voor het gemak
UPDATE tmp_bugs
SET assigned_by = 1210
WHERE assigned_by = 1246;
-- Als de call door een Facilitor medewerker geregistreerd is, dan k<>n dat namens een klant zijn
-- Om dit te kunnen herleiden nemen we de xxxx code op in de omschrijving
-- Dit schoont vanzelf op, omdat we in Facilitor ook daadwerkelijk melden namens de klant
-- FSN meldingen laten we buiten beschouwing, die zijn echt vanuit 'ons'
UPDATE tmp_bugs b
SET bug_name = cust_id || ' - ' || bug_name
WHERE cust_id <> 'FSN'
--AND cust_id not like '%-%'
AND assigned_by IN
(SELECT prs_perslid_nr
FROM prs_v_perslid_gegevens
WHERE UPPER (prs_perslid_email) LIKE '%FACILITOR%');
-- NU KUNNEN WE ALLE MELDINGEN IMPORTEREN
-- hierbij sluiten we de volgende fsn meldingen uit:
-- cursus=klant (1345), demo/proeftuin (1419) omdat we hier separate meldingen voor hebben
-- support credits (1475) omdat we hier iets anders voor moeten verzinnen
-- Meldingen die op naam van support staan (assigned to = Helpdesk 1256)
-- De MARX meldingen die 'in behandeling zijn' door f:marx (assigned_to=1592)
-- Of op naam van het archief (assigned to = Archief 1228)
-- stdmeldingkey = 3, geen behandelaar
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
'', -- geen behandelaar
3, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to in (1256,1228,1592)
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Meldingen die op naam van CAB staan (assigned to = F:CAB 1521)
-- stdmeldingkey = 22, geen behandelaar
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
'', -- geen behandelaar
22, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to = 1521
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Ook meldingen waar PF behandelaar (perslidnr =1210) is gaan naar CAB
-- stdmeldingkey = 22, behandelaar is PF
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_to),
22, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to = 1210
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Meldingen die op Release staan (assigned to = F:Release 1296)
-- deze gaan naar support, maar krijgen de status 'afgemeld', vlaggetje 'release' aan
-- stdmeldingkey = 3, geen behandelaar
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed,
mld_melding_flag)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
'', -- geen behandelaar
3, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
5, -- status is altijd afgemeld
priority_id,
4
FROM tmp_damo
WHERE assigned_to = 1296
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Meldingen die op planning staan (F:PLANNING 1540)
-- gaan naar development
-- stdmeldingkey = 24, geen behandelaar
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
'', -- geen behandelaar
24, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to = 1540
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Meldingen die op consult staan (F:CONSULT 1624)
-- gaan naar consultancy
-- stdmeldingkey = 23, geen behandelaar
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
'', -- geen behandelaar
23, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to = 1624
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Meldingen die op naam van een supportmedewerker moeten komen te staan (stdmeldingkey=3)
-- prs_afdeling_omschrijving = 'Support'
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_to),
3, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to IN
(SELECT prs_perslid_nr
FROM PRS_V_PERSLID_GEGEVENS
WHERE UPPER (PRS_PERSLID_EMAIL) LIKE '%FACILITOR%'
AND prs_afdeling_omschrijving = 'Support')
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Meldingen die op naam van een consultant moeten komen te staan (stdmeldingkey=23)
-- prs_afdeling_omschrijving = consultancy
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_to),
23, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to IN
(SELECT prs_perslid_nr
FROM PRS_V_PERSLID_GEGEVENS
WHERE UPPER (PRS_PERSLID_EMAIL) LIKE '%FACILITOR%'
AND prs_afdeling_omschrijving = 'Consultancy')
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Meldingen die op naam van een developer moeten komen te staan (stdmeldingkey=24)
-- prs_afdeling_omschrijving = development
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_to),
24, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to IN
(SELECT prs_perslid_nr
FROM PRS_V_PERSLID_GEGEVENS
WHERE UPPER (PRS_PERSLID_EMAIL) LIKE '%FACILITOR%'
AND prs_afdeling_omschrijving = 'Development')
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Meldingen die op naam van sales moeten komen te staan (stdmeldingkey=25)
-- prs_afdeling_omschrijving = sales
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_to),
25, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to IN
(SELECT prs_perslid_nr
FROM PRS_V_PERSLID_GEGEVENS
WHERE UPPER (PRS_PERSLID_EMAIL) LIKE '%FACILITOR%'
AND prs_afdeling_omschrijving = 'Sales')
AND project_id NOT IN (1345, 1419, 1475)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Dan nog meldingen die op een klantnaam staan
-- Al deze meldingen zetten we op support (stdmelding = 3)
-- Met het vlaggetje 'klantreactie vereist' aan (mld_melding_flag = 1)
-- Natuurlijk niet als een melding al is afgehandeld (5=verwerkt, 8=vervallen)
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed,
mld_melding_flag)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
'', -- geen behandelaar, want een klant kan immers geen behandelaar zijn
3, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id,
1
FROM tmp_damo
WHERE assigned_to NOT IN
(SELECT prs_perslid_nr
FROM PRS_V_PERSLID_GEGEVENS
WHERE UPPER (PRS_PERSLID_EMAIL) LIKE '%FACILITOR%')
AND assigned_to IS NOT NULL
AND assigned_to NOT IN
(1246,
1521,
1624,
1592,
1540,
1591,
1296,
1425,
1520,
1256,
1228) --- fictieve fclt users (F:...)
AND project_id NOT IN (1345, 1419, 1475)
AND status_id NOT IN (5, 8)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Dan nog AFGEHANDELDE meldingen die op een klantnaam staan
-- Al deze meldingen zetten we op support (stdmelding = 3)
-- De status is afgehandeld (5=verwerkt, 8=vervallen)
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
'', -- geen behandelaar, klant kan immers geen behandelaar zijn
3, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE assigned_to NOT IN
(SELECT prs_perslid_nr
FROM PRS_V_PERSLID_GEGEVENS
WHERE UPPER (PRS_PERSLID_EMAIL) LIKE '%FACILITOR%')
AND assigned_to IS NOT NULL
AND assigned_to NOT IN
(1246,
1521,
1624,
1592,
1540,
1591,
1296,
1425,
1520,
1256,
1228) --- fictieve fclt users (F:...)
AND project_id NOT IN (1345, 1419, 1475)
AND status_id IN (5, 8)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- NU MOETEN DE MELDINGEN CURSUS KLANT EN PROEFTUIN NOG OMGEZET WORDEN
-- Proeftuin (project=1419 of assigned_to=1591) kan naar de volgende stdmelding: 41=proeftuin
-- Alles wat assigned to 1591 is mag, zonder behandelaar, naar 41
-- Alles wat project 1419 is mag naar 41, indien assigned to = 1591 dan zonder behandelaar anders behandelaar overnemen
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
DECODE (assigned_to,
1591, '',
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_to)),
41, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE (assigned_to = 1591 OR project_id = 1419)
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- Cursus klant (1345) kan naar de volgende stdmelding: 42=cursus klant
INSERT INTO mld_melding (mld_melding_key,
mld_melding_module,
mld_melding_onderwerp,
mld_meldbron_key,
mld_melding_datum,
mld_melding_omschrijving,
mld_melding_opmerking,
mld_melding_behandelaar_key,
mld_stdmelding_key,
mld_melding_ordernr,
prs_perslid_key,
mld_melding_status,
mld_melding_spoed)
SELECT bug_id,
'MLD',
SUBSTR (bug_name, 1, 80), --lang genoeg?
6,
date_assigned,
bug_desc,
releasenote,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_to),
42, --std melding key
client_code,
(SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by),
DECODE (status_id,
1, 2,
2, 4,
3, 5,
4, 4,
5, 6,
8, 1,
15, 4,
16, 4,
17, 4),
priority_id
FROM tmp_damo
WHERE project_id = 1345
AND EXISTS (SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_nr = assigned_by);
-- NU ALLE 'SUBSTATUSSEN' OFWEL DE VLAGGETJES GOED ZETTEN
-- Als er al een vlaggetje staat (bij klant) dan deze niet overschrijven!
--"status_id";"status";"status_en"
--1;"0.Open";"0.Open"
--2;"1.InBehandeling";"1.In progress"
--3;"2.Opleveren";"2.Release" >> FLAG4 RELEASE
--4;"3.Acceptatie";"3.Approval"
--5;"4.Verwerkt";"4.Closed"
--8;"9.Vervallen";"9.Rejected"
--15;"*HOLD*";"*HOLD*" >> FLAG3 ON HOLD
--16;"1.Testen";"1.Test"
--17;"1.Afronden";"1.Finishing"
-- Hold> flag 3
UPDATE mld_melding
SET mld_melding_flag = 3
WHERE mld_melding_flag IS NULL
AND mld_melding_key IN (SELECT bug_id
FROM tmp_damo
WHERE status_id = 15);
-- Release > flag 4
UPDATE mld_melding
SET mld_melding_flag = 4
WHERE mld_melding_flag IS NULL
AND mld_melding_key IN (SELECT bug_id
FROM tmp_damo
WHERE status_id = 3);
-- De Behandeling (plat) naar notes
-- De Behandeling (plat) naar notes in blokken van 4000.
INSERT INTO mld_melding_note (mld_melding_key, mld_melding_note_omschrijving, mld_melding_note_aanmaak)
SELECT bug_id, resolution, TRUNC (SYSDATE)
FROM tmp_damo
WHERE EXISTS (SELECT ''
FROM mld_melding
WHERE mld_melding_key = bug_id)
AND resolution IS NOT NULL;
INSERT INTO mld_melding_note (mld_melding_key, mld_melding_note_omschrijving, mld_melding_note_aanmaak)
SELECT bug_id, resolution, TRUNC (SYSDATE) + 1 / 24 / 60
FROM tmp_damo
WHERE EXISTS (SELECT ''
FROM mld_melding
WHERE mld_melding_key = bug_id)
AND resolution2 IS NOT NULL;
INSERT INTO mld_melding_note (mld_melding_key, mld_melding_note_omschrijving, mld_melding_note_aanmaak)
SELECT bug_id, resolution, TRUNC (SYSDATE) + 2 / 24 / 60
FROM tmp_damo
WHERE EXISTS (SELECT ''
FROM mld_melding
WHERE mld_melding_key = bug_id)
AND resolution3 IS NOT NULL;
INSERT INTO mld_melding_note (mld_melding_key, mld_melding_note_omschrijving, mld_melding_note_aanmaak)
SELECT bug_id, resolution, TRUNC (SYSDATE) + 3 / 24 / 60
FROM tmp_damo
WHERE EXISTS (SELECT ''
FROM mld_melding
WHERE mld_melding_key = bug_id)
AND resolution4 IS NOT NULL;
INSERT INTO mld_melding_note (mld_melding_key, mld_melding_note_omschrijving, mld_melding_note_aanmaak)
SELECT bug_id, resolution, TRUNC (SYSDATE) + 4 / 24 / 60
FROM tmp_damo
WHERE EXISTS (SELECT ''
FROM mld_melding
WHERE mld_melding_key = bug_id)
AND resolution5 IS NOT NULL;
INSERT INTO mld_melding_note (mld_melding_key, mld_melding_note_omschrijving, mld_melding_note_aanmaak)
SELECT bug_id, resolution, TRUNC (SYSDATE) + 5 / 24 / 60
FROM tmp_damo
WHERE EXISTS (SELECT ''
FROM mld_melding
WHERE mld_melding_key = bug_id)
AND resolution6 IS NOT NULL;
INSERT INTO mld_melding_note (mld_melding_key, mld_melding_note_omschrijving, mld_melding_note_aanmaak)
SELECT bug_id, resolution, TRUNC (SYSDATE) + 6 / 24 / 60
FROM tmp_damo
WHERE EXISTS (SELECT ''
FROM mld_melding
WHERE mld_melding_key = bug_id)
AND resolution7 IS NOT NULL;
INSERT INTO mld_melding_note (mld_melding_key, mld_melding_note_omschrijving, mld_melding_note_aanmaak)
SELECT bug_id, resolution, TRUNC (SYSDATE) + 7 / 24 / 60
FROM tmp_damo
WHERE EXISTS (SELECT ''
FROM mld_melding
WHERE mld_melding_key = bug_id)
AND resolution8 IS NOT NULL;
-- DE SOORT MELDING KOMT IN EEN FLEXKENMERK (SOORT MELDING = 21) TE STAAN
-- 1002 = FSN BUG=Onderhoud
-- 1=gebrek
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT bug_id, 21, 1
FROM tmp_damo
WHERE (UPPER (project_name) IN
('BEVINDING (NTB)', 'BUG', 'BUG=ONDERHOUD', 'GEBREK')
OR project_id = 1002)
AND EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = bug_id);
-- 1028 = FSN Project=Klant
-- 2=ondersteuning
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT bug_id, 21, 2
FROM tmp_damo
WHERE (UPPER (project_name) NOT IN
('WENS',
'WENS=ONTWIKKELING',
'WISH',
'OPTIMALISATIE',
'FAQ',
'BUG',
'FAQ=SUPPORT',
'BEVINDING (NTB)',
'BUG',
'BUG=ONDERHOUD',
'GEBREK',
'ONBEKEND',
'ONBEKEND (NTB)')
OR project_id = 1028)
AND EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = bug_id);
-- 1310 = FSN FAQ=Support
-- 3=vraag
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT bug_id, 21, 3
FROM tmp_damo
WHERE (UPPER (project_name) IN ('FAQ', 'FAQ=SUPPORT')
OR project_id = 1310)
AND EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = bug_id);
-- 1006 = FSN Wens
-- 4=wens
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT bug_id, 21, 4
FROM tmp_damo
WHERE (UPPER (project_name) IN
('WENS', 'WENS=ONTWIKKELING', 'WISH', 'OPTIMALISATIE')
OR project_id = 1006)
AND EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = bug_id);
-- na de soort melding moeten de tags omgezet worden:
-- Tags mbt module (kenmerk 22): Indien meerdere module tags: dan maar niets!
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT bug_id, 22, fac_usrdata_key
FROM fac_usrdata d, tmp_tags_modules m
WHERE m.tag_code = d.fac_usrdata_upper
AND EXISTS ( SELECT bug_id, COUNT (tag_id)
FROM tmp_tags_modules c
WHERE c.bug_id = m.bug_id
GROUP BY bug_id
HAVING COUNT (tag_id) = 1)
AND EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = bug_id);
-- De calls met een tag 'Must'
-- Hierbij moet kenmerk MoSCoW (24) ook op must (26) gezet worden.
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT bug_id, 24, 26
FROM tmp_tags_must
WHERE EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = bug_id);
-- Dan alle tags die ook maar iets een release oid van doen hebben
-- Deze worden gecombineerd met de waarde in het veld Fixversie
-- In het kenmerk release (25) zetten
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT DISTINCT b.bug_id, 25, RTRIM(b.fixversie || ' ' || r.tag)
FROM tmp_bugs b, tmp_tags_release r
WHERE b.bug_id = r.bug_id(+)
AND (fixversie IS NOT NULL OR tag IS NOT NULL)
AND EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = b.bug_id);
-- Het projectnummer uit Logcentre moet naar kenmerk Facilitor projectnummer (27)
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT bug_id, 27, client_code
FROM tmp_bugs
WHERE client_code IS NOT NULL
AND EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = bug_id);
-- De geraamde uren uit Logcentre moeten naar kenmerk Raming (26)
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT bug_id, 26, time_spent
FROM tmp_bugs
WHERE time_spent IS NOT NULL
AND EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = bug_id);
-- Als het om een IB melding gaat, dan moet het vinkje IB issue aangezet worden (kenmerk 23)
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
SELECT bug_id, 23, 1
FROM tmp_bugs
WHERE project_id = 1477
AND EXISTS (SELECT mld_melding_key
FROM mld_melding
WHERE mld_melding_key = bug_id);
-- Logcenter deed alleen een CR deed en niet een CR+LF
-- Alleenstaande CHR(13) in Oracle vervangen door CHR(10) + CHR(13)
UPDATE mld_melding_note
SET mld_melding_note_omschrijving=REPLACE (mld_melding_note_omschrijving,
CHR (13) || '*',
CHR (13) || CHR (10) || '*');
UPDATE mld_melding_note
SET mld_melding_note_omschrijving =
REPLACE (mld_melding_note_omschrijving, CHR (0), ' ');
-- om notities zichtbaar te krijgen voor klanten
UPDATE mld_melding_note
SET mld_melding_note_flag = 1
WHERE mld_melding_note_flag = 0;
-- nieuwe wachtwoord afdwingen
--UPDATE prs_perslid
-- SET prs_perslid_wachtwoord_exp = SYSDATE
--WHERE prs_srtperslid_key = 441
-- AND prs_perslid_einddatum IS NULL
-- AND prs_perslid_verwijder IS NULL;
-- Met name voor de AA, Kien, Yask etc. klanten:
-- de kostenplaatsen goed zetten
UPDATE mld_melding m
SET m.prs_kostenplaats_key =
(SELECT prs_kostenplaats_key
FROM tmp_bugs_kpl b
WHERE m.mld_melding_key = b.bug_id);
-- Melding sequence ophogen
DROP SEQUENCE mld_s_mld_melding_key;
DECLARE
stmt VARCHAR2 (200);
BEGIN
SELECT 'CREATE SEQUENCE mld_s_mld_melding_key START WITH '
|| COALESCE (MAX (mld_melding_key + 1), 1)
INTO stmt
FROM mld_melding;
EXECUTE IMMEDIATE stmt;
END;
/
COMMIT;
------ 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