BRCF#75727 -- Automatisch aanmaken objecten t.b.v. Groendus koppeling

BRCF#64831 -- Login leegmaken bij verwijderen personen t.b.v. koppeling IAM

svn path=/Customer/trunk/; revision=59510
This commit is contained in:
Robin Stoker
2023-03-08 16:35:44 +00:00
parent 059bdbc858
commit 4adf5215a6

View File

@@ -194,6 +194,13 @@ AS
FROM prs_perslid
WHERE prs_perslid_inactief IS NOT NULL -- Als inactief gemarkeerd door IAM koppeling
AND prs_perslid_verwijder IS NULL;
CURSOR c2 IS
SELECT prs_perslid_key
FROM prs_perslid
WHERE prs_perslid_verwijder IS NOT NULL
AND prs_perslid_oslogin IS NOT NULL;
-- Voor het verwijderen hebben we een import_key nodig, dus die gaan we nu aanmaken
BEGIN
SELECT fac_import_app_key
@@ -220,6 +227,87 @@ BEGIN
prs.delete_perslid (v_importkey, rec.prs_perslid_key);
END;
END LOOP;
FOR rec IN c2
LOOP
BEGIN
UPDATE prs_perslid
SET prs_perslid_oslogin = NULL
WHERE prs_perslid_key = rec.prs_perslid_key;
END;
END LOOP;
END;
/
CREATE OR REPLACE PROCEDURE brcf_groendus_meters
AS
CURSOR c1
IS
SELECT g.alg_locatie_key,
r.alg_ruimte_key,
'W_' || g.alg_gebouw_code water,
'G_' || g.alg_gebouw_code gas,
'E_' || g.alg_gebouw_code elektra
FROM alg_gebouw g, alg_verdieping v, alg_ruimte r
WHERE g.alg_gebouw_key = v.alg_gebouw_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND r.alg_ruimte_upper_nr = '_'
AND g.alg_gebouw_verwijder IS NULL
AND NOT EXISTS
(SELECT i.ins_deel_key
FROM ins_deel i
WHERE i.ins_alg_ruimte_key = r.alg_ruimte_key
AND i.ins_srtdeel_key IN (61, 62, 63));
BEGIN
FOR rec IN c1
LOOP
BEGIN
INSERT INTO ins_deel (ins_srtdeel_key,
ins_alg_ruimte_key,
ins_alg_ruimte_type,
ins_deel_aantal,
ins_deel_omschrijving,
ins_alg_locatie_key,
ins_deel_actief)
VALUES (62,
rec.alg_ruimte_key,
'R',
1,
rec.water,
rec.alg_locatie_key,
1);
INSERT INTO ins_deel (ins_srtdeel_key,
ins_alg_ruimte_key,
ins_alg_ruimte_type,
ins_deel_aantal,
ins_deel_omschrijving,
ins_alg_locatie_key,
ins_deel_actief)
VALUES (61,
rec.alg_ruimte_key,
'R',
1,
rec.elektra,
rec.alg_locatie_key,
1);
INSERT INTO ins_deel (ins_srtdeel_key,
ins_alg_ruimte_key,
ins_alg_ruimte_type,
ins_deel_aantal,
ins_deel_omschrijving,
ins_alg_locatie_key,
ins_deel_actief)
VALUES (63,
rec.alg_ruimte_key,
'R',
1,
rec.gas,
rec.alg_locatie_key,
1);
END;
END LOOP;
END;
/
@@ -233,12 +321,13 @@ BEGIN
brcf_toekennen_authgroep ();
brcf_wp_toekenning ();
brcf_delete_persons ();
brcf_groendus_meters ();
END;
/
-- T.b.v. de koppeling met Groendus.
CREATE OR REPLACE PROCEDURE brcf_groendus_locaties (
p_locatieid IN VARCHAR2,
p_locatieid IN NUMBER,
p_postalcode IN VARCHAR2)
IS
BEGIN
@@ -250,8 +339,8 @@ IS
/
CREATE OR REPLACE PROCEDURE brcf_groendus_eancodes (
p_eancode IN VARCHAR2,
p_addressid IN VARCHAR2,
p_eancode IN NUMBER,
p_addressid IN NUMBER,
p_energytype IN VARCHAR2)
IS
@@ -268,7 +357,7 @@ IS
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
AND l.alg_locatie_externnr = p_addressid
AND i.ins_deel_externnr != p_eancode
AND (i.ins_deel_externnr != p_eancode OR i.ins_deel_externnr IS NULL)
AND i.ins_srtdeel_key IN (61, 62, 63)
AND UPPER (SUBSTR (ins_deel_omschrijving, 1, 1)) =
UPPER (SUBSTR (p_energytype, 1, 1)); -- W = Water, G= Gas, E= Elektra
@@ -285,7 +374,7 @@ END;
/
CREATE OR REPLACE PROCEDURE brcf_groendus_consumption (
p_deelkey IN VARCHAR2,
p_deelkey IN NUMBER,
p_verbruik IN VARCHAR2,
p_timestamp IN VARCHAR2)
IS
@@ -329,23 +418,38 @@ AS
FROM ins_deel
WHERE ins_srtdeel_key IN (61, 62, 63) AND ins_deel_externnr IS NOT NULL;
-- Bronview voor het dagelijks ophalen van meetwaarden
-- Objecten die nog nooit een meetwaarde hebben gehad worden een heel jaar terug gesynchroniseerd.
CREATE OR REPLACE VIEW brcf_v_groendus_latest
(
deel_key,
eancode,
datumvan,
datumtot
deel_key,
eancode,
datumvan,
datumtot
)
AS
SELECT i.ins_deel_key,
i.ins_deel_externnr,
TO_CHAR (MAX (ih.ins_deel_statedate + 1), 'YYYY-MM-DD'),
TO_CHAR (SYSDATE, 'YYYY-MM-DD')
FROM ins_deel i, ins_deel_state_history ih
WHERE i.ins_srtdeel_key IN (61, 62, 63)
AND i.ins_deel_externnr IS NOT NULL
AND i.ins_deel_key = ih.ins_deel_key
GROUP BY (i.ins_deel_key, i.ins_deel_externnr);
SELECT i.ins_deel_key,
i.ins_deel_externnr,
TO_CHAR (MAX (ih.ins_deel_statedate + 1), 'YYYY-MM-DD'),
TO_CHAR (SYSDATE, 'YYYY-MM-DD')
FROM ins_deel i, ins_deel_state_history ih
WHERE i.ins_srtdeel_key IN (61, 62, 63)
AND i.ins_deel_externnr IS NOT NULL
AND i.ins_deel_key = ih.ins_deel_key
GROUP BY (i.ins_deel_key, i.ins_deel_externnr)
UNION ALL
SELECT i.ins_deel_key,
i.ins_deel_externnr,
TO_CHAR (SYSDATE - 365, 'YYYY-MM-DD'),
TO_CHAR (SYSDATE, 'YYYY-MM-DD')
FROM ins_deel i, ins_deel_state_history ih
WHERE i.ins_srtdeel_key IN (61, 62, 63)
AND i.ins_deel_externnr IS NOT NULL
AND NOT EXISTS
(SELECT 'x'
FROM ins_deel_state_history ih
WHERE ih.ins_deel_key = i.ins_deel_key)
GROUP BY (i.ins_deel_key, i.ins_deel_externnr);
CREATE OR REPLACE VIEW brcf_v_groendus_meetwaarden
(