DJIN#61669+DJIN#65706 Sleutelbeheer

svn path=/Customer/trunk/; revision=49895
This commit is contained in:
Maarten van der Heide
2021-02-17 17:00:07 +00:00
parent 9f42cffbbd
commit 06916e446f

View File

@@ -9705,7 +9705,7 @@ AS
AND UPPER (r.fac_usrrap_view_name) = 'DJIN_V_RAP_WP_GEBOUW_M'
AND sn.fac_srtnotificatie_code = 'CUST10';
-- DJIN#61669: Implementatie Sleutelbeheer!
-- DJIN#61669/65706: Implementatie Sleutelbeheer!
-- 3 type sleutelsets (SLEUTEL-kenmerksoort -1):
-- - Uitleenbaar (US)
-- - Persoonsgebonden (PS)
@@ -9785,11 +9785,11 @@ AS
aog1.alg_ruimte_nr rui, -- Als R
x.ins_alg_ruimte_type_org, -- Leeg of gevuld met R?
x.ins_alg_ruimte_key_org,
--pf2.prs_perslid_naam_full prs_org,
lo2.alg_locatie_code loc_org,
aog2.alg_gebouw_code geb_org,
aog2.alg_verdieping_code ver_org,
aog2.alg_ruimte_nr rui_org,
--pf2.prs_perslid_naam_full prs_org, -- Als P
lo2.alg_locatie_code loc_org, -- Als R
aog2.alg_gebouw_code geb_org, -- Als R
aog2.alg_verdieping_code ver_org, -- Als R
aog2.alg_ruimte_nr rui_org, -- Als R
sdsd.aant_sleset, -- Aantal gekoppelde sleutelsets!
--sdsd.min_sleset, -- Oudste gekoppelde sleutelset!
k1.waarde kenmerk1,
@@ -9925,11 +9925,11 @@ AS
aog1.alg_ruimte_nr rui, -- Als R
x.ins_alg_ruimte_type_org, -- Leeg of gevuld met R (en heel soms P)!
x.ins_alg_ruimte_key_org,
pf2.prs_perslid_naam_full prs_org,
lo2.alg_locatie_code loc_org,
aog2.alg_gebouw_code geb_org,
aog2.alg_verdieping_code ver_org,
aog2.alg_ruimte_nr rui_org,
pf2.prs_perslid_naam_full prs_org, -- Als P
lo2.alg_locatie_code loc_org, -- Als R
aog2.alg_gebouw_code geb_org, -- Als R
aog2.alg_verdieping_code ver_org, -- Als R
aog2.alg_ruimte_nr rui_org, -- Als R
sdsd.aant_cilset, -- Aantal gekoppelde cilindersets!
--sdsd.min_cilset, -- Oudste gekoppelde cilinderset!
k1.waarde kenmerk1,
@@ -10009,6 +10009,419 @@ AS
LEFT JOIN kd k20 ON x.ins_deel_key = k20.ins_deel_key AND k20.vnr = 20
;
CREATE OR REPLACE VIEW djin_v_udr_slecil
AS -- SLE-sets met of zonder sleutels wel of niet gekoppeld aan CIL-sets!
SELECT sle.ins_srtgroep_key sle_srtgroep_key,
sle.ins_srtdeel_key sle_srtdeel_key,
sle.ins_deel_key sle_deel_key,
sle.ins_srtdeel_code sle_srtdeel_code,
sle.ins_srtdeel_omschrijving sle_srtdeel_oms,
sle.ins_deel_omschrijving sle_deel_oms,
sle.ins_deel_opmerking sle_deel_opm,
sle.ins_deel_aanmaak sle_deel_aanmaak,
sle.ins_deel_vervaldatum sle_deel_vervaldatum,
--pf.prs_perslid_naam_full beheerder,
sle.ins_deel_actief sle_deel_actief,
sle.ins_alg_locatie_key sle_alg_locatie_key,
sle.ins_alg_ruimte_type sle_alg_ruimte_type, -- Altijd gevuld met P of R!
sle.ins_alg_ruimte_key sle_alg_ruimte_key,
pf1.prs_perslid_naam_full sle_prs, -- Als P
lo1.alg_locatie_code sle_loc, -- Als R
aog1.alg_gebouw_code sle_geb, -- Als R
aog1.alg_verdieping_code sle_ver, -- Als R
aog1.alg_ruimte_nr sle_rui, -- Als R
sle.ins_alg_ruimte_type_org sle_alg_ruimte_type_org, -- Leeg of gevuld met R (en heel soms P)!
sle.ins_alg_ruimte_key_org sle_alg_ruimte_key_org,
pf2.prs_perslid_naam_full sle_prs_org, -- Als P
lo2.alg_locatie_code sle_loc_org, -- Als R
aog2.alg_gebouw_code sle_geb_org, -- Als R
aog2.alg_verdieping_code sle_ver_org, -- Als R
aog2.alg_ruimte_nr sle_rui_org, -- Als R
ud1.fac_usrdata_omschr sle_typering,
skd2.ins_kenmerkdeel_waarde sle_haakje,
skd3.ins_kenmerkdeel_waarde sle_aan,
skd4.ins_kenmerkdeel_waarde sle_tel,
--skd5.ins_kenmerkdeel_waarde sle_instr,
skd6.ins_kenmerkdeel_waarde sle_serienr,
cil.ins_srtgroep_key cil_srtgroep_key,
cil.ins_srtdeel_key cil_srtdeel_key,
cil.ins_deel_key cil_deel_key,
cil.ins_srtdeel_code cil_srdeel_code,
cil.ins_srtdeel_omschrijving cil_srtdeel_oms,
cil.ins_deel_omschrijving cil_deel_oms,
cil.ins_deel_opmerking cil_deel_opm,
cil.ins_deel_aanmaak cil_deel_aanmaak,
cil.ins_deel_vervaldatum cil_deel_vervaldatum,
--pf.prs_perslid_naam_full beheerder,
cil.ins_deel_actief cil_deel_actief,
cil.ins_alg_locatie_key cil_alg_locatie_key,
cil.ins_alg_ruimte_type cil_alg_ruimte_type, -- Altijd gevuld met R?
cil.ins_alg_ruimte_key cil_alg_ruimte_key,
--pf1.prs_perslid_naam_full cil_prs, -- Als P
lo1.alg_locatie_code cil_loc, -- Als R
aog1.alg_gebouw_code cil_geb, -- Als R
aog1.alg_verdieping_code cil_ver, -- Als R
aog1.alg_ruimte_nr cil_rui, -- Als R
cil.ins_alg_ruimte_type_org cil_alg_ruimte_type_org, -- Leeg of gevuld met R?
cil.ins_alg_ruimte_key_org cil_alg_ruimte_key_org,
--pf2.prs_perslid_naam_full cil_prs_org, -- Als P
lo2.alg_locatie_code cil_loc_org, -- Als R
aog2.alg_gebouw_code cil_geb_org, -- Als R
aog2.alg_verdieping_code cil_ver_org, -- Als R
aog2.alg_ruimte_nr cil_rui_org, -- Als R
ckd1.ins_kenmerkdeel_waarde cil_typering,
ckd2.ins_kenmerkdeel_waarde cil_kleur,
DECODE (cil.ins_deel_key, NULL, NULL, COALESCE (ckd3.ins_kenmerkdeel_waarde, '0')) cil_half,
DECODE (cil.ins_deel_key, NULL, NULL, COALESCE (ckd4.ins_kenmerkdeel_waarde, '0')) cil_dubbel,
DECODE (cil.ins_deel_key, NULL, NULL, COALESCE (ckd5.ins_kenmerkdeel_waarde, '0')) cil_knop,
ckd6.ins_kenmerkdeel_waarde cil_skg,
ckd7.ins_kenmerkdeel_waarde cil_deelcert,
ckd8.ins_kenmerkdeel_waarde cil_lengte,
DECODE (cil.ins_deel_key, NULL, NULL, COALESCE (ckd9.ins_kenmerkdeel_waarde, '0')) cil_vrijloop,
ckd10.ins_kenmerkdeel_waarde cil_serienr
FROM (SELECT sd.ins_srtgroep_key,
sd.ins_srtdeel_key,
d.ins_deel_key,
sd.ins_srtdeel_code,
sd.ins_srtdeel_omschrijving,
d.ins_deel_omschrijving,
d.ins_deel_opmerking,
d.ins_deel_aanmaak,
d.ins_deel_vervaldatum,
d.ins_deel_actief,
d.ins_alg_locatie_key,
d.ins_alg_ruimte_type,
d.ins_alg_ruimte_key,
d.ins_alg_ruimte_type_org,
d.ins_alg_ruimte_key_org,
sdsd.ins_srtdeel_key_1 -- Gekoppelde cilinderset
FROM ins_v_aanwezigsrtdeel sd,
ins_v_aanwezigdeel d,
ins_srtdeel_srtdeel sdsd
WHERE sd.ins_srtgroep_key = fac.getsetting ('sle_ins_srt_groep_key')
AND sd.ins_srtdeel_key = d.ins_srtdeel_key(+)
AND sd.ins_srtdeel_key = sdsd.ins_srtdeel_key_2(+)) sle
LEFT JOIN prs_v_perslid_fullnames_all pf1
ON sle.ins_alg_ruimte_type = 'P' AND sle.ins_alg_ruimte_key = pf1.prs_perslid_key
LEFT JOIN alg_v_allonrgoed_gegevens aog1
ON sle.ins_alg_ruimte_type = 'R' AND sle.ins_alg_ruimte_key = aog1.alg_ruimte_key
LEFT JOIN alg_v_aanweziglocatie lo1
ON aog1.alg_locatie_key = lo1.alg_locatie_key
LEFT JOIN prs_v_perslid_fullnames_all pf2
ON sle.ins_alg_ruimte_type_org = 'P' AND sle.ins_alg_ruimte_key_org = pf2.prs_perslid_key
LEFT JOIN alg_v_allonrgoed_gegevens aog2
ON sle.ins_alg_ruimte_type_org = 'R' AND sle.ins_alg_ruimte_key_org = aog2.alg_ruimte_key
LEFT JOIN alg_v_aanweziglocatie lo2
ON aog2.alg_locatie_key = lo2.alg_locatie_key
LEFT JOIN ins_v_aanwezigkenmerkdeel skd1
ON sle.ins_deel_key = skd1.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 1 AND ins_kenmerk_key = skd1.ins_kenmerk_key) -- Sleuteltypering
LEFT JOIN fac_v_aanwezigusrdata ud1
ON fac.safe_to_number (skd1.ins_kenmerkdeel_waarde) = ud1.fac_usrdata_key
LEFT JOIN ins_v_aanwezigkenmerkdeel skd2
ON sle.ins_deel_key = skd2.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 2 AND ins_kenmerk_key = skd2.ins_kenmerk_key) -- Haakje
LEFT JOIN ins_v_aanwezigkenmerkdeel skd3
ON sle.ins_deel_key = skd3.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 3 AND ins_kenmerk_key = skd3.ins_kenmerk_key) -- Sleutel meegegeven aan
LEFT JOIN ins_v_aanwezigkenmerkdeel skd4
ON sle.ins_deel_key = skd4.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 4 AND ins_kenmerk_key = skd4.ins_kenmerk_key) -- Telefoonnummer
--LEFT JOIN ins_v_aanwezigkenmerkdeel skd5
-- ON sle.ins_srtdeel_key = skd5.ins_deel_key
-- AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 5 AND ins_kenmerk_key = skd5.ins_kenmerk_key) -- Uitleeninstructie
LEFT JOIN ins_v_aanwezigkenmerkdeel skd6
ON sle.ins_deel_key = skd6.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 6 AND ins_kenmerk_key = skd6.ins_kenmerk_key) -- Serienummer(s)
LEFT JOIN (SELECT sd.ins_srtgroep_key,
sd.ins_srtdeel_key,
d.ins_deel_key,
sd.ins_srtdeel_code,
sd.ins_srtdeel_omschrijving,
d.ins_deel_omschrijving,
d.ins_deel_opmerking,
d.ins_deel_aanmaak,
d.ins_deel_vervaldatum,
d.ins_deel_actief,
d.ins_alg_locatie_key,
d.ins_alg_ruimte_type,
d.ins_alg_ruimte_key,
d.ins_alg_ruimte_type_org,
d.ins_alg_ruimte_key_org
FROM ins_v_aanwezigsrtdeel sd, ins_v_aanwezigdeel d
WHERE sd.ins_srtgroep_key = fac.getsetting ('cil_ins_srt_groep_key')
AND sd.ins_srtdeel_key = d.ins_srtdeel_key(+)) cil
ON sle.ins_srtdeel_key_1 = cil.ins_srtdeel_key
--LEFT JOIN prs_v_perslid_fullnames_all pf1
-- ON cil.ins_alg_ruimte_type = 'P' AND cil.ins_alg_ruimte_key = pf1.prs_perslid_key
LEFT JOIN alg_v_allonrgoed_gegevens aog1
ON cil.ins_alg_ruimte_type = 'R' AND cil.ins_alg_ruimte_key = aog1.alg_ruimte_key
LEFT JOIN alg_v_aanweziglocatie lo1
ON aog1.alg_locatie_key = lo1.alg_locatie_key
--LEFT JOIN prs_v_perslid_fullnames_all pf2
-- ON cil.ins_alg_ruimte_type_org = 'P' AND cil.ins_alg_ruimte_key_org = pf2.prs_perslid_key
LEFT JOIN alg_v_allonrgoed_gegevens aog2
ON cil.ins_alg_ruimte_type_org = 'R' AND cil.ins_alg_ruimte_key_org = aog2.alg_ruimte_key
LEFT JOIN alg_v_aanweziglocatie lo2
ON aog2.alg_locatie_key = lo2.alg_locatie_key
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd1
ON cil.ins_srtdeel_key = ckd1.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 21 AND ins_kenmerk_key = ckd1.ins_kenmerk_key) -- Cilindertypering
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd2
ON cil.ins_srtdeel_key = ckd2.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 22 AND ins_kenmerk_key = ckd2.ins_kenmerk_key) -- Kleur
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd3
ON cil.ins_srtdeel_key = ckd3.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 23 AND ins_kenmerk_key = ckd3.ins_kenmerk_key) -- Half
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd4
ON cil.ins_srtdeel_key = ckd4.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 24 AND ins_kenmerk_key = ckd4.ins_kenmerk_key) -- Dubbel
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd5
ON cil.ins_srtdeel_key = ckd5.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 25 AND ins_kenmerk_key = ckd5.ins_kenmerk_key) -- Knop
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd6
ON cil.ins_srtdeel_key = ckd6.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 26 AND ins_kenmerk_key = ckd6.ins_kenmerk_key) -- SKG kwalificatie
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd7
ON cil.ins_srtdeel_key = ckd7.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 28 AND ins_kenmerk_key = ckd7.ins_kenmerk_key) -- Deelcertificaat
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd8
ON cil.ins_srtdeel_key = ckd8.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 29 AND ins_kenmerk_key = ckd8.ins_kenmerk_key) -- Cilinderlengte A / B
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd9
ON cil.ins_srtdeel_key = ckd9.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 41 AND ins_kenmerk_key = ckd9.ins_kenmerk_key) -- Vrijloop
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd10
ON cil.ins_deel_key = ckd10.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 6 AND ins_kenmerk_key = ckd10.ins_kenmerk_key) -- Serienummer(s)
UNION ALL -- CIL-sets met of zonder cilinders niet gekoppeld aan SLE-set!
SELECT NULL sle_srtgroep_key,
NULL sle_srtdeel_key,
NULL sle_deel_key,
NULL sle_srtdeel_code,
NULL sle_srtdeel_oms,
NULL sle_deel_oms,
NULL sle_deel_opm,
NULL sle_deel_aanmaak,
NULL sle_deel_vervaldatum,
--pf.prs_perslid_naam_full beheerder,
NULL sle_deel_actief,
NULL sle_alg_locatie_key,
NULL sle_alg_ruimte_type,
NULL sle_alg_ruimte_key,
NULL sle_prs,
NULL sle_loc,
NULL sle_geb,
NULL sle_ver,
NULL sle_rui,
NULL sle_alg_ruimte_type_org,
NULL sle_alg_ruimte_key_org,
NULL sle_prs_org,
NULL sle_loc_org,
NULL sle_geb_org,
NULL sle_ver_org,
NULL sle_rui_org,
NULL sle_typering,
NULL sle_haakje,
NULL sle_aan,
NULL sle_tel,
--NULL sle_instr,
NULL sle_serienr,
cil.ins_srtgroep_key cil_srtgroep_key,
cil.ins_srtdeel_key cil_srtdeel_key,
cil.ins_deel_key cil_deel_key,
cil.ins_srtdeel_code cil_srdeel_code,
cil.ins_srtdeel_omschrijving cil_srtdeel_oms,
cil.ins_deel_omschrijving cil_deel_oms,
cil.ins_deel_opmerking cil_deel_opm,
cil.ins_deel_aanmaak cil_deel_aanmaak,
cil.ins_deel_vervaldatum cil_deel_vervaldatum,
--pf.prs_perslid_naam_full beheerder,
cil.ins_deel_actief cil_deel_actief,
cil.ins_alg_locatie_key cil_alg_locatie_key,
cil.ins_alg_ruimte_type cil_alg_ruimte_type, -- Altijd gevuld met R?
cil.ins_alg_ruimte_key cil_alg_ruimte_key,
--pf1.prs_perslid_naam_full cil_prs, -- Als P
lo1.alg_locatie_code cil_loc, -- Als R
aog1.alg_gebouw_code cil_geb, -- Als R
aog1.alg_verdieping_code cil_ver, -- Als R
aog1.alg_ruimte_nr cil_rui, -- Als R
cil.ins_alg_ruimte_type_org cil_alg_ruimte_type_org, -- Leeg of gevuld met R?
cil.ins_alg_ruimte_key_org cil_alg_ruimte_key_org,
--pf2.prs_perslid_naam_full cil_prs_org, -- Als P
lo2.alg_locatie_code cil_loc_org, -- Als R
aog2.alg_gebouw_code cil_geb_org, -- Als R
aog2.alg_verdieping_code cil_ver_org, -- Als R
aog2.alg_ruimte_nr cil_rui_org, -- Als R
ckd1.ins_kenmerkdeel_waarde cil_typering,
ckd2.ins_kenmerkdeel_waarde cil_kleur,
DECODE (cil.ins_deel_key, NULL, NULL, COALESCE (ckd3.ins_kenmerkdeel_waarde, '0')) cil_half,
DECODE (cil.ins_deel_key, NULL, NULL, COALESCE (ckd4.ins_kenmerkdeel_waarde, '0')) cil_dubbel,
DECODE (cil.ins_deel_key, NULL, NULL, COALESCE (ckd5.ins_kenmerkdeel_waarde, '0')) cil_knop,
ckd6.ins_kenmerkdeel_waarde cil_skg,
ckd7.ins_kenmerkdeel_waarde cil_deelcert,
ckd8.ins_kenmerkdeel_waarde cil_lengte,
DECODE (cil.ins_deel_key, NULL, NULL, COALESCE (ckd9.ins_kenmerkdeel_waarde, '0')) cil_vrijloop,
ckd10.ins_kenmerkdeel_waarde cil_serienr
FROM (SELECT sd.ins_srtgroep_key,
sd.ins_srtdeel_key,
d.ins_deel_key,
sd.ins_srtdeel_code,
sd.ins_srtdeel_omschrijving,
d.ins_deel_omschrijving,
d.ins_deel_opmerking,
d.ins_deel_aanmaak,
d.ins_deel_vervaldatum,
--pf.prs_perslid_naam_full beheerder,
d.ins_deel_actief,
d.ins_alg_locatie_key,
d.ins_alg_ruimte_type,
d.ins_alg_ruimte_key,
d.ins_alg_ruimte_type_org,
d.ins_alg_ruimte_key_org,
sdsd.ins_srtdeel_key_1 -- Gekoppelde cilinderset
FROM ins_v_aanwezigsrtdeel sd,
ins_v_aanwezigdeel d,
ins_srtdeel_srtdeel sdsd
WHERE sd.ins_srtgroep_key = fac.getsetting ('cil_ins_srt_groep_key')
AND sd.ins_srtdeel_key = d.ins_srtdeel_key(+)
AND NOT EXISTS (SELECT 1 FROM ins_srtdeel_srtdeel WHERE ins_srtdeel_key_1 = sd.ins_srtdeel_key)) cil
--LEFT JOIN prs_v_perslid_fullnames_all pf1
-- ON cil.ins_alg_ruimte_type = 'P' AND cil.ins_alg_ruimte_key = pf1.prs_perslid_key
LEFT JOIN alg_v_allonrgoed_gegevens aog1
ON cil.ins_alg_ruimte_type = 'R' AND cil.ins_alg_ruimte_key = aog1.alg_ruimte_key
LEFT JOIN alg_v_aanweziglocatie lo1
ON aog1.alg_locatie_key = lo1.alg_locatie_key
--LEFT JOIN prs_v_perslid_fullnames_all pf2
-- ON cil.ins_alg_ruimte_type_org = 'P' AND cil.ins_alg_ruimte_key_org = pf2.prs_perslid_key
LEFT JOIN alg_v_allonrgoed_gegevens aog2
ON cil.ins_alg_ruimte_type_org = 'R' AND cil.ins_alg_ruimte_key_org = aog2.alg_ruimte_key
LEFT JOIN alg_v_aanweziglocatie lo2
ON aog2.alg_locatie_key = lo2.alg_locatie_key
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd1
ON cil.ins_srtdeel_key = ckd1.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 21 AND ins_kenmerk_key = ckd1.ins_kenmerk_key) -- Cilindertypering
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd2
ON cil.ins_srtdeel_key = ckd2.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 22 AND ins_kenmerk_key = ckd2.ins_kenmerk_key) -- Kleur
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd3
ON cil.ins_srtdeel_key = ckd3.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 23 AND ins_kenmerk_key = ckd3.ins_kenmerk_key) -- Half
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd4
ON cil.ins_srtdeel_key = ckd4.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 24 AND ins_kenmerk_key = ckd4.ins_kenmerk_key) -- Dubbel
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd5
ON cil.ins_srtdeel_key = ckd5.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 25 AND ins_kenmerk_key = ckd5.ins_kenmerk_key) -- Knop
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd6
ON cil.ins_srtdeel_key = ckd6.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 26 AND ins_kenmerk_key = ckd6.ins_kenmerk_key) -- SKG kwalificatie
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd7
ON cil.ins_srtdeel_key = ckd7.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 28 AND ins_kenmerk_key = ckd7.ins_kenmerk_key) -- Deelcertificaat
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd8
ON cil.ins_srtdeel_key = ckd8.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 29 AND ins_kenmerk_key = ckd8.ins_kenmerk_key) -- Cilinderlengte A / B
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd9
ON cil.ins_srtdeel_key = ckd9.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 41 AND ins_kenmerk_key = ckd9.ins_kenmerk_key) -- Vrijloop
LEFT JOIN ins_v_aanwezigkenmerkdeel ckd10
ON cil.ins_deel_key = ckd10.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 6 AND ins_kenmerk_key = ckd10.ins_kenmerk_key) -- Serienummer(s)
;
CREATE OR REPLACE VIEW djin_v_udr_sle_tracking
AS
SELECT sle.ins_srtgroep_key sle_srtgroep_key,
sle.ins_srtdeel_key sle_srtdeel_key,
sle.ins_deel_key sle_deel_key,
sle.ins_srtdeel_code sle_srtdeel_code,
sle.ins_srtdeel_omschrijving sle_srtdeel_oms,
sle.ins_deel_omschrijving sle_deel_oms,
sle.ins_deel_opmerking sle_deel_opm,
sle.ins_deel_aanmaak sle_deel_aanmaak,
sle.ins_deel_vervaldatum sle_deel_vervaldatum,
--pf.prs_perslid_naam_full beheerder,
sle.ins_deel_actief sle_deel_actief,
sle.ins_alg_locatie_key sle_alg_locatie_key,
sle.ins_alg_ruimte_type sle_alg_ruimte_type, -- Altijd gevuld met P of R!
sle.ins_alg_ruimte_key sle_alg_ruimte_key,
pf1.prs_perslid_naam_full sle_prs, -- Als P
lo1.alg_locatie_code sle_loc, -- Als R
aog1.alg_gebouw_code sle_geb, -- Als R
aog1.alg_verdieping_code sle_ver, -- Als R
aog1.alg_ruimte_nr sle_rui, -- Als R
sle.ins_alg_ruimte_type_org sle_alg_ruimte_type_org, -- Leeg of gevuld met R (en heel soms P)!
sle.ins_alg_ruimte_key_org sle_alg_ruimte_key_org,
pf2.prs_perslid_naam_full sle_prs_org, -- Als P
lo2.alg_locatie_code sle_loc_org, -- Als R
aog2.alg_gebouw_code sle_geb_org, -- Als R
aog2.alg_verdieping_code sle_ver_org, -- Als R
aog2.alg_ruimte_nr sle_rui_org, -- Als R
ud1.fac_usrdata_omschr sle_typering,
--skd2.ins_kenmerkdeel_waarde sle_haakje,
skd3.ins_kenmerkdeel_waarde sle_aan,
--skd4.ins_kenmerkdeel_waarde sle_tel,
--skd5.ins_kenmerkdeel_waarde sle_instr,
skd6.ins_kenmerkdeel_waarde sle_serienr,
t.fac_tracking_datum,
DECODE (t.fac_srtnotificatie_key, 98, 'Uitgegeven', 99, 'Ingenomen', NULL) srtnoti, -- INSOUT/INSINN
t.fac_tracking_oms
FROM (SELECT sd.ins_srtgroep_key,
sd.ins_srtdeel_key,
d.ins_deel_key,
sd.ins_srtdeel_code,
sd.ins_srtdeel_omschrijving,
d.ins_deel_omschrijving,
d.ins_deel_opmerking,
d.ins_deel_aanmaak,
d.ins_deel_vervaldatum,
d.ins_deel_actief,
d.ins_alg_locatie_key,
d.ins_alg_ruimte_type,
d.ins_alg_ruimte_key,
d.ins_alg_ruimte_type_org,
d.ins_alg_ruimte_key_org
FROM ins_v_aanwezigsrtdeel sd,
ins_v_aanwezigdeel d
WHERE sd.ins_srtgroep_key = fac.getsetting ('sle_ins_srt_groep_key')
AND sd.ins_srtdeel_key = d.ins_srtdeel_key(+)) sle
LEFT JOIN prs_v_perslid_fullnames_all pf1
ON sle.ins_alg_ruimte_type = 'P' AND sle.ins_alg_ruimte_key = pf1.prs_perslid_key
LEFT JOIN alg_v_allonrgoed_gegevens aog1
ON sle.ins_alg_ruimte_type = 'R' AND sle.ins_alg_ruimte_key = aog1.alg_ruimte_key
LEFT JOIN alg_v_aanweziglocatie lo1
ON aog1.alg_locatie_key = lo1.alg_locatie_key
LEFT JOIN prs_v_perslid_fullnames_all pf2
ON sle.ins_alg_ruimte_type_org = 'P' AND sle.ins_alg_ruimte_key_org = pf2.prs_perslid_key
LEFT JOIN alg_v_allonrgoed_gegevens aog2
ON sle.ins_alg_ruimte_type_org = 'R' AND sle.ins_alg_ruimte_key_org = aog2.alg_ruimte_key
LEFT JOIN alg_v_aanweziglocatie lo2
ON aog2.alg_locatie_key = lo2.alg_locatie_key
LEFT JOIN ins_v_aanwezigkenmerkdeel skd1
ON sle.ins_deel_key = skd1.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 1 AND ins_kenmerk_key = skd1.ins_kenmerk_key) -- Sleuteltypering
LEFT JOIN fac_v_aanwezigusrdata ud1
ON fac.safe_to_number (skd1.ins_kenmerkdeel_waarde) = ud1.fac_usrdata_key
--LEFT JOIN ins_v_aanwezigkenmerkdeel skd2
-- ON sle.ins_deel_key = skd2.ins_deel_key
-- AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 2 AND ins_kenmerk_key = skd2.ins_kenmerk_key) -- Haakje
LEFT JOIN ins_v_aanwezigkenmerkdeel skd3
ON sle.ins_deel_key = skd3.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 3 AND ins_kenmerk_key = skd3.ins_kenmerk_key) -- Sleutel meegegeven aan
--LEFT JOIN ins_v_aanwezigkenmerkdeel skd4
-- ON sle.ins_deel_key = skd4.ins_deel_key
-- AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 4 AND ins_kenmerk_key = skd4.ins_kenmerk_key) -- Telefoonnummer
--LEFT JOIN ins_v_aanwezigkenmerkdeel skd5
-- ON sle.ins_srtdeel_key = skd5.ins_deel_key
-- AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 5 AND ins_kenmerk_key = skd5.ins_kenmerk_key) -- Uitleeninstructie
LEFT JOIN ins_v_aanwezigkenmerkdeel skd6
ON sle.ins_deel_key = skd6.ins_deel_key
AND EXISTS (SELECT 1 FROM ins_v_aanwezigkenmerk WHERE ins_srtkenmerk_key = 6 AND ins_kenmerk_key = skd6.ins_kenmerk_key) -- Serienummer(s)
LEFT JOIN fac_tracking t
ON sle.ins_deel_key = t.fac_tracking_refkey AND t.fac_srtnotificatie_key IN (98, 99) -- INSOUT=Uitgegeven/INSINN=Ingenomen
;
-- Import cilindersets met cilinders incl. stamplaats, kenmerken en optioneel
-- aan welke ruimte uitgegeven.
CREATE OR REPLACE PROCEDURE djin_import_cil (p_import_key IN NUMBER)