WZKW#80229 -- Koppeling reserveringen naar VISMA CASH
svn path=/Customer/trunk/; revision=63383
This commit is contained in:
528
WZKW/WZKW.sql
528
WZKW/WZKW.sql
@@ -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 ------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user