YASK#76376 -- Export en verwerkingjobs voor facturen beschikbaar maken voor Mindlabs

svn path=/Customer/trunk/; revision=60808
This commit is contained in:
Arthur Egberink
2023-06-16 13:33:49 +00:00
parent 858aaf618e
commit 84a6484b1e

View File

@@ -2809,7 +2809,7 @@ AS
AND boi.bes_bestelopdr_item_key =
bi.bes_bestelopdr_item_key
AND bi.bes_bestelling_key = b.bes_bestelling_key))) prs_kostenplaats_key,
'ML' dagboek,
FLX.getflex('ALG', 1260, COALESCE(ml.alg_district_key, cl.alg_district_key), 'D') dagboek,
o.mld_opdr_key,
c.cnt_contract_key,
bo.bes_bestelopdr_key,
@@ -2838,12 +2838,9 @@ AS
fin_factuur_statuses_key,
lk.prs_kostenplaats_nr
lev_kpn,
'VVE' kpcode,
'99' kdcode,
(SELECT alg_district_key
FROM alg_gebouw g, alg_locatie l
WHERE g.alg_locatie_key = l.alg_locatie_key
AND g.alg_gebouw_key = COALESCE(cg.alg_gebouw_key, og.alg_gebouw_key)) alg_district_key
lk.prs_kostenplaats_nr kpcode,
FLX.getflex('ALG', 1300, COALESCE(ml.alg_district_key, cl.alg_district_key), 'D') kdcode,
COALESCE(ml.alg_district_key, cl.alg_district_key) alg_district_key
FROM fin_factuur f,
fin_factuurregel fr,
fin_btwtabelwaarde btw,
@@ -2859,12 +2856,15 @@ AS
prs_kostensoortgrp kg,
prs_kostenplaats lk,
alg_v_allonrgoed_gegevens og,
(SELECT DISTINCT f1.fin_factuur_key, cnt_alg_plaats_key alg_gebouw_key
FROM fin_factuur f1, cnt_contract_plaats cp
alg_locatie ml,
alg_locatie cl,
(SELECT DISTINCT f1.fin_factuur_key, cnt_alg_plaats_key alg_gebouw_key, alg_locatie_key
FROM fin_factuur f1, cnt_contract_plaats cp, alg_gebouw g
WHERE f1.cnt_contract_key = cp.cnt_contract_key
AND cnt_alg_plaats_code = 'G'
AND cnt_alg_plaats_key = g.alg_gebouw_key
UNION ALL
SELECT DISTINCT f1.fin_factuur_key, g.alg_gebouw_key
SELECT DISTINCT f1.fin_factuur_key, g.alg_gebouw_key, alg_locatie_key
FROM fin_factuur f1, cnt_contract_plaats cp, alg_gebouw g
WHERE f1.cnt_contract_key = cp.cnt_contract_key
AND cnt_alg_plaats_code = 'L'
@@ -2885,6 +2885,8 @@ AS
AND k.prs_kostensoortgrp_key = kg.prs_kostensoortgrp_key(+)
AND f.fin_factuur_key = cg.fin_factuur_key(+)
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)
AND og.alg_locatie_key = ml.alg_locatie_key(+)
AND cg.alg_locatie_key = cl.alg_locatie_key(+)
AND f.fin_factuur_verwijder IS NULL;
CREATE OR REPLACE VIEW yask_v_bron_export_exact_veza
@@ -2911,7 +2913,8 @@ AS
FROM fin_kenmerkfactuur kf
WHERE fin_kenmerk_key = 61
AND kf.fin_factuur_key = fg.fin_factuur_key) boekstuknr,
dagboek
dagboek,
alg_district_key
FROM ( SELECT g.fin_factuur_key,
opdracht_id,
fin_factuur_datum,
@@ -2931,9 +2934,10 @@ AS
lev_kpn,
kpcode,
kdcode,
g.dagboek
FROM yask_v_factuur_gegevens_veza g
, yask_exp_factuur e
g.dagboek,
g.alg_district_key
FROM yask_v_factuur_gegevens_veza g,
yask_exp_factuur e
WHERE fin_factuur_statuses_key = 6
AND g.fin_factuur_key = e.fin_factuur_key
AND g.dagboek = e.dagboek
@@ -2954,7 +2958,8 @@ AS
lev_kpn,
kpcode,
kdcode,
g.dagboek) fg,
g.dagboek,
g.alg_district_key) fg,
prs_bedrijf b
WHERE fg.prs_bedrijf_key = b.prs_bedrijf_key;
@@ -3046,7 +3051,7 @@ AS
FROM (
SELECT 0 regelnummer,
'I' dagb_type,
'61' dagbknr,
dagboek dagbknr,
'' periode,
'' bkjcode,
boekstuknr,
@@ -3090,6 +3095,7 @@ AS
crdnr,
oms_kop,
boekstuknr,
dagboek,
SUM (bedrag_incl)
bedrag
FROM yask_v_bron_export_exact_veza
@@ -3098,11 +3104,12 @@ AS
betaalref,
crdnr,
oms_kop,
boekstuknr) fg
boekstuknr,
dagboek) fg
UNION ALL
SELECT 1 regelnummer,
'I' dagb_type,
'61' dagbknr,
dagboek dagbknr,
'' periode,
'' bkjcode,
boekstuknr,
@@ -3157,19 +3164,19 @@ CREATE OR REPLACE PROCEDURE yask_select_exact_veza (p_applname IN VARCHAR2,
)
AS
CURSOR c
CURSOR c (c_district_key NUMBER)
IS
SELECT crdnr, factuur_nr, MAX(datum) datum
FROM yask_v_bron_export_exact_veza
WHERE dagboek = 'ML'
WHERE alg_district_key = c_district_key
GROUP BY crdnr, factuur_nr;
CURSOR c_sub (c_crdnr VARCHAR2, c_factuur_nr VARCHAR2)
CURSOR c_sub (c_crdnr VARCHAR2, c_factuur_nr VARCHAR2, c_district_key NUMBER)
IS
SELECT *
FROM yask_v_bron_export_exact_veza
WHERE COALESCE(crdnr, 'CrdNr') = COALESCE(c_crdnr, 'CrdNr')
AND dagboek = 'ML'
AND alg_district_key = c_district_key
AND factuur_nr = c_factuur_nr;
CURSOR cv IS
@@ -3183,6 +3190,8 @@ AS
v_boekstuknummer NUMBER;
v_crdnr PRS_BEDRIJF.PRS_LEVERANCIER_NR%TYPE;
v_factuur_nr FIN_FACTUUR.FIN_FACTUUR_NR%TYPE;
v_dagboek NUMBER;
v_ml_district_key NUMBER := 261;
v_log VARCHAR2(1000);
v_log_prev VARCHAR2 (1000);
@@ -3196,6 +3205,7 @@ BEGIN
v_bestand := SUBSTR(p_applname, 1, 12);
v_crdnr := 'Q';
v_factuur_nr := 'Q';
v_dagboek := FLX.getflex('ALG', 1260, v_ml_district_key, 'D');
-- Eerst opruiming
DELETE FROM imp_log
@@ -3213,13 +3223,13 @@ BEGIN
-- Bewaar de factuur keys in een tijdelijke tabel zodat bij het verwerken (nieuwe export)
-- deze keys gebruikt kunnen worden.
DELETE yask_exp_factuur
WHERE dagboek = 'ML';
WHERE alg_district_key = v_ml_district_key; -- mindlabs
INSERT INTO yask_exp_factuur (fin_factuur_key, dagboek)
( SELECT DISTINCT fin_factuur_key, 'ML'
INSERT INTO yask_exp_factuur (fin_factuur_key, dagboek, alg_district_key)
( SELECT DISTINCT fin_factuur_key, dagboek, v_ml_district_key -- mindlabs
FROM yask_v_factuur_gegevens_veza
WHERE fin_factuur_statuses_key = 6
AND dagboek = 'ML'
AND alg_district_key = v_ml_district_key -- mindlabs
AND fin_factuur_datum > SYSDATE - (5 * 365) -- Check op geldige factuurdatum:
AND fin_factuur_datum < SYSDATE + 365 -- facturen mogen niet ouder zijn dan 5 jaar of meer dan <20><>n jaar in de toekomst.
);
@@ -3234,11 +3244,11 @@ BEGIN
IF v_boekstuknummer IS NULL
THEN
v_boekstuknummer := FAC.safe_to_number(TO_CHAR(SYSDATE, 'YY') || '610000');
v_boekstuknummer := FAC.safe_to_number(TO_CHAR(SYSDATE, 'YY') || v_dagboek || '0000');
END IF;
-- nu gaan we de boekstuknummer invullen
FOR rec IN c
FOR rec IN c(v_ml_district_key)
LOOP
BEGIN
-- Als we een nieuwe leverancier/factuurnummer tegenkomen gaan we het boekstuknummer ophogen.
@@ -3249,7 +3259,7 @@ BEGIN
v_factuur_nr := rec.factuur_nr;
END IF;
FOR rec1 IN c_sub (v_crdnr, v_factuur_nr)
FOR rec1 IN c_sub (v_crdnr, v_factuur_nr, v_ml_district_key)
LOOP
BEGIN
-- Boekstuknummer aanmaken
@@ -3301,7 +3311,7 @@ EXCEPTION
v_bestand);
-- Als er iets fout gegaan is willen we voorkomen dat de verwerk actie uitgevoerd wordt.
DELETE yask_exp_factuur
WHERE dagboek = 'ML';
WHERE alg_district_key = v_ml_district_key; -- mindlabs
END;
/
@@ -3323,14 +3333,14 @@ CREATE OR REPLACE PROCEDURE yask_select_vw_exact_veza (
p_applrun IN VARCHAR2
)
AS
CURSOR c_fact
CURSOR c_fact (c_district_key NUMBER)
IS
SELECT f.fin_factuur_key
FROM yask_exp_factuur f
, yask_v_factuur_gegevens_veza fg
WHERE f.fin_factuur_key = fg.fin_factuur_key
AND f.dagboek = fg.dagboek
AND fg.dagboek = 'ML' -- Mindlabs
AND f.alg_district_key = c_district_key -- mindlabs
AND fg.fin_factuur_statuses_key = 6;
v_errormsg VARCHAR (200);
@@ -3341,9 +3351,11 @@ AS
v_bestand VARCHAR2(12);
v_logdate DATE;
v_volgnr NUMBER;
v_ml_district_key NUMBER := 261;
BEGIN
v_errormsg := 'Geen akties';
-- Facilitor user
v_aanvrager := 3;
@@ -3355,7 +3367,7 @@ BEGIN
DELETE fac_rapport
WHERE fac_rapport_node = v_bestand;
FOR rec1 IN c_fact
FOR rec1 IN c_fact(v_ml_district_key)
LOOP
BEGIN
UPDATE fin_factuur f
@@ -3375,7 +3387,7 @@ BEGIN
END;
END LOOP;
DELETE yask_exp_factuur
WHERE dagboek = 'ML';
WHERE alg_district_key = v_ml_district_key;
END;
/