VEBE#36832: aanpassing rapport Mutatiedatum

svn path=/Customer/trunk/; revision=29790
This commit is contained in:
Marcel Bourseau
2016-06-21 12:57:39 +00:00
parent 898ff0b713
commit ed8e6ce55c

View File

@@ -467,8 +467,8 @@ AS
and c2.cnt_contract_looptijd_van < c1.cnt_contract_looptijd_tot;
-- Basis UDR rapport...
CREATE OR REPLACE VIEW vebe_rap_wagenpark
-- TEMP view t.b.v. Basis UDR rapport...
CREATE OR REPLACE VIEW vebe_rap_wagenpark_tmp
(
extra_key,
cnt_lease_key,
@@ -533,7 +533,11 @@ CREATE OR REPLACE VIEW vebe_rap_wagenpark
ins_deel_kleur,
cnt_lease_jaarkilometrage,
cnt_gebruik_verklaring,
prs_berijder_indirect
prs_berijder_indirect,
mut_datum_fiscale_waarde,
mut_datum_gebr_ovk,
mut_datum_verklaring,
mut_datum_in_direct
)
AS
SELECT extra_key,
@@ -681,7 +685,7 @@ AS
AND kc.cnt_kenmerkcontract_verwijder IS NULL)
AND ud.fac_usrtab_key = 1)
verklaring,
(SELECT DECODE (fac.safe_to_number (prs_kenmerklink_waarde),
(SELECT DECODE (fac.safe_to_number (prs_kenmerklink_waarde),
0, 'Direct',
'Indirect')
FROM prs_kenmerklink kl
@@ -689,8 +693,330 @@ AS
AND kl.prs_kenmerk_key = 1000
AND kl.prs_kenmerklink_verwijder IS NULL
AND kl.prs_kenmerklink_niveau = 'P')
in_direct
in_direct,
(SELECT fac.safe_to_date(ins_kenmerkdeel_waarde, 'dd-mm-yyyy')
FROM ins_kenmerkdeel kd
WHERE kd.ins_deel_key = lg.ins_deel_key
AND kd.ins_kenmerk_key = 101
AND kd.ins_kenmerkdeel_verwijder IS NULL)
mut_datum_fiscale_waarde,
(SELECT fac.safe_to_date(cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_contract_key = lg.cnt_gebruik_key
AND kc.cnt_kenmerk_key = 81
AND kc.cnt_kenmerkcontract_verwijder IS NULL)
mut_datum_gebr_ovk,
(SELECT fac.safe_to_date(cnt_kenmerkcontract_waarde, 'dd-mm-yyyy')
FROM cnt_kenmerkcontract kc
WHERE kc.cnt_contract_key = lg.cnt_gebruik_key
AND kc.cnt_kenmerk_key = 82
AND kc.cnt_kenmerkcontract_verwijder IS NULL)
mut_datum_verklaring,
(SELECT fac.safe_to_date (prs_kenmerklink_waarde, 'dd-mm-yyyy')
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = lg.prs_berijder_key
AND kl.prs_kenmerk_key = 1020
AND kl.prs_kenmerklink_verwijder IS NULL
AND kl.prs_kenmerklink_niveau = 'P')
mut_datum_in_direct
FROM vebe_cnt_lease_en_gebruiks_ovk lg;
-- Basis UDR rapport...
CREATE OR REPLACE VIEW vebe_rap_wagenpark
(
extra_key,
cnt_lease_key,
prs_bedrijf_key,
cnt_gebruik_key,
prs_berijder_key,
ins_deel_key,
prs_lease_perslid_key_eig,
cnt_lease_nummer_intern,
cnt_lease_versie,
cnt_lease_omschr,
cnt_lease_looptijd_van,
cnt_lease_looptijd_tot,
cnt_lease_looptijd_mnd,
perc_lease_duur,
lease_weken_tegaan,
cnt_lease_rappeldatum,
cnt_lease_opzegdatum,
cnt_lease_opzegtermijn,
cnt_lease_rappeltermijn,
cnt_lease_status,
lease_fase_actief,
cnt_lease_status_txt,
cnt_lease_kosten,
cnt_lease_termijnkosten,
lease_disc_key,
lease_eigenaar_key,
lease_eigenaar_afdeling_naam,
prs_bedrijf_naam,
prs_gebr_perslid_key_eig,
cnt_gebruik_nummer_intern,
cnt_gebruik_versie,
cnt_gebruik_omschr,
cnt_gebruik_looptijd_van,
cnt_gebruik_looptijd_tot,
perc_gebruik_duur,
gebruik_weken_tegaan,
cnt_gebruik_rappeldatum,
cnt_gebruik_opzegdatum,
cnt_gebruik_opzegtermijn,
cnt_gebruik_rappeltermijn,
cnt_gebruik_status,
gebruik_fase_actief,
cnt_gebruik_status_txt,
gebruik_disc_key,
gebruik_eigenaar_key,
gebruik_eigenaar_afdeling_naam,
prs_eigenaar_naam_full,
prs_eigenaar_naam_friendly,
prs_berijder_prsnr,
prs_berijder_naam_full,
prs_berijder_naam_friendly,
ins_deel_omschrijving,
ins_deel_opmerking,
ins_deel_belettering,
ins_deel_brandstof,
ins_deel_leasecategorie,
ins_deel_perc_bijtelling,
ins_deel_merk,
ins_deel_type,
ins_deel_fiscale_waarde,
ins_deel_kleur,
cnt_lease_jaarkilometrage,
cnt_gebruik_verklaring,
prs_berijder_indirect,
mut_datum_fiscale_waarde,
mut_datum_gebr_ovk,
mut_datum_verklaring,
mut_datum_in_direct,
mut_datum_totaal
)
AS SELECT
extra_key,
cnt_lease_key,
prs_bedrijf_key,
cnt_gebruik_key,
prs_berijder_key,
ins_deel_key,
prs_lease_perslid_key_eig,
cnt_lease_nummer_intern,
cnt_lease_versie,
cnt_lease_omschr,
cnt_lease_looptijd_van,
cnt_lease_looptijd_tot,
cnt_lease_looptijd_mnd,
perc_lease_duur,
lease_weken_tegaan,
cnt_lease_rappeldatum,
cnt_lease_opzegdatum,
cnt_lease_opzegtermijn,
cnt_lease_rappeltermijn,
cnt_lease_status,
lease_fase_actief,
cnt_lease_status_txt,
cnt_lease_kosten,
cnt_lease_termijnkosten,
lease_disc_key,
lease_eigenaar_key,
lease_eigenaar_afdeling_naam,
prs_bedrijf_naam,
prs_gebr_perslid_key_eig,
cnt_gebruik_nummer_intern,
cnt_gebruik_versie,
cnt_gebruik_omschr,
cnt_gebruik_looptijd_van,
cnt_gebruik_looptijd_tot,
perc_gebruik_duur,
gebruik_weken_tegaan,
cnt_gebruik_rappeldatum,
cnt_gebruik_opzegdatum,
cnt_gebruik_opzegtermijn,
cnt_gebruik_rappeltermijn,
cnt_gebruik_status,
gebruik_fase_actief,
cnt_gebruik_status_txt,
gebruik_disc_key,
gebruik_eigenaar_key,
gebruik_eigenaar_afdeling_naam,
prs_eigenaar_naam_full,
prs_eigenaar_naam_friendly,
prs_berijder_prsnr,
prs_berijder_naam_full,
prs_berijder_naam_friendly,
ins_deel_omschrijving,
ins_deel_opmerking,
ins_deel_belettering,
ins_deel_brandstof,
ins_deel_leasecategorie,
ins_deel_perc_bijtelling,
ins_deel_merk,
ins_deel_type,
ins_deel_fiscale_waarde,
ins_deel_kleur,
cnt_lease_jaarkilometrage,
cnt_gebruik_verklaring,
prs_berijder_indirect,
mut_datum_fiscale_waarde,
mut_datum_gebr_ovk,
mut_datum_verklaring,
mut_datum_in_direct,
DECODE(
GREATEST( COALESCE(mut_datum_fiscale_waarde, to_date('01-01-2000','dd-mm-yyyy')),
COALESCE(mut_datum_gebr_ovk, to_date('01-01-2000','dd-mm-yyyy')),
COALESCE(mut_datum_verklaring, to_date('01-01-2000','dd-mm-yyyy')),
COALESCE(mut_datum_in_direct, to_date('01-01-2000','dd-mm-yyyy'))
), to_date('01-01-2000','dd-mm-yyyy'), NULL,
to_char( GREATEST ( COALESCE(mut_datum_fiscale_waarde, to_date('01-01-2000','dd-mm-yyyy')),
COALESCE(mut_datum_gebr_ovk, to_date('01-01-2000','dd-mm-yyyy')),
COALESCE(mut_datum_verklaring, to_date('01-01-2000','dd-mm-yyyy')),
COALESCE(mut_datum_in_direct, to_date('01-01-2000','dd-mm-yyyy'))
), 'yyyy-mm'
)
) mut_datum_totaal
FROM vebe_rap_wagenpark_tmp;
CREATE OR REPLACE VIEW vebe_cnt_tankpas_gebruiks_ovk
(
cnt_gebruik_key,
prs_berijder_key,
ins_deel_key,
prs_gebr_perslid_key_beh,
prs_gebr_perslid_key_eig,
cnt_gebruik_nummer_intern,
cnt_gebruik_versie,
cnt_gebruik_omschr,
cnt_gebruik_looptijd_van,
cnt_gebruik_looptijd_tot,
perc_gebruik_duur,
gebruik_weken_tegaan,
cnt_gebruik_rappeldatum,
cnt_gebruik_opzegdatum,
cnt_gebruik_opzegtermijn,
cnt_gebruik_rappeltermijn,
cnt_gebruik_status,
gebruik_fase_actief,
cnt_gebruik_status_txt,
gebruik_disc_key,
gebruik_eigenaar_key,
gebruik_eigenaar_afdeling_naam,
prs_berijder_prsnr,
prs_berijder_naam_full,
prs_berijder_naam_friendly,
ins_deel_omschrijving,
ins_deel_opmerking
)
AS
SELECT
c2.cnt_contract_key cnt_gebruik_key,
p2.prs_perslid_key prs_berijder_key,
d.ins_deel_key,
c2.prs_perslid_key_beh prs_gebr_perslid_key_beh,
c2.prs_perslid_key_eig prs_gebr_perslid_key_eig,
c2.cnt_contract_nummer_intern cnt_gebruik_nummer_intern,
c2.cnt_contract_versie cnt_gebruik_versie,
c2.cnt_contract_omschrijving cnt_gebruik_omschr,
c2.cnt_contract_looptijd_van cnt_gebruik_looptijd_van,
c2.cnt_contract_looptijd_tot cnt_gebruik_looptijd_tot,
ROUND(100
* LEAST (
1,
(SYSDATE - LEAST (c2.cnt_contract_looptijd_van, SYSDATE))
/ (GREATEST (
c2.cnt_contract_looptijd_tot
- c2.cnt_contract_looptijd_van,
1
))
))
perc_gebruik_duur,
ROUND( (c2.cnt_contract_looptijd_tot
- GREATEST (c2.cnt_contract_looptijd_van,
LEAST (SYSDATE, c2.cnt_contract_looptijd_tot)))
/ 7)
gebruik_weken_tegaan,
cnt.cnt_getrappeldatum (c2.cnt_contract_key)
cnt_gebruik_rappeldatum,
cnt.cnt_getopzegdatum (c2.cnt_contract_key) cnt_gebruik_opzegdatum,
(SELECT lcl.x ('cnt_termijn_omschrijving',
cnt_termijn_key,
cnt_termijn_omschrijving)
FROM cnt_termijn
WHERE cnt_termijn_key = c2.cnt_contract_opzegtermijn)
cnt_gebruik_opzegtermijn,
(SELECT lcl.x ('cnt_termijn_omschrijving',
cnt_termijn_key,
cnt_termijn_omschrijving)
FROM cnt_termijn
WHERE cnt_termijn_key = c2.cnt_contract_rappeltermijn)
cnt_gebruik_rappeltermijn,
c2.cnt_contract_status cnt_gebruik_status,
DECODE (
cnt.cnt_contract_status (
c2.cnt_contract_looptijd_van,
cnt.cnt_getrappeldatum (c2.cnt_contract_key),
cnt.cnt_getopzegdatum (c2.cnt_contract_key),
c2.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')
)
gebruik_fase_actief,
DECODE (
c2.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_gebruik_status_txt,
COALESCE (c2.ins_discipline_key, -1) gebruik_disc_key,
c2.prs_afdeling_key_eig gebruik_eigenaar_key,
(SELECT prs_afdeling_naam
FROM prs_v_afdeling
WHERE prs_afdeling_key = c2.prs_afdeling_key_eig)
gebruik_eigenaar_afdeling_naam,
p2.prs_perslid_nr prs_berijder_prsnr,
p2.prs_perslid_naam_full prs_berijder_naam_full,
p2.prs_perslid_naam_friendly prs_berijder_naam_friendly,
d.ins_deel_omschrijving,
d.ins_deel_opmerking
FROM cnt_v_aanwezigcontract c2,
(SELECT pf.prs_perslid_key,
pf.prs_perslid_naam_friendly,
pf.prs_perslid_naam_full,
p.prs_perslid_nr
FROM prs_v_perslid_fullnames_all pf, prs_perslid p
WHERE pf.prs_perslid_key = p.prs_perslid_key) p2,
cnt_contract_object co2,
ins_deel d
WHERE c2.ins_discipline_key = 22
AND d.ins_srtdeel_key = 4
AND co2.cnt_contract_key = c2.cnt_contract_key
AND COALESCE (c2.cnt_contract_versie, '0') =
(SELECT COALESCE (MAX (cnt_contract_versie), '0')
FROM cnt_contract c3
WHERE c3.cnt_contract_nummer_intern =
c2.cnt_contract_nummer_intern)
AND c2.cnt_prs_perslid_key = p2.prs_perslid_key(+)
AND d.ins_deel_key = co2.cnt_ins_deel_key;
-- LEASECONTRACT NOTIFICATIES naar contractbeheerder, contracteigenaren, (nog) niet naar berijders.
-- Elke dag de bij aflopende leaseonctracten notificaties de deur 'uitgooien', die NIET met de standaard noti-jobs gaan (omdat de export nog iets extra's doet, insert of zo).
@@ -773,6 +1099,31 @@ IS
WHERE o.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'CUST03');
CURSOR c_noti_cnt_tankpas
IS
SELECT c.prs_gebr_perslid_key_beh,
NULL,
'Rapp<EFBFBD>l: Tijdelijke tankpas van gebruiksovereenkomst ' || c.cnt_gebruik_nummer_intern
|| DECODE (c.cnt_gebruik_versie,
NULL, '',
'.' || c.cnt_gebruik_versie)
|| ' ('
|| c.cnt_gebruik_omschr
|| ')'
|| ' loopt af op '
|| TO_CHAR (c.cnt_gebruik_looptijd_tot, 'DD-MM-YYYY')
|| '.' mail_subject,
c.cnt_gebruik_key,
c.cnt_gebruik_nummer_intern,
c.cnt_gebruik_versie
FROM vebe_cnt_tankpas_gebruiks_ovk c
WHERE cnt_gebruik_status = 0
AND (SYSDATE BETWEEN c.cnt_gebruik_rappeldatum
AND c.cnt_gebruik_opzegdatum)
AND c.cnt_gebruik_looptijd_tot >= to_date('01-10-2016','dd-mm-yyyy');
BEGIN
@@ -835,6 +1186,30 @@ BEGIN
END;
END LOOP;
FOR rc IN c_noti_cnt_tankpas
LOOP
BEGIN
v_errorhint := rc.mail_subject;
v_errormsg := '';
-- Mailen van een notificatie naar de beheerder van de gebruiksovereenkomst van de tijdelijke tankpas.
-- fac.putnotificationsrtprio (NULL, rc.prs_gebr_perslid_key_beh, '', rc.cnt_gebruik_key, rc.mail_subject, NULL, NULL, NULL, NULL, 2, NULL);
-- fac.putnotificationprio (pfrom, pto, pmessage, pmode, poptemail, poptmobile, 2);
fac.putnotificationprio (NULL, rc.prs_gebr_perslid_key_beh, rc.mail_subject, 2, NULL, NULL, 2);
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
v_count_error := v_count_error + 1;
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
COMMIT;
END;
END LOOP;
COMMIT;
EXCEPTION
@@ -923,7 +1298,36 @@ UNION ALL
FROM fac_tracking t, fac_srtnotificatie sn
WHERE o.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'CUST03');
AND sn.fac_srtnotificatie_code = 'CUST03')
UNION ALL
SELECT 'notificatie;key contract;contractnr;key wagenparkbeh;berijder;mailsubject;contractomschrijving;afdeling;einddatum', (select max(mld_melding_key) + 20000 from mld_melding)
FROM DUAL
UNION ALL
SELECT REPLACE(REPLACE(''
|| ';'
|| c.cnt_gebruik_key
|| ';'
|| c.cnt_gebruik_nummer_intern
|| ';'
|| c.prs_gebr_perslid_key_beh
|| ';'
|| c.prs_berijder_naam_friendly
|| ';'
|| 'Rapp<EFBFBD>l: Tijdelijke tankpas ' || c.cnt_gebruik_nummer_intern || ' loopt af'
|| DECODE (c.cnt_gebruik_versie, NULL, '', '.' || c.cnt_gebruik_versie)
|| ';'
|| c.cnt_gebruik_omschr
|| ';'
|| c.gebruik_eigenaar_afdeling_naam
|| ';'
|| TO_CHAR (c.cnt_gebruik_looptijd_tot, 'DD-MM-YYYY')
,CHR (13), ''), CHR (10), '<ret>'), (select max(mld_melding_key) + 20000 from mld_melding) + cnt_gebruik_key
FROM vebe_cnt_tankpas_gebruiks_ovk c
WHERE cnt_gebruik_status = 0
AND (SYSDATE BETWEEN c.cnt_gebruik_rappeldatum
AND c.cnt_gebruik_opzegdatum)
AND c.cnt_gebruik_looptijd_tot >= to_date('01-10-2016','dd-mm-yyyy');
CREATE OR REPLACE PROCEDURE vebe_processemail
@@ -1258,7 +1662,7 @@ END;
BEGIN fac.registercustversion('vebe', 4); END;
BEGIN fac.registercustversion('vebe', 5); END;
/
BEGIN adm.systrackscriptId('$Id$', 0); END;