WDKA#68779 -- Inrichten Wedeka

svn path=/Customer/trunk/; revision=58152
This commit is contained in:
Norbert Wassink
2022-11-29 12:30:50 +00:00
parent 86c173ddd0
commit d1fc43450a

View File

@@ -45,58 +45,232 @@ END;
CREATE OR REPLACE PACKAGE BODY WDKA
AS
PROCEDURE insert_object(p_objectNr IN VARCHAR2, p_mld_melding_key IN NUMBER)
AS
v_objectNr VARCHAR2(20):='';
v_objectSoortKey VARCHAR2(10):='';
v_aanmaak VARCHAR2(10):='';
v_alg_ruimte_key NUMBER:=0;
v_aanwezig NUMBER:=0;
v_ins_deel_key NUMBER:=0;
v_objectNr VARCHAR2(20):='';
v_objectSoortKey VARCHAR2(10):='';
v_aanmaak VARCHAR2(10):='';
v_alg_ruimte_key NUMBER:=0;
v_aanwezig NUMBER:=0;
v_ins_deel_key NUMBER:=0;
v_merk NUMBER:=0;
v_leverancier NUMBER:=0;
v_type VARCHAR2(50);
v_serienummer VARCHAR2(50);
v_kenteken VARCHAR2(50);
v_bouwjaar VARCHAR2(50);
v_garantiedatum VARCHAR2(50);
v_investeringsnr VARCHAR2(50);
v_aanschafprijs VARCHAR2(50);
v_merk_key NUMBER:=231;
v_leverancier_key NUMBER:=323;
v_type_key NUMBER:=221;
v_serienummer_key NUMBER:=42;
v_kenteken_key NUMBER:=201;
v_bouwjaar_key NUMBER:=24;
v_garantiedatum_key NUMBER:=202;
v_investeringsnr_key NUMBER:=43161;
v_aanschafprijs_key NUMBER:=342;
v_level NUMBER:=0;
BEGIN
-- We halen eerts de object identiofocatio op
v_objectNr := p_objectNr;
--SELECT mkm.mld_kenmerkmelding_waarde INTO v_objectNr from mld_melding m, mld_kenmerkmelding mkm where m.mld_melding_key=p_mld_melding_key AND mkm.mld_melding_key=m.mld_melding_key AND mkm.mld_kenmerk_key=41;
-- Welk objectsoort is er gekozen
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_objectSoortKey
FROM mld_melding m, mld_kenmerkmelding mkm
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mkm.mld_kenmerk_key=201; -- D=2, A=201
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND UPPER(mk.mld_kenmerk_omschrijving)='OBJECT SOORT'; -- D=2, A=201
-- Moeten we een object aanmaken
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_aanmaak
FROM mld_melding m, mld_kenmerkmelding mkm
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mkm.mld_kenmerk_key=181; -- D=3, A=181
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND UPPER(mk.mld_kenmerk_omschrijving)='OBJECT AANMAKEN'; -- D=3, A=181
-- We halen de alg_ruimte_key op van de locatie Onbekend/ ruimte 999999
-- We halen de alg_ruimte_key op van het gebouw wat is gekozen en ruimte 999999
SELECT alg_ruimte_key
INTO v_alg_ruimte_key
FROM ALG_V_ALLONRGOED_GEGEVENS
WHERE alg_ruimte_nr='999999'
AND alg_gebouw_code='99.9';
AND alg_gebouw_key=(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND UPPER(mk.mld_kenmerk_omschrijving)='GEBOUW'); -- A=241
-- We gaan wat kenmerken ophalen die bij het object gezet moeten worden
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_merk
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND UPPER(mk.mld_kenmerk_omschrijving)='FABRIKANT / MERK';
BEGIN
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_leverancier
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND UPPER(mk.mld_kenmerk_omschrijving)='LEVERANCIER';
EXCEPTION WHEN NO_DATA_FOUND
THEN
v_kenteken:=NULL;
v_kenteken_key:=-1;
END;
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_type
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND UPPER(mk.mld_kenmerk_omschrijving)='TYPE';
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_serienummer
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND UPPER(mk.mld_kenmerk_omschrijving)='SERIENUMMER';
BEGIN
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_kenteken
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND UPPER(mk.mld_kenmerk_omschrijving)='KENTEKEN';
EXCEPTION WHEN NO_DATA_FOUND
THEN
v_kenteken:=NULL;
v_kenteken_key:=-1;
END;
BEGIN
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_bouwjaar
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND UPPER(mk.mld_kenmerk_omschrijving)='BOUWJAAR';
EXCEPTION WHEN NO_DATA_FOUND
THEN
v_bouwjaar:=NULL;
v_bouwjaar_key:=-1;
END;
BEGIN
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_garantiedatum
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND UPPER(mk.mld_kenmerk_omschrijving)='GARANTIEDATUM';
EXCEPTION WHEN NO_DATA_FOUND
THEN
v_garantiedatum:=NULL;
v_garantiedatum_key:=-1;
END;
BEGIN
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_investeringsnr
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND UPPER(mk.mld_kenmerk_omschrijving)='INVESTERINGS NR';
EXCEPTION WHEN NO_DATA_FOUND
THEN
v_investeringsnr:=NULL;
v_investeringsnr_key:=-1;
END;
BEGIN
SELECT mkm.mld_kenmerkmelding_waarde
INTO v_aanschafprijs
FROM mld_melding m, mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE m.mld_melding_key=p_mld_melding_key
AND mkm.mld_melding_key=m.mld_melding_key
AND mk.mld_stdmelding_key = m.mld_stdmelding_key
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND UPPER(mk.mld_kenmerk_omschrijving)='AANSCHAFPRIJS <20>';
EXCEPTION WHEN NO_DATA_FOUND
THEN
v_aanschafprijs:=NULL;
v_aanschafprijs_key:=-1;
END;
SELECT count(*) into v_aanwezig
FROm ins_deel
WHERE ins_deel_omschrijving=v_objectNr
AND ins_deel_verwijder IS NULL;
IF (v_aanwezig = 0 AND v_aanmaak='1501') THEN -- D=82, A=1501
INSERT INTO ins_deel(ins_deel_omschrijving, ins_deel_aanmaak, ins_srtdeel_key, ins_deel_actief, ins_alg_ruimte_key, ins_alg_ruimte_type)
VALUES(v_objectNr, SYSDATE, v_objectSoortKey, 0, v_alg_ruimte_key ,'R')
RETURNING ins_deel_key
INTO v_ins_deel_key;
flx.setflex('INS',v_merk_key,v_ins_deel_key,v_merk);
flx.setflex('INS',v_type_key,v_ins_deel_key,v_type);
flx.setflex('INS',v_leverancier_key,v_ins_deel_key,v_leverancier);
flx.setflex('INS',v_serienummer_key,v_ins_deel_key,v_serienummer);
IF (v_kenteken_key>0) THEN
flx.setflex('INS',v_kenteken_key,v_ins_deel_key,v_kenteken);
END IF;
IF (v_bouwjaar_key>0) THEN
flx.setflex('INS',v_bouwjaar_key,v_ins_deel_key,v_bouwjaar);
END IF;
IF (v_garantiedatum_key>0) THEN
flx.setflex('INS',v_garantiedatum_key,v_ins_deel_key,v_garantiedatum);
END IF;
IF (v_investeringsnr_key>0) THEN
flx.setflex('INS',v_investeringsnr_key,v_ins_deel_key,v_investeringsnr);
END IF;
IF (v_aanschafprijs_key>0) THEN
flx.setflex('INS',v_aanschafprijs_key,v_ins_deel_key,v_aanschafprijs);
END IF;
fac.trackaction ('INSNEW', v_ins_deel_key, 3, SYSDATE,
'Object '||v_objectNr||' geregistreerd uit melding '||p_mld_melding_key||'.');
IF (v_ins_deel_key>0) THEN
v_level:=v_level+1;
INSERT INTO mld_melding_object(ins_deel_key, mld_melding_key, mld_melding_object_aanmaak)
VALUES(v_ins_deel_key, p_mld_melding_key, SYSDATE);
END IF;
@@ -1980,6 +2154,32 @@ AS
FROM alg_locatie
WHERE alg_locatie_verwijder IS NULL;
CREATE OR REPLACE VIEW wdka_v_alg_gebouw
(
fac_usrdata_key,
fac_usrdata_omschr
)
AS
SELECT alg_gebouw_key, alg_gebouw_omschrijving
FROM alg_v_aanweziggebouw;
CREATE OR REPLACE VIEW WDKA_V_InactieveObjecten
(
fac_usrdata_key,
fac_usrdata_omschr
)
AS
SELECT i.ins_deel_key,
i.ins_deel_omschrijving||' - '||COALESCE(i.ins_deel_opmerking||' ','')||'('|| isd.ins_srtdeel_omschrijving||')'
FROM ins_deel i, ins_srtdeel isd
WHERE i.ins_srtdeel_key = isd.ins_srtdeel_key
AND i.ins_deel_actief=0
AND ins_deel_verwijder IS NULL;
CREATE OR REPLACE VIEW wdka_v_objectmutatie
AS
SELECT i.ins_deel_omschrijving,
@@ -2007,6 +2207,38 @@ AS
FROM ins_deel i, alg_v_allonrgoed_gegevens aag
WHERE aag.alg_ruimte_key=i.ins_alg_ruimte_key
CREATE OR REPLACE VIEW wdka_v_object_taaklijst
AS
SELECT i.ins_deel_key,
i.ins_deel_omschrijving wedeka_nr,
i.ins_deel_opmerking beschrijving,
(SELECT isg.ins_srtgroep_omschrijving
FROM ins_srtgroep isg
WHERE isg.ins_srtgroep_key=isd.ins_srtgroep_key) groep,
isd.ins_srtdeel_omschrijving ,
(SELECT isc.ins_srtcontrole_omschrijving
FROM ins_srtcontrole isc
WHERE isc.ins_srtcontrole_key=ids.ins_srtcontrole_key) taak ,
ids.ins_deelsrtcontrole_datum,
INS.NEXTCYCLUSDATE(i.ins_deel_key, ids.ins_srtcontrole_key,1) volgende_datum,
a.alg_ruimte_omschrijving,
p.prs_perslid_email,
p.prs_perslid_key perslid_key
FROM ins_deel i,
ins_srtdeel isd,
ins_deelsrtcontrole ids ,
alg_v_aanwezigruimte a ,
prs_perslid p
WHERE i.ins_deel_verwijder IS NULL
AND i.ins_deel_actief=1
AND ids.ins_deel_key = i.ins_deel_key
AND a.alg_ruimte_key = i.ins_alg_ruimte_key
AND isd.ins_srtdeel_key=i.ins_srtdeel_key
AND a.alg_ruimte_omschrijving=p.prs_perslid_email(+);
------ payload end ------
SET DEFINE OFF