HCAS#38912 Telefoonnummers blijven niet bewaard
svn path=/Customer/trunk/; revision=32257
This commit is contained in:
250
HCAS/HCAS.sql
250
HCAS/HCAS.sql
@@ -1,3 +1,4 @@
|
||||
|
||||
-- Script containing customer specific configuration sql statements for HCAS
|
||||
-- (c) 2016 Facilitor B.V.
|
||||
-- Support: +31 53 4800710
|
||||
@@ -9,23 +10,21 @@ SPOOL hcas.lst
|
||||
|
||||
CREATE OR REPLACE PROCEDURE hcas_import_perslid (p_import_key IN NUMBER)
|
||||
AS
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (400);
|
||||
v_errorhint VARCHAR2 (400);
|
||||
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (400);
|
||||
v_errorhint VARCHAR2 (400);
|
||||
BEGIN
|
||||
|
||||
v_errorhint := 'Generieke update';
|
||||
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
|
||||
prs.import_perslid (p_import_key,
|
||||
'0;0;0;0;0;8;1;2;0;3;' ||
|
||||
'0;0;0;0;0;0;0;6;0;0;' ||
|
||||
'5;1;0;0;0;0;4;0;0;0;'||
|
||||
'0;0;0;0;0;0;0;0;0;0;'||
|
||||
'0;0;0;0;0;0',
|
||||
'"SamAccountName";"sn";"GivenName";"Department";"Function";"Mail";"TelephoneNumber";"Location"%'
|
||||
);
|
||||
prs.import_perslid (
|
||||
p_import_key,
|
||||
'0;0;0;0;0;8;1;2;0;3;'
|
||||
|| '0;0;0;0;0;0;0;6;0;0;'
|
||||
|| '5;1;0;0;0;0;4;0;0;0;'
|
||||
|| '0;0;0;0;0;0;0;0;0;0;'
|
||||
|| '0;0;0;0;0;0',
|
||||
'"SamAccountName";"sn";"GivenName";"Department";"Function";"Mail";"TelephoneNumber";"Location"%');
|
||||
|
||||
COMMIT;
|
||||
EXCEPTION
|
||||
@@ -34,13 +33,15 @@ EXCEPTION
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.imp_writelog (p_import_key, 'E', v_errormsg, v_errorhint);
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
v_errorhint);
|
||||
END hcas_import_perslid;
|
||||
/
|
||||
|
||||
CREATE OR REPLACE PROCEDURE hcas_update_perslid (
|
||||
p_import_key IN NUMBER
|
||||
) IS
|
||||
CREATE OR REPLACE PROCEDURE hcas_update_perslid (p_import_key IN NUMBER)
|
||||
IS
|
||||
-- Alle personen verwijderen die niet meer in import bestand voorkomen.
|
||||
-- Key bij HCAS is SAMAccountName, hieronder de query om alle personen te verwijderen die:
|
||||
-- a) niet meer in het importbestand staan, wel in Facilitor, en
|
||||
@@ -48,44 +49,41 @@ CREATE OR REPLACE PROCEDURE hcas_update_perslid (
|
||||
-- c) waarvan de persoon in Facilitor niet begint met een _ in de loginnaam (ook van af blijven)
|
||||
CURSOR c_del
|
||||
IS
|
||||
SELECT p.prs_perslid_key,
|
||||
p.prs_perslid_oslogin,
|
||||
p.prs_perslid_oslogin2,
|
||||
pf.prs_perslid_naam_full
|
||||
FROM fac_imp_perslid i,
|
||||
prs_perslid p,
|
||||
prs_v_perslid_fullnames_all pf
|
||||
WHERE UPPER(p.prs_perslid_oslogin) = UPPER(i.prs_perslid_oslogin(+))
|
||||
AND SUBSTR(p.prs_perslid_oslogin, 1, 1) <> '_'
|
||||
AND i.prs_perslid_oslogin IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_oslogin2 IS NULL
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||||
ORDER BY 2;
|
||||
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (400);
|
||||
v_count NUMBER;
|
||||
SELECT p.prs_perslid_key,
|
||||
p.prs_perslid_oslogin,
|
||||
p.prs_perslid_oslogin2,
|
||||
pf.prs_perslid_naam_full
|
||||
FROM fac_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames_all pf
|
||||
WHERE UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin(+))
|
||||
AND SUBSTR (p.prs_perslid_oslogin, 1, 1) <> '_'
|
||||
AND i.prs_perslid_oslogin IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_oslogin2 IS NULL
|
||||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||||
ORDER BY 2;
|
||||
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_errormsg VARCHAR2 (400);
|
||||
v_count NUMBER;
|
||||
BEGIN
|
||||
-- generic update
|
||||
|
||||
SELECT count(*)
|
||||
INTO v_count
|
||||
FROM fac_imp_perslid;
|
||||
SELECT COUNT ( * ) INTO v_count FROM fac_imp_perslid;
|
||||
|
||||
-- Afdelingsomschrijving ingelezen in kenmerk; op basis daarvan de afdelingscode
|
||||
-- invullen (verplicht veld afdelingscode tijdelijk gevuld met oslogin).
|
||||
UPDATE fac_imp_perslid i
|
||||
SET prs_afdeling_naam =
|
||||
(SELECT prs_afdeling_naam
|
||||
FROM prs_afdeling a
|
||||
WHERE prs_afdeling_verwijder IS NULL
|
||||
AND UPPER(a.prs_afdeling_omschrijving) = UPPER(i.prs_kenmerk1) );
|
||||
(SELECT prs_afdeling_naam
|
||||
FROM prs_afdeling a
|
||||
WHERE prs_afdeling_verwijder IS NULL
|
||||
AND UPPER (a.prs_afdeling_omschrijving) =
|
||||
UPPER (i.prs_kenmerk1));
|
||||
|
||||
-- Onbekende afdelingen bewaren voor logging
|
||||
UPDATE fac_imp_perslid
|
||||
SET prs_afdeling_naam = SUBSTR(prs_kenmerk1, 1, 15)
|
||||
SET prs_afdeling_naam = SUBSTR (prs_kenmerk1, 1, 15)
|
||||
WHERE prs_afdeling_naam IS NULL;
|
||||
|
||||
-- Locatieomschrijving ingelezen; op basis daarvan de juiste vastgoedgegevens
|
||||
@@ -93,28 +91,41 @@ BEGIN
|
||||
-- Omdat werkplekken alleen worden aangevuld, dit alleen doen voor personen die
|
||||
-- nog geen werkplek hebben.
|
||||
UPDATE fac_imp_perslid i
|
||||
SET (alg_locatie_code,
|
||||
alg_gebouw_code,
|
||||
alg_verdieping_volgnr,
|
||||
alg_ruimte_nr) =
|
||||
(SELECT rg.alg_locatie_code,
|
||||
MIN(rg.alg_gebouw_upper),
|
||||
MIN(rg.alg_verdieping_volgnr),
|
||||
rg.alg_ruimte_nr
|
||||
FROM alg_v_ruimte_gegevens rg
|
||||
WHERE i.prs_werkplek_omschrijving = rg.alg_locatie_omschrijving
|
||||
AND rg.alg_ruimte_nr = '_WP'
|
||||
GROUP BY rg.alg_locatie_code, rg.alg_ruimte_nr)
|
||||
WHERE NOT EXISTS (SELECT DISTINCT prs_perslid_oslogin
|
||||
FROM prs_perslidwerkplek pw,
|
||||
prs_v_aanwezigperslid ap
|
||||
WHERE ap.prs_perslid_key = pw.prs_perslid_key
|
||||
AND ap.prs_perslid_oslogin = UPPER(i.prs_perslid_oslogin));
|
||||
SET
|
||||
(alg_locatie_code,
|
||||
alg_gebouw_code,
|
||||
alg_verdieping_volgnr,
|
||||
alg_ruimte_nr
|
||||
) =
|
||||
( SELECT rg.alg_locatie_code,
|
||||
MIN (rg.alg_gebouw_upper),
|
||||
MIN (rg.alg_verdieping_volgnr),
|
||||
rg.alg_ruimte_nr
|
||||
FROM alg_v_ruimte_gegevens rg
|
||||
WHERE i.prs_werkplek_omschrijving =
|
||||
rg.alg_locatie_omschrijving
|
||||
AND rg.alg_ruimte_nr = '_WP'
|
||||
GROUP BY rg.alg_locatie_code, rg.alg_ruimte_nr)
|
||||
WHERE NOT EXISTS
|
||||
(SELECT DISTINCT prs_perslid_oslogin
|
||||
FROM prs_perslidwerkplek pw, prs_v_aanwezigperslid ap
|
||||
WHERE ap.prs_perslid_key = pw.prs_perslid_key
|
||||
AND ap.prs_perslid_oslogin =
|
||||
UPPER (i.prs_perslid_oslogin));
|
||||
|
||||
-- Als er al een telefoonnummer bekend is in Facilitor, dan moet deze bewaard blijven
|
||||
UPDATE fac_imp_perslid i
|
||||
SET i.prs_perslid_telefoonnr =
|
||||
(SELECT p.prs_perslid_telefoonnr
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_perslid_verwijder IS NULL
|
||||
AND p.prs_perslid_telefoonnr IS NOT NULL
|
||||
AND p.prs_perslid_key = i.prs_perslid_key);
|
||||
|
||||
|
||||
-- Tijdelijke gegevens opruimen
|
||||
UPDATE fac_imp_perslid i
|
||||
SET prs_werkplek_omschrijving = NULL,
|
||||
prs_kenmerk1 = NULL;
|
||||
SET prs_werkplek_omschrijving = NULL, prs_kenmerk1 = NULL;
|
||||
|
||||
-- 'LOGIN' betekent dat op basis van Login wordt gematched.
|
||||
-- 'NR' betekent dat op basis van Personeelsnummer wordt gematched.
|
||||
@@ -134,7 +145,10 @@ EXCEPTION
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||||
fac.imp_writelog (p_import_key, 'E', v_errormsg, 'Importproces personen afgebroken!');
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
'Importproces personen afgebroken!');
|
||||
END hcas_update_perslid;
|
||||
/
|
||||
|
||||
@@ -144,7 +158,8 @@ END hcas_update_perslid;
|
||||
CREATE OR REPLACE VIEW hcas_v_rap_qrc_ins_mld
|
||||
AS
|
||||
SELECT i.ins_deel_omschrijving hide_f_sort,
|
||||
l.alg_locatie_code||' '||l.alg_locatie_omschrijving fclt_f_locatie,
|
||||
l.alg_locatie_code || ' ' || l.alg_locatie_omschrijving
|
||||
fclt_f_locatie,
|
||||
o.alg_gebouw_omschrijving fclt_f_gebouw,
|
||||
o.alg_plaatsaanduiding fclt_f_plaats,
|
||||
d.ins_discipline_omschrijving fclt_f_discipline,
|
||||
@@ -168,29 +183,33 @@ AS
|
||||
fac_bookmark b,
|
||||
mld_stdmelding sm
|
||||
WHERE b.fac_bookmark_path = 'appl/pda/melding.asp'
|
||||
AND b.fac_bookmark_query LIKE '%stdm_key='||sm.mld_stdmelding_key||'%'
|
||||
AND (b.fac_bookmark_expire IS NULL OR b.fac_bookmark_expire > SYSDATE)
|
||||
AND ins_deel_verwijder IS NULL
|
||||
AND i.ins_deel_module = 'INS'
|
||||
AND i.ins_deel_parent_key IS NULL
|
||||
AND s.ins_srtdeel_key = i.ins_srtdeel_key
|
||||
AND g.ins_srtgroep_key = s.ins_srtgroep_key
|
||||
AND d.ins_discipline_key = g.ins_discipline_key
|
||||
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
|
||||
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
|
||||
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||||
AND o.alg_locatie_key = i.ins_alg_locatie_key
|
||||
AND i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND sm.ins_srtinst_key IS NOT NULL
|
||||
AND sm.ins_srtinst_key = DECODE(sm.ins_srtinst_niveau,
|
||||
'S', i.ins_srtdeel_key,
|
||||
'G', s.ins_srtgroep_key,
|
||||
'D', g.ins_discipline_key);
|
||||
AND b.fac_bookmark_query LIKE
|
||||
'%stdm_key=' || sm.mld_stdmelding_key || '%'
|
||||
AND (b.fac_bookmark_expire IS NULL
|
||||
OR b.fac_bookmark_expire > SYSDATE)
|
||||
AND ins_deel_verwijder IS NULL
|
||||
AND i.ins_deel_module = 'INS'
|
||||
AND i.ins_deel_parent_key IS NULL
|
||||
AND s.ins_srtdeel_key = i.ins_srtdeel_key
|
||||
AND g.ins_srtgroep_key = s.ins_srtgroep_key
|
||||
AND d.ins_discipline_key = g.ins_discipline_key
|
||||
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
|
||||
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
|
||||
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||||
AND o.alg_locatie_key = i.ins_alg_locatie_key
|
||||
AND i.ins_alg_locatie_key = l.alg_locatie_key
|
||||
AND sm.ins_srtinst_key IS NOT NULL
|
||||
AND sm.ins_srtinst_key =
|
||||
DECODE (sm.ins_srtinst_niveau,
|
||||
'S', i.ins_srtdeel_key,
|
||||
'G', s.ins_srtgroep_key,
|
||||
'D', g.ins_discipline_key);
|
||||
|
||||
CREATE OR REPLACE VIEW hcas_v_rap_qrc_ins
|
||||
AS
|
||||
SELECT i.ins_deel_omschrijving hide_f_sort,
|
||||
l.alg_locatie_code||' '||l.alg_locatie_omschrijving fclt_f_locatie,
|
||||
l.alg_locatie_code || ' ' || l.alg_locatie_omschrijving
|
||||
fclt_f_locatie,
|
||||
o.alg_gebouw_omschrijving fclt_f_gebouw,
|
||||
o.alg_plaatsaanduiding fclt_f_plaats,
|
||||
d.ins_discipline_omschrijving fclt_f_discipline,
|
||||
@@ -212,22 +231,23 @@ AS
|
||||
ins_discipline d,
|
||||
alg_locatie l,
|
||||
fac_bookmark b
|
||||
WHERE b.fac_bookmark_path = 'appl/pda/ins_deel.asp'
|
||||
AND COALESCE(b.fac_bookmark_expire, SYSDATE+1) > SYSDATE
|
||||
AND ins_deel_verwijder IS NULL
|
||||
AND COALESCE(i.ins_deel_vervaldatum, SYSDATE+1) > SYSDATE
|
||||
AND i.ins_deel_module = 'INS'
|
||||
AND i.ins_deel_parent_key IS NULL
|
||||
AND s.ins_srtdeel_key = i.ins_srtdeel_key
|
||||
AND g.ins_srtgroep_key = s.ins_srtgroep_key
|
||||
AND d.ins_discipline_key = g.ins_discipline_key
|
||||
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
|
||||
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
|
||||
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||||
AND o.alg_locatie_key = i.ins_alg_locatie_key
|
||||
AND l.alg_locatie_key = i.ins_alg_locatie_key;
|
||||
WHERE b.fac_bookmark_path = 'appl/pda/ins_deel.asp'
|
||||
AND COALESCE (b.fac_bookmark_expire, SYSDATE + 1) > SYSDATE
|
||||
AND ins_deel_verwijder IS NULL
|
||||
AND COALESCE (i.ins_deel_vervaldatum, SYSDATE + 1) > SYSDATE
|
||||
AND i.ins_deel_module = 'INS'
|
||||
AND i.ins_deel_parent_key IS NULL
|
||||
AND s.ins_srtdeel_key = i.ins_srtdeel_key
|
||||
AND g.ins_srtgroep_key = s.ins_srtgroep_key
|
||||
AND d.ins_discipline_key = g.ins_discipline_key
|
||||
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
|
||||
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
|
||||
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||||
AND o.alg_locatie_key = i.ins_alg_locatie_key
|
||||
AND l.alg_locatie_key = i.ins_alg_locatie_key;
|
||||
|
||||
--- HCAS#37147 rapportage met aantallen nog actieve medewerkers per afdeling
|
||||
|
||||
CREATE OR REPLACE VIEW HCAS_V_RAP_MDW_AFDELING
|
||||
(
|
||||
AANTAL,
|
||||
@@ -236,20 +256,26 @@ CREATE OR REPLACE VIEW HCAS_V_RAP_MDW_AFDELING
|
||||
KOSTENPLAATS
|
||||
)
|
||||
AS
|
||||
SELECT COUNT (prs_perslid_key),
|
||||
a.prs_afdeling_upper,
|
||||
PRS_AFDELING_OMSCHRIJVING,
|
||||
PRS_KOSTENPLAATS_KEY
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a
|
||||
WHERE P.PRS_AFDELING_KEY(+) = A.PRS_AFDELING_KEY
|
||||
AND prs_afdeling_verwijder IS NULL
|
||||
GROUP BY a.prs_afdeling_upper,
|
||||
PRS_AFDELING_OMSCHRIJVING,
|
||||
PRS_KOSTENPLAATS_KEY;
|
||||
SELECT COUNT (prs_perslid_key),
|
||||
a.prs_afdeling_upper,
|
||||
PRS_AFDELING_OMSCHRIJVING,
|
||||
PRS_KOSTENPLAATS_KEY
|
||||
FROM prs_v_aanwezigperslid p, prs_afdeling a
|
||||
WHERE P.PRS_AFDELING_KEY(+) = A.PRS_AFDELING_KEY
|
||||
AND prs_afdeling_verwijder IS NULL
|
||||
GROUP BY a.prs_afdeling_upper,
|
||||
PRS_AFDELING_OMSCHRIJVING,
|
||||
PRS_KOSTENPLAATS_KEY;
|
||||
|
||||
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
||||
BEGIN
|
||||
adm.systrackscriptId ('$Id$', 0);
|
||||
END;
|
||||
/
|
||||
BEGIN fac.registercustversion('HCAS', 4); END;
|
||||
|
||||
BEGIN
|
||||
fac.registercustversion ('HCAS', 4);
|
||||
END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SPOOL OFF;
|
||||
SPOOL OFF;
|
||||
Reference in New Issue
Block a user