2791 lines
108 KiB
MySQL
2791 lines
108 KiB
MySQL
-- Script containing customer specific configuration sql statements for vebe: Vebego
|
||
-- $Revision$
|
||
-- $Id$
|
||
|
||
DEFINE thisfile = 'VEBE.SQL'
|
||
DEFINE dbuser = '^VEBE'
|
||
DEFINE custid = 'VEBE'
|
||
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||
SPOOL &fcltlogfile
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
---------------------------------------
|
||
PROMPT &fcltcusttxt
|
||
---------------------------------------
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
--
|
||
-- Personen import
|
||
--
|
||
|
||
CREATE OR REPLACE PROCEDURE vebe_post_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
|
||
-- Kenmerk 1: Indirect of direct
|
||
-- Kenmerk 2: Adres van medewerker (straatnaam + huisnr)
|
||
-- Kenmerk 3: Woonplaats van medewerker (postcode + woonplaats)
|
||
-- Kenmerk 4: Contact via contactpersoon (maw de contactgegevens als mail, mobile etc zijn van contactpersoon van medewerkers en niet van hem/haar zelf)
|
||
CURSOR c_perslid_kenmerken
|
||
IS
|
||
SELECT prs_perslid_key, prs_perslid_naam, prs_perslid_email, prs_kenmerk1, prs_kenmerk2, prs_kenmerk3, prs_kenmerk4
|
||
FROM fac_imp_perslid
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
BEGIN
|
||
|
||
-- Kenmerk 1: Indirect of direct heeft de waarde I of D. Een I wordt vertaald naar 1, een D naar 0. Een andere letter of NULL value wordt naar 0 vertaald.
|
||
UPDATE fac_imp_perslid
|
||
SET prs_kenmerk1 = DECODE(UPPER(prs_kenmerk1),'I','1','D','0','0')
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
-- Kenmerk 4: Contactvia heeft waarde ja of nee of leeg (NULL). Een ja wordt vertaald naar 1, een nee naar 0. Iets anders of NULL value wordt naar 0 vertaald.
|
||
UPDATE fac_imp_perslid
|
||
SET prs_kenmerk4 = DECODE(UPPER(prs_kenmerk4),'JA','1','NEE','0','0')
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key, 'E', v_errormsg, v_errorhint);
|
||
END vebe_post_import_perslid;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE vebe_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
|
||
BEGIN
|
||
|
||
v_errorhint := 'Generieke update';
|
||
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
|
||
|
||
-- 1.Roepnaam 2.Voorletters 3.Tussenvoegsel 4.Achternaam 5.Persnr. 6.Afdnr. 7.Functie 8.Email 9.Mobile 10.Telefoon 11.Loginnaam 12.Direct-Indirect 13.Straat-huisnr 14.Postcode-Woonplaats 15.Contactvia
|
||
|
||
prs.import_perslid (p_import_key,
|
||
'0;0;0;0;0;0;6;4;3;1;' ||
|
||
'2;0;0;0;0;10;9;8;0;5;' ||
|
||
'7;11;0;0;0;0;12;13;14;15;'||
|
||
'0;0;0;0;0;0;0;0;0;0;'||
|
||
'0;0;0;0;0;0',
|
||
'Roepnaam;Voorletters;Tussenvoegsel;Achternaam;Persnr.;Afdnr.;Functie;Email;Mobile;Telefoon;Loginnaam%'
|
||
);
|
||
|
||
vebe_post_import_perslid(p_import_key);
|
||
|
||
COMMIT;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key, 'E', v_errormsg, v_errorhint);
|
||
END vebe_import_perslid;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE vebe_post_update_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
|
||
-- Kenmerk 1: Indirect of direct
|
||
-- Kenmerk 2: Adres van medewerker (straatnaam + huisnr)
|
||
-- Kenmerk 3: Woonplaats van medewerker (postcode + woonplaats)
|
||
-- Kenmerk 4: Contact via contactpersoon (maw de contactgegevens als mail, mobile etc zijn van contactpersoon van medewerkers en niet van hem/haar zelf)
|
||
CURSOR c_perslid_kenmerken
|
||
IS
|
||
SELECT prs_perslid_key, prs_perslid_naam, prs_perslid_email, prs_kenmerk1, prs_kenmerk2, prs_kenmerk3, prs_kenmerk4
|
||
FROM fac_imp_perslid
|
||
WHERE fac_import_key = p_import_key;
|
||
|
||
|
||
|
||
BEGIN
|
||
FOR rc IN c_perslid_kenmerken
|
||
LOOP
|
||
BEGIN
|
||
-- Indirect of direct heeft vaste kenmerk-key 1000
|
||
prs.upsertkenmerk(1000, rc.prs_perslid_key, rc.prs_kenmerk1);
|
||
-- Adres heeft vaste kenmerk-key 1001
|
||
prs.upsertkenmerk(1001, rc.prs_perslid_key, rc.prs_kenmerk2);
|
||
-- Postcode + Woonplaats heeft vaste kenmerk-key 1002
|
||
prs.upsertkenmerk(1002, rc.prs_perslid_key, rc.prs_kenmerk3);
|
||
-- Contactvia heeft vaste kenmerk-key 1004
|
||
prs.upsertkenmerk(1004, rc.prs_perslid_key, rc.prs_kenmerk4);
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
'Post update bij persoon' || rc.prs_perslid_key || ' is NIET volledig uitgevoerd )',
|
||
'Naam:' || rc.prs_perslid_naam || ' Email:' || rc.prs_perslid_email
|
||
);
|
||
END;
|
||
END LOOP;
|
||
|
||
|
||
END;
|
||
/
|
||
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE vebe_update_perslid (
|
||
p_import_key IN NUMBER
|
||
) IS
|
||
-- Alle personen verwijderen die niet meer in import bestand voorkomen.
|
||
-- Anker bij vebe is personeelnummer, hieronder de query om alle personen te verwijderen die:
|
||
-- a) niet meer in het importbestand staan, wel in Facilitor, en
|
||
-- b) waarvan de persoon in Facilitor een gevulde personeelsnummer heeft (leeg personeelsnummer van af blijven, dit zijn stagiairs etc die handmatig zijn toegevoegd)
|
||
-- c) waarvan de persoon in Facilitor niet begint met een _ in de loginnaam (ook van af blijven)
|
||
-- d)
|
||
|
||
CURSOR c_del
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
|
||
FROM fac_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames_all pf
|
||
WHERE UPPER(p.prs_perslid_nr) = UPPER(i.prs_perslid_nr(+))
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND SUBSTR(p.prs_perslid_oslogin,1,1) <> '_'
|
||
AND p.prs_perslid_nr IS NOT NULL
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND i.prs_perslid_nr IS NULL
|
||
ORDER BY 2;
|
||
|
||
v_count NUMBER;
|
||
|
||
BEGIN
|
||
-- generic update
|
||
|
||
SELECT count(*)
|
||
INTO v_count
|
||
FROM fac_imp_perslid;
|
||
|
||
IF v_count < 100
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Het aantal te importeren personen is te klein ('
|
||
|| TO_CHAR (v_count) || ')',
|
||
'Zie Specificatie (minimaal 100 personen)'
|
||
);
|
||
RETURN;
|
||
END IF;
|
||
|
||
-- 'LOGIN' betekent dat op basis van Login wordt gematched.
|
||
-- 'NR' betekent dat op basis van Personeelsnummer wordt gematched.
|
||
-- 'A' betekent altijd alle (andere/overige) werkplekken verwijderen
|
||
prs.update_perslid (p_import_key, 'NR', NULL);
|
||
|
||
-- Verwijder personen die niet meer in de import voorkomen.
|
||
FOR rec IN c_del
|
||
LOOP
|
||
BEGIN
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END;
|
||
END LOOP;
|
||
|
||
vebe_post_update_perslid(p_import_key);
|
||
|
||
END vebe_update_perslid;
|
||
/
|
||
|
||
-- View met 1 record voor de combinatie de leasecontractgegevens (ins_discipline_key = 21), de gebruiksovereenkomstgegevens (ins_discipline_key = 22) en de auto-gegevens.
|
||
|
||
CREATE OR REPLACE VIEW vebe_cnt_lease_en_gebruiks_ovk
|
||
(
|
||
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_srtdeel_omschrijving,
|
||
gov_huidig_jaar,
|
||
gov_vorig_jaar
|
||
)
|
||
AS
|
||
SELECT c1.cnt_contract_key extra_key,
|
||
c1.cnt_contract_key cnt_lease_key,
|
||
b.prs_bedrijf_key,
|
||
c2.cnt_contract_key cnt_gebruik_key,
|
||
p2.prs_perslid_key prs_berijder_key,
|
||
d.ins_deel_key,
|
||
c1.prs_perslid_key_eig prs_lease_perslid_key_eig,
|
||
c1.cnt_contract_nummer_intern cnt_lease_nummer_intern,
|
||
c1.cnt_contract_versie cnt_lease_versie,
|
||
c1.cnt_contract_omschrijving cnt_lease_omschr,
|
||
c1.cnt_contract_looptijd_van cnt_lease_looptijd_van,
|
||
c1.cnt_contract_looptijd_tot cnt_lease_looptijd_tot,
|
||
12
|
||
* ( TO_CHAR (c1.cnt_contract_looptijd_tot, 'YYYY')
|
||
- TO_CHAR (c1.cnt_contract_looptijd_van, 'YYYY')
|
||
- 1)
|
||
+ (12 - TO_CHAR (c1.cnt_contract_looptijd_van, 'MM'))
|
||
+ (TO_CHAR (c1.cnt_contract_looptijd_tot, 'MM'))
|
||
cnt_lease_looptijd_mnd,
|
||
ROUND(100
|
||
* LEAST (
|
||
1,
|
||
(SYSDATE - LEAST (c1.cnt_contract_looptijd_van, SYSDATE))
|
||
/ (GREATEST (
|
||
c1.cnt_contract_looptijd_tot
|
||
- c1.cnt_contract_looptijd_van,
|
||
1
|
||
))
|
||
))
|
||
perc_lease_duur,
|
||
ROUND( (c1.cnt_contract_looptijd_tot
|
||
- GREATEST (c1.cnt_contract_looptijd_van,
|
||
LEAST (SYSDATE, c1.cnt_contract_looptijd_tot)))
|
||
/ 7)
|
||
lease_weken_tegaan,
|
||
cnt.cnt_getrappeldatum (c1.cnt_contract_key) cnt_lease_rappeldatum,
|
||
cnt.cnt_getopzegdatum (c1.cnt_contract_key) cnt_lease_opzegdatum,
|
||
(SELECT lcl.x ('cnt_termijn_omschrijving',
|
||
cnt_termijn_key,
|
||
cnt_termijn_omschrijving)
|
||
FROM cnt_termijn
|
||
WHERE cnt_termijn_key = c1.cnt_contract_opzegtermijn)
|
||
cnt_lease_opzegtermijn,
|
||
(SELECT lcl.x ('cnt_termijn_omschrijving',
|
||
cnt_termijn_key,
|
||
cnt_termijn_omschrijving)
|
||
FROM cnt_termijn
|
||
WHERE cnt_termijn_key = c1.cnt_contract_rappeltermijn)
|
||
cnt_lease_rappeltermijn,
|
||
c1.cnt_contract_status cnt_lease_status,
|
||
DECODE (
|
||
cnt.cnt_contract_status (
|
||
c1.cnt_contract_looptijd_van,
|
||
cnt.cnt_getrappeldatum (c1.cnt_contract_key),
|
||
cnt.cnt_getopzegdatum (c1.cnt_contract_key),
|
||
c1.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')
|
||
)
|
||
lease_fase_actief,
|
||
DECODE (
|
||
c1.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_lease_status_txt,
|
||
c1.cnt_contract_kosten cnt_lease_kosten,
|
||
c1.cnt_contract_termijnkosten cnt_lease_termijnkosten,
|
||
COALESCE (c1.ins_discipline_key, -1) lease_disc_key,
|
||
c1.prs_afdeling_key_eig lease_eigenaar_key,
|
||
(SELECT prs_afdeling_naam
|
||
FROM prs_v_afdeling
|
||
WHERE prs_afdeling_key = c1.prs_afdeling_key_eig)
|
||
lease_eigenaar_afdeling_naam,
|
||
b.prs_bedrijf_naam,
|
||
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,
|
||
p1.prs_perslid_naam_full prs_eigenaar_naam_full,
|
||
p1.prs_perslid_naam_friendly prs_eigenaar_naam_friendly,
|
||
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,
|
||
sd.ins_srtdeel_omschrijving,
|
||
(SELECT 'Ja'
|
||
FROM cnt_contract
|
||
WHERE TO_CHAR (SYSDATE, 'YYYY') BETWEEN TO_CHAR (
|
||
cnt_contract_looptijd_van,
|
||
'YYYY')
|
||
AND TO_CHAR (
|
||
cnt_contract_looptijd_tot,
|
||
'YYYY')
|
||
AND cnt_contract_key = c2.cnt_contract_key)
|
||
gov_huidig_jaar,
|
||
(SELECT 'Ja'
|
||
FROM cnt_contract
|
||
WHERE TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'YYYY') BETWEEN TO_CHAR (
|
||
cnt_contract_looptijd_van,
|
||
'YYYY')
|
||
AND TO_CHAR (
|
||
cnt_contract_looptijd_tot,
|
||
'YYYY')
|
||
AND cnt_contract_key = c2.cnt_contract_key)
|
||
gov_vorig_jaar
|
||
FROM cnt_v_aanwezigcontract c1,
|
||
prs_v_perslid_fullnames_all p1,
|
||
prs_bedrijf b,
|
||
cnt_contract_object co1,
|
||
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,
|
||
ins_srtdeel sd
|
||
WHERE b.prs_bedrijf_key = c1.cnt_prs_bedrijf_key
|
||
AND c1.ins_discipline_key = 21
|
||
AND co1.cnt_contract_key = c1.cnt_contract_key
|
||
AND co1.cnt_ins_deel_key = co2.cnt_ins_deel_key
|
||
AND co2.cnt_contract_key = c2.cnt_contract_key
|
||
AND c2.ins_discipline_key = 22
|
||
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 c1.prs_perslid_key_eig = p1.prs_perslid_key(+)
|
||
AND c2.cnt_prs_perslid_key = p2.prs_perslid_key(+)
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND d.ins_deel_key = co1.cnt_ins_deel_key
|
||
AND COALESCE (c1.cnt_contract_versie, '0') =
|
||
(SELECT COALESCE (MAX (cnt_contract_versie), '0')
|
||
FROM cnt_v_aanwezigcontract c4
|
||
WHERE c4.cnt_contract_nummer_intern =
|
||
c1.cnt_contract_nummer_intern)
|
||
and c2.cnt_contract_looptijd_tot > c1.cnt_contract_looptijd_van
|
||
and c2.cnt_contract_looptijd_van < c1.cnt_contract_looptijd_tot;
|
||
|
||
|
||
-- TEMP view t.b.v. Basis UDR rapport...
|
||
CREATE OR REPLACE VIEW vebe_rap_wagenpark_tmp
|
||
(
|
||
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_srtdeel_omschrijving,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
gov_huidig_jaar,
|
||
gov_vorig_jaar,
|
||
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_lease_rayon,
|
||
cnt_gebruik_verklaring,
|
||
prs_berijder_indirect,
|
||
mut_datum_fiscale_waardehuidig,
|
||
mut_datum_gebr_ovkhuidig,
|
||
mut_datum_verklaringhuidig,
|
||
mut_datum_in_directhuidig,
|
||
mut_datum_fiscale_waardevorig,
|
||
mut_datum_gebr_ovkvorig,
|
||
mut_datum_verklaringvorig,
|
||
mut_datum_in_directvorig
|
||
)
|
||
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_srtdeel_omschrijving,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
COALESCE (gov_huidig_jaar, 'Nee') gov_huidig_jaar,
|
||
COALESCE (gov_vorig_jaar, 'Nee') gov_vorig_jaar,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (ins_kenmerkdeel_waarde)
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_deel_key = lg.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 1
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||
AND ud.fac_usrtab_key = 81)
|
||
belettering,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (ins_kenmerkdeel_waarde)
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_deel_key = lg.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 3
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||
AND ud.fac_usrtab_key = 24)
|
||
brandstof,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (ins_kenmerkdeel_waarde)
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_deel_key = lg.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 6
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||
AND ud.fac_usrtab_key = 21)
|
||
leasecategorie,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (ins_kenmerkdeel_waarde)
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_deel_key = lg.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 2
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||
AND ud.fac_usrtab_key = 22)
|
||
perc_bijtelling,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (ins_kenmerkdeel_waarde)
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_deel_key = lg.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 7
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||
AND ud.fac_usrtab_key = 23)
|
||
merk,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (ins_kenmerkdeel_waarde)
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_deel_key = lg.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 8
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||
AND ud.fac_usrtab_key = 26)
|
||
ins_deel_type,
|
||
(SELECT fac.safe_to_number (ins_kenmerkdeel_waarde)
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_deel_key = lg.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 4
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||
fiscale_waarde,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd
|
||
WHERE kd.ins_deel_key = lg.ins_deel_key
|
||
AND kd.ins_kenmerk_key = 5
|
||
AND kd.ins_kenmerkdeel_verwijder IS NULL)
|
||
kleur,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key = lg.cnt_lease_key
|
||
AND kc.cnt_kenmerk_key = 21
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL)
|
||
AND ud.fac_usrtab_key = 25)
|
||
jaarkilometrage,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key = lg.cnt_lease_key
|
||
AND kc.cnt_kenmerk_key = 141
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL)
|
||
AND ud.fac_usrtab_key = 141)
|
||
Rayon,
|
||
(SELECT ud.fac_usrdata_code
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrdata_key =
|
||
(SELECT fac.safe_to_number (cnt_kenmerkcontract_waarde)
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key = lg.cnt_gebruik_key
|
||
AND kc.cnt_kenmerk_key = 41
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL)
|
||
AND ud.fac_usrtab_key = 1)
|
||
verklaring,
|
||
(SELECT DECODE (fac.safe_to_number (COALESCE(MAX(prs_kenmerklink_waarde), '0')), 0, 'Direct', 'Indirect')
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = lg.prs_berijder_key
|
||
AND kl.prs_kenmerk_key = 1000
|
||
AND kl.prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_kenmerklink_niveau = 'P')
|
||
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
|
||
and to_char(fac.safe_to_date (ins_kenmerkdeel_waarde, 'dd-mm-yyyy'), 'YYYY') = to_char(sysdate, 'YYYY'))
|
||
mut_datum_fiscale_waardehuidig,
|
||
(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
|
||
and to_char(fac.safe_to_date (cnt_kenmerkcontract_waarde, 'dd-mm-yyyy'), 'YYYY') = to_char(sysdate, 'YYYY'))
|
||
mut_datum_gebr_ovkhuidig,
|
||
(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
|
||
and to_char(fac.safe_to_date (cnt_kenmerkcontract_waarde, 'dd-mm-yyyy'), 'YYYY') = to_char(sysdate, 'YYYY'))
|
||
mut_datum_verklaringhuidig,
|
||
(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'
|
||
and to_char(fac.safe_to_date (prs_kenmerklink_waarde, 'dd-mm-yyyy'), 'YYYY') = to_char(sysdate, 'YYYY'))
|
||
mut_datum_in_directhuidig,
|
||
(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
|
||
and to_char(fac.safe_to_date (ins_kenmerkdeel_waarde, 'dd-mm-yyyy'), 'YYYY') = to_char(ADD_MONTHS (SYSDATE, -12), 'YYYY'))
|
||
mut_datum_fiscale_waardevorig,
|
||
(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
|
||
and to_char(fac.safe_to_date (cnt_kenmerkcontract_waarde, 'dd-mm-yyyy'), 'YYYY') = to_char(ADD_MONTHS (SYSDATE, -12), 'YYYY'))
|
||
mut_datum_gebr_ovkvorig,
|
||
(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
|
||
and to_char(fac.safe_to_date (cnt_kenmerkcontract_waarde, 'dd-mm-yyyy'), 'YYYY') = to_char(ADD_MONTHS (SYSDATE, -12), 'YYYY'))
|
||
mut_datum_verklaringvorig,
|
||
(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'
|
||
and to_char(fac.safe_to_date (prs_kenmerklink_waarde, 'dd-mm-yyyy'), 'YYYY') = to_char(ADD_MONTHS (SYSDATE, -12), 'YYYY'))
|
||
mut_datum_in_directvorig
|
||
FROM vebe_cnt_lease_en_gebruiks_ovk lg;
|
||
|
||
|
||
|
||
|
||
----- Hulptabellen tbv de salarisverwerking.
|
||
|
||
|
||
----------------------------------- Periodetabellen ----------------------------------------
|
||
CREATE OR REPLACE VIEW vebe_v_startperiode_per_jaar
|
||
(jaar, periode, week, maandag, aantal_weken)
|
||
AS
|
||
SELECT ud.fac_usrdata_code, 1, 1, fac.safe_to_date(fac_usrdata_omschr, 'dd-mm-yyyy'), fac_usrdata_volgnr
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrtab_key = 121
|
||
AND ud.fac_usrdata_verwijder IS NULL
|
||
AND ud.fac_usrdata_vervaldatum IS NULL OR ud.fac_usrdata_vervaldatum > SYSDATE;
|
||
|
||
|
||
--CREATE OR REPLACE VIEW vebe_v_periodeweektabel_2jaar
|
||
--(jaar, periode, week, maandag)
|
||
--AS
|
||
--SELECT
|
||
-- TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IYYY') jaar,
|
||
-- LEAST(FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1, 13) periode,
|
||
-- TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IW') week,
|
||
-- TRUNC (SYSDATE - 7*(LEVEL-1), 'IW') startdatum
|
||
--FROM DUAL
|
||
--CONNECT BY LEVEL <= 1*52+1
|
||
--UNION ALL
|
||
--SELECT
|
||
-- TO_CHAR (SYSDATE + 7*(LEVEL), 'IYYY') jaar,
|
||
-- LEAST(FLOOR((TO_CHAR (SYSDATE + 7*(LEVEL),'IW') - 1) /4) + 1, 13) periode,
|
||
-- TO_CHAR (SYSDATE + 7*(LEVEL), 'IW') week,
|
||
-- TRUNC (SYSDATE + 7*(LEVEL), 'IW') startdatum
|
||
--FROM DUAL
|
||
--CONNECT BY LEVEL <= 1*52+1;
|
||
|
||
CREATE OR REPLACE VIEW vebe_v_vebe_weektabel_2jaar
|
||
(jaar, periode, week, maandag)
|
||
AS
|
||
WITH
|
||
thisyear AS
|
||
(SELECT * FROM vebe_v_startperiode_per_jaar
|
||
WHERE jaar = to_char(SYSDATE, 'yyyy')),
|
||
nextyear AS
|
||
(SELECT * FROM vebe_v_startperiode_per_jaar
|
||
WHERE jaar = to_char(SYSDATE, 'yyyy') + 1)
|
||
SELECT
|
||
jaar,
|
||
LEAST(13, ROUND((LEVEL + 1) / 4)) periode,
|
||
LEVEL week,
|
||
TRUNC (maandag + 7*(LEVEL-1), 'IW') startdatum
|
||
FROM thisyear
|
||
CONNECT BY LEVEL <= 1* (COALESCE(aantal_weken, 52))
|
||
UNION ALL
|
||
SELECT
|
||
jaar,
|
||
LEAST(13, ROUND((LEVEL + 1) / 4)) periode,
|
||
LEVEL week,
|
||
TRUNC (maandag + 7*(LEVEL-1), 'IW') startdatum
|
||
FROM nextyear
|
||
CONNECT BY LEVEL <= 1* (COALESCE(aantal_weken, 52));
|
||
|
||
|
||
CREATE OR REPLACE VIEW vebe_v_vebe_periodetabel_2jaar
|
||
(jaar, periode, dag_start, dag_eind, aant_dagen_jaar)
|
||
AS
|
||
SELECT
|
||
jaar,
|
||
periode,
|
||
MIN(maandag),
|
||
MAX(maandag) + 6,
|
||
to_date('31-12-' || jaar, 'dd-mm-yyyy') - to_date('1-1-' || jaar, 'dd-mm-yyyy') + 1
|
||
FROM vebe_v_vebe_weektabel_2jaar
|
||
GROUP BY jaar, periode;
|
||
|
||
----------------------------------- Maandtabellen ----------------------------------------
|
||
|
||
|
||
CREATE OR REPLACE VIEW vebe_v_maandtabel_2jaar
|
||
(jaar, periode, dag_start, dag_eind, aant_dagen_jaar)
|
||
AS
|
||
WITH
|
||
thisyear AS
|
||
(SELECT * FROM vebe_v_startperiode_per_jaar
|
||
WHERE jaar = to_char(SYSDATE, 'yyyy')),
|
||
nextyear AS
|
||
(SELECT * FROM vebe_v_startperiode_per_jaar
|
||
WHERE jaar = to_char(SYSDATE, 'yyyy') + 1)
|
||
SELECT
|
||
jaar,
|
||
LEVEL periode,
|
||
to_date('01-' || LEVEL || '-' || jaar, 'dd-mm-yyyy') startdatum,
|
||
TRUNC(to_date('01-' || LEVEL || '-' || jaar, 'dd-mm-yyyy') + 32, 'MM') - 1 einddatum,
|
||
to_date('31-12-' || jaar, 'dd-mm-yyyy') - to_date('1-1-' || jaar, 'dd-mm-yyyy') + 1
|
||
FROM thisyear
|
||
CONNECT BY LEVEL <= 1* 12
|
||
UNION ALL
|
||
SELECT
|
||
jaar,
|
||
13 periode,
|
||
NULL startdatum,
|
||
NULL einddatum,
|
||
to_date('31-12-' || jaar, 'dd-mm-yyyy') - to_date('1-1-' || jaar, 'dd-mm-yyyy') + 1
|
||
FROM thisyear
|
||
UNION ALL
|
||
SELECT
|
||
jaar,
|
||
LEVEL periode,
|
||
to_date('01-' || LEVEL || '-' || jaar, 'dd-mm-yyyy') startdatum,
|
||
TRUNC(to_date('01-' || LEVEL || '-' || jaar, 'dd-mm-yyyy') + 32, 'MM') - 1 einddatum,
|
||
to_date('31-12-' || jaar, 'dd-mm-yyyy') - to_date('1-1-' || jaar, 'dd-mm-yyyy') + 1
|
||
FROM nextyear
|
||
CONNECT BY LEVEL <= 1* 12
|
||
UNION ALL
|
||
SELECT
|
||
jaar,
|
||
13 periode,
|
||
NULL startdatum,
|
||
NULL einddatum,
|
||
to_date('31-12-' || jaar, 'dd-mm-yyyy') - to_date('1-1-' || jaar, 'dd-mm-yyyy') + 1
|
||
FROM nextyear;
|
||
|
||
|
||
CREATE OR REPLACE VIEW vebe_v_total_periodtable_2jaar
|
||
(jaar, periode, dag_start, dag_eind, aant_dagen_jaar, berijder_indirect)
|
||
AS
|
||
SELECT jaar, periode, dag_start, dag_eind, aant_dagen_jaar, 'Direct'
|
||
FROM vebe_v_vebe_periodetabel_2jaar
|
||
UNION ALL
|
||
SELECT jaar, periode, dag_start, dag_eind, aant_dagen_jaar, 'Indirect'
|
||
FROM vebe_v_maandtabel_2jaar;
|
||
|
||
|
||
|
||
-- 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_eig_key,
|
||
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,
|
||
fclt_3d_afdeling_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,
|
||
cnt_gebruik_huidig_jaar,
|
||
cnt_gebruik_vorig_jaar,
|
||
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_srtdeel_omschrijving,
|
||
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_lease_rayon,
|
||
cnt_gebruik_verklaring,
|
||
prs_berijder_indirect,
|
||
mut_datum_fiscale_waardehuidig,
|
||
mut_datum_gebr_ovkhuidig,
|
||
mut_datum_verklaringhuidig,
|
||
mut_datum_in_directhuidig,
|
||
mut_datum_totaalhuidig,
|
||
mut_datum_fiscale_waardevorig,
|
||
mut_datum_gebr_ovkvorig,
|
||
mut_datum_verklaringvorig,
|
||
mut_datum_in_directvorig,
|
||
mut_datum_totaalvorig
|
||
)
|
||
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_key fclt_3d_afdeling_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,
|
||
gov_huidig_jaar,
|
||
gov_vorig_jaar,
|
||
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_srtdeel_omschrijving,
|
||
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_lease_rayon,
|
||
cnt_gebruik_verklaring,
|
||
prs_berijder_indirect,
|
||
mut_datum_fiscale_waardehuidig,
|
||
mut_datum_gebr_ovkhuidig,
|
||
mut_datum_verklaringhuidig,
|
||
mut_datum_in_directhuidig,
|
||
decode (
|
||
greatest (
|
||
coalesce (mut_datum_fiscale_waardehuidig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_gebr_ovkhuidig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_verklaringhuidig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_in_directhuidig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy'))),
|
||
to_date ('01-01-2000', 'dd-mm-yyyy'),
|
||
null,
|
||
to_char (
|
||
greatest (
|
||
coalesce (mut_datum_fiscale_waardehuidig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_gebr_ovkhuidig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_verklaringhuidig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_in_directhuidig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy'))),
|
||
'yyyy-mm'))
|
||
mut_datum_totaalhuidig,
|
||
mut_datum_fiscale_waardevorig,
|
||
mut_datum_gebr_ovkvorig,
|
||
mut_datum_verklaringvorig,
|
||
mut_datum_in_directvorig,
|
||
decode (
|
||
greatest (
|
||
coalesce (mut_datum_fiscale_waardevorig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_gebr_ovkvorig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_verklaringvorig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_in_directvorig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy'))),
|
||
to_date ('01-01-2000', 'dd-mm-yyyy'),
|
||
null,
|
||
to_char (
|
||
greatest (
|
||
coalesce (mut_datum_fiscale_waardevorig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_gebr_ovkvorig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_verklaringvorig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy')),
|
||
coalesce (mut_datum_in_directvorig,
|
||
to_date ('01-01-2000', 'dd-mm-yyyy'))),
|
||
'yyyy-mm'))
|
||
mut_datum_totaalvorig
|
||
FROM vebe_rap_wagenpark_tmp tmp;
|
||
|
||
-- Basis UDR rapport (zonder financiele gegevens)
|
||
CREATE OR REPLACE VIEW vebe_rap_wagenpark_basis
|
||
(
|
||
extra_key,
|
||
cnt_lease_key,
|
||
prs_bedrijf_key,
|
||
cnt_gebruik_key,
|
||
prs_berijder_key,
|
||
ins_deel_key,
|
||
prs_lease_perslid_eig_key,
|
||
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_srtdeel_omschrijving,
|
||
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
|
||
)
|
||
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_srtdeel_omschrijving,
|
||
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
|
||
FROM vebe_rap_wagenpark_tmp;
|
||
|
||
---------- Gebruiksovereenkomst TIJDELIJKE Tankpassen
|
||
|
||
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;
|
||
|
||
-- rapportage tankpassen
|
||
CREATE OR REPLACE VIEW vebe_v_rap_tankpassen
|
||
(
|
||
ins_deel_key,
|
||
ins_deel_omschrijving,
|
||
object_eignaar,
|
||
afdeling_object_eig,
|
||
pincode,
|
||
pasnummer,
|
||
ins_deel_vervaldatum,
|
||
cnt_contract_key,
|
||
cnt_contract_nummer,
|
||
cnt_contract_versie,
|
||
cnt_contract_omschrijving,
|
||
cnt_contract_opmerking,
|
||
cnt_contract_nummer_intern,
|
||
cnt_prs_perslid_key,
|
||
cnt_contractant,
|
||
cnt_eigenaar,
|
||
prs_afdeling_omschrijving,
|
||
cnt_contract_looptijd_van,
|
||
cnt_contract_looptijd_tot,
|
||
fase,
|
||
cnt_status_txt,
|
||
ovk_aanwezig
|
||
)
|
||
AS
|
||
SELECT ins_deel_key,
|
||
ins_deel_omschrijving,
|
||
pf3.prs_perslid_naam_full object_eigenaar,
|
||
a.prs_afdeling_omschrijving afdeling_object_eig,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel
|
||
WHERE ins_kenmerk_key = 122 AND ins_deel_key = d.ins_deel_key)
|
||
pincode,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel
|
||
WHERE ins_kenmerk_key = 121 AND ins_deel_key = d.ins_deel_key)
|
||
pasnummer,
|
||
ins_deel_vervaldatum,
|
||
cnt_contract_key,
|
||
cnt_contract_nummer,
|
||
cnt_contract_versie,
|
||
cnt_contract_omschrijving,
|
||
cnt_contract_opmerking,
|
||
cnt_contract_nummer_intern,
|
||
cnt_prs_perslid_key,
|
||
cnt_contractant,
|
||
cnt_eigenaar,
|
||
cco.prs_afdeling_omschrijving,
|
||
cnt_contract_looptijd_van,
|
||
cnt_contract_looptijd_tot,
|
||
fase,
|
||
cnt_status_txt,
|
||
DECODE (COALESCE (cnt_contract_key, 0), 0, 'Nee', 'Ja')
|
||
ovk_aanwezig
|
||
FROM ins_deel d,
|
||
ins_srtdeel sd,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames pf3,
|
||
prs_afdeling a,
|
||
(SELECT c.cnt_contract_key,
|
||
cnt_contract_nummer,
|
||
cnt_contract_versie,
|
||
cnt_contract_omschrijving,
|
||
cnt_contract_opmerking,
|
||
cnt_contract_nummer_intern,
|
||
cnt_prs_perslid_key,
|
||
pf2.prs_perslid_naam_full cnt_contractant,
|
||
prs_perslid_key_eig,
|
||
pf.prs_perslid_naam_full cnt_eigenaar,
|
||
prs_afdeling_omschrijving,
|
||
cnt_contract_looptijd_van,
|
||
cnt_contract_looptijd_tot,
|
||
cnt_ins_deel_key,
|
||
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,
|
||
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_status_txt
|
||
FROM cnt_contract c,
|
||
cnt_contract_object co,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_v_perslid_fullnames pf2,
|
||
prs_afdeling a
|
||
WHERE cnt_contract_verwijder IS NULL
|
||
AND c.ins_discipline_key = 22
|
||
AND cnt_contract_verwijder IS NULL
|
||
AND c.cnt_contract_key = co.cnt_contract_key
|
||
AND prs_perslid_key_eig = pf.prs_perslid_key
|
||
AND a.prs_afdeling_key = prs_afdeling_key_eig
|
||
AND c.cnt_prs_perslid_key = pf2.prs_perslid_key(+)
|
||
AND COALESCE (c.cnt_contract_versie, '0') =
|
||
(SELECT COALESCE (MAX (cnt_contract_versie), '0')
|
||
FROM cnt_v_aanwezigcontract c2
|
||
WHERE c2.cnt_contract_nummer_intern =
|
||
c.cnt_contract_nummer_intern)) cco
|
||
WHERE ins_deel_verwijder IS NULL
|
||
AND sd.ins_srtdeel_verwijder IS NULL
|
||
AND ins_alg_ruimte_type = 'P'
|
||
AND ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND pf3.prs_perslid_key = p.prs_perslid_key
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND d.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = 3
|
||
AND cco.cnt_ins_deel_key(+) = d.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).
|
||
|
||
-- 1. LEASEcontracten (soortcontract met disckey 21) die in rappel staat, en waarvan nog niet eerder een noti naar contracteigenaar is uitgegaan
|
||
-- 2. Afgemelde GUNNINGSOpdracht (type opdracht met mld_typeopdr_key = 5) een noti met 2 links naar de melder (= AP/aanspreekpunt) van de bijbehorende melding zodat deze 2 acties kan uitvoeren:
|
||
-- a) LINK 1: naar opdracht zodat de bijlage bij de opdracht kan downloaden/openen, printen en laten ondertekenen
|
||
-- b) LINK 2: Nieuwe melding 'Stuur getekende leaseovk' zodat de getekende leaseovk kan worden geupload.
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE vebe_export_noti_wagenpark (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
IS
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_errorhint2 VARCHAR2 (1000);
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
v_count_error NUMBER (10);
|
||
v_count NUMBER (10);
|
||
v_tracking VARCHAR2 (1000);
|
||
|
||
v_fac_usrrap_key NUMBER(10);
|
||
|
||
-- Leasecontracten (met disckey 21) die in rappel staat, en waarvan nog niet eerder een noti naar contracteigenaar is uitgegaan
|
||
-- Als het kenmerk Vaker notificeren (key 121) aan staat dan wordt er vaker dan 1x genotificeerd.
|
||
CURSOR c_noti_leasecontract_1st_time
|
||
IS
|
||
SELECT c.prs_lease_perslid_key_eig,
|
||
c.prs_eigenaar_naam_friendly,
|
||
'Rapp<EFBFBD>l: Leaseovereenkomst ' || c.cnt_lease_nummer_intern
|
||
|| DECODE (c.cnt_lease_versie,
|
||
NULL, '',
|
||
'.' || c.cnt_lease_versie)
|
||
|| ' ('
|
||
|| c.cnt_lease_omschr
|
||
|| ' '
|
||
|| c.prs_bedrijf_naam
|
||
|| ')'
|
||
|| ' loopt af op '
|
||
|| TO_CHAR (c.cnt_lease_looptijd_tot, 'DD-MM-YYYY')
|
||
|| '.' mail_subject,
|
||
c.cnt_lease_key,
|
||
c.cnt_lease_nummer_intern,
|
||
c.cnt_lease_versie
|
||
FROM vebe_cnt_lease_en_gebruiks_ovk c
|
||
WHERE cnt_lease_status = 0
|
||
AND (SYSDATE BETWEEN c.cnt_lease_rappeldatum
|
||
AND c.cnt_lease_opzegdatum)
|
||
AND c.cnt_lease_looptijd_tot >= to_date('01-10-2016','dd-mm-yyyy')
|
||
AND NOT EXISTS
|
||
(SELECT 'x'
|
||
FROM fac_tracking t, fac_srtnotificatie sn
|
||
WHERE c.cnt_lease_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST02'
|
||
AND t.fac_tracking_refkey NOT IN
|
||
(SELECT kc.cnt_contract_key
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_kenmerk_key = 121
|
||
AND kc.cnt_kenmerkcontract_waarde = 1
|
||
AND TRUNC (t.fac_tracking_datum) <
|
||
TRUNC (SYSDATE)));
|
||
|
||
|
||
CURSOR c_noti_krabbel_leaseovk
|
||
IS
|
||
SELECT m.prs_perslid_key prs_perslid_key_aanspreekpunt, p1.prs_perslid_naam_friendly prs_perslid_naam_aanspreekpunt, 'Verzoek ondertekenen van leaseovereenkomst voor ' || p2.prs_perslid_naam_friendly mail_subject, o.mld_opdr_key
|
||
FROM mld_opdr o, fac_tracking t, fac_srtnotificatie sn, mld_melding m, prs_v_perslid_fullnames_all p1, prs_v_perslid_fullnames_all p2
|
||
WHERE o.mld_typeopdr_key = 5
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND m.mld_melding_key = o.mld_melding_key
|
||
AND p1.prs_perslid_key = m.prs_perslid_key
|
||
AND p2.prs_perslid_key = m.prs_perslid_key_voor
|
||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||
AND o.mld_statusopdr_key = 6
|
||
AND sn.fac_srtnotificatie_key = (select fac_srtnotificatie_key from fac_srtnotificatie where fac_srtnotificatie_code = 'ORDAFM')
|
||
AND NOT EXISTS
|
||
(SELECT 'x'
|
||
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');
|
||
|
||
|
||
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 TO_CHAR (SYSDATE, 'd') = '4'
|
||
AND (SYSDATE BETWEEN c.cnt_gebruik_rappeldatum
|
||
AND c.cnt_gebruik_opzegdatum)
|
||
AND c.cnt_gebruik_looptijd_tot >= to_date('01-05-2017','dd-mm-yyyy');
|
||
|
||
|
||
|
||
BEGIN
|
||
|
||
-- Userrapportage key 81 waar de view vebe_cnt_lease_en_gebruiks_ovk met alle leasecontract info staat.
|
||
v_fac_usrrap_key := 81;
|
||
|
||
|
||
-- Alle leasecontracten in rappel die niet al eerder naar eigenaar zijn genotificeerd, dus alleen 1x, notificeren.
|
||
FOR rc IN c_noti_leasecontract_1st_time
|
||
LOOP
|
||
BEGIN
|
||
|
||
v_errorhint := rc.mail_subject;
|
||
v_errormsg := '';
|
||
-- Mailen van eenmalige notificatie naar de eigenaar/aanspreekpunt via CUST01 (rapport-node).
|
||
-- fac.putnotificationsrtprio ( NULL, rc.prs_lease_perslid_key_eig, 'CUST01', v_fac_usrrap_key, rc.mail_subject, NULL, NULL, NULL, rc.cnt_lease_key, 2, NULL);
|
||
fac.putnotificationsrtprio ( NULL, rc.prs_lease_perslid_key_eig, 'CUST01', v_fac_usrrap_key, rc.mail_subject, NULL, NULL, NULL, rc.cnt_lease_key, 2, NULL);
|
||
v_tracking := 'Rappel mail naar aanspreekpunt ' || rc.prs_eigenaar_naam_friendly || ': Leaseovereenkomst ' || rc.cnt_lease_nummer_intern || ' loopt af';
|
||
-- En we tracken via CUST02 (contract-node)
|
||
fac.trackaction ('CUST02', rc.cnt_lease_key, NULL, NULL, v_tracking);
|
||
DELETE cnt_kenmerkcontract WHERE cnt_kenmerk_key = 121 AND cnt_contract_key = rc.cnt_lease_key;
|
||
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;
|
||
|
||
|
||
FOR rc IN c_noti_krabbel_leaseovk
|
||
LOOP
|
||
BEGIN
|
||
|
||
v_errorhint := rc.mail_subject;
|
||
v_errormsg := '';
|
||
-- Mailen van eenmalige notificatie naar de aanspreekpunt via CUST03 (opdracht-node).
|
||
fac.putnotificationsrtprio ( NULL, rc.prs_perslid_key_aanspreekpunt, 'CUST03', rc.mld_opdr_key, rc.mail_subject, NULL, NULL, NULL, NULL, 2, NULL);
|
||
-- En we tracken via CUST03 (opdracht-node)
|
||
v_tracking := 'Mail naar aanspreekpunt ' || rc.prs_perslid_naam_aanspreekpunt || ': ' || rc.mail_subject;
|
||
fac.trackaction ('#CUST03', rc.mld_opdr_key, NULL, NULL, v_tracking);
|
||
|
||
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;
|
||
|
||
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
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (vebe_noti_wagenpark error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
COMMIT;
|
||
|
||
END vebe_export_noti_wagenpark;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW vebe_v_export_noti_wagenpark (
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT 'notificatie;key contract;contractnr;key aanspreekpunt;aanspreekpunt;mailsubject;contractomschrijving;leasemaatschappij;einddatum', 0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT REPLACE(REPLACE('CUST01'
|
||
|| ';'
|
||
|| c.cnt_lease_key
|
||
|| ';'
|
||
|| cnt_lease_nummer_intern
|
||
|| ';'
|
||
|| c.prs_lease_perslid_key_eig
|
||
|| ';'
|
||
|| c.prs_eigenaar_naam_friendly
|
||
|| ';'
|
||
|| 'Rapp<EFBFBD>l: Leaseovereenkomst ' || c.cnt_lease_nummer_intern || ' loopt af'
|
||
|| DECODE (c.cnt_lease_versie, NULL, '', '.' || c.cnt_lease_versie)
|
||
|| ';'
|
||
|| c.cnt_lease_omschr
|
||
|| ';'
|
||
|| c.prs_bedrijf_naam
|
||
|| ';'
|
||
|| TO_CHAR (c.cnt_lease_looptijd_tot, 'DD-MM-YYYY')
|
||
,CHR (13), ''), CHR (10), '<ret>'), cnt_lease_key
|
||
FROM ( SELECT MAX (cnt_gebruik_looptijd_tot),
|
||
cnt_lease_key,
|
||
cnt_lease_nummer_intern,
|
||
prs_lease_perslid_key_eig,
|
||
cnt_lease_omschr,
|
||
prs_eigenaar_naam_friendly,
|
||
cnt_lease_versie,
|
||
prs_bedrijf_naam,
|
||
cnt_lease_looptijd_tot,
|
||
cnt_lease_opzegdatum,
|
||
cnt_lease_rappeldatum,
|
||
cnt_lease_status
|
||
FROM vebe_cnt_lease_en_gebruiks_ovk
|
||
GROUP BY cnt_lease_key,
|
||
cnt_lease_nummer_intern,
|
||
prs_lease_perslid_key_eig,
|
||
cnt_lease_omschr,
|
||
prs_eigenaar_naam_friendly,
|
||
cnt_lease_versie,
|
||
prs_bedrijf_naam,
|
||
cnt_lease_looptijd_tot,
|
||
cnt_lease_opzegdatum,
|
||
cnt_lease_rappeldatum,
|
||
cnt_lease_status) c
|
||
WHERE cnt_lease_status = 0
|
||
AND (SYSDATE BETWEEN c.cnt_lease_rappeldatum
|
||
AND c.cnt_lease_opzegdatum)
|
||
AND c.cnt_lease_looptijd_tot >= to_date('01-10-2016','dd-mm-yyyy')
|
||
AND NOT EXISTS
|
||
(SELECT 'x'
|
||
FROM fac_tracking t, fac_srtnotificatie sn
|
||
WHERE c.cnt_lease_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_code = 'CUST02'
|
||
AND t.fac_tracking_refkey NOT IN
|
||
(SELECT kc.cnt_contract_key
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_kenmerk_key = 121
|
||
AND kc.cnt_kenmerkcontract_waarde = 1
|
||
AND TRUNC (t.fac_tracking_datum) <
|
||
TRUNC (SYSDATE)))
|
||
UNION ALL
|
||
SELECT 'notificatie; key opdracht;opdrachtnr;key aanspreekpunt;aanspreekpunt;mailsubject;opdrachtomschrijving;;', 10000
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT REPLACE(REPLACE( 'CUST03'
|
||
|| ';'
|
||
|| o.mld_opdr_key
|
||
|| ';'
|
||
|| m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
||
|| ';'
|
||
|| m.prs_perslid_key
|
||
|| ';'
|
||
|| p1.prs_perslid_naam_friendly
|
||
|| ';'
|
||
|| 'Verzoek ondertekenen van leaseovereenkomst voor ' || p2.prs_perslid_naam_friendly
|
||
|| ';'
|
||
|| ''
|
||
|| ';'
|
||
|| ''
|
||
,CHR (13), ''), CHR (10), '<ret>'), 10000 + m.mld_melding_key
|
||
FROM mld_opdr o, fac_tracking t, fac_srtnotificatie sn, mld_melding m, prs_v_perslid_fullnames_all p1, prs_v_perslid_fullnames_all p2
|
||
WHERE o.mld_typeopdr_key = 5
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND m.mld_melding_key = o.mld_melding_key
|
||
AND p1.prs_perslid_key = m.prs_perslid_key
|
||
AND p2.prs_perslid_key = m.prs_perslid_key_voor
|
||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||
AND o.mld_statusopdr_key = 6
|
||
AND sn.fac_srtnotificatie_key = (select fac_srtnotificatie_key from fac_srtnotificatie where fac_srtnotificatie_code = 'ORDAFM')
|
||
AND NOT EXISTS
|
||
(SELECT 'x'
|
||
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')
|
||
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
|
||
(pfrom IN VARCHAR2,
|
||
pto IN VARCHAR2,
|
||
psubject IN VARCHAR2,
|
||
pbody IN VARCHAR2,
|
||
psessionid IN VARCHAR2,
|
||
pemailkey IN NUMBER)
|
||
AS
|
||
sender prs_perslid.prs_perslid_key%TYPE;
|
||
kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE;
|
||
v_mldkey mld_melding.mld_melding_key%TYPE;
|
||
defaultstdmelding fac_setting.fac_setting_default%TYPE;
|
||
kkey mld_kenmerk.mld_kenmerk_key%TYPE;
|
||
errormsg fac_result.fac_result_waarde%TYPE;
|
||
v_mailadres_kenmerk_key mld_kenmerk.mld_kenmerk_key%TYPE;
|
||
v_flexprop_mail VARCHAR2(1000);
|
||
v_from VARCHAR2 (1000);
|
||
|
||
subject_regexp fac_setting.fac_setting_default%TYPE;
|
||
v_behandelaar_key mld_melding.mld_melding_behandelaar_key%TYPE;
|
||
v_mldnum VARCHAR2 (4000);
|
||
v_srtdisc VARCHAR2 (4000);
|
||
v_flag_on_fenote NUMBER (10);
|
||
v_flag_on_bonote NUMBER (10);
|
||
v_mld_meldbron_key NUMBER (10);
|
||
|
||
v_prs_perslid_sysuser_key NUMBER (10);
|
||
v_mailadres_to_wagenpark VARCHAR2(100);
|
||
|
||
BEGIN
|
||
v_prs_perslid_sysuser_key := 81;
|
||
v_mailadres_to_wagenpark := 'XrTeMOZ@vebe.facilitor.nl';
|
||
|
||
-- We beschouwen dit als een nieuwe melding
|
||
IF (UPPER(pto) = UPPER(v_mailadres_to_wagenpark))
|
||
THEN
|
||
-- Mailmelding (onder vakgroep 'Mailmelding') met mld_stdmelding_key 161, deze staat in de setting defaultmelding.
|
||
defaultstdmelding := fac.getsetting ('defaultstdmelding');
|
||
v_mld_meldbron_key := 4;
|
||
END IF;
|
||
|
||
-- Selecteer de kostenplaats van prs_perslid_key = v_prs_perslid_sysuser_key (Dit is de system-user 'SYSTEM API Mail2Melding')
|
||
SELECT prs_perslid_key, d.prs_kostenplaats_key
|
||
INTO sender, kostenplaats
|
||
FROM prs_perslid p, prs_afdeling d
|
||
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
||
AND prs_perslid_key = v_prs_perslid_sysuser_key;
|
||
|
||
|
||
-- Bepaal kenmerk-key van kenmerksoort 'mailadres' (key 61) op vakgroeptype niveau van vakgroeptype-key 1 die niet verwijderd is
|
||
SELECT MAX(mld_kenmerk_key)
|
||
INTO v_mailadres_kenmerk_key
|
||
FROM mld_kenmerk
|
||
WHERE mld_srtkenmerk_key = 27
|
||
AND mld_kenmerk_verwijder IS NULL
|
||
AND mld_kenmerk_niveau = 'T'
|
||
AND mld_stdmelding_key = 1;
|
||
|
||
|
||
-- Check of de afzender pfrom een reply op een bestaande melding doet, in dat geval wordt dat in notities genoteerd.
|
||
|
||
-- Eerst uit het onderwerp het meldingnummer proberen te onderscheppen, uitgangspunt dat in het onderwerp 'MLD123' kan worden opgevist, waarbij het deel achter MLD minimaal uit 1 cijfer bestaat.
|
||
subject_regexp := '[[:alpha:]]*MLD[[:digit:]]{1,}';
|
||
v_mldnum :=
|
||
REGEXP_SUBSTR (psubject,
|
||
subject_regexp,
|
||
1,
|
||
1,
|
||
'i'); -- M123, of M12345, of M12, of M1
|
||
|
||
v_srtdisc :=
|
||
REGEXP_SUBSTR (v_mldnum,
|
||
'[[:alpha:]]*',
|
||
1,
|
||
1,
|
||
'i'); -- M
|
||
v_mldkey := fac.safe_to_number (SUBSTR (v_mldnum, LENGTH (v_srtdisc) + 1)); -- 123, of 12345, of 12, of 1
|
||
|
||
|
||
-- Uit onderwerp is de vermoedelijke juiste v_mldkey geparsed.
|
||
-- Final check: is de afzender van de mail dezelfde als die van v_mldkey, deze afzender (mailadres) staat in flexprop (zie verderop hieronder in gedeelte bij insert melding).
|
||
|
||
SELECT MAX(SUBSTR(TRIM(km.mld_kenmerkmelding_waarde),1,50))
|
||
INTO v_flexprop_mail
|
||
FROM mld_kenmerkmelding km
|
||
WHERE mld_melding_key = v_mldkey
|
||
AND mld_kenmerk_key = v_mailadres_kenmerk_key
|
||
AND mld_kenmerkmelding_verwijder IS NULL;
|
||
|
||
|
||
v_from := SUBSTR(TRIM(pfrom),1,50);
|
||
|
||
IF v_flexprop_mail = v_from
|
||
THEN
|
||
-- Gotcha: van deze afzender is een eerdere melding geregistreerd, die we plakken de subject en body nu als notitie toe (als perslid system-user 'SYSTEM API Mail2Melding').
|
||
|
||
|
||
INSERT INTO mld_melding_note (mld_melding_key,
|
||
mld_melding_note_omschrijving,
|
||
prs_perslid_key,
|
||
mld_melding_note_flag)
|
||
VALUES (v_mldkey,
|
||
SUBSTR (
|
||
psubject || CHR (13) || CHR (10)
|
||
|| REPLACE (
|
||
SUBSTR (pbody,
|
||
1,
|
||
4000 - (LENGTH (psubject) + 2)),
|
||
CHR (13) || CHR (10) || CHR (13) || CHR (10),
|
||
CHR (13) || CHR (10)),
|
||
1,
|
||
4000), -- verwijder onnodige witregels
|
||
sender,
|
||
0); -- 0 is NIET zichtbaar FE (want is system-user, zinloos).
|
||
|
||
-- Default tracking is even goed genoeg
|
||
fac.trackaction ('MLDNOT',
|
||
v_mldkey,
|
||
sender,
|
||
NULL,
|
||
'#Notitie toegevoegd vanuit e-mail'); -- # voorkomt notificatie
|
||
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid, 'maillog', 'Als notitie toegevoegd aan melding ' || v_mldkey);
|
||
|
||
-- We gaan GEEN Vlaggetjes zetten zoals mld_edit_note.asp dat doet, VEBE werkt hier niet mee.
|
||
ELSE
|
||
|
||
-- suggested extensions:
|
||
-- check for MLDUSE-write autorisations
|
||
-- parse the subject to find an appropriate stdmelding, if uniquely possible
|
||
-- append (as a note?) to an existing melding if #key is found in the subject
|
||
BEGIN
|
||
INSERT INTO mld_melding (mld_melding_module,
|
||
mld_meldbron_key,
|
||
mld_melding_datum,
|
||
mld_alg_locatie_key,
|
||
mld_melding_omschrijving,
|
||
mld_melding_status,
|
||
mld_stdmelding_key,
|
||
prs_perslid_key,
|
||
prs_perslid_key_voor,
|
||
prs_kostenplaats_key,
|
||
mld_melding_spoed)
|
||
VALUES ('MLD',
|
||
v_mld_meldbron_key, -- email (4)
|
||
SYSDATE,
|
||
NULL, -- Geen locatie bekend
|
||
SUBSTR (
|
||
psubject || CHR (13)
|
||
|| REPLACE (
|
||
SUBSTR (pbody,
|
||
1,
|
||
4000 - (LENGTH (psubject) + 2)),
|
||
CHR (13) || CHR (10) || CHR (13) || CHR (10),
|
||
CHR (13) || CHR (10)),
|
||
1,
|
||
4000), -- verwijder onnodige witregels
|
||
NULL,
|
||
defaultstdmelding,
|
||
sender,
|
||
sender,
|
||
kostenplaats,
|
||
3)
|
||
RETURNING mld_melding_key
|
||
INTO v_mldkey;
|
||
|
||
-- Vullen van kenmerkwaarde "e-mail adres"
|
||
IF v_from IS NOT NULL AND v_mailadres_kenmerk_key IS NOT NULL
|
||
THEN
|
||
-- v_from is gevuld, en kenmerk mailadres bestaat, zet v_from met maximaal 50 tekens als kenmerk bij de zojuist aangemaakte melding.
|
||
INSERT INTO mld_kenmerkmelding (mld_melding_key, mld_kenmerk_key, mld_kenmerkmelding_waarde)
|
||
VALUES (v_mldkey, v_mailadres_kenmerk_key, v_from);
|
||
END IF;
|
||
|
||
mld.setmeldingstatus (v_mldkey, 2, sender);
|
||
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid, 'maillog', 'Geregistreerd onder melding ' || v_mldkey);
|
||
|
||
END;
|
||
END IF;
|
||
|
||
|
||
-- find the lowest volgnummer of the flexfield of type folder.
|
||
SELECT MIN (mld_kenmerk_key)
|
||
INTO kkey
|
||
FROM mld_kenmerk k,
|
||
mld_srtkenmerk sk,
|
||
mld_stdmelding std,
|
||
ins_tab_discipline d
|
||
WHERE mld_srtkenmerk_kenmerktype = 'M'
|
||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||
AND std.mld_stdmelding_key = defaultstdmelding
|
||
AND std.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND ( (k.mld_stdmelding_key = std.mld_stdmelding_key
|
||
AND k.mld_kenmerk_niveau = 'S')
|
||
OR (k.mld_stdmelding_key = d.ins_discipline_key
|
||
AND k.mld_kenmerk_niveau = 'D')
|
||
OR (k.mld_stdmelding_key = d.ins_srtdiscipline_key
|
||
AND k.mld_kenmerk_niveau = 'T'))
|
||
AND k.mld_kenmerk_verwijder IS NULL
|
||
AND NOT EXISTS
|
||
(SELECT mld_kenmerk_volgnummer
|
||
FROM mld_kenmerk k1,
|
||
mld_srtkenmerk sk1,
|
||
mld_stdmelding std1,
|
||
ins_tab_discipline d1
|
||
WHERE sk1.mld_srtkenmerk_kenmerktype = 'M'
|
||
AND sk1.mld_srtkenmerk_key =
|
||
k1.mld_srtkenmerk_key
|
||
AND std1.mld_stdmelding_key =
|
||
defaultstdmelding
|
||
AND std1.mld_ins_discipline_key =
|
||
d1.ins_discipline_key
|
||
AND ( (k1.mld_stdmelding_key =
|
||
std1.mld_stdmelding_key
|
||
AND k1.mld_kenmerk_niveau = 'S')
|
||
OR (k1.mld_stdmelding_key =
|
||
d1.ins_discipline_key
|
||
AND k1.mld_kenmerk_niveau = 'D')
|
||
OR (k1.mld_stdmelding_key =
|
||
d1.ins_srtdiscipline_key
|
||
AND k1.mld_kenmerk_niveau = 'T'))
|
||
AND k1.mld_kenmerk_verwijder IS NULL
|
||
AND k1.mld_kenmerk_volgnummer <
|
||
k.mld_kenmerk_volgnummer);
|
||
|
||
IF kkey IS NOT NULL
|
||
THEN
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid,
|
||
'kenmerkpath',
|
||
'MLD\M' || to_char( TRUNC(v_mldkey/1000), 'FM0000') || '___\M' || v_mldkey || '\' || kkey || '\');
|
||
END IF;
|
||
|
||
|
||
IF errormsg IS NOT NULL
|
||
THEN
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid, 'errormsg', errormsg);
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (
|
||
'PROCESSEMAIL',
|
||
'W',
|
||
'Mail kon niet verwerkt worden afzender: '
|
||
|| pfrom
|
||
|| '['
|
||
|| errormsg
|
||
|| ']',
|
||
'OTHERS (error '
|
||
|| SQLCODE
|
||
|| '/'
|
||
|| SUBSTR (SQLERRM, 1, 100)
|
||
|| ')');
|
||
INSERT INTO fac_result (fac_result_sessionid,
|
||
fac_result_naam,
|
||
fac_result_waarde)
|
||
VALUES (psessionid,
|
||
'errormsg',
|
||
'Database fout - Neem contact op met uw systeembeheerder');
|
||
END;
|
||
/
|
||
|
||
-- Selectie doorlooptijden leaseovereenkomst
|
||
CREATE OR REPLACE VIEW vebe_v_doorlooptijden
|
||
AS
|
||
SELECT mld_melding_key,
|
||
mld_melding_status,
|
||
naam_berijder,
|
||
naam_ap,
|
||
key_bedrijf1,
|
||
bedrijf1,
|
||
off_mld_opdr_key,
|
||
datum_einde_off_athlon,
|
||
key_bedrijf2,
|
||
bedrijf2,
|
||
off1_mld_opdr_key,
|
||
datum_start_off_pon,
|
||
datum_einde_off_pon,
|
||
gun_mld_opdr_key,
|
||
datum_start_gunning,
|
||
datum_einde_gunning,
|
||
mld_vervolgmelding_key,
|
||
datum_start_vervolgmelding,
|
||
uitv_mld_opdr_key,
|
||
datum_start_uitvoering,
|
||
datum_einde_uitvoering
|
||
FROM (SELECT m.mld_melding_key,
|
||
m.mld_melding_status,
|
||
berijder.prs_perslid_naam naam_berijder,
|
||
ap.prs_perslid_naam naam_ap,
|
||
lm.prs_bedrijf_key key_bedrijf1,
|
||
lm.prs_bedrijf_naam bedrijf1,
|
||
off.mld_opdr_key off_mld_opdr_key,
|
||
fac.gettrackingdate ('ORDAFM', off.mld_opdr_key)
|
||
datum_einde_off_athlon,
|
||
lm1.prs_bedrijf_key key_bedrijf2,
|
||
lm1.prs_bedrijf_naam bedrijf2,
|
||
off1.mld_opdr_key off1_mld_opdr_key,
|
||
fac.gettrackingdate ('ORDNEW', off1.mld_opdr_key)
|
||
datum_start_off_pon,
|
||
fac.gettrackingdate ('ORDAFM', off1.mld_opdr_key)
|
||
datum_einde_off_pon,
|
||
gun.mld_opdr_key gun_mld_opdr_key,
|
||
fac.gettrackingdate ('ORDNEW', gun.mld_opdr_key)
|
||
datum_start_gunning,
|
||
fac.gettrackingdate ('ORDAFM', gun.mld_opdr_key)
|
||
datum_einde_gunning,
|
||
m1.mld_melding_key mld_vervolgmelding_key,
|
||
fac.gettrackingdate ('MLDNEW', m1.mld_melding_key)
|
||
datum_start_vervolgmelding,
|
||
uitv.mld_opdr_key uitv_mld_opdr_key,
|
||
fac.gettrackingdate ('ORDNEW', uitv.mld_opdr_key)
|
||
datum_start_uitvoering,
|
||
fac.gettrackingdate ('ORDAFM', uitv.mld_opdr_key)
|
||
datum_einde_uitvoering,
|
||
(SELECT MAX (mld_melding_key)
|
||
FROM mld_melding m1a
|
||
WHERE m.mld_melding_key = m1a.mld_melding_start_key
|
||
AND m1a.mld_stdmelding_key = 82)
|
||
incl_start_key,
|
||
m1.mld_melding_key mld_vervolg_melding
|
||
FROM mld_melding m,
|
||
prs_perslid berijder,
|
||
prs_perslid ap,
|
||
mld_opdr off,
|
||
mld_opdr off1,
|
||
mld_opdr gun,
|
||
prs_bedrijf lm,
|
||
prs_bedrijf lm1,
|
||
mld_melding m1,
|
||
mld_opdr uitv
|
||
WHERE m.mld_stdmelding_key IN (1, 21)
|
||
AND m.prs_perslid_key_voor = berijder.prs_perslid_key
|
||
AND m.prs_perslid_key = ap.prs_perslid_key
|
||
AND off.mld_melding_key = m.mld_melding_key
|
||
AND off.mld_typeopdr_key = 41
|
||
AND lm.prs_bedrijf_key = off.mld_uitvoerende_keys
|
||
AND lm.prs_bedrijf_key = 23
|
||
AND off1.mld_melding_key = m.mld_melding_key
|
||
AND off1.mld_typeopdr_key = 41
|
||
AND lm1.prs_bedrijf_key = off1.mld_uitvoerende_keys
|
||
AND lm1.prs_bedrijf_key = 22
|
||
AND gun.mld_melding_key = m.mld_melding_key
|
||
AND gun.mld_typeopdr_key = 5
|
||
AND m.mld_melding_key = m1.mld_melding_start_key(+)
|
||
AND uitv.mld_melding_key = m.mld_melding_key
|
||
AND uitv.mld_typeopdr_key = 81
|
||
AND off1.mld_opdr_key =
|
||
(SELECT MAX (mld_opdr_key)
|
||
FROM mld_opdr off1a, prs_bedrijf lm1a
|
||
WHERE off1a.mld_melding_key = m.mld_melding_key
|
||
AND off1a.mld_typeopdr_key = 41
|
||
AND lm1a.prs_bedrijf_key =
|
||
off1a.mld_uitvoerende_keys
|
||
AND lm1a.prs_bedrijf_key = 22)
|
||
AND off.mld_opdr_key =
|
||
(SELECT MAX (mld_opdr_key)
|
||
FROM mld_opdr offat, prs_bedrijf lma
|
||
WHERE offat.mld_melding_key = m.mld_melding_key
|
||
AND offat.mld_typeopdr_key = 41
|
||
AND lma.prs_bedrijf_key =
|
||
offat.mld_uitvoerende_keys
|
||
AND lma.prs_bedrijf_key = 23)
|
||
AND gun.mld_opdr_key =
|
||
(SELECT MAX (mld_opdr_key)
|
||
FROM mld_opdr gun_a
|
||
WHERE gun_a.mld_melding_key = m.mld_melding_key
|
||
AND gun_a.mld_typeopdr_key = 5)
|
||
AND uitv.mld_opdr_key =
|
||
(SELECT MAX (mld_opdr_key)
|
||
FROM mld_opdr uitv_a
|
||
WHERE (uitv_a.mld_melding_key = m.mld_melding_key
|
||
OR uitv_a.mld_melding_key =
|
||
m1.mld_melding_key)
|
||
AND uitv_a.mld_typeopdr_key = 81))
|
||
WHERE mld_vervolg_melding = incl_start_key OR incl_start_key IS NULL;
|
||
|
||
-- Rapport doorlooptijden
|
||
CREATE OR REPLACE VIEW VEBE_V_RAP_DOORLOOPTIJDEN
|
||
AS
|
||
SELECT mld_melding_key,
|
||
naam_berijder,
|
||
naam_ap,
|
||
key_bedrijf1,
|
||
bedrijf1,
|
||
off_mld_opdr_key,
|
||
datum_einde_off_athlon,
|
||
key_bedrijf2,
|
||
bedrijf2,
|
||
off1_mld_opdr_key,
|
||
datum_start_off_pon,
|
||
datum_einde_off_pon,
|
||
gun_mld_opdr_key,
|
||
datum_start_gunning,
|
||
datum_einde_gunning,
|
||
mld_vervolgmelding_key,
|
||
datum_start_vervolgmelding,
|
||
uitv_mld_opdr_key,
|
||
datum_start_uitvoering,
|
||
ROUND (
|
||
datum_start_gunning
|
||
- GREATEST (datum_einde_off_athlon, datum_einde_off_pon),
|
||
0)
|
||
dagen_off_gun,
|
||
ROUND (datum_einde_gunning - datum_start_gunning, 0)
|
||
dagen_srtgun_endgun,
|
||
ROUND (datum_start_vervolgmelding - datum_einde_gunning)
|
||
dagen_endgun_verv,
|
||
ROUND (datum_start_uitvoering - datum_start_vervolgmelding, 0)
|
||
dagen_verv_uitv,
|
||
ROUND (datum_einde_off_pon - datum_start_off_pon, 0)
|
||
dagen_off_pon,
|
||
ROUND (
|
||
datum_start_uitvoering
|
||
- LEAST (datum_einde_off_athlon, datum_einde_off_pon),
|
||
0)
|
||
totaal_doorlooptijd
|
||
FROM vebe_v_doorlooptijden
|
||
WHERE mld_melding_status IN (1, 5, 6);
|
||
|
||
CREATE OR REPLACE VIEW vebe_v_rap_cnt
|
||
(
|
||
contract_key,
|
||
nummer,
|
||
omschrijving,
|
||
opmerking,
|
||
contractafdeling,
|
||
contractpartij,
|
||
contracteigenaar,
|
||
contractbeheerder,
|
||
begindatum,
|
||
einddatum,
|
||
opzegdatum,
|
||
rappeldatum,
|
||
opzegtermijn,
|
||
rappeltermijn,
|
||
beschrijving,
|
||
ins_deel_key
|
||
)
|
||
AS
|
||
SELECT contract_key,
|
||
nummer,
|
||
omschrijving,
|
||
opmerking,
|
||
contractafdeling,
|
||
contractpartij,
|
||
contracteigenaar,
|
||
contractbeheerder,
|
||
begindatum,
|
||
einddatum,
|
||
opzegdatum,
|
||
rappeldatum,
|
||
opzegtermijn,
|
||
rappeltermijn,
|
||
omschrijving || ' - '
|
||
|| COALESCE (
|
||
(SELECT pkm.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink pkm, cnt_contract cnt
|
||
WHERE pkm.prs_kenmerk_key = 1040 --Kenmerk-key voor afkorting van relatie
|
||
AND cnt.cnt_contract_key = contract_key
|
||
AND pkm.prs_link_key = cnt.cnt_prs_bedrijf_key),
|
||
contractpartij)
|
||
|| ' ('
|
||
|| contractafdeling
|
||
|| ' - '
|
||
|| TO_CHAR (einddatum, 'DD-MM-YYYY')
|
||
|| ')'
|
||
AS aflopend_contract,
|
||
ins_cnt.cnt_ins_deel_key
|
||
FROM cnt_v_udr_contract, cnt_v_aanwezigcontract_object ins_cnt
|
||
WHERE UPPER (contractsoort) = 'LEASECONTRACT'
|
||
AND contract_key = ins_cnt.cnt_contract_key
|
||
AND contract_key =
|
||
(SELECT MAX (co.cnt_contract_key)
|
||
FROM cnt_v_aanwezigcontract_object co, cnt_contract c
|
||
WHERE c.cnt_contract_key = co.cnt_contract_key
|
||
AND c.ins_discipline_key = 21 -- Leaseovereenkomst
|
||
AND co.cnt_ins_deel_key = ins_cnt.cnt_ins_deel_key);
|
||
|
||
CREATE OR REPLACE VIEW vebe_v_noti_cntrappel_wm
|
||
(
|
||
code,
|
||
sender,
|
||
receiver,
|
||
text,
|
||
key,
|
||
xkey
|
||
)
|
||
AS
|
||
SELECT 'CUST04',
|
||
'',
|
||
p.prs_perslid_key,
|
||
'Contract ' || c.cnt_contract_nummer_intern
|
||
|| DECODE (cnt_contract_versie,
|
||
NULL, '',
|
||
'.' || 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
|
||
FROM cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
fac_groeprechten gr,
|
||
fac_gebruikersgroep gg,
|
||
fac_functie f
|
||
WHERE b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
|
||
AND cnt_contract_verwijder IS NULL
|
||
AND cnt_contract_status = 0
|
||
AND (SYSDATE BETWEEN cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
||
AND cnt.cnt_getopzegdatum (c.cnt_contract_key))
|
||
AND gr.ins_discipline_key = 121 -- Werkmaatschappij (administratief)
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND gr.fac_groep_key = gg.fac_groep_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND c.prs_afdeling_key_eig = p.prs_afdeling_key
|
||
AND gr.fac_functie_key = f.fac_functie_key
|
||
AND p.prs_perslid_email IS NOT NULL
|
||
AND f.fac_functie_code = 'WEB_MLDBOF'
|
||
AND c.cnt_contract_key NOT IN
|
||
(SELECT km.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_melding m
|
||
WHERE m.mld_melding_key = km.mld_melding_key
|
||
AND m.mld_stdmelding_key = 301 --Start workflow
|
||
AND km.mld_kenmerk_key = 421 -- Kenmerk aflopend contract
|
||
AND m.mld_melding_status IN (2, 4)) -- Nieuw / In behandeling
|
||
AND c.cnt_contract_key NOT IN (SELECT fac_tracking_refkey --CUST04
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key = 449);
|
||
|
||
CREATE OR REPLACE PROCEDURE vebe_export_clean_att (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
IS
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
|
||
-- De bijlagen uit de workflow 'Aanvraag leaseauto' kunnen worden opgeschoond.
|
||
-- Enkel bijlagen die zijn bijgevoegd in de stappen 'Overeenkomst&Matrix' en 'Bestellen auto' (KVI) moeten bewaard blijven.
|
||
CURSOR c_attachments
|
||
IS
|
||
SELECT b.fac_bijlagen_key,
|
||
(SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t, fac_srtnotificatie sn
|
||
WHERE t.fac_tracking_refkey = start_m.mld_melding_key
|
||
AND sn.fac_srtnotificatie_key = t.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_code = 'MLDAFM')
|
||
FROM fac_bijlagen b,
|
||
mld_melding m,
|
||
mld_melding start_m,
|
||
mld_kenmerk km
|
||
WHERE b.fac_bijlagen_verwijder IS NULL
|
||
AND m.mld_melding_start_key = start_m.mld_melding_key
|
||
AND m.mld_melding_key = b.fac_bijlagen_refkey
|
||
AND km.mld_kenmerk_key = b.fac_bijlagen_kenmerk_key
|
||
AND km.mld_kenmerk_niveau NOT LIKE '%O%' --Geen opdrachtkenmerk
|
||
AND b.fac_bijlagen_module = 'MLD'
|
||
AND start_m.mld_melding_status IN (1, 5, 6, 99) --Workflow mag niet meer actief zijn.
|
||
AND start_m.mld_stdmelding_key = 301 --Start nieuwe leaseaanvraag (start workflow)
|
||
AND (SELECT MAX (t.fac_tracking_datum)
|
||
FROM fac_tracking t, fac_srtnotificatie sn
|
||
WHERE t.fac_tracking_refkey = start_m.mld_melding_key
|
||
AND sn.fac_srtnotificatie_key =
|
||
t.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_code = 'MLDAFM') <
|
||
SYSDATE - 183 -- Workflow langer dan half jaar gestopt
|
||
ORDER BY b.fac_bijlagen_key DESC;
|
||
BEGIN
|
||
-- Verwijder de bijlagen die uit de workflows die langer dan een half jaar geleden zijn afgerond (behalve ovk/matrix/kvi).
|
||
FOR rec IN c_attachments
|
||
LOOP
|
||
BEGIN
|
||
flx.deleteflexbijlage(rec.fac_bijlagen_key);
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (vebe_export_clean_att error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
COMMIT;
|
||
END vebe_export_clean_att;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW vebe_v_rap_lease_aanvr
|
||
AS
|
||
SELECT m.melding_key AS melding_nr,
|
||
m.melding_start_key AS melding_startnr,
|
||
m.melder AS berijder,
|
||
m.afdeling_omschrijving,
|
||
m.invoerder,
|
||
m.soortmelding AS vakgroeptype,
|
||
m.productgroep AS vakgroep,
|
||
sm.mld_stdmelding_key,
|
||
m.subproductgroep AS std_melding,
|
||
m.behandelaar,
|
||
m.melding_status,
|
||
m.melding_datum,
|
||
m.melding_afgemeld,
|
||
m.doorlooptijd_werkdgn,
|
||
m.onderwerp,
|
||
(SELECT DISTINCT (c.nummer)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contractnummer,
|
||
(SELECT DISTINCT (c.contractsoort)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contractsoort,
|
||
(SELECT DISTINCT (c.omschrijving)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contractomschrijving,
|
||
(SELECT DISTINCT (c.contractpartij)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contractpartij,
|
||
(SELECT DISTINCT (c.contractafdeling)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contractafdeling,
|
||
(SELECT DISTINCT (c.contractbeheerder)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contractbeheerder,
|
||
(SELECT DISTINCT (c.begindatum)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contract_begindatum,
|
||
(SELECT DISTINCT (c.einddatum)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contract_einddatum,
|
||
(SELECT DISTINCT (c.opzegdatum)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contract_opzegdatum,
|
||
(SELECT DISTINCT (c.rappeldatum)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contract_rappeldatum,
|
||
(SELECT DISTINCT (c.fase_actief)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contract_fase,
|
||
(SELECT DISTINCT (c.status)
|
||
FROM mld_kenmerkmelding kmm,
|
||
mld_kenmerk km,
|
||
cnt_v_udr_contract c
|
||
WHERE kmm.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND km.mld_kenmerk_key = 421
|
||
AND c.nummer = kmm.mld_kenmerkmelding_waarde
|
||
AND mld_kenmerkmelding_verwijder IS NULL
|
||
AND kmm.mld_melding_key = m2.mld_melding_start_key)
|
||
AS contract_status
|
||
FROM mld_v_udr_melding m,
|
||
mld_melding m2,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline disc
|
||
WHERE m2.mld_melding_key = m.melding_key
|
||
AND disc.ins_srtdiscipline_key = 21 -- Workflow leaseaanvraag
|
||
AND m2.mld_melding_start_key IS NOT NULL -- Het moet wel onderdeel zijn van een workflow en geen losse melding
|
||
AND m2.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = disc.ins_discipline_key;
|
||
|
||
CREATE OR REPLACE VIEW vebe_v_rap_wfleaseaanv
|
||
(
|
||
melding_key,
|
||
meldingnummer,
|
||
melding_start_key,
|
||
melder_key,
|
||
melder,
|
||
afdeling_omschrijving,
|
||
invoerder,
|
||
vakgroeptype,
|
||
vakgroep,
|
||
melding,
|
||
volgnr,
|
||
behandelaar,
|
||
startmelding_status,
|
||
melding_status,
|
||
melding_datum,
|
||
melding_einddatum_std,
|
||
melding_afgemeld,
|
||
sla_werkdgn,
|
||
doorlooptijd_werkdgn,
|
||
onderwerp,
|
||
omschrijving,
|
||
offerte_athlon_correct,
|
||
offerte_vwpfs_correct,
|
||
aflopend_contract_key,
|
||
aflopend_contract_oms
|
||
)
|
||
AS
|
||
SELECT m.melding_key,
|
||
m.meldingnummer,
|
||
m.melding_start_key,
|
||
m.melder_key,
|
||
m.melder,
|
||
m.afdeling_omschrijving,
|
||
m.invoerder,
|
||
m.soortmelding,
|
||
m.productgroep,
|
||
m.subproductgroep,
|
||
sm.mld_stdmelding_volgnr,
|
||
m.behandelaar,
|
||
(SELECT startm.melding_status
|
||
FROM mld_v_udr_melding startm
|
||
WHERE startm.melding_key = m.melding_start_key)
|
||
AS startmelding_status,
|
||
m.melding_status,
|
||
m.melding_datum,
|
||
m.melding_einddatum_std,
|
||
m.melding_afgemeld,
|
||
m.sla_werkdgn,
|
||
m.doorlooptijd_werkdgn,
|
||
m.onderwerp,
|
||
m.vomschrijving,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km, fac_usrdata ud
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_kenmerkmelding_waarde = ud.fac_usrdata_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND km.mld_srtkenmerk_key = 462 --Kenmerksoort Offerte Athlon correct
|
||
AND kmm.mld_melding_key = m.melding_key)
|
||
AS offerte_athlon_correct,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km, fac_usrdata ud
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_kenmerkmelding_waarde = ud.fac_usrdata_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND km.mld_srtkenmerk_key = 463 --Kenmerksoort Offerte VWPFS correct
|
||
AND kmm.mld_melding_key = m.melding_key)
|
||
AS offerte_vwpfs_correct,
|
||
(SELECT kmm.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND km.mld_srtkenmerk_key = 281 --Kenmerksoort aflopend contract
|
||
AND kmm.mld_melding_key = m.melding_start_key)
|
||
AS aflopend_contract_key,
|
||
(SELECT c.omschrijving
|
||
FROM mld_kenmerkmelding kmm, mld_kenmerk km, vebe_v_rap_cnt c
|
||
WHERE km.mld_kenmerk_key = kmm.mld_kenmerk_key
|
||
AND fac.safe_to_number (kmm.mld_kenmerkmelding_waarde) =
|
||
c.contract_key
|
||
AND kmm.mld_kenmerkmelding_verwijder IS NULL
|
||
AND km.mld_srtkenmerk_key = 281 --Kenmerksoort aflopend contract
|
||
AND kmm.mld_melding_key = m.melding_start_key)
|
||
AS aflopend_contract_oms
|
||
FROM mld_v_udr_melding m,
|
||
ins_tab_discipline disc,
|
||
mld_melding mm,
|
||
mld_stdmelding sm
|
||
WHERE m.fclt_3d_discipline_key = disc.ins_discipline_key
|
||
AND mm.mld_melding_key = m.melding_key
|
||
AND sm.mld_stdmelding_key = mm.mld_stdmelding_key
|
||
AND disc.ins_srtdiscipline_key = 21 -- Vakgroeptype lease aanvraag
|
||
AND disc.ins_discipline_module = 'MLD'
|
||
ORDER BY m.melding_start_key, m.melding_key;
|
||
|
||
-- payload end ---
|
||
|
||
SET DEFINE OFF
|
||
BEGIN adm.systrackscriptId('$Id$', 0); END;
|
||
/
|
||
|
||
COMMIT;
|
||
SET ECHO OFF
|
||
SPOOL OFF
|
||
SET DEFINE ON
|
||
PROMPT Logfile of this upgrade is: &fcltlogfile |