NYBU#35710 Factuurbuffer bevat onverklaarbare regels

svn path=/Customer/trunk/; revision=28458
This commit is contained in:
Peter Koerhuis
2016-03-10 17:11:09 +00:00
parent dd02311f16
commit 5cd186c3f0

View File

@@ -2818,7 +2818,8 @@ AS
COALESCE(sannr.prs_kenmerklink_waarde, codanr.prs_kenmerklink_waarde) codanr,
k.prs_kostenplaats_nr budgetnr,
rg.alg_ruimte_key,
rg.alg_ruimte_aanduiding alg_ruimte_nr
rg.alg_ruimte_aanduiding alg_ruimte_nr,
allonge.cnt_kenmerkcontract_waarde maak_allonge
FROM (SELECT * FROM cnt_contract
WHERE ins_discipline_key IN (221, 561) ) c,
(SELECT kc.* FROM cnt_kenmerkcontract kc, cnt_kenmerk k
@@ -2832,6 +2833,10 @@ AS
WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtkenmerk_key = 102
AND kc.cnt_kenmerkcontract_verwijder IS NULL) ruimte,
(SELECT kc.* FROM cnt_kenmerkcontract kc, cnt_kenmerk k
WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtkenmerk_key = 681
AND kc.cnt_kenmerkcontract_verwijder IS NULL) allonge,
prs_perslid p,
prs_v_perslid_fullnames pf,
(SELECT * FROM prs_kenmerklink
@@ -2847,6 +2852,7 @@ AS
WHERE huurder.cnt_contract_key(+) = c.cnt_contract_key
AND pnummer.cnt_contract_key(+) = c.cnt_contract_key
AND ruimte.cnt_contract_key(+) = c.cnt_contract_key
AND allonge.cnt_contract_key(+) = c.cnt_contract_key
AND kp.prs_kostenplaats_key = c.prs_kostenplaats_key
AND kg.prs_kostenplaatsgrp_key(+) = kp.prs_kostenplaatsgrp_key
AND p.prs_perslid_key(+) = fac.safe_to_number(huurder.cnt_kenmerkcontract_waarde)
@@ -2873,7 +2879,8 @@ AS
COALESCE(sannr.prs_kenmerklink_waarde, codanr.prs_kenmerklink_waarde) codanr,
ak.prs_kostenplaats_nr budgetnr,
r.alg_ruimte_key,
r.alg_ruimte_nr
r.alg_ruimte_nr,
allonge.cnt_kenmerkcontract_waarde maak_allonge
FROM cnt_contract c,
(SELECT * FROM cnt_kenmerkcontract
WHERE cnt_kenmerk_key = 81) student,
@@ -2892,6 +2899,10 @@ AS
(SELECT * FROM cnt_kenmerkcontract
WHERE cnt_kenmerk_key = 63
AND cnt_kenmerkcontract_verwijder IS NULL) budgnr,
(SELECT kc.* FROM cnt_kenmerkcontract kc, cnt_kenmerk k
WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key
AND k.cnt_srtkenmerk_key = 681
AND kc.cnt_kenmerkcontract_verwijder IS NULL) allonge,
alg_ruimte r,
prs_afdeling a,
prs_kostenplaats kp,
@@ -2903,6 +2914,7 @@ AS
AND pf.prs_perslid_key = p.prs_perslid_key
AND codanr.prs_link_key(+) = p.prs_perslid_key
AND sannr.prs_link_key(+) = p.prs_perslid_key
AND allonge.cnt_contract_key(+) = c.cnt_contract_key
AND studkam.cnt_contract_key = c.cnt_contract_key
AND r.alg_ruimte_key(+) = fac.safe_to_number(studkam.cnt_kenmerkcontract_waarde)
AND budgnr.cnt_contract_key(+) = c.cnt_contract_key
@@ -2933,7 +2945,8 @@ AS
kpngrp, kpn,
btw.fac_usrdata_omschr btw, fac.safe_to_number(btw.fac_usrdata_code) perc,
-bedrag bedrag,
omschr_key, bedrag_key
omschr_key, bedrag_key,
maak_allonge
FROM refunds r,
contracten c,
fac_usrdata btw
@@ -3469,52 +3482,57 @@ BEGIN
-- NYBU#34759: Voorheen werden refunds niet meegenomen bij het maken van allongeregels,
-- maar dan kun je refunds niet ongedaan maken
v_betreft := rec.betreft;
v_errormsg := 'Refundregels huur aanmaken';
-- Plaats in huurbuffer
-- met juiste kostenplaatsen en -soorten, omschrijving
INSERT INTO nybu_huur_buffer (
betreft, datum_export,
periode, isMutatie,
deb_nr,
achternaam, naam_full, prs_perslid_key,
cnt_contract_nr, cnt_contract_key,
kamer, alg_ruimte_key,
omschrijving,
kpn_code_afd, kpn_code_proj,
prs_kostensoort_refcode,
btw_code, btw_perc,
bedrag)
VALUES (
v_betreft, p_run,
p_periode, 0,
rec.bill_to,
rec.prs_perslid_naam, rec.prs_perslid_naam_full, rec.prs_perslid_key,
rec.cnt_contract_nr_versie, rec.cnt_contract_key,
rec.alg_ruimte_nr, rec.alg_ruimte_key,
rec.omschrijving,
rec.kpngrp, rec.kpn,
v_kostensoort,
rec.btw, rec.perc,
rec.bedrag);
-- Als we met de definitieve export bezig zijn (p_mode=1),
-- maak dan de refundkenmerken bij deze refundregel leeg, voor een schone lei
IF (p_mode = 1)
-- NYBU#35710: Alleen allonges voor refunds aanmaken als "Maak allonges" gezet is
-- Als we allongeregels aan het maken zijn (p_mode=2), sla dan alle contracten zonder "Maak allonge(s)" over
IF NOT (p_mode = 2 AND rec.maak_allonge IS NULL)
THEN
-- Refundvelden leegmaken
UPDATE cnt_kenmerkcontract
SET cnt_kenmerkcontract_verwijder = SYSDATE
WHERE cnt_kenmerk_key IN (rec.omschr_key, rec.bedrag_key)
AND cnt_contract_key = rec.cnt_contract_key
AND cnt_kenmerkcontract_verwijder IS NULL;
-- Tracking
fac.trackaction('CNTUPD',
rec.cnt_contract_key,
4, -- _FACILITOR
NULL,
'Contract updated'|| chr(10) ||
'Refunded <20>'||rec.bedrag||' as '||rec.omschrijving||' ('||rec.btw||') ');
v_betreft := rec.betreft;
v_errormsg := 'Refundregels huur aanmaken';
-- Plaats in huurbuffer
-- met juiste kostenplaatsen en -soorten, omschrijving
INSERT INTO nybu_huur_buffer (
betreft, datum_export,
periode, isMutatie,
deb_nr,
achternaam, naam_full, prs_perslid_key,
cnt_contract_nr, cnt_contract_key,
kamer, alg_ruimte_key,
omschrijving,
kpn_code_afd, kpn_code_proj,
prs_kostensoort_refcode,
btw_code, btw_perc,
bedrag)
VALUES (
v_betreft, p_run,
p_periode, 0,
rec.bill_to,
rec.prs_perslid_naam, rec.prs_perslid_naam_full, rec.prs_perslid_key,
rec.cnt_contract_nr_versie, rec.cnt_contract_key,
rec.alg_ruimte_nr, rec.alg_ruimte_key,
rec.omschrijving,
rec.kpngrp, rec.kpn,
v_kostensoort,
rec.btw, rec.perc,
rec.bedrag);
-- Als we met de definitieve export bezig zijn (p_mode=1),
-- maak dan de refundkenmerken bij deze refundregel leeg, voor een schone lei
IF (p_mode = 1)
THEN
-- Refundvelden leegmaken
UPDATE cnt_kenmerkcontract
SET cnt_kenmerkcontract_verwijder = SYSDATE
WHERE cnt_kenmerk_key IN (rec.omschr_key, rec.bedrag_key)
AND cnt_contract_key = rec.cnt_contract_key
AND cnt_kenmerkcontract_verwijder IS NULL;
-- Tracking
fac.trackaction('CNTUPD',
rec.cnt_contract_key,
4, -- _FACILITOR
NULL,
'Contract updated'|| chr(10) ||
'Refunded <20>'||rec.bedrag||' as '||rec.omschrijving||' ('||rec.btw||') ');
END IF;
END IF;
END LOOP;
@@ -9635,7 +9653,7 @@ AS
BEGIN adm.systrackscriptId('$Id$', 0); END;
/
BEGIN fac.registercustversion ('nybu', 35); END;
BEGIN fac.registercustversion ('nybu', 36); END;
/
COMMIT;