From 2a116c047e31ef69826c2630d1cc12f44f603e9b Mon Sep 17 00:00:00 2001 From: Maarten van der Heide Date: Wed, 7 Apr 2021 17:15:17 +0000 Subject: [PATCH] BSSC#55692 Facturatieproces+BSSC#65191 SPS-koppeling (Smart Parking System) svn path=/Customer/trunk/; revision=50694 --- BSSC/bssc.sql | 1136 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 738 insertions(+), 398 deletions(-) diff --git a/BSSC/bssc.sql b/BSSC/bssc.sql index 11d21dc2f..7600cd051 100644 --- a/BSSC/bssc.sql +++ b/BSSC/bssc.sql @@ -16,6 +16,129 @@ SET DEFINE OFF ------ payload begin ------ +CREATE OR REPLACE PACKAGE BSSC +IS + PROCEDURE freezeevent (p_key IN NUMBER); +END; +/ + +CREATE OR REPLACE PACKAGE BODY BSSC +IS + PROCEDURE freezeevent (p_key IN NUMBER) + AS + -- Verwerk reservering/event (in juiste volgorde)! + CURSOR c3 + IS + SELECT DISTINCT '[' || TO_CHAR (rra.res_rsv_ruimte_key) || '|' || TO_CHAR (rra.res_rsv_artikel_key) || '] ' aanduiding, + rra.res_rsv_ruimte_key, + rra.res_rsv_artikel_key, + NULL res_rsv_deel_key, + rra.res_status_bo_key, + rra.res_artikel_key + FROM res_v_aanwezigrsv_artikel rra + WHERE rra.res_rsv_ruimte_key = p_key + UNION ALL + SELECT DISTINCT '[' || TO_CHAR (rrd.res_rsv_ruimte_key) || '|' || TO_CHAR (rrd.res_rsv_deel_key) || '] ' aanduiding, + rrd.res_rsv_ruimte_key, + NULL res_rsv_artikel_key, + rrd.res_rsv_deel_key, + rrd.res_status_bo_key, + rrd.res_deel_key + FROM res_v_aanwezigrsv_deel rrd + WHERE rrd.res_rsv_ruimte_key = p_key + UNION ALL + SELECT DISTINCT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '] ' aanduiding, + rrr.res_rsv_ruimte_key, + NULL res_rsv_artikel_key, + NULL res_rsv_deel_key, + rrr.res_status_bo_key, + NULL res_artikel_key + FROM res_v_aanwezigrsv_ruimte rrr + WHERE rrr.res_rsv_ruimte_key = p_key + ORDER BY 3, 4, 2; + + c_applname VARCHAR2 (50) := 'FREEZE_EV'; + v_errormsg VARCHAR2 (1000); + oracle_err_num NUMBER; + oracle_err_mes VARCHAR2 (200); + --v_status_bo_key NUMBER; + BEGIN +/* + v_errormsg := 'Fout bepalen event'; + + SELECT res_status_bo_key + INTO v_status_bo_key + FROM res_v_aanwezigrsv_ruimte + WHERE res_rsv_ruimte_key = p_key; + + v_errormsg := 'Fout bijwerken status'; + + IF v_status_bo_key = 5 -- Afgemeld + THEN +*/ + FOR rec IN c3 + LOOP + BEGIN + IF rec.res_rsv_artikel_key IS NOT NULL + THEN -- Catering-regel + IF rec.res_status_bo_key = 5 -- Afgemeld + THEN + v_errormsg := 'Fout verwerken res_rsv_artikel'; + + UPDATE res_rsv_artikel + SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date) + WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key; + + v_errormsg := 'Fout tracken verwerking'; + + fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering verwerkt'); + END IF; + ELSIF rec.res_rsv_deel_key IS NOT NULL + THEN -- Voorziening-regel + IF rec.res_status_bo_key = 5 + THEN + v_errormsg := 'Fout verwerken res_rsv_deel'; + + UPDATE res_rsv_deel + SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date) + WHERE res_rsv_deel_key = rec.res_rsv_deel_key; + + v_errormsg := 'Fout tracken verwerking'; + + fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Voorziening verwerkt'); + END IF; + ELSE -- Ruimte-regel + IF rec.res_status_bo_key = 5 -- Afgemeld + THEN + v_errormsg := 'Fout verwerken res_rsv_ruimte'; + + UPDATE res_rsv_ruimte + SET res_status_bo_key = 6 -- AV + WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key; + + v_errormsg := 'Fout tracken verwerking'; + + fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, NULL); + END IF; + END IF; + END; + END LOOP; + --END IF; + + fac.writelog (c_applname, 'S', 'Proces: Event ' || TO_CHAR (p_key) || ' bevroren', ''); + COMMIT; + EXCEPTION + WHEN OTHERS + THEN + oracle_err_num := SQLCODE; + oracle_err_mes := SUBSTR (SQLERRM, 1, 100); + v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')'; + fac.writelog (c_applname, 'E', v_errormsg, ''); + COMMIT; + END freezeevent; +END; +/ + CREATE OR REPLACE VIEW bssc_v_rap_import_log ( fclt_f_applicatie, @@ -681,18 +804,29 @@ AS AND p.prs_perslid_key = pf.prs_perslid_key; -- BSSC#55692: Facturatie verhuur (M2 en meer)! +-- V Huur niet op basis van Terieftabel, maar kenmerk 861=Huurprijs (per jaar) +-- V Geen automatische facturatie op basis van kenmerk 862=Checkbox +-- V Kenmerk 870=Start facturatie huur +-- V Kenmerk 901=Duty manager +-- V Kenmerk 902=Koffieautomaten +-- V Kenmerk 641=Onbelaste huurder??? CREATE OR REPLACE VIEW bssc_v_fact_actual AS WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '202104') maand -- TODO FROM fin_verkoopfactuur) SELECT '*CONCEPT*' fin_verkoopfactuur_id, -- Huur! - 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier - 'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO + 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO + --'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO '0000' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! - 'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- Huur + --'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- Huur + 'CHV - Huur' regel, -- Huur + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, - x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, - --x.cnt_contract_korting, -- Korting % + 'contract' xmlnode, + x.cnt_contract_key refkey, -- !!! + x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! + x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) @@ -716,37 +850,32 @@ AS LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet rxo.alg_ruimte_opp_alt1 aantal, -- VVO - tar.fac_usrdata_prijs tarief, -- Jaartarief per m2 + --tar.fac_usrdata_prijs tarief, -- Jaartarief per m2 + fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2 vvo_toeslag.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagperc. - --korting_pct.fac_usrdata_prijs korting_pct, -- Kortingsperc. verv_toeslag.fac_usrdata_prijs verv_toeslag, -- Vervangend toeslagperc. fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 Huur pa.alg_onroerendgoed_type, pa.alg_onroerendgoed_keys, pa.alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * COALESCE (rxo.alg_ruimte_opp_alt1, 0) * COALESCE (verv_toeslag.fac_usrdata_prijs, 0) * COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) * - --(COALESCE (tar.fac_usrdata_prijs, 0) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * - DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * - --korting_pct.fac_usrdata_prijs * + DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * 1/12, 2) - mndnet, -- Netto maandbedrag (incl. kortingspercentage) + mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * COALESCE (rxo.alg_ruimte_opp_alt1, 0) * COALESCE (verv_toeslag.fac_usrdata_prijs, 0) * COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) * - --(COALESCE (tar.fac_usrdata_prijs, 0) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * - DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * - --korting_pct.fac_usrdata_prijs * + DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 0.21, 0)) * 1/12, 2) mndbtw, -- BTW maandbedrag --TRIM (DECODE (biss_kc1.cnt_kenmerkcontract_waarde, '986', '8110', DECODE (biss_kc2.cnt_kenmerkcontract_waarde, '989', '8110', SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)))) grtboekrek, - DECODE (verv_toeslag.fac_usrdata_key, 1001, SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1), '8110') grtboekrek, + --DECODE (verv_toeslag.fac_usrdata_key, 1001, SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1), '8110') grtboekrek, + DECODE (verv_toeslag.fac_usrdata_key, 1001, '8600', '8110') grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, @@ -754,7 +883,7 @@ AS c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, - c.cnt_contract_korting, + --c.cnt_contract_korting, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, --0.21 btw, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, @@ -807,33 +936,31 @@ AS ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys LEFT JOIN alg_v_aanwezigruimte rxo ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key - LEFT JOIN cnt_kenmerkcontract tt_kc - ON x.cnt_contract_key = tt_kc.cnt_contract_key - AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL - AND tt_kc.cnt_kenmerk_key = 401 -- Tarieftabel - LEFT JOIN fac_v_aanwezigusrdata tt_ud - ON fac.safe_to_number (tt_kc.cnt_kenmerkcontract_waarde) = tt_ud.fac_usrdata_key - LEFT JOIN fac_v_aanwezigusrdata tar - ON fac.safe_to_number (tt_ud.fac_usrdata_code) = tar.fac_usrtab_key - AND SUBSTR (tar.fac_usrdata_code, INSTR (tar.fac_usrdata_code, '/') + 1, 4) = 'Huur' -- Huur-tarief - LEFT JOIN cnt_kenmerkcontract verv_toeslag_kc - ON x.cnt_contract_key = verv_toeslag_kc.cnt_contract_key - AND verv_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL - AND verv_toeslag_kc.cnt_kenmerk_key = 642 -- Vervangend toeslagperc. - LEFT JOIN fac_v_aanwezigusrdata verv_toeslag - ON fac.safe_to_number (verv_toeslag_kc.cnt_kenmerkcontract_waarde) = verv_toeslag.fac_usrdata_key + --LEFT JOIN cnt_kenmerkcontract tt_kc + -- ON x.cnt_contract_key = tt_kc.cnt_contract_key + -- AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL + -- AND tt_kc.cnt_kenmerk_key = 401 -- Tarieftabel + --LEFT JOIN fac_v_aanwezigusrdata tt_ud + -- ON fac.safe_to_number (tt_kc.cnt_kenmerkcontract_waarde) = tt_ud.fac_usrdata_key + --LEFT JOIN fac_v_aanwezigusrdata tar + -- ON fac.safe_to_number (tt_ud.fac_usrdata_code) = tar.fac_usrtab_key + -- AND SUBSTR (tar.fac_usrdata_code, INSTR (tar.fac_usrdata_code, '/') + 1, 4) = 'Huur' -- Huur-tarief + LEFT JOIN cnt_kenmerkcontract tarief + ON x.cnt_contract_key = tarief.cnt_contract_key + AND tarief.cnt_kenmerkcontract_verwijder IS NULL + AND tarief.cnt_kenmerk_key = 861 -- Huurprijs m2/p.j. LEFT JOIN cnt_kenmerkcontract vvo_toeslag_kc ON x.cnt_contract_key = vvo_toeslag_kc.cnt_contract_key AND vvo_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc. LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key - --LEFT JOIN cnt_kenmerkcontract korting_pct_kc - -- ON x.cnt_contract_key = korting_pct_kc.cnt_contract_key - -- AND korting_pct_kc.cnt_kenmerkcontract_verwijder IS NULL - -- AND korting_pct_kc.cnt_kenmerk_key = 403 -- Kortingsperc. - --LEFT JOIN fac_v_aanwezigusrdata korting_pct - -- ON fac.safe_to_number (korting_pct_kc.cnt_kenmerkcontract_waarde) = korting_pct.fac_usrdata_key + LEFT JOIN cnt_kenmerkcontract verv_toeslag_kc + ON x.cnt_contract_key = verv_toeslag_kc.cnt_contract_key + AND verv_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL + AND verv_toeslag_kc.cnt_kenmerk_key = 642 -- Vervangend toeslagperc. + LEFT JOIN fac_v_aanwezigusrdata verv_toeslag + ON fac.safe_to_number (verv_toeslag_kc.cnt_kenmerkcontract_waarde) = verv_toeslag.fac_usrdata_key LEFT JOIN cnt_kenmerkcontract korting_pm2 ON x.cnt_contract_key = korting_pm2.cnt_contract_key AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL @@ -846,15 +973,25 @@ AS -- ON x.cnt_contract_key = biss_kc2.cnt_contract_key -- AND biss_kc2.cnt_kenmerkcontract_verwijder IS NULL -- AND biss_kc2.cnt_kenmerk_key = 647 -- Servicekosten + LEFT JOIN cnt_kenmerkcontract start_fact + ON x.cnt_contract_key = start_fact.cnt_contract_key + AND start_fact.cnt_kenmerkcontract_verwijder IS NULL + AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op + WHERE fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TRUNC (SYSDATE, 'mm') UNION ALL -- M2 correctie! SELECT '*CONCEPT*' fin_verkoopfactuur_id, -- Huur! - 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier - 'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO + 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO + --'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO '0000' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! - 'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- Huur + --'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- Huur + 'CHV - Huur' regel, -- Huur + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, - x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, - --x.cnt_contract_korting, -- Korting % + 'contract' xmlnode, + x.cnt_contract_key refkey, -- !!! + x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! + x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) @@ -878,37 +1015,34 @@ AS LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde) aantal, -- VVO-correctie - tar.fac_usrdata_prijs tarief, -- Jaartarief per m2 + --tar.fac_usrdata_prijs tarief, -- Jaartarief per m2 + fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2 vvo_toeslag.fac_usrdata_prijs vvo_toeslag, -- VVO toeslagperc. - --korting_pct.fac_usrdata_prijs korting_pct, -- Kortingsperc. verv_toeslag.fac_usrdata_prijs verv_toeslag, -- Vervangend toeslagperc. fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 Huur 'C' alg_onroerendgoed_type, -1 alg_onroerendgoed_keys, 'Correctie' alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * COALESCE (fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde), 0) * COALESCE (verv_toeslag.fac_usrdata_prijs, 0) * COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) * --(COALESCE (tar.fac_usrdata_prijs, 0) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * - DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * - --korting_pct.fac_usrdata_prijs * + DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * 1/12, 2) - mndnet, -- Netto maandbedrag (incl. kortingspercentage) + mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * COALESCE (fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde), 0) * COALESCE (verv_toeslag.fac_usrdata_prijs, 0) * COALESCE (vvo_toeslag.fac_usrdata_prijs, 0) * --(COALESCE (tar.fac_usrdata_prijs, 0) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * - DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * - --korting_pct.fac_usrdata_prijs * + DECODE (tarief.cnt_kenmerkcontract_waarde, NULL, 0, fac.safe_to_number (tarief.cnt_kenmerkcontract_waarde) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 0.21, 0)) * 1/12, 2) mndbtw, -- BTW maandbedrag --TRIM (DECODE (biss_kc1.cnt_kenmerkcontract_waarde, '986', '8110', DECODE (biss_kc2.cnt_kenmerkcontract_waarde, '989', '8110', SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)))) grtboekrek, - DECODE (verv_toeslag.fac_usrdata_key, 1001, SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1), '8110') grtboekrek, + --DECODE (verv_toeslag.fac_usrdata_key, 1001, SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1), '8110') grtboekrek, + DECODE (verv_toeslag.fac_usrdata_key, 1001, '8600', '8110') grtboekrek, TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key NULL mld_melding_omschrijving FROM (SELECT c.ins_discipline_key, @@ -916,7 +1050,7 @@ AS c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, - c.cnt_contract_korting, + --c.cnt_contract_korting, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, --0.21 btw, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, @@ -973,33 +1107,31 @@ AS ON x.cnt_contract_key = correctie_m2.cnt_contract_key AND correctie_m2.cnt_kenmerkcontract_verwijder IS NULL AND correctie_m2.cnt_kenmerk_key = 701 -- Correctie m2 - LEFT JOIN cnt_kenmerkcontract tt_kc - ON x.cnt_contract_key = tt_kc.cnt_contract_key - AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL - AND tt_kc.cnt_kenmerk_key = 401 -- Tarieftabel - LEFT JOIN fac_v_aanwezigusrdata tt_ud - ON fac.safe_to_number (tt_kc.cnt_kenmerkcontract_waarde) = tt_ud.fac_usrdata_key - LEFT JOIN fac_v_aanwezigusrdata tar - ON fac.safe_to_number (tt_ud.fac_usrdata_code) = tar.fac_usrtab_key - AND SUBSTR (tar.fac_usrdata_code, INSTR (tar.fac_usrdata_code, '/') + 1, 4) = 'Huur' -- Huur-tarief - LEFT JOIN cnt_kenmerkcontract verv_toeslag_kc - ON x.cnt_contract_key = verv_toeslag_kc.cnt_contract_key - AND verv_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL - AND verv_toeslag_kc.cnt_kenmerk_key = 642 -- Vervangend toeslagperc. - LEFT JOIN fac_v_aanwezigusrdata verv_toeslag - ON fac.safe_to_number (verv_toeslag_kc.cnt_kenmerkcontract_waarde) = verv_toeslag.fac_usrdata_key + --LEFT JOIN cnt_kenmerkcontract tt_kc + -- ON x.cnt_contract_key = tt_kc.cnt_contract_key + -- AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL + -- AND tt_kc.cnt_kenmerk_key = 401 -- Tarieftabel + --LEFT JOIN fac_v_aanwezigusrdata tt_ud + -- ON fac.safe_to_number (tt_kc.cnt_kenmerkcontract_waarde) = tt_ud.fac_usrdata_key + --LEFT JOIN fac_v_aanwezigusrdata tar + -- ON fac.safe_to_number (tt_ud.fac_usrdata_code) = tar.fac_usrtab_key + -- AND SUBSTR (tar.fac_usrdata_code, INSTR (tar.fac_usrdata_code, '/') + 1, 4) = 'Huur' -- Huur-tarief + LEFT JOIN cnt_kenmerkcontract tarief + ON x.cnt_contract_key = tarief.cnt_contract_key + AND tarief.cnt_kenmerkcontract_verwijder IS NULL + AND tarief.cnt_kenmerk_key = 861 -- Huurprijs m2/p.j. LEFT JOIN cnt_kenmerkcontract vvo_toeslag_kc ON x.cnt_contract_key = vvo_toeslag_kc.cnt_contract_key AND vvo_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc. LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key - --LEFT JOIN cnt_kenmerkcontract korting_pct_kc - -- ON x.cnt_contract_key = korting_pct_kc.cnt_contract_key - -- AND korting_pct_kc.cnt_kenmerkcontract_verwijder IS NULL - -- AND korting_pct_kc.cnt_kenmerk_key = 403 -- Kortingsperc. - --LEFT JOIN fac_v_aanwezigusrdata korting_pct - -- ON fac.safe_to_number (korting_pct_kc.cnt_kenmerkcontract_waarde) = korting_pct.fac_usrdata_key + LEFT JOIN cnt_kenmerkcontract verv_toeslag_kc + ON x.cnt_contract_key = verv_toeslag_kc.cnt_contract_key + AND verv_toeslag_kc.cnt_kenmerkcontract_verwijder IS NULL + AND verv_toeslag_kc.cnt_kenmerk_key = 642 -- Vervangend toeslagperc. + LEFT JOIN fac_v_aanwezigusrdata verv_toeslag + ON fac.safe_to_number (verv_toeslag_kc.cnt_kenmerkcontract_waarde) = verv_toeslag.fac_usrdata_key LEFT JOIN cnt_kenmerkcontract korting_pm2 ON x.cnt_contract_key = korting_pm2.cnt_contract_key AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL @@ -1012,16 +1144,25 @@ AS -- ON x.cnt_contract_key = biss_kc2.cnt_contract_key -- AND biss_kc2.cnt_kenmerkcontract_verwijder IS NULL -- AND biss_kc2.cnt_kenmerk_key = 647 -- Servicekosten - WHERE correctie_m2.cnt_kenmerkcontract_waarde IS NOT NULL + LEFT JOIN cnt_kenmerkcontract start_fact + ON x.cnt_contract_key = start_fact.cnt_contract_key + AND start_fact.cnt_kenmerkcontract_verwijder IS NULL + AND start_fact.cnt_kenmerk_key = 870 -- Start facturatie op + WHERE fac.safe_to_date (start_fact.cnt_kenmerkcontract_waarde, 'dd-mm-yyyy') > TRUNC (SYSDATE, 'mm') + AND correctie_m2.cnt_kenmerkcontract_waarde IS NOT NULL UNION ALL -- Bedrag per Kosten-listbox gezet! SELECT '*CONCEPT*' fin_verkoopfactuur_id, - 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier - 'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO + 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO + --'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO SUBSTR ('0' || TO_CHAR (x.cnt_kenmerk_key), -4) || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- ICT/Facilitair/Service/Schoonmaak + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, - x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, - --x.cnt_contract_korting, -- Korting % + 'contract' xmlnode, + x.cnt_contract_key refkey, -- !!! + x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! + x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) @@ -1047,22 +1188,19 @@ AS rxo.alg_ruimte_opp_alt1 aantal, -- VVO tar.fac_usrdata_prijs tarief, -- Jaartarief per m2 DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) vvo_toeslag, -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak) - --1 korting_pct, -- Kortingsperc. - 1 verv_toeslag, -- Vervangend toeslagperc. + 1 verv_toeslag, -- Vervangend toeslagperc. fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 ICT/Facilitair/Service/Schoonmaak pa.alg_onroerendgoed_type, pa.alg_onroerendgoed_keys, pa.alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * COALESCE (rxo.alg_ruimte_opp_alt1, 0) * DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) * -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak) --(COALESCE (tar.fac_usrdata_prijs, 0) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * 1/12, 2) - mndnet, -- Netto maandbedrag (incl. kortingspercentage) + mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * COALESCE (rxo.alg_ruimte_opp_alt1, 0) * DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) * -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak) --(COALESCE (tar.fac_usrdata_prijs, 0) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * @@ -1078,7 +1216,7 @@ AS c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, - c.cnt_contract_korting, + --c.cnt_contract_korting, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, 0.21 btw, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, @@ -1158,12 +1296,6 @@ AS AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc. LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key - --LEFT JOIN cnt_kenmerkcontract korting_pct_kc - -- ON x.cnt_contract_key = korting_pct_kc.cnt_contract_key - -- AND korting_pct_kc.cnt_kenmerkcontract_verwijder IS NULL - -- AND korting_pct_kc.cnt_kenmerk_key = 403 -- Kortingsperc. - --LEFT JOIN fac_v_aanwezigusrdata korting_pct - -- ON fac.safe_to_number (korting_pct_kc.cnt_kenmerkcontract_waarde) = korting_pct.fac_usrdata_key LEFT JOIN cnt_kenmerkcontract korting_pm2 ON x.cnt_contract_key = korting_pm2.cnt_contract_key AND x.cnt_kenmerk_key + 1 = korting_pm2.cnt_kenmerk_key @@ -1171,13 +1303,17 @@ AS AND korting_pm2.cnt_kenmerk_key IN (644, 646, 648, 650) -- Korting per m2 (ICT/Facilitair/Service/Schoonmaak) UNION ALL -- M2 correctie per Kosten-listbox gezet! SELECT '*CONCEPT*' fin_verkoopfactuur_id, - 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier - 'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO + 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO + --'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO SUBSTR ('0' || TO_CHAR (x.cnt_kenmerk_key), -4) || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- ICT/Facilitair/Service/Schoonmaak + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, - x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, - --x.cnt_contract_korting, -- Korting % + 'contract' xmlnode, + x.cnt_contract_key refkey, -- !!! + x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! + x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) @@ -1203,22 +1339,19 @@ AS fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde) aantal, -- VVO-correctie tar.fac_usrdata_prijs tarief, -- Jaartarief per m2 DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) vvo_toeslag, -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak) - --1 korting_pct, -- Kortingsperc. - 1 verv_toeslag, -- Vervangend toeslagperc. + 1 verv_toeslag, -- Vervangend toeslagperc. fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting per m2 ICT/Facilitair/Service/Schoonmaak 'C' alg_onroerendgoed_type, -1 alg_onroerendgoed_keys, 'Correctie' alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * COALESCE (fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde), 0) * DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) * -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak) --(COALESCE (tar.fac_usrdata_prijs, 0) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * 1/12, 2) - mndnet, -- Netto maandbedrag (incl. kortingspercentage) + mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * COALESCE (fac.safe_to_number (correctie_m2.cnt_kenmerkcontract_waarde), 0) * DECODE (TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)), '8604', 1, COALESCE (vvo_toeslag.fac_usrdata_prijs, 0)) * -- VVO toeslagperc. (behalve igv. 8604=Schoonmaak) --(COALESCE (tar.fac_usrdata_prijs, 0) - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * @@ -1234,7 +1367,7 @@ AS c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, - c.cnt_contract_korting, + --c.cnt_contract_korting, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, 0.21 btw, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, @@ -1292,13 +1425,6 @@ AS ON x.cnt_contract_key = vsov_kc.cnt_contract_key AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV - --LEFT JOIN cnt_v_aanwezigcontract_plaats ccp - -- ON x.cnt_contract_key = ccp.cnt_contract_key - -- AND ccp.cnt_alg_plaats_code = 'R' -- Alleen Scope-ruimten! - --LEFT JOIN alg_v_plaatsaanduiding_all pa - -- ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys - --LEFT JOIN alg_v_aanwezigruimte rxo - -- ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key LEFT JOIN cnt_kenmerkcontract correctie_m2 ON x.cnt_contract_key = correctie_m2.cnt_contract_key AND correctie_m2.cnt_kenmerkcontract_verwijder IS NULL @@ -1318,29 +1444,160 @@ AS AND vvo_toeslag_kc.cnt_kenmerk_key = 402 -- VVO toeslagperc. LEFT JOIN fac_v_aanwezigusrdata vvo_toeslag ON fac.safe_to_number (vvo_toeslag_kc.cnt_kenmerkcontract_waarde) = vvo_toeslag.fac_usrdata_key - --LEFT JOIN cnt_kenmerkcontract korting_pct_kc - -- ON x.cnt_contract_key = korting_pct_kc.cnt_contract_key - -- AND korting_pct_kc.cnt_kenmerkcontract_verwijder IS NULL - -- AND korting_pct_kc.cnt_kenmerk_key = 403 -- Kortingsperc. - --LEFT JOIN fac_v_aanwezigusrdata korting_pct - -- ON fac.safe_to_number (korting_pct_kc.cnt_kenmerkcontract_waarde) = korting_pct.fac_usrdata_key LEFT JOIN cnt_kenmerkcontract korting_pm2 ON x.cnt_contract_key = korting_pm2.cnt_contract_key AND x.cnt_kenmerk_key + 1 = korting_pm2.cnt_kenmerk_key AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL AND korting_pm2.cnt_kenmerk_key IN (644, 646, 648, 650) -- Korting per m2 (ICT/Facilitair/Service/Schoonmaak) WHERE correctie_m2.cnt_kenmerkcontract_waarde IS NOT NULL + UNION ALL -- Bedragen voor Duty manager (uren) en Koffieautomaten (aantal)! + SELECT '*CONCEPT*' fin_verkoopfactuur_id, + 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO + --'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO + SUBSTR ('0' || TO_CHAR (x.cnt_kenmerk_key), -4) || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! + 'CHV - ' || TRIM (SUBSTR (tar.fac_usrdata_omschr, 1, INSTR (tar.fac_usrdata_omschr, ' ') - 1)) regel, -- ICT/Facilitair/Service/Schoonmaak + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! + TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, + 'contract' xmlnode, + x.cnt_contract_key refkey, -- !!! + x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! + x.lv, + x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, + btwnr.prs_kenmerklink_waarde btw_nr, + --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) + -- FROM prs_contactpersoon + -- WHERE prs_contactpersoon_verwijder IS NULL + -- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen + -- AND prs_bedrijf_key = x.prs_bedrijf_key) + NULL contactpersoon, + x.adres, x.postcode, x.plaats, x.land, + x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, + --x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms, + DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code, + DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, + DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc, + DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, + x.maand, + TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, + TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, + TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin, + TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde, + LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar + LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet + x.aantal, -- Uren Duty Manager/Aantal Koffieautomaten + tar.fac_usrdata_prijs tarief, -- Jaartarief per m2 + 1 vvo_toeslag, -- Nvt. + 1 verv_toeslag, -- Vervangend toeslagperc. + --fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde) korting_pm2, -- Korting op tarief (per eenheid) + 0 korting_pm2, -- Korting op tarief (per eenheid) + NULL alg_onroerendgoed_type, + NULL alg_onroerendgoed_keys, + NULL alg_plaatsaanduiding, + ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * + COALESCE (x.aantal, 0) * + --DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * + COALESCE (tar.fac_usrdata_prijs, 0) * + 1/12, 2) + mndnet, -- Netto maandbedrag + ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * + COALESCE (x.aantal, 0) * + --DECODE (tar.fac_usrdata_prijs, NULL, 0, tar.fac_usrdata_prijs - COALESCE (fac.safe_to_number (korting_pm2.cnt_kenmerkcontract_waarde), 0)) * + COALESCE (tar.fac_usrdata_prijs, 0) * + DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * + 1/12, 2) + mndbtw, -- BTW maandbedrag + TRIM (SUBSTR (tar.fac_usrdata_code, 1, INSTR (tar.fac_usrdata_code, '/') - 1)) grtboekrek, + TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key + NULL mld_melding_omschrijving + FROM (SELECT c.ins_discipline_key, + c.cnt_contract_key, + c.cnt_contract_nummer_intern, c.cnt_contract_versie, + c.cnt_contract_nummer, + c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, + --c.cnt_contract_korting, + b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, + 0.21 btw, + DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, + DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, + DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, + DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, + kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, + c.maand, + k.cnt_kenmerk_key, -- 901=Uren Duty Manager/902=Aantal Koffieautomaten + fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) aantal + FROM (SELECT lp.maand, c.* + FROM lopendeperiode lp, cnt_v_aanwezigcontract c + WHERE c.ins_discipline_key = 2001 -- Huur CHV + AND c.cnt_contract_status = 0 -- NIET Gesloten + AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand + AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand + UNION ALL -- Soms 2 maanden factureren (of 1 maand achteraf?)! + SELECT TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') maand, c.* + FROM lopendeperiode lp, cnt_v_aanwezigcontract c + WHERE c.ins_discipline_key = 2001 -- Huur CHV + AND c.cnt_contract_status = 0 -- NIET Gesloten + AND c.cnt_contract_aanmaak > ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) -- Na begin voorgaande maand aangemaakt! + AND TRUNC (c.cnt_contract_looptijd_van) BETWEEN ADD_MONTHS (TO_DATE (lp.maand || '01', 'yyyymmdd'), -1) AND TO_DATE (lp.maand || '01', 'yyyymmdd') -- Van-datum in voorgaande maand! + AND NOT EXISTS -- Voorgaande maand nog niet gefactureerd! + (SELECT 1 + FROM fin_verkoopfactuur + WHERE fin_verkoopfactuur_maand = TO_CHAR (TO_DATE (lp.maand || '01', 'yyyymmdd') - 1, 'yyyymm') -- Voorgaande maand! + AND fin_verkoopfactuur_xmlnode = 'contract' + AND fin_verkoopfactuur_refkey = c.cnt_contract_key)) c, + prs_bedrijf b, + prs_kostenplaats kp, + prs_kostenplaatsgrp kpg, + cnt_kenmerkcontract kc, + cnt_kenmerk k + WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key + AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) + AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+) + AND c.cnt_contract_key = kc.cnt_contract_key + AND kc.cnt_kenmerkcontract_verwijder IS NULL + AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key + AND k.cnt_kenmerk_verwijder IS NULL + AND k.cnt_kenmerk_key IN (901, 902)) x -- Duty manager/Koffieautomaten + LEFT JOIN prs_kenmerklink btwnr + ON x.prs_bedrijf_key = btwnr.prs_link_key + AND btwnr.prs_kenmerklink_verwijder IS NULL + AND btwnr.prs_kenmerk_key = -1 -- BTW-nummer (NL) + LEFT JOIN prs_kenmerklink btwvl + ON x.prs_bedrijf_key = btwvl.prs_link_key + AND btwvl.prs_kenmerklink_verwijder IS NULL + AND btwvl.prs_kenmerk_key = -1 -- BTW verlegd + LEFT JOIN cnt_kenmerkcontract vsov_kc + ON x.cnt_contract_key = vsov_kc.cnt_contract_key + AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL + AND vsov_kc.cnt_kenmerk_key = -1 -- VSOV + LEFT JOIN cnt_kenmerkcontract tt_kc + ON x.cnt_contract_key = tt_kc.cnt_contract_key + AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL + AND tt_kc.cnt_kenmerk_key = 401 -- Tarieftabel + LEFT JOIN fac_v_aanwezigusrdata tt_ud + ON fac.safe_to_number (tt_kc.cnt_kenmerkcontract_waarde) = tt_ud.fac_usrdata_key + LEFT JOIN fac_v_aanwezigusrdata tar + ON fac.safe_to_number (tt_ud.fac_usrdata_code) = tar.fac_usrtab_key + AND DECODE (UPPER (SUBSTR (tar.fac_usrdata_code, INSTR (tar.fac_usrdata_code, '/') + 1)), 'DUTY MANAGER', 901, 'KOFFIEAUTOMATEN', 902, -1) = x.cnt_kenmerk_key + --LEFT JOIN cnt_kenmerkcontract korting_pm2 + -- ON x.cnt_contract_key = korting_pm2.cnt_contract_key + -- AND korting_pm2.cnt_kenmerkcontract_verwijder IS NULL + -- AND DECODE (korting_pm2.cnt_kenmerk_key, -1, 901, -1, 902, -1) = x.cnt_kenmerk_key UNION ALL -- Absolute correctie! SELECT '*CONCEPT*' fin_verkoopfactuur_id, - 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier - 'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO + 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO + --'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO --'9999' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! - --'CHV - ' || x.cnt_srtkenmerk_omschrijving regel, '0000' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! + --'CHV - ' || x.cnt_srtkenmerk_omschrijving regel, 'CHV - Huur' regel, -- Absolute correctie verrekenen in Huur + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, - x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, - --x.cnt_contract_korting, -- Korting % + 'contract' xmlnode, + x.cnt_contract_key refkey, -- !!! + x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! + x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) @@ -1366,19 +1623,16 @@ AS 1 aantal, -- Don't care -1 * fac.safe_to_number (x.cnt_kenmerkcontract_waarde) tarief, -- Jaartarief per m2 1 vvo_toeslag, -- VVO toeslagperc. - --1 korting_pct, -- Kortingsperc. 1 verv_toeslag, -- Vervangend toeslagperc. 0 korting_pm2, -- Korting per m2 NULL alg_onroerendgoed_type, NULL alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (x.cnt_kenmerkcontract_waarde) * 1/12, 2) mndnet, -- Netto maandbedrag (incl. kortingspercentage) ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (x.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (verv_toeslag.fac_usrdata_key, 1001, 0.21, 0)) * 1/12, 2) @@ -1393,7 +1647,7 @@ AS c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, - c.cnt_contract_korting, + --c.cnt_contract_korting, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, --0.21 btw, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, @@ -1476,13 +1730,17 @@ AS WHERE COALESCE (fac.safe_to_number (x.cnt_kenmerkcontract_waarde), 0) != 0 UNION ALL -- Parkeren CHV/Parkeren CMD! SELECT '*CONCEPT*' fin_verkoopfactuur_id, - DECODE (x.ins_discipline_key, 2004, 'CMD', 'CHV') || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier - DECODE (x.ins_discipline_key, 2004, 'CMD', 'CHV') || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO + DECODE (x.ins_discipline_key, 2004, 'CMD', 'CHV') || TRIM (x.cnt_contract_nummer) po_nr, -- PO + --DECODE (x.ins_discipline_key, 2004, 'CMD', 'CHV') || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO '9999' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! COALESCE (ks.prs_kostensoort_refcode, ks.prs_kostensoort_opmerking) regel, -- Parkeren CHV/Parkeren CMD + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, - x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, - --x.cnt_contract_korting, -- Korting % + 'contract' xmlnode, + x.cnt_contract_key refkey, -- !!! + x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! + x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) @@ -1508,20 +1766,17 @@ AS fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) tarief, 1 vvo_toeslag, -- VVO toeslagperc. - --1 korting_pct, -- Kortingsperc. 1 verv_toeslag, -- Vervangend toeslagperc. 0 korting_pm2, -- Korting per m2 NULL alg_onroerendgoed_type, NULL alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * 1/12, 2) mndnet, -- Netto maandbedrag (incl. kortingspercentage) ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * @@ -1535,7 +1790,7 @@ AS c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, - c.cnt_contract_korting, + --c.cnt_contract_korting, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, 0.21 btw, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, @@ -1593,15 +1848,24 @@ AS ON x.cnt_contract_key = bedrag.cnt_contract_key AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key IN (416, 418) -- Bedrag + LEFT JOIN cnt_kenmerkcontract gaf + ON x.cnt_contract_key = gaf.cnt_contract_key + AND gaf.cnt_kenmerkcontract_verwijder IS NULL + AND gaf.cnt_kenmerk_key = 862 -- Geen automatische facturatie + WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 UNION ALL -- Deelnemers CMD! SELECT '*CONCEPT*' fin_verkoopfactuur_id, - 'CMD' || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier - 'CMD' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO + 'CMD' || TRIM (x.cnt_contract_nummer) po_nr, -- PO + --'CMD' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO '9999' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CMD - ' || sd_ud.fac_usrdata_omschr regel, -- Deelnemers CMD + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, - x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, - --x.cnt_contract_korting, -- Korting % + 'contract' xmlnode, + x.cnt_contract_key refkey, -- !!! + x.cnt_contract_nummer_intern || '/' || COALESCE (x.cnt_contract_versie, '0') refid, -- !!! + x.lv, x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) @@ -1627,20 +1891,17 @@ AS fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) tarief, 1 vvo_toeslag, -- VVO toeslagperc. - --1 korting_pct, -- Kortingsperc. 1 verv_toeslag, -- Vervangend toeslagperc. 0 korting_pm2, -- Korting per m2 NULL alg_onroerendgoed_type, NULL alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * 1/12, 2) mndnet, -- Netto maandbedrag (incl. kortingspercentage) ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * @@ -1654,7 +1915,7 @@ AS c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, - c.cnt_contract_korting, + --c.cnt_contract_korting, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, 0.21 btw, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, @@ -1718,15 +1979,24 @@ AS AND sd_kc.cnt_kenmerk_key = 421 -- Soort deelnemer LEFT JOIN fac_v_aanwezigusrdata sd_ud ON fac.safe_to_number (sd_kc.cnt_kenmerkcontract_waarde) = sd_ud.fac_usrdata_key + LEFT JOIN cnt_kenmerkcontract gaf + ON x.cnt_contract_key = gaf.cnt_contract_key + AND gaf.cnt_kenmerkcontract_verwijder IS NULL + AND gaf.cnt_kenmerk_key = 862 -- Geen automatische facturatie + WHERE gaf.cnt_kenmerkcontract_waarde IS NULL -- COALESCE (gaf.cnt_kenmerkcontract_waarde, 0) = 0 UNION ALL -- Alle correctiemeldingen (ook als contract inmiddels verlopen)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, - DECODE (cd.ins_discipline_key, 2004, 'CMD', 2005, 'CMD', 'CHV') || TRIM (c.cnt_contract_nummer) po_nr, -- Correctie - DECODE (cd.ins_discipline_key, 2004, 'CMD', 2005, 'CMD', 'CHV') || TRIM (c.cnt_contract_nummer) cnt_contract_nummer, -- PO + DECODE (cd.ins_discipline_key, 2004, 'CMD', 2005, 'CMD', 'CHV') || TRIM (c.cnt_contract_nummer) po_nr, -- PO + --DECODE (cd.ins_discipline_key, 2004, 'CMD', 2005, 'CMD', 'CHV') || TRIM (c.cnt_contract_nummer) cnt_contract_nummer, -- PO '9999' || SUBSTR ('999' || fr.sortering, -4) sortering, -- Correctieregels onderaan (in dezelfde volgorde als de "echte" regels); 8 posities! DECODE (cd.ins_discipline_key, 2004, 'CMD - ', 2005, 'CMD - ', 'CHV - ') || 'Correctie ' || fr.factuurregel || ' ' || pv.periode_van || ' - ' || pt.periode_tot regel, -- Zou consistent moeten zijn met contract! + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, - c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv, - --x.cnt_contract_korting, -- Korting % + 'contract' xmlnode, + c.cnt_contract_key refkey, -- !!! + c.cnt_contract_nummer_intern || '/' || COALESCE (c.cnt_contract_versie, '0') refid, -- !!! + c.cnt_contract_looptijd_tot lv, b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) @@ -1755,7 +2025,6 @@ AS 1 aantal, -- Don't care cb.correctiebedrag tarief, 1 vvo_toeslag, -- VVO toeslagperc. - --1 korting_pct, -- Kortingsperc. 1 verv_toeslag, -- Vervangend toeslagperc. 0 korting_pm2, -- Korting per m2 NULL alg_onroerendgoed_type, @@ -1854,18 +2123,16 @@ AS AND m.mld_melding_key = pv.mld_melding_key AND m.mld_melding_key = pt.mld_melding_key AND m.mld_melding_key = cb.mld_melding_key - ORDER BY prs_bedrijf_key, 1, 2, 3, 4, alg_onroerendgoed_type, alg_plaatsaanduiding -; + ORDER BY prs_bedrijf_key, 1, 2, 3, 4, alg_onroerendgoed_type, alg_plaatsaanduiding; /* UNION ALL -- Borg CHV (eenmalig factureren, liefst op eerste factuur)! SELECT '*CONCEPT*' fin_verkoopfactuur_id, - 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- Regulier - 'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO + 'CHV' || TRIM (x.cnt_contract_nummer) po_nr, -- PO + --'CHV' || TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO '9999' || TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 8 posities! 'CHV - ' || COALESCE (ks.prs_kostensoort_refcode, ks.prs_kostensoort_opmerking) regel, -- Borg CHV TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv, - --x.cnt_contract_korting, -- Korting % x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr, btwnr.prs_kenmerklink_waarde btw_nr, --(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) @@ -1891,20 +2158,17 @@ AS fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) aantal, fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) tarief, 1 vvo_toeslag, -- VVO toeslagperc. - --1 korting_pct, -- Kortingsperc. 1 verv_toeslag, -- Vervangend toeslagperc. 0 korting_pm2, -- Korting per m2 NULL alg_onroerendgoed_type, NULL alg_onroerendgoed_keys, NULL alg_plaatsaanduiding, ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * 1/12, 2) - mndnet, -- Netto maandbedrag (incl. kortingspercentage) + mndnet, -- Netto maandbedrag ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) * - --((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (aantal.cnt_kenmerkcontract_waarde) * fac.safe_to_number (bedrag.cnt_kenmerkcontract_waarde) * DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * @@ -1918,7 +2182,7 @@ AS c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_nummer, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, - c.cnt_contract_korting, + --c.cnt_contract_korting, b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr, 0.21 btw, DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, @@ -1969,21 +2233,20 @@ AS AND bedrag.cnt_kenmerkcontract_verwijder IS NULL AND bedrag.cnt_kenmerk_key = 414 -- Bedrag */ - CREATE OR REPLACE VIEW bssc_v_fact_frozen AS SELECT vf.fin_verkoopfactuur_id, - --TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/') - 1)) po_nr, SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1) po_nr, - SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1) cnt_contract_nummer, - SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 10) sortering, - SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 9) regel, + --SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1) cnt_contract_nummer, + SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 8) sortering, + SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 10) regel, + NULL aanvrager, -- !!! + NULL regel_oms, -- !!! TO_CHAR (vf.fin_verkoopfactuur_datum, 'dd-mm-yyyy') factuurdatum, TO_CHAR (vf.fin_verkoopfactuur_d1, 'dd-mm-yyyy') vervaldatum, - vf.fin_verkoopfactuur_refkey cnt_contract_key, - c.cnt_contract_nummer_intern, -- Niet historisch bewaard! - c.cnt_contract_versie, -- Niet historisch bewaard! + vf.fin_verkoopfactuur_xmlnode xmlnode, + vf.fin_verkoopfactuur_refkey refkey, -- !!! + c.cnt_contract_nummer_intern || '/' || COALESCE (c.cnt_contract_versie, '0') refid, -- Niet historisch bewaard! c.cnt_contract_looptijd_tot lv, -- Niet historisch bewaard! - --vf.fin_verkoopfactuur_n1 cnt_contract_korting, -- Korting % vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) btw_nr, @@ -2016,7 +2279,7 @@ AS vf.fin_verkoopfactuur_bedrag mndnet, -- Netto maandbedrag vf.fin_verkoopfactuur_btw mndbtw, -- BTW maandbedrag vf.prs_kostensoort_oms grtboekrek, - vf.fin_verkoopfactuur_n2 mld_melding_key, + vf.fin_verkoopfactuur_n1 mld_melding_key, vf.fin_verkoopfactuur_c8 mld_melding_omschrijving FROM fin_verkoopfactuur vf, cnt_contract c, @@ -2116,7 +2379,7 @@ AS FROM bssc_v_fact_frozen v, cnt_contract c, prs_kostenplaats kp WHERE v.po_nr = 'CHV' AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' - AND v.cnt_contract_key = c.cnt_contract_key + AND v.refkey = c.cnt_contract_key AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'), 'VRK', @@ -2290,7 +2553,7 @@ AS FROM bssc_v_fact_frozen v, cnt_contract c, prs_kostenplaats kp WHERE v.po_nr = 'CMD' AND v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' - AND v.cnt_contract_key = c.cnt_contract_key + AND v.refkey = c.cnt_contract_key AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+) GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'), 'VRK', @@ -2381,7 +2644,7 @@ AS -- Factureer/bevries verhuurcontractkosten en verwerk=AV alle eventuele correctiemeldingen! CURSOR c1 IS - SELECT '[' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || '|' || v.prs_debiteur_naam || '|' || v.regel || '] ' aanduiding, + SELECT '[' || v.refid || '|' || v.prs_debiteur_naam || '|' || v.regel || '] ' aanduiding, v.*, m.mld_melding_status FROM bssc_v_fact_actual v, mld_melding m WHERE v.mld_melding_key = m.mld_melding_key(+) @@ -2540,9 +2803,9 @@ BEGIN VALUES (v_verkoopfactuurkop_key, v_factuur_id, TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'), - rec.cnt_contract_nummer || '/=' || rec.sortering || rec.regel, + rec.po_nr || '/=' || rec.sortering || rec.regel, 'contract', - rec.cnt_contract_key, + rec.refkey, rec.prs_kostenplaats_key, rec.prs_kostenplaats_nr, rec.prs_kostenplaats_omschrijving, @@ -2560,9 +2823,8 @@ BEGIN rec.fin_btwtabelwaarde_perc, rec.fin_btwtabelwaarde_verlegd, rec.maand, - --rec.cnt_contract_korting, -- n1/kortingspercentage - TO_NUMBER (NULL), -- n1 - rec.mld_melding_key, -- n2/correctiemelding + rec.mld_melding_key, -- n1/correctiemelding + TO_NUMBER (NULL), -- n2 TO_NUMBER (NULL), -- n3 TO_NUMBER (NULL), -- n4 TO_NUMBER (NULL), -- n5 @@ -2665,23 +2927,22 @@ END; -- 190 Projectruimtes Etage 4/8,00 Ruimte CREATE OR REPLACE VIEW bssc_v_addd_actual AS - WITH lopendeperiode AS (SELECT TO_CHAR (add_months (SYSDATE, -1), 'yyyymm') maand - FROM dual) + WITH lopendeperiode AS (SELECT TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm') maand FROM dual) SELECT '*CONCEPT*' fin_verkoopfactuur_id, - TRIM (COALESCE (x.en, '-')) po_nr, - NULL contract_id, - '1' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening sortering, - 'Reservering ' || x.res_id regel, - 'R' || x.res_id regel_id, + 'CHV' || TRIM (COALESCE (x.en, '-')) po_nr, + TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) sortering, -- TODO + 'Event ' || x.res_id regel, + x.prs_perslid_naam_full aanvrager, DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening) regel_oms, TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, 'reservering' xmlnode, x.res_rsv_ruimte_key refkey, - x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.debiteur_nr) debiteur_nr, - x.btw_nr, - x.cp contactpersoon, + x.res_id refid, + NULL lv, + x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, x.debiteur_nr, + NULL btw_nr, + x.contactpersoon, -- !!! x.adres, x.postcode, x.plaats, x.land, - x.prs_perslid_naam_full aanvrager, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')) fin_btwtabelwaarde_code, DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')) fin_btwtabelwaarde_oms, @@ -2690,14 +2951,29 @@ AS x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, + NULL dagbegin, + NULL dageinde, + TO_NUMBER (NULL) mndbes, + TO_NUMBER (NULL) mndbez, + TO_NUMBER (NULL) aantal, -- VVO + TO_NUMBER (NULL) tarief, -- Jaartarief per m2 + TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc. + TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc. + TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur + NULL alg_onroerendgoed_type, + TO_NUMBER (NULL) alg_onroerendgoed_keys, + NULL alg_plaatsaanduiding, SUM (COALESCE (verw_prijs, prijs, 0)) mndnet, -- Netto bedrag SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 0.09, 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag x.prs_kostensoort_refcode grtboekrek, - x.prs_kostensoort_altcode grtboekrek_oms, - TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key + TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key + NULL mld_melding_omschrijving FROM (SELECT rrr.res_rsv_ruimte_key, -- Ruimte-regel rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id, + h.prs_bedrijf_key, + TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam, TRIM (h.prs_overeenkomst_nr) debiteur_nr, + TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) contactpersoon, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 0 volgnr, @@ -2707,20 +2983,13 @@ AS rrr.res_rsv_ruimte_prijs verw_prijs, res.getruimteprijs (rrr.res_rsv_ruimte_key) prijs, 'VH' btw, -- Hard 21% - NULL, --c.cnt_contract_key, - NULL, --c.cnt_contract_nummer, - NULL, --c.ins_discipline_key, - h.prs_bedrijf_key, - h.prs_bedrijf_naam, - cpk.res_kenmerkreservering_waarde cp, enk.res_kenmerkreservering_waarde en, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land, - btwnr.prs_kenmerklink_waarde btw_nr, + --btwnr.prs_kenmerklink_waarde btw_nr, btwvl.prs_kenmerklink_waarde btw_vl, - cp.contactpersoon, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, lp.maand @@ -2736,26 +3005,20 @@ AS WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, - (SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) prs_bedrijf_key + (SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k - WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 161) rh, -- Relatiegegevens - (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde - FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k - WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 181) cpk, -- Contactpersoon + WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur + prs_contactpersoon cp, + prs_v_aanwezigbedrijf h, (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 148) enk, -- Extern nummer - prs_v_aanwezigbedrijf h, - (SELECT prs_link_key, prs_kenmerklink_waarde - FROM prs_kenmerklink - WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) + --(SELECT prs_link_key, prs_kenmerklink_waarde + -- FROM prs_kenmerklink + -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd - ( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon - FROM prs_contactpersoon - WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen - GROUP BY prs_bedrijf_key) cp, prs_perslid p, prs_v_perslid_fullnames_all pf, --prs_v_afdeling_boom ab, @@ -2765,27 +3028,26 @@ AS res_ruimte rr, res_discipline rd, prs_kostensoort ks - WHERE rrr.res_activiteit_key != -1 -- Alle activiteiten! - AND rrr.res_rsv_ruimte_van > TO_DATE ('20190301', 'yyyymmdd') - AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE, 'mm') - --AND rrr.res_status_bo_key = 5 -- Afgemeld + WHERE rrr.res_activiteit_key = 50 -- Alleen events! + AND rrr.res_rsv_ruimte_van > TO_DATE ('20210101', 'yyyymmdd') + AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE + 1) + AND rrr.res_status_bo_key = 5 -- Afgemeld AND rrr.res_rsv_ruimte_dirtlevel = 0 AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen! AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND rrr.res_rsv_ruimte_key = rh.res_rsv_ruimte_key(+) - AND rrr.res_rsv_ruimte_key = cpk.res_rsv_ruimte_key(+) + AND MOD (rh.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+) + AND COALESCE (cp.prs_bedrijf_key, MOD (rh.debiteur_id, 100000000)) = h.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+) - AND rh.prs_bedrijf_key = h.prs_bedrijf_key(+) - AND h.prs_bedrijf_key = btwnr.prs_link_key(+) + --AND h.prs_bedrijf_key = btwnr.prs_link_key(+) AND h.prs_bedrijf_key = btwvl.prs_link_key(+) - AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_perslid_key = pf.prs_perslid_key --AND p.prs_afdeling_key = ab.prs_afdeling_key --AND ab.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus - --AND ab.prs_afdeling_key1 != 561 -- Geen factuur naar Campus Management & Development! + --AND ab.prs_afdeling_key1 != 561 -- Geen factuur naar Campus Management + Development! --AND ab.prs_afdeling_key1 = kl.prs_link_key(+) --AND kl.prs_kenmerklink_niveau(+) = 'A' --AND kl.prs_kenmerk_key(+) = -1 -- Debiteurnummer @@ -2798,7 +3060,10 @@ AS UNION ALL -- Korting-regel SELECT rrr.res_rsv_ruimte_key, rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id, + h.prs_bedrijf_key, + TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam, TRIM (h.prs_overeenkomst_nr) debiteur_nr, + TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) contactpersoon, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 1 volgnr, @@ -2808,20 +3073,13 @@ AS -1 * COALESCE (rrr.res_rsv_ruimte_korting, 0) verw_prijs, -1 * COALESCE (rrr.res_rsv_ruimte_korting, 0) prijs, 'VH' btw, -- Hard 21% - NULL, --c.cnt_contract_key, - NULL, --c.cnt_contract_nummer, - NULL, --c.ins_discipline_key, - h.prs_bedrijf_key, - h.prs_bedrijf_naam, - cpk.res_kenmerkreservering_waarde cp, enk.res_kenmerkreservering_waarde en, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land, - btwnr.prs_kenmerklink_waarde btw_nr, + --btwnr.prs_kenmerklink_waarde btw_nr, btwvl.prs_kenmerklink_waarde btw_vl, - cp.contactpersoon, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, lp.maand @@ -2837,26 +3095,20 @@ AS WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, - (SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) prs_bedrijf_key + (SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k - WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 161) rh, -- Relatiegegevens - (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde - FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k - WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 181) cpk, -- Contactpersoon + WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur + prs_contactpersoon cp, + prs_v_aanwezigbedrijf h, (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 148) enk, -- Extern nummer - prs_v_aanwezigbedrijf h, - (SELECT prs_link_key, prs_kenmerklink_waarde - FROM prs_kenmerklink - WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) + --(SELECT prs_link_key, prs_kenmerklink_waarde + -- FROM prs_kenmerklink + -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd - ( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon - FROM prs_contactpersoon - WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen - GROUP BY prs_bedrijf_key) cp, prs_perslid p, prs_v_perslid_fullnames_all pf, --prs_v_afdeling_boom ab, @@ -2866,10 +3118,10 @@ AS res_ruimte rr, res_discipline rd, prs_kostensoort ks - WHERE rrr.res_activiteit_key != -1 -- Alle activiteiten! - AND rrr.res_rsv_ruimte_van > TO_DATE ('20190301', 'yyyymmdd') - AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE, 'mm') - --AND rrr.res_status_bo_key = 5 -- Afgemeld + WHERE rrr.res_activiteit_key = 50 -- Alleen events! + AND rrr.res_rsv_ruimte_van > TO_DATE ('20210101', 'yyyymmdd') + AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE + 1) + AND rrr.res_status_bo_key = 5 -- Afgemeld AND rrr.res_rsv_ruimte_dirtlevel = 0 AND COALESCE (rrr.res_rsv_ruimte_korting, 0) != 0 AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen! @@ -2877,17 +3129,16 @@ AS AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND rrr.res_rsv_ruimte_key = rh.res_rsv_ruimte_key(+) - AND rrr.res_rsv_ruimte_key = cpk.res_rsv_ruimte_key(+) + AND MOD (rh.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+) + AND COALESCE (cp.prs_bedrijf_key, MOD (rh.debiteur_id, 100000000)) = h.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+) - AND rh.prs_bedrijf_key = h.prs_bedrijf_key(+) - AND h.prs_bedrijf_key = btwnr.prs_link_key(+) + --AND h.prs_bedrijf_key = btwnr.prs_link_key(+) AND h.prs_bedrijf_key = btwvl.prs_link_key(+) - AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_perslid_key = pf.prs_perslid_key --AND p.prs_afdeling_key = ab.prs_afdeling_key --AND ab.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus - --AND ab.prs_afdeling_key1 != 561 -- Geen factuur naar Campus Management & Development! + --AND ab.prs_afdeling_key1 != 561 -- Geen factuur naar Campus Management + Development! --AND ab.prs_afdeling_key1 = kl.prs_link_key(+) --AND kl.prs_kenmerklink_niveau(+) = 'A' --AND kl.prs_kenmerk_key(+) = -1 -- Debiteurnummer @@ -2900,7 +3151,10 @@ AS UNION ALL -- Catering-regels SELECT rrr.res_rsv_ruimte_key, rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id, + h.prs_bedrijf_key, + TRIM (h.prs_bedrijf_naam) prs_bedrijf_naam, TRIM (h.prs_overeenkomst_nr) debiteur_nr, + TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))) contactpersoon, ks.prs_kostensoort_refcode, ks.prs_kostensoort_altcode, 2 volgnr, @@ -2910,20 +3164,13 @@ AS rra.res_rsv_artikel_prijs verw_prijs, rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs, rra.btw, - NULL, --c.cnt_contract_key, - NULL, --c.cnt_contract_nummer, - NULL, --c.ins_discipline_key, - h.prs_bedrijf_key, - h.prs_bedrijf_naam, - cpk.res_kenmerkreservering_waarde cp, enk.res_kenmerkreservering_waarde en, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats, DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land, - btwnr.prs_kenmerklink_waarde btw_nr, + --btwnr.prs_kenmerklink_waarde btw_nr, btwvl.prs_kenmerklink_waarde btw_vl, - cp.contactpersoon, pf.prs_perslid_naam_full, kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, lp.maand @@ -2939,26 +3186,20 @@ AS WHERE res_alg_ruimte_verwijder IS NOT NULL GROUP BY res_ruimte_key) rar2, alg_v_allonroerendgoed aog, - (SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) prs_bedrijf_key + (SELECT kw.res_rsv_ruimte_key, fac.safe_to_number (kw.res_kenmerkreservering_waarde) debiteur_id FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k - WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 161) rh, -- Relatiegegevens - (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde - FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k - WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 181) cpk, -- Contactpersoon + WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 261) rh, -- Debiteur + prs_contactpersoon cp, + prs_v_aanwezigbedrijf h, (SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 148) enk, -- Extern nummer - prs_v_aanwezigbedrijf h, - (SELECT prs_link_key, prs_kenmerklink_waarde - FROM prs_kenmerklink - WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) + --(SELECT prs_link_key, prs_kenmerklink_waarde + -- FROM prs_kenmerklink + -- WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) (SELECT prs_link_key, prs_kenmerklink_waarde FROM prs_kenmerklink WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd - ( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon - FROM prs_contactpersoon - WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen - GROUP BY prs_bedrijf_key) cp, prs_perslid p, prs_v_perslid_fullnames_all pf, --prs_v_afdeling_boom ab, @@ -2978,30 +3219,29 @@ AS ra.res_artikel_omschrijving, ra.res_artikel_eenheid FROM res_v_aanwezigrsv_artikel rra, res_artikel ra - WHERE rra.res_rsv_artikel_levering > TO_DATE ('20190301', 'yyyymmdd') - AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm') - --AND rra.res_status_bo_key = 5 -- Afgemeld + WHERE rra.res_rsv_artikel_levering > TO_DATE ('20210101', 'yyyymmdd') + AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE + 1) + AND rra.res_status_bo_key = 5 -- Afgemeld AND rra.res_rsv_artikel_dirtlevel = 0 AND rra.res_artikel_key = ra.res_artikel_key) rra, res_discipline rd, prs_kostensoort ks - WHERE rrr.res_activiteit_key != -1 -- Alle activiteiten! + WHERE rrr.res_activiteit_key = 50 -- Alleen events! AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+) AND rro.res_ruimte_key = rar1.res_ruimte_key(+) AND rro.res_ruimte_key = rar2.res_ruimte_key(+) AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key AND rrr.res_rsv_ruimte_key = rh.res_rsv_ruimte_key(+) - AND rrr.res_rsv_ruimte_key = cpk.res_rsv_ruimte_key(+) + AND MOD (rh.debiteur_id, 100000000) = cp.prs_contactpersoon_key(+) + AND COALESCE (cp.prs_bedrijf_key, rh.debiteur_id) = h.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_key = enk.res_rsv_ruimte_key(+) - AND rh.prs_bedrijf_key = h.prs_bedrijf_key(+) - AND h.prs_bedrijf_key = btwnr.prs_link_key(+) + --AND h.prs_bedrijf_key = btwnr.prs_link_key(+) AND h.prs_bedrijf_key = btwvl.prs_link_key(+) - AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+) AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key AND p.prs_perslid_key = pf.prs_perslid_key --AND p.prs_afdeling_key = ab.prs_afdeling_key --AND ab.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus - --AND ab.prs_afdeling_key1 != 561 -- Geen factuur naar Campus Management & Development! + --AND ab.prs_afdeling_key1 != 561 -- Geen factuur naar Campus Management + Development! --AND ab.prs_afdeling_key1 = kl.prs_link_key(+) --AND kl.prs_kenmerklink_niveau(+) = 'A' --AND kl.prs_kenmerk_key(+) = -1 -- Debiteurnummer @@ -3012,20 +3252,20 @@ AS AND rra.res_discipline_key = rd.ins_discipline_key AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)) x GROUP BY '*CONCEPT*', - TRIM (COALESCE (x.en, '-')), - NULL, - '1' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening, - 'Reservering ' || x.res_id, - 'R' || x.res_id, + 'CHV' || TRIM (COALESCE (x.en, '-')), + TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr), + 'Event ' || x.res_id, + x.prs_perslid_naam_full, DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening), TO_CHAR (SYSDATE, 'dd-mm-yyyy'), TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy'), 'reservering', x.res_rsv_ruimte_key, - x.prs_bedrijf_key, x.prs_bedrijf_naam, TRIM (x.debiteur_nr), - x.btw_nr, - x.cp, + x.res_id, + NULL, + x.prs_bedrijf_key, x.prs_bedrijf_naam, x.debiteur_nr, + NULL, + x.contactpersoon, -- !!! x.adres, x.postcode, x.plaats, x.land, - x.prs_perslid_naam_full, x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms, DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')), DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')), @@ -3034,110 +3274,35 @@ AS x.maand, TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy'), TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy'), + NULL, + NULL, + TO_NUMBER (NULL), + TO_NUMBER (NULL), + TO_NUMBER (NULL), + TO_NUMBER (NULL), + TO_NUMBER (NULL), + TO_NUMBER (NULL), + TO_NUMBER (NULL), + NULL, + TO_NUMBER (NULL), + NULL, x.prs_kostensoort_refcode, - x.prs_kostensoort_altcode, - TO_NUMBER (NULL) - UNION ALL -- TODO:Klantwensen! - SELECT '*CONCEPT*' fin_verkoopfactuur_id, - TRIM (COALESCE (km.mld_kenmerkmelding_waarde, '-')) po_nr, - NULL contract_id, - '2' || SUBSTR ('0000' || TO_CHAR (o.mld_melding_key), -7) || '/' || SUBSTR ('00' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr), -3) sortering, - 'Klantwens ' || sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) regel, - sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) regel_id, - --td.ins_discipline_omschrijving || '/' || sm.mld_stdmelding_omschrijving regel_oms, - DECODE (m.mld_melding_onderwerp, NULL, '', 'Onderwerp: ' || TRIM (m.mld_melding_onderwerp) || CHR (13) || CHR (10)) || 'Omschrijving: ' || COALESCE (SUBSTR (TRIM (m.mld_melding_omschrijving), 1, 2000), '-') - regel_oms, - TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum, - 'opdracht' xmlnode, - o.mld_opdr_key refkey, - h.prs_bedrijf_key, h.prs_bedrijf_naam prs_debiteur_naam, TRIM (kl.prs_kenmerklink_waarde) debiteur_nr, - btwnr.prs_kenmerklink_waarde btw_nr, - NULL contactpersoon, - DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres, - DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode, - DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats, - DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land, - pf.prs_perslid_naam_full aanvrager, - kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms, - DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code, - DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms, - DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc, - DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd, - lp.maand, - TO_CHAR (TO_DATE (lp.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin, - TO_CHAR (LAST_DAY (TO_DATE (lp.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde, - ROUND (COALESCE (o.mld_opdr_kosten, 0), 2) mndnet, -- Netto bedrag - ROUND (DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * COALESCE (o.mld_opdr_kosten, 0), 2) mndbtw, -- BTW bedrag - COALESCE (ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode) grtboekrek, - COALESCE (ksm.prs_kostensoort_altcode, ksv.prs_kostensoort_altcode) grtboekrek_oms, - TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key - FROM lopendeperiode lp, - mld_opdr o, - mld_melding m, - (SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde - FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k - WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key = -1) km, -- Extern nummer - prs_perslid p, - prs_v_perslid_fullnames_all pf, - prs_v_afdeling_boom ab, - prs_kenmerklink kl, - prs_v_aanwezigbedrijf h, - (SELECT prs_link_key, prs_kenmerklink_waarde - FROM prs_kenmerklink - WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwnr, -- BTW-nummer (NL) - (SELECT prs_link_key, prs_kenmerklink_waarde - FROM prs_kenmerklink - WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = -1) btwvl, -- BTW verlegd - ( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon - FROM prs_contactpersoon - WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen - GROUP BY prs_bedrijf_key) cp, - alg_v_allonrgoed_gegevens og, - prs_kostenplaats kp, - prs_kostenplaatsgrp kpg, - mld_stdmelding sm, - ins_tab_discipline td, - ins_srtdiscipline sd, - prs_kostensoort ksm, - prs_kostensoort ksv - WHERE o.mld_statusopdr_key = 9 -- Afgerond - AND o.mld_opdr_ordernr <= TO_CHAR (SYSDATE, 'yyyy-mm') || '-01' - AND o.mld_typeopdr_key IN (-1) -- TODO:Welke opdrachttypen? - AND o.mld_melding_key = m.mld_melding_key - AND m.mld_melding_key = km.mld_melding_key(+) - AND m.prs_perslid_key_voor = p.prs_perslid_key - AND p.prs_perslid_key = pf.prs_perslid_key - AND p.prs_afdeling_key = ab.prs_afdeling_key - AND ab.prs_bedrijf_key = 2442 -- Huurders Smart Services Campus - AND ab.prs_afdeling_key1 = kl.prs_link_key(+) - AND kl.prs_kenmerklink_niveau(+) = 'A' - AND kl.prs_kenmerk_key(+) = -1 -- Debiteurnummer - AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr(+) - AND h.prs_bedrijf_key = btwnr.prs_link_key(+) - AND h.prs_bedrijf_key = btwvl.prs_link_key(+) - AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+) - AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys - AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key - --AND SUBSTR (kp.prs_kostenplaats_upper, 1, 5) = '50900' - AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key - AND m.mld_stdmelding_key = sm.mld_stdmelding_key - AND sm.mld_ins_discipline_key = td.ins_discipline_key - AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key - AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+) - AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+); + TO_NUMBER (NULL), + NULL; CREATE OR REPLACE VIEW bssc_v_addd_frozen AS SELECT vf.fin_verkoopfactuur_id, - vf.fin_verkoopfactuur_c1 po_nr, - vf.fin_verkoopfactuur_c2 contract_id, - vf.fin_verkoopfactuur_c3 sortering, - SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '=') - 1) regel, - SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '=') + 1) regel_id, - vf.fin_verkoopfactuur_c8 regel_oms, + SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1) po_nr, + SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 16) sortering, + SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 18) regel, + vf.fin_verkoopfactuur_c5 aanvrager, + vf.fin_verkoopfactuur_c6 regel_oms, TO_CHAR (vf.fin_verkoopfactuur_datum, 'dd-mm-yyyy') factuurdatum, TO_CHAR (vf.fin_verkoopfactuur_d1, 'dd-mm-yyyy') vervaldatum, vf.fin_verkoopfactuur_xmlnode xmlnode, - vf.fin_verkoopfactuur_refkey refkey, + vf.fin_verkoopfactuur_refkey refkey, -- !!! + rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr refid, -- Niet historisch bewaard! + TO_DATE (NULL) lv, vf.prs_bedrijf_key, vf.prs_debiteur_naam, SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr, SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) btw_nr, @@ -3146,8 +3311,8 @@ AS DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, -- Niet historisch bewaard! DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, -- Niet historisch bewaard! - vf.fin_verkoopfactuur_c5 aanvrager, vf.prs_kostenplaats_key, vf.prs_kostenplaats_nr, vf.prs_kostenplaats_omschrijving, vf.prs_kostenplaatsgrp_oms, + --vf.prs_kostensoort_oms, vf.prs_kostensoort_opmerking, vf.prs_kostensoort_refcode, vf.prs_kostensoortgrp_oms, vf.fin_btwtabelwaarde_code, vf.fin_btwtabelwaarde_oms, vf.fin_btwtabelwaarde_perc, @@ -3155,13 +3320,26 @@ AS vf.fin_verkoopfactuur_maand maand, TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin, TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde, + NULL dagbegin, + NULL dageinde, + TO_NUMBER (NULL) mndbes, + TO_NUMBER (NULL) mndbez, + TO_NUMBER (NULL) aantal, -- VVO + TO_NUMBER (NULL) tarief, -- Jaartarief per m2 + TO_NUMBER (NULL) vvo_toeslag, -- VVO toeslagperc. + TO_NUMBER (NULL) verv_toeslag, -- Vervangend toeslagperc. + TO_NUMBER (NULL) korting_pm2, -- Korting per m2 Huur + NULL alg_onroerendgoed_type, + TO_NUMBER (NULL) alg_onroerendgoed_keys, + NULL alg_plaatsaanduiding, vf.fin_verkoopfactuur_bedrag mndnet, -- Netto bedrag vf.fin_verkoopfactuur_btw mndbtw, -- BTW bedrag vf.prs_kostensoort_refcode grtboekrek, - vf.prs_kostensoort_oms grtboekrek_oms, - vf.fin_verkoopfactuur_n1 mld_melding_key - FROM fin_verkoopfactuur vf, prs_bedrijf b + vf.fin_verkoopfactuur_n1 mld_melding_key, + NULL mld_melding_omschrijving + FROM fin_verkoopfactuur vf, res_rsv_ruimte rrr, prs_bedrijf b WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '?' -- TODO:Of andere conditie? + AND vf.fin_verkoopfactuur_refkey = rrr.res_rsv_ruimte_key AND vf.prs_bedrijf_key = b.prs_bedrijf_key ORDER BY vf.prs_bedrijf_key, 1, 2, 3, 4; @@ -3240,7 +3418,7 @@ AS NULL prj_activa, -- Hard op NULL SUM (mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen! 'credit' debitcredit, -- TODO:Altijd 'credit' (ook negatieve bedragen)??? - DECODE (grtboekrek, '812x', grtboekrek_oms || DECODE (fin_btwtabelwaarde_code, 'H', ' high', ' low'), '8130', regel, grtboekrek_oms) omschrijving, + DECODE (grtboekrek, '812x', 'ToDo' || DECODE (fin_btwtabelwaarde_code, 'H', ' high', ' low'), '8130', regel, 'ToDo') omschrijving, DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN') btwcode FROM bssc_v_addd_frozen --WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' @@ -3258,7 +3436,7 @@ AS '50900', NULL, 'credit', - DECODE (grtboekrek, '812x', grtboekrek_oms || DECODE (fin_btwtabelwaarde_code, 'H', ' high', ' low'), '8130', regel, grtboekrek_oms), + DECODE (grtboekrek, '812x', 'ToDo' || DECODE (fin_btwtabelwaarde_code, 'H', ' high', ' low'), '8130', regel, 'ToDo'), DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN') UNION ALL SELECT fin_verkoopfactuur_id || debiteur_nr || '8136' sortering, @@ -3373,7 +3551,7 @@ AS -- aanwezige klantwens-opdrachten en correctie-meldingen (1 regel in view)! CURSOR c1 IS - SELECT '[' || v.regel_id || '|' || v.prs_debiteur_naam || '] ' aanduiding, + SELECT '[' || v.refid || '|' || v.prs_debiteur_naam || '] ' aanduiding, v.*, o.mld_statusopdr_key, m.mld_melding_status FROM (SELECT * FROM bssc_v_addd_actual) v @@ -3531,14 +3709,15 @@ BEGIN VALUES (v_verkoopfactuurkop_key, v_factuur_id, TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'), - rec.regel || '=' || rec.regel_id, + --rec.regel || '=' || rec.refid, + rec.po_nr || '/=' || rec.sortering || rec.regel, rec.xmlnode, rec.refkey, rec.prs_kostenplaats_key, rec.prs_kostenplaats_nr, rec.prs_kostenplaats_omschrijving, rec.prs_kostenplaatsgrp_oms, - rec.grtboekrek_oms, + rec.grtboekrek, rec.grtboekrek, rec.grtboekrek, rec.prs_bedrijf_key, @@ -3556,14 +3735,14 @@ BEGIN TO_NUMBER (NULL), -- n3 TO_NUMBER (NULL), -- n4 TO_NUMBER (NULL), -- n5 - rec.po_nr, -- c1 - rec.contract_id, -- c2 - rec.sortering, -- c3 + NULL, -- c1 + NULL, -- c2 + NULL, -- c3 rec.contactpersoon, -- c4 rec.aanvrager, -- c5 - NULL, -- c6 + rec.regel_oms, -- c6 rec.debiteur_nr || '=' || rec.btw_nr, -- c7 - rec.regel_oms, -- c8 + rec.mld_melding_omschrijving, -- c8 TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1 TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2 TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3 @@ -4278,6 +4457,30 @@ AS AND p.prs_afdeling_key = bc.prs_link_key(+) AND p.prs_afdeling_key = gc.prs_link_key(+); +-- Domein met alle kostensoorten (grootboeken). +CREATE OR REPLACE VIEW bssc_v_kostensoorten +( + kostensoort_id, + kostensoort_naam, + kostensoort_verwijder +) +AS + SELECT DISTINCT + fac.safe_to_number (ks.prs_kostensoort_oms) kostensoort_id, + ks.prs_kostensoort_oms || ' [' || ks.prs_kostensoort_opmerking || ']' kostensoort_naam, + NULL kostensoort_verwijder + FROM prs_kostensoort ks + WHERE fac.safe_to_number (ks.prs_kostensoort_oms) IS NOT NULL + UNION + SELECT DISTINCT + fac.safe_to_number (vf.prs_kostensoort_oms) kostensoort_id, + vf.prs_kostensoort_oms || ' [' || ks.prs_kostensoort_opmerking || ']' kostensoort_naam, + NULL kostensoort_verwijder + FROM fin_verkoopfactuur vf, prs_kostensoort ks + WHERE fac.safe_to_number (vf.prs_kostensoort_oms) IS NOT NULL + AND vf.fin_verkoopfactuur_datum > TO_DATE ('01012021', 'ddmmyyyy') + AND vf.prs_kostensoort_oms = ks.prs_kostensoort_oms(+); + -- Domein met alle contractanten (debiteuren). CREATE OR REPLACE VIEW bssc_v_debiteuren ( @@ -4298,7 +4501,7 @@ AS UNION ALL SELECT 100000000 + cp.prs_contactpersoon_key, b.prs_bedrijf_naam || ' [' || prs_overeenkomst_nr || ']/' - || COALESCE (TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voornaam || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))), '-') || ';T:' + || COALESCE (TRIM (cp.prs_contactpersoon_aanhef || ' ' || TRIM (cp.prs_contactpersoon_voorletters || ' ' || TRIM (cp.prs_contactpersoon_tussenv || ' ' || cp.prs_contactpersoon_naam))), '-') || ';T:' || COALESCE (cp.prs_contactpersoon_telefoon_1, cp.prs_contactpersoon_telefoon_2, b.prs_bedrijf_telefoon, b.prs_bedrijf_telefoon2, '-') || ';E:' || COALESCE (cp.prs_contactpersoon_email, b.prs_bedrijf_email, '-') || ';P:' || DECODE (b.prs_bedrijf_post_adres, NULL, '-', TRIM (b.prs_bedrijf_post_adres || ', ' || b.prs_bedrijf_post_postcode) || ' ' || b.prs_bedrijf_post_plaats), @@ -4308,6 +4511,143 @@ AS AND b.prs_bedrijf_key = cp.prs_bedrijf_key AND TO_CHAR (COALESCE (cp.prs_contactpersoon_verwijder, b.prs_bedrijf_verwijder, SYSDATE), 'yyyy') >= '2021'; +-- Domein met alle facturen in de afgelopen 12 maanden. +CREATE OR REPLACE VIEW bssc_v_verkoopfactuurref +( + fin_verkoopfactuurkop_key, + fin_verkoopfactuur_id, + fin_verkoopfactuur_tht +) +AS + SELECT vf.fin_verkoopfactuurkop_key, + vf.fin_verkoopfactuur_id || '/' || vf.prs_debiteur_naam || + ' [' || + SUBSTR (vf.fin_verkoopfactuur_maand, 1, 4) || '-' || SUBSTR (vf.fin_verkoopfactuur_maand, 5, 2) || + DECODE (c.cnt_contract_key, + NULL, '', + ' (' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || ')') || + ']' + fin_verkoopfactuur_id, + vf.tht + FROM (SELECT DISTINCT + fin_verkoopfactuurkop_key, + fin_verkoopfactuur_id, + prs_debiteur_naam, + fin_verkoopfactuur_maand, + fin_verkoopfactuur_c2, + LAST_DAY (ADD_MONTHS (fin_verkoopfactuur_datum, 12)) tht, + fin_verkoopfactuur_xmlnode, + fin_verkoopfactuur_refkey + FROM fin_verkoopfactuur + WHERE fin_verkoopfactuur_datum > TO_DATE ('01012021', 'ddmmyyyy')) vf + LEFT JOIN + cnt_contract c + ON vf.fin_verkoopfactuur_xmlnode = 'contract' + AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key; + +CREATE OR REPLACE VIEW BSSC_V_RAP_FREEZEEVENTS +( + refkey, + debiteur, + debiteurnr, + contactpersoon, + datum, + refid, + kosten +) +AS + SELECT v.refkey, + v.prs_debiteur_naam, + v.debiteur_nr, + v.contactpersoon, + --TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyy-mm-dd') datum, + rrr.res_rsv_ruimte_van, + v.refid, + SUM (mndnet) kosten + FROM bssc_v_addd_actual v, res_rsv_ruimte rrr + WHERE v.xmlnode = 'reservering' AND v.refkey = rrr.res_rsv_ruimte_key + GROUP BY v.refkey, + v.prs_debiteur_naam, + v.debiteur_nr, + v.contactpersoon, + --TO_CHAR (rrr.res_rsv_ruimte_van, 'yyyy-mm-dd'), + rrr.res_rsv_ruimte_van, + v.refid; + +CREATE OR REPLACE VIEW BSSC_V_RAP_VERKOOPFACTUUR +AS +SELECT 'C' factuurstroom, + fin_verkoopfactuur_id, + po_nr, + sortering, + regel, + aanvrager, -- Alleen R-factuur + regel_oms, -- Alleen R-factuur + TO_DATE (factuurdatum, 'dd-mm-yyyy') gefactureerd_op, + factuurdatum, + vervaldatum, + xmlnode, + refkey, + refid, + lv, + prs_bedrijf_key, + prs_debiteur_naam, + debiteur_nr, + contactpersoon, + btw_nr, -- Weg? + adres, + postcode, + plaats, + land, + fin_btwtabelwaarde_perc, + fin_btwtabelwaarde_verlegd, + maand, + mndbegin, + mndeinde, + mndnet, + mndbtw, -- Weg? + TO_CHAR (mld_melding_key) meldingnummer, + mld_melding_key, + mld_melding_omschrijving -- Weg? + FROM bssc_v_fact_actual + WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01' +UNION ALL +SELECT 'R' factuurstroom, + fin_verkoopfactuur_id, + po_nr, + sortering, + regel, + aanvrager, + regel_oms, + TO_DATE (factuurdatum, 'dd-mm-yyyy') gefactureerd_op, + factuurdatum, + vervaldatum, + xmlnode, + refkey, + refid, + lv, -- Alleen C-factuur + prs_bedrijf_key, + prs_debiteur_naam, + debiteur_nr, + contactpersoon, + btw_nr, -- Weg? + adres, + postcode, + plaats, + land, + fin_btwtabelwaarde_perc, + fin_btwtabelwaarde_verlegd, + maand, + mndbegin, + mndeinde, + mndnet, + mndbtw, -- Weg? + TO_CHAR (mld_melding_key) meldingnummer, + mld_melding_key, + mld_melding_omschrijving -- Weg? + FROM bssc_v_addd_actual + WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'; + ------ payload end ------ SET DEFINE OFF