HMOD#75400 -- Inrichting Contractbeheer - rappel2.0. en domeinview

svn path=/Customer/trunk/; revision=60657
This commit is contained in:
Jos Migo
2023-06-07 11:53:29 +00:00
parent c1225db498
commit c5f60239be

View File

@@ -1480,7 +1480,85 @@ AS
AND dp2.mld_disc_params_emailnw3 IS NOT NULL) m
WHERE m.mld_toegewezen_laatste > m.job_datum_vanaf;
-- RAPPEL CONTRACTEN ---
-- Op contracten wordt dit aangegeven. Dit is in basisview opgenomen en deze fungeert als bron voor notificatie
CREATE OR REPLACE VIEW hmod_v_cnt_rappel_basis
AS
SELECT d.ins_discipline_omschrijving,
c.cnt_contract_key,
c.cnt_contract_nummer_intern
|| DECODE (c.cnt_contract_versie,
NULL, '',
'.' || c.cnt_contract_versie)
cnt_contract_nr,
c.cnt_contract_looptijd_van begindatum,
c.cnt_contract_looptijd_tot einddatum,
cnt.cnt_getopzegdatum (c.cnt_contract_key) cnt_opzegdatum,
cnt.cnt_getrappeldatum (c.cnt_contract_key) cnt_rappeldatum,
DECODE (cnt.cnt_contract_status (c.cnt_contract_looptijd_van,
cnt.cnt_getrappeldatum (c.cnt_contract_key),
cnt.cnt_getopzegdatum (c.cnt_contract_key),
c.cnt_contract_looptijd_tot),
0, lcl.l ('lcl_cnt_future'),
1, lcl.l ('lcl_cnt_topical'),
2, lcl.l ('lcl_cnt_warn'),
3, lcl.l ('lcl_cnt_cancel'),
4, lcl.l ('lcl_cnt_past'))
fase_actief,
DECODE (
c.cnt_contract_status,
0,
DECODE (fac.getsetting ('cnt_contract_approval'),
1, lcl.l ('lcl_cnt_active_approval'),
lcl.l ('lcl_cnt_active')),
1,
lcl.l ('lcl_cnt_inactive'),
2,
lcl.l ('lcl_cnt_new'),
3,
lcl.l ('lcl_cnt_forapproval'))
cnt_contract_status,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
WHERE k.cnt_kenmerk_key = kc.cnt_kenmerk_key
AND kc.cnt_contract_key = c.cnt_contract_key
AND k.cnt_srtkenmerk_key = 122) -- contractbeheerder
vink_beheerder,
(SELECT p.prs_perslid_email
FROM prs_perslid p
WHERE p.prs_perslid_key = c.prs_perslid_key_beh
AND p.prs_perslid_verwijder IS NULL)
beheerder_email,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
WHERE k.cnt_kenmerk_key = kc.cnt_kenmerk_key
AND kc.cnt_contract_key = c.cnt_contract_key
AND k.cnt_srtkenmerk_key = 123) -- contractverantwoordelijke
vink_verantwoordelijke,
(SELECT p.prs_perslid_email
FROM prs_perslid p
WHERE p.prs_perslid_key = c.prs_perslid_key_eig
AND p.prs_perslid_verwijder IS NULL)
veantwoordelijke_email,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
WHERE k.cnt_kenmerk_key = kc.cnt_kenmerk_key
AND kc.cnt_contract_key = c.cnt_contract_key
AND k.cnt_srtkenmerk_key = 124) -- rappel anders
vink_anders,
(SELECT kc.cnt_kenmerkcontract_waarde
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
WHERE k.cnt_kenmerk_key = kc.cnt_kenmerk_key
AND kc.cnt_contract_key = c.cnt_contract_key
AND k.cnt_srtkenmerk_key = 161) -- EMAIL bij rappel anders
anders_email
FROM cnt_v_aanwezigcontract c, ins_tab_discipline d
WHERE c.ins_discipline_key = d.ins_discipline_key
AND d.ins_discipline_module = 'CNT';
-- Rappel-opzet - versie 1
---- Wekelijks verstuurd naar Beheerder en Contractverantwoordelijke
CREATE OR REPLACE VIEW hmod_v_noti_cntreminder
(
code,
@@ -1536,6 +1614,119 @@ AS
WHERE km.cnt_contract_key = c.cnt_contract_key AND km.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 61)
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key) AND cnt.cnt_getopzegdatum (c.cnt_contract_key));
-- Rappel-opzet - HERZIEN
---- Eenmalig verstuurd...
CREATE OR REPLACE VIEW hmod_v_noti_cntreminder_2
(
code,
sender,
receiver,
text,
key,
xkey,
xemail,
xmobile
)
AS -- Op rappel-datum naar de Beheerder/Administrateur sturen
SELECT 'CNTMAI',
NULL,
c.prs_perslid_key_beh,
'TER INFO: Rappel verstuurd voor contract ' || c.cnt_contract_nummer_intern
|| DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
|| ' (' || c.cnt_contract_omschrijving || ' ' || b.prs_bedrijf_naam || ')'
|| ' - Moet uiterlijk per ' || TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'dd-mm-yyyy')
|| ' worden verlengd of opgezegd.',
c.cnt_contract_key,
NULL,
NULL,
NULL
FROM hmod_v_cnt_rappel_basis v, cnt_v_aanwezigcontract c, prs_bedrijf b
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND v.cnt_contract_key = c.cnt_contract_key
AND v.vink_beheerder = 1
AND c.cnt_contract_status = 0
AND cnt.cnt_getrappeldatum (c.cnt_contract_key) = TRUNC (SYSDATE)
AND c.prs_perslid_key_beh <> c.prs_perslid_key_eig -- als administrateur gelijk aan 1e aanspreekpunt dan dan sturen we de info-mail niet uit
AND NOT EXISTS -- kenmerkveld 'Opgezegd' staat uit
(SELECT km.cnt_contract_key
FROM cnt_kenmerkcontract km, cnt_kenmerk k
WHERE km.cnt_contract_key = c.cnt_contract_key AND km.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 61)
UNION ALL -- Op rappel-datum ACTIE-mail naar het 1e aanspreekpunt sturen (contractverantwoordelijke)
SELECT 'CUST02',
NULL,
c.prs_perslid_key_eig,
'ACTIE: Rappel verstuurd voor contract ' || c.cnt_contract_nummer_intern
|| DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
|| ' (' || c.cnt_contract_omschrijving || ' ' || b.prs_bedrijf_naam || ')'
|| ' - Moet uiterlijk per ' || TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'dd-mm-yyyy')
|| ' worden verlengd of opgezegd.',
c.cnt_contract_key,
NULL,
NULL,
NULL
FROM hmod_v_cnt_rappel_basis v, cnt_v_aanwezigcontract c, prs_bedrijf b
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND v.cnt_contract_key = c.cnt_contract_key
AND v.vink_verantwoordelijke = 1
AND c.cnt_contract_status = 0
AND cnt.cnt_getrappeldatum (c.cnt_contract_key) = TRUNC (SYSDATE)
AND c.prs_perslid_key_eig IS NOT NULL
AND NOT EXISTS -- kenmerkveld 'Opgezegd' staat uit
(SELECT km.cnt_contract_key
FROM cnt_kenmerkcontract km, cnt_kenmerk k
WHERE km.cnt_contract_key = c.cnt_contract_key AND km.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 61)
UNION ALL -- Op rappel-datum ACTIE-mail naar het 'RAPPEL-ANDERS-emailadres'
SELECT 'CUST02',
NULL,
NULL,
'ACTIE: Rappel verstuurd voor contract ' || c.cnt_contract_nummer_intern
|| DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
|| ' (' || c.cnt_contract_omschrijving || ' ' || b.prs_bedrijf_naam || ')'
|| ' - Moet uiterlijk per ' || TO_CHAR (cnt.cnt_getopzegdatum (c.cnt_contract_key), 'dd-mm-yyyy')
|| ' worden verlengd of opgezegd.',
c.cnt_contract_key,
NULL,
v.anders_email,
NULL
FROM hmod_v_cnt_rappel_basis v, cnt_v_aanwezigcontract c, prs_bedrijf b
WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND v.cnt_contract_key = c.cnt_contract_key
AND v.vink_anders = 1
AND c.cnt_contract_status = 0
AND cnt.cnt_getrappeldatum (c.cnt_contract_key) = TRUNC (SYSDATE)
AND NOT EXISTS -- kenmerkveld 'Opgezegd' staat uit
(SELECT km.cnt_contract_key
FROM cnt_kenmerkcontract km, cnt_kenmerk k
WHERE km.cnt_contract_key = c.cnt_contract_key AND km.cnt_kenmerk_key = k.cnt_kenmerk_key AND k.cnt_srtkenmerk_key = 61) ;
-- domeinview Contracten
CREATE OR REPLACE VIEW hmod_v_contracten
(
KEY,
OMSCHRIJVING, -- Soort - Nr.versie - Omschrijving
CONTRACTANT, -- Voor extra_tesktkolom
VERVALDATUM -- Alle contracten die al meer dan jaar verlopen zijn, worden niet meer getoond in keuzelijst
)
AS
SELECT c.cnt_contract_key,
d.ins_discipline_omschrijving
|| ' - '
|| c.cnt_contract_nummer_intern
|| DECODE (c.cnt_contract_versie,
NULL, '',
'.' || c.cnt_contract_versie)
|| ' - '
|| c.cnt_contract_omschrijving
omschrijving,
(SELECT prs_bedrijf_naam
FROM prs_bedrijf
WHERE prs_bedrijf_key = c.cnt_prs_bedrijf_key)
contractant,
c.cnt_contract_looptijd_tot + 365
vervaldatum
FROM cnt_contract c, ins_tab_discipline d
WHERE c.ins_discipline_key = d.ins_discipline_key
AND d.ins_discipline_module = 'CNT' ;
---------------------
-- RAPPORTVIEWS -----
@@ -2550,6 +2741,46 @@ AS
AND os.mld_statusopdr_key = o.mld_statusopdr_key
AND mu.intern = 1;
-- view om QR codes voor een deel te genereren
CREATE OR REPLACE VIEW hmod_v_rap_qr_deel
AS
SELECT fac_bookmark_naam,
fac_bookmark_id,
b.fac_bookmark_path,
b.fac_bookmark_query,
ins_discipline_omschrijving,
ins_srtgroep_omschrijving,
ins_srtdeel_omschrijving,
ins_deel_omschrijving,
CASE
WHEN d.ins_discipline_key = 109 -- IT
THEN
(SELECT k.ins_kenmerkdeel_waarde
FROM ins_kenmerkdeel k
WHERE k.ins_deel_key = d.ins_deel_key
AND k.ins_kenmerk_key = 21)
ELSE
NULL
END
serienummer,
DECODE (d.ins_discipline_key, 109, flx.getdomeinwaarde (61, flx.getflex('INS', 26, ins_deel_key)), -- IT
110, flx.getdomeinwaarde (61, flx.getflex('INS', 27, ins_deel_key)), -- Inventaris
'Nee')
gestickerd,
CASE WHEN alg_locatie_key IS NOT NULL THEN 'Locatiegebonden'
WHEN d.prs_perslid_key IS NOT NULL THEN 'Persoonsgebonden'
ELSE 'Overig'
END type,
alg_locatie_key,
alg_gebouw_omschrijving,
d.prs_perslid_key,
prs_perslid_volnaam,
ins_deel_aanmaak,
ins_deel_key
FROM fac_bookmark b, ins_v_deel_gegevens d
WHERE fac_bookmark_expire IS NULL
AND fac_bookmark_id = 'vM5Ai_bS-gfB-wpM'; -- PROD = QPgqz69zEKMLncP6
------ payload end ------
SET DEFINE OFF