BLCC#76362 37: notificatie reminder kostentechnisch gereed melden

svn path=/Customer/trunk/; revision=65258
This commit is contained in:
Suzan Wiegerinck
2024-06-20 22:07:27 +00:00
parent d7dde75393
commit f3016098db

View File

@@ -1106,6 +1106,8 @@ IS
PROCEDURE bijwerken_legendas;
PROCEDURE autorisatie_bhv;
PROCEDURE blcc_noti_kostengereed;
END;
/
@@ -2799,6 +2801,93 @@ IS
v_errormsg,
'');
END autorisatie_bhv;
PROCEDURE blcc_noti_kostengereed
AS
p_applname VARCHAR2 (50) := 'NOTIFICATIE_KOSTENTECHNISCHGEREED';
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_errorhint VARCHAR2 (100);
v_aanduiding VARCHAR2 (100);
CURSOR c IS
SELECT o.mld_opdr_key,
cpn.prs_contactpersoon_key,
cpn.prs_perslid_email,
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht,
TRUNC (mld.getopdrachtstatusdate (o.mld_opdr_key, 6)) + 14 te_notificeren
FROM mld_opdr o,
mld_melding m,
(SELECT prs_contactpersoon_key, prs_perslid_email
FROM (SELECT cp.prs_contactpersoon_key,
pf.prs_perslid_naam_full contact_naam,
p.prs_perslid_email
FROM prs_contactpersoon cp, prs_v_perslid_fullnames_all pf, prs_perslid p
WHERE cp.prs_perslid_key = pf.prs_perslid_key
AND p.prs_perslid_key = cp.prs_perslid_key
UNION ALL
SELECT cp.prs_contactpersoon_key,
cp.prs_contactpersoon_naam,
p.prs_perslid_email
FROM prs_contactpersoon cp, prs_v_perslid_fullnames_all pf, prs_perslid p
WHERE cp.prs_perslid_key = pf.prs_perslid_key
AND p.prs_perslid_key = cp.prs_perslid_key
AND cp.prs_perslid_key IS NULL)) cpn
WHERE o.mld_melding_key = m.mld_melding_key
AND cpn.prs_contactpersoon_key = o.prs_contactpersoon_key
AND o.mld_statusopdr_key = 6
AND cpn.prs_perslid_email IS NOT NULL
AND TRUNC (mld.getopdrachtstatusdate (o.mld_opdr_key, 6)) + 14 = TRUNC (SYSDATE);
BEGIN
v_errorhint := 'init';
FOR rec IN c
LOOP
BEGIN
v_aanduiding :=
'Notificatie reminder kostentechnisch gereedmelden opdracht ' || rec.opdracht;
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
fac_notificatie_status,
prs_perslid_key_receiver,
fac_notificatie_receiver_email,
fac_notificatie_oms,
fac_notificatie_refkey,
prs_perslid_key_sender,
fac_notificatie_prioriteit,
fac_notificatie_lang)
SELECT fac_srtnotificatie_key,
2,
rec.prs_contactpersoon_key,
rec.prs_perslid_email,
REPLACE (fac_srtnotificatie_oms, '##opdrnr##', rec.opdracht),
rec.mld_opdr_key, -- node is opdracht
4,
2,
'NL'
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'CUST18';
fac.trackaction (
'CUST18',
rec.mld_opdr_key,
NULL,
NULL,
'Notificatie met verzoek om kostentechnisch gereed te melden verzonden naar: '
|| rec.prs_perslid_email);
END;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
v_errorhint := 'Reminder kostentechnisch gereedmelden';
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
fac.writelog (p_applname,
'E',
'Error ' || oracle_err_num || '/' || oracle_err_mes,
v_errorhint);
END blcc_noti_kostengereed;
END;
/
@@ -2817,6 +2906,8 @@ BEGIN
blcc.bijwerken_legendas;
blcc.autorisatie_bhv;
blcc.blcc_noti_kostengereed;
EXCEPTION
@@ -25935,46 +26026,71 @@ CREATE OR REPLACE VIEW BLCC_V_NOTI_OPDR_GEPLAND
(
SENDER,
RECEIVER,
XEMAIL,
XMOBILE,
TEXT,
CODE,
KEY,
XKEY
)
AS
SELECT NULL sender,
prs_perslid_key_voor receiver,
'Opdracht '
|| opdracht
|| ' is door opdrachtnemer (opnieuw) ingepland' text,
'CUST10' code, --- herhaling BHV
mld_opdr_key refkey,
SELECT NULL sender,
NULL receiver,
ontvanger xemail,
NULL xmobile,
'Opdracht ' || opdracht || ' is door opdrachtnemer (opnieuw) ingepland' text,
'CUST10' code,
mld_opdr_key refkey,
NULL
FROM ( SELECT MAX (t.fac_tracking_datum)
last_mut,
FROM ( SELECT MAX (t.fac_tracking_datum),
o.mld_melding_key,
m.prs_perslid_key_voor,
p.prs_perslid_email,
mail.mailadres extra_ontvanger,
CASE
WHEN mail.mailadres IS NOT NULL
THEN
p.prs_perslid_email || ';' || mail.mailadres
ELSE
p.prs_perslid_email
END ontvanger,
o.mld_opdr_key,
o.mld_opdr_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
opdracht,
m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht,
o.mld_opdr_plandatum
FROM mld_opdr o, fac_tracking t, mld_melding m
FROM mld_opdr o,
fac_tracking t,
mld_melding m,
prs_perslid p,
(SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde mailadres
FROM mld_kenmerkopdr ko
WHERE ko.mld_kenmerk_key IN (7561, 7581)) mail
WHERE o.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = 363 --- ORDPLD
AND t.fac_srtnotificatie_key = 363 --- ORDPLD
AND UPPER (t.fac_tracking_oms) NOT LIKE '%(GEWIST)' --- als de datum gewist is notificeren we niet
AND m.mld_melding_key = o.mld_melding_key
AND p.prs_perslid_key = m.prs_perslid_key
AND o.mld_typeopdr_key in (5, 101, 2741) -- alleen bij wo, wo tot 1000,- en wo na offerte
AND mail.mld_opdr_key(+) = o.mld_opdr_key
AND (t.fac_tracking_datum) >
(SELECT fac_notificatie_job_nextrun
- fac_notificatie_job_interval / 24
(SELECT fac_notificatie_job_nextrun - fac_notificatie_job_interval / 24
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) =
'BLCC_V_NOTI_OPDR_GEPLAND')
WHERE UPPER (fac_notificatie_job_view) = 'BLCC_V_NOTI_OPDR_GEPLAND')
AND (t.fac_tracking_datum) <
(SELECT fac_notificatie_job_nextrun
FROM fac_notificatie_job
WHERE UPPER (fac_notificatie_job_view) =
'BLCC_V_NOTI_OPDR_GEPLAND')
WHERE UPPER (fac_notificatie_job_view) = 'BLCC_V_NOTI_OPDR_GEPLAND')
GROUP BY o.mld_melding_key,
m.prs_perslid_key_voor,
o.mld_opdr_key || '/' || o.mld_opdr_bedrijfopdr_volgnr,
p.prs_perslid_email,
mail.mailadres,
CASE
WHEN mail.mailadres IS NOT NULL
THEN
p.prs_perslid_email || ';' || mail.mailadres
ELSE
p.prs_perslid_email
END,
m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr ,
o.mld_opdr_key,
o.mld_opdr_plandatum) opdr;
@@ -29535,8 +29651,8 @@ AS
|| 'WVG: '
|| COALESCE (wvg_nr.aanvr_nr, 'Onbekend')
|| CHR (10)
|| 'Klant akkoord: '
|| COALESCE (akk.fac_usrdata_omschr, 'Onbekend')
--|| 'Klant akkoord: '
--|| COALESCE (akk.fac_usrdata_omschr, 'Onbekend')
|| (CASE
WHEN opm.mld_kenmerkopdr_waarde IS NOT NULL
THEN
@@ -29561,8 +29677,11 @@ AS
ELSE '#616366' -- grijs
END
AS color,
'#FFFFFF'
textcolor,
CASE
WHEN po.kostenplaats LIKE '5040%' THEN '#FFFFFF' -- wit
ELSE '#000' -- zwart
END
AS textcolor,
'?u=opdracht'
|| CHR (38)
|| 'internal=1'
@@ -29941,6 +30060,117 @@ AS
c.cnt_contract_omschrijving) oc
WHERE cl.alg_gebouw_key = oc.alg_gebouw_key;
CREATE OR REPLACE VIEW BLCC_V_RAP_MLD_SLAPEND
(
LAATSTE_ACTIE,
DAGEN_STIL,
MELDER,
MLD_MELDING_KEY,
MELDINGNR,
GEREGISTREERD,
BEHANDELGROEP,
MELDING,
MLD_MELDING_ONDERWERP,
BEHANDELAAR,
BEHANDELTEAM,
ACTIEVE_BEHANDELAAR,
ACTIEVE_BEHANDELAAR_KEY,
KLANT,
ACTIE_BIJ,
STATUS
)
AS
SELECT MAX (actiedatum) laatste_actie,
TRUNC (SYSDATE) - TRUNC (MAX (actiedatum)) dagen_stil,
p.prs_perslid_naam_full melder,
m.mld_melding_key,
vgt.ins_srtdiscipline_prefix || '#' || m.mld_melding_key meldingnr,
m.mld_melding_datum geregistreerd,
vg.ins_discipline_omschrijving behandelgroep,
sm.mld_stdmelding_omschrijving melding,
m.mld_melding_onderwerp,
pb.prs_perslid_naam_full behandelaar,
bhg.ins_discipline_omschrijving behandelteam,
abh.prs_perslid_naam_full actieve_behandelaar,
m.mld_melding_behandelaar2_key actieve_behandelaar_key,
a.prs_afdeling_omschrijving klant,
DECODE (BITAND (m.mld_melding_actiecode, 1), 1, 'Behandelaar', 'Klant') actie_bij,
CASE WHEN m.mld_melding_flag > 0 THEN lcl.l ('lcl_mld_flag' || m.mld_melding_flag) END status
FROM mld_melding m,
mld_stdmelding sm, -- m
mld_discipline vg, -- md,
ins_srtdiscipline vgt,
prs_v_perslid_fullnames pb,
prs_v_perslid_fullnames p,
mld_discipline bhg,
prs_v_perslid_fullnames abh,
prs_afdeling a,
(SELECT n.mld_melding_key, n.mld_melding_note_aanmaak actiedatum
FROM mld_melding_note n
UNION ALL
SELECT fac_tracking_refkey, tr.fac_tracking_datum
FROM fac_tracking tr, fac_srtnotificatie str
WHERE tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key
AND str.fac_srtnotificatie_xmlnode IN ('melding')) d
WHERE m.mld_melding_key = d.mld_melding_key
AND sm.mld_stdmelding_key = m.mld_stdmelding_key
AND vg.ins_discipline_key = sm.mld_ins_discipline_key
AND vg.ins_srtdiscipline_key = vgt.ins_srtdiscipline_key
AND m.mld_melding_behandelaar_key = pb.prs_perslid_key(+)
AND m.prs_perslid_key = p.prs_perslid_key
AND m.mld_melding_status NOT IN (1, 5, 6)
AND m.fac_activiteit_key IS NULL
AND m.mld_ins_discipline_key = bhg.ins_discipline_key(+)
AND m.mld_melding_behandelaar2_key = abh.prs_perslid_key(+)
AND m.prs_afdeling_key = a.prs_afdeling_key(+)
GROUP BY m.mld_melding_key,
vgt.ins_srtdiscipline_prefix || '#' || m.mld_melding_key,
m.prs_kostenplaats_key,
p.prs_perslid_naam_full,
m.prs_perslid_key,
mld_melding_datum,
vg.ins_discipline_omschrijving,
bhg.ins_discipline_omschrijving,
mld_stdmelding_omschrijving,
mld_melding_onderwerp,
pb.prs_perslid_naam_full,
abh.prs_perslid_naam_full,
m.mld_melding_behandelaar2_key,
mld_melding_flag,
m.mld_melding_actiecode,
a.prs_afdeling_naam,
a.prs_afdeling_omschrijving
ORDER BY MAX (actiedatum);
CREATE OR REPLACE VIEW BLCC_V_RAP_KT_KLACHT
AS
SELECT bm.melding_key,
bm.melding_nummer,
bm.vakgroep,
bm.meldingsoort,
bm.melding_datumtijd,
bm.melding_datum,
bm.melding_gebouwcode,
bm.melding_ruimtenr,
bm.melder,
bm.rating,
bm.rating_opm,
COALESCE (cat.categorie, betr.betrekking_op) categorie
FROM blcc_v_rap_meldingen bm,
(SELECT rt.fac_usrdata_omschr categorie, kenm.mld_melding_key
FROM mld_kenmerkmelding kenm, fac_usrdata rt
WHERE kenm.mld_kenmerkmelding_verwijder IS NULL
AND rt.fac_usrdata_key = fac.safe_to_number (kenm.mld_kenmerkmelding_waarde)
AND rt.fac_usrtab_key = 1321
AND kenm.mld_kenmerk_key = 7401) cat,
(SELECT rt.fac_usrdata_omschr betrekking_op, kenm.mld_melding_key
FROM mld_kenmerkmelding kenm, fac_usrdata rt
WHERE kenm.mld_kenmerkmelding_verwijder IS NULL
AND rt.fac_usrdata_key = fac.safe_to_number (kenm.mld_kenmerkmelding_waarde)
AND rt.fac_usrtab_key = 921
AND kenm.mld_kenmerk_key = 1921) betr
WHERE cat.mld_melding_key(+) = bm.melding_key AND betr.mld_melding_key(+) = bm.melding_key;
------ payload end ------
SET DEFINE OFF