AAIT#73079 -- Inrichten verkoopinterfaces O2C - IKEA de VK-interface Maintenance CAP-methodiek - herziening

svn path=/Customer/trunk/; revision=69878
This commit is contained in:
Jos Migo
2025-07-30 09:48:17 +00:00
parent b66b8d40f3
commit 211a5874c3

View File

@@ -869,14 +869,14 @@ AS
c.aantal_runs_verwerkt,
c.datum_eerst_run_verwerkt,
c.fin_verkoopfactuur_key,
CASE WHEN bedrag_regels_opdracht >= 500 AND (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)) < 500
THEN -ROUND(500 - (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)), 2) -- (deel) cap nog teruggeven/crediteren
WHEN bedrag_regels_opdracht < 500 AND bedrag_regels_opdracht - (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)) > 0
THEN -ROUND(bedrag_regels_opdracht - (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0))) -- (deel) cap nog teruggeven/crediteren
WHEN bedrag_regels_opdracht < 500 AND bedrag_regels_opdracht - (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)) < -500
THEN ROUND((COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)),2) -- het totale gecrediteerde cap weer terugnemen/debiteren
WHEN bedrag_regels_opdracht < 500 AND bedrag_regels_opdracht - (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)) BETWEEN 0 AND -500
THEN ROUND(bedrag_regels_opdracht - (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)),2) -- het gecrediteerde deel van de cap weer terugnemen/debiteren
CASE
WHEN bedrag_regels_opdracht >= 500 AND -(COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)) < 500
THEN -ROUND(500 + (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)), 2) -- (deel) cap nog teruggeven/crediteren
WHEN bedrag_regels_opdracht < 500 AND bedrag_regels_opdracht + (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)) > 0
THEN -ROUND(bedrag_regels_opdracht + (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0))) -- (deel) cap nog teruggeven/crediteren
WHEN bedrag_regels_opdracht < 500
AND bedrag_regels_opdracht + (COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)) < 0
THEN -ROUND(bedrag_regels_opdracht +(COALESCE(bedrag_regels_opdracht_cap_verwerkt, 0) + COALESCE(bedrag_regels_opdracht_cap_onverwerkt, 0)),2) -- het gecrediteerde deel van de cap weer terugnemen/debiteren
ELSE 0
END
cap_te_verrekenen_in_run
@@ -886,15 +886,15 @@ AS
b.mld_opdr_key,
b.mld_opdr_nr,
om.maintenance_cap_oms,
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')= 0 AND fin_verkoopfactuur_bedrag <> 0)
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')= 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_c8 = 'CORE')
bedrag_regels_opdracht,
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')= 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NOT NULL)
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')= 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NOT NULL AND fin_verkoopfactuur_c8 = 'CORE')
bedrag_regels_opdracht_verwerkt,
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')= 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NULL)
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')= 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NULL AND fin_verkoopfactuur_c8 = 'CORE')
bedrag_regels_opdracht_onverwerkt,
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')> 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NOT NULL)
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')> 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NOT NULL AND fin_verkoopfactuur_c8 = 'CORE')
bedrag_regels_opdracht_cap_verwerkt,
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')> 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NULL)
(SELECT sum(fin_verkoopfactuur_bedrag) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')> 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NULL AND fin_verkoopfactuur_c8 = 'CORE')
bedrag_regels_opdracht_cap_onverwerkt,
(SELECT count(*) FROM (SELECT fin_verkoopfactuurkop_key FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')= 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NOT NULL GROUP BY fin_verkoopfactuurkop_key))
aantal_runs_verwerkt,
@@ -902,7 +902,7 @@ AS
datum_eerst_run_verwerkt,
(SELECT mld_opdr_datumbegin FROM mld_opdr WHERE mld_opdr_key = b.mld_opdr_key)
opdrachtdatum,
(SELECT max(fin_verkoopfactuur_key) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_maand = b.fin_verkoopfactuur_maand AND fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')= 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NULL)
(SELECT max(fin_verkoopfactuur_key) FROM fin_verkoopfactuur WHERE fin_verkoopfactuur_maand = b.fin_verkoopfactuur_maand AND fin_verkoopfactuur_refkey = b.mld_opdr_key AND fin_verkoopfactuur_xmlnode = 'opdracht' AND INSTR(prs_kostensoort_oms, 'CV CAP')= 0 AND fin_verkoopfactuur_bedrag <> 0 AND fin_verkoopfactuur_datum IS NULL AND fin_verkoopfactuur_c8 = 'CORE')
fin_verkoopfactuur_key -- aan deze laatste openstaande verkoopregel van dat jaar (fin_verkoopfactuur_maand) zetten we CAP op (als we per verkooprun 1 CAP-regel gaan toevoegen)
FROM
(SELECT o.mld_opdr_key,
@@ -4013,7 +4013,7 @@ BEGIN
(
fin_verkoopfactuur_id, fin_verkoopfactuur_xmlnode, fin_verkoopfactuur_refkey, fin_verkoopfactuur_aanmaak, prs_kostenplaats_nr, prs_debiteur_naam, prs_kostensoort_oms, prs_kostensoort_opmerking, prs_kostensoortgrp_oms, fin_verkoopfactuur_omschr, fin_verkoopfactuur_bedrag, fin_btwtabelwaarde_code, fin_verkoopfactuur_maand, fin_verkoopfactuur_c1, fin_verkoopfactuur_c2, fin_verkoopfactuur_c3, fin_verkoopfactuur_c5, fin_verkoopfactuur_c8, fin_verkoopfactuur_c6, fin_verkoopfactuur_n4, fin_verkoopfactuur_n5
)
SELECT v.fin_verkoopfactuur_id, v.fin_verkoopfactuur_xmlnode, v.fin_verkoopfactuur_refkey, v.fin_verkoopfactuur_aanmaak, v.prs_debiteur_naam, v.prs_debiteur_naam, 'CV CAP' || DECODE (INSTR(v.prs_kostensoort_oms, ' VJ'), 0 , '', ' VJ'), '', v.prs_kostensoortgrp_oms, v.fin_verkoopfactuur_omschr,
SELECT v.fin_verkoopfactuur_id, v.fin_verkoopfactuur_xmlnode, v.fin_verkoopfactuur_refkey, v.fin_verkoopfactuur_aanmaak, v.prs_debiteur_naam, v.prs_debiteur_naam, 'CV CAP' || DECODE (INSTR(v.prs_kostensoort_oms, ' VJ'), 0 , '', ' VJ'), 'Maintenance cap', v.prs_kostensoortgrp_oms, v.fin_verkoopfactuur_omschr,
c.cap_te_verrekenen_in_run,
v.fin_btwtabelwaarde_code, v.fin_verkoopfactuur_maand, v.fin_verkoopfactuur_c1, v.fin_verkoopfactuur_c2, 'X', v.fin_verkoopfactuur_c5, v.fin_verkoopfactuur_c8, v.fin_verkoopfactuur_c6, v.fin_verkoopfactuur_n4, v.fin_verkoopfactuur_n5
FROM fin_verkoopfactuur v,