WZKW#80229 -- Koppeling reserveringen naar VISMA CASH

svn path=/Customer/trunk/; revision=63383
This commit is contained in:
Norbert Wassink
2024-01-30 08:27:04 +00:00
parent a287810134
commit aea8628f02

View File

@@ -38,6 +38,12 @@ AS
PROCEDURE resetCashExport(p_reservering_key IN NUMBER,
p_datumExport IN VARCHAR2);
PROCEDURE setReserveringKenmerk(p_reservering_key IN NUMBER,
p_periode_van IN DATE,
p_periode_tot IN DATE,
p_kenmerk_key IN NUMBER);
PROCEDURE WZKW_GENERATE_FIN_VERKOOP(p_rrr_key IN NUMBER);
END;
/
@@ -126,8 +132,168 @@ AS
END;
PROCEDURE setReserveringKenmerk(p_reservering_key IN NUMBER, p_periode_van IN DATE, p_periode_tot IN DATE, p_kenmerk_key IN NUMBER)
AS
CURSOR res (v_reservering_key IN NUMBER, v_periode_van IN DATE, v_periode_tot IN DATE)
IS
SELECT rrr.res_rsv_ruimte_key rrr_key
FROM res_rsv_ruimte rrr,
res_kenmerkwaarde rkw,
res_kenmerk rk
where res_reservering_key=v_reservering_key
AND rrr.res_rsv_ruimte_van BETWEEN v_periode_van AND v_periode_tot
AND rrr.res_status_bo_key = 2
AND rrr.res_status_fo_key = 2;
BEGIN
FOR rec in res(p_reservering_key, p_periode_van, p_periode_tot)
LOOP
flx.setflex('RES',p_kenmerk_key, rec.rrr_key, TO_CHAR(TRUNC(SYSDATE),'DD-MM-YYYY'));
END LOOP;
END;
PROCEDURE WZKW_GENERATE_FIN_VERKOOP(p_rrr_key IN NUMBER)
AS
CURSOR sel (v_rrr_key IN NUMBER)
IS
SELECT *
FROM wzkw_v_fact_res_cnt
where res_rsv_ruimte_key=v_rrr_key;
CURSOR sel_artdeel(v_rrr_key IN NUMBER)
IS
SELECT res_reservering_key reservering_key,
'Catering' oms,
SUM(ra.res_artikel_prijs*rra.res_rsv_artikel_aantal) prijs
FROM res_rsv_ruimte rrr, res_rsv_artikel rra, res_artikel ra
WHERE rrr.res_rsv_ruimte_key = v_rrr_key
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND ra.res_artikel_key = rra.res_artikel_key
AND rra.res_rsv_artikel_verwijder IS NULL
GROUP BY res_reservering_key, 'Catering'
UNION ALL
SELECT rrr.res_reservering_key reservering_key,
'Object' oms,
SUM(rd.res_deel_prijs*rrd.res_rsv_deel_aantal) prijs
FROM res_rsv_ruimte rrr, res_rsv_deel rrd, res_deel rd
WHERE rrr.res_rsv_ruimte_key = v_rrr_key
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rd.res_deel_key = rrd.res_deel_key
AND rrd.res_rsv_deel_verwijder IS NULL
GROUP BY res_reservering_key, 'Object';
v_verkoopfactuurkop_key NUMBER;
v_factuurdatum VARCHAR2(10);
v_lev_nr VARCHAR2(20);
v_count NUMBER;
v_count_artdeel NUMBER;
v_rrr_key NUMBER;
BEGIN
v_lev_nr:='';
v_rrr_key:=0;
v_count:=0;
v_count_artdeel:=0;
FOR rec In sel(p_rrr_key)
LOOP
INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id)
VALUES (rec.lev_nr || '-' || rec.reservering_key || '/'|| rec.res_volgnr)
RETURNING fin_verkoopfactuurkop_key
INTO v_verkoopfactuurkop_key;
-- Gaan we eerst kijken of de rrr_key al in de verkoopfactuur table staat
SELECT COUNT(*)
INTO v_count
FROM fin_verkoopfactuur f
WHERE f.fin_verkoopfactuur_refkey=rec.res_rsv_ruimte_key;
IF v_count =1 THEN
DELETE FROM fin_verkoopfactuur f
WHERE f.fin_verkoopfactuur_refkey=rec.res_rsv_ruimte_key;
END IF;
-- Gaan we eerst de ruimte reservereing toevoegen
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key,
fin_verkoopfactuur_id,
fin_verkoopfactuur_datum,
fin_verkoopfactuur_omschr,
fin_verkoopfactuur_xmlnode,
fin_verkoopfactuur_refkey,
prs_bedrijf_key,
prs_debiteur_naam,
fin_verkoopfactuur_bedrag,
fin_verkoopfactuur_c1, -- Hierin leggen we het soort factuurregel vast ruimte, catering of object
fin_verkoopfactuur_n1, -- Hierin leggen we de status van de factuur vast 1=Nieuw, 2=Export
fin_verkoopfactuur_n2, -- Hier in slaan we het reservering_key op omdat alles gegropeerd nmoet worden op reservering_key
fin_verkoopfactuur_n3,
fin_verkoopfactuur_n4
)
VALUES (
v_verkoopfactuurkop_key,
rec.reservering_key || '/'|| rec.res_volgnr,
TRUNC(SYSDATE),
rec.ruimte_oms,
'reservering',
rec.res_rsv_ruimte_key,
rec.bedrijf_key,
rec.lev_nr,
rec.prijs,
'Ruimte',
1,
rec.reservering_key,
1,
rec.contract_key
);
-- Gaan we nu nog de catering en reserveerbare oibjecten toevoegen als deze er zijn.
FOR rec_art IN sel_artdeel(p_rrr_key)
LOOP
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key,
fin_verkoopfactuur_id,
fin_verkoopfactuur_datum,
fin_verkoopfactuur_omschr,
fin_verkoopfactuur_xmlnode,
fin_verkoopfactuur_refkey,
prs_bedrijf_key,
prs_debiteur_naam,
fin_verkoopfactuur_bedrag,
fin_verkoopfactuur_c1, -- Hierin leggen we het soort factuurregel vast ruimte, catering of object
fin_verkoopfactuur_n1, -- Hierin leggen we de status van de factuur vast 1=Nieuw, 2=Export
fin_verkoopfactuur_n2,
fin_verkoopfactuur_n3,
fin_verkoopfactuur_n4
)
VALUES (
v_verkoopfactuurkop_key,
rec.reservering_key || '/'|| rec.res_volgnr,
TRUNC(SYSDATE),
rec.ruimte_oms,
'reservering',
rec.res_rsv_ruimte_key,
rec.bedrijf_key,
rec.lev_nr,
rec_art.prijs,
rec_art.oms,
1,
rec.reservering_key,
2,
rec.contract_key
);
END LOOP;
END LOOP;
END;
END;
/
@@ -190,7 +356,7 @@ AS
CREATE OR REPLACE VIEW WZKW_V_RESERVERINGEN_CNT
AS
SELECT *
/* SELECT *
FROM (
SELECT p.prs_leverancier_nr huurder,
p.prs_bedrijf_key,
@@ -279,7 +445,101 @@ AS
ADD_MONTHS (SYSDATE, COALESCE (ct.cnt_termijn_aantal, 3))))
ORDER BY 1, 5, 6)
WHERE ( lastinvoicedate IS NULL
OR lastinvoicedate< periode_van);
OR lastinvoicedate< periode_van);*/
CREATE OR REPLACE VIEW wzkw_v_fact_res_cnt
AS
SELECT rrr.res_rsv_ruimte_key,
rrr.res_reservering_key reservering_key,
rrr.res_rsv_ruimte_volgnr res_volgnr,
rrr.res_rsv_ruimte_van ruimte_van,
b.prs_bedrijf_key bedrijf_key,
b.prs_leverancier_nr lev_nr,
b.prs_bedrijf_naam huurder,
rrr.res_rsv_ruimte_omschrijving rrr_oms,
'Huur ' || rer.res_ruimte_nr ruimte_oms,
alg.ALG_RUIMTE_NR ruimte_NR,
COALESCE (rrr.res_rsv_ruimte_totaal,
res.getresruimteprijs (
rer.res_ruimte_key,
rrr.res_rsv_ruimte_van,
rrr.res_rsv_ruimte_tot,
DECODE (incidenteel.res_kenmerkreservering_waarde,
1, 1,
0))) prijs,
DECODE (incidenteel.res_kenmerkreservering_waarde,
1, 'Incidenteel',
'Contract') soort_reservering,
c.cnt_contract_key contract_key,
ct.cnt_termijn_aantal fact_periode,
ct.cnt_termijn_type fact_interval,
TO_CHAR (rrr.res_rsv_ruimte_van, 'YYYY') fact_jaar,
DECODE (ct.cnt_termijn_aantal,
3, TO_CHAR (rrr.res_rsv_ruimte_van, 'Q'),
'') fact_kwartaal,
DECODE (ct.CNT_TERMIJN_AANTAL,
1, TO_CHAR (rrr.res_rsv_ruimte_van, 'MM'),
'') fact_maand,
(SELECT ck.cnt_kenmerk_key
FROM cnt_kenmerk ck
WHERE ck.cnt_kenmerk_code='LASTINVOICEDATE'
AND ck.cnt_kenmerk_verwijder IS NULL) lastinvoicedate_key,
(SELECT TO_DATE (ckc.cnt_kenmerkcontract_waarde, 'DD-MM-YYYY')
FROM cnt_kenmerkcontract ckc, cnt_kenmerk ck
WHERE ck.cnt_kenmerk_code = 'LASTINVOICEDATE'
AND ckc.cnt_kenmerk_key = ck.cnt_kenmerk_key
AND ckc.cnt_kenmerkcontract_verwijder IS NULL
AND ckc.cnt_contract_key = c.cnt_contract_key) lastinvoicedate
FROM res_rsv_ruimte rrr,
RES_ACTIVITEIT ra,
res_kenmerkwaarde rkw,
res_kenmerk rk,
res_ruimte_opstelling rop,
res_alg_ruimte rarm,
res_ruimte rer,
alg_v_ruimte_gegevens_all alg,
prs_bedrijf b,
cnt_contract c,
CNT_TERMIJN ct,
(SELECT *
FROM res_kenmerkwaarde rkw2, res_kenmerk rk2
WHERE rkw2.res_kenmerk_key = rk2.res_kenmerk_key
AND rk2.res_kenmerk_code = 'INCIDENTEEL'
AND rk2.res_kenmerk_verwijder IS NULL) incidenteel
WHERE rrr.res_status_bo_key = 2
AND rrr.res_status_fo_key = 2
AND rrr.res_activiteit_key = ra.res_activiteit_key
AND ra.res_activiteit_omschrijving = 'Reservering Extern'
AND rkw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rkw.res_kenmerk_key = rk.res_kenmerk_key
AND rk.res_kenmerk_code = 'HUURDERS'
AND rrr.res_rsv_ruimte_key NOT IN
(SELECT rkw2.RES_RSV_RUIMTE_KEY
FROM res_kenmerkwaarde rkw2, res_kenmerk rk2
WHERE rkw2.res_kenmerk_key = rk2.res_kenmerk_key
AND rk2.res_kenmerk_code = 'FACTUURSYNC')
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
AND rer.res_ruimte_key = rop.res_ruimte_key
AND rarm.res_ruimte_key = rer.res_ruimte_key
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
AND b.prs_bedrijf_key =
fac.safe_to_number (rkw.res_kenmerkreservering_waarde)
AND b.prs_bedrijf_key = c.cnt_prs_bedrijf_key
AND c.cnt_contract_status = 0
AND ct.cnt_termijn_key(+) = c.cnt_contract_termijntermijn
AND alg.alg_ruimte_key IN
(SELECT ccp.cnt_alg_plaats_key
FROM cnt_contract_plaats ccp
WHERE ccp.cnt_contract_key = c.cnt_contract_key)
AND incidenteel.res_rsv_ruimte_key(+) = rrr.res_rsv_ruimte_key
AND TRUNC (rrr.res_rsv_ruimte_van) >= TRUNC (SYSDATE - 1)
ORDER BY 5, 2, 3;
-- Dagelijk aan te rioepen taak die de
@@ -446,9 +706,64 @@ CREATE OR REPLACE PROCEDURE WZKW_SELECT_RES2CASHCSV (p_applname IN VARCHAR2,
AS
CURSOR sel_res
IS
SELECT *
SELECT res_rsv_ruimte_key rrr_key,
reservering_key,
ruimte_van,
huurder,
lev_nr,
bedrijf_key,
contract_key,
ruimte_oms,
lastinvoicedate_key,
TRUNC(lastinvoicedate) lastinvoicedate,
fact_periode ,
fact_interval,
prijs,
TO_DATE('01-'||TO_CHAR(ADD_MONTHS(TRUNC(lastinvoicedate), fact_periode),'MM-YYYY'), 'DD-MM-YYYY') vanPeriode,
LAST_DAY(ADD_MONTHS(TO_DATE('01-'||TO_CHAR(ADD_MONTHS(TRUNC(lastinvoicedate), fact_periode),'MM-YYYY'), 'DD-MM-YYYY'),fact_periode-1)) totPeriode
FROM wzkw_v_fact_res_cnt
WHERE ( lastinvoicedate IS NOT NULL
AND TRUNC(SYSDATE) >= ADD_MONTHS(lastinvoicedate,fact_periode)
AND ruimte_van BETWEEN TO_DATE('01-'||TO_CHAR(ADD_MONTHS(TRUNC(lastinvoicedate), fact_periode),'MM-YYYY'), 'DD-MM-YYYY')
AND LAST_DAY(ADD_MONTHS(TO_DATE('01-'||TO_CHAR(ADD_MONTHS(TRUNC(lastinvoicedate), fact_periode),'MM-YYYY'), 'DD-MM-YYYY'),fact_periode-1))
)
OR
(lastinvoicedate IS NULL
AND ruimte_van BETWEEN TO_DATE('01-'||TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE), fact_periode),'MM-YYYY'), 'DD-MM-YYYY')
AND LAST_DAY(ADD_MONTHS(TO_DATE('01-'||TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE), fact_periode),'MM-YYYY'), 'DD-MM-YYYY'),fact_periode-1))
);
--GROUP BY RESERVERING_KEY,HUURDER,lev_nr,BEDRIJF_KEY,CONTRACT_KEY, RUIMTE_OMS,lastinvoicedate_key,LASTINVOICEDATE,FACT_PERIODE,fact_interval;
CURSOR sel_finv
IS
SELECT fin_verkoopfactuur_n2 reservering_key,
prs_debiteur_naam huurder,
fin_verkoopfactuur_c1 soort,
fin_verkoopfactuur_omschr oms,
fin_verkoopfactuur_n4 contract_key,
fin_verkoopfactuur_n3 volgnr,
SUM (fin_verkoopfactuur_bedrag) prijs,
COUNT (*) aantal
FROM fin_verkoopfactuur
WHERE fin_verkoopfactuur_datum = TRUNC (SYSDATE)
AND fin_verkoopfactuur_n1=1
GROUP BY fin_verkoopfactuur_n2,
prs_debiteur_naam,
fin_verkoopfactuur_c1,
fin_verkoopfactuur_omschr,
fin_verkoopfactuur_n4,
fin_verkoopfactuur_n3
ORDER BY fin_verkoopfactuur_n2, fin_verkoopfactuur_n3;
/*
SELECT reservering_key, huurder, prs_bedrijf_key, lastinvoicedate_key, periode_van, periode_tot,ruimte_nr, oms, SUM(prijs) prijs
FROM WZKW_V_RESERVERINGEN_CNT
WHERE last_export IS NULL;
WHERE last_export IS NULL
GROUP by reservering_key, huurder, prs_bedrijf_key, lastinvoicedate_key, periode_van, periode_tot, ruimte_nr, oms;
--AND datum_van < SYSDATE
--AND TO_CHAR(datum_van,'MM-YYYY') = TO_CHAR(ADD_MONTHS(SYSDATE,1),'MM-YYYY');
@@ -480,7 +795,30 @@ AS
AND rd.res_deel_key = rrd.res_deel_key
AND rrd.res_rsv_deel_verwijder IS NULL;
CURSOR sel_res_artdeel(v_reservereing_key IN NUMBER)
IS
SELECT res_reservering_key reservering_key,
'Catering' oms,
SUM(ra.res_artikel_prijs*rra.res_rsv_artikel_aantal) prijs
FROM res_rsv_ruimte rrr, res_rsv_artikel rra, res_artikel ra
WHERE rrr.res_reservering_key = v_reservereing_key
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND ra.res_artikel_key = rra.res_artikel_key
AND rra.res_rsv_artikel_verwijder IS NULL
GROUP BY res_reservering_key, 'Catering'
UNION ALL
SELECT rrr.res_reservering_key reservering_key,
'Gereserveerd object' oms,
SUM(rd.res_deel_prijs*rrd.res_rsv_deel_aantal) prijs
FROM res_rsv_ruimte rrr, res_rsv_deel rrd, res_deel rd
WHERE rrr.res_reservering_key = v_reservereing_key
AND rrd.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND rd.res_deel_key = rrd.res_deel_key
AND rrd.res_rsv_deel_verwijder IS NULL
GROUP BY res_reservering_key, 'Gereserveerd object';
*/
v_bestand VARCHAR2(20);
@@ -498,7 +836,10 @@ AS
oracle_err_mes VARCHAR2 (200);
v_errormsg VARCHAR2 (200);
v_errorhint VARCHAR2 (200);
v_factuurregel VARCHAR2(40);
v_servicecost NUMBER;
v_energiecost NUMBER;
BEGIN
v_bestand:= 'CSH_RESC';
v_count:=0;
@@ -509,48 +850,103 @@ BEGIN
DELETE FROM fac_rapport WHERE fac_rapport_node LIKE 'CSH_RESC';
BEGIN
SELECT rk.res_kenmerk_key
INTO v_SyncDate_Key
FROM res_activiteit ra,
res_kenmerk rk,
RES_SRTKENMERK rsk
WHERE UPPER(rsk.RES_srtkenmerk_omschrijving) = 'CASHSYNCDATE'
AND rk.res_srtkenmerk_key = rsk.res_srtkenmerk_key
AND rk.RES_ACTIVITEIT_KEY = ra.RES_ACTIVITEIT_KEY
AND ra.RES_ACTIVITEIT_OMSCHRIJVING = 'Reservering Extern'
AND ra.RES_ACTIVITEIT_VERWIJDER IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_error:=1;
v_errormsg:='Kenmerk key voor ExtrenSyncDate op ACtiviteot Reservering Extren niet gevonden';
fac.writelog ('RES2CASH', 'E', v_errormsg, v_errorhint);
SELECT rk.res_kenmerk_key
INTO v_SyncDate_Key
FROM res_activiteit ra,
res_kenmerk rk
WHERE rk.RES_KENMERK_CODE = 'FACTUURSYNC'
AND rk.res_activiteit_key = ra.res_activiteit_key
AND ra.res_activiteit_omschrijving = 'Reservering Extern'
AND ra.res_activiteit_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_error:=1;
v_errormsg:='Kenmerk key met code FACTUURSYNC op Activiteit Reservering Extren niet gevonden';
fac.writelog ('RES2CASH', 'E', v_errormsg, v_errorhint);
END;
IF v_error=0 THEN
-- Gaan we eerst de fin_verkoopfactuur vullen met alle te exporteren reserveringen
FOR rec IN sel_res
LOOP
v_count:=v_count+1;
v_regel:=v_regel+1;
v_csv_regel:='0440|0101='||rec.huurder||'|0425='||rec.reservering_key||'|1490='||v_count||'|0451=|0452='||SUBSTR(rec.oms,1,40)||'|0421=1.00|0455='||LTRIM(TO_CHAR(ROUND(rec.prijs,2),'999999999.99'))||'|0442=X|0118=|0201=|0911=|1919=|';
wzkw.add_csv_row (v_bestand, v_csv_regel);
wzkW.WZKW_GENERATE_FIN_VERKOOP(rec.rrr_key);
flx.setflex('RES',v_SyncDate_Key, rec.rrr_key, TO_CHAR(TRUNC(SYSDATE),'DD-MM-YYYY'));
flx.setflex('CNT',rec.lastinvoicedate_key, rec.contract_key, TO_CHAR(TRUNC(SYSDATE),'DD-MM-YYYY'));
END LOOP;
-- Gaan we ni over de fin_verkoopfactuur loopen om de unieke reservering_key er uit te krijgen.
v_huurder:='';
FOR rex_exp IN sel_finv
LOOP
v_count:=v_count+1;
v_csv_regel:='0440|0101='||rex_exp.huurder||'|0425='||rex_exp.reservering_key||'|1490='||v_count||'|0451=|0452='||SUBSTR(rex_exp.soort||' '||rex_exp.oms,1,40)||'|0421=1.00|0455='||LTRIM(TO_CHAR(ROUND(rex_exp.prijs,2),'999999999.99'))||'|0442=X|0118=|0201=|0911=|1919=|';
wzkw.add_csv_row (v_bestand, v_csv_regel);
IF rex_exp.volgnr='1' THEN -- volgnr=1 betekend ruimte dus gaan we gelijk de service en energie kosten inboeken
SELECT COALESCE((
SELECT fac.safe_to_number(ckw1.CNT_KENMERKCONTRACT_WAARDE)
FROM cnt_kenmerkcontract ckw1, cnt_kenmerk ck1
WHERE ckw1.CNT_CONTRACT_KEY = c.CNT_CONTRACT_KEY
AND ckw1.CNT_KENMERK_KEY = ck1.CNT_KENMERK_KEY
AND ck1.CNT_KENMERK_CODE = 'SERVICECOST'),
0) serviceCost,
COALESCE(( SELECT fac.safe_to_number(ckw1.CNT_KENMERKCONTRACT_WAARDE)
FROM cnt_kenmerkcontract ckw1, cnt_kenmerk ck1
WHERE ckw1.CNT_CONTRACT_KEY = c.CNT_CONTRACT_KEY
AND ckw1.CNT_KENMERK_KEY = ck1.CNT_KENMERK_KEY
AND ck1.CNT_KENMERK_CODE = 'ENERGIECOST'),0) energieCost
INTO v_servicecost,
v_energiecost
FROM cnt_contract c
WHERE c.cnt_contract_key = rex_exp.contract_key;
IF v_servicecost>0 THEN -- alleen als we ook een bedrag hebben
v_count:=v_count+1;
v_csv_regel:='0440|0101='||rex_exp.huurder||'|0425='||rex_exp.reservering_key||'|1490='||v_count||'|0451=|0452='||SUBSTR('Service kosten',1,40)||'|0421=1.00|0455='||LTRIM(TO_CHAR(ROUND(v_servicecost,2),'999999999.99'))||'|0442=X|0118=|0201=|0911=|1919=|';
wzkw.add_csv_row (v_bestand, v_csv_regel);
END IF;
IF v_energiecost>0 THEN -- alleen als we ook een bedrag hebben
v_count:=v_count+1;
v_csv_regel:='0440|0101='||rex_exp.huurder||'|0425='||rex_exp.reservering_key||'|1490='||v_count||'|0451=|0452='||SUBSTR('Energie kosten',1,40)||'|0421=1.00|0455='||LTRIM(TO_CHAR(ROUND(v_energiecost,2),'999999999.99'))||'|0442=X|0118=|0201=|0911=|1919=|';
wzkw.add_csv_row (v_bestand, v_csv_regel);
END IF;
v_huurder:=rex_exp.huurder;
END IF;
-- Moeten we nu nog bepalen of we voor deze huurder al een Energie en Service kosten moeten factureren
END LOOP;
UPDATE fin_verkoopfactuur
SET fin_verkoopfactuur_n1=2
WHERE fin_verkoopfactuur_datum = TRUNC (SYSDATE)
AND fin_verkoopfactuur_n1=1;
FOR rec_art in sel_art(rec.rrr_key)
/*
FOR rec_art in sel_res_artdeel(rec.reservering_key)
LOOP
v_regel:=v_regel+1;
v_csv_regel:='0440|0101='||rec.huurder||'|0425='||rec.reservering_key||'|1490='||v_count||'|0451=|0452='||SUBSTR(rec.oms,1,40)||'|0421='||LTRIM(TO_CHAR(ROUND(rec_art.aantal,2),'999999999.99'))||'0455='||LTRIM(TO_CHAR(ROUND(rec.prijs,2),'999999999.99'))||'|0442=X|0118=|0201=|0911=|1919=|' ;
-- v_csv_regel:='0440|0101='||rec.huurder||'|0425='||rec.reservering_key||'|1490='||v_count||'|0451=|0452='||SUBSTR(rec.oms,1,40)||'|0421='||LTRIM(TO_CHAR(ROUND(rec_art.aantal,2),'999999999.99'))||'0455='||LTRIM(TO_CHAR(ROUND(rec.prijs,2),'999999999.99'))||'|0442=X|0118=|0201=|0911=|1919=|' ;
v_csv_regel:='0440|0101='||rec.huurder||'|0425='||rec.reservering_key||'|1490='||v_count||'|0451=|0452='||SUBSTR(rec_art.oms,1,40)||'|0421=1|0455='||LTRIM(TO_CHAR(ROUND(rec_art.prijs,2),'999999999.99'))||'|0442=X|0118=|0201=|0911=|1919=|' ;
wzkw.add_csv_row (v_bestand, v_csv_regel);
END LOOP;
flx.setflex('RES',v_SyncDate_Key, rec.rrr_key, TO_CHAR(TRUNC(SYSDATE),'DD-MM-YYYY'));
flx.setflex('PRS',rec.lastinvoicedate_key, rec.prs_bedrijf_key,'B', TO_CHAR(TRUNC(SYSDATE),'DD-MM-YYYY'));
END LOOP;
*/
--wzkw.setReserveringKenmerk(rec.reservering_key, rec.periode_van, rec.periode_tot, v_syncDate_key);
--flx.setflex('RES',v_SyncDate_Key, rec.rrr_key, TO_CHAR(TRUNC(SYSDATE),'DD-MM-YYYY'));
--flx.setflex('CNT',rec.lastinvoicedate_key, rec.contract_key, NULL, TO_CHAR(TRUNC(SYSDATE),'DD-MM-YYYY'));
IF v_count=0 THEN
-- We hebben niets om te exporteren dan gooien we ook XML tags weg.
DELETE FROM fac_rapport WHERE fac_rapport_node = v_bestand;
/*
IF v_count=0 THEN
-- We hebben niets om te exporteren dan gooien we ook XML tags weg.
DELETE FROM fac_rapport WHERE fac_rapport_node = v_bestand;
END IF; */
END IF;
END IF;
fac.writelog ('RES2CASHCSV', 'M', 'Er zijn '||v_count||' reservereinge verstuurd naar Cash', 'Export2Cash');
fac.writelog ('RES2CASHCSV', 'M', 'Er zijn '||v_count||' reservereinge verstuurd naar Cash', 'Export2Cash');
END;
/
@@ -614,7 +1010,7 @@ AS
(SELECT *
FROM res_kenmerkwaarde rkw2, res_kenmerk rk2
WHERE rkw2.res_kenmerk_key = rk2.res_kenmerk_key
AND rk2.res_kenmerk_omschrijving = 'Incidenteel'
AND rk2.res_kenmerk_code = 'INCIDENTEEL'
AND rk2.RES_KENMERK_VERWIJDER IS NULL) incidenteel
WHERE rrr.res_status_bo_key = 2
AND rrr.res_status_fo_key = 2
@@ -623,13 +1019,13 @@ AS
AND ra.res_activiteit_verwijder IS NULL
AND rrr.res_ruimte_opstel_key = rop.res_ruimte_opstel_key
AND rer.res_ruimte_key = rop.res_ruimte_key
AND rk.res_kenmerk_omschrijving = 'Maandfacturatie'
AND rk.res_kenmerk_code = 'MAANDFACTURATIE'
AND rk.RES_ACTIVITEIT_KEY = rrr.RES_ACTIVITEIT_KEY
AND rkw.res_kenmerk_key = rk.res_kenmerk_key
AND rkw.res_kenmerkreservering_waarde = '1'
AND rkw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND TO_CHAR (rrr.res_rsv_ruimte_van, 'MM-YYYY') =
TO_CHAR (ADD_MONTHS (SYSDATE, 0), 'MM-YYYY')
TO_CHAR (ADD_MONTHS (SYSDATE, 0), 'MM-YYYY') -- Met de -1 gaanw e 1 maand terug (voor test staat deze nu op 0)
AND incidenteel.res_rsv_ruimte_key(+)=rrr.res_rsv_ruimte_key
)
GROUP BY huurder,reservering_nr,ruimtenr, periode;
@@ -741,6 +1137,7 @@ as
SELECT prs_bedrijf_key, prs_bedrijf_naam
FROM prs_bedrijf
WHERE prs_bedrijf.prs_bedrijf_verwijder IS NULL
AND prs_leverancier_nr IS NOT NULL
AND prs_bedrijf_huurder = 1;
-- Notificatie Views
@@ -760,7 +1157,7 @@ CREATE OR REPLACE VIEW wzkw_v_noti_externeres
prio
)
AS
SELECT DISTINCT rrr.RES_RESERVERING_KEY,
SELECT DISTINCT rrr.res_reservering_key,
'CUST01',
NULL,
NULL,
@@ -776,17 +1173,60 @@ AS
NULL
FROM res_rsv_ruimte rrr,
res_kenmerkwaarde r,
res_kenmerk rk,
prs_bedrijf b,
fac_notificatie_job nj,
res_activiteit ra
WHERE rrr.res_rsv_ruimte_aanmaak BETWEEN nj.fac_notificatie_job_lastrun
AND nj.fac_notificatie_job_nextrun -- check tussen runs
WHERE rrr.res_rsv_ruimte_aanmaak BETWEEN nj.fac_notificatie_job_lastrun AND nj.fac_notificatie_job_nextrun
AND rrr.res_activiteit_key = ra.res_activiteit_key
AND nj.fac_notificatie_job_view = 'WZKW_V_NOTI_EXTERNERES'
AND r.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
AND r.res_kenmerk_key = 21
AND rk.res_kenmerk_key = r.res_kenmerk_key
AND rk.res_kenmerk_code = 'HUURDERS'
AND ra.res_activiteit_omschrijving = 'Reservering Extern'
AND rrr.res_rsv_ruimte_verwijder IS NULL;
CREATE OR REPLACE VIEW WZKW_V_NOTI_CNTACTIEF
(
key,
code,
sender,
receiver,
text,
xkey,
xsender,
xemail,
xmobile,
attachments,
prio
)
AS
SELECT DISTINCT
cnt.CNT_CONTRACT_KEY,
'CUST02',
NULL,
NULL,
'Uw contract met Stichting Welzijnskwartier is geregistreerd.',
NULL,
NULL,
(SELECT prs_bedrijf_email
FROM prs_bedrijf prs
WHERE prs.prs_bedrijf_key = cnt.cnt_prs_bedrijf_key)
email,
NULL,
NULL,
NULL
FROM cnt_contract cnt,
cnt_kenmerkcontract kmc,
cnt_kenmerk km,
fac_notificatie_job nj
WHERE kmc.cnt_kenmerkcontract_aanmaak BETWEEN nj.fac_notificatie_job_lastrun
AND nj.fac_notificatie_job_nextrun
AND nj.fac_notificatie_job_view = 'WZKW_V_NOTI_CNTACTIEF'
AND cnt.cnt_contract_key = kmc.cnt_contract_key
AND kmc.cnt_kenmerk_key = km.cnt_kenmerk_key
AND km.cnt_kenmerk_code = 'ACTIEF'
AND cnt.cnt_contract_status=0;
------ payload end ------