2133 lines
85 KiB
SQL
2133 lines
85 KiB
SQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific configuration sql statements for inlo: Industrie & Logistiek
|
||
|
||
DEFINE thisfile = 'INLO.SQL'
|
||
DEFINE dbuser = '^INLO'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
WHENEVER SQLERROR EXIT;
|
||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||
WHENEVER SQLERROR CONTINUE;
|
||
SPOOL &fcltlogfile
|
||
SET DEFINE OFF
|
||
|
||
------ payload begin ------
|
||
|
||
-- script om dagelijks terugkerende scripts aan te roepen.
|
||
-- voor INLO-VEH van toepassing.
|
||
-- De urgentiebepaling is hieronder uitgequote. Loopt wel onder assetmanagement van heyday-rabo. Vraag is nog of dit ook voor INLO-VEH gespecificeerd en ingepast moet worden.
|
||
CREATE OR REPLACE PROCEDURE inlo_select_daily_task (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT ins_deel_omschrijving,
|
||
ins_deel_mjb_score1,
|
||
ins_deel_mjb_score2,
|
||
ins_srtcontroledl_xcp_key,
|
||
(SELECT ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel kd, ins_kenmerk k, ins_srtkenmerk sk
|
||
WHERE kd.ins_deel_key = d.ins_deel_key
|
||
AND kd.ins_kenmerk_key = k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = sk.ins_srtkenmerk_key
|
||
AND sk.ins_srtkenmerk_omschrijving = 'Kritische asset')
|
||
kritisch,
|
||
(SELECT TO_CHAR (ins_deelsrtcontrole_datum_org, 'YYYY')
|
||
FROM ins_deelsrtcontrole dsc
|
||
WHERE dsc.ins_deel_key = d.ins_deel_key
|
||
AND dsc.ins_srtcontrole_key = x.ins_srtcontrole_key
|
||
AND dsc.ins_deelsrtcontrole_status = 0)
|
||
orgdatum,
|
||
COALESCE (fac.nextcyclusdate (
|
||
COALESCE (
|
||
(SELECT MAX (ins_deelsrtcontrole_datum)
|
||
FROM ins_deelsrtcontrole dsc
|
||
WHERE ins_deelsrtcontrole_status <> 0
|
||
AND dsc.ins_deel_key =
|
||
d.ins_deel_key
|
||
AND dsc.ins_srtcontrole_key =
|
||
x.ins_srtcontrole_key),
|
||
DECODE (x.ins_srtcontroledl_xcp_startdat,
|
||
NULL, d.ins_deel_aanmaak,
|
||
TO_DATE (NULL))),
|
||
1, -- interval
|
||
ins_srtcontroledl_xcp_eenheid,
|
||
ins_srtcontroledl_xcp_periode,
|
||
ins_srtcontroledl_xcp_bits,
|
||
1,
|
||
1),
|
||
ins_srtcontroledl_xcp_startdat) volgende
|
||
FROM ins_deel d,
|
||
ins_srtcontroledl_xcp x,
|
||
ins_srtcontrole sc,
|
||
ctr_disc_params dp
|
||
WHERE d.ins_deel_key = x.ins_deel_key
|
||
AND x.ins_srtcontrole_key = sc.ins_srtcontrole_key
|
||
AND sc.ctr_discipline_key = dp.ctr_ins_discipline_key
|
||
AND dp.ctr_disc_params_ismjob = 1;
|
||
|
||
v_prio NUMBER;
|
||
v_freeze VARCHAR2 (4);
|
||
|
||
BEGIN
|
||
|
||
-- Conditiescores worden vanaf 2020.1 in het proces berekend, per melding en ook direct naar het object.
|
||
-- Deze object-scores worden moeten vervolgens geagregeerd worden naar gebouw en locatieniveau. Doen we dagelijks dmv onderstaande procedure:
|
||
---- Call this procedure to update aggregate scores (for a location/building)
|
||
---- PROCEDURE update_aggr_scores (p_locatie_key IN NUMBER DEFAULT NULL, p_gebouw_key IN NUMBER DEFAULT NULL);
|
||
cnd.update_aggr_scores (NULL, NULL);
|
||
|
||
|
||
-- pas de urgentie bij de taken aan - VOOR INLO-VEH INDIEN GEWENST NOG NADER TE BEPALEN
|
||
-- SELECT fac.getSetting ('mjb_feeze_year')
|
||
-- INTO v_freeze
|
||
-- FROM DUAL;
|
||
|
||
-- FOR rec IN c
|
||
-- LOOP
|
||
-- kritische installatie en planning dit jaar of vorig jaar niet uitgevoerd.
|
||
-- IF rec.kritisch = 1
|
||
-- AND (TO_CHAR (rec.volgende, 'yyyy') = v_freeze OR rec.orgdatum <= v_freeze)
|
||
-- THEN
|
||
-- v_prio := 3;
|
||
-- planning vorig jaar + storingshistorie
|
||
-- ELSIF rec.orgdatum < v_freeze
|
||
-- THEN
|
||
-- v_prio := 3;
|
||
--prioriteit < 4
|
||
-- ELSIF rec.ins_deel_mjb_score2 < 4 OR rec.ins_deel_mjb_score1 >= 4
|
||
-- THEN
|
||
-- v_prio := 3;
|
||
-- ELSIF rec.ins_deel_mjb_score2 < 7
|
||
-- THEN
|
||
-- v_prio := 2;
|
||
-- ELSE
|
||
-- v_prio := 1;
|
||
-- END IF;
|
||
|
||
-- UPDATE ins_srtcontroledl_xcp x
|
||
-- SET ins_srtcontroledl_xcp_prio = v_prio
|
||
-- WHERE x.ins_srtcontroledl_xcp_key = rec.ins_srtcontroledl_xcp_key;
|
||
-- END LOOP;
|
||
|
||
aaxx_daily_task (p_applname, p_applrun);
|
||
END;
|
||
/
|
||
|
||
|
||
-- Procedure voor liken reserveringen (zie ticket 59373)
|
||
CREATE OR REPLACE PROCEDURE inlo_export_res_like (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
v_expiredays NUMBER (10);
|
||
v_likerkey NUMBER (10);
|
||
v_xmlnode VARCHAR2(100);
|
||
v_refkey NUMBER;
|
||
v_bookmark VARCHAR2(150);
|
||
|
||
CURSOR c
|
||
IS
|
||
SELECT res_rsv_ruimte_key,
|
||
res_rsv_ruimte_contact_key,
|
||
res_rsv_ruimte_host_key, -- Aanvrager en Gastheer/vrouw kunnen verschillen. We mailen de aanvrager
|
||
(SELECT k.res_kenmerk_key
|
||
FROM res_activiteit a, res_kenmerk k, res_srtkenmerk sk
|
||
WHERE a.res_activiteit_key = rrr.res_activiteit_key
|
||
AND a.res_activiteit_key = k.res_activiteit_key
|
||
AND k.res_srtkenmerk_key = sk.res_srtkenmerk_key
|
||
AND k.res_kenmerk_verwijder is null
|
||
AND sk.res_srtkenmerk_UPPER = 'BOOKMARK')
|
||
kenmerk_key_bookmark
|
||
FROM res_rsv_ruimte rrr, prs_perslid p, res_activiteit a
|
||
WHERE rrr.res_rsv_ruimte_contact_key = p.prs_perslid_key
|
||
AND rrr.res_activiteit_key = a.res_activiteit_key
|
||
AND TRUNC (res_rsv_ruimte_van) = TRUNC (SYSDATE) - 2
|
||
AND res_rsv_ruimte_verwijder IS NULL
|
||
AND res_rsv_ruimte_noshow IS NULL -- no shows niet meenemen
|
||
AND res_status_fo_key not in (3,4) -- vervallen en verwijderde reserveringen niet meenemen
|
||
AND INSTR(LOWER(a.res_activiteit_omschrijving),'kreek')=0 -- ticket 65567 - vooralsnog uitsluiten Kreek
|
||
AND p.prs_perslid_email is not null ;
|
||
|
||
BEGIN
|
||
v_expiredays :=
|
||
fac.safe_To_Number (fac.getsetting ('fac_res_deeplike_expire'));
|
||
v_xmlnode := 'reservering';
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
v_likerkey := rec.res_rsv_ruimte_contact_key;
|
||
v_refkey := rec.res_rsv_ruimte_key;
|
||
v_bookmark := DBMS_RANDOM.string ('a', 16) ;
|
||
|
||
-- FAC_BOOKMARK vullen....PROCEDURE createlikebookmark (pxmlnode VARCHAR2, prefkey NUMBER);
|
||
-- BEGIN createlikebookmark ('reservering', rec.res_rsv_ruimte_key) ; Kan niet, want dan mis je (o.a.) expire-days
|
||
-- DUS de update pakken
|
||
|
||
UPDATE fac_bookmark
|
||
SET fac_bookmark_expire =
|
||
fac.datumtijdplusuitvoertijd (SYSDATE,
|
||
v_expiredays,
|
||
'DAGEN')
|
||
WHERE fac_bookmark_xmlnode = v_xmlnode
|
||
AND fac_bookmark_refkey = v_refkey
|
||
AND fac_bookmark_naam = 'faclikedeeplink';
|
||
|
||
IF SQL%ROWCOUNT = 0
|
||
THEN
|
||
INSERT INTO fac_bookmark (fac_bookmark_id,
|
||
fac_bookmark_naam,
|
||
fac_bookmark_path,
|
||
fac_bookmark_query,
|
||
fac_bookmark_xmlnode,
|
||
fac_bookmark_refkey,
|
||
fac_bookmark_expire,
|
||
prs_perslid_key_auth)
|
||
VALUES (
|
||
v_bookmark ,
|
||
'faclikedeeplink',
|
||
'appl/fac/fac_like_deep.asp',
|
||
'node=' || v_xmlnode || '&key=' || v_refkey, -- is straks beschermd met HMAC
|
||
v_xmlnode,
|
||
v_refkey,
|
||
fac.datumtijdplusuitvoertijd (SYSDATE,
|
||
v_expiredays,
|
||
'DAGEN'),
|
||
v_likerkey);
|
||
|
||
-- Onderstaande 2 procedures in de IF zodat we alleen het bookmarkkenmerk gaan vullen als er ook nog geen bookmark was aangemaakt.
|
||
-- Via de fac_trackaction, via een trigger, wordt de fac_notificatie ook gevuld
|
||
-- PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2)
|
||
BEGIN
|
||
fac.trackaction ('CUST08',
|
||
v_refkey,
|
||
4,
|
||
SYSDATE,
|
||
'Mail naar aanvrager ter beoordeling van de reservering');
|
||
END;
|
||
-- Bij RESAFM komt de bookamrk nog niet mee naar de xml. Daarom gaan we kenmerk 'bookmark' vullen met dit bookmark_id zodat we die in de xml in de stylesheet fac_like kunnen opppakken..
|
||
-- Procedure: aaxx_set_kenmerk(p_module IN VARCHAR2, p_kenmerk_key IN NUMBER, p_link_key IN NUMBER, p_kenmerk_waarde IN VARCHAR2, p_history IN NUMBER)
|
||
BEGIN
|
||
aaxx_set_kenmerk ('RES',rec.kenmerk_key_bookmark,v_refkey,v_bookmark,0) ;
|
||
END;
|
||
|
||
END IF;
|
||
|
||
END LOOP;
|
||
END;
|
||
/
|
||
|
||
|
||
-- VIEW voor Notificatiejob Last-minute-reservering. Alle mensen uit specifieke autorisatiegroep krijgen mail dat de reservering (ruimte en/of catering) gewijzigd is - Ticketnr 57145
|
||
CREATE OR REPLACE VIEW INLO_V_NOTIFY_LASTMINUTE
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT -- Voor Catering.....
|
||
NULL
|
||
sender,
|
||
NULL
|
||
receiver,
|
||
'Catering bij reservering '
|
||
|| rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
|| ' is aangemaakt/gewijzigd '
|
||
text,
|
||
'CUST07'
|
||
code,
|
||
(SELECT fac_srtnotificatie_key
|
||
FROM fac_srtnotificatie
|
||
WHERE fac_srtnotificatie_code = 'CUST07')
|
||
fac_srtnotificatie_key,
|
||
rrr.res_reservering_key
|
||
key,
|
||
rrr.res_rsv_ruimte_key
|
||
xkey,
|
||
medewerker.email
|
||
xemail,
|
||
NULL
|
||
xmobile
|
||
FROM res_rsv_artikel rra,
|
||
res_rsv_ruimte rrr,
|
||
res_activiteit a,
|
||
res_artikel ra,
|
||
fac_tracking t,
|
||
(SELECT g.fac_groep_key,
|
||
p.prs_perslid_key,
|
||
p.prs_perslid_email AS email
|
||
FROM fac_groep g, fac_gebruikersgroep ge, prs_perslid p
|
||
WHERE g.fac_groep_key = 441 -- Specifieke Autorisatiegroep
|
||
AND g.fac_groep_key = ge.fac_groep_key
|
||
AND ge.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_email IS NOT NULL
|
||
AND p.prs_perslid_verwijder IS NULL) medewerker
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_activiteit_key = a.res_activiteit_key
|
||
AND INSTR(LOWER(a.res_activiteit_omschrijving),'kreek')=0
|
||
AND t.fac_srtnotificatie_key IN (59, 60) -- resnew, resupd
|
||
AND t.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rra.res_rsv_artikel_levering > SYSDATE
|
||
AND GREATEST (COALESCE (res_rsv_artikel_mutatie, SYSDATE - 100),
|
||
COALESCE (res_rsv_artikel_verwijder, SYSDATE - 100),
|
||
COALESCE (res_rsv_artikel_aanmaak, SYSDATE - 100)) >
|
||
(SELECT fac_notificatie_job_nextrun
|
||
- fac_notificatie_job_interval / 24
|
||
FROM fac_notificatie_job
|
||
WHERE fac_notificatie_job_view = 'INLO_V_NOTIFY_LASTMINUTE')
|
||
AND GREATEST (COALESCE (res_rsv_artikel_mutatie, SYSDATE - 100),
|
||
COALESCE (res_rsv_artikel_verwijder, SYSDATE - 100),
|
||
COALESCE (res_rsv_artikel_aanmaak, SYSDATE - 100)) <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE fac_notificatie_job_view = 'INLO_V_NOTIFY_LASTMINUTE')
|
||
AND (t.fac_tracking_datum > (rrr.res_rsv_ruimte_van-1) AND t.fac_tracking_datum <(rra.res_rsv_artikel_levering) )
|
||
GROUP BY rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
medewerker.email
|
||
UNION ALL
|
||
SELECT -- voor Ruimte
|
||
NULL
|
||
sender,
|
||
NULL
|
||
receiver,
|
||
'Reservering '
|
||
|| rrr.res_reservering_key
|
||
|| '/'
|
||
|| rrr.res_rsv_ruimte_volgnr
|
||
|| ' is aangemaakt/gewijzigd '
|
||
text,
|
||
'CUST07'
|
||
code,
|
||
(SELECT fac_srtnotificatie_key
|
||
FROM fac_srtnotificatie
|
||
WHERE fac_srtnotificatie_code = 'CUST07')
|
||
fac_srtnotificatie_key,
|
||
rrr.res_reservering_key
|
||
key,
|
||
rrr.res_rsv_ruimte_key
|
||
xkey,
|
||
medewerker.email
|
||
xemail,
|
||
NULL
|
||
xmobile
|
||
FROM fac_tracking t,
|
||
res_rsv_ruimte rrr,
|
||
res_activiteit a,
|
||
res_ruimte_opstelling ro,
|
||
res_ruimte rr,
|
||
(SELECT g.fac_groep_key,
|
||
p.prs_perslid_key,
|
||
p.prs_perslid_email AS email
|
||
FROM fac_groep g, fac_gebruikersgroep ge, prs_perslid p
|
||
WHERE g.fac_groep_key = 441 -- Specifieke Autorisatiegroep
|
||
AND g.fac_groep_key = ge.fac_groep_key
|
||
AND ge.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_perslid_email IS NOT NULL
|
||
AND p.prs_perslid_verwijder IS NULL) medewerker
|
||
WHERE t.fac_srtnotificatie_key IN (59, 60) -- resnew, resupd
|
||
AND t.fac_tracking_refkey = rrr.res_rsv_ruimte_key
|
||
AND rrr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rrr.res_activiteit_key = a.res_activiteit_key
|
||
AND INSTR(LOWER(a.res_activiteit_omschrijving),'kreek')=0
|
||
-- AND rr.res_discipline_key = 561 -- Greenport Vergaderen
|
||
AND t.fac_tracking_datum >
|
||
(SELECT fac_notificatie_job_nextrun
|
||
- fac_notificatie_job_interval / 24
|
||
FROM fac_notificatie_job
|
||
WHERE fac_notificatie_job_view = 'INLO_V_NOTIFY_LASTMINUTE')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE fac_notificatie_job_view = 'INLO_V_NOTIFY_LASTMINUTE')
|
||
AND rrr.res_rsv_ruimte_van > SYSDATE
|
||
AND (t.fac_tracking_datum > (rrr.res_rsv_ruimte_van-1) AND t.fac_tracking_datum <(rrr.res_rsv_ruimte_van) )
|
||
GROUP BY rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
medewerker.email;
|
||
|
||
|
||
|
||
-- VIEW voor Notificatiejob om bezoekers 2 dagen voor event te mailen met bevestiging bezoek
|
||
CREATE OR REPLACE VIEW INLO_V_NOTI_BEZOEKERS
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT
|
||
NULL
|
||
sender,
|
||
NULL
|
||
receiver,
|
||
CASE
|
||
WHEN a.res_rsv_ruimte_key is NULL THEN
|
||
'Brightland Campus Greenport'
|
||
|| ' bevestigingmail afspraak '
|
||
|| TO_CHAR (a.bez_afspraak_datum, 'dd-mm-yyyy')
|
||
WHEN a.res_rsv_ruimte_key is NOT NULL THEN
|
||
(SELECT
|
||
'Brightland Campus Greenport'
|
||
|| ' bevestigingmail afspraak '
|
||
|| TO_CHAR (a.bez_afspraak_datum, 'dd-mm-yyyy')
|
||
|| ' - '
|
||
|| rrr.res_rsv_ruimte_omschrijving
|
||
FROM
|
||
res_rsv_ruimte rrr
|
||
WHERE
|
||
rrr.res_rsv_ruimte_key = a.res_rsv_ruimte_key
|
||
)
|
||
END
|
||
text,
|
||
'CUST03'
|
||
code,
|
||
(SELECT fac_srtnotificatie_key
|
||
FROM fac_srtnotificatie
|
||
WHERE fac_srtnotificatie_code = 'CUST03')
|
||
fac_srtnotificatie_key,
|
||
b.bez_afspraak_key
|
||
key,
|
||
b.bez_bezoekers_key
|
||
xkey,
|
||
kw.bez_kenmerkwaarde_waarde
|
||
xemail,
|
||
NULL
|
||
xmobile
|
||
FROM bez_afspraak a,
|
||
bez_bezoekers b,
|
||
bez_kenmerkwaarde kw
|
||
WHERE
|
||
a.bez_afspraak_key = b.bez_afspraak_key
|
||
AND TRUNC(a.bez_afspraak_datum)=TRUNC(SYSDATE + 2)
|
||
AND b.bez_bezoekers_key = kw.bez_bezoekers_key
|
||
AND kw.bez_kenmerk_key = 1000 ;
|
||
|
||
|
||
-- VIEW - Kortingsactie per huurder van Greenport Venlo (zie INLO#65563)
|
||
CREATE OR REPLACE VIEW INLO_V_RAP_RES_KORTING
|
||
(
|
||
BEDRIJF,
|
||
PRS_AFDELING_KEY,
|
||
PRS_AFDELING_NAAM,
|
||
PRS_KOSTENPLAATS_KEY,
|
||
PRS_KOSTENPLAATS_OMSCHRIJVING,
|
||
KORTING_ACTIEF,
|
||
KORTING_EINDDATUM,
|
||
KORTING_ACTIE,
|
||
KORTING_PERCENTAGE,
|
||
KORTING_AANTAL,
|
||
KORTING_AANTAL_VERBRUIKT,
|
||
KORTING_AANTAL_OPEN,
|
||
KORTING_DATUM_VERWERKT,
|
||
KORTING_OPMERKING
|
||
)
|
||
AS
|
||
SELECT
|
||
b.prs_bedrijf_naam,
|
||
v.prs_afdeling_key,
|
||
v.prs_afdeling_naam,
|
||
v.prs_kostenplaats_key,
|
||
kp.prs_kostenplaats_omschrijving,
|
||
k.korting_actief,
|
||
fac.safe_to_date(k.korting_einddatum, 'dd-mm-yyyy'),
|
||
k.korting_actie,
|
||
k.korting_percentage,
|
||
k.korting_aantal,
|
||
k.korting_aantal_verbruikt,
|
||
fac.safe_to_number(COALESCE(k.korting_aantal, '0') - COALESCE(k.korting_aantal_verbruikt, '0'))
|
||
korting_aantal_open,
|
||
k.korting_datum_verwerkt,
|
||
k.korting_opmerking
|
||
FROM prs_bedrijf b, prs_v_aanwezigafdeling v, prs_kostenplaats kp,
|
||
(SELECT a.prs_afdeling_key,
|
||
DECODE(km.prs_kenmerklink_waarde, '202', 'ja', 'nee')
|
||
korting_actief,
|
||
(SELECT km2.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink km2
|
||
WHERE km2.prs_link_key = a.prs_afdeling_key AND km2.prs_kenmerk_key = 1142) -- einddatum kortingsactie
|
||
korting_einddatum,
|
||
(SELECT ud.fac_usrdata_omschr
|
||
FROM prs_kenmerklink km2, fac_usrtab ut, fac_usrdata ud
|
||
WHERE km2.prs_link_key = a.prs_afdeling_key AND km2.prs_kenmerk_key = 1144 -- naam korting_actie
|
||
AND ud.fac_usrtab_key =ut.fac_usrtab_key AND ut.fac_usrtab_key = 241 -- eigen tabel strippenkaart GV
|
||
AND fac.safe_to_number(km2.prs_kenmerklink_waarde) = ud.fac_usrdata_key)
|
||
korting_actie,
|
||
(SELECT km2.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink km2
|
||
WHERE km2.prs_link_key = a.prs_afdeling_key AND km2.prs_kenmerk_key = 1146) -- korting percentage
|
||
korting_percentage,
|
||
(SELECT km2.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink km2
|
||
WHERE km2.prs_link_key = a.prs_afdeling_key AND km2.prs_kenmerk_key = 1148) -- korting_aantal uur
|
||
korting_aantal,
|
||
(SELECT km2.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink km2
|
||
WHERE km2.prs_link_key = a.prs_afdeling_key AND km2.prs_kenmerk_key = 1150) -- korting_aantal uur verbruikt
|
||
korting_aantal_verbruikt,
|
||
(SELECT km2.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink km2
|
||
WHERE km2.prs_link_key = a.prs_afdeling_key AND km2.prs_kenmerk_key = 1152) -- datum_laatst_vewerkt
|
||
korting_datum_verwerkt,
|
||
(SELECT km2.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink km2
|
||
WHERE km2.prs_link_key = a.prs_afdeling_key AND km2.prs_kenmerk_key = 1154) -- opmerking
|
||
korting_opmerking
|
||
FROM prs_kenmerklink km, prs_afdeling a
|
||
WHERE a.prs_afdeling_key = km.prs_link_key
|
||
AND km.prs_kenmerklink_niveau = 'A'
|
||
AND km.prs_kenmerk_key = 1140 -- Korting_Actief
|
||
) k
|
||
WHERE
|
||
b.prs_bedrijf_key = 482 -- GREENPORT VENLO
|
||
AND b.prs_bedrijf_key = v.prs_bedrijf_key
|
||
AND v.prs_afdeling_verwijder IS NULL
|
||
AND v.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND v.prs_afdeling_key = k.prs_afdeling_key
|
||
;
|
||
|
||
-- VIEW - Hulpview voor basisoverzichten Greenport Catering - Hulpview geeft alle lopende Roomservice-reserveringen
|
||
CREATE OR REPLACE VIEW INLO_V_CATERING_ROOMSERVICE
|
||
(
|
||
RUIMTE_KEY,
|
||
TOTAAL,
|
||
AANTAL_AFGEMELD,
|
||
AANTAL_VERWERKT,
|
||
SOORT_RESERVERING
|
||
)
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
(SELECT COUNT (*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL)
|
||
totaal,
|
||
(SELECT COUNT (*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_status_bo_key = 5)
|
||
aantal_afgemeld,
|
||
(SELECT COUNT (*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_status_bo_key = 6)
|
||
aantal_verwerkt,
|
||
(CASE
|
||
WHEN srt.res_srtactiviteit_soort = 1
|
||
THEN
|
||
'Roomservice'
|
||
WHEN srt.res_srtactiviteit_soort = 0
|
||
THEN
|
||
'Ruimte-reservering'
|
||
ELSE
|
||
'Onbekend'
|
||
END)
|
||
AS SoortReservering
|
||
FROM res_rsv_ruimte rrr, res_activiteit act, res_srtactiviteit srt
|
||
WHERE rrr.res_activiteit_key = act.res_activiteit_key
|
||
AND act.res_srtactiviteit_key = srt.res_srtactiviteit_key
|
||
AND srt.res_srtactiviteit_soort = 1
|
||
AND ((SELECT COUNT (*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL) >
|
||
(SELECT COUNT (*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_status_bo_key = 6)) ;
|
||
|
||
-- VIEW - Basisrapport voor controle HeyDay op catering die afgemeld is en/of nog afgemeld moet worden
|
||
-- Rapport/werkwijze inclusief Roomservice - Aangevuld, zie Ticket 56672
|
||
CREATE OR REPLACE VIEW INLO_V_CATERING_AFGEMELD
|
||
(
|
||
RUIMTE_KEY,
|
||
RESERVERING_NR,
|
||
DATUM,
|
||
OMSCHRIJVING,
|
||
RUIMTE,
|
||
AANTAL_AFGEMELD,
|
||
AANTAL_TOTAAL,
|
||
SOORT_RESERVERING
|
||
)
|
||
AS
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
CASE
|
||
WHEN rrr.alg_ruimte_key IS NULL
|
||
AND rrr.res_ruimte_opstel_key IS NOT NULL
|
||
THEN
|
||
(SELECT rog.res_ruimte_nr
|
||
FROM res_v_ruimte_opstel_gegevens rog
|
||
WHERE rog.res_ruimte_opstel_key =
|
||
rrr.res_ruimte_opstel_key)
|
||
WHEN rrr.alg_ruimte_key IS NOT NULL
|
||
AND rrr.res_ruimte_opstel_key IS NULL
|
||
THEN
|
||
(SELECT rg.alg_ruimte_aanduiding
|
||
FROM alg_v_ruimte_gegevens rg
|
||
WHERE rg.alg_ruimte_key = rrr.alg_ruimte_key)
|
||
ELSE
|
||
'Ruimte onbekend'
|
||
END
|
||
AS Ruimte,
|
||
(SELECT COUNT (*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_status_bo_key = 5)
|
||
aantal_afgemeld,
|
||
(SELECT COUNT (*)
|
||
FROM res_rsv_artikel rra
|
||
WHERE rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL)
|
||
totaal,
|
||
(SELECT
|
||
CASE
|
||
WHEN rsa.res_srtactiviteit_soort = 1 THEN 'Roomservice' -- res_srtactiviteit_soort = 1 voor roomservice en 0 voor ruimtereservering
|
||
WHEN rsa.res_srtactiviteit_soort = 0 THEN 'Ruimte-reservering'
|
||
ELSE 'Onbekend'
|
||
END
|
||
FROM
|
||
res_activiteit ra,
|
||
res_srtactiviteit rsa
|
||
WHERE
|
||
rrr.res_activiteit_key = ra.res_activiteit_key
|
||
and ra.res_srtactiviteit_key = rsa.res_srtactiviteit_key
|
||
) AS SoortReservering
|
||
FROM res_rsv_ruimte rrr
|
||
WHERE
|
||
rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND res_rsv_ruimte_van < TRUNC (SYSDATE)
|
||
AND
|
||
(
|
||
(
|
||
rrr.res_status_bo_key IS NULL
|
||
AND EXISTS (SELECT rrr.res_rsv_ruimte_key FROM inlo_v_catering_roomservice i
|
||
WHERE rrr.res_rsv_ruimte_key = i.ruimte_key
|
||
)
|
||
)
|
||
OR
|
||
(
|
||
rrr.res_status_bo_key = 2
|
||
AND 0 = (SELECT rsa.res_srtactiviteit_soort
|
||
FROM
|
||
res_activiteit ra,
|
||
res_srtactiviteit rsa
|
||
WHERE
|
||
rrr.res_activiteit_key = ra.res_activiteit_key
|
||
and ra.res_srtactiviteit_key = rsa.res_srtactiviteit_key)
|
||
)
|
||
)
|
||
ORDER BY rrr.res_rsv_ruimte_key ASC;
|
||
|
||
-- VIEW - Basisrapport voor Exportbestand Catering
|
||
-- Werkwijze inclusief Roomservice - Aangevuld, zie Ticket 56672
|
||
CREATE OR REPLACE VIEW INLO_V_CATERING_EXPORT
|
||
(
|
||
STATUS_FO,
|
||
RUIMTE_KEY,
|
||
VOLGORDE,
|
||
RESERVERING_NR,
|
||
DATUM,
|
||
KOSTENPLAATS_KEY,
|
||
KOSTENPLAATS,
|
||
OMSCHRIJVING,
|
||
RUIMTE,
|
||
EXTERNEKLANT,
|
||
BEDRIJFSNAAM,
|
||
CONTACTPERS,
|
||
FACTUURADRES,
|
||
ARTIKELOMSCHRIJVING,
|
||
BTW,
|
||
AANTAL_BESTELD,
|
||
STUKSPRIJS,
|
||
TOTAALPRIJS,
|
||
SOORTRESERVERING,
|
||
AKKOORD,
|
||
DIRTY
|
||
)
|
||
AS
|
||
SELECT
|
||
(SELECT st.res_status_fo_omschrijving FROM res_status_fo st WHERE st.res_status_fo_key = rg.status_fo),
|
||
rg.rsv_key,
|
||
rg.volgorde,
|
||
rg.res_key || '/' || rg.volgnr,
|
||
rg.van,
|
||
rg.kostenplaats_key,
|
||
(SELECT pk.prs_kostenplaats_omschrijving
|
||
FROM prs_kostenplaats pk
|
||
WHERE pk.prs_kostenplaats_key = rg.kostenplaats_key)
|
||
AS kostenplaats,
|
||
rg.omschrijving,
|
||
CASE
|
||
WHEN rg.alg_ruimte_key IS NULL
|
||
AND rg.res_ruimte_opstel_key IS NOT NULL
|
||
THEN
|
||
(SELECT rog.res_ruimte_nr
|
||
FROM res_v_ruimte_opstel_gegevens rog
|
||
WHERE rog.res_ruimte_opstel_key =
|
||
rg.res_ruimte_opstel_key)
|
||
WHEN rg.alg_ruimte_key IS NOT NULL
|
||
AND rg.res_ruimte_opstel_key IS NULL
|
||
THEN
|
||
(SELECT avrg.alg_ruimte_aanduiding
|
||
FROM alg_v_ruimte_gegevens avrg
|
||
WHERE avrg.alg_ruimte_key = rg.alg_ruimte_key)
|
||
ELSE
|
||
''
|
||
END
|
||
AS Ruimte,
|
||
COALESCE((SELECT d.fac_usrdata_omschr
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k, fac_usrdata d
|
||
WHERE kw.res_rsv_ruimte_key = rg.rsv_key
|
||
AND kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND k.res_kenmerk_verwijder IS NULL
|
||
AND k.res_srtkenmerk_key = 41
|
||
AND d.fac_usrtab_key=61
|
||
AND fac.safe_to_number(kw.res_kenmerkreservering_waarde)=d.fac_usrdata_key
|
||
),'Nee')
|
||
ExterneKlant,
|
||
(SELECT kw.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_rsv_ruimte_key = rg.rsv_key
|
||
AND kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND k.res_kenmerk_verwijder IS NULL
|
||
AND k.res_srtkenmerk_key = 81)
|
||
Bedrijfsnaam,
|
||
(SELECT kw.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_rsv_ruimte_key = rg.rsv_key
|
||
AND kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND k.res_kenmerk_verwijder IS NULL
|
||
AND k.res_srtkenmerk_key = 21)
|
||
Contactpers,
|
||
(SELECT kw.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_rsv_ruimte_key = rg.rsv_key
|
||
AND kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND k.res_kenmerk_verwijder IS NULL
|
||
AND k.res_srtkenmerk_key = 1)
|
||
FactuurAdres,
|
||
rg.artikel,
|
||
rg.btw,
|
||
rg.aantal,
|
||
(rg.prijs / rg.aantal),
|
||
rg.prijs,
|
||
(
|
||
CASE
|
||
WHEN rg.soort_reservering=1 THEN 'Roomservice'
|
||
WHEN rg.soort_reservering=0 THEN 'Ruimte-reservering'
|
||
ELSE 'Onbekend'
|
||
END
|
||
) AS SoortReservering,
|
||
DECODE((SELECT kw.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_rsv_ruimte_key = rg.rsv_key
|
||
AND kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND k.res_kenmerk_verwijder IS NULL
|
||
AND k.res_srtkenmerk_key = 221),1,'Akkoord','Nog geen akkoord')
|
||
akkoord,
|
||
(
|
||
CASE
|
||
WHEN rg.dirty=0 THEN 'Nee'
|
||
ELSE 'Ja'
|
||
END
|
||
) AS dirty
|
||
FROM (
|
||
SELECT rrr.res_rsv_ruimte_key rsv_key,
|
||
rrr.alg_ruimte_key alg_ruimte_key,
|
||
rrr.res_ruimte_opstel_key res_ruimte_opstel_key,
|
||
rrr.res_reservering_key res_key,
|
||
rrr.res_rsv_ruimte_volgnr volgnr,
|
||
rrr.res_rsv_ruimte_omschrijving omschrijving,
|
||
rrr.prs_kostenplaats_key kostenplaats_key,
|
||
rrr.res_rsv_ruimte_van van,
|
||
ra.res_artikel_omschrijving artikel,
|
||
ra.res_artikel_btw btw,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
rra.res_rsv_artikel_prijs prijs,
|
||
rrr.res_status_bo_key status,
|
||
srt.res_srtactiviteit_soort soort_reservering,
|
||
rrr.res_status_fo_key status_fo,
|
||
rrr.res_rsv_ruimte_dirtlevel dirty,
|
||
2 volgorde
|
||
FROM res_rsv_ruimte rrr, res_rsv_artikel rra, res_artikel ra, res_activiteit act, res_srtactiviteit srt
|
||
WHERE rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rrr.res_rsv_ruimte_verwijder IS NULL
|
||
AND rrr.res_status_fo_key in (1,2,4)
|
||
AND rrr.res_activiteit_key = act.res_activiteit_key AND act.res_srtactiviteit_key = srt.res_srtactiviteit_key
|
||
AND INSTR(LOWER(act.res_activiteit_omschrijving),'kreek')=0 -- ticket 65563 uitsluiten Kreek
|
||
UNION ALL
|
||
SELECT rrr.res_rsv_ruimte_key rsv_key,
|
||
rrr.alg_ruimte_key alg_ruimte_key,
|
||
rrr.res_ruimte_opstel_key res_ruimte_opstel_key,
|
||
rrr.res_reservering_key res_key,
|
||
rrr.res_rsv_ruimte_volgnr volgnr,
|
||
rrr.res_rsv_ruimte_omschrijving omschrijving,
|
||
rrr.prs_kostenplaats_key kostenplaats_key,
|
||
rrr.res_rsv_ruimte_van van,
|
||
'Ruimte' artikel,
|
||
21 btw,
|
||
1 aantal,
|
||
COALESCE(rrr.res_rsv_ruimte_totaal,rrr.res_rsv_ruimte_prijs) prijs,
|
||
rrr.res_status_bo_key status,
|
||
srt.res_srtactiviteit_soort soort_reservering,
|
||
rrr.res_status_fo_key status_fo,
|
||
rrr.res_rsv_ruimte_dirtlevel dirty,
|
||
1 volgorde
|
||
FROM res_rsv_ruimte rrr, res_activiteit act, res_srtactiviteit srt
|
||
WHERE rrr.res_rsv_ruimte_verwijder IS NULL AND rrr.res_activiteit_key = act.res_activiteit_key AND act.res_srtactiviteit_key = srt.res_srtactiviteit_key AND rrr.res_status_fo_key in (1,2,4)
|
||
AND INSTR(LOWER(act.res_activiteit_omschrijving),'kreek')=0 -- ticket 65563 uitsluiten Kreek
|
||
) rg
|
||
WHERE
|
||
(rg.status = 5 and rg.soort_reservering = 0
|
||
AND NOT EXISTS
|
||
(SELECT res_rsv_artikel_key
|
||
FROM res_rsv_artikel rra2
|
||
WHERE rg.rsv_key = rra2.res_rsv_ruimte_key
|
||
AND rra2.res_status_bo_key <> 5)
|
||
AND NOT EXISTS
|
||
(SELECT res_rsv_ruimte_key
|
||
FROM res_rsv_ruimte rrr2, res_activiteit ra, res_srtactiviteit rsa
|
||
WHERE rg.rsv_key = rrr2.res_rsv_ruimte_key
|
||
AND rrr2.res_activiteit_key = ra.res_activiteit_key
|
||
AND rsa.res_srtactiviteit_soort = 0
|
||
AND rrr2.res_status_bo_key <> 5)
|
||
)
|
||
OR
|
||
(rg.soort_reservering = 1
|
||
AND NOT EXISTS
|
||
(SELECT res_rsv_artikel_key
|
||
FROM res_rsv_artikel rra2
|
||
WHERE rg.rsv_key = rra2.res_rsv_ruimte_key
|
||
AND rra2.res_status_bo_key <> 5)
|
||
AND EXISTS
|
||
(SELECT rg.rsv_key FROM inlo_v_catering_roomservice i
|
||
WHERE rg.rsv_key = i.ruimte_key
|
||
)
|
||
)
|
||
ORDER BY rg.rsv_key, rg.volgorde;
|
||
|
||
-- VIEW - UDR-rapport voor verwerking reservering
|
||
-- Zie ticket 60912 en 60736
|
||
CREATE OR REPLACE VIEW INLO_V_RAP_CATERING_EXPORT
|
||
(
|
||
STATUS_FO,
|
||
RUIMTE_KEY,
|
||
RESERVERING_NR,
|
||
DATUM,
|
||
KOSTENPLAATS,
|
||
OMSCHRIJVING,
|
||
RUIMTE,
|
||
EXTERNEKLANT,
|
||
BEDRIJFSNAAM,
|
||
CONTACTPERS,
|
||
FACTUURADRES,
|
||
BTW,
|
||
PRIJS_CATERING,
|
||
PRIJS_RUIMTE,
|
||
SOORTRESERVERING,
|
||
AKKOORD,
|
||
DIRTY,
|
||
KORTING_ACTIEF,
|
||
KORTING_EINDDATUM,
|
||
KORTING_ACTIE,
|
||
KORTING_PERCENTAGE,
|
||
KORTING_AANTAL,
|
||
KORTING_AANTAL_VERBRUIKT,
|
||
KORTING_AANTAL_OPEN,
|
||
KORTING_DATUM_VERWERKT,
|
||
RESERVERING_DUUR,
|
||
RESERVERING_AFSPRAAKPRIJS,
|
||
PRS_AFDELING_KEY,
|
||
PRS_KOSTENPLAATS_KEY
|
||
)
|
||
AS
|
||
SELECT
|
||
v.status_fo,
|
||
v.ruimte_key,
|
||
v.reservering_nr,
|
||
v.datum,
|
||
v.kostenplaats,
|
||
v.omschrijving,
|
||
v.ruimte,
|
||
v.externeklant,
|
||
v.bedrijfsnaam,
|
||
v.contactpers,
|
||
v.factuuradres,
|
||
v.btw,
|
||
pc.prijs_catering,
|
||
pr.prijs_ruimte,
|
||
v.soortreservering,
|
||
v.akkoord,
|
||
v.dirty,
|
||
ko.korting_actief,
|
||
ko.korting_einddatum,
|
||
ko.korting_actie,
|
||
ko.korting_percentage,
|
||
ko.korting_aantal,
|
||
ko.korting_aantal_verbruikt,
|
||
ko.korting_aantal_open,
|
||
ko.korting_datum_verwerkt,
|
||
to_number((res_rsv_ruimte_tot - res_rsv_ruimte_van)*24)
|
||
reservering_duur,
|
||
CASE WHEN v.soortreservering = 'Ruimte-reservering'
|
||
AND (COALESCE(rrr.res_rsv_ruimte_korting, 0) > 0 OR COALESCE(rrr.res_rsv_ruimte_totaal, 0) > 0 )
|
||
THEN 'ja'
|
||
WHEN v.soortreservering = 'Ruimte-reservering'
|
||
AND (COALESCE(rrr.res_rsv_ruimte_korting, 0) = 0 OR COALESCE(rrr.res_rsv_ruimte_totaal, 0) = 0 )
|
||
THEN 'nee'
|
||
ELSE 'nvt'
|
||
END
|
||
reservering_afspraakprijs,
|
||
ko.prs_afdeling_key,
|
||
ko.prs_kostenplaats_key
|
||
FROM
|
||
inlo_v_catering_export v,
|
||
res_rsv_ruimte rrr,
|
||
inlo_v_rap_res_korting ko,
|
||
(SELECT ruimte_key, sum(TOTAALPRIJS) as prijs_catering FROM inlo_v_catering_export v WHERE artikelomschrijving<>'Ruimte' GROUP BY ruimte_key) pc,
|
||
(SELECT ruimte_key, sum(TOTAALPRIJS) as prijs_ruimte FROM inlo_v_catering_export v WHERE artikelomschrijving='Ruimte' GROUP BY ruimte_key) pr
|
||
WHERE
|
||
v.artikelomschrijving='Ruimte'
|
||
AND rrr.res_rsv_ruimte_key = v.ruimte_key
|
||
AND v.kostenplaats_key = ko.prs_kostenplaats_key(+)
|
||
AND v.ruimte_key = pc.ruimte_key(+)
|
||
AND v.ruimte_key = pr.ruimte_key(+) ;
|
||
|
||
|
||
-- PROCEDURE INLO_SELECT_RES
|
||
--- In financiele verwerking van de GreenPort-reserveringen een voor-procedure om kortingsregel op de reservering door te voeren (INLO#65563)
|
||
CREATE OR REPLACE PROCEDURE inlo_select_res (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
CURSOR c_afdeling
|
||
IS
|
||
SELECT prs_afdeling_key, korting_aantal, korting_aantal_verbruikt, korting_aantal_open, sum(reservering_duur) som_reservering_duur
|
||
FROM inlo_v_rap_catering_export
|
||
WHERE soortreservering = 'Ruimte-reservering'
|
||
AND status_fo = 'Definitief'
|
||
AND akkoord = 'Akkoord'
|
||
AND dirty = 'Nee'
|
||
AND korting_actief = 'ja'
|
||
AND korting_aantal_open > 0
|
||
AND reservering_afspraakprijs = 'nee'
|
||
AND TRUNC(datum) <= korting_einddatum -- reserveringsdatum moet voor de einddatum van de kortingsactie liggen
|
||
GROUP BY prs_afdeling_key, korting_aantal, korting_aantal_verbruikt, korting_aantal_open ;
|
||
|
||
CURSOR c_korting (p_afd_key NUMBER)
|
||
IS
|
||
SELECT *
|
||
FROM inlo_v_rap_catering_export
|
||
WHERE soortreservering = 'Ruimte-reservering'
|
||
AND status_fo = 'Definitief'
|
||
AND akkoord = 'Akkoord'
|
||
AND dirty = 'Nee'
|
||
AND korting_actief = 'ja'
|
||
AND korting_aantal_open > 0
|
||
AND reservering_afspraakprijs = 'nee'
|
||
AND TRUNC(datum) <= korting_einddatum -- reserveringsdatum moet voor de einddatum van de kortingsactie liggen
|
||
AND prs_afdeling_key = p_afd_key
|
||
ORDER BY datum ASC ;
|
||
|
||
|
||
v_aanduiding VARCHAR2 (1000);
|
||
v_prs_afdeling_key NUMBER;
|
||
v_open NUMBER;
|
||
v_factor NUMBER;
|
||
v_korting NUMBER;
|
||
v_korting_verbruikt NUMBER;
|
||
v_korting_verbruikt_ini NUMBER;
|
||
v_korting_verbruikt_run NUMBER;
|
||
v_korting_open_ini NUMBER;
|
||
v_res_rsv_artikel_key NUMBER;
|
||
v_res_rsv_artikel_prijs NUMBER (10, 2);
|
||
v_logdate VARCHAR2 (100);
|
||
|
||
|
||
BEGIN
|
||
v_logdate := to_char(sysdate,'dd-mm-yyyy hh24:mi');
|
||
|
||
FOR rec IN c_afdeling
|
||
LOOP
|
||
BEGIN
|
||
v_prs_afdeling_key := rec.prs_afdeling_key ;
|
||
v_open := rec.korting_aantal_open ;
|
||
v_korting_verbruikt_ini := fac.safe_to_number (COALESCE(rec.korting_aantal_verbruikt, '0')) ;
|
||
v_korting_open_ini := fac.safe_to_number (COALESCE(rec.korting_aantal_open, '0')) ;
|
||
v_korting_verbruikt_run := rec.som_reservering_duur ;
|
||
v_korting_verbruikt := 0;
|
||
|
||
|
||
FOR rec IN c_korting (v_prs_afdeling_key)
|
||
LOOP
|
||
BEGIN
|
||
|
||
v_open := v_open - rec.reservering_duur ;
|
||
-- eerst kortingsfactor bepalen
|
||
IF v_open < 0 THEN
|
||
v_factor := (v_open + rec.reservering_duur) / rec.reservering_duur ;
|
||
ELSE
|
||
v_factor := 1 ;
|
||
END IF;
|
||
|
||
-- korting berekenen
|
||
v_korting := v_factor * (fac.safe_to_number(rec.korting_percentage/100)) * rec.prijs_ruimte ;
|
||
|
||
|
||
-- kortingsregel toevoegen aan de reservering als er 'budget en korting is
|
||
IF v_korting > 0 THEN
|
||
|
||
v_aanduiding := 'Korting op ruimteprijs ivm actuele kortingsactie ' || rec.korting_actie || '. Open: ' || TO_CHAR(v_open + rec.reservering_duur) || ' uur. Reserv-duur: ' || TO_CHAR(rec.reservering_duur) || ' uur. ' || 'Korting: ' || TO_CHAR(v_korting,'999.99') || ' euro.' ;
|
||
|
||
INSERT INTO res_rsv_artikel (res_artikel_key,
|
||
res_rsv_artikel_aantal,
|
||
res_rsv_ruimte_key,
|
||
res_rsv_artikel_levering,
|
||
res_rsv_artikel_prijs,
|
||
res_status_bo_key
|
||
)
|
||
VALUES (701, -- kortingsartikel
|
||
1,
|
||
rec.ruimte_key,
|
||
rec.datum,
|
||
-v_korting,
|
||
5
|
||
)
|
||
RETURN res_rsv_artikel_key
|
||
INTO v_res_rsv_artikel_key;
|
||
|
||
-- Door Facilitor (4)
|
||
-- tracking toevoegen aan reservering
|
||
fac.trackaction ('#RESUPD', rec.ruimte_key, 4, NULL, v_aanduiding);
|
||
|
||
|
||
END IF;
|
||
|
||
END;
|
||
END LOOP;
|
||
|
||
-- tot slot, bijwerken van de kortingsactie bij de verhurende partij (afdeling_key)
|
||
-- 'aantal verbruikt' key 1150
|
||
|
||
IF v_korting_open_ini <= v_korting_verbruikt_run THEN
|
||
v_korting_verbruikt := rec.korting_aantal ;
|
||
ELSE
|
||
v_korting_verbruikt := v_korting_verbruikt_ini + v_korting_verbruikt_run ;
|
||
END IF;
|
||
|
||
prs.upsertkenmerk (1150, rec.prs_afdeling_key, v_korting_verbruikt) ;
|
||
|
||
-- 'korting_datum_verwerkt' key 1152
|
||
prs.upsertkenmerk (1152, rec.prs_afdeling_key, v_logdate) ;
|
||
|
||
END;
|
||
|
||
END LOOP;
|
||
|
||
END;
|
||
/
|
||
|
||
|
||
-- export reserveringen catering
|
||
CREATE OR REPLACE VIEW inlo_v_export_res
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"Reservering_nr"'
|
||
|| ';"Datum"'
|
||
|| ';"Ruimte"'
|
||
|| ';"Kostenplaats"'
|
||
|| ';"Omschrijving"'
|
||
|| ';"Externe Klant"'
|
||
|| ';"Contact persoon"'
|
||
|| ';"Factuuradres"'
|
||
|| ';"Artikel"'
|
||
|| ';"BTW"'
|
||
|| ';"Aantal besteld"'
|
||
|| ';"Stuksprijs"'
|
||
|| ';"Totaalprijs"'
|
||
|| ';"SoortReservering"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT
|
||
reservering_nr
|
||
|| ';'
|
||
|| TO_CHAR (datum, 'dd-mm-yyyy')
|
||
|| ';'
|
||
|| REPLACE (ruimte, ';')
|
||
|| ';'
|
||
|| kostenplaats
|
||
|| ';'
|
||
|| REPLACE (omschrijving, ';')
|
||
|| ';'
|
||
|| externeklant
|
||
|| ';'
|
||
|| contactpers
|
||
|| ';'
|
||
|| factuuradres
|
||
|| ';'
|
||
|| REPLACE (artikelomschrijving, ';')
|
||
|| ';'
|
||
|| btw
|
||
|| ';'
|
||
|| aantal_besteld
|
||
|| ';'
|
||
|| stuksprijs
|
||
|| ';'
|
||
|| totaalprijs
|
||
|| ';'
|
||
|| soortreservering
|
||
result,
|
||
(ruimte_key * 10) + volgorde
|
||
result_order
|
||
FROM inlo_v_catering_export
|
||
WHERE (status_fo = 'Definitief' or status_fo = 'Vervallen') and akkoord = 'Akkoord' and dirty = 'Nee' ;
|
||
|
||
CREATE OR REPLACE PROCEDURE inlo_export_res (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
v_ruimte_key NUMBER(10);
|
||
CURSOR c
|
||
IS
|
||
SELECT DISTINCT ruimte_key
|
||
FROM inlo_v_catering_export i
|
||
WHERE i.soortreservering ='Ruimte-reservering' and (status_fo = 'Definitief' or status_fo = 'Geblokkeerd' or status_fo = 'Vervallen') and akkoord = 'Akkoord' ;
|
||
CURSOR d
|
||
IS
|
||
SELECT DISTINCT ruimte_key
|
||
FROM inlo_v_catering_export i
|
||
WHERE i.soortreservering ='Roomservice' and (status_fo = 'Definitief' or status_fo = 'Geblokkeerd' or status_fo = 'Vervallen') and akkoord = 'Akkoord' ;
|
||
BEGIN
|
||
FOR rec IN c
|
||
LOOP
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 6, res_rsv_artikel_verwerkt = SYSDATE
|
||
WHERE res_rsv_ruimte_key = rec.ruimte_key;
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 6
|
||
WHERE res_rsv_ruimte_key = rec.ruimte_key ;
|
||
|
||
fac.trackaction ('RESVER', rec.ruimte_key, 4,sysdate, 'verwerkt door Export-Greenport-Venlo (nr 21) ' || TO_CHAR(sysdate, 'dd/mm/yyyy - hh:mi:ss')) ;
|
||
|
||
|
||
END LOOP;
|
||
|
||
FOR rec IN d
|
||
LOOP
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 6, res_rsv_artikel_verwerkt = SYSDATE
|
||
WHERE res_rsv_ruimte_key = rec.ruimte_key;
|
||
|
||
fac.trackaction ('RESVER', rec.ruimte_key, 4,sysdate, 'verwerkt door Export-Greenport-Venlo (nr 21) ' || TO_CHAR(sysdate, 'dd/mm/yyyy - hh:mi:ss')) ;
|
||
|
||
END LOOP;
|
||
|
||
END;
|
||
/
|
||
|
||
|
||
-- exact verkoop
|
||
CREATE OR REPLACE VIEW inlo_v_export_exact_verkoop (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
||
CREATE OR REPLACE PROCEDURE inlo_select_exact_verkoop (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(sysdate, 'yyyy'));
|
||
END;
|
||
/
|
||
CREATE OR REPLACE PROCEDURE inlo_export_exact_verkoop (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(sysdate, 'yyyy'));
|
||
END;
|
||
/
|
||
|
||
-- exact verkoop over het vorige jaar
|
||
CREATE OR REPLACE VIEW inlo_v_export_exact_verkoop_vj (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_exact_verkoop;
|
||
CREATE OR REPLACE PROCEDURE inlo_select_exact_verkoop_vj (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_select_exact_verkoop(p_applname, p_applrun, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
||
END;
|
||
/
|
||
CREATE OR REPLACE PROCEDURE inlo_export_exact_verkoop_vj (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_export_exact_verkoop(p_applname, p_applrun, p_filedir, p_filename, to_char(to_number(to_char(sysdate, 'yyyy'))-1));
|
||
END;
|
||
/
|
||
|
||
-- exact projecturen (XML)
|
||
CREATE OR REPLACE VIEW inlo_v_export_exact_uren (result, result_order)
|
||
AS SELECT result, result_order FROM aaxx_v_export_exact_uren_xml;
|
||
CREATE OR REPLACE PROCEDURE inlo_select_exact_uren (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_select_exact_uren_xml(p_applname, p_applrun, '');
|
||
END;
|
||
/
|
||
|
||
-- verwerk exact projecturen (XML)
|
||
CREATE OR REPLACE PROCEDURE inlo_export_verwerk_exact_uren (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_export_verwerk_exact_uren(p_applname, p_applrun, p_filedir, p_filename, '');
|
||
END;
|
||
/
|
||
|
||
|
||
-- bundel catering
|
||
CREATE OR REPLACE VIEW inlo_v_export_bundel_catering (RESULT, result_order) AS SELECT RESULT, result_order FROM aaxx_v_export_bundel_catering;
|
||
CREATE OR REPLACE PROCEDURE inlo_export_bundel_catering (
|
||
p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
aaxx_export_bundel_catering(p_applname, p_applrun, p_filedir, p_filename);
|
||
END;
|
||
/
|
||
|
||
-- Vastgoed contract views voor huuradministratie
|
||
CREATE OR REPLACE VIEW inlo_v_sync_alg_ruimte
|
||
(
|
||
alg_ruimte_key,
|
||
alg_verdieping_key,
|
||
cadlabel
|
||
)
|
||
AS
|
||
SELECT rg.alg_ruimte_key,
|
||
rg.alg_verdieping_key,
|
||
DECODE (rg.alg_verdieping_volgnr, 0, REPLACE(alg_ruimte_nr, 'S'),
|
||
1, REPLACE(alg_ruimte_nr, 'BG'),
|
||
2, REPLACE(alg_ruimte_nr, 'ST'),
|
||
3, REPLACE(alg_ruimte_nr, 'ST'),
|
||
alg_ruimte_nr) cadlabel
|
||
FROM alg_v_ruimte_gegevens rg
|
||
WHERE alg_gebouw_upper = 'GV-RVA'
|
||
UNION ALL
|
||
SELECT rg.alg_ruimte_key,
|
||
rg.alg_verdieping_key,
|
||
rg.alg_ruimte_nr cadlabel
|
||
FROM alg_v_ruimte_gegevens rg
|
||
WHERE alg_gebouw_upper <> 'GV-RVA';
|
||
|
||
|
||
CREATE OR REPLACE VIEW inlo_v_huurruimte_geg_bron
|
||
AS
|
||
SELECT alg_ruimte_bruto_vloeropp,
|
||
alg_gebouw_upper,
|
||
alg_verdieping_code,
|
||
alg_ruimte_nr,
|
||
alg_ruimte_key,
|
||
alg_verdieping_key,
|
||
COALESCE(cp.cnt_contract_plaats_gewicht, 1) * fac.safe_to_number(aaxx_get_kenmerk('ALG', 1121, r.alg_ruimte_key)) fno_m2,
|
||
COALESCE(cp.cnt_contract_plaats_gewicht, 1) * fac.safe_to_number(aaxx_get_kenmerk('ALG', 1121, r.alg_ruimte_key))
|
||
* (1 + COALESCE(fac.safe_to_number(aaxx_get_kenmerk('ALG', 1162, r.alg_verdieping_key)),0)/100)
|
||
* (1 + COALESCE(fac.safe_to_number(aaxx_get_kenmerk('ALG', 1140, r.alg_gebouw_key)),0)/100) vvo_m2,
|
||
COALESCE(fac.safe_to_number(aaxx_get_kenmerk('ALG', 1140, r.alg_gebouw_key)),0) v_sk_g,
|
||
COALESCE(fac.safe_to_number(aaxx_get_kenmerk('ALG', 1162, r.alg_verdieping_key)),0) v_sk_v,
|
||
COALESCE(fac.safe_to_number(aaxx_get_kenmerk('ALG', 1141, r.alg_gebouw_key)),0) t_sk,
|
||
COALESCE(fac.safe_to_number(aaxx_get_kenmerk('ALG', 1160, r.alg_gebouw_key)),0) t_parkmgt,
|
||
COALESCE(fac.safe_to_number(aaxx_get_kenmerk('ALG', 1161, r.alg_gebouw_key)),0) t_parkeer,
|
||
COALESCE(fac.safe_to_number(aaxx_get_kenmerk('ALG', 1220, r.alg_gebouw_key)),0) t_ict,
|
||
COALESCE(fac.safe_to_number(aaxx_get_kenmerk('ALG', 1180, r.alg_ruimte_key)),sr.alg_srtruimte_prijs) t_fno,
|
||
sr.alg_srtruimte_code,
|
||
sr.alg_srtruimte_omschrijving,
|
||
c.cnt_contract_looptijd_van,
|
||
c.cnt_contract_looptijd_tot,
|
||
cp.cnt_contract_key,
|
||
c.cnt_prs_bedrijf_key,
|
||
COALESCE(FAC.safe_to_number(o.optie), 0) optie
|
||
FROM cnt_contract c,
|
||
cnt_contract_plaats cp,
|
||
alg_v_ruimte_gegevens r,
|
||
alg_srtruimte sr,
|
||
(SELECT cnt_contract_key, cnt_kenmerkcontract_waarde optie
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE cnt_kenmerk_key = 541
|
||
AND cnt_kenmerkcontract_verwijder IS NULL) o
|
||
WHERE cp.cnt_contract_key = c.cnt_contract_key
|
||
AND cp.CNT_ALG_PLAATS_CODE = 'R'
|
||
AND cp.cnt_contract_plaats_verwijder IS NULL
|
||
AND cp.cnt_alg_plaats_key = r.alg_ruimte_key
|
||
AND r.alg_srtruimte_key = sr.alg_srtruimte_key
|
||
AND c.cnt_contract_key = o.cnt_contract_key(+);
|
||
|
||
|
||
CREATE OR REPLACE VIEW inlo_v_rap_verhuur_geg
|
||
AS
|
||
SELECT b.cnt_contract_key,
|
||
COALESCE (h.prs_bedrijf_naam,
|
||
CASE
|
||
WHEN cnt_contract_looptijd_van > SYSDATE THEN 'Toekomst'
|
||
WHEN b.optie = 1 THEN 'Optie'
|
||
ELSE 'Leegstand'
|
||
END) prs_bedrijf_naam,
|
||
b.alg_srtruimte_code code,
|
||
rg.alg_srtruimte_omschrijving omschrijving,
|
||
rg.alg_gebouw_upper,
|
||
rg.alg_verdieping_code,
|
||
rg.alg_ruimte_nr,
|
||
rg.alg_ruimte_bruto_vloeropp,
|
||
COALESCE(fno_m2, fac.safe_to_number(aaxx_get_kenmerk('ALG', 1121, rg.alg_ruimte_key))) fno_m2,
|
||
t_fno,
|
||
fno_m2 * t_fno b_fno,
|
||
vvo_m2 - fno_m2 vvo_m2,
|
||
t_sk,
|
||
vvo_m2 * t_sk b_sk,
|
||
t_parkeer,
|
||
vvo_m2 * t_parkeer b_parkeer,
|
||
t_parkmgt,
|
||
vvo_m2 * t_parkmgt b_parkmgt,
|
||
t_ict,
|
||
vvo_m2 * t_ict b_ict,
|
||
(fno_m2 * t_fno) +
|
||
(vvo_m2 * t_sk) +
|
||
(fno_m2 * t_parkeer) +
|
||
(fno_m2 * t_ict) +
|
||
(vvo_m2 * t_parkmgt) tot,
|
||
cnt_contract_looptijd_van,
|
||
cnt_contract_looptijd_tot,
|
||
'Verhuurd' status
|
||
FROM alg_v_ruimte_gegevens rg,
|
||
(SELECT * FROM inlo_v_huurruimte_geg_bron WHERE cnt_contract_looptijd_tot > SYSDATE) b,
|
||
prs_bedrijf h
|
||
WHERE rg.alg_ruimte_key = b.alg_ruimte_key(+)
|
||
AND h.prs_bedrijf_key(+) = b.cnt_prs_bedrijf_key
|
||
AND rg.alg_locatie_key = 1 -- Venlo
|
||
AND rg.alg_verdieping_volgnr < 20;
|
||
|
||
CREATE OR REPLACE VIEW inlo_v_cad_thema_leegstand
|
||
(
|
||
alg_ruimte_key,
|
||
waarde
|
||
)
|
||
AS
|
||
SELECT rg.alg_ruimte_key,
|
||
DECODE (
|
||
COALESCE (prs_verhuurbaar, 0),
|
||
0, 'Niet verhuurbaar',
|
||
CASE
|
||
WHEN -- Heb ik op dit moment een geldig huurcontract
|
||
(SELECT COUNT (*)
|
||
FROM inlo_v_huurruimte_geg_bron b
|
||
WHERE optie = 0
|
||
AND b.alg_ruimte_key = rg.alg_ruimte_key
|
||
AND SYSDATE BETWEEN cnt_contract_looptijd_van
|
||
AND cnt_contract_looptijd_tot) >
|
||
0
|
||
THEN
|
||
'Verhuurd'
|
||
-- Heb ik op in de toekomst een geldig huurcontract
|
||
WHEN (SELECT COUNT (*)
|
||
FROM inlo_v_huurruimte_geg_bron b
|
||
WHERE optie = 0
|
||
AND b.alg_ruimte_key = rg.alg_ruimte_key
|
||
AND cnt_contract_looptijd_van > SYSDATE) >
|
||
0
|
||
THEN
|
||
'Toekomst'
|
||
-- Heb ik nu of in de toekomst een optie
|
||
WHEN (SELECT COUNT (*)
|
||
FROM inlo_v_huurruimte_geg_bron b
|
||
WHERE optie = 1
|
||
AND b.alg_ruimte_key = rg.alg_ruimte_key
|
||
AND cnt_contract_looptijd_tot > SYSDATE) >
|
||
0
|
||
THEN
|
||
'Optie'
|
||
ELSE
|
||
'Leegstand'
|
||
END) status
|
||
FROM alg_v_ruimte_gegevens rg, alg_srtruimte sr
|
||
WHERE rg.alg_srtruimte_key = sr.alg_srtruimte_key
|
||
AND alg_locatie_key = 1;
|
||
|
||
|
||
-- Exact koppeling
|
||
-- eerste opzet voor de view om Exact data voor verhuurcontracten in de verkoopfactuur tabel te laden
|
||
-- factuurnummers, komen deze uit Facilitor?
|
||
-- Alle huidige en toekomstige contracten worden getoond. Bij het vullen van de verkoopfactuur tabel worden
|
||
-- de toekomstige contracten niet meegenomen.
|
||
CREATE OR REPLACE VIEW inlo_v_export_exact_gv_bron
|
||
AS
|
||
SELECT c.cnt_contract_key,
|
||
b.prs_bedrijf_key,
|
||
b.prs_bedrijf_naam,
|
||
c.cnt_contract_omschrijving,
|
||
b.prs_leverancier_nr,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_perc,
|
||
item,
|
||
bedrag,
|
||
code_exact,
|
||
oms_exact,
|
||
aaxx_get_kenmerk ('CNT', 681, c.cnt_contract_key) opmerking,
|
||
-- voor studentenhuisvesting kennen we andere kostenplaatsen voor huur en servicekosten
|
||
DECODE (cg.kostenplaats,
|
||
'huur', DECODE (aaxx_get_kenmerk ('CNT', 761, c.cnt_contract_key), 1, 414, hs.huur),
|
||
'srvk', DECODE (aaxx_get_kenmerk ('CNT', 761, c.cnt_contract_key), 1, 511, hs.srvk),
|
||
cg.kostenplaats) kostenplaats,
|
||
volgorde,
|
||
c.cnt_contract_looptijd_van,
|
||
c.cnt_contract_looptijd_tot,
|
||
CNT.cnt_getOpzegdatum(c.cnt_contract_key) opzegdatum,
|
||
(SELECT cnt_termijn_omschrijving
|
||
FROM cnt_termijn t
|
||
WHERE t.cnt_termijn_key = cnt_contract_opzegtermijn) opzegtermijn,
|
||
v.fno_m2,
|
||
(v.fno_m2 + v.vvo_m2) vvo_m2
|
||
FROM (SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
aaxx_get_kenmerk ('CNT', 561, cnt_contract_key)
|
||
item,
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 564, cnt_contract_key))
|
||
bedrag,
|
||
'10'
|
||
code_exact,
|
||
'Bijdrage Dienstverlening'
|
||
oms_exact,
|
||
COALESCE(aaxx_get_kenmerk ('CNT', 701, cnt_contract_key), '525')
|
||
kostenplaats,
|
||
50 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
aaxx_get_kenmerk ('CNT', 562, cnt_contract_key),
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 565, cnt_contract_key)),
|
||
'10',
|
||
'Bijdrage Dienstverlening',
|
||
COALESCE(aaxx_get_kenmerk ('CNT', 702, cnt_contract_key), '525')
|
||
kostenplaats,
|
||
50 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
aaxx_get_kenmerk ('CNT', 563, cnt_contract_key),
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 566, cnt_contract_key)),
|
||
'10',
|
||
'Bijdrage Dienstverlening',
|
||
COALESCE(aaxx_get_kenmerk ('CNT', 703, cnt_contract_key), '525')
|
||
kostenplaats,
|
||
50 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Huur terrein bedrag',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 567, cnt_contract_key)),
|
||
'60',
|
||
'Huur terrein',
|
||
'411'
|
||
kostenplaats,
|
||
10 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Huur korting',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 568, cnt_contract_key)),
|
||
'110',
|
||
'Huurkorting',
|
||
'huur'
|
||
kostenplaats,
|
||
51 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'VVO Huurbedrag',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 621, cnt_contract_key)), -- VVO Huurbedrag
|
||
'30',
|
||
'Huur ruimte',
|
||
'huur'
|
||
kostenplaats,
|
||
10 volgorde
|
||
FROM cnt_contract k
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'0'
|
||
fin_btwtabelwaarde_code,
|
||
0
|
||
fin_btwtabelwaarde_perc,
|
||
'VVO Huurbedrag geen BTW',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 682, cnt_contract_key)), -- VVO Huurbedrag geen BTW
|
||
'30',
|
||
'Huur ruimte',
|
||
'huur'
|
||
kostenplaats,
|
||
10 volgorde
|
||
FROM cnt_contract k
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Campusparkeren bedrag',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 623, cnt_contract_key)), -- Campusparkeren bedrag
|
||
'35',
|
||
'Bijdrage Campusparkeren',
|
||
'522'
|
||
kostenplaats,
|
||
60 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'0'
|
||
fin_btwtabelwaarde_code,
|
||
0
|
||
fin_btwtabelwaarde_perc,
|
||
'Borg',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 444, cnt_contract_key)), -- Waarborgsom
|
||
'70',
|
||
'Opbrengst waarborgsommen',
|
||
''
|
||
kostenplaats,
|
||
70 volgorde
|
||
FROM cnt_contract
|
||
WHERE aaxx_get_kenmerk ('CNT', 445, cnt_contract_key) IS NULL -- Waarborg is nog niet eerder ge<67>nd.
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Service kosten',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 622, cnt_contract_key)), -- Servkost bedrag
|
||
'40',
|
||
'Bijdrage Servicekosten',
|
||
'srvk'
|
||
kostenplaats,
|
||
20 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'ServKost extra bedrag BTW hoog',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 683, cnt_contract_key)), -- ServKost extra bedrag BTW hoog
|
||
'40',
|
||
'Bijdrage Servicekosten',
|
||
'srvk'
|
||
kostenplaats,
|
||
21 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'0'
|
||
fin_btwtabelwaarde_code,
|
||
0
|
||
fin_btwtabelwaarde_perc,
|
||
'ServKost bedrag geen BTW',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 741, cnt_contract_key)), -- ServKost bedrag geen BTW
|
||
'40',
|
||
'Bijdrage Servicekosten',
|
||
'srvk'
|
||
kostenplaats,
|
||
21 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'4'
|
||
fin_btwtabelwaarde_code,
|
||
9
|
||
fin_btwtabelwaarde_perc,
|
||
'ServKost extra bedrag BTW laag',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 684, cnt_contract_key)), -- ServKost extra bedrag BTW laag
|
||
'40',
|
||
'Bijdrage Servicekosten',
|
||
'srvk'
|
||
kostenplaats,
|
||
21 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'4'
|
||
fin_btwtabelwaarde_code,
|
||
9
|
||
fin_btwtabelwaarde_perc,
|
||
'Dienstverlening Water',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 581, cnt_contract_key)), -- Dienstverlening Water
|
||
'10',
|
||
'Bijdrage Dienstverlening',
|
||
'525'
|
||
kostenplaats,
|
||
50 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Parkmgt',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 624, cnt_contract_key)), -- Parkmgt bedrag
|
||
'100',
|
||
'Bijdrage Parkmanagement',
|
||
'521'
|
||
kostenplaats,
|
||
30 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'ICT',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 625, cnt_contract_key)), -- ICT bedrag
|
||
'120',
|
||
'Bijdrage ICT',
|
||
'535'
|
||
kostenplaats,
|
||
40 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Flexplek vaste plek bedrag',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 585, cnt_contract_key)), -- Flexplek vaste plek bedrag
|
||
'10',
|
||
'Huur ruimte',
|
||
'534'
|
||
kostenplaats,
|
||
10 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Flex ongelimiteerd',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 586, cnt_contract_key)), -- Flexplek ongelimiteerd bedrag
|
||
'10',
|
||
'Huur ruimte',
|
||
'534'
|
||
kostenplaats,
|
||
10 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Flex 12 dagen',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 587, cnt_contract_key)), -- Flexplek 12 dagen per maand bedrag
|
||
'10',
|
||
'Huur ruimte',
|
||
'534'
|
||
kostenplaats,
|
||
10 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Flex 5 dagen',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 588, cnt_contract_key)), -- Flexplek 5 dagen per maand bedrag
|
||
'10',
|
||
'Huur ruimte',
|
||
'534'
|
||
kostenplaats,
|
||
10 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'3'
|
||
fin_btwtabelwaarde_code,
|
||
21
|
||
fin_btwtabelwaarde_perc,
|
||
'Flex locker',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 589, cnt_contract_key)), -- Flexplek locker
|
||
'10',
|
||
'Huur ruimte',
|
||
'534'
|
||
kostenplaats,
|
||
11 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'0'
|
||
fin_btwtabelwaarde_code,
|
||
0
|
||
fin_btwtabelwaarde_perc,
|
||
'Opslag BTW herziening',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 601, cnt_contract_key)), -- Opslag BTW herziening
|
||
'30',
|
||
'Huur ruimte',
|
||
'huur'
|
||
kostenplaats,
|
||
90 volgorde
|
||
FROM cnt_contract
|
||
UNION ALL
|
||
SELECT cnt_contract_key,
|
||
'0'
|
||
fin_btwtabelwaarde_code,
|
||
0
|
||
fin_btwtabelwaarde_perc,
|
||
'Opslag BTW pro rata',
|
||
FAC.safe_to_number (
|
||
aaxx_get_kenmerk ('CNT', 602, cnt_contract_key)), -- Opslag BTW pro rata
|
||
'30',
|
||
'Huur ruimte',
|
||
'huur'
|
||
kostenplaats,
|
||
90 volgorde
|
||
FROM cnt_contract
|
||
GROUP BY cnt_contract_key) cg,
|
||
cnt_contract c,
|
||
prs_bedrijf b,
|
||
(SELECT cnt_contract_key,
|
||
aaxx_get_kenmerk ('ALG', 1260, alg_gebouw_key) huur,
|
||
aaxx_get_kenmerk ('ALG', 1261, alg_gebouw_key) srvk
|
||
FROM (SELECT DISTINCT cnt_contract_key, alg_gebouw_key
|
||
FROM cnt_contract_plaats cp, alg_v_allonroerendgoed aog
|
||
WHERE ( ( cp.cnt_alg_plaats_code = 'R'
|
||
AND cp.cnt_alg_plaats_key =
|
||
aog.alg_ruimte_key)
|
||
OR ( cp.cnt_alg_plaats_code = 'V'
|
||
AND cp.cnt_alg_plaats_key =
|
||
aog.alg_verdieping_key)
|
||
OR ( cp.cnt_alg_plaats_code = 'G'
|
||
AND cp.cnt_alg_plaats_key =
|
||
aog.alg_gebouw_key)
|
||
OR ( cp.cnt_alg_plaats_code = 'L'
|
||
AND cp.cnt_alg_plaats_key =
|
||
aog.alg_locatie_key)))) hs,
|
||
(SELECT cnt_contract_key, sum(fno_m2) fno_m2, sum(vvo_m2) vvo_m2
|
||
FROM inlo_v_rap_verhuur_geg
|
||
WHERE cnt_contract_key IS NOT NULL
|
||
GROUP BY cnt_contract_key) v
|
||
WHERE c.cnt_contract_key = cg.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.cnt_contract_key = hs.cnt_contract_key(+)
|
||
AND c.cnt_contract_key = v.cnt_contract_key(+)
|
||
AND c.ins_discipline_key = 921 -- verhuurcontract
|
||
AND cg.bedrag IS NOT NULL
|
||
AND c.cnt_contract_looptijd_tot >
|
||
ADD_MONTHS (TRUNC (SYSDATE, 'MM'), 1)
|
||
AND c.cnt_contract_key NOT IN
|
||
(SELECT cnt_contract_key
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE cnt_kenmerk_key = 541 -- optie
|
||
AND cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cnt_kenmerkcontract_waarde = '1');
|
||
|
||
|
||
CREATE OR REPLACE VIEW inlo_v_export_exact_gv (
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT fac_rapport_regel, fac_rapport_volgnr
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = 'INLO_EXACT';
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE inlo_select_exact_gv (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
CURSOR c
|
||
IS
|
||
SELECT fin_verkoopfactuur_refkey, prs_debiteur_naam, fin_verkoopfactuur_omschr, fin_verkoopfactuur_datum, fin_verkoopfactuur_c8
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||
AND fin_verkoopfactuur_d1 IS NULL
|
||
GROUP BY fin_verkoopfactuur_refkey, prs_debiteur_naam, fin_verkoopfactuur_omschr, fin_verkoopfactuur_datum, fin_verkoopfactuur_c8;
|
||
|
||
CURSOR c_cnt (c_contract_key NUMBER)
|
||
IS
|
||
SELECT *
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||
AND fin_verkoopfactuur_d1 IS NULL
|
||
AND fin_verkoopfactuur_refkey = c_contract_key
|
||
ORDER BY fin_verkoopfactuur_n1;
|
||
|
||
|
||
v_order_count NUMBER;
|
||
v_amount_sum NUMBER(10,2);
|
||
v_amount_sum_incl NUMBER(10,2);
|
||
v_count NUMBER;
|
||
v_sub_count NUMBER;
|
||
v_bestand VARCHAR2(12);
|
||
v_boekstuknummer NUMBER;
|
||
v_crdnr PRS_BEDRIJF.PRS_LEVERANCIER_NR%TYPE;
|
||
v_factuur_nr FIN_FACTUUR.FIN_FACTUUR_NR%TYPE;
|
||
v_prefix VARCHAR2(10);
|
||
|
||
BEGIN
|
||
|
||
v_order_count := 0;
|
||
v_amount_sum := 0;
|
||
v_amount_sum_incl := 0;
|
||
v_bestand := 'INLO_EXACT';
|
||
v_crdnr := 'Q';
|
||
v_factuur_nr := 'Q';
|
||
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
DELETE fac_rapport
|
||
WHERE fac_rapport_node = v_bestand;
|
||
|
||
-- verwijder niet verwerkte regels uit de verkoopfactuur tabel
|
||
DELETE fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||
AND fin_verkoopfactuur_d1 IS NULL;
|
||
|
||
-- Vul de verkoopfactuurtabel met de nieuwe records
|
||
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuur_id,
|
||
fin_verkoopfactuur_datum,
|
||
fin_verkoopfactuur_omschr,
|
||
fin_verkoopfactuur_xmlnode,
|
||
fin_verkoopfactuur_refkey,
|
||
prs_kostenplaats_nr,
|
||
prs_kostensoort_oms,
|
||
prs_kostensoort_opmerking,
|
||
prs_bedrijf_key,
|
||
prs_debiteur_naam,
|
||
fin_verkoopfactuur_bedrag,
|
||
fin_verkoopfactuur_btw,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_verkoopfactuur_maand,
|
||
fin_verkoopfactuur_n1,
|
||
fin_verkoopfactuur_c1,
|
||
fin_verkoopfactuur_c2,
|
||
fin_verkoopfactuur_c4,
|
||
fin_verkoopfactuur_c6, -- vullen met FNO_M2
|
||
fin_verkoopfactuur_c7, -- vullen met VVO_M2
|
||
fin_verkoopfactuur_c8) -- vullen met Opmerking
|
||
SELECT TO_CHAR (SYSDATE, 'dd-mm-yyyy') || ' C' || cnt_contract_key,
|
||
SYSDATE,
|
||
'Facturatie Huur en Servicekosten '
|
||
|| TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'Mon yyyy'),
|
||
'contract',
|
||
cnt_contract_key,
|
||
kostenplaats,
|
||
oms_exact,
|
||
code_exact,
|
||
prs_bedrijf_key,
|
||
prs_leverancier_nr,
|
||
bedrag,
|
||
ROUND (bedrag * (fin_btwtabelwaarde_perc / 100), 2),
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_perc,
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyymm'),
|
||
volgorde,
|
||
cnt_contract_omschrijving,
|
||
item,
|
||
'HuurGreenportVenlo',
|
||
fno_m2,
|
||
vvo_m2,
|
||
opmerking
|
||
FROM inlo_v_export_exact_gv_bron
|
||
WHERE cnt_contract_looptijd_van <= ADD_MONTHS (TRUNC (SYSDATE, 'MM'), 1);
|
||
|
||
|
||
-- Bepaal het boekstuknummer (key 3) met het hoogste nummer van dit jaar
|
||
-- ## AAIT#36589
|
||
|
||
SELECT MAX(fin_kenmerkfactuur_waarde)
|
||
INTO v_boekstuknummer
|
||
FROM fin_kenmerkfactuur
|
||
WHERE fin_kenmerk_key = 3
|
||
AND SUBSTR(fin_kenmerkfactuur_waarde,1,2) = TO_CHAR(SYSDATE, 'YY');
|
||
|
||
|
||
v_order_count := 0;
|
||
v_amount_sum := 0;
|
||
v_amount_sum_incl := 0;
|
||
v_prefix := NULL;
|
||
|
||
-- header
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<?xml version="1.0" encoding="windows-1252"?>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<eExact>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<Invoices>');
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
-- Als we een nieuw contract tegenkomen gaan we het factuurnummer ophogen.
|
||
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<Invoice type="8020" status="50">');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<Journal code="40"/>');
|
||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'OrderDate', rec.fin_verkoopfactuur_datum);
|
||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'InvoiceDate', TO_CHAR(SYSDATE, 'YYYY-MM-DD') );
|
||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'Description', xml.char_to_html(rec.fin_verkoopfactuur_omschr));
|
||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'Notes', xml.char_to_html(rec.fin_verkoopfactuur_c8));
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<OrderedBy code="' || rec.prs_debiteur_naam || '"/>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<InvoiceTo code="' || rec.prs_debiteur_naam || '"/>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<PaymentCondition code="02"/>');
|
||
|
||
v_sub_count := 1;
|
||
FOR rec1 IN c_cnt (rec.fin_verkoopfactuur_refkey)
|
||
LOOP
|
||
BEGIN
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<InvoiceLine line="' || v_sub_count || '">');
|
||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'Description', xml.char_to_html(rec1.prs_kostensoort_oms));
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<Item code="' || rec1.prs_kostensoort_opmerking || '"/>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<Costcenter code="' || rec1.prs_kostenplaats_nr || '"/>');
|
||
IF rec1.fin_verkoopfactuur_bedrag < 0
|
||
THEN
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<Quantity>-1</Quantity>');
|
||
ELSE
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<Quantity>1</Quantity>');
|
||
END IF;
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<Unit code="pc"/>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<NetPrice>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<Currency code="EUR" />');
|
||
aaxx_add_xml_element_p (v_bestand, v_prefix, 'Value', REPLACE (TO_CHAR (ABS(rec1.fin_verkoopfactuur_bedrag)), ',', '.'));
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '<VAT code="' || rec1.fin_btwtabelwaarde_code || '"/>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</NetPrice>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</InvoiceLine>');
|
||
v_sub_count := v_sub_count + 1;
|
||
v_amount_sum := v_amount_sum + rec1.fin_verkoopfactuur_bedrag;
|
||
END;
|
||
END LOOP;
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</Invoice>');
|
||
v_order_count := v_order_count + 1;
|
||
END;
|
||
END LOOP;
|
||
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</Invoices>');
|
||
aaxx_add_xml_row_p (v_bestand, v_prefix, '</eExact>');
|
||
|
||
fac.writelog (p_applname, 'S', 'Exact export Greenport huurfacturen uitgevoerd. Aantal facturen: ' || v_order_count || ' Totaal bedrag: ' || v_amount_sum, '');
|
||
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW inlo_v_export_exact_gv_frozen
|
||
AS
|
||
SELECT fin_verkoopfactuur_refkey cnt_contract_key,
|
||
b.prs_bedrijf_key ,
|
||
b.prs_bedrijf_naam,
|
||
fin_verkoopfactuur_c1 cnt_contract_omschrijving,
|
||
prs_debiteur_naam prs_leverancier_nr,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_verkoopfactuur_c2 item,
|
||
fin_verkoopfactuur_bedrag bedrag,
|
||
prs_kostensoort_opmerking,
|
||
prs_kostensoort_oms code_exact,
|
||
prs_kostenplaats_nr oms_exact,
|
||
fin_verkoopfactuur_maand boekmaand,
|
||
fin_verkoopfactuur_datum factuurdatum,
|
||
fin_verkoopfactuur_c6 fno_m2,
|
||
fin_verkoopfactuur_c7 vvo_m2
|
||
FROM fin_verkoopfactuur vf, prs_bedrijf b
|
||
WHERE vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||
AND fin_verkoopfactuur_d1 IS NOT NULL;
|
||
|
||
|
||
CREATE OR REPLACE VIEW inlo_v_export_verwerk_exact_gv (
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT 'cnt_contract_key;' ||
|
||
'prs_bedrijf_key;' ||
|
||
'prs_bedrijf_naam;' ||
|
||
'cnt_contract_omschrijving;' ||
|
||
'prs_leverancier_nr;' ||
|
||
'fin_btwtabelwaarde_code;' ||
|
||
'fin_btwtabelwaarde_perc;' ||
|
||
'item;' ||
|
||
'bedrag;' ||
|
||
'prs_kostensoort_opmerking;' ||
|
||
'code_exact;' ||
|
||
'oms_exact;' ||
|
||
'boekmaand', -1
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT fin_verkoopfactuur_refkey || ';' ||
|
||
b.prs_bedrijf_key || ';' ||
|
||
b.prs_bedrijf_naam || ';' ||
|
||
fin_verkoopfactuur_c1 || ';' ||
|
||
prs_debiteur_naam || ';' ||
|
||
fin_btwtabelwaarde_code || ';' ||
|
||
fin_btwtabelwaarde_perc || ';' ||
|
||
fin_verkoopfactuur_c2 || ';' ||
|
||
fin_verkoopfactuur_bedrag || ';' ||
|
||
prs_kostensoort_opmerking || ';' ||
|
||
prs_kostensoort_oms || ';' ||
|
||
prs_kostenplaats_nr || ';' ||
|
||
fin_verkoopfactuur_maand, fin_verkoopfactuur_key
|
||
FROM fin_verkoopfactuur vf, prs_bedrijf b
|
||
WHERE vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||
AND fin_verkoopfactuur_d1 > SYSDATE - 0.1;
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE inlo_select_verwerk_exact_gv (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2
|
||
)
|
||
AS
|
||
|
||
CURSOR c
|
||
IS
|
||
SELECT c.cnt_contract_key, 445 cnt_kenmerk_key -- Waarborgsom geint op datum
|
||
FROM cnt_contract c
|
||
WHERE EXISTS
|
||
(SELECT cnt_kenmerkcontract_key
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key = c.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key = 444) -- Waarborgsom
|
||
AND NOT EXISTS
|
||
(SELECT cnt_kenmerkcontract_key
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key = c.cnt_contract_key
|
||
AND kc.cnt_kenmerk_key = 445);
|
||
|
||
BEGIN
|
||
FOR rec IN c
|
||
LOOP
|
||
INSERT INTO cnt_kenmerkcontract (cnt_contract_key, cnt_kenmerk_key, cnt_kenmerkcontract_waarde)
|
||
VALUES (rec.cnt_contract_key, rec.cnt_kenmerk_key, TO_CHAR(SYSDATE, 'DD-MM-YYYY'));
|
||
END LOOP;
|
||
|
||
UPDATE fin_verkoopfactuur
|
||
SET fin_verkoopfactuur_d1 = SYSDATE
|
||
WHERE fin_verkoopfactuur_c4 = 'HuurGreenportVenlo'
|
||
AND fin_verkoopfactuur_d1 IS NULL;
|
||
END;
|
||
/
|
||
|
||
|
||
------ payload end ------
|
||
|
||
SET DEFINE OFF
|
||
BEGIN adm.systrackscriptId ('$Id$', 0); END;
|
||
/
|
||
|
||
COMMIT;
|
||
SET ECHO OFF
|
||
SPOOL OFF
|
||
SET DEFINE ON
|
||
PROMPT Logfile of this upgrade is: &fcltlogfile |