UBRH#55068 -- Importprocedure data topdesk naar facilitor
UBRH#55068 -- View voor kennisbank-verantwoordelijke svn path=/Customer/trunk/; revision=40386
This commit is contained in:
281
UBRH/ubrh.sql
281
UBRH/ubrh.sql
@@ -1,3 +1,4 @@
|
||||
/* Formatted on 20-12-2018 13:17:01 (QP5 v5.136.908.31019) */
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
@@ -18,87 +19,58 @@ SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
-- Deze view nog weghalen voor PRODUCTIE
|
||||
CREATE OR REPLACE VIEW ubrh_v_prs_levcontacten
|
||||
(
|
||||
PRS_CONTACTPERSOON_KEY,
|
||||
PRS_BEDRIJF_KEY,
|
||||
PRS_BEDRIJF_NAAM,
|
||||
PRS_CONTACTPERSOON_NAAM,
|
||||
CONTACT
|
||||
)
|
||||
AS
|
||||
SELECT c.prs_contactpersoon_key,
|
||||
b.prs_bedrijf_key,
|
||||
b.prs_bedrijf_naam,
|
||||
c.prs_contactpersoon_naam,
|
||||
( b.prs_bedrijf_naam
|
||||
|| ' - '
|
||||
|| c.prs_contactpersoon_naam
|
||||
|| ' - '
|
||||
|| c.prs_contactpersoon_email)
|
||||
contact
|
||||
FROM prs_v_aanwezigbedrijf b, prs_contactpersoon c
|
||||
WHERE b.prs_bedrijf_leverancier = 1
|
||||
AND b.prs_bedrijf_key = c.prs_bedrijf_key
|
||||
ORDER BY contact;
|
||||
|
||||
-- View om bij de meldingen de Afdeling te kunnen kiezen vanuit 1e niveau Ministerie en daaronder de echte afdeling (laagste niveau)
|
||||
CREATE OR REPLACE VIEW ubrh_v_afdelingkiezen
|
||||
(
|
||||
PRS_AFDELING_KEY,
|
||||
PRS_AFDELING_OMSCHRIJVING,
|
||||
PRS_DEPARTEMENT_KEY,
|
||||
PRS_DEPARTEMENT_OMSCHRIJVING,
|
||||
PRS_DEPARTEMENT_CODE,
|
||||
PRS_AFDELING_KEUZELIJST
|
||||
PRS_AFDELING_KEY,
|
||||
PRS_AFDELING_OMSCHRIJVING,
|
||||
PRS_DEPARTEMENT_KEY,
|
||||
PRS_DEPARTEMENT_OMSCHRIJVING,
|
||||
PRS_DEPARTEMENT_CODE,
|
||||
PRS_AFDELING_KEUZELIJST
|
||||
)
|
||||
AS
|
||||
SELECT b.prs_afdeling_key
|
||||
AS Key_EigenAfdeling,
|
||||
(SELECT a.prs_afdeling_omschrijving
|
||||
FROM prs_afdeling a
|
||||
WHERE a.prs_afdeling_key = b.prs_afdeling_key)
|
||||
AS EigenAfdelingsNaam,
|
||||
b.prs_afdeling_key1
|
||||
AS Key_Departement,
|
||||
a.prs_afdeling_omschrijving
|
||||
AS Naam_Departement,
|
||||
a.prs_afdeling_naam
|
||||
AS Code_Departement,
|
||||
a.prs_afdeling_naam
|
||||
|| ' / '
|
||||
|| (SELECT a.prs_afdeling_omschrijving
|
||||
FROM prs_afdeling a
|
||||
WHERE a.prs_afdeling_key = b.prs_afdeling_key)
|
||||
AS Naam_Keuzelijst
|
||||
FROM prs_v_afdeling_boom b, prs_afdeling a
|
||||
WHERE b.prs_afdeling_key1 = a.prs_afdeling_key
|
||||
AND b.prs_afdeling_key2 IS NOT NULL
|
||||
AND a.prs_afdeling_verwijder IS NULL
|
||||
AND a.prs_afdeling_aanmaak > TO_DATE ('01-12-2018', 'DD-MM-YYYY')
|
||||
ORDER BY Key_EigenAfdeling ASC;
|
||||
SELECT b.prs_afdeling_key AS Key_EigenAfdeling,
|
||||
(SELECT a.prs_afdeling_omschrijving
|
||||
FROM prs_afdeling a
|
||||
WHERE a.prs_afdeling_key = b.prs_afdeling_key)
|
||||
AS EigenAfdelingsNaam,
|
||||
b.prs_afdeling_key1 AS Key_Departement,
|
||||
a.prs_afdeling_omschrijving AS Naam_Departement,
|
||||
a.prs_afdeling_naam AS Code_Departement,
|
||||
a.prs_afdeling_naam
|
||||
|| ' / '
|
||||
|| (SELECT a.prs_afdeling_omschrijving
|
||||
FROM prs_afdeling a
|
||||
WHERE a.prs_afdeling_key = b.prs_afdeling_key)
|
||||
AS Naam_Keuzelijst
|
||||
FROM prs_v_afdeling_boom b, prs_afdeling a
|
||||
WHERE b.prs_afdeling_key1 = a.prs_afdeling_key
|
||||
AND b.prs_afdeling_key2 IS NOT NULL
|
||||
AND a.prs_afdeling_verwijder IS NULL
|
||||
AND a.prs_afdeling_aanmaak > TO_DATE ('01-12-2018', 'DD-MM-YYYY')
|
||||
ORDER BY Key_EigenAfdeling ASC;
|
||||
|
||||
|
||||
-- View voor kennisbank, de verantwoordelijke mensen voor vastlegging en onderhoud.
|
||||
-- View voor kennisbank, de verantwoordelijke mensen voor vastlegging en onderhoud.
|
||||
-- LET OP - ID autorisatiegroep nog in PROD goedzetten
|
||||
CREATE OR REPLACE VIEW ubrh_v_mdw_kennisbank
|
||||
(
|
||||
PRS_PERSLID_KEY,
|
||||
NAAM
|
||||
PRS_PERSLID_KEY,
|
||||
NAAM
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT p.prs_perslid_key, N.PRS_PERSLID_NAAM_FRIENDLY
|
||||
FROM fac_gebruikersgroep gg,
|
||||
prs_v_aanwezigperslid p,
|
||||
fac_groep gr,
|
||||
fac_groeprechten grr,
|
||||
prs_v_perslid_fullnames n
|
||||
WHERE p.prs_perslid_key = gg.prs_perslid_key
|
||||
AND gg.fac_groep_key = gr.fac_groep_key
|
||||
AND gr.FAC_GROEP_KEY = grr.fac_groep_key
|
||||
AND n.prs_perslid_key = p.prs_perslid_key
|
||||
AND gr.FAC_GROEP_KEY = 201;
|
||||
SELECT DISTINCT p.prs_perslid_key, N.PRS_PERSLID_NAAM_FRIENDLY
|
||||
FROM fac_gebruikersgroep gg,
|
||||
prs_v_aanwezigperslid p,
|
||||
fac_groep gr,
|
||||
fac_groeprechten grr,
|
||||
prs_v_perslid_fullnames n
|
||||
WHERE p.prs_perslid_key = gg.prs_perslid_key
|
||||
AND gg.fac_groep_key = gr.fac_groep_key
|
||||
AND gr.FAC_GROEP_KEY = grr.fac_groep_key
|
||||
AND n.prs_perslid_key = p.prs_perslid_key
|
||||
AND gr.FAC_GROEP_KEY = 42;
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE ubrh_import_topdesk (p_import_key IN NUMBER)
|
||||
@@ -120,27 +92,20 @@ AS
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
-- De importvelden vanuit Topdesk
|
||||
v_afdeling VARCHAR2 (100);
|
||||
v_meldingnummer VARCHAR2 (100);
|
||||
v_extern_nummer VARCHAR2 (100);
|
||||
v_datumtijd_van_aanmaak VARCHAR2 (100);
|
||||
v_streefdatum VARCHAR2 (100);
|
||||
v_aanmaker_kaart VARCHAR2 (100);
|
||||
v_naam_aanmelder VARCHAR2 (100);
|
||||
v_extern_nummer VARCHAR2 (100);
|
||||
v_aanmaker_kaart VARCHAR2 (100);
|
||||
v_naam_behandelaar VARCHAR2 (100);
|
||||
v_korte_omschrijving VARCHAR2 (100);
|
||||
v_status VARCHAR2 (100);
|
||||
v_soort_melding VARCHAR2 (100);
|
||||
v_gereed VARCHAR2 (100);
|
||||
v_datumtijd_van_aanmaak VARCHAR2 (100);
|
||||
v_afgemeld VARCHAR2 (100);
|
||||
v_impact VARCHAR2 (100);
|
||||
v_uitvoering VARCHAR2 (100);
|
||||
v_departement VARCHAR2 (100);
|
||||
v_korte_omschrijving VARCHAR2 (100);
|
||||
v_soort_melding VARCHAR2 (100);
|
||||
v_status VARCHAR2 (100);
|
||||
v_streefdatum VARCHAR2 (100);
|
||||
v_categorie VARCHAR2 (100);
|
||||
v_subcategorie VARCHAR2 (100);
|
||||
v_behandelaar_escaleren VARCHAR2 (100);
|
||||
v_behandelaarsgroep VARCHAR2 (100);
|
||||
-- v_lange_omschrijving VARCHAR2 (4000);
|
||||
v_urgentie VARCHAR2 (100);
|
||||
|
||||
header_found BOOLEAN := FALSE;
|
||||
BEGIN
|
||||
@@ -154,94 +119,82 @@ BEGIN
|
||||
BEGIN
|
||||
v_newline := rec1.fac_imp_file_line;
|
||||
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_afdeling);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_meldingnummer);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_naam_aanmelder);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_extern_nummer);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_aanmaker_kaart);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_naam_behandelaar);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_categorie);
|
||||
fac.imp_getfield (v_newline,
|
||||
v_fielddelimitor,
|
||||
v_datumtijd_van_aanmaak);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_streefdatum);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_aanmaker_kaart);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_naam_aanmelder);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_naam_behandelaar);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_korte_omschrijving);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_status);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_soort_melding);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_gereed);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_afgemeld);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_impact);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_uitvoering);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_departement);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_categorie);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_korte_omschrijving);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_soort_melding);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_status);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_streefdatum);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_subcategorie);
|
||||
fac.imp_getfield (v_newline,
|
||||
v_fielddelimitor,
|
||||
v_behandelaar_escaleren);
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_behandelaarsgroep);
|
||||
|
||||
-- fac.imp_getfield (v_newline, v_fielddelimitor, v_lange_omschrijving);
|
||||
|
||||
fac.imp_getfield (v_newline, v_fielddelimitor, v_urgentie);
|
||||
|
||||
-- Skip until the header is found
|
||||
IF (header_found = FALSE)
|
||||
THEN
|
||||
IF UPPER (v_afdeling) = 'AFDELING'
|
||||
AND UPPER (v_meldingnummer) = 'MELDING-NUMMER'
|
||||
IF UPPER (v_meldingnummer) = 'MELDINGNUMMER'
|
||||
AND UPPER (v_naam_aanmelder) = 'NAAM AANMELDER'
|
||||
AND UPPER (v_extern_nummer) = 'EXTERN NUMMER'
|
||||
AND UPPER (v_aanmaker_kaart) = 'AANMAKER VAN DE KAART'
|
||||
AND UPPER (v_naam_behandelaar) = 'BEHANDELAAR'
|
||||
AND UPPER (v_categorie) = 'CATEGORIE'
|
||||
AND UPPER (v_datumtijd_van_aanmaak) =
|
||||
'DATUM / TIJD VAN AANMAAK'
|
||||
AND UPPER (v_streefdatum) = 'STREEFDATUM'
|
||||
AND UPPER (v_aanmaker_kaart) = 'AANMAKER VAN DE KAART'
|
||||
AND UPPER (v_naam_aanmelder) = 'NAAM AANMELDER'
|
||||
AND UPPER (v_naam_behandelaar) = 'BEHANDELAAR'
|
||||
AND UPPER (v_afgemeld) = 'DATUM AFGEMELD'
|
||||
AND UPPER (v_korte_omschrijving) =
|
||||
'KORTE OMSCHRIJVING (DETAILS)'
|
||||
AND UPPER (v_status) = 'STATUS'
|
||||
AND UPPER (v_soort_melding) = 'SOORT MELDING'
|
||||
AND UPPER (v_gereed) = 'GEREED'
|
||||
AND UPPER (v_afgemeld) = 'AFGEMELD'
|
||||
AND UPPER (v_impact) = 'IMPACT'
|
||||
AND UPPER (v_uitvoering) = 'UITVOERING'
|
||||
AND UPPER (v_departement) = 'DEPARTEMENT (AANMELDER)'
|
||||
AND UPPER (v_categorie) = 'CATEGORIE'
|
||||
AND UPPER (v_status) = 'STATUS'
|
||||
AND UPPER (v_streefdatum) = 'STREEFDATUM'
|
||||
AND UPPER (v_subcategorie) = 'SUBCATEGORIE'
|
||||
AND UPPER (v_behandelaar_escaleren) =
|
||||
'BEHANDELAAR (DE-)ESCALEREN'
|
||||
AND UPPER (v_behandelaarsgroep) = 'BEHANDELAARSGROEP'
|
||||
-- AND UPPER (v_lange_omschrijving) = '-'
|
||||
AND UPPER (v_urgentie) = 'URGENTIE'
|
||||
THEN
|
||||
header_found := TRUE;
|
||||
END IF;
|
||||
ELSE
|
||||
INSERT INTO ubrh_imp_topdesk (afdeling,
|
||||
meldingnummer,
|
||||
externnummer,
|
||||
aanmaakdatum,
|
||||
aanmaker_naam,
|
||||
melder_naam,
|
||||
behandelaar_naam,
|
||||
onderwerp,
|
||||
impact_omschrijving,
|
||||
status_omschrijving,
|
||||
soort_melding_oms)
|
||||
VALUES (v_afdeling,
|
||||
v_meldingnummer,
|
||||
INSERT INTO ubrh_imp_topdesk (meldingnummer,
|
||||
naam_aanmelder,
|
||||
extern_nummer,
|
||||
aanmaker_kaart,
|
||||
behandelaar,
|
||||
datum_aanmaak,
|
||||
datum_afgemeld,
|
||||
korte_omschrijving,
|
||||
soort_melding,
|
||||
status,
|
||||
streefdatum,
|
||||
categorie,
|
||||
subcategorie,
|
||||
urgentie)
|
||||
VALUES (v_meldingnummer,
|
||||
v_naam_aanmelder,
|
||||
SUBSTR (v_extern_nummer, 1, 30),
|
||||
v_aanmaker_kaart,
|
||||
v_naam_behandelaar,
|
||||
fac.safe_to_date (v_datumtijd_van_aanmaak,
|
||||
'YYYY-MM-DD HH24:MI'),
|
||||
v_aanmaker_kaart,
|
||||
v_naam_aanmelder,
|
||||
v_naam_behandelaar,
|
||||
v_afgemeld,
|
||||
v_korte_omschrijving,
|
||||
v_impact,
|
||||
v_soort_melding,
|
||||
v_status,
|
||||
v_subcategorie);
|
||||
v_streefdatum,
|
||||
v_categorie,
|
||||
v_subcategorie,
|
||||
v_urgentie);
|
||||
|
||||
v_count_import := v_count_import + 1;
|
||||
|
||||
--- MELDING KEY ERBIJ HALEN
|
||||
-- TO DO: Indien geen stdmelding achterhaald kan worden dan vullen met key van dummy melding (in update)
|
||||
UPDATE ubrh_imp_topdesk
|
||||
SET soort_melding =
|
||||
SET subcategorie_key =
|
||||
(SELECT DISTINCT mld_stdmelding_key
|
||||
FROM mld_stdmelding m, ins_tab_discipline d
|
||||
WHERE m.mld_ins_discipline_key = d.ins_discipline_key
|
||||
@@ -250,12 +203,12 @@ BEGIN
|
||||
UPPER (v_categorie)
|
||||
AND m.mld_stdmelding_upper =
|
||||
UPPER (v_subcategorie))
|
||||
WHERE soort_melding_oms = v_subcategorie;
|
||||
WHERE subcategorie = v_subcategorie;
|
||||
|
||||
--- STATUS KEY
|
||||
UPDATE ubrh_imp_topdesk
|
||||
SET status =
|
||||
DECODE (UPPER (status_omschrijving),
|
||||
SET status_key =
|
||||
DECODE (UPPER (status),
|
||||
'NIEUW', 2,
|
||||
'DIGIINKOOP - LOGIUS', 7,
|
||||
'IN BEHANDELING', 4,
|
||||
@@ -263,37 +216,38 @@ BEGIN
|
||||
|
||||
--- PRIO KEY
|
||||
UPDATE ubrh_imp_topdesk
|
||||
SET impact =
|
||||
DECODE (UPPER (impact_omschrijving),
|
||||
'KLEIN', 4,
|
||||
'GEMIDDELD', 3,
|
||||
'GROOT', 2);
|
||||
SET urgentie_key =
|
||||
DECODE (UPPER (urgentie),
|
||||
'LAAG', 4,
|
||||
'NORMAAL', 3,
|
||||
'HOOG', 2);
|
||||
|
||||
--- PERSLID KEY AANMAKER
|
||||
--- PERSLID KEY AANMELDER
|
||||
UPDATE ubrh_imp_topdesk
|
||||
SET aanmaker =
|
||||
SET melderkey =
|
||||
(SELECT MAX (prs_perslid_key)
|
||||
FROM prs_perslid p
|
||||
WHERE UPPER (p.prs_perslid_naam) =
|
||||
UPPER (v_aanmaker_kaart))
|
||||
WHERE aanmaker_naam = v_aanmaker_kaart;
|
||||
UPPER (naam_aanmelder))
|
||||
WHERE naam_aanmelder = v_naam_aanmelder;
|
||||
|
||||
--- PERSLID KEY MELDER
|
||||
--- PERSLID KEY AANMAKER VD KAART
|
||||
UPDATE ubrh_imp_topdesk
|
||||
SET melder =
|
||||
SET aanmaker_kaartkey =
|
||||
(SELECT MAX (prs_perslid_key)
|
||||
FROM prs_perslid p
|
||||
WHERE UPPER (p.prs_perslid_naam) =
|
||||
UPPER (v_naam_aanmelder))
|
||||
WHERE melder_naam = v_naam_aanmelder;
|
||||
UPPER (aanmaker_kaart))
|
||||
WHERE aanmaker_kaart = v_aanmaker_kaart;
|
||||
|
||||
-- PERSLID KEY BEHANDELAAR
|
||||
UPDATE ubrh_imp_topdesk
|
||||
SET behandelaar =
|
||||
SET behandelaar_key =
|
||||
(SELECT MAX (prs_perslid_key)
|
||||
FROM prs_perslid p
|
||||
WHERE UPPER (p.prs_perslid_naam) =
|
||||
UPPER (v_naam_behandelaar));
|
||||
UPPER (v_naam_behandelaar))
|
||||
WHERE behandelaar = v_naam_behandelaar;
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
@@ -327,6 +281,7 @@ EXCEPTION
|
||||
END;
|
||||
/
|
||||
|
||||
/*
|
||||
CREATE OR REPLACE PROCEDURE ubrh_update_topdesk (p_import_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c1
|
||||
@@ -354,19 +309,20 @@ BEGIN
|
||||
mld_stdmelding_key,
|
||||
prs_perslid_key,
|
||||
mld_melding_status,
|
||||
MLD_MELDING_SPOED)
|
||||
mld_melding_spoed)
|
||||
VALUES (rec1.meldingnummer,
|
||||
'MLD',
|
||||
SUBSTR (rec1.onderwerp, 1, 80), --lang genoeg?
|
||||
6,
|
||||
rec1.aanmaakdatum,
|
||||
--- bug_desc, omschrijving lang... nog te doen
|
||||
rec1.aanmaakdatum,
|
||||
rec1.behandelaar,
|
||||
rec1.soort_melding,
|
||||
COALESCE (rec1.melder, rec1.aanmaker, rec1.behandelaar),
|
||||
rec1.status,
|
||||
rec1.impact);
|
||||
rec1.impact) ; -- Deze regel geeft 2-1 foutmelding
|
||||
|
||||
|
||||
---- TO DO: Topdesk nummer is standaard extern nummer bij de melding, maar extern nummer Logius moet naar kenmerkveld
|
||||
v_count_import := v_count_import + 1;
|
||||
END;
|
||||
END LOOP;
|
||||
@@ -389,6 +345,7 @@ EXCEPTION
|
||||
'');
|
||||
END ubrh_update_topdesk;
|
||||
/
|
||||
*/
|
||||
|
||||
------ payload end ------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user