YKPN#63398 -- Toevoegen budgethouder en leidinggevende aan import
YKPN#64329 -- Koppeling met SABA realiseren voor inkoop werkplekinrichting YKPN#64379 -- Fiatteurs voor facturen wijzigen svn path=/Customer/trunk/; revision=48509
This commit is contained in:
107
YKPN/ykpn.sql
107
YKPN/ykpn.sql
@@ -1040,6 +1040,8 @@ AS
|
||||
v_opdr_key mld_opdr.mld_opdr_key%TYPE;
|
||||
v_contract_key cnt_contract.cnt_contract_key%TYPE;
|
||||
v_bestelopdr_key bes_bestelopdr.bes_bestelopdr_key%TYPE;
|
||||
v_eerste_fiatteur prs_perslid.prs_perslid_key%TYPE;
|
||||
v_tweede_fiatteur prs_perslid.prs_perslid_key%TYPE;
|
||||
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
@@ -1047,6 +1049,9 @@ AS
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
|
||||
BEGIN
|
||||
v_eerste_fiatteur := 93969; -- Rob Grevenstette
|
||||
v_tweede_fiatteur := 92323; -- Walter van der Wilt
|
||||
|
||||
v_errorhint := 'Bepaal type factuur';
|
||||
-- Laten we eens eerst kijken of we het over een contract of een opdracht hebben
|
||||
SELECT mld_opdr_key, cnt_contract_key, bes_bestelopdr_key, fin_factuur_statuses_key, fin_factuur_totaal
|
||||
@@ -1116,25 +1121,25 @@ AS
|
||||
-- geen goedkeuring nodig
|
||||
NULL;
|
||||
ELSE
|
||||
-- Heeft Walter van der Wilt 92323 de factuur al goedgekeurd?
|
||||
v_errorhint := 'Heeft Walter van der Wilt 92323 de factuur al goedgekeurd?';
|
||||
-- Heeft de eerste fiatteur de factuur al goedgekeurd?
|
||||
v_errorhint := 'Heeft de eerste fiatteur de factuur al goedgekeurd?';
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
FROM fac_tracking t, fac_srtnotificatie sn
|
||||
WHERE t.fac_srtnotificatie_key =
|
||||
sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'FINGOE'
|
||||
AND t.prs_perslid_key = 92323
|
||||
AND t.prs_perslid_key = v_eerste_fiatteur
|
||||
AND t.fac_tracking_refkey = p_factuur_key;
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
-- bedrag is groter dan 5000 en Walter heeft nog niet goedgekeurd
|
||||
v_perslid_key_goedkeur := 92323;
|
||||
v_perslid_key_goedkeur := v_eerste_fiatteur;
|
||||
ELSIF v_factuur_totaal > 50000
|
||||
THEN
|
||||
-- Walter heeft goedgekeurd maar het bedrag is hoger dan 50000, dus William Toma moet ook goedkeuren
|
||||
-- Heeft william toma 44464 (voorloping sander nievergeld) de factuur al goedgekeurd?
|
||||
-- De eerste fiatteur heeft goedgekeurd maar het bedrag is hoger dan 50000, dus de tweede fiatteur moet ook goedkeuren
|
||||
-- Heeft de tweede fiatteur de factuur al goedgekeurd?
|
||||
v_errorhint := 'Bedrag is hoger dan 50000';
|
||||
SELECT COUNT (*)
|
||||
INTO v_count
|
||||
@@ -1142,13 +1147,13 @@ AS
|
||||
WHERE t.fac_srtnotificatie_key =
|
||||
sn.fac_srtnotificatie_key
|
||||
AND sn.fac_srtnotificatie_code = 'FINGOE'
|
||||
AND t.prs_perslid_key = 44464
|
||||
AND t.prs_perslid_key = v_tweede_fiatteur
|
||||
AND t.fac_tracking_refkey = p_factuur_key;
|
||||
|
||||
IF v_count = 0
|
||||
THEN
|
||||
-- William heeft nog niet goedgekeurd
|
||||
v_perslid_key_goedkeur := 44464;
|
||||
v_perslid_key_goedkeur := v_tweede_fiatteur;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
@@ -1376,6 +1381,7 @@ AS
|
||||
v_email VARCHAR2 (200);
|
||||
v_voornaam VARCHAR2 (200);
|
||||
v_achternaam VARCHAR2 (200);
|
||||
v_besteller_key NUMBER;
|
||||
|
||||
BEGIN
|
||||
DELETE imp_log WHERE imp_log_applicatie = 'MAIL_WERKPLEKINRICHTING' AND imp_log_datum < SYSDATE - 14;
|
||||
@@ -1391,6 +1397,21 @@ AS
|
||||
fac.writelog ('MAIL_WERKPLEKINRICHTING', 'I', 'v_voornaam:' || v_voornaam, '');
|
||||
fac.writelog ('MAIL_WERKPLEKINRICHTING', 'I', 'v_achternaam:' || v_achternaam, '');
|
||||
|
||||
v_errorhint := 'Zoek de persoon op adhv de ruisnaam: ' || v_ruisnaam;
|
||||
SELECT prs_perslid_key
|
||||
INTO v_besteller_key
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_oslogin = UPPER(v_ruisnaam);
|
||||
|
||||
v_errorhint := 'Voeg de persoon toe aan de autorisatiegroep: ' || v_ruisnaam || '-' || v_besteller_key;
|
||||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||||
SELECT 2741, v_besteller_key
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1
|
||||
FROM fac_gebruikersgroep
|
||||
WHERE fac_groep_key = 2741
|
||||
AND prs_perslid_key = v_besteller_key);
|
||||
|
||||
v_errorhint := 'Toevoegen resultaat';
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
@@ -1406,12 +1427,16 @@ AS
|
||||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
fac.writelog ('MAIL_WERKPLEKINRICHTING', 'E', v_errormsg, v_errorhint);
|
||||
|
||||
DELETE fac_rapport WHERE fac_rapport_node = 'WERKPLEKINR' AND fac_rapport_volgnr < TO_CHAR(SYSDATE-100, 'YYMMDDHH24MI');
|
||||
INSERT INTO fac_rapport (fac_rapport_node, fac_rapport_volgnr, fac_rapport_regel)
|
||||
VALUES ('WERKPLEKINR', TO_CHAR(SYSDATE, 'YYMMDDHH24MI'), 'Onbekende besteller:'||v_ruisnaam || '-' || v_email || '-' || v_voornaam || '-' || v_achternaam);
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'errormsg',
|
||||
'Fout bij inleze mail werkplekinrichting: ' || v_errorhint);
|
||||
'Fout bij inlezen mail werkplekinrichting: ' || v_ruisnaam);
|
||||
END;
|
||||
END;
|
||||
/
|
||||
@@ -2271,6 +2296,7 @@ AS
|
||||
v_dpt_tree VARCHAR2 (100);
|
||||
v_dpt_name_long VARCHAR2 (100);
|
||||
v_dpt_code VARCHAR2 (100);
|
||||
v_budgethouder VARCHAR2 (100);
|
||||
|
||||
CURSOR c
|
||||
IS
|
||||
@@ -2301,6 +2327,7 @@ BEGIN
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dpt_tree);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dpt_name_long);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dpt_code);
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_budgethouder);
|
||||
|
||||
v_aanduiding := v_dpt_id || '|' || v_dpt_name_long || '|' || v_dpt_code || '| ';
|
||||
|
||||
@@ -2335,12 +2362,14 @@ BEGIN
|
||||
prs_afdeling_naam_parent,
|
||||
prs_afdeling_omschrijving,
|
||||
prs_kostenplaats_nr,
|
||||
prs_budgethouder,
|
||||
fac_imp_file_index)
|
||||
VALUES ('KPN',
|
||||
v_dpt_id,
|
||||
v_dpt_parent_dep_id,
|
||||
v_dpt_name_long,
|
||||
v_dpt_code,
|
||||
v_budgethouder,
|
||||
rec.fac_imp_file_index);
|
||||
END IF;
|
||||
END;
|
||||
@@ -2409,6 +2438,7 @@ AS
|
||||
v_prs_kostenplaats_key NUMBER;
|
||||
v_prs_afdeling_key NUMBER;
|
||||
v_prs_afd_niveau_parent NUMBER;
|
||||
v_budgethouder_key NUMBER;
|
||||
v_count NUMBER;
|
||||
v_newcount NUMBER;
|
||||
v_oldcount NUMBER;
|
||||
@@ -2434,6 +2464,26 @@ BEGIN
|
||||
WHERE UPPER (prs_bedrijf_naam) = UPPER (rec.prs_bedrijf_naam)
|
||||
AND prs_bedrijf_verwijder IS NULL;
|
||||
|
||||
BEGIN
|
||||
IF rec.prs_budgethouder IS NOT NULL
|
||||
THEN
|
||||
v_errorhint := 'Zoek de budgethouder van de kostenplaats op: ' || rec.prs_budgethouder;
|
||||
SELECT prs_perslid_key
|
||||
INTO v_budgethouder_key
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_nr = rec.prs_budgethouder;
|
||||
ELSE
|
||||
v_budgethouder_key := NULL;
|
||||
END IF;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND 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, 'W', v_errormsg, v_errorhint || '-' || v_aanduiding);
|
||||
v_budgethouder_key := NULL;
|
||||
END;
|
||||
|
||||
v_errorhint := 'Kijk of kostenplaats al bestaat';
|
||||
IF rec.prs_kostenplaats_nr IS NOT NULL
|
||||
THEN
|
||||
@@ -2709,7 +2759,7 @@ BEGIN
|
||||
-- de functie wordt tijdelijk gevuld met de key van het record. Puur om een waarde
|
||||
-- erin te hebben staan.
|
||||
UPDATE fac_imp_file SET fac_imp_file_line = REPLACE(fac_imp_file_line, 'NULL') WHERE fac_import_key = p_import_key;
|
||||
v_seq_of_columns := '14;14;0;0;0;0;8;6;5;24;4;17;16;20;0;11;0;9;0;2;1;3;0;0;0;0;1;0;23;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0';
|
||||
v_seq_of_columns := '14;14;0;0;0;0;8;6;5;24;4;17;16;20;0;11;0;9;0;2;1;3;0;0;0;0;1;0;23;24;25;26;0;0;0;0;0;0;0;0;0;0;0;0;0;0';
|
||||
prs.import_perslid(p_import_key, v_seq_of_columns, 'emp_cbl_number;emp_number;emp_ruis_id;prs_name_initials;prs_name_prefix;prs_name_last;emp_sup_name;emp_dep_code;emp_email;emp_active;emp_phone;emp_mobile;emp_sms_authentication;emp_loc_code;emp_date_termination;prs_name_partner_prefix;prs_name_partner_last;prs_umra_name_prefix;prs_umra_name_last;prs_name_last_pref;emp_dep_name;emp_fnc_code;emp_fnc_name;prs_name_call%');
|
||||
|
||||
-- Maak standaard verdieping aan voor de werkplek
|
||||
@@ -2871,6 +2921,11 @@ END;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE ykpn_update_perslid_sched (p_import_key IN NUMBER)
|
||||
AS
|
||||
CURSOR c_kenmerk IS
|
||||
SELECT p.prs_perslid_key, i.prs_kenmerk5 leidingg, i.prs_kenmerk6 bhv
|
||||
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
|
||||
WHERE p.prs_perslid_nr = i.prs_perslid_nr;
|
||||
|
||||
CURSOR c_del IS
|
||||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full, p.prs_perslid_oslogin
|
||||
FROM fac_imp_perslid i, prs_perslid p, prs_v_perslid_fullnames_all pf
|
||||
@@ -2891,6 +2946,8 @@ AS
|
||||
WHERE alg_kenmerk_key = 1360;
|
||||
|
||||
v_perslid_nr PRS_PERSLID.PRS_PERSLID_NR%TYPE;
|
||||
v_leidingg_key NUMBER;
|
||||
v_bhv NUMBER;
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_hint VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
@@ -2939,6 +2996,36 @@ BEGIN
|
||||
|
||||
prs.update_perslid (p_import_key, 'NR', 'A');
|
||||
|
||||
-- Vul de kenmerken bhv en leidinggevende
|
||||
FOR rec IN c_kenmerk
|
||||
LOOP
|
||||
BEGIN
|
||||
v_hint := 'Bepaal de leidinggevende: ' || rec.leidingg;
|
||||
SELECT prs_perslid_key
|
||||
INTO v_leidingg_key
|
||||
FROM prs_v_aanwezigperslid
|
||||
WHERE prs_perslid_nr = rec.leidingg;
|
||||
|
||||
v_hint := 'Vul het kenmerk leidinggevende: ' || rec.prs_perslid_key || '-' || v_leidingg_key;
|
||||
ykpn.set_kenmerk('PRS', 1160, rec.prs_perslid_key, v_leidingg_key, 0);
|
||||
|
||||
v_hint := 'Vul het kenmerk BHV: ' || rec.prs_perslid_key || '-' || rec.bhv;
|
||||
v_bhv := 0;
|
||||
IF rec.bhv = 'BHV'
|
||||
THEN
|
||||
v_bhv := 1;
|
||||
END IF;
|
||||
ykpn.set_kenmerk('PRS', 1161, rec.prs_perslid_key, v_bhv, 0);
|
||||
|
||||
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_hint);
|
||||
END;
|
||||
END LOOP;
|
||||
|
||||
-- Iedereen mag op elke kostenplaats boeken.
|
||||
INSERT INTO prs_perslidkostenplaats (prs_perslid_key, prs_perslidkostenplaats_boeken)
|
||||
SELECT prs_perslid_key, 1
|
||||
|
||||
Reference in New Issue
Block a user