STAM#56182
svn path=/Customer/trunk/; revision=41703
This commit is contained in:
201
STAM/STAM.sql
201
STAM/STAM.sql
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user