From b1fcb46add6b5389de372d88f99eac94c4361548 Mon Sep 17 00:00:00 2001 From: Arthur Egberink Date: Thu, 15 May 2025 14:35:26 +0000 Subject: [PATCH] YASK#88964 -- Opslagpercentage ontbreekt bij reversed billing Maas opdrachten via import svn path=/Customer/trunk/; revision=69035 --- VBXX/vbxx.sql | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/VBXX/vbxx.sql b/VBXX/vbxx.sql index 91fb57b19..047c28144 100644 --- a/VBXX/vbxx.sql +++ b/VBXX/vbxx.sql @@ -171,7 +171,56 @@ AS AND o.mld_opdr_key = p_opdr_key; -- Controleer of het leveranciersnummer is ingevuld in de opslag tabel. Dan - -- geldt deze als eerste. + -- gelden deze als eerste. + + -- Controleer of de NEN code en bedrijf is ingevuld in de opslag tabel. Dan + -- geldt deze altijd. + SELECT MAX(opslag) + INTO v_opslag + FROM vbxx_imp_opslag + WHERE (alg_locatie_key = v_locatie_key + OR (alg_locatie_key IS NULL AND alg_district_key = v_district_key) + OR (alg_locatie_key IS NULL AND alg_district_key IS NULL AND alg_regio_key = v_regio_key) + ) + AND prs_bedrijf_key = v_bedrijf_key + AND prs_kostensoort_key = v_kostensoort_key + AND ( (ingangsdatum IS NULL AND einddatum IS NULL) + OR (ingangsdatum IS NOT NULL AND einddatum IS NULL AND v_melding_datum >= ingangsdatum) + OR (ingangsdatum IS NULL AND einddatum IS NOT NULL AND v_melding_datum < einddatum+1) + OR (ingangsdatum IS NOT NULL AND einddatum IS NOT NULL AND v_melding_datum BETWEEN ingangsdatum AND einddatum+1) + ) + AND imp_opslag_verwijder IS NULL; + + IF v_opslag IS NOT NULL + THEN + MLD.upsertopdrachtkenmerk (v_opslag_kenmerk_key, p_opdr_key, v_opslag); + RETURN; + END IF; + + -- Controleer of de vakgroep icm vakgroeptype en bedrijf is ingevuld in de opslag tabel. + SELECT MAX(opslag) + INTO v_opslag + FROM vbxx_imp_opslag + WHERE (alg_locatie_key = v_locatie_key + OR (alg_locatie_key IS NULL AND alg_district_key = v_district_key) + OR (alg_locatie_key IS NULL AND alg_district_key IS NULL AND alg_regio_key = v_regio_key) + ) + AND prs_bedrijf_key = v_bedrijf_key + AND ins_discipline_key = v_discipline_key + AND ( (ingangsdatum IS NULL AND einddatum IS NULL) + OR (ingangsdatum IS NOT NULL AND einddatum IS NULL AND v_melding_datum >= ingangsdatum) + OR (ingangsdatum IS NULL AND einddatum IS NOT NULL AND v_melding_datum < einddatum +1) + OR (ingangsdatum IS NOT NULL AND einddatum IS NOT NULL AND v_melding_datum BETWEEN ingangsdatum AND einddatum+1) + ) + AND imp_opslag_verwijder IS NULL; + + IF v_opslag IS NOT NULL + THEN + MLD.upsertopdrachtkenmerk (v_opslag_kenmerk_key, p_opdr_key, v_opslag); + RETURN; + END IF; + + -- alleen het bedrijf is ingevuld. SELECT MAX(opslag) INTO v_opslag FROM vbxx_imp_opslag @@ -193,6 +242,7 @@ AS RETURN; END IF; + -- bedrijf is niet gevuld -- Controleer of de NEN code is ingevuld in de opslag tabel. Dan -- geldt deze altijd. SELECT MAX(opslag)