STAM#56182

svn path=/Customer/trunk/; revision=41703
This commit is contained in:
Daan Brandt
2019-03-20 16:00:47 +00:00
parent 0a8ae916c2
commit 56267715b8

View File

@@ -264,113 +264,6 @@ BEGIN
END;
/
CREATE OR REPLACE PROCEDURE STAM_STARTWF_EMPLOYEE (p_import_key IN NUMBER)
AS
v_count NUMBER;
melder prs_perslid.prs_perslid_key%TYPE;
kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE;
newkey mld_melding.mld_melding_key%TYPE;
defaultstdmelding fac_setting.fac_setting_default%TYPE;
errormsg fac_result.fac_result_waarde%TYPE;
CURSOR c_new IS
SELECT i.*,
prs_perslid_naam
|| DECODE (prs_perslid_voorletters,
NULL, '',
', ' || prs_perslid_voorletters)
|| DECODE (prs_perslid_tussenvoegsel,
NULL, '',
' ' || prs_perslid_tussenvoegsel)
|| DECODE (prs_perslid_voornaam,
NULL, '',
' (' || prs_perslid_voornaam || ')') AS new_employee
FROM fac_imp_perslid i
WHERE NOT EXISTS
(SELECT *
FROM prs_perslid p
WHERE p.prs_perslid_nr = i.prs_perslid_nr);
BEGIN
--- De eerste melding van deze workflow is 'New employee' , key = 681
defaultstdmelding := '681';
FOR rc IN c_new
LOOP
BEGIN
--- Stamicarbon kent een dummy gebruiker voor het aanvragen van een nieuwe medewerker
--- Van deze medewerker halen we ook even de kostenplaats op
SELECT p.prs_perslid_key, a.prs_kostenplaats_key
INTO melder, kostenplaats
FROM prs_perslid p, prs_afdeling a
WHERE p.prs_perslid_upper = '_NEW EMPLOYEE'
AND p.prs_afdeling_key = a.prs_afdeling_key;
INSERT INTO mld_melding (mld_melding_module,
mld_meldbron_key,
mld_melding_datum,
mld_melding_onderwerp,
mld_melding_status,
mld_stdmelding_key,
prs_perslid_key,
prs_perslid_key_voor,
prs_kostenplaats_key,
mld_melding_spoed)
VALUES ('MLD',
2, -- email
SYSDATE,
'Nieuwe medewerker aangemeld vanuit AD',
4,
defaultstdmelding,
melder,
melder,
kostenplaats,
3)
RETURNING mld_melding_key
INTO newkey;
-- Kenmerkvelden vullen
--- 1601 Name employee
stam_set_mldkenmerk (1601, newkey, rc.new_employee);
-- 1602 Employee group ID (pers_nr)
stam_set_mldkenmerk (1602, newkey, rc.prs_perslid_nr);
-- 1603 Position (functie)
stam_set_mldkenmerk (1603,
newkey,
rc.prs_srtperslid_omschrijving);
-- 1604 Costcenter
stam_set_mldkenmerk (1604, newkey, rc.prs_afdeling_naam);
-- de startmelding krijgt status 5 en de volgende stap kan opgestart worden
-- mld.setmeldingstatus (newkey, 4 , melder);
mld.mld_nextworkflowstep (newkey, -1); -- 1=Completed
EXCEPTION
WHEN OTHERS
THEN
fac.writelog (
'PROCES NEW EMPLOYEE',
'W',
'Melding new employee kon niet aangemaakt worden: '
|| '['
|| errormsg
|| ']',
'OTHERS (error '
|| SQLCODE
|| '/'
|| SUBSTR (SQLERRM, 1, 100)
|| ')');
END;
END LOOP;
END STAM_STARTWF_EMPLOYEE;
/
CREATE OR REPLACE PROCEDURE stam_import_perslid (p_import_key IN NUMBER)
AS
oracle_err_num NUMBER;
@@ -430,6 +323,100 @@ EXCEPTION
END stam_import_perslid;
/
--VIEW voor qrcodes per object STAM#56182
CREATE OR REPLACE VIEW STAM_V_INS_QRC_OBJECT_MELDING
(
HIDE_F_SORT,
LOCATIE_CODE,
FCLT_F_LOCATIE,
FCLT_F_GEBOUW,
FCLT_F_PLAATS,
RUIMTENR,
FCLT_F_DISCIPLINE,
FCLT_F_OBJECTGROEP,
FCLT_F_OBJECTSOORT,
FCLT_F_IDENTIFICATIE,
FCLT_F_BOOKMARK,
INS_DEEL_KEY,
INS_SRTDEEL_KEY,
FCLT_3D_DISCIPLINE_KEY,
FCLT_3D_LOCATIE_KEY,
INS_ALG_RUIMTE_TYPE,
INS_ALG_RUIMTE_KEY,
BRAND,
OBJ_TYPE,
BOOKMARK_ID,
SERIENUMMER
)
AS
SELECT i.ins_deel_omschrijving
hide_f_sort,
l.alg_locatie_code,
l.alg_locatie_code || ' ' || l.alg_locatie_omschrijving
fclt_f_locatie,
o.alg_gebouw_omschrijving
fclt_f_gebouw,
SUBSTR (o.alg_plaatsaanduiding, 13)
fclt_f_plaats,
o.alg_ruimte_nr,
d.ins_discipline_omschrijving
fclt_f_discipline,
g.ins_srtgroep_omschrijving
fclt_f_objectgroep,
s.ins_srtdeel_omschrijving
fclt_f_objectsoort,
i.ins_deel_omschrijving
fclt_f_identificatie,
b.fac_bookmark_naam
fclt_f_bookmark,
i.ins_deel_key,
s.ins_srtdeel_key,
i.ins_discipline_key
fclt_3d_discipline_key,
l.alg_locatie_key
fclt_3d_locatie_key,
i.ins_alg_ruimte_type,
i.ins_alg_ruimte_key,
brand.ins_kenmerkdeel_waarde,
obj_type.ins_kenmerkdeel_waarde,
b.fac_bookmark_id
hide_f_bookmark_id,
(SELECT ins_kenmerkdeel_waarde from ins_kenmerkdeel kd,
ins_kenmerk k WHERE k.ins_kenmerk_key = kd.ins_kenmerk_key
AND ins_srtkenmerk_key = 25 AND i.ins_deel_key = kd.ins_deel_key ) serienummer
FROM ins_deel i,
ins_v_alg_overzicht o,
ins_srtdeel s,
ins_srtgroep g,
ins_discipline d,
alg_locatie l,
fac_bookmark b,
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
FROM ins_kenmerk k, ins_kenmerkdeel kd
WHERE k.ins_srtkenmerk_key = 41
AND kd.ins_kenmerk_key = k.ins_kenmerk_key) brand,
(SELECT kd.ins_deel_key, kd.ins_kenmerkdeel_waarde
FROM ins_kenmerk k, ins_kenmerkdeel kd
WHERE k.ins_srtkenmerk_key = 42
AND kd.ins_kenmerk_key = k.ins_kenmerk_key) obj_type
WHERE upper(b.fac_bookmark_naam) = 'QRC_OBJECT_MELDING'
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
AND i.ins_deel_key = brand.ins_deel_key(+)
AND i.ins_deel_key = obj_type.ins_deel_key(+)
AND i.ins_deel_key IN (SELECT ins_deel_key from mld_v_mld_stdmelding_srtinst);
CREATE OR REPLACE PROCEDURE stam_update_perslid (p_import_key IN NUMBER)
IS
-- Alle personen verwijderen die niet meer in import bestand voorkomen.