WDKA#76204 -- Notificatie job op afgeronde taken

svn path=/Customer/trunk/; revision=58729
This commit is contained in:
Norbert Wassink
2023-01-19 11:06:39 +00:00
parent fd3df6c373
commit 751f0ce202

View File

@@ -30,6 +30,8 @@ SET DEFINE OFF
CREATE OR REPLACE PACKAGE WDKA
AS
PROCEDURE update_vervaldatum;
PROCEDURE insert_object(p_objectNr IN VARCHAR2, p_mld_melding_key IN NUMBER);
PROCEDURE insert_ctr_kenmerk (p_srtcontrole_key IN NUMBER);
@@ -47,6 +49,68 @@ END;
CREATE OR REPLACE PACKAGE BODY WDKA
AS
-- rechtzetten van die objecten die wel inactief zijnngezte maar de vervaldatum niet gevuld is.
PROCEDURE update_vervaldatum
AS
CURSOR c
IS
SELECT i.ins_deel_key,
ft.fac_tracking_datum
FROM ins_deel i,
fac_tracking ft
WHERE i.ins_deel_actief=0
AND i.ins_deel_vervaldatum IS NULL
AND ft.fac_tracking_refkey = i.ins_deel_key
AND ft.fac_srtnotificatie_key=133
AND ft.fac_tracking_datum BETWEEN SYSDATE-1 AND SYSDATE
AND ft.fac_tracking_oms like '%Actief: 1 --> 0%'
AND i.ins_deel_verwijder IS NULL;
BEGIN
FOR rec IN c
LOOP
UPDATE ins_deel
SET ins_deel_vervaldatum = rec.fac_tracking_datum
WHERE ins_deel_key = rec.ins_deel_key;
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE,
'Vervaldatum gezet wegens inactief zetten zonder vervaldatum.');
END LOOP;
COMMIT;
END;
PROCEDURE inactief_ins_deel
AS
CURSOR c
IS
SELECT m.mld_melding_key, mmo.ins_deel_key
FROM mld_melding m, mld_stdmelding ms, fac_tracking ft, mld_melding_object mmo, ins_deel i
WHERE m.mld_stdmelding_key = ms.mld_stdmelding_key
AND UPPER(ms.mld_stdmelding_omschrijving)='MUTATIE UIT AANVRAAG'
AND m.mld_melding_status =4 -- alleen 4
AND ft.fac_tracking_refkey=m.mld_melding_key
AND ft.prs_perslid_key IN (SELECT p.prs_perslid_key
FROM prs_perslid p, fac_groep fg, fac_gebruikersgroep fgg
WHERE UPPER(fg.fac_groep_omschrijving)='LOCATIEMANAGER_ACCEPT'
AND fgg.fac_groep_key = fg.fac_groep_key
AND p.prs_perslid_key = fgg.prs_perslid_key)
AND mmo.mld_melding_key=m.mld_melding_key
AND i.ins_deel_key = mmo.ins_deel_key
AND i.ins_deel_actief=1;
BEGIN
FOR rec IN c
LOOP
UPDATE ins_deel
SET ins_deel_actief=0,
ins_deel_vervaldatum=SYSDATE
WHERE ins_deel_key=rec.ins_deel_key
AND ins_deel_verwijder IS NULL;
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE,
'Object is vanuuit daily op inactief gezet vanuit melding '||rec.mld_melding_key);
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE, 'Object gewijzigd '||CHR(13)|| CHR(10)||'Vervaldatum: (leeg) --> '|| SYSDATE);
END LOOP;
END;
PROCEDURE insert_object(p_objectNr IN VARCHAR2, p_mld_melding_key IN NUMBER)
AS
@@ -447,7 +511,14 @@ END;
/
--de daily task draait elke ochtend om 5 uur.
CREATE OR REPLACE PROCEDURE WDKA_DAILY
AS
BEGIN
-- inactiveren personen die 12 maanden niet hebben ingelogd
wdka.update_vervaldatum;
END;
/
CREATE OR REPLACE PROCEDURE WDKA_IMPORT_INSPECTIES(p_import_key IN NUMBER)
@@ -1852,13 +1923,13 @@ BEGIN
SELECT ins_controlemode_key
INTO v_controlemode_key
FROM ins_controlemode
WHERE UPPER(ins_controlemode_oms)='UITGEVOERD';
WHERE UPPER(ins_controlemode_oms)='GOEDGEKEURD';
v_insdeelstr_status := 6;
ELSE
SELECT ins_controlemode_key
INTO v_controlemode_key
FROM ins_controlemode
WHERE UPPER(ins_controlemode_oms)='REPARATIE';
WHERE UPPER(ins_controlemode_oms)='AFGEKEURD';
v_insdeelstr_status:=5;
END IF;
@@ -2469,7 +2540,10 @@ AS
FROM ins_srtcontrole isc
WHERE isc.ins_srtcontrole_key=ids.ins_srtcontrole_key) taak ,
ids.ins_deelsrtcontrole_datum,
DECODE(ids.ins_deelsrtcontrole_status,0,'Ingepland', 2,'Gestart/In behandeling',5,'Afgemeld/Gereed gemeld',6,'Afgerond') controle_status,
DECODE(ids.ins_deelsrtcontrole_status,0,'Ingepland', 2,'Gestart/In behandeling',5,'Afgemeld/Gereed gemeld',6,'Afgerond') taak_status,
(SELECT ic.ins_controlemode_oms
FROM ins_controlemode ic
WHERE ic.ins_controlemode_key=ids.ins_controlemode_key) keurings_status,
INS.NEXTCYCLUSDATE(i.ins_deel_key, ids.ins_srtcontrole_key,1) volgende_datum,
a.alg_ruimte_omschrijving,
p.prs_perslid_email,
@@ -2487,6 +2561,54 @@ AS
AND a.alg_ruimte_omschrijving=p.prs_perslid_email(+);
-- notificatie jobs
CREATE OR REPLACE VIEW wdka_v_noti_taak_afgerond
(
CODE,
SENDER,
RECEIVER,
TEXT,
KEY,
XKEY
)
AS
SELECT 'CUST01' code,
NULL sender,
CASE
WHEN ar2.alg_ruimte_omschrijving LIKE '%@%'
THEN ar2.alg_ruimte_omschrijving
ELSE ''
END ||
CASE
WHEN ag.prs_perslid_key_verantw IS NOT NULL
THEN (SELECT ';'||prs_perslid_email
FROM prs_perslid
WHERE prs_perslid_key = ag.prs_perslid_key_verantw)
ELSE NULL
END ||
CASE
WHEN ag.PRS_PERSLID_KEY_VERANTW2 IS NOT NULL
THEN (SELECT ';'||prs_perslid_email
FROM prs_perslid
WHERE prs_perslid_key = ag.prs_perslid_key_verantw2)
ELSE NULL
END receiver,
'Taak voor object '||i.ins_deel_omschrijving||' is uitgevoerd' text,
i.ins_deel_key key,
NULL xkey
FROM ins_deelsrtcontrole ids,
ins_deel i,
alg_v_allonrgoed_gegevens ar1,
alg_ruimte ar2,
alg_v_aanweziggebouw ag
WHERE ids.ins_deelsrtcontrole_datum BETWEEn SYSDATE-1 AND SYSDATE
AND ids.ins_deelsrtcontrole_status=6
AND i.ins_deel_key=ids.ins_deel_key
AND ar1.alg_ruimte_key=i.ins_alg_ruimte_key
AND ar2.alg_ruimte_key=i.ins_alg_ruimte_key
AND ag.alg_gebouw_key= ar1.alg_gebouw_key;
------ payload end ------