diff --git a/STAM/STAM.sql b/STAM/STAM.sql index c102128ea..da4608ed3 100644 --- a/STAM/STAM.sql +++ b/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.