VEBE#35792: wagenparkbeheer
svn path=/Customer/; revision=28689
This commit is contained in:
@@ -21,6 +21,130 @@ INSERT INTO fac_import_app
|
||||
WHERE fac_functie_code = 'WEB_PRSSYS';
|
||||
|
||||
|
||||
-- CUST RAPPORT:
|
||||
CREATE OR REPLACE VIEW vebe_cnt_lease_en_gebruiks_ovk
|
||||
AS SELECT * FROM DUAL;
|
||||
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving,
|
||||
fac_usrrap_view_name,
|
||||
fac_usrrap_vraagbegindatum,
|
||||
fac_usrrap_vraageinddatum,
|
||||
fac_usrrap_functie,
|
||||
fac_usrrap_info,
|
||||
fac_functie_key,
|
||||
fac_usrrap_autorefresh
|
||||
)
|
||||
SELECT 'Leaseovereenkomsten',
|
||||
'vebe_cnt_lease_en_gebruiks_ovk',
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
'Overzichtsrapport van leasecontracten en gebruiksovereenkomsten van leaseauto''s',
|
||||
fac_functie_key,
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_USER01';
|
||||
|
||||
CREATE OR REPLACE VIEW vebe_rap_wagenpark
|
||||
AS SELECT * FROM DUAL;
|
||||
|
||||
INSERT INTO fac_usrrap
|
||||
(fac_usrrap_omschrijving,
|
||||
fac_usrrap_view_name,
|
||||
fac_usrrap_vraagbegindatum,
|
||||
fac_usrrap_vraageinddatum,
|
||||
fac_usrrap_functie,
|
||||
fac_usrrap_info,
|
||||
fac_functie_key,
|
||||
fac_usrrap_autorefresh
|
||||
)
|
||||
SELECT 'UDR-Basisrapport wagenpark',
|
||||
'vebe_rap_wagenpark',
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
'Basisrapport van leasecontracten en gebruiksovereenkomsten van leaseauto''s',
|
||||
fac_functie_key,
|
||||
0
|
||||
FROM fac_functie WHERE fac_functie_code = 'WEB_USER01';
|
||||
|
||||
|
||||
-- UPDATE fac_usrrap_cols SET fac_usrrap_cols_visible = 'H'
|
||||
-- WHERE fac_usrrap_key IN (SELECT fac_usrrap_key FROM fac_usrrap WHERE fac_usrrap_view_name = 'vebe_cnt_lease_en_gebruiks_ovk');
|
||||
|
||||
-- CUST01 notificatie: de verantwoordelijke manager prs_perslid_key_eig krijgt een notificatie per mail dat een leasecontract in rappel zit,
|
||||
-- met de mogelijkheid om een nieuwe aanvraag leaseauto te doen (via klik hier in de CNT bon).
|
||||
-- Dit is van de soort 'rapport' omdat we via een usrrap allerlei gegevens (over meerdere contracten) wille tonen.
|
||||
|
||||
INSERT INTO fac_srtnotificatie (fac_srtnotificatie_code, fac_srtnotificatie_mode, fac_srtnotificatie_oms, fac_srtnotificatie_groep, fac_srtnotificatie_xmlnode, fac_srtnotificatie_delay)
|
||||
VALUES ('CUST01',2, 'Berichtgeving aflopen van leaseovereenkomst ', 0, 'rapport', 10);
|
||||
-- CUST02 willen we gebruiken om bij contract te tracken dat mail is gestuurd. Verder zorgt dit er ook voor dat 1x de notificatie wodt verstuurd.
|
||||
INSERT INTO fac_srtnotificatie (fac_srtnotificatie_code, fac_srtnotificatie_mode, fac_srtnotificatie_oms, fac_srtnotificatie_groep, fac_srtnotificatie_xmlnode, fac_srtnotificatie_delay)
|
||||
VALUES ('CUST02',0, 'Berichtgeving aflopen van leaseovereenkomst ', 0, 'contract', 10);
|
||||
|
||||
INSERT INTO fac_export_app
|
||||
(fac_export_app_code, fac_export_app_flags, fac_export_app_oms, fac_export_app_timestamp,
|
||||
fac_functie_key, fac_export_app_prefix,
|
||||
fac_export_app_folder, fac_export_app_file_prefix, fac_export_app_postfix, fac_export_app_log_postfix)
|
||||
SELECT 'NOTI_WAGENPARK', 0, 'Export/notify contracen leaseauto''s', 'yyyymmdd_HHMM',
|
||||
fac_functie_key, 'VEBE',
|
||||
'../export/', 'vebe_noti_wagenpark_', '.csv', '.log'
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_PRSSYS';
|
||||
|
||||
|
||||
-- CUST03 notificatie: de melder van een melding met een AFGEMELDE GUNNINGSOpdracht krijgt een mail met 2 links:
|
||||
-- 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.
|
||||
-- Dit is van de soort 'opdracht' zodat de opdrachtgegevens meekomen.
|
||||
|
||||
INSERT INTO fac_srtnotificatie (fac_srtnotificatie_code, fac_srtnotificatie_mode, fac_srtnotificatie_oms, fac_srtnotificatie_groep, fac_srtnotificatie_xmlnode, fac_srtnotificatie_delay)
|
||||
VALUES ('CUST03',2, 'Berichtgeving om leaseovereenkomst te tekenen', 0, 'opdracht', 10);
|
||||
|
||||
|
||||
|
||||
|
||||
INSERT INTO fac_api
|
||||
(fac_api_name,
|
||||
fac_api_filepath)
|
||||
VALUES
|
||||
('HMAIL',
|
||||
'appl/api/api_hmail.asp');
|
||||
|
||||
-- Voeg een gebruiker toe om de api uit te voeren
|
||||
INSERT INTO prs_perslid (prs_perslid_module,
|
||||
prs_srtperslid_key,
|
||||
prs_afdeling_key,
|
||||
prs_perslid_naam,
|
||||
prs_perslid_email,
|
||||
prs_perslid_oslogin,
|
||||
prs_perslid_apikey,
|
||||
prs_perslid_flags,
|
||||
prs_perslid_systeemadres)
|
||||
SELECT 'PRS',
|
||||
1, -- Onbekend
|
||||
prs_afdeling_key,
|
||||
'SYSTEM API Mail2Melding',
|
||||
'',
|
||||
'_HMAIL',
|
||||
'PuUEujYgpWMivRZeiUsSqTaKVQZuudbB',
|
||||
4,
|
||||
NULL
|
||||
FROM prs_afdeling
|
||||
WHERE prs_afdeling_naam = 'VMC';
|
||||
|
||||
|
||||
INSERT INTO FAC_EMAIL_SETTING (FAC_EMAIL_SETTING_USER,
|
||||
FAC_EMAIL_SETTING_ACTION,
|
||||
FAC_EMAIL_SETTING_FROM,
|
||||
FAC_EMAIL_SETTING_ATTACHPATH)
|
||||
VALUES ('XrTeMOZ',
|
||||
'vebe_processemail',
|
||||
'',
|
||||
'd:\Apps\Facilitor\Fplace5i\Cust\VEBE\flexfiles\');
|
||||
|
||||
|
||||
|
||||
BEGIN adm.systrackscript('$Workfile: vebe01.sql $', '$Revision$', 1); END;
|
||||
/
|
||||
|
||||
|
||||
121
onces/VEBE/vebe_convert_wagenpark.sql
Normal file
121
onces/VEBE/vebe_convert_wagenpark.sql
Normal file
@@ -0,0 +1,121 @@
|
||||
-- Customer specific once-script VEBE.
|
||||
--
|
||||
-- (c) 2011 SG|facilitor bv
|
||||
-- $Revision$
|
||||
-- $Id$
|
||||
--
|
||||
-- Support: +31 53 4800700
|
||||
|
||||
SET ECHO ON
|
||||
SPOOL vebe_convert_wagenpark
|
||||
SET DEFINE OFF
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vebe_convert_wagenparklinkauto
|
||||
AS
|
||||
|
||||
BEGIN
|
||||
|
||||
-- Eerst alle LEASEcontracten die zijn geimporteerd, het ins_deel (= auto) eraan koppelen,
|
||||
-- Dat doen we door CNT-kenmerk 'Kenteken-Conversie' (key 22) het ins_deel te zoeken en die aan het contract te koppelen.
|
||||
|
||||
INSERT INTO cnt_contract_object (cnt_contract_key, cnt_ins_srtdeel_key, cnt_ins_deel_key)
|
||||
SELECT c.cnt_contract_key, d.ins_srtdeel_key, d.ins_deel_key
|
||||
FROM cnt_contract c, cnt_kenmerkcontract kc, ins_deel d
|
||||
WHERE c.ins_discipline_key = 21
|
||||
AND kc.cnt_contract_key = c.cnt_contract_key
|
||||
AND KC.CNT_KENMERK_KEY = 22
|
||||
AND UPPER(D.INS_DEEL_OMSCHRIJVING) = UPPER(KC.CNT_KENMERKCONTRACT_WAARDE);
|
||||
|
||||
-- Hetzelfde voor alle GEBRUIKScontracten die zijn geimporteerd, het ins_deel (= auto) eraan koppelen,
|
||||
INSERT INTO cnt_contract_object (cnt_contract_key, cnt_ins_srtdeel_key, cnt_ins_deel_key)
|
||||
SELECT c.cnt_contract_key, d.ins_srtdeel_key, d.ins_deel_key
|
||||
FROM cnt_contract c, cnt_kenmerkcontract kc, ins_deel d
|
||||
WHERE c.ins_discipline_key = 22
|
||||
AND kc.cnt_contract_key = c.cnt_contract_key
|
||||
AND KC.CNT_KENMERK_KEY = 23
|
||||
AND UPPER(D.INS_DEEL_OMSCHRIJVING) = UPPER(KC.CNT_KENMERKCONTRACT_WAARDE);
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE vebe_convert_wagenparkberijder
|
||||
AS
|
||||
-- Tenslotte gaan we de berijders nog registreren bij de GEBRUIKScontracten, dus alle GEBRUIKSCONTRACTEN (key 22) die nog geen berijder hebben (zodat deze conversie herhaaldelijk kan plaatsvinden)
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT * FROM cnt_contract c
|
||||
WHERE c.ins_discipline_key = 22
|
||||
AND c.cnt_prs_perslid_key IS NULL;
|
||||
|
||||
v_prs_perslid_key NUMBER (10);
|
||||
v_perslid_nr VARCHAR2 (100);
|
||||
|
||||
BEGIN
|
||||
|
||||
-- Tenslotte gaan we de berijders nog registreren bij de GEBRUIKScontracten
|
||||
FOR rc IN c1
|
||||
LOOP
|
||||
|
||||
SELECT MAX(CNT_KENMERKCONTRACT_WAARDE)
|
||||
INTO v_perslid_nr
|
||||
FROM cnt_kenmerkcontract kc
|
||||
WHERE kc.cnt_contract_key = rc.cnt_contract_key
|
||||
AND KC.CNT_KENMERK_KEY = 24;
|
||||
|
||||
IF v_perslid_nr IS NOT NULL
|
||||
THEN
|
||||
-- Er is een persoonsnummer bekend, die gaan we converteren in cnt_prs_perslid_key
|
||||
|
||||
|
||||
SELECT MAX(p.prs_perslid_key)
|
||||
INTO v_prs_perslid_key
|
||||
FROM prs_perslid p
|
||||
WHERE p.prs_perslid_nr = v_perslid_nr;
|
||||
|
||||
IF v_prs_perslid_key IS NOT NULL
|
||||
THEN
|
||||
-- En van dat persoonsnummer bestaat werkelijk een prs_perslid record,
|
||||
-- Het bedrijf moet dan leeg worden gemaakt, anders gaat de contraint fout.
|
||||
|
||||
UPDATE cnt_contract c
|
||||
SET cnt_prs_bedrijf_key = NULL,
|
||||
cnt_prs_perslid_key = v_prs_perslid_key
|
||||
WHERE c.cnt_contract_key = rc.cnt_contract_key;
|
||||
ELSE
|
||||
-- Er is geen persoon bekend met dat personeelsnummer, die willen we wel loggen
|
||||
-- Dat doen we door bij het contract in het kenmerk 'Personeelsnr-Conversie' (key 24) een !!! ervoor te plaatsen
|
||||
UPDATE cnt_kenmerkcontract kc
|
||||
SET CNT_KENMERKCONTRACT_WAARDE = '!!!' || CNT_KENMERKCONTRACT_WAARDE
|
||||
WHERE kc.cnt_contract_key = rc.cnt_contract_key
|
||||
AND KC.CNT_KENMERK_KEY = 24;
|
||||
END IF;
|
||||
ELSE
|
||||
-- Er is geen persoon bij de gebruiksovereenkomst geregistreerd, waarschijnlijk betreft het geen gebruiksovereenkomst en kan die handmatig verwijderd worden.
|
||||
-- Dat willen we markeren door bij het contract in het kenmerk 'Personeelsnr-Conversie' (key 24) een @@@ ervoor te plaatsen
|
||||
UPDATE cnt_kenmerkcontract kc
|
||||
SET CNT_KENMERKCONTRACT_WAARDE = '@@@' || CNT_KENMERKCONTRACT_WAARDE
|
||||
WHERE kc.cnt_contract_key = rc.cnt_contract_key
|
||||
AND KC.CNT_KENMERK_KEY = 24;
|
||||
END IF;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
BEGIN
|
||||
vebe_convert_wagenparklinkauto ();
|
||||
vebe_convert_wagenparkberijder ();
|
||||
END;
|
||||
/
|
||||
|
||||
DROP PROCEDURE vebe_convert_wagenparklinkauto;
|
||||
DROP PROCEDURE vebe_convert_wagenparkberijder;
|
||||
|
||||
|
||||
COMMIT:
|
||||
|
||||
|
||||
SPOOL OFF
|
||||
|
||||
|
||||
Reference in New Issue
Block a user