WDKA#76649 -- Rapport Mijn Objecten-Taken voor de GIST-werkleiders

svn path=/Customer/trunk/; revision=59081
This commit is contained in:
Norbert Wassink
2023-02-09 14:42:25 +00:00
parent c22ff20ad2
commit 8748b1671f

View File

@@ -32,6 +32,10 @@ CREATE OR REPLACE PACKAGE WDKA
AS
PROCEDURE update_vervaldatum;
PROCEDURE inactief_ins_deel;
PROCEDURE activeer_ins_deel;
PROCEDURE insert_object(p_objectNr IN VARCHAR2, p_mld_melding_key IN NUMBER);
PROCEDURE insert_ctr_kenmerk (p_srtcontrole_key IN NUMBER);
@@ -82,18 +86,32 @@ AS
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
SELECT m.mld_melding_key,
mmo.ins_deel_key,
p1.prs_perslid_key loc_manager_key,
p1.prs_perslid_email loc_manager_email,
p2.prs_perslid_key beheerder_key,
p2.prs_perslid_email beheerder_email
FROM mld_melding m,
mld_stdmelding ms,
fac_tracking ft,
mld_melding_object mmo,
ins_deel i,
prs_perslid p1,
prs_perslid p2
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 m.mld_melding_status =4 -- alleen 4
AND ft.fac_tracking_refkey=m.mld_melding_key
AND ft.fac_srtnotificatie_key=46
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 p1.prs_perslid_key = ft.prs_perslid_key
AND p2.prs_perslid_key = i.prs_perslid_key_beh
AND i.ins_deel_key = mmo.ins_deel_key
AND i.ins_deel_actief=1;
BEGIN
@@ -104,14 +122,137 @@ AS
ins_deel_vervaldatum=SYSDATE
WHERE ins_deel_key=rec.ins_deel_key
AND ins_deel_verwijder IS NULL;
flx.setflex('INS',81,rec.ins_deel_key,90); -- ObjectStatus kenmerk krijgt status passief (90)
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE,
'Object is vanuuit daily op inactief gezet vanuit melding '||rec.mld_melding_key);
'Object is vanuit 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);
fac.trackaction ('CUST01', rec.mld_melding_key, NULL, NULL, '#Mail naar locatie manager gestuurd naar: ' || rec.loc_manager_email);
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
fac_notificatie_receiver_email,
prs_perslid_key_receiver,
fac_notificatie_oms,
fac_notificatie_refkey,
fac_notificatie_extrakey,
fac_notificatie_prioriteit)
VALUES (261, -- CUST01
2, -- mail
rec.loc_manager_email, -- email
rec.loc_manager_key,
'Mutatie uit aanvraag uitgevoerd',
rec.mld_melding_key,
NULL,
2);
fac.trackaction ('CUST01', rec.mld_melding_key, NULL, NULL, '#Mail naar object beheerder gestuurd naar: ' || rec.beheerder_email);
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
fac_notificatie_receiver_email,
prs_perslid_key_receiver,
fac_notificatie_oms,
fac_notificatie_refkey,
fac_notificatie_extrakey,
fac_notificatie_prioriteit)
VALUES (261, -- CUST01
2, -- mail
rec.beheerder_email, -- email
rec.beheerder_key,
'Mutatie uit aanvraag uitgevoerd',
rec.mld_melding_key,
NULL,
2);
END LOOP;
END;
PROCEDURE activeer_ins_deel
AS
CURSOR c
IS
SELECT m.mld_melding_key,
mmo.ins_deel_key,
i.ins_deel_vervaldatum,
p1.prs_perslid_key loc_manager_key,
p1.prs_perslid_email loc_manager_email,
p2.prs_perslid_key beheerder_key,
p2.prs_perslid_email beheerder_email
FROM mld_melding m,
mld_stdmelding ms,
fac_tracking ft,
mld_melding_object mmo,
ins_deel i,
prs_perslid p1,
prs_perslid p2
WHERE m.mld_stdmelding_key = ms.mld_stdmelding_key
AND UPPER(ms.mld_stdmelding_omschrijving)='AANVRAAG HERACTIVEREN OBJECT'
AND m.mld_melding_status =4 -- alleen 4
AND ft.fac_tracking_refkey=m.mld_melding_key
AND ft.fac_srtnotificatie_key=46
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 p1.prs_perslid_key = ft.prs_perslid_key
AND p2.prs_perslid_key = i.prs_perslid_key_beh
AND i.ins_deel_key = mmo.ins_deel_key
AND i.ins_deel_actief=0;
BEGIN
FOR rec IN c
LOOP
UPDATE ins_deel
SET ins_deel_actief=1,
ins_deel_vervaldatum=NULL
WHERE ins_deel_key=rec.ins_deel_key
AND ins_deel_verwijder IS NULL;
flx.setflex('INS',81,rec.ins_deel_key,85); -- ObjectStatus kenmerk krijgt status actief (85)
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE,
'Object is vanuit daily op actief gezet vanuit melding '||rec.mld_melding_key);
fac.trackaction ('INSUPD', rec.ins_deel_key, 3, SYSDATE, 'Object gewijzigd '||CHR(13)|| CHR(10)||'Vervaldatum: '||TO_CHAR(rec.ins_deel_vervaldatum,' DD-MM-YYYY')||' --> (leeg)');
fac.trackaction ('CUST02', rec.mld_melding_key, NULL, NULL, '#Mail naar locatie manager gestuurd naar: ' || rec.loc_manager_email);
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
fac_notificatie_receiver_email,
prs_perslid_key_receiver,
fac_notificatie_oms,
fac_notificatie_refkey,
fac_notificatie_extrakey,
fac_notificatie_prioriteit)
VALUES (281, -- CUST02
2, -- mail
rec.loc_manager_email, -- email
rec.loc_manager_key,
'Aanvraag heractiveren object',
rec.mld_melding_key,
NULL,
2);
fac.trackaction ('CUST02', rec.mld_melding_key, NULL, NULL, '#Mail naar object beheerder gestuurd naar: ' || rec.beheerder_email);
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
fac_notificatie_receiver_email,
prs_perslid_key_receiver,
fac_notificatie_oms,
fac_notificatie_refkey,
fac_notificatie_extrakey,
fac_notificatie_prioriteit)
VALUES (281, -- CUST02
2, -- mail
rec.beheerder_email, -- email
rec.beheerder_key,
'Aanvraag heractiveren object',
rec.mld_melding_key,
NULL,
2);
END LOOP;
END;
PROCEDURE insert_object(p_objectNr IN VARCHAR2, p_mld_melding_key IN NUMBER)
AS
v_objectNr VARCHAR2(20):='';
@@ -129,15 +270,16 @@ AS
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;
-- Kenmerk keys
v_merk_key NUMBER:=141;
v_leverancier_key NUMBER:=142;
v_type_key NUMBER:=44;
v_serienummer_key NUMBER:=41;
v_kenteken_key NUMBER:=43;
v_bouwjaar_key NUMBER:=63;
v_garantiedatum_key NUMBER:=61;
v_investeringsnr_key NUMBER:=144;
v_aanschafprijs_key NUMBER:=143;
v_level NUMBER:=0;
BEGIN
@@ -517,6 +659,8 @@ AS
BEGIN
-- inactiveren personen die 12 maanden niet hebben ingelogd
wdka.update_vervaldatum;
wdka.inactief_ins_deel;
wdka.activeer_ins_deel;
END;
/
@@ -2536,30 +2680,96 @@ AS
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 ,
isc.ins_srtcontrole_omschrijving taak ,
itd.ins_discipline_omschrijving taak_groep,
ids.ins_deelsrtcontrole_datum,
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,
a.alg_ruimte_omschrijving,
ab.alg_gebouw_code||' '||ab.alg_gebouw_naam gebouw,
ab.alg_gebouw_code gebouw_code,
ab.alg_gebouw_naam gebouw_naam,
p.prs_perslid_email,
p.prs_perslid_key perslid_key
FROM ins_deel i,
ins_srtdeel isd,
ins_deelsrtcontrole ids ,
ins_srtdeel isd,
ins_tab_discipline itd,
ins_srtcontrole isc,
ins_deelsrtcontrole ids ,
alg_v_allonrgoed_gegevens ab,
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_key = i.ins_alg_ruimte_key
AND ab.alg_ruimte_key= a.alg_ruimte_key
AND isd.ins_srtdeel_key=i.ins_srtdeel_key
AND isc.ins_srtcontrole_key=ids.ins_srtcontrole_key
AND isc.ctr_discipline_key = itd.ins_discipline_key
AND a.alg_ruimte_omschrijving=p.prs_perslid_email(+);
CREATE OR REPLACE VIEW wdka_V_loc_man_meldingen
(
melding_key,
datum_melding,
datum_accept,
datum_afmeld,
mld_onderwerp,
mld_omschrijving,
mld_status,
object_key,
object_nr,
object_omschrijving,
aanvrager,
accpetant,
behandelaar
)
AS
SELECT m.mld_melding_key melding_key,
m.mld_melding_datum datum_melding,
(SELECT MAX(f.fac_tracking_datum)
FROM fac_tracking f
WHERE f.fac_tracking_refkey=m.mld_melding_key
AND f.fac_srtnotificatie_key=46) datum_accept,
(SELECT MAX(f.fac_tracking_datum)
FROM fac_tracking f
WHERE f.fac_tracking_refkey=m.mld_melding_key
AND f.fac_srtnotificatie_key=47) datum_afmeld,
m.mld_melding_onderwerp onderwerp,
m.mld_melding_omschrijving omschrijving,
sta.mld_statuses_omschrijving status,
ins.ins_deel_key object_key,
ins.ins_deel_omschrijving object,
ins.INS_DEEL_OPMERKING object_omschrijving,
pf2.prs_perslid_naam_friendly aanvrager,
(SELECT p.prs_perslid_naam_friendly
FROM fac_tracking f, prs_v_perslid_fullnames p
WHERE f.fac_tracking_refkey=m.mld_melding_key
AND f.fac_srtnotificatie_key=46
AND p.prs_perslid_key=f.prs_perslid_key) acceptant,
(SELECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames p
WHERE p.prs_perslid_key = m.mld_melding_behandelaar_key) behandelaar
FROM mld_melding m,
mld_stdmelding ms,
mld_v_aanwezigdiscipline mad,
mld_statuses sta,
prs_v_perslid_fullnames pf2,
ins_deel ins,
mld_melding_object mo
WHERE m.mld_stdmelding_key = ms.mld_stdmelding_key
AND ms.mld_ins_discipline_key = mad.ins_discipline_key
AND UPPER(mad.ins_discipline_omschrijving)='AANVRAAG TBV LOCATIE MANAGER'
AND sta.mld_statuses_key= m.mld_melding_status
AND pf2.prs_perslid_key = m.prs_perslid_key
AND mo.mld_melding_key = m.mld_melding_key
AND ins.ins_deel_key = mo.ins_deel_key;
-- notificatie jobs
@@ -2573,41 +2783,47 @@ CREATE OR REPLACE VIEW wdka_v_noti_taak_afgerond
XKEY
)
AS
SELECT 'CUST01' code,
SELECT 'CUST03' 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,
NVL(
(CASE
WHEN ar2.alg_ruimte_omschrijving LIKE '%@%'
THEN ar2.alg_ruimte_omschrijving
ELSE NULL
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),p.prs_perslid_email) receiver,
'Uw apparaat ('|| i.ins_deel_omschrijving||') ligt gereed na keuring.' 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;
NULL xkey
FROM ins_deelsrtcontrole ids,
ins_srtcontrole isc,
ins_deel i,
prs_perslid p,
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 ids.ins_srtcontrole_key = isc.ins_srtcontrole_key
AND UPPER(isc.ins_srtcontrole_omschrijving) = '63A - ONDERHOUD TD GI'
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
AND p.prs_perslid_key=i.prs_perslid_key_beh;
------ payload end ------