YASK#87240 Dubbele pandcodes worden nu ook ondersteund.

svn path=/Customer/trunk/; revision=68310
This commit is contained in:
Arthur Egberink
2025-03-06 15:53:09 +00:00
parent c168abf733
commit e974b129e0

View File

@@ -5922,9 +5922,10 @@ BEGIN
CASE rec.fac_imp_file_index
WHEN 1 THEN IF v_header1 = 'Variabele kosten losse condimenten:' THEN v_header_chk1 := TRUE; v_onderwerp := v_header1; END IF;
IF v_header1 = 'Variabele kosten consumpties:' THEN v_header_chk1 := TRUE; v_onderwerp := v_header1; END IF;
WHEN 2 THEN IF v_header1 = 'Maand:' THEN v_header_jaar := FAC.safe_to_number(SUBSTR(v_header2,1,4)); v_header_maand := FAC.safe_to_number(SUBSTR(v_header2,6,2)); END IF; -- consumpties
WHEN 3 THEN IF v_header1 = 'Year' THEN v_header_jaar := FAC.safe_to_number(v_header2); END IF; -- losse condimenten
WHEN 4 THEN IF v_header1 = 'Month' THEN v_header_maand := FAC.safe_to_number(v_header2); END IF; -- losse condimenten
IF v_header1 = 'YEAR' THEN v_header_jaar := FAC.safe_to_number(v_header2); END IF; -- consumpties
WHEN 5 THEN IF v_header1 = 'PERIOD' THEN v_header_maand := FAC.safe_to_number(v_header2); END IF; -- consumpties
WHEN 7 THEN IF v_header1 = 'Pandcodes' AND v_header2 = 'City' AND v_header3 = 'Street' AND v_header4 = 'BTW%' AND (v_header5 = 'Total' OR v_header5 = 'Totaal') THEN v_header_chk2 := TRUE; END IF; -- losse condimenten
WHEN 8 THEN IF v_header1 = 'Pandcode' AND v_header2 = 'CITY_SHIP_TO' AND v_header3 = 'STREET_SHIP_TO' AND v_header4 = 'Total' THEN v_header_chk2 := TRUE; END IF; -- consumpties
ELSE NULL;
@@ -6036,8 +6037,18 @@ END;
CREATE OR REPLACE PROCEDURE yask_update_rabo_automaten (p_import_key IN NUMBER)
AS
CURSOR c_cursor IS
SELECT *
SELECT onderwerp,
alg_locatie_key,
alg_gebouw_key,
periode,
SUM(bedrag) bedrag,
btw
FROM yask_imp_rabo_automaten
GROUP BY onderwerp,
alg_locatie_key,
alg_gebouw_key,
periode,
btw
ORDER BY alg_gebouw_key;
CURSOR c_mld (c_stdmelding_key IN NUMBER)
@@ -6106,6 +6117,7 @@ AS
BEGIN
-- initialisatie
v_gebouw_key_prev := -1;
v_opdr_kosten := 0;
v_errormsg := 'Opdrachttype opzoeken om de opdracht onder aan te maken';
SELECT mld_typeopdr_key
INTO v_typeopdr_key
@@ -6230,6 +6242,7 @@ BEGIN
-- Controleer of er al een opdracht bestaat.
v_errormsg := 'Controleer of RB opdracht al bestaat. ' || rec.onderwerp || ' | ' || rec.alg_locatie_key || ' | ' || rec.alg_gebouw_key || ' | ' || rec.periode || '-' || rec.bedrag;
SELECT count(*)
INTO v_count
FROM mld_opdr o, mld_melding m
@@ -6269,7 +6282,7 @@ BEGIN
v_opdr_datumbegin,
v_opdr_einddatum,
'MLD',
'Automaat kosten export-maand: ' || TO_CHAR (TRUNC(SYSDATE, 'MM') -1, 'MON-YYYY'),
rec.onderwerp || ' ' || TO_CHAR (v_opdr_datumbegin, 'MON-YYYY'),
v_mld_opdr_bedrijfopdr_volgnr)
RETURNING mld_opdr_key INTO v_opdr_key;
@@ -6312,16 +6325,24 @@ BEGIN
VBXX.set_opslag_perc (v_opdr_key);
ELSE
fac.imp_writelog (p_import_key, 'E', 'RB opdracht bestaat al', rec.onderwerp || ' | ' || rec.alg_locatie_key || ' | ' || rec.alg_gebouw_key || ' | ' || rec.periode || '-' || rec.bedrag);
v_opdr_key := NULL; -- Als de opdracht al bestaat gaan we er niets meer op aanpassen.
END IF;
END;
v_gebouw_key_prev := rec.alg_gebouw_key;
v_opdr_kosten := 0;
END IF;
-- Voeg het kenmerk met het bedrag toe en tel het totaal voor de opdracht op.
add_kenmerk_btw_bedrag (v_opdr_key, v_typeopdr_key, rec.btw, rec.bedrag);
v_opdr_kosten := v_opdr_kosten + rec.bedrag;
UPDATE mld_opdr SET mld_opdr_kosten = v_opdr_kosten, mld_opdr_materiaal = v_opdr_kosten WHERE mld_opdr_key = v_opdr_key;
-- Aanpassen van het kenmerk per btw tarief en het totaalbedrag invullen. Dit doen we alleen als de opdracht niet al bestond.
IF v_opdr_key IS NOT NULL
THEN
-- Voeg het kenmerk met het bedrag toe en tel het totaal voor de opdracht op.
add_kenmerk_btw_bedrag (v_opdr_key, v_typeopdr_key, rec.btw, rec.bedrag);
v_opdr_kosten := v_opdr_kosten + rec.bedrag;
UPDATE mld_opdr SET mld_opdr_kosten = v_opdr_kosten, mld_opdr_materiaal = v_opdr_kosten WHERE mld_opdr_key = v_opdr_key;
VBXX.set_verkoopprijs (v_opdr_key);
END IF;
END LOOP;
-- afmelden oude meldingen