From 0bda9e470ba0a19319d0ca118131d20a8246a933 Mon Sep 17 00:00:00 2001 From: Marcel Bourseau Date: Wed, 30 Mar 2016 15:00:20 +0000 Subject: [PATCH] VEBE#35792: wagenparkbeheer svn path=/Customer/; revision=28689 --- onces/VEBE/vebe01.sql | 124 ++++++++++++++++++++++++++ onces/VEBE/vebe_convert_wagenpark.sql | 121 +++++++++++++++++++++++++ 2 files changed, 245 insertions(+) create mode 100644 onces/VEBE/vebe_convert_wagenpark.sql diff --git a/onces/VEBE/vebe01.sql b/onces/VEBE/vebe01.sql index ed567b27e..9dcfb2d2a 100644 --- a/onces/VEBE/vebe01.sql +++ b/onces/VEBE/vebe01.sql @@ -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; / diff --git a/onces/VEBE/vebe_convert_wagenpark.sql b/onces/VEBE/vebe_convert_wagenpark.sql new file mode 100644 index 000000000..bd8306d85 --- /dev/null +++ b/onces/VEBE/vebe_convert_wagenpark.sql @@ -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 + +