KFNS#35395 AUTOCLOSE/Inactiveren personen

svn path=/Customer/trunk/; revision=28115
This commit is contained in:
Maarten van der Heide
2016-02-10 14:38:35 +00:00
parent 8950becdec
commit 110d111291

View File

@@ -41,7 +41,7 @@ AS
v_aanduiding VARCHAR2 (1000) := '';
header_is_valid NUMBER := 0;
v_count_tot NUMBER (10) := 0;
v_count_import NUMBER (10) := 0;
v_count_imp NUMBER (10) := 0;
v_ongeldig NUMBER (1) := 0;
-- De importvelden
v_mld_opdr_key_tekst VARCHAR2 (100);
@@ -72,7 +72,7 @@ BEGIN
LOOP
BEGIN
v_newline := rec1.fac_imp_file_line;
v_errormsg := 'Fout bij opvragen importregel';
v_errormsg := 'Fout opvragen importregel';
v_aanduiding := '';
v_ongeldig := 0;
@@ -148,10 +148,7 @@ BEGIN
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_import_key,
'W',
v_aanduiding || v_errormsg,
'');
fac.writelog (p_import_key, 'W', v_aanduiding || v_errormsg, '');
END;
IF v_ongeldig = 0
@@ -252,7 +249,7 @@ BEGIN
v_datumtijd,
v_opmerking);
v_count_import := v_count_import + 1;
v_count_imp := v_count_imp + 1;
EXCEPTION
WHEN OTHERS
THEN
@@ -265,19 +262,12 @@ BEGIN
|| '/'
|| oracle_err_mes
|| ')';
fac.imp_writelog (
p_import_key,
'E',
v_aanduiding || v_errormsg,
'');
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
END;
ELSE
IF v_status_code <> '40' AND v_status_code <> '45'
THEN
fac.imp_writelog (p_import_key,
'E',
v_aanduiding || v_errormsg,
'');
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
END IF;
END IF;
END IF;
@@ -286,21 +276,17 @@ BEGIN
IF header_is_valid = 0
THEN
fac.imp_writelog (p_import_key,
'E',
fac.imp_writelog (p_import_key, 'E',
'Ongeldig importbestand',
'Geen header of header niet volgens specificatie!');
ELSE
fac.imp_writelog (
p_import_key,
'S',
p_import_key, 'S',
'Inleesproces/#ingelezen statusberichten: ' || TO_CHAR (v_count_tot),
'');
fac.imp_writelog (
p_import_key,
'S',
'Inleesproces/#ongeldige niet ingelezen statusberichten: '
|| TO_CHAR (v_count_tot - v_count_import),
p_import_key, 'S',
'Inleesproces/#ongeldige niet ingelezen statusberichten: ' || TO_CHAR (v_count_tot - v_count_imp),
'');
END IF;
@@ -317,9 +303,7 @@ EXCEPTION
|| '/'
|| oracle_err_mes
|| ')';
fac.imp_writelog (p_import_key,
'E',
v_aanduiding || v_errormsg,
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
'Inleesproces statusberichten afgebroken!');
END;
/
@@ -510,9 +494,7 @@ BEGIN
|| '/'
|| oracle_err_mes
|| ')';
fac.imp_writelog (p_import_key,
'E',
v_aanduiding || v_errormsg,
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
'Statusbericht-loop');
END;
END LOOP;
@@ -1552,7 +1534,7 @@ BEGIN
FOR rec IN c1
LOOP
v_errormsg := 'Fout bij toevoegen vaste contractkosten';
v_errormsg := 'Fout toevoegen vaste contractkosten';
INSERT INTO fac_usrdata (fac_usrtab_key,
fac_usrdata_code,
@@ -1574,10 +1556,8 @@ BEGIN
COMMIT;
END LOOP;
fac.writelog (p_applname,
'S',
'#Vaste contractkosten bevroren: ' || TO_CHAR (v_count),
'');
fac.writelog (p_applname, 'S',
'#Vaste contractkosten bevroren: ' || TO_CHAR (v_count), '');
COMMIT;
v_count := 0;
@@ -1599,10 +1579,8 @@ BEGIN
COMMIT;
END LOOP;
fac.writelog (p_applname,
'S',
'#Variabele opdrachten bevroren: ' || TO_CHAR (v_count),
'');
fac.writelog (p_applname, 'S',
'#Variabele opdrachten bevroren: ' || TO_CHAR (v_count), '');
COMMIT;
v_count := 0;
@@ -1618,10 +1596,8 @@ BEGIN
--COMMIT;
--END LOOP;
fac.writelog (p_applname,
'S',
'#Inclusief opdrachten bevroren: ' || TO_CHAR (v_count),
'');
fac.writelog (p_applname, 'S',
'#Inclusief opdrachten bevroren: ' || TO_CHAR (v_count), '');
COMMIT;
EXCEPTION
WHEN OTHERS
@@ -1635,10 +1611,8 @@ EXCEPTION
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_applname,
'E',
'Proces FACT_EXPORT afgebroken!',
v_errormsg);
fac.writelog (p_applname, 'E', v_errormsg,
'Proces FACT_EXPORT afgebroken!');
COMMIT;
END;
/
@@ -1648,6 +1622,7 @@ END;
-- RES_RUIMTE_XML-export)!
-- KFNS#34395: En toekennen/afpakken fac_groep_key=122 (aan @nedtrain-ers).
-- KFNS#34522: En toekennen/afpakken fac_groep_key=681 (aan niet-@nsstation-ers).
-- KFNS#34268: En verwijderen inactieve accounts (180 dagen niet ingelogd).
/* Formatted on 30-11-2015 22:22:22 (QP5 v5.136.908.31019) */
CREATE OR REPLACE PROCEDURE kfns_select_autoclose (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
@@ -1694,6 +1669,8 @@ AS
oracle_err_mes VARCHAR2 (200);
v_count NUMBER;
BEGIN
v_errormsg := 'Fout leveren bestelopdracht';
FOR rec IN cboi
LOOP
IF rec.bes_bestelopdr_status = 3 -- In behandeling
@@ -1711,9 +1688,11 @@ BEGIN
bes.updatebestelopdrstatus (rec.bes_bestelopdr_key, NULL);
END LOOP;
v_errormsg := 'Fout sluiten bestelaanvraag';
FOR rec IN cbi
LOOP
-- Sluit alle aanvraagregels af die nu geheel geleverd zijn.
-- Sluit alle aanvraagregels die nu compleet geleverd zijn.
UPDATE bes_bestelling_item
SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal
WHERE bes_bestelling_key = rec.bes_bestelling_key;
@@ -1812,14 +1791,69 @@ BEGIN
FROM prs_perslid p
WHERE UPPER (p.prs_perslid_email) LIKE '%@NSSTATIONS.NL%'
AND p.prs_perslid_key = gg.prs_perslid_key);
COMMIT;
*/
v_errormsg := 'Fout inactiveren persoon';
v_count := 0;
FOR rec
IN ( SELECT p.prs_perslid_key, p.prs_perslid_oslogin, COUNT (vp.prs_perslid_key) aant
FROM prs_v_aanwezigperslid p, prs_v_verplichting_keys vp
WHERE TO_CHAR (SYSDATE, 'dd') = '01' -- Op 1e van de maand >180d niet ingelogd
AND p.prs_perslid_login < TRUNC (ADD_MONTHS (SYSDATE, -6), 'mm')
AND p.prs_perslid_key = vp.prs_perslid_key(+) -- Actuele verplichtingen?
AND EXISTS
(SELECT 1
FROM prs_v_afdeling_boom ab
WHERE ab.prs_bedrijf_key = 22 -- NS
AND ab.prs_afdeling_key = p.prs_afdeling_key)
GROUP BY p.prs_perslid_key, p.prs_perslid_oslogin)
LOOP
BEGIN
IF rec.aant = 0
THEN
UPDATE prs_perslid
SET prs_perslid_verwijder = SYSDATE
WHERE prs_perslid_key = rec.prs_perslid_key;
v_count := v_count + 1;
ELSE
fac.writelog (
p_applname, 'I',
'[' || rec.prs_perslid_oslogin || ']/#Verplichtingen: ' || TO_CHAR (rec.aant),
'Persoon niet geinactiveerd');
END IF;
EXCEPTION
WHEN OTHERS
THEN -- Kennelijk heeft persoon toch nog ernstige verplichtingen!
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (
p_applname, 'E',
'[' || rec.prs_perslid_oslogin || ']/' || v_errormsg,
'Fout inactiveren persoon');
END;
END LOOP;
fac.writelog (p_applname, 'S', '#Personen geinactiveerd:' || TO_CHAR (v_count), '');
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname, 'E', 'Proces AUTOCLOSE afgebroken!', v_errormsg);
v_errormsg :=
v_errormsg
|| ' ORACLE (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.writelog (p_applname, 'E', v_errormsg,
'Proces AUTOCLOSE afgebroken!');
END kfns_select_autoclose;
/
@@ -2797,7 +2831,7 @@ AS
BEGIN adm.systrackscriptId('$Id$', 0); END;
/
BEGIN fac.registercustversion('KFNS', 11); END;
BEGIN fac.registercustversion('KFNS', 12); END;
/
commit;
spool off