ALLI#24861: Personen import aangepast (en nieuw rapport MI)
svn path=/Customer/trunk/; revision=16062
This commit is contained in:
176
ALLI/alli.sql
176
ALLI/alli.sql
@@ -38,14 +38,15 @@ IS
|
||||
v_pos NUMBER;
|
||||
-- De importvelden:
|
||||
v_prs_perslid_nr VARCHAR2 (256);
|
||||
v_prs_perslid_voornaam VARCHAR2 (256);
|
||||
v_prs_perslid_naam VARCHAR2 (256);
|
||||
v_prs_perslid_tussenvoegsel VARCHAR2 (256);
|
||||
v_prs_perslid_voorletters VARCHAR2 (256);
|
||||
v_prs_perslid_voornaam VARCHAR2 (256);
|
||||
v_prs_afdeling_code VARCHAR2 (256);
|
||||
v_prs_afdeling_naam VARCHAR2 (256);
|
||||
v_prs_srtperslid_omschrijving VARCHAR2 (256);
|
||||
v_prs_perslid_telefoonnr VARCHAR2 (256);
|
||||
v_prs_perslid_mobiel VARCHAR2 (256);
|
||||
v_prs_perslid_email VARCHAR2 (256);
|
||||
v_prs_perslid_oslogin VARCHAR2 (256);
|
||||
|
||||
@@ -77,54 +78,37 @@ BEGIN
|
||||
v_ongeldig := 0;
|
||||
-- Lees alle veldwaarden
|
||||
|
||||
-- 01 - Naam van medewerkers = achternaam, voorletters, tussenvoegsels
|
||||
-- 01, 02, 03, 04 - Naam van medewerkers in de 1e 4 kolommen: voornaam, voorletters, tussenvoegsels, achternaam.
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_voornaam);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_voorletters);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_tussenvoegsel);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_naam);
|
||||
|
||||
-- xx - Voorletters van medewerker (die zijn niet in een aparte kolom in de Excel, dus uit de naam strippen.
|
||||
-- fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_voorletters);
|
||||
v_prs_perslid_voorletters := NULL;
|
||||
|
||||
v_pos := INSTR (v_prs_perslid_naam, ',', 1, 1);
|
||||
IF (v_pos > 0)
|
||||
THEN
|
||||
v_prs_perslid_voorletters := TRIM(SUBSTR (v_prs_perslid_naam, v_pos + 1));
|
||||
v_prs_perslid_naam := SUBSTR (v_prs_perslid_naam, 1, v_pos - 1);
|
||||
END IF;
|
||||
|
||||
-- xx - Tussenvoegsels van medewerker
|
||||
--fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_tussenvoegsel);
|
||||
v_prs_perslid_tussenvoegsel := NULL;
|
||||
|
||||
v_pos := INSTR (v_prs_perslid_voorletters, ' ', 1, 1);
|
||||
IF (v_pos > 0)
|
||||
THEN
|
||||
v_prs_perslid_tussenvoegsel := TRIM(SUBSTR (v_prs_perslid_voorletters, v_pos + 1));
|
||||
v_prs_perslid_voorletters := SUBSTR (v_prs_perslid_voorletters, 1, v_pos - 1);
|
||||
END IF;
|
||||
|
||||
-- 02 - Peroneelsnr
|
||||
-- 05 - Peroneelsnr
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_nr);
|
||||
|
||||
-- 03 - Afdelingscode
|
||||
-- 06 - Afdelingscode
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_afdeling_code);
|
||||
|
||||
-- 04 - Afdelingsnaam (niet de code!)
|
||||
-- 07 - Afdelingsnaam (niet de code!)
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_afdeling_naam);
|
||||
|
||||
-- 05 - Functieomschrijving van medewerker
|
||||
-- 08 - Functieomschrijving van medewerker
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_srtperslid_omschrijving);
|
||||
|
||||
-- 06 - Email adres van medewerker
|
||||
-- 09 - Email adres van medewerker
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_email);
|
||||
|
||||
-- 10 - Mobiel van medewerker
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_mobiel);
|
||||
|
||||
-- 11 - Mobiel van medewerker
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_telefoonnr);
|
||||
|
||||
-- xx - Usernaam/login
|
||||
-- fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_oslogin);
|
||||
v_prs_perslid_oslogin := NULL;
|
||||
|
||||
-- xx - Voornaam van medewerker
|
||||
--fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_voornaam);
|
||||
v_prs_perslid_voornaam := NULL;
|
||||
|
||||
|
||||
|
||||
-- xx - Locatiecode werkplek van medewerker
|
||||
--fac.imp_getfield (v_newline, c_fielddelimitor, v_alg_locatie_code);
|
||||
@@ -135,10 +119,7 @@ BEGIN
|
||||
v_alg_gebouw_code := NULL;
|
||||
|
||||
|
||||
-- xx - Telefoonnummer van medewerker
|
||||
-- fac.imp_getfield (v_newline, c_fielddelimitor, v_prs_perslid_telefoonnr);
|
||||
v_prs_perslid_telefoonnr := NULL;
|
||||
|
||||
|
||||
|
||||
--
|
||||
v_aanduiding :=
|
||||
@@ -153,13 +134,15 @@ BEGIN
|
||||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||||
IF (header_is_valid = 0)
|
||||
THEN
|
||||
-- IF UPPER (v_prs_perslid_naam) = 'NAAM': Deze conditie eruit, want de naam wordt ivm voorletters en tussenvoegsels aangepast/bewerkt.
|
||||
IF UPPER (v_prs_perslid_nr) = 'PERSNR.'
|
||||
IF UPPER (v_prs_perslid_voornaam) = 'ROEPNAAM'
|
||||
AND UPPER (v_prs_perslid_naam) = 'ACHTERNAAM'
|
||||
AND UPPER (v_prs_perslid_nr) = 'PERSNR.'
|
||||
AND UPPER (v_prs_afdeling_code) = 'AFDNR.'
|
||||
AND UPPER (v_prs_afdeling_naam) = 'AFDELING'
|
||||
AND UPPER (v_prs_srtperslid_omschrijving) = 'FUNCTIE'
|
||||
AND UPPER (v_prs_perslid_email) = 'E-MAIL'
|
||||
|
||||
AND UPPER (v_prs_perslid_mobiel) = 'MOBILE'
|
||||
AND UPPER (v_prs_perslid_telefoonnr) = 'TELEFOON'
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
END IF;
|
||||
@@ -377,10 +360,10 @@ BEGIN
|
||||
v_errorhint := 'Ongeldige functie';
|
||||
v_prs_srtperslid_omschrijving := TRIM (v_prs_srtperslid_omschrijving);
|
||||
|
||||
IF LENGTH (v_prs_srtperslid_omschrijving) > 30
|
||||
IF LENGTH (v_prs_srtperslid_omschrijving) > 60
|
||||
THEN
|
||||
v_prs_srtperslid_omschrijving :=
|
||||
SUBSTR (v_prs_srtperslid_omschrijving, 1, 30);
|
||||
SUBSTR (v_prs_srtperslid_omschrijving, 1, 60);
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Functie te lang',
|
||||
@@ -437,6 +420,23 @@ BEGIN
|
||||
END IF;
|
||||
|
||||
--
|
||||
v_errorhint := 'Ongeldig mobiel nummer';
|
||||
v_prs_perslid_mobiel := TRIM (v_prs_perslid_mobiel);
|
||||
|
||||
IF LENGTH (v_prs_perslid_mobiel) > 15
|
||||
THEN
|
||||
v_prs_perslid_mobiel := SUBSTR (v_prs_perslid_mobiel, 1, 15);
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_aanduiding || 'Mobiel nummer te lang',
|
||||
'mobiel nummer wordt afgebroken tot ['
|
||||
|| v_prs_perslid_mobiel
|
||||
|| ']'
|
||||
);
|
||||
COMMIT;
|
||||
END IF;
|
||||
|
||||
|
||||
v_errorhint := 'Ongeldig telefoonnummer';
|
||||
v_prs_perslid_telefoonnr := TRIM (v_prs_perslid_telefoonnr);
|
||||
|
||||
@@ -475,6 +475,7 @@ BEGIN
|
||||
alg_locatie_code, alg_gebouw_code,
|
||||
alg_verdieping_volgnr, alg_ruimte_nr,
|
||||
prs_perslid_telefoonnr,
|
||||
prs_perslid_mobiel,
|
||||
prs_perslid_email,
|
||||
prs_perslid_oslogin
|
||||
)
|
||||
@@ -487,6 +488,7 @@ BEGIN
|
||||
v_alg_locatie_code, v_alg_gebouw_code,
|
||||
NULL, NULL,
|
||||
v_prs_perslid_telefoonnr,
|
||||
v_prs_perslid_mobiel,
|
||||
v_prs_perslid_email,
|
||||
v_prs_perslid_oslogin
|
||||
);
|
||||
@@ -610,9 +612,9 @@ IS
|
||||
|
||||
CURSOR csperslid
|
||||
IS
|
||||
SELECT UPPER(prs_srtperslid_omschrijving) prs_srtperslid_omschrijving
|
||||
SELECT prs_srtperslid_omschrijving
|
||||
FROM alli_imp_prs
|
||||
GROUP BY UPPER (prs_srtperslid_omschrijving);
|
||||
GROUP BY prs_srtperslid_omschrijving;
|
||||
|
||||
|
||||
CURSOR cprsafd
|
||||
@@ -806,11 +808,8 @@ BEGIN
|
||||
THEN
|
||||
v_errorhint := 'Fout bij toevoegen functie';
|
||||
|
||||
INSERT INTO prs_srtperslid
|
||||
(prs_srtperslid_omschrijving
|
||||
)
|
||||
VALUES (recsperslid.prs_srtperslid_omschrijving
|
||||
);
|
||||
INSERT INTO prs_srtperslid (prs_srtperslid_omschrijving)
|
||||
VALUES (recsperslid.prs_srtperslid_omschrijving);
|
||||
COMMIT;
|
||||
END IF;
|
||||
EXCEPTION
|
||||
@@ -978,6 +977,7 @@ BEGIN
|
||||
prs_perslid_tussenvoegsel,
|
||||
prs_perslid_voornaam,
|
||||
prs_perslid_telefoonnr,
|
||||
prs_perslid_mobiel,
|
||||
prs_perslid_email,
|
||||
prs_perslid_nr,
|
||||
prs_perslid_oslogin
|
||||
@@ -988,6 +988,7 @@ BEGIN
|
||||
recperslid.prs_perslid_tussenvoegsel,
|
||||
recperslid.prs_perslid_voornaam,
|
||||
recperslid.prs_perslid_telefoonnr,
|
||||
recperslid.prs_perslid_mobiel,
|
||||
recperslid.prs_perslid_email,
|
||||
recperslid.prs_perslid_nr,
|
||||
recperslid.prs_perslid_oslogin
|
||||
@@ -997,7 +998,8 @@ BEGIN
|
||||
|
||||
v_errorhint := 'Fout bij wijzigen persoon';
|
||||
|
||||
-- Functie, Afdeling, Naam, Voorletters, Tuusenvoegsels, Voornaam en Personeelsnummer altijd bijwerken
|
||||
-- Functie, Afdeling altijd bijwerken
|
||||
-- Voorletters, Naam, Tussenvoegsels, Voornaam alleen indien gevuld wordt aangeboden, anders laten staan wat in DB stond.
|
||||
-- Telefoonnr: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
|
||||
-- E-mail: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
|
||||
-- Personeelsnr: alleen bijwerken indien uit AD-dump gevuld, anders niet bijwerken (dus gewoon laten staan zoals in Facilitor was gereigistreerd).
|
||||
@@ -1006,11 +1008,12 @@ BEGIN
|
||||
UPDATE prs_perslid
|
||||
SET prs_srtperslid_key = v_srtperslid_key,
|
||||
prs_afdeling_key = v_afdeling_key,
|
||||
prs_perslid_naam = recperslid.prs_perslid_naam,
|
||||
prs_perslid_voorletters = recperslid.prs_perslid_voorletters,
|
||||
prs_perslid_tussenvoegsel = recperslid.prs_perslid_tussenvoegsel,
|
||||
prs_perslid_voornaam = recperslid.prs_perslid_voornaam,
|
||||
prs_perslid_naam = COALESCE(recperslid.prs_perslid_naam,prs_perslid_naam),
|
||||
prs_perslid_voorletters = COALESCE(recperslid.prs_perslid_voorletters,prs_perslid_voorletters),
|
||||
prs_perslid_tussenvoegsel = COALESCE(recperslid.prs_perslid_tussenvoegsel,prs_perslid_tussenvoegsel),
|
||||
prs_perslid_voornaam = COALESCE(recperslid.prs_perslid_voornaam,prs_perslid_voornaam),
|
||||
prs_perslid_telefoonnr = COALESCE (recperslid.prs_perslid_telefoonnr, prs_perslid_telefoonnr),
|
||||
prs_perslid_mobiel = COALESCE (recperslid.prs_perslid_mobiel, prs_perslid_mobiel),
|
||||
prs_perslid_email = COALESCE (recperslid.prs_perslid_email, prs_perslid_email),
|
||||
prs_perslid_nr = COALESCE (recperslid.prs_perslid_nr, prs_perslid_nr),
|
||||
prs_perslid_oslogin = COALESCE (recperslid.prs_perslid_oslogin, prs_perslid_oslogin)
|
||||
@@ -2049,6 +2052,69 @@ AS
|
||||
AND pgl.alg_locatie_key = l.alg_locatie_key(+);
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW alli_v_bestelling_maninfo
|
||||
(fclt_f_aanvraagnr,
|
||||
fclt_x_jaar,
|
||||
fclt_x_kwartaal,
|
||||
fclt_x_maand,
|
||||
besteldatum,
|
||||
fclt_3d_discipline_key,
|
||||
fclt_f_catalogus,
|
||||
fclt_f_aanvrager,
|
||||
personeelsnr,
|
||||
fclt_f_afdeling,
|
||||
fclt_f_status,
|
||||
totaalbedrag
|
||||
)
|
||||
AS SELECT TO_CHAR(b.bes_bestelling_key),
|
||||
TO_CHAR(MIN(bes_bestelling_datum), 'YYYY') jaar,
|
||||
'Kwartaal ' || TO_CHAR(MIN(bes_bestelling_datum), 'Q') kwartaal,
|
||||
TO_CHAR(MIN(bes_bestelling_datum), 'MM') maand,
|
||||
TO_CHAR(MIN(bes_bestelling_datum), 'DD-MM-YYYY') datum,
|
||||
MIN(dis.ins_discipline_key),
|
||||
MIN(dis.ins_discipline_omschrijving) catalogus,
|
||||
MIN(p.prs_perslid_naam)
|
||||
|| NVL2 (MIN(p.prs_perslid_voorletters),
|
||||
', ' || MIN(p.prs_perslid_voorletters),
|
||||
'')
|
||||
|| NVL2 (MIN(p.prs_perslid_tussenvoegsel),
|
||||
' ' || MIN(p.prs_perslid_tussenvoegsel),
|
||||
'')
|
||||
|| NVL2 (MIN(p.prs_perslid_voornaam),
|
||||
' (' || MIN(p.prs_perslid_voornaam) || ')',
|
||||
'')
|
||||
aanvrager,
|
||||
MIN(P.PRS_PERSLID_NR),
|
||||
MIN(d.prs_afdeling_naam) organisation,
|
||||
MIN(BS.BES_BESTELLINGSTATUSES_OMSCHR),
|
||||
SUM(bi.bes_bestelling_item_aantal
|
||||
* COALESCE (bi.bes_bestelling_item_prijs, 0))
|
||||
totaalbedrag
|
||||
FROM bes_bestelling_item bi,
|
||||
bes_srtdeel srt,
|
||||
bes_bestelling b,
|
||||
bes_bestellingstatuses bs,
|
||||
prs_perslid p,
|
||||
prs_v_afdeling d,
|
||||
mld_adres m,
|
||||
prs_v_afdeling_boom boom,
|
||||
bes_srtgroep grp,
|
||||
ins_tab_discipline dis,
|
||||
alg_locatie l,
|
||||
alg_district di
|
||||
WHERE srt.bes_srtgroep_key = grp.bes_srtgroep_key
|
||||
AND grp.ins_discipline_key = dis.ins_discipline_key
|
||||
AND bi.bes_srtdeel_key = srt.bes_srtdeel_key
|
||||
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
||||
AND B.BES_BESTELLING_STATUS = BS.BES_BESTELLINGSTATUSES_KEY
|
||||
AND p.prs_perslid_key = b.prs_perslid_key
|
||||
AND p.prs_afdeling_key = d.prs_afdeling_key
|
||||
AND d.prs_afdeling_key = boom.prs_afdeling_key
|
||||
AND b.mld_adres_key_lev = m.mld_adres_key
|
||||
AND m.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND l.alg_district_key = di.alg_district_key(+)
|
||||
GROUP BY b.bes_bestelling_key;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user