9180 lines
506 KiB
MySQL
9180 lines
506 KiB
MySQL
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific db-configuration for BLCC.
|
||
DEFINE thisfile = 'BLCC.SQL'
|
||
DEFINE dbuser = '^BLCC'
|
||
|
||
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 ------
|
||
|
||
CREATE OR REPLACE PACKAGE BLCC
|
||
IS
|
||
PROCEDURE mld_after_insert (p_melding_key IN NUMBER);
|
||
PROCEDURE freezeopdrachten (p_kpn IN VARCHAR2);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY BLCC
|
||
IS
|
||
-- Procedure om bij aanmaken van de melding te kijken of er al een oudere
|
||
-- melding is met dezelfde externe referentie (zonder volgnummer).
|
||
PROCEDURE mld_after_insert (p_melding_key IN NUMBER)
|
||
AS
|
||
v_melding_key NUMBER;
|
||
BEGIN
|
||
SELECT (SELECT MIN (m2.mld_melding_key)
|
||
FROM mld_melding m2
|
||
WHERE SUBSTR (m2.mld_melding_externnr, 1, INSTR (m2.mld_melding_externnr, '/')) =
|
||
SUBSTR (m1.mld_melding_externnr, 1, INSTR (m1.mld_melding_externnr, '/'))
|
||
AND m1.mld_melding_key > m2.mld_melding_key)
|
||
refe
|
||
INTO v_melding_key
|
||
FROM mld_melding m1
|
||
WHERE m1.mld_melding_externnr IS NOT NULL
|
||
AND m1.mld_melding_status = 2
|
||
AND m1.mld_melding_key = p_melding_key;
|
||
|
||
IF v_melding_key IS NOT NULL
|
||
THEN
|
||
DBMS_OUTPUT.put_line ('Melding update ' || p_melding_key || '-' || v_melding_key);
|
||
|
||
UPDATE mld_melding
|
||
SET mld_melding_omschrijving =
|
||
'Startmelding met zelfde extern nummer: melding '
|
||
|| v_melding_key
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| SUBSTR (mld_melding_omschrijving, 1, 3920)
|
||
WHERE mld_melding_key = p_melding_key
|
||
AND COALESCE (mld_melding_opmerking, 'QueQeLeQue') NOT LIKE
|
||
'Startmelding met zelfde extern nummer: melding %'
|
||
AND COALESCE (mld_melding_omschrijving, 'QueQeLeQue') NOT LIKE
|
||
'Startmelding met zelfde extern nummer: melding %';
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
RETURN;
|
||
END;
|
||
|
||
PROCEDURE freezeopdrachten (p_kpn IN VARCHAR2)
|
||
AS
|
||
-- Cursor loopt over alle opdrachten op Kostenplaats 'p_kpn' die zijn
|
||
-- afgerond; deze worden verwerkt en vannacht doorgezet naar ProQuro!
|
||
CURSOR c1
|
||
IS
|
||
SELECT mld_opdr_key
|
||
FROM mld_opdr o, prs_kostenplaats kp, prs_kostenplaatsgrp kpg
|
||
WHERE o.mld_typeopdr_key = 101 -- WO
|
||
AND o.mld_statusopdr_key = 9 -- KV
|
||
--AND fac.gettrackingdate ('ORDAFR', o.mld_opdr_key) < TRUNC (SYSDATE, 'mm')
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key
|
||
AND COALESCE (kpg.prs_kostenplaatsgrp_nr, SUBSTR (kp.prs_kostenplaats_nr, 1, 5)) = p_kpn
|
||
ORDER BY 1;
|
||
|
||
c_applname VARCHAR2 (50) := 'FREEZE_OPDR';
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER (10);
|
||
v_count_upd NUMBER (10);
|
||
v_bedrijf_naam VARCHAR2 (30);
|
||
BEGIN
|
||
v_count_upd := 0;
|
||
|
||
v_errormsg := 'Fout bijwerken opdrachtstatus.';
|
||
|
||
-- Opdrachten op Kostenplaats 'p_kpn' verwerken en zodoende markeren om
|
||
-- vannacht door te zetten via PROQURO-export!
|
||
FOR rec IN c1
|
||
LOOP
|
||
MLD.setopdrachtstatus (rec.mld_opdr_key, 7, 4);
|
||
v_count_upd := v_count_upd + 1;
|
||
COMMIT;
|
||
END LOOP;
|
||
|
||
fac.writelog (c_applname, 'S', 'Proces: ' || TO_CHAR (v_count_upd) || ' opdrachten bevroren', '');
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (c_applname, 'E', v_errormsg, '');
|
||
COMMIT;
|
||
END freezeopdrachten;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_import_log
|
||
(
|
||
fclt_f_applicatie,
|
||
datum,
|
||
fclt_f_status,
|
||
omschrijving,
|
||
hint
|
||
)
|
||
AS
|
||
SELECT COALESCE (fac_import_app_code, imp_log_applicatie),
|
||
TO_CHAR (imp_log_datum, 'dd-mm-yyyy hh24:mi'),
|
||
imp_log_status,
|
||
imp_log_omschrijving,
|
||
imp_log_hint
|
||
FROM imp_log il1, fac_import fi1, fac_import_app fia1
|
||
WHERE il1.fac_import_key = fi1.fac_import_key(+)
|
||
AND fi1.fac_import_app_key = fia1.fac_import_app_key(+)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM imp_log il2, fac_import fi2
|
||
WHERE il2.fac_import_key = fi2.fac_import_key
|
||
AND fi2.fac_import_app_key = fi1.fac_import_app_key
|
||
AND il2.fac_import_key > il1.fac_import_key);
|
||
|
||
-- BLCC#55646: De Afgemelde Kostenraming-opdrachten <= Mandaat van Leverancier
|
||
-- automatisch Afronden=Goedkeuren <20>n aanmaken Workorder.
|
||
CREATE OR REPLACE PROCEDURE blcc_select_raming2wo (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
CURSOR c1
|
||
IS
|
||
SELECT '[' || TO_CHAR (o.mld_melding_key) || '|' || TO_CHAR (o.mld_opdr_key) || '] '
|
||
aanduiding,
|
||
o.mld_melding_key,
|
||
o.mld_opdr_key,
|
||
o.mld_uitvoerende_keys,
|
||
o.prs_contactpersoon_key,
|
||
o.mld_opdr_omschrijving,
|
||
o.prs_kostenplaats_key,
|
||
o.mld_opdr_kosten
|
||
FROM mld_opdr o, prs_bedrijf b, prs_v_aanwezigkenmerklink kl
|
||
WHERE o.mld_typeopdr_key = 1261 -- Kostenraming
|
||
AND o.mld_statusopdr_key = 6 -- Afgemeld
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = kl.prs_link_key
|
||
AND kl.prs_kenmerklink_niveau = 'B'
|
||
AND kl.prs_kenmerk_key = 1140 -- Mandaat
|
||
AND o.mld_opdr_kosten <= fac.safe_to_number (kl.prs_kenmerklink_waarde)
|
||
AND NOT EXISTS -- Geen andere lopende Kostenraming!
|
||
(SELECT 1
|
||
FROM mld_opdr
|
||
WHERE mld_melding_key = o.mld_melding_key
|
||
AND mld_opdr_key != o.mld_opdr_key
|
||
AND mld_typeopdr_key = 1261 -- Kostenraming
|
||
AND mld_statusopdr_key IN (3, 4, 5, 6, 8, 10))
|
||
ORDER BY 1;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_opdr_dagen NUMBER (3);
|
||
v_kostenplaats_nr VARCHAR2 (30);
|
||
v_budgethouder_key NUMBER (10);
|
||
v_opdr_key NUMBER (10);
|
||
v_srtnoti_oms VARCHAR2 (4000);
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_upd NUMBER (10) := 0;
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname
|
||
AND imp_log_datum < TRUNC (SYSDATE - 7, 'iw');
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
v_errormsg := 'Fout afronden Kostenraming.';
|
||
MLD.setopdrachtstatus (rec.mld_opdr_key, 9, 4); -- Afronden
|
||
MLD.updatemeldingstatus (rec.mld_melding_key, 0, 4);
|
||
|
||
v_errormsg := 'Fout bepalen uitvoertijd.';
|
||
SELECT sm.mld_stdmelding_t_uitvoertijd.tijdsduur
|
||
INTO v_opdr_dagen
|
||
FROM mld_melding m, mld_stdmelding sm, ins_tab_discipline td, mld_disc_params dp
|
||
WHERE m.mld_melding_key = rec.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_discipline_key = dp.mld_ins_discipline_key;
|
||
|
||
v_errormsg := 'Fout bepalen kostenplaats.';
|
||
SELECT prs_kostenplaats_nr
|
||
INTO v_kostenplaats_nr
|
||
FROM prs_kostenplaats
|
||
WHERE prs_kostenplaats_key = rec.prs_kostenplaats_key;
|
||
|
||
v_errormsg := 'Fout bepalen budgethouder.';
|
||
|
||
v_budgethouder_key := prs.getkpverantwoordelijke (rec.prs_kostenplaats_key, 2, -1);
|
||
|
||
IF (v_budgethouder_key = -1)
|
||
THEN
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || 'Budgethouder ongedefinieerd.', '');
|
||
COMMIT;
|
||
END IF;
|
||
|
||
--SELECT COUNT(*) cnt FROM prs_bedrijfdienstlocatie bdl WHERE bdl.prs_bdl_t_uitvoertijd.tijdsduur IS NOT NULL
|
||
--SELECT b.prs_bedrijf_t_uitvoertijd.tijdsduur tijdsduur , b.prs_bedrijf_t_uitvoertijd.eenheid eenheid FROM prs_bedrijf b WHERE b.prs_bedrijf_key=192
|
||
--SELECT m.mld_melding_t_uitvoertijd.tijdsduur tijdsduur , m.mld_melding_t_uitvoertijd.eenheid eenheid FROM mld_melding m WHERE m.mld_melding_key=21055
|
||
|
||
v_errormsg := 'Fout toevoegen Workorder.';
|
||
INSERT INTO mld_opdr (mld_opdr_datumbegin,
|
||
mld_opdr_einddatum,
|
||
mld_uitvoerende_keys,
|
||
prs_contactpersoon_key,
|
||
mld_typeopdr_key,
|
||
prs_perslid_key,
|
||
mld_opdr_omschrijving,
|
||
mld_opdr_materiaal,
|
||
mld_opdr_uren,
|
||
mld_opdr_uurloon,
|
||
mld_opdr_kosten,
|
||
prs_kostenplaats_key,
|
||
mld_melding_key,
|
||
mld_opdr_module,
|
||
mld_opdr_bedrijfopdr_volgnr,
|
||
mld_opdr_teverzenden,
|
||
mld_opdr_contactpersoon)
|
||
VALUES (SYSDATE,
|
||
FAC.datumtijdplusuitvoertijd (SYSDATE, COALESCE (v_opdr_dagen, 0), 'DAGEN'),
|
||
rec.mld_uitvoerende_keys,
|
||
rec.prs_contactpersoon_key,
|
||
101, -- Workorder
|
||
4, -- Facilitor
|
||
rec.mld_opdr_omschrijving,
|
||
rec.mld_opdr_kosten,
|
||
0,
|
||
0,
|
||
rec.mld_opdr_kosten,
|
||
rec.prs_kostenplaats_key,
|
||
rec.mld_melding_key,
|
||
'MLD',
|
||
MLD.bepaalopdrmeldingvolgnr (rec.mld_melding_key),
|
||
1,
|
||
NULL)
|
||
RETURNING mld_opdr_key
|
||
INTO v_opdr_key;
|
||
|
||
v_errormsg := 'Fout kopieren kenmerkvelden.';
|
||
--TODO
|
||
|
||
-- Automatisch aangemaakte Workorders (uit Kostenramingen) nooit Ter
|
||
-- goedkeuring (want onder Mandaat van Leverancier), maar direct Ter
|
||
-- fiattering of Toegekend (afhankelijk van 50900-kostenplaats).
|
||
-- TODO: Of toch inbouwen goedkeuring indien noodzakelijk?
|
||
IF v_kostenplaats_nr LIKE '50900%'
|
||
THEN
|
||
-- Ongeacht kosten ALTIJD 'Ter fiattering' (of budgethouder wel of
|
||
-- niet bestaat doet er niet toe)!
|
||
v_errormsg := 'Fout ter fiat Workorder.';
|
||
MLD.setopdrachtstatus (v_opdr_key, 3, 4); -- Ter fiattering
|
||
|
||
-- Notificeren als budgethouder bekend!
|
||
IF (v_budgethouder_key != -1)
|
||
THEN
|
||
v_errormsg := 'Fout bepalen MLDAP1-omschrijving.';
|
||
|
||
SELECT lcl.x ('fac_srtnotificatie_oms', fac_srtnotificatie_key, fac_srtnotificatie_oms)
|
||
INTO v_srtnoti_oms
|
||
FROM fac_srtnotificatie
|
||
WHERE fac_srtnotificatie_code = 'MLDAP1';
|
||
|
||
fac.putnotificationsrtprio (
|
||
NULL,
|
||
v_budgethouder_key,
|
||
'MLDAP1',
|
||
v_opdr_key,
|
||
mld.opdrsprintf (v_srtnoti_oms, v_opdr_key),
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
2,
|
||
NULL);
|
||
END IF;
|
||
ELSE
|
||
v_errormsg := 'Fout toekennen Workorder.';
|
||
MLD.setopdrachtstatus (v_opdr_key, 5, 4); -- Toegekend
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bijwerken meldingstatus.';
|
||
MLD.updatemeldingstatus (rec.mld_melding_key, 0, 4); -- Facilitor
|
||
|
||
v_count_upd := v_count_upd + 1;
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'Kostenraming2Workorder');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'Proces: ' || TO_CHAR (v_count_upd) || ' van ' || TO_CHAR (v_count_tot) || ' Workorders uitgegeven', '');
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_errormsg, 'RAMING2WO-export afgebroken!');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE blcc_add_xml_row (p_bestand IN VARCHAR2,
|
||
p_regel IN VARCHAR2)
|
||
AS
|
||
v_index NUMBER;
|
||
BEGIN
|
||
SELECT COALESCE (MAX (fac_rapport_volgnr), 0) + 1
|
||
INTO v_index
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = p_bestand;
|
||
|
||
INSERT INTO fac_rapport (fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel)
|
||
VALUES (p_bestand, v_index, p_regel);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE blcc_add_xml_element (p_bestand IN VARCHAR2,
|
||
p_tag IN VARCHAR2,
|
||
p_value IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
blcc_add_xml_row (
|
||
p_bestand,
|
||
'<'
|
||
|| p_tag
|
||
|| '>'
|
||
|| xml.char_to_html (p_value)
|
||
|| '</'
|
||
|| p_tag
|
||
|| '>');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_export_proquro (result, result_order)
|
||
AS
|
||
SELECT fac_rapport_regel, fac_rapport_volgnr
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = 'PROQURO';
|
||
|
||
CREATE OR REPLACE PROCEDURE blcc_select_proquro (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Markeren te exporteren opdracht-verplichtingen (via ordernr)!
|
||
-- BLCC#55646: Per 2019-05 deprecated, want markeren gebeurt door Verwerken
|
||
-- opdrachten via BLCC.freezeopdrachten()!
|
||
--CURSOR c1
|
||
--IS
|
||
-- SELECT '[' || TO_CHAR (o.mld_melding_key) || '|' || TO_CHAR (o.mld_opdr_key) || '] '
|
||
-- aanduiding,
|
||
-- o.mld_opdr_key
|
||
-- FROM mld_opdr o
|
||
-- WHERE o.mld_typeopdr_key != 103 -- Geen RFQs
|
||
-- AND o.mld_statusopdr_key = 9 -- Afgerond
|
||
-- AND o.mld_opdr_ordernr IS NULL -- Geen ordernr, dus bijwerken
|
||
-- ORDER BY 1;
|
||
|
||
-- Wegschrijven te exporteren verplichting-regels (= factuur naar ProQuro).
|
||
-- BLCC#38809: SCC uitsluiten (alleen regels als volgnr 1000 t/m 2999)!
|
||
-- Per oktober-doorbelasting alleen nog maar catalogi meenemen die zijn
|
||
-- gekoppeld aan een bedrijf (voor de locatie CAMPUS).
|
||
-- BLCC#52390: Per februari catering-verplichtingen niet meer exporteren!
|
||
-- BLCC#55646: Per 2019-06 Verwerkte ipv. Afgeronde opdrachten exporteren
|
||
-- en markeren als doorgezet naar ProQuro!
|
||
CURSOR c3
|
||
IS -- Regel per Afgeronde mld_opdr zojuist gemarkeerd!
|
||
SELECT o.mld_opdr_key,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
externalid,
|
||
p.prs_perslid_nr, -- AdministrationExternalId
|
||
--kp.prs_kostenplaats_nr costcentre, -- CostcentreExternalId
|
||
SUBSTR (kp.prs_kostenplaats_nr, 1, 5) costcentre, -- CostcentreExternalId
|
||
b.prs_leverancier_nr,
|
||
'FACILITOR Ref.nr. '
|
||
|| sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
|| ' ('
|
||
|| td.ins_discipline_omschrijving
|
||
|| '-'
|
||
|| sm.mld_stdmelding_omschrijving
|
||
|| ')'
|
||
omschrijving,
|
||
o.mld_opdr_kosten price,
|
||
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key), 'yyyy-mm-dd')
|
||
deliverydate,
|
||
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms)
|
||
costtype, -- CostTypeExternalId
|
||
DECODE (aog.alg_gebouw_code,
|
||
NULL, 'C-0000-000-00',
|
||
'122-001N', 'C-0122-001-01',
|
||
'122-00TW', 'C-0122-000-00',
|
||
'122-03B', 'C-0122-003-01',
|
||
'122-32A', 'C-0122-032-01',
|
||
'122-93A', 'C-0122-093-01',
|
||
'122-93B', 'C-0122-093-02', -- ???
|
||
'122-93C', 'C-0122-093-03',
|
||
'122-93D', 'C-0122-093-04',
|
||
'122-93E', 'C-0122-093-05', -- ???
|
||
'122-94A', 'C-0122-094-01',
|
||
'122-94B', 'C-0122-094-02',
|
||
'124-037Itter', 'C-0122-037-00',
|
||
'C-0' || aog.alg_gebouw_code || '-00')
|
||
costproject -- CostProjectExternalId
|
||
FROM mld_opdr o,
|
||
mld_melding m,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b,
|
||
prs_perslid p
|
||
WHERE --SUBSTR (o.mld_opdr_ordernr, 1, 10) = TO_CHAR (SYSDATE, 'yyyy-mm-dd')
|
||
o.mld_typeopdr_key = 101 -- WO
|
||
AND o.mld_statusopdr_key = 7 -- Verwerkt
|
||
AND TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') >= '2019-02-01' -- TODO:2019-06-01/Per 2019-06 nieuwe werkwijze!
|
||
AND o.mld_opdr_ordernr IS NULL -- Nog niet doorgezet Proquro!
|
||
AND NOT EXISTS -- Nog niet doorgezet Proquro!
|
||
(SELECT 1
|
||
FROM mld_v_aanwezigkenmerkopdr
|
||
WHERE mld_kenmerk_key = 621 AND mld_opdr_key = o.mld_opdr_key)
|
||
AND o.mld_opdr_kosten > 0
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND p.prs_perslid_key(+) = 101
|
||
ORDER BY 1;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_bestand VARCHAR2 (12);
|
||
v_order_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
BEGIN
|
||
v_bestand := SUBSTR (p_applname, 1, 12);
|
||
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
DELETE FROM fac_rapport
|
||
WHERE fac_rapport_node = v_bestand;
|
||
|
||
-- BLCC#55646: Per 2019-05 deprecated, want markeren gebeurt door Verwerken
|
||
-- opdrachten via BLCC.freezeopdrachten()!
|
||
--FOR rec IN c1
|
||
--LOOP
|
||
-- BEGIN
|
||
-- v_errormsg := 'Fout bijwerken mld_opdr';
|
||
|
||
-- UPDATE mld_opdr
|
||
-- SET mld_opdr_ordernr = TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss')
|
||
-- WHERE mld_opdr_key = rec.mld_opdr_key;
|
||
-- EXCEPTION
|
||
-- WHEN OTHERS
|
||
-- THEN
|
||
-- oracle_err_num := SQLCODE;
|
||
-- oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
-- v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
-- fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'Opdracht-verplichtingen');
|
||
-- COMMIT;
|
||
-- END;
|
||
--END LOOP;
|
||
--COMMIT;
|
||
|
||
v_order_count := 0;
|
||
v_amount_sum := 0;
|
||
FOR rec IN c3
|
||
LOOP
|
||
BEGIN
|
||
v_order_count := v_order_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.price;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF v_order_count > 0
|
||
THEN
|
||
-- Begin-tag splitsen ter voorkoming auto-detectie utf-8 door UltraEdit!
|
||
blcc_add_xml_row (v_bestand, '<?xml version="1.0" encoding="utf-' || '8"?>');
|
||
blcc_add_xml_row (v_bestand, '<Orders>');
|
||
FOR rec IN c3
|
||
LOOP
|
||
BEGIN
|
||
--blcc_add_xml_row (v_bestand, '<AddOrder>');
|
||
blcc_add_xml_row (v_bestand, '<Order>');
|
||
--blcc_add_xml_element (v_bestand, 'securityKey', 'xxx');
|
||
--blcc_add_xml_row (v_bestand, '<parms>');
|
||
blcc_add_xml_element (v_bestand, 'ExternalId', rec.externalid);
|
||
blcc_add_xml_element (v_bestand, 'AdministrationExternalId', rec.prs_perslid_nr); -- Personeelsnummer van API-user
|
||
blcc_add_xml_element (v_bestand, 'OrderTypeId', '9'); -- Hard op '9'
|
||
blcc_add_xml_element (v_bestand, 'ProcessExternalId', '7'); -- Hard op '7'
|
||
blcc_add_xml_element (v_bestand, 'CostcentreExternalId', rec.costcentre); -- Kostenplaats van opdracht
|
||
blcc_add_xml_element (v_bestand, 'ProductgroupExternalId', '1'); -- Hard op '1'
|
||
blcc_add_xml_element (v_bestand, 'SupplierExternalId', rec.prs_leverancier_nr);
|
||
blcc_add_xml_element (v_bestand, 'ProForma', 'False'); -- Hard op 'False'
|
||
blcc_add_xml_row (v_bestand, '<OrderLines>');
|
||
blcc_add_xml_row (v_bestand, '<OrderLine>');
|
||
blcc_add_xml_element (v_bestand, 'LineId', '1'); -- Hard op '1'
|
||
--blcc_add_xml_element (v_bestand, 'ArticleSupplierExternalId', '');
|
||
blcc_add_xml_element (v_bestand, 'ProductName', rec.omschrijving);
|
||
blcc_add_xml_element (v_bestand, 'Quantity', '1'); -- Hard op '1'
|
||
blcc_add_xml_element (v_bestand, 'Price', TO_CHAR (rec.price));
|
||
blcc_add_xml_element (v_bestand, 'CurrencyExternalId', 'EUR'); -- Hard op 'EUR'
|
||
blcc_add_xml_element (v_bestand, 'OrderUnitExternalId', 'Stuks'); -- Hard op 'Stuks'
|
||
blcc_add_xml_element (v_bestand, 'VatExternalId', 'IH'); -- Hard op 'IH'
|
||
blcc_add_xml_element (v_bestand, 'DeliveryDate', rec.deliverydate); -- ORDAFM of laatste dag van maand voor RES
|
||
blcc_add_xml_element (v_bestand, 'CostTypeExternalId', rec.costtype); -- Kostensoort uit soortmelding
|
||
blcc_add_xml_element (v_bestand, 'CostProjectExternalId', rec.costproject); -- Transformatie van MLD-Gebouwcode
|
||
blcc_add_xml_row (v_bestand, '</OrderLine>');
|
||
blcc_add_xml_row (v_bestand, '</OrderLines>');
|
||
--blcc_add_xml_row (v_bestand, '</parms>');
|
||
--blcc_add_xml_row (v_bestand, '</AddOrder>');
|
||
blcc_add_xml_row (v_bestand, '</Order>');
|
||
|
||
-- Markeren als 'Doorgezet naar ProQuro'!
|
||
v_errormsg := 'Fout markeren doorzetten ProQuro';
|
||
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_ordernr = TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss')
|
||
WHERE mld_opdr_key = rec.mld_opdr_key;
|
||
|
||
INSERT INTO mld_kenmerkopdr (mld_opdr_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkopdr_waarde)
|
||
VALUES (rec.mld_opdr_key,
|
||
621, -- TODO/Doorgezet naar Proquro
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy'));
|
||
END;
|
||
END LOOP;
|
||
blcc_add_xml_row (v_bestand, '</Orders>');
|
||
END IF;
|
||
|
||
fac.writelog (p_applname, 'S', 'ProQuro export/#regels: ' || TO_CHAR (v_order_count), TO_CHAR (v_amount_sum));
|
||
END;
|
||
/
|
||
|
||
-- BLCC#53426: Kosten voortaan splitsen naar BTW (VH/VL)!
|
||
/* Formatted on 5-1-2016 18:32:28 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_rap_cat_frozenplus
|
||
(
|
||
fclt_x_verwerkt,
|
||
fclt_f_debiteur,
|
||
fclt_f_organisatie,
|
||
locatie,
|
||
ruimte,
|
||
datum,
|
||
tijd,
|
||
resnr,
|
||
activiteit,
|
||
omschrijving,
|
||
artikelnr,
|
||
artikelomschrijving,
|
||
aantal,
|
||
stuksprijs,
|
||
kosten,
|
||
btw,
|
||
fclt_f_besteller,
|
||
costcenter,
|
||
hide_f_kostenplaats
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (x.res_rsv_artikel_verwerkt, 'dd-mm-yyyy'), -- Verwerkt
|
||
COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = x.prs_afdeling_key)
|
||
deb_oms,
|
||
DECODE (x.alg_ruimte_key, NULL, 'Onbekend', rg.alg_gebouw_upper || '-' || rg.alg_verdieping_code || '-' || rg.alg_ruimte_nr)
|
||
afleveradres,
|
||
COALESCE (rr.res_ruimte_omschrijving, rg.alg_ruimte_omschrijving) ruimte,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'dd-mm-yyyy') datum,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'hh24:mi') tijd,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr,
|
||
x.res_activiteit_omschrijving activiteit,
|
||
x.res_rsv_ruimte_omschrijving omschrijving,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
x.res_rsv_artikel_aantal,
|
||
ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
stuksprijs,
|
||
x.res_rsv_artikel_aantal * ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
regeltotaal,
|
||
x.btw,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.prs_kostenplaats_nr || '-' || x.prs_kostenplaats_omschrijving
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key)
|
||
res_ruimte_key,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
act.res_activiteit_omschrijving,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rra.res_artikel_nr,
|
||
rra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_aantal,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_artikel_prijs,
|
||
rra.btw,
|
||
COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key,
|
||
kl.prs_kenmerklink_waarde,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit act,
|
||
--res_rsv_artikel rra,
|
||
--res_artikel ra,
|
||
(SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
rra.res_rsv_artikel_levering,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_prijs,
|
||
DECODE (
|
||
COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw),
|
||
NULL, 'VH',
|
||
21, 'VH',
|
||
'VL') btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < SYSDATE
|
||
AND rra.res_rsv_artikel_verwerkt IS NOT NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key NOT IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
rra.res_rsv_artikel_levering,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
0.75 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VL' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < SYSDATE
|
||
AND rra.res_rsv_artikel_verwerkt IS NOT NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
rra.res_rsv_artikel_levering,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
0.25 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VH' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < SYSDATE
|
||
AND rra.res_rsv_artikel_verwerkt IS NOT NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)) rra,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_activiteit_key = act.res_activiteit_key
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
--AND rra.res_rsv_artikel_verwijder IS NULL
|
||
--AND rra.res_status_bo_key = 6
|
||
--AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
|
||
--AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN res_ruimte rr
|
||
ON x.res_ruimte_key = rr.res_ruimte_key
|
||
LEFT JOIN alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT TO_CHAR (x.res_rsv_artikel_levering, 'yyyy-mm') || '*', -- Lopend
|
||
COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = x.prs_afdeling_key)
|
||
deb_oms,
|
||
DECODE (x.alg_ruimte_key, NULL, 'Onbekend', rg.alg_gebouw_upper || '-' || rg.alg_verdieping_code || '-' || rg.alg_ruimte_nr)
|
||
afleveradres,
|
||
COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'dd-mm-yyyy') datum,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'hh24:mi') tijd,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr,
|
||
x.res_activiteit_omschrijving activiteit,
|
||
x.res_rsv_ruimte_omschrijving omschrijving,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
x.res_rsv_artikel_aantal,
|
||
--ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
-- stuksprijs,
|
||
--x.res_rsv_artikel_aantal * ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
-- regeltotaal,
|
||
ROUND (COALESCE (x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal, x.res_artikel_prijs), 5)
|
||
stuksprijs,
|
||
ROUND (COALESCE (x.res_rsv_artikel_prijs, x.res_rsv_artikel_aantal * x.res_artikel_prijs), 5)
|
||
regeltotaal,
|
||
x.btw,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.prs_kostenplaats_nr || '-' || x.prs_kostenplaats_omschrijving
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key)
|
||
res_ruimte_key,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
act.res_activiteit_omschrijving,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
rra.res_artikel_nr,
|
||
rra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_aantal,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_artikel_prijs,
|
||
rra.btw,
|
||
COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) prs_afdeling_key,
|
||
kl.prs_kenmerklink_waarde,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit act,
|
||
--res_rsv_artikel rra,
|
||
--res_artikel ra,
|
||
(SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
rra.res_rsv_artikel_levering,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_prijs,
|
||
DECODE (
|
||
COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw),
|
||
NULL, 'VH',
|
||
21, 'VH',
|
||
'VL') btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key != 6
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < SYSDATE
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key NOT IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
rra.res_rsv_artikel_levering,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
0.75 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VL' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key != 6
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < SYSDATE
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
rra.res_rsv_artikel_levering,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
0.25 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VH' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key != 6
|
||
AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < SYSDATE
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)) rra,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_activiteit_key = act.res_activiteit_key
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
--AND rra.res_rsv_artikel_verwijder IS NULL
|
||
--AND rra.res_status_bo_key != 6
|
||
--AND rra.res_rsv_artikel_levering > TO_DATE ('20170901', 'yyyymmdd')
|
||
--AND rra.res_rsv_artikel_levering < SYSDATE
|
||
--AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN res_ruimte rr
|
||
ON x.res_ruimte_key = rr.res_ruimte_key
|
||
LEFT JOIN alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_cat_frozen
|
||
(
|
||
fclt_f_exportjob,
|
||
fclt_f_bedrijf,
|
||
afleveradres,
|
||
fclt_f_afleverdatum,
|
||
tijdstip,
|
||
bestelnummer,
|
||
fclt_f_artikelnummer,
|
||
artikelomschrijving,
|
||
interne_artikelprijs,
|
||
aantal,
|
||
kosten,
|
||
btw_laag_oud,
|
||
btw_hoog_oud,
|
||
btw_laag,
|
||
btw_hoog,
|
||
fclt_f_besteller,
|
||
costcenter,
|
||
afdeling,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (x.res_rsv_artikel_verwerkt, 'yyyy-mm-dd') verwerkt,
|
||
COALESCE (x.prs_bedrijf_naam,
|
||
DECODE (FLOOR (x.ins_discipline_volgnr / 1000),
|
||
1, 'Sodexo BV', -- BCC t/m 27-08-2016
|
||
3, 'Verde', -- SSC (in 2016 per abuis RESVER)
|
||
'???'))
|
||
bedrijf,
|
||
DECODE (
|
||
x.alg_ruimte_key,
|
||
NULL, 'Onbekend',
|
||
rg.alg_locatie_code
|
||
|| '-'
|
||
|| rg.alg_gebouw_upper
|
||
|| '-'
|
||
|| rg.alg_verdieping_code
|
||
|| '-'
|
||
|| rg.alg_ruimte_nr
|
||
|| ' ('
|
||
|| rg.alg_ruimte_omschrijving
|
||
|| ')')
|
||
afleveradres,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'dd-mm-yyyy') datum,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'hh24:mi') tijd,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr bestelnr,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5) interneprijs,
|
||
x.res_rsv_artikel_aantal,
|
||
ROUND (x.res_rsv_artikel_prijs, 5) regeltotaal,
|
||
x.btw_laag_oud,
|
||
x.btw_hoog_oud,
|
||
x.btw_laag,
|
||
x.btw_hoog,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.prs_kostenplaats_nr || '-' || x.prs_kostenplaats_omschrijving afd,
|
||
COALESCE (x.prs_afdeling_key,
|
||
DECODE (FLOOR (x.ins_discipline_volgnr / 1000),
|
||
1, 225, -- BCC t/m 27-08-2016/Sodexo
|
||
3, 621, -- SSC/Verde (in 2016 per abuis RESVER)
|
||
-1))
|
||
afdeling_key
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
td.ins_discipline_volgnr, -- Ter bepaling leverancier/DEPRECATED!
|
||
b.prs_bedrijf_naam,
|
||
a.prs_afdeling_key,
|
||
rra.res_artikel_nr,
|
||
rra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
rra.btw_laag_oud,
|
||
rra.btw_hoog_oud,
|
||
rra.btw_laag,
|
||
rra.btw_hoog,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
(SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
rra.res_rsv_artikel_levering,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
DECODE (
|
||
rra.res_rsv_artikel_btw,
|
||
NULL, TO_NUMBER (NULL),
|
||
21, TO_NUMBER (NULL),
|
||
ROUND ((rra.res_rsv_artikel_prijs / 100) * 6, 5)) btw_laag_oud,
|
||
DECODE (
|
||
rra.res_rsv_artikel_btw,
|
||
NULL, TO_NUMBER (NULL),
|
||
6, TO_NUMBER (NULL),
|
||
ROUND ((rra.res_rsv_artikel_prijs / 100) * 21, 5)) btw_hoog_oud,
|
||
DECODE (
|
||
rra.res_rsv_artikel_btw,
|
||
NULL, TO_NUMBER (NULL),
|
||
21, TO_NUMBER (NULL),
|
||
ROUND ((rra.res_rsv_artikel_prijs / 100) * rra.res_rsv_artikel_btw, 5)) btw_laag,
|
||
DECODE (
|
||
rra.res_rsv_artikel_btw,
|
||
NULL, TO_NUMBER (NULL),
|
||
21, ROUND ((rra.res_rsv_artikel_prijs / 100) * rra.res_rsv_artikel_btw, 5),
|
||
TO_NUMBER (NULL)) btw_hoog,
|
||
ra.res_discipline_key
|
||
FROM res_rsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6
|
||
--AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_verwerkt > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key NOT IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
rra.res_rsv_artikel_levering,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
DECODE (
|
||
rra.res_rsv_artikel_btw,
|
||
21, TO_NUMBER (NULL),
|
||
ROUND ((0.75 * rra.res_rsv_artikel_prijs / 100) * 6, 5)) btw_laag_oud,
|
||
DECODE (
|
||
rra.res_rsv_artikel_btw,
|
||
6, TO_NUMBER (NULL),
|
||
ROUND ((0.25 * rra.res_rsv_artikel_prijs / 100) * 21, 5)) btw_hoog_oud,
|
||
CASE
|
||
WHEN rra.res_rsv_artikel_levering < TO_DATE ('20190101', 'yyyymmdd')
|
||
THEN
|
||
ROUND ((0.75 * rra.res_rsv_artikel_prijs / 100) * 6, 5)
|
||
ELSE
|
||
ROUND ((0.75 * rra.res_rsv_artikel_prijs / 100) * 9, 5)
|
||
END
|
||
btw_laag,
|
||
ROUND ((0.25 * rra.res_rsv_artikel_prijs / 100) * 21, 5)
|
||
btw_hoog,
|
||
ra.res_discipline_key
|
||
FROM res_rsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6
|
||
--AND rra.res_rsv_artikel_levering > TO_DATE ('20151001', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_verwerkt > TRUNC (ADD_MONTHS (SYSDATE, -24), 'yyyy')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)) rra,
|
||
res_discipline td,
|
||
res_disc_params dp,
|
||
prs_bedrijf b,
|
||
prs_afdeling a,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_discipline_key = td.ins_discipline_key
|
||
AND td.ins_discipline_key = dp.res_ins_discipline_key
|
||
AND dp.prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND b.prs_leverancier_nr = a.prs_afdeling_naam(+)
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN
|
||
alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key;
|
||
|
||
-- BLCC#52390: Per februari catering-doorbelasting splitsen naar BTW (VH/VL)!
|
||
-- BLCC#53262: Per ADDD-facturatie deprecated en tzt. verwijderen, toch!?
|
||
/* Formatted on 17-9-2015 10:40:20 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_rap_tf_frozen
|
||
(
|
||
fclt_x_maand,
|
||
fclt_x_debiteur,
|
||
factuurtype,
|
||
debiteur,
|
||
nummer,
|
||
factuurdatum,
|
||
vervaldatum,
|
||
kop,
|
||
voet,
|
||
valuta,
|
||
aantal,
|
||
artikel,
|
||
subartikel,
|
||
omschrijving,
|
||
artikelprijs_excl,
|
||
artikelprijs_incl,
|
||
btw,
|
||
grootboek,
|
||
vrij_tekstveld_1,
|
||
vrij_tekstveld_2,
|
||
vrij_tekstveld_3
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (TRUNC (t.fac_tracking_datum, 'mm') - 1, 'yyyy-mm'),
|
||
(SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
'FACTUUR',
|
||
kl.prs_kenmerklink_waarde,
|
||
NULL,
|
||
TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy'),
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'EUR',
|
||
1,
|
||
0, -- Eenmalig artikel
|
||
NULL,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr)
|
||
|| ' ['
|
||
|| td.ins_discipline_omschrijving
|
||
|| '/'
|
||
|| sm.mld_stdmelding_omschrijving
|
||
|| ']'
|
||
|| DECODE (km.mld_kenmerkmelding_waarde, NULL, '', ' (=' || km.mld_kenmerkmelding_waarde || ')'),
|
||
ROUND (o.mld_opdr_kosten * 1.065, 2), -- Management fee 6,5%
|
||
NULL,
|
||
'VH',
|
||
COALESCE (ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode),
|
||
km.mld_kenmerkmelding_waarde,
|
||
NULL,
|
||
NULL
|
||
FROM mld_opdr o,
|
||
fac_tracking t,
|
||
mld_melding m,
|
||
(SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde
|
||
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 281) km, -- Refnr. aanvrager
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
alg_v_allonrgoed_gegevens og,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
prs_kostenplaats kp,
|
||
prs_bedrijf b
|
||
WHERE o.mld_opdr_ordernr IS NOT NULL -- Zou zo moeten zijn!
|
||
AND o.mld_statusopdr_key = 7 -- Zou zo moeten zijn!
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = 66 -- ORDVER
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_melding_key = km.mld_melding_key(+)
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
--AND kp.prs_kostenplaats_upper LIKE '50900%'
|
||
AND SUBSTR (kp.prs_kostenplaats_upper, 1, 5) = '50900'
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
UNION ALL -- "Normale" catering gegroepeerd per debiteur/kostensoort!
|
||
SELECT TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
'FACTUUR',
|
||
debiteur,
|
||
NULL,
|
||
TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'),
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'EUR',
|
||
1,
|
||
0, -- Eenmalig artikel
|
||
NULL,
|
||
'Cateringkosten ' || TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm') || '/' || btw,
|
||
SUM (verw_prijs),
|
||
NULL,
|
||
--'VH',
|
||
btw,
|
||
prs_kostensoort_refcode,
|
||
NULL,
|
||
NULL,
|
||
NULL
|
||
FROM (SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
resid,
|
||
kl.prs_kenmerklink_waarde debiteur,
|
||
(SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
ks.prs_kostensoort_refcode,
|
||
--LTRIM (rra.res_artikel_omschrijving) || ' (' || COALESCE (rra.res_artikel_eenheid, '') || ')'
|
||
-- res_voorziening,
|
||
rra.res_rsv_artikel_verwerkt resver,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
--rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs,
|
||
rra.btw
|
||
FROM res_rsv_ruimte rrr,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
(SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid,
|
||
rra.res_rsv_artikel_prijs,
|
||
--rra.res_rsv_artikel_aantal,
|
||
--ra.res_artikel_prijs,
|
||
'VH' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_rsv_artikel_verwerkt < TO_DATE ('20180301', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid,
|
||
rra.res_rsv_artikel_prijs,
|
||
--rra.res_rsv_artikel_aantal,
|
||
--ra.res_artikel_prijs,
|
||
DECODE (
|
||
COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw),
|
||
NULL, 'VH',
|
||
21, 'VH',
|
||
'VL') btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key NOT IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid,
|
||
0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
--rra.res_rsv_artikel_aantal,
|
||
--0.75 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VL' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid,
|
||
0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
--rra.res_rsv_artikel_aantal,
|
||
--0.25 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VH' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)) rra,
|
||
res_discipline rd,
|
||
prs_kostensoort ks
|
||
WHERE rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_discipline_key = rd.ins_discipline_key
|
||
--AND ks.prs_kostensoort_doorbelasten(+) = 1
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND (rra.res_rsv_artikel_verwerkt < TO_DATE ('20171001', 'yyyymmdd')
|
||
OR (rrr.res_activiteit_key != 130 AND rra.res_rsv_artikel_verwerkt > TO_DATE ('20171001', 'yyyymmdd'))))
|
||
GROUP BY TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
debiteur,
|
||
TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'),
|
||
'Cateringkosten ' || TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm') || '/' || btw,
|
||
btw,
|
||
prs_kostensoort_refcode
|
||
UNION ALL -- Ruimte+Catering gegroepeerd per evenement/debiteur/kostensoort
|
||
SELECT TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
'FACTUUR',
|
||
debiteur,
|
||
NULL,
|
||
TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'),
|
||
NULL,
|
||
NULL,
|
||
NULL,
|
||
'EUR',
|
||
1,
|
||
0, -- Eenmalig artikel
|
||
NULL,
|
||
'Evenementkosten ' || res_id || ' - ' || res_voorziening || '/' || btw,
|
||
SUM (verw_prijs),
|
||
NULL,
|
||
--'VH',
|
||
btw,
|
||
prs_kostensoort_refcode,
|
||
MIN (res_kenmerkreservering_waarde),
|
||
NULL,
|
||
NULL
|
||
FROM (SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
res_id,
|
||
kl.prs_kenmerklink_waarde debiteur,
|
||
(SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
ks.prs_kostensoort_refcode,
|
||
'Ruimte ' || rr.res_ruimte_nr res_voorziening,
|
||
fac.gettrackingdate ('RESVER', rrr.res_rsv_ruimte_key) resver,
|
||
COALESCE (rrr.res_rsv_ruimte_prijs, 0) - COALESCE (rrr.res_rsv_ruimte_korting, 0) verw_prijs,
|
||
'VH' btw, -- Hard 21%
|
||
kw.res_kenmerkreservering_waarde
|
||
FROM res_rsv_ruimte rrr,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
res_ruimte rr,
|
||
res_discipline rd,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_status_bo_key = 6 -- AV
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
AND rr.res_discipline_key = rd.ins_discipline_key
|
||
--AND ks.prs_kostensoort_doorbelasten(+) = 1
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
UNION ALL
|
||
SELECT rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr
|
||
resid,
|
||
kl.prs_kenmerklink_waarde debiteur,
|
||
(SELECT prs_afdeling_omschrijving || ' [' || kl.prs_kenmerklink_waarde || ']'
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = kl.prs_link_key)
|
||
debiteur_oms,
|
||
ks.prs_kostensoort_refcode,
|
||
rd.ins_discipline_omschrijving res_voorziening,
|
||
rra.res_rsv_artikel_verwerkt resver,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.btw,
|
||
kw.res_kenmerkreservering_waarde
|
||
FROM res_rsv_ruimte rrr,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
(SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid,
|
||
rra.res_rsv_artikel_prijs,
|
||
--rra.res_rsv_artikel_aantal,
|
||
--ra.res_artikel_prijs,
|
||
'VH' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_rsv_artikel_verwerkt < TO_DATE ('20180301', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid,
|
||
rra.res_rsv_artikel_prijs,
|
||
--rra.res_rsv_artikel_aantal,
|
||
--ra.res_artikel_prijs,
|
||
DECODE (
|
||
COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw),
|
||
NULL, 'VH',
|
||
21, 'VH',
|
||
'VL') btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key NOT IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid,
|
||
0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
--rra.res_rsv_artikel_aantal,
|
||
--0.75 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VL' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_verwerkt,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid,
|
||
0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
--rra.res_rsv_artikel_aantal,
|
||
--0.25 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VH' btw,
|
||
ra.res_discipline_key
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_status_bo_key = 6 -- AV
|
||
AND rra.res_rsv_artikel_verwerkt >= TO_DATE ('20180301', 'yyyymmdd')
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)) rra,
|
||
res_discipline rd,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_discipline_key = rd.ins_discipline_key
|
||
--AND ks.prs_kostensoort_doorbelasten(+) = 1
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
AND rra.res_rsv_artikel_verwerkt > TO_DATE ('20171001', 'yyyymmdd'))
|
||
GROUP BY TO_CHAR (TRUNC (resver, 'mm') - 1, 'yyyy-mm'),
|
||
debiteur_oms,
|
||
debiteur,
|
||
TO_CHAR (TRUNC (resver, 'mm') - 1, 'dd-mm-yyyy'),
|
||
'Evenementkosten ' || res_id || ' - ' || res_voorziening || '/' || btw,
|
||
btw,
|
||
prs_kostensoort_refcode;
|
||
|
||
-- BLCC#53262: Facturatie additionele diensten!
|
||
CREATE OR REPLACE VIEW blcc_v_addd_actual
|
||
AS
|
||
WITH lopendeperiode AS (SELECT TO_CHAR (add_months (SYSDATE, -1), 'yyyymm') maand
|
||
FROM dual) -- Alleen tbv. RES-kosten!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
--TRIM (COALESCE (x.cnt_contract_nummer, '-')) po_nr,
|
||
TRIM (COALESCE (x.res_kenmerkreservering_waarde, x.cnt_contract_nummer, '-')) po_nr,
|
||
x.cnt_contract_nummer_intern || '.' || COALESCE (x.cnt_contract_versie, '0') contract_id,
|
||
'1' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening sortering,
|
||
'Crossing campus (banqueting)' regel,
|
||
'V' || x.res_id regel_id,
|
||
TO_CHAR (x.aantal) || 'x ' || x.res_voorziening regel_oms,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
'reservering' xmlnode,
|
||
x.res_rsv_ruimte_key refkey,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.debiteur_nr) debiteur_nr,
|
||
x.btw_nr,
|
||
NULL contactpersoon, --x.contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_perslid_naam_full aanvrager,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
--DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 6, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 6, 9), 21)) fin_btwtabelwaarde_perc, -- Bah!
|
||
DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
SUM (COALESCE (verw_prijs, prijs, 0)) mndnet, -- Netto bedrag
|
||
--SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 0.06, 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag
|
||
SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 0.06, 0.09), 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag
|
||
x.prs_kostensoort_refcode grtboekrek,
|
||
x.prs_kostensoort_altcode grtboekrek_oms,
|
||
TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key
|
||
FROM (SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id,
|
||
kl.prs_kenmerklink_waarde debiteur_nr,
|
||
ks.prs_kostensoort_refcode,
|
||
ks.prs_kostensoort_altcode,
|
||
0 volgnr,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
LTRIM (rra.res_artikel_omschrijving) || ' [' || TO_CHAR (res_rsv_artikel_levering, 'dd-mm-yyyy') || ']' res_voorziening,
|
||
rra.res_rsv_artikel_levering reslev,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs,
|
||
rra.btw,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_nummer_intern,
|
||
c.cnt_contract_versie,
|
||
c.ins_discipline_key,
|
||
h.prs_bedrijf_key,
|
||
h.prs_bedrijf_naam,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
btwvl.prs_kenmerklink_waarde btw_vl,
|
||
cp.contactpersoon,
|
||
pf.prs_perslid_naam_full,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
kw.res_kenmerkreservering_waarde,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_v_aanwezigbedrijf h,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd
|
||
( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
GROUP BY prs_bedrijf_key) cp,
|
||
prs_v_perslid_fullnames_all pf,
|
||
(SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_prijs,
|
||
DECODE (COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw),
|
||
NULL, 'VH',
|
||
21, 'VH',
|
||
'VL') btw,
|
||
ra.res_discipline_key,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm')
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key NOT IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
0.75 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VL' btw,
|
||
ra.res_discipline_key,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm')
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
0.25 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VH' btw,
|
||
ra.res_discipline_key,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm')
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)) rra,
|
||
res_discipline rd,
|
||
--res_disc_params dp,
|
||
--prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key != 130 -- Anders dan Evenement
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus
|
||
AND ab.prs_afdeling_key1 = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig
|
||
AND c.ins_discipline_key = 1841
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key
|
||
AND h.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+)
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_discipline_key = rd.ins_discipline_key
|
||
--AND rd.ins_discipline_key = dp.res_ins_discipline_key
|
||
--AND dp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)) x
|
||
GROUP BY '*CONCEPT*',
|
||
--TRIM (COALESCE (x.cnt_contract_nummer, '-')),
|
||
TRIM (COALESCE (x.res_kenmerkreservering_waarde, x.cnt_contract_nummer, '-')),
|
||
x.cnt_contract_nummer_intern || '.' || COALESCE (x.cnt_contract_versie, '0'),
|
||
'1' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening,
|
||
'Crossing campus (banqueting)',
|
||
'V' || x.res_id,
|
||
TO_CHAR (x.aantal) || 'x ' || x.res_voorziening,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy'), TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy'),
|
||
'reservering',
|
||
x.res_rsv_ruimte_key,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam, TRIM (x.debiteur_nr),
|
||
x.btw_nr,
|
||
NULL, --x.contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_perslid_naam_full,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')),
|
||
DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')),
|
||
DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 6, 9), 21)),
|
||
DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) ,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy'),
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy'),
|
||
x.prs_kostensoort_refcode,
|
||
x.prs_kostensoort_altcode,
|
||
TO_NUMBER (NULL)
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
TRIM (COALESCE (x.res_kenmerkreservering_waarde, '-')) po_nr,
|
||
NULL contract_id,
|
||
'2' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening sortering,
|
||
'Event ' || x.res_id regel,
|
||
'E' || x.res_id regel_id,
|
||
DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening) regel_oms,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
'reservering' xmlnode,
|
||
x.res_rsv_ruimte_key refkey,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.debiteur_nr) debiteur_nr,
|
||
x.btw_nr,
|
||
NULL contactpersoon, --x.contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_perslid_naam_full aanvrager,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
--DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 6, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 6, 9), 21)) fin_btwtabelwaarde_perc, -- Bah!
|
||
DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
SUM (COALESCE (verw_prijs, prijs, 0)) mndnet, -- Netto bedrag
|
||
--SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', 0.06, 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag
|
||
SUM (ROUND (DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 0.06, 0.09), 0.21)) * COALESCE (verw_prijs, prijs, 0), 2)) mndbtw, -- BTW bedrag
|
||
x.prs_kostensoort_refcode grtboekrek,
|
||
x.prs_kostensoort_altcode grtboekrek_oms,
|
||
TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key
|
||
FROM (SELECT rrr.res_rsv_ruimte_key, -- Ruimte-regel
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id,
|
||
kl.prs_kenmerklink_waarde debiteur_nr,
|
||
ks.prs_kostensoort_refcode,
|
||
ks.prs_kostensoort_altcode,
|
||
0 volgnr,
|
||
(rrr.res_rsv_ruimte_tot - rrr.res_rsv_ruimte_van) * 24 aantal, -- Duur in uren
|
||
rr.res_ruimte_nr || ' [' || TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy') || ']' res_voorziening,
|
||
rrr.res_rsv_ruimte_van reslev,
|
||
rrr.res_rsv_ruimte_prijs verw_prijs,
|
||
res.getruimteprijs (rrr.res_rsv_ruimte_key) prijs,
|
||
'VH' btw, -- Hard 21%
|
||
NULL, --c.cnt_contract_key,
|
||
NULL, --c.cnt_contract_nummer,
|
||
NULL, --c.ins_discipline_key,
|
||
h.prs_bedrijf_key,
|
||
h.prs_bedrijf_naam,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
btwvl.prs_kenmerklink_waarde btw_vl,
|
||
cp.contactpersoon,
|
||
pf.prs_perslid_naam_full,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
kw.res_kenmerkreservering_waarde,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
--cnt_v_aanwezigcontract c,
|
||
prs_v_aanwezigbedrijf h,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd
|
||
( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
GROUP BY prs_bedrijf_key) cp,
|
||
prs_v_perslid_fullnames_all pf,
|
||
res_ruimte rr,
|
||
res_discipline rd,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_rsv_ruimte_van > TO_DATE ('20180501', 'yyyymmdd')
|
||
AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE, 'mm')
|
||
AND rrr.res_status_bo_key != 6 -- AV
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus
|
||
AND ab.prs_afdeling_key1 = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
--AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig
|
||
--AND c.ins_discipline_key = 1841
|
||
--AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
--AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
--AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
--AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key
|
||
AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr
|
||
AND h.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+)
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
AND rr.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
UNION ALL -- Korting-regel
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id,
|
||
kl.prs_kenmerklink_waarde debiteur_nr,
|
||
ks.prs_kostensoort_refcode,
|
||
ks.prs_kostensoort_altcode,
|
||
1 volgnr,
|
||
1 aantal,
|
||
'Korting' || ' [' || TO_CHAR (res_rsv_ruimte_van, 'dd-mm-yyyy') || ']' res_voorziening,
|
||
rrr.res_rsv_ruimte_van reslev,
|
||
-1 * COALESCE (rrr.res_rsv_ruimte_korting, 0) verw_prijs,
|
||
-1 * COALESCE (rrr.res_rsv_ruimte_korting, 0) prijs,
|
||
'VH' btw, -- Hard 21%
|
||
NULL, --c.cnt_contract_key,
|
||
NULL, --c.cnt_contract_nummer,
|
||
NULL, --c.ins_discipline_key,
|
||
h.prs_bedrijf_key,
|
||
h.prs_bedrijf_naam,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
btwvl.prs_kenmerklink_waarde btw_vl,
|
||
cp.contactpersoon,
|
||
pf.prs_perslid_naam_full,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
kw.res_kenmerkreservering_waarde,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
--cnt_v_aanwezigcontract c,
|
||
prs_v_aanwezigbedrijf h,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd
|
||
( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
GROUP BY prs_bedrijf_key) cp,
|
||
prs_v_perslid_fullnames_all pf,
|
||
res_ruimte rr,
|
||
res_discipline rd,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_rsv_ruimte_van > TO_DATE ('20180501', 'yyyymmdd')
|
||
AND rrr.res_rsv_ruimte_van < TRUNC (SYSDATE, 'mm')
|
||
AND rrr.res_status_bo_key != 6 -- AV
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND COALESCE (rrr.res_rsv_ruimte_korting, 0) != 0
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key -- Alleen Ruimte-reserveringen!
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus
|
||
AND ab.prs_afdeling_key1 = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
--AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig
|
||
--AND c.ins_discipline_key = 1841
|
||
--AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
--AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
--AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
--AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key
|
||
AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr
|
||
AND h.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+)
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key) = rr.res_ruimte_key
|
||
AND rr.res_discipline_key = rd.ins_discipline_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)
|
||
UNION ALL -- Catering-regels
|
||
SELECT rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key || '/' || rrr.res_rsv_ruimte_volgnr res_id,
|
||
kl.prs_kenmerklink_waarde debiteur_nr,
|
||
ks.prs_kostensoort_refcode,
|
||
ks.prs_kostensoort_altcode,
|
||
2 volgnr,
|
||
rra.res_rsv_artikel_aantal aantal,
|
||
LTRIM (rra.res_artikel_omschrijving) || ' [' || TO_CHAR (res_rsv_artikel_levering, 'dd-mm-yyyy') || ']' res_voorziening,
|
||
rra.res_rsv_artikel_levering reslev,
|
||
rra.res_rsv_artikel_prijs verw_prijs,
|
||
rra.res_rsv_artikel_aantal * rra.res_artikel_prijs prijs,
|
||
rra.btw,
|
||
NULL, --c.cnt_contract_key,
|
||
NULL, --c.cnt_contract_nummer,
|
||
NULL, --c.ins_discipline_key,
|
||
h.prs_bedrijf_key,
|
||
h.prs_bedrijf_naam,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
btwvl.prs_kenmerklink_waarde btw_vl,
|
||
cp.contactpersoon,
|
||
pf.prs_perslid_naam_full,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
kw.res_kenmerkreservering_waarde,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
res_rsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
--cnt_v_aanwezigcontract c,
|
||
prs_v_aanwezigbedrijf h,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd
|
||
( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
GROUP BY prs_bedrijf_key) cp,
|
||
prs_v_perslid_fullnames_all pf,
|
||
(SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
ra.res_artikel_prijs,
|
||
DECODE (COALESCE (rra.res_rsv_artikel_btw, ra.res_artikel_btw),
|
||
NULL, 'VH',
|
||
21, 'VH',
|
||
'VL') btw,
|
||
ra.res_discipline_key,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm')
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key NOT IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
0.75 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
0.75 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VL' btw,
|
||
ra.res_discipline_key,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm')
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)
|
||
UNION ALL
|
||
SELECT rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
0.25 * rra.res_rsv_artikel_prijs res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
0.25 * ra.res_artikel_prijs res_artikel_prijs,
|
||
'VH' btw,
|
||
ra.res_discipline_key,
|
||
ra.res_artikel_omschrijving,
|
||
ra.res_artikel_eenheid
|
||
FROM res_v_aanwezigrsv_artikel rra, res_artikel ra
|
||
WHERE rra.res_rsv_artikel_levering > TO_DATE ('20180501', 'yyyymmdd')
|
||
AND rra.res_rsv_artikel_levering < TRUNC (SYSDATE, 'mm')
|
||
AND rra.res_rsv_artikel_verwerkt IS NULL
|
||
AND rra.res_rsv_artikel_dirtlevel = 0
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND ra.res_discipline_key IN (821, 822)) rra,
|
||
res_discipline rd,
|
||
--res_disc_params dp,
|
||
--prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
prs_kostensoort ks,
|
||
(SELECT kw.res_rsv_ruimte_key, kw.res_kenmerkreservering_waarde
|
||
FROM res_v_aanwezigkenmerkwaarde kw, res_kenmerk k
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key AND k.res_srtkenmerk_key = 1) kw -- Refnr. aanvrager
|
||
WHERE rrr.res_activiteit_key = 130 -- Evenement
|
||
AND rrr.res_rsv_ruimte_dirtlevel = 0
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus
|
||
AND ab.prs_afdeling_key1 = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
--AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig
|
||
--AND c.ins_discipline_key = 1841
|
||
--AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
--AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
--AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
--AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key
|
||
AND kl.prs_kenmerklink_waarde = h.prs_overeenkomst_nr
|
||
AND h.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+)
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_discipline_key = rd.ins_discipline_key
|
||
--AND rd.ins_discipline_key = dp.res_ins_discipline_key
|
||
--AND dp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND rd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND rrr.res_rsv_ruimte_key = kw.res_rsv_ruimte_key(+)) x
|
||
GROUP BY '*CONCEPT*',
|
||
TRIM (COALESCE (x.res_kenmerkreservering_waarde, '-')),
|
||
NULL,
|
||
'2' || TO_CHAR (x.reslev, 'yyyymmdd') || SUBSTR ('0000' || TO_CHAR (res_rsv_ruimte_key), -7) || TO_CHAR (volgnr) || x.prs_kostensoort_refcode || x.res_voorziening,
|
||
'Event ' || x.res_id,
|
||
'E' || x.res_id,
|
||
DECODE (x.volgnr, 0, x.res_voorziening || ' [' || TO_CHAR (ROUND (x.aantal, 2)) || ' uur]', 2, TO_CHAR (x.aantal) || 'x ' || x.res_voorziening, x.res_voorziening),
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy'), TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy'),
|
||
'reservering',
|
||
x.res_rsv_ruimte_key,
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam, TRIM (x.debiteur_nr),
|
||
x.btw_nr,
|
||
NULL, --x.contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_perslid_naam_full,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
DECODE (x.btw_vl, '1', 'V', DECODE (x.btw, 'VL', 'L', 'H')),
|
||
DECODE (x.btw_vl, '1', 'Verlegd', DECODE (x.btw, 'VL', 'Laag', 'Hoog')),
|
||
DECODE (x.btw_vl, '1', 0, DECODE (x.btw, 'VL', DECODE (TO_CHAR (x.reslev, 'yyyy'), '2018', 6, 9), 21)),
|
||
DECODE (x.btw_vl, '1', 1, TO_NUMBER (NULL)) ,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy'),
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy'),
|
||
x.prs_kostensoort_refcode,
|
||
x.prs_kostensoort_altcode,
|
||
TO_NUMBER (NULL)
|
||
UNION ALL
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
TRIM (COALESCE (km.mld_kenmerkmelding_waarde, c.cnt_contract_nummer, '-')) po_nr,
|
||
c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') contract_id,
|
||
'3' || SUBSTR ('0000' || TO_CHAR (o.mld_melding_key), -7) || '/' || SUBSTR ('00' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr), -3) sortering,
|
||
'Klantwens ' || sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) regel,
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) regel_id,
|
||
--td.ins_discipline_omschrijving || '/' || sm.mld_stdmelding_omschrijving regel_oms,
|
||
DECODE (m.mld_melding_onderwerp, NULL, '', 'Subject: ' || TRIM (m.mld_melding_onderwerp) || CHR (13) || CHR (10)) || 'Description: ' || COALESCE (SUBSTR (TRIM (m.mld_melding_omschrijving), 1, 2000), '-')
|
||
regel_oms,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
'opdracht' xmlnode,
|
||
o.mld_opdr_key refkey,
|
||
h.prs_bedrijf_key, h.prs_bedrijf_naam prs_debiteur_naam, TRIM (kl.prs_kenmerklink_waarde) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
NULL contactpersoon, --cp.contactpersoon,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_adres, h.prs_bedrijf_post_adres) adres,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_postcode, h.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_plaats, h.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (h.prs_bedrijf_post_adres, NULL, h.prs_bedrijf_bezoek_land, h.prs_bedrijf_post_land) land,
|
||
pf.prs_perslid_naam_full aanvrager,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', 'H') fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', 'Hoog') fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 21) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
--lp.maand,
|
||
--TO_CHAR (TO_DATE (lp.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
--TO_CHAR (LAST_DAY (TO_DATE (lp.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (SYSDATE, 'yyyymm') maand,
|
||
TO_CHAR (TRUNC (SYSDATE, 'mm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (SYSDATE), 'dd-mm-yyyy') mndeinde,
|
||
ROUND (COALESCE (o.mld_opdr_kosten, 0), 2) mndnet, -- Netto bedrag
|
||
ROUND (DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, 0.21) * COALESCE (o.mld_opdr_kosten, 0), 2) mndbtw, -- BTW bedrag
|
||
COALESCE (ksm.prs_kostensoort_refcode, ksv.prs_kostensoort_refcode) grtboekrek,
|
||
COALESCE (ksm.prs_kostensoort_altcode, ksv.prs_kostensoort_altcode) grtboekrek_oms,
|
||
TO_NUMBER (NULL) mld_melding_key -- Correctiemelding-key
|
||
FROM --lopendeperiode lp,
|
||
mld_opdr o,
|
||
mld_melding m,
|
||
(SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde
|
||
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key AND k.mld_srtkenmerk_key = 281) km, -- Refnr. aanvrager
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_v_aanwezigbedrijf h,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd
|
||
( SELECT prs_bedrijf_key, MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam))) contactpersoon
|
||
FROM prs_contactpersoon
|
||
WHERE prs_contactpersoon_verwijder IS NULL AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
GROUP BY prs_bedrijf_key) cp,
|
||
prs_v_perslid_fullnames_all pf,
|
||
alg_v_allonrgoed_gegevens og,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv
|
||
WHERE o.mld_typeopdr_key = 101 -- WO
|
||
--AND o.mld_statusopdr_key = 9 -- Afgerond
|
||
AND o.mld_statusopdr_key = 7 -- Verwerkt
|
||
--AND o.mld_opdr_ordernr <= TO_CHAR (SYSDATE, 'yyyy-mm') || '-01' -- Oude werkwijze (maandelijks)
|
||
AND TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') >= '2019-02-01' -- TODO:2019-06-01/Per 2019-06 nieuwe werkwijze!
|
||
--AND TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') <= TO_CHAR (SYSDATE, 'yyyy-mm-dd') -- Doorgezet ProQuro/dagelijks
|
||
AND TO_CHAR (fac.gettrackingdate ('ORDVER', o.mld_opdr_key), 'yyyy-mm-dd') <= TO_CHAR (TRUNC (SYSDATE, 'iw') + 0, 'yyyy-mm-dd') -- TODO:3/Doorgezet ProQuro/wekelijks van woensdag op donderdag
|
||
AND NOT EXISTS -- Nog niet gefactureerd!
|
||
(SELECT 1
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_xmlnode = 'opdracht' AND fin_verkoopfactuur_refkey = o.mld_opdr_key)
|
||
AND COALESCE (o.mld_opdr_kosten, 0) != 0
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_melding_key = km.mld_melding_key(+)
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_bedrijf_key = 22 -- Huurder Chemelot Campus
|
||
AND ab.prs_afdeling_key1 = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND ab.prs_afdeling_key1 = c.prs_afdeling_key_eig
|
||
AND c.ins_discipline_key = 1842
|
||
--AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
--AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TRUNC (SYSDATE, 'mm')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_prs_bedrijf_key = h.prs_bedrijf_key
|
||
AND h.prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND h.prs_bedrijf_key = cp.prs_bedrijf_key(+)
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND SUBSTR (kp.prs_kostenplaats_upper, 1, 5) = '50900'
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+);
|
||
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_addd_frozen
|
||
AS
|
||
SELECT vf.fin_verkoopfactuur_id,
|
||
vf.fin_verkoopfactuur_c1 po_nr,
|
||
vf.fin_verkoopfactuur_c2 contract_id,
|
||
vf.fin_verkoopfactuur_c3 sortering,
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '=') - 1) regel,
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '=') + 1) regel_id,
|
||
vf.fin_verkoopfactuur_c8 regel_oms,
|
||
TO_CHAR (vf.fin_verkoopfactuur_datum, 'dd-mm-yyyy') factuurdatum, TO_CHAR (vf.fin_verkoopfactuur_d1, 'dd-mm-yyyy') vervaldatum,
|
||
vf.fin_verkoopfactuur_xmlnode xmlnode,
|
||
vf.fin_verkoopfactuur_refkey refkey,
|
||
vf.prs_bedrijf_key, vf.prs_debiteur_naam,
|
||
SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr,
|
||
SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) btw_nr,
|
||
--vf.fin_verkoopfactuur_c4 contactpersoon,
|
||
NULL contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, -- Niet historisch bewaard!
|
||
vf.fin_verkoopfactuur_c5 aanvrager,
|
||
vf.prs_kostenplaats_key, vf.prs_kostenplaats_nr, vf.prs_kostenplaats_omschrijving, vf.prs_kostenplaatsgrp_oms,
|
||
vf.fin_btwtabelwaarde_code,
|
||
vf.fin_btwtabelwaarde_oms,
|
||
vf.fin_btwtabelwaarde_perc,
|
||
vf.fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde,
|
||
vf.fin_verkoopfactuur_bedrag mndnet, -- Netto bedrag
|
||
vf.fin_verkoopfactuur_btw mndbtw, -- BTW bedrag
|
||
vf.prs_kostensoort_refcode grtboekrek,
|
||
vf.prs_kostensoort_oms grtboekrek_oms,
|
||
vf.fin_verkoopfactuur_n1 mld_melding_key
|
||
FROM fin_verkoopfactuur vf, prs_bedrijf b
|
||
WHERE (SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '2' OR SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3') -- Of andere conditie?
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
ORDER BY vf.prs_bedrijf_key, 1, 2, 3, 4;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_export_addd
|
||
(
|
||
hide_f_sortering,
|
||
fclt_x_maand,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
)
|
||
AS
|
||
SELECT ROWNUM,
|
||
REPLACE (periode, '/', '-') periode,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
FROM (SELECT fin_verkoopfactuur_id || '0000' || debiteur_nr sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
--SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- Hard op '1300'
|
||
debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
netsum + btwsum + (0.065 * netsum) + (0.21 * 0.065 * netsum) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen!
|
||
'debit' debitcredit,
|
||
'Total' omschrijving, -- Hard op 'Total'
|
||
NULL btwcode -- Hard op NULL
|
||
FROM ( SELECT fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum,
|
||
SUM (mndnet) netsum, SUM (mndbtw) btwsum
|
||
FROM blcc_v_addd_frozen
|
||
--WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id, debiteur_nr, factuurdatum, maand, vervaldatum)
|
||
UNION ALL
|
||
SELECT fin_verkoopfactuur_id || debiteur_nr || DECODE (grtboekrek, '812x', DECODE (fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek) sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
--SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
DECODE (grtboekrek, '812x', DECODE (fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek) grtboekrek,
|
||
--prs_kostenplaats_nr rel_kpl,
|
||
--DECODE (SUBSTR (prs_kostenplaats_nr, 1, 5), '50900', '50900', prs_kostenplaats_nr) rel_kpl,
|
||
'50900',
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO: Altijd 'credit' (ook negatieve bedragen)???
|
||
DECODE (grtboekrek, '812x', grtboekrek_oms || DECODE (fin_btwtabelwaarde_code, 'H', ' high', ' low'), '8130', regel, grtboekrek_oms) omschrijving,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN') btwcode
|
||
FROM blcc_v_addd_frozen
|
||
--WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id || debiteur_nr || DECODE (grtboekrek, '812x', DECODE (fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek),
|
||
'VRK',
|
||
'EUR',
|
||
factuurdatum,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2),
|
||
fin_verkoopfactuur_id,
|
||
vervaldatum,
|
||
'1',
|
||
DECODE (grtboekrek, '812x', DECODE (fin_btwtabelwaarde_code, 'H', '8120', '8121'), grtboekrek),
|
||
--prs_kostenplaats_nr rel_kpl,
|
||
--DECODE (SUBSTR (prs_kostenplaats_nr, 1, 5), '50900', '50900', prs_kostenplaats_nr),
|
||
'50900',
|
||
NULL,
|
||
'credit',
|
||
DECODE (grtboekrek, '812x', grtboekrek_oms || DECODE (fin_btwtabelwaarde_code, 'H', ' high', ' low'), '8130', regel, grtboekrek_oms),
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN')
|
||
UNION ALL
|
||
SELECT fin_verkoopfactuur_id || debiteur_nr || '8136' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
factuurdatum,
|
||
--SUBSTR (maand, 1, 4) || '/' || SUBSTR (maand, -2) periode,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2) periode,
|
||
fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'8136', -- Handling fee
|
||
--prs_kostenplaats_nr rel_kpl,
|
||
--DECODE (SUBSTR (prs_kostenplaats_nr, 1, 5), '50900', '50900', prs_kostenplaats_nr) rel_kpl,
|
||
'50900',
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (0.065 * mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO: Altijd 'credit' (ook negatieve bedragen)???
|
||
'Handling fee' omschrijving,
|
||
'VH' btwcode
|
||
FROM blcc_v_addd_frozen
|
||
--WHERE maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY fin_verkoopfactuur_id || debiteur_nr || '8136',
|
||
'VRK',
|
||
'EUR',
|
||
factuurdatum,
|
||
SUBSTR (factuurdatum, 7, 4) || '/' || SUBSTR (factuurdatum, 4, 2),
|
||
fin_verkoopfactuur_id,
|
||
vervaldatum,
|
||
'1',
|
||
'8136',
|
||
--prs_kostenplaats_nr,
|
||
--DECODE (SUBSTR (prs_kostenplaats_nr, 1, 5), '50900', '50900', prs_kostenplaats_nr),
|
||
'50900',
|
||
NULL,
|
||
'credit',
|
||
'Handling fee',
|
||
'VH'
|
||
ORDER BY 1);
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_export_addd
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op dag na woensdag (Klantwensen) of op dag na 10e werkdag van maand (RES)!
|
||
SELECT 'code'
|
||
|| ';valuta'
|
||
|| ';factuurdatum'
|
||
|| ';periode'
|
||
|| ';factuurnummer'
|
||
|| ';vervaldatum'
|
||
|| ';nummer'
|
||
|| ';grtboekrek'
|
||
|| ';rel/kpl'
|
||
|| ';prj/activa'
|
||
|| ';bedrag'
|
||
|| ';debitcredit'
|
||
|| ';omschrijving'
|
||
|| ';btwcode',
|
||
0
|
||
FROM DUAL
|
||
WHERE (TO_CHAR (SYSDATE, 'd') = '2' -- TODO:5/Nacht na woensdag!
|
||
OR (FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10 -- Nacht na 10e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))))
|
||
UNION ALL
|
||
SELECT code
|
||
|| ';'
|
||
|| valuta
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| periode
|
||
|| ';'
|
||
|| factuurnummer
|
||
|| ';'
|
||
|| vervaldatum
|
||
|| ';'
|
||
|| nummer
|
||
|| ';'
|
||
|| grtboekrek
|
||
|| ';'
|
||
|| rel_kpl
|
||
|| ';'
|
||
|| prj_activa
|
||
|| ';'
|
||
|| bedrag
|
||
|| ';'
|
||
|| debitcredit
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| btwcode,
|
||
ROWNUM
|
||
FROM blcc_v_rap_export_addd
|
||
WHERE --fclt_x_maand = TO_CHAR (SYSDATE, 'yyyy-mm')
|
||
(TO_CHAR (SYSDATE, 'd') = '2' -- TODO:5/Nacht na woensdag!
|
||
OR (FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10 -- Nacht na 10e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))))
|
||
AND factuurdatum = TO_CHAR (SYSDATE, 'dd-mm-yyyy')
|
||
ORDER BY 2;
|
||
|
||
CREATE OR REPLACE PROCEDURE blcc_select_addd (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- BLCC#55646: Per 2019-06 factureer/bevries wekelijks de klantwens-kosten
|
||
-- en maandelijks alle RES-kosten!
|
||
-- NB. Voorheen gebeurde alles maandelijks en voor ADDD-export
|
||
-- zijn correctie-meldingen nooit geintroduceerd.
|
||
CURSOR c1
|
||
IS
|
||
SELECT '[' || v.regel_id || '|' || v.prs_debiteur_naam || '] ' aanduiding,
|
||
v.*, o.mld_statusopdr_key, m.mld_melding_status
|
||
FROM (SELECT * FROM blcc_v_addd_actual) v
|
||
LEFT JOIN mld_opdr o
|
||
ON v.xmlnode = 'opdracht' AND v.refkey = o.mld_opdr_key
|
||
LEFT JOIN mld_melding m -- Nooit geintroduceerd!
|
||
ON v.mld_melding_key = m.mld_melding_key
|
||
ORDER BY v.prs_bedrijf_key, v.po_nr, v.sortering;
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
CURSOR c2
|
||
IS
|
||
SELECT DISTINCT '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ' aanduiding,
|
||
vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam,
|
||
vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id,
|
||
b.prs_bedrijf_email
|
||
FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b
|
||
WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode != 'contract'
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND vf.fin_verkoopfactuur_aanmaak > TRUNC (SYSDATE) -- Zojuist/vannacht aangemaakt en dus nog niet gefactureerd!
|
||
ORDER BY vf.fin_verkoopfactuur_id;
|
||
|
||
-- Verwerk reserveringen (in juiste volgorde)!
|
||
CURSOR c3
|
||
IS
|
||
SELECT DISTINCT '[' || TO_CHAR (rra.res_rsv_ruimte_key) || '|' || TO_CHAR (rra.res_rsv_artikel_key) || '] ' aanduiding,
|
||
rra.res_rsv_ruimte_key,
|
||
rra.res_rsv_artikel_key,
|
||
rra.res_status_bo_key,
|
||
rra.res_artikel_key
|
||
FROM fin_verkoopfactuur vf, res_v_aanwezigrsv_artikel rra
|
||
WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode != 'contract'
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuur_xmlnode = 'reservering'
|
||
AND vf.fin_verkoopfactuur_refkey = rra.res_rsv_ruimte_key
|
||
UNION ALL
|
||
SELECT DISTINCT '[' || TO_CHAR (rrr.res_rsv_ruimte_key) || '] ' aanduiding,
|
||
rrr.res_rsv_ruimte_key,
|
||
NULL res_rsv_artikel_key,
|
||
rrr.res_status_bo_key,
|
||
NULL res_artikel_key
|
||
FROM fin_verkoopfactuur vf, res_v_aanwezigrsv_ruimte rrr
|
||
WHERE SUBSTR (vf.fin_verkoopfactuur_id, 1, 1) = '3' -- vf.fin_verkoopfactuur_xmlnode != 'contract'
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuur_xmlnode = 'reservering'
|
||
AND vf.fin_verkoopfactuur_refkey = rrr.res_rsv_ruimte_key
|
||
ORDER BY 3, 2;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_holiday NUMBER;
|
||
v_fact_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
v_old_bedrijf_key NUMBER (10);
|
||
v_old_po_nr VARCHAR2 (50);
|
||
v_factuur_id VARCHAR2 (30);
|
||
v_factkop_id VARCHAR2 (30);
|
||
v_verkoopfactuurkop_key NUMBER (10);
|
||
v_count NUMBER;
|
||
v_prijs NUMBER (9, 2);
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
|
||
|
||
-- LET OP: ADDD-export draait dagelijks na middernacht (begin van dag).
|
||
-- De MLD-verkoop (Klantwens-WOs) wordt per 2019-06 (BLCC#56408) wekelijks
|
||
-- gefactureerd icm. het doorzetten naar Twinfield.
|
||
-- De RES-verkoop wordt maandelijks alleen in nacht na 10e werkdag van de
|
||
-- maand gefactureerd icm. het doorzetten naar Twinfield.
|
||
-- IF nacht na woensdag of 10e werkdag van maand (<28>n<EFBFBD>geen weekend <20>n<EFBFBD>geen
|
||
-- vrije dag)!
|
||
-- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1=d2,
|
||
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
|
||
IF TO_CHAR (SYSDATE, 'd') = '2' -- TODO:5/Nacht na woensdag!
|
||
OR (FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 10 -- Nacht na 10e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND v_holiday = 0)
|
||
THEN
|
||
v_fact_count := 0;
|
||
v_amount_sum := 0;
|
||
v_old_bedrijf_key := -1;
|
||
v_old_po_nr := '';
|
||
|
||
-- Factureer/bevries kosten van additionele diensten en verwerk=AV alle
|
||
-- eventuele correctiemeldingen.
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
IF rec.mndnet != 0 AND (rec.xmlnode = 'opdracht' OR rec.prs_bedrijf_key != v_old_bedrijf_key OR rec.po_nr != v_old_po_nr)
|
||
THEN
|
||
-- BLCC#56148: Per feb. 2019 nieuwe sequence/BCC-verkoopboek en
|
||
-- altijd doorlopende boekstuknummers beginnend met
|
||
-- een '3'!
|
||
--SELECT fac_s_user02.NEXTVAL - v_year_offset INTO v_count FROM DUAL;
|
||
SELECT fac_s_user03.NEXTVAL INTO v_count FROM DUAL;
|
||
|
||
v_factuur_id := '3' || SUBSTR ('00000000' || TO_CHAR (v_count), -8);
|
||
v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr;
|
||
|
||
INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id)
|
||
VALUES (v_factkop_id)
|
||
RETURNING fin_verkoopfactuurkop_key
|
||
INTO v_verkoopfactuurkop_key;
|
||
COMMIT;
|
||
|
||
v_old_bedrijf_key := rec.prs_bedrijf_key;
|
||
v_old_po_nr := rec.po_nr;
|
||
END IF;
|
||
|
||
IF rec.mndnet != 0
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen verkoopfactuur';
|
||
|
||
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key,
|
||
fin_verkoopfactuur_id,
|
||
fin_verkoopfactuur_datum,
|
||
fin_verkoopfactuur_omschr,
|
||
fin_verkoopfactuur_xmlnode,
|
||
fin_verkoopfactuur_refkey,
|
||
prs_kostenplaats_key,
|
||
prs_kostenplaats_nr,
|
||
prs_kostenplaats_omschrijving,
|
||
prs_kostenplaatsgrp_oms,
|
||
prs_kostensoort_oms,
|
||
prs_kostensoort_opmerking,
|
||
prs_kostensoort_refcode,
|
||
prs_bedrijf_key,
|
||
prs_debiteur_naam,
|
||
prs_kostensoortgrp_oms,
|
||
fin_verkoopfactuur_bedrag,
|
||
fin_verkoopfactuur_btw,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_oms,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_btwtabelwaarde_verlegd,
|
||
fin_verkoopfactuur_maand,
|
||
fin_verkoopfactuur_n1,
|
||
fin_verkoopfactuur_n2,
|
||
fin_verkoopfactuur_n3,
|
||
fin_verkoopfactuur_n4,
|
||
fin_verkoopfactuur_n5,
|
||
fin_verkoopfactuur_c1,
|
||
fin_verkoopfactuur_c2,
|
||
fin_verkoopfactuur_c3,
|
||
fin_verkoopfactuur_c4,
|
||
fin_verkoopfactuur_c5,
|
||
fin_verkoopfactuur_c6,
|
||
fin_verkoopfactuur_c7,
|
||
fin_verkoopfactuur_c8,
|
||
fin_verkoopfactuur_d1,
|
||
fin_verkoopfactuur_d2,
|
||
fin_verkoopfactuur_d3,
|
||
fin_verkoopfactuur_d4,
|
||
fin_verkoopfactuur_d5)
|
||
VALUES (v_verkoopfactuurkop_key,
|
||
v_factuur_id,
|
||
TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'),
|
||
rec.regel || '=' || rec.regel_id,
|
||
rec.xmlnode,
|
||
rec.refkey,
|
||
rec.prs_kostenplaats_key,
|
||
rec.prs_kostenplaats_nr,
|
||
rec.prs_kostenplaats_omschrijving,
|
||
rec.prs_kostenplaatsgrp_oms,
|
||
rec.grtboekrek_oms,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.prs_bedrijf_key,
|
||
rec.prs_debiteur_naam,
|
||
NULL,
|
||
rec.mndnet,
|
||
rec.mndbtw,
|
||
rec.fin_btwtabelwaarde_code,
|
||
rec.fin_btwtabelwaarde_oms,
|
||
rec.fin_btwtabelwaarde_perc,
|
||
rec.fin_btwtabelwaarde_verlegd,
|
||
rec.maand,
|
||
rec.mld_melding_key, -- n1/correctiemelding
|
||
TO_NUMBER (NULL), -- n2
|
||
TO_NUMBER (NULL), -- n3
|
||
TO_NUMBER (NULL), -- n4
|
||
TO_NUMBER (NULL), -- n5
|
||
rec.po_nr, -- c1
|
||
rec.contract_id, -- c2
|
||
rec.sortering, -- c3
|
||
--rec.contactpersoon, -- c4
|
||
NULL, -- c4
|
||
rec.aanvrager, -- c5
|
||
NULL, -- c6
|
||
rec.debiteur_nr || '=' || rec.btw_nr, -- c7
|
||
rec.regel_oms, -- c8
|
||
TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1
|
||
TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2
|
||
TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3
|
||
TO_DATE (NULL), -- d4
|
||
TO_DATE (NULL)); -- d5
|
||
COMMIT;
|
||
|
||
v_fact_count := v_fact_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.mndnet;
|
||
END IF;
|
||
|
||
IF rec.xmlnode = 'opdracht'
|
||
THEN
|
||
--v_errormsg := 'Fout verwerken opdrachtkosten';
|
||
|
||
--MLD.setopdrachtstatus (rec.refkey, 7, NULL);
|
||
|
||
-- Markeren als 'Doorgezet naar Twinfield'!
|
||
v_errormsg := 'Fout markeren doorzetten Twinfield';
|
||
|
||
INSERT INTO mld_kenmerkopdr (mld_opdr_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkopdr_waarde)
|
||
VALUES (rec.refkey,
|
||
622, -- TODO/Doorgezet naar Twinfield
|
||
TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss'));
|
||
END IF;
|
||
|
||
IF rec.mld_melding_key IS NOT NULL -- Correctiemelding?
|
||
THEN
|
||
v_errormsg := 'Fout verwerken correctiemelding';
|
||
|
||
-- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus
|
||
-- eerst afmelden (als nog niet Afgemeld)!
|
||
IF rec.mld_melding_status = 4 -- ACP
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM
|
||
END IF;
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER
|
||
END IF;
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD-freeze');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'ADDD-verkoop/#regels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum));
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
FOR rec IN c2
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toevoegen CUST02-noti';
|
||
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_prioriteit,
|
||
fac_notificatie_datum,
|
||
fac_notificatie_sender_email,
|
||
fac_notificatie_attachments)
|
||
VALUES (341, -- CUST02-noti
|
||
2, -- Mail
|
||
DECODE ( -- To-adres
|
||
rec.prs_bedrijf_email,
|
||
NULL, 'm.vanderheide@facilitor.nl', --TODO:NULL, 'accountsreceivable@brightlands.com',
|
||
'm.vanderheide@facilitor.nl'), --TODO:rec.prs_bedrijf_email || ';accountsreceivable@brightlands.com'),
|
||
'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam,
|
||
rec.fin_verkoopfactuurkop_key,
|
||
2, -- Prioriteit
|
||
TRUNC (SYSDATE) + (7 / 24),
|
||
'accountsreceivable@brightlands.com', -- From-adres
|
||
'/../../Fplace5i/CUST/BLCC/export/PDF/' || rec.fin_verkoopfactuurkop_id || '.pdf');
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD-noti');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
FOR rec IN c3
|
||
LOOP
|
||
BEGIN
|
||
IF rec.res_rsv_artikel_key IS NOT NULL
|
||
THEN -- Catering-regel
|
||
IF rec.res_status_bo_key = 2
|
||
THEN
|
||
v_errormsg := 'Fout bepalen res_rsv_artikel_prijs';
|
||
|
||
SELECT res.getartikelprijs (rec.res_rsv_artikel_key)
|
||
INTO v_prijs
|
||
FROM DUAL;
|
||
|
||
v_errormsg := 'Fout afmelden res_rsv_artikel';
|
||
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 5,
|
||
res_rsv_artikel_prijs = v_prijs,
|
||
res_rsv_artikel_inkoopprijs =
|
||
(SELECT res_artikel_inkoopprijs
|
||
FROM res_artikel
|
||
WHERE res_artikel_key = rec.res_artikel_key),
|
||
res_rsv_artikel_btw =
|
||
(SELECT res_artikel_btw
|
||
FROM res_artikel
|
||
WHERE res_artikel_key = rec.res_artikel_key)
|
||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
v_errormsg := 'Fout tracken afmelding';
|
||
|
||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering afgemeld');
|
||
END IF;
|
||
|
||
IF rec.res_status_bo_key != 6
|
||
THEN
|
||
v_errormsg := 'Fout verwerken res_rsv_artikel';
|
||
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 6 -- AV (en zet ook Verwerkt-date)
|
||
WHERE res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
|
||
v_errormsg := 'Fout tracken verwerking';
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, 'Catering verwerkt');
|
||
END IF;
|
||
ELSE -- Ruimte-regel
|
||
IF rec.res_status_bo_key = 2
|
||
THEN
|
||
v_errormsg := 'Fout bepalen res_rsv_ruimte_prijs';
|
||
|
||
SELECT res.getruimteprijs (rec.res_rsv_ruimte_key)
|
||
INTO v_prijs
|
||
FROM DUAL;
|
||
|
||
v_errormsg := 'Fout afmelden res_rsv_ruimte';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 5,
|
||
res_rsv_ruimte_prijs = v_prijs
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
v_errormsg := 'Fout tracken afmelding';
|
||
|
||
fac.trackaction ('RESAFM', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||
END IF;
|
||
|
||
IF rec.res_status_bo_key != 6
|
||
THEN
|
||
v_errormsg := 'Fout verwerken res_rsv_ruimte';
|
||
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 6 -- AV
|
||
WHERE res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
|
||
v_errormsg := 'Fout tracken verwerking';
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||
END IF;
|
||
END IF;
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'W', rec.aanduiding || v_errormsg, 'ADDD-AV');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
/*
|
||
ELSE -- Dagelijks bevriezen/factureren MLD-verkoop!
|
||
v_fact_count := 0;
|
||
v_amount_sum := 0;
|
||
v_old_bedrijf_key := -1;
|
||
v_old_po_nr := '';
|
||
|
||
-- Factureer/bevries kosten van additionele diensten en verwerk=AV alle
|
||
-- eventuele correctiemeldingen.
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
IF rec.xmlnode = 'opdracht' AND rec.mndnet != 0 AND (rec.prs_bedrijf_key != v_old_bedrijf_key OR rec.po_nr != v_old_po_nr)
|
||
THEN
|
||
SELECT fac_s_user03.NEXTVAL INTO v_count FROM DUAL;
|
||
|
||
v_factuur_id := '3' || SUBSTR ('00000000' || TO_CHAR (v_count), -8);
|
||
v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr;
|
||
|
||
INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id)
|
||
VALUES (v_factkop_id)
|
||
RETURNING fin_verkoopfactuurkop_key
|
||
INTO v_verkoopfactuurkop_key;
|
||
COMMIT;
|
||
|
||
v_old_bedrijf_key := rec.prs_bedrijf_key;
|
||
v_old_po_nr := rec.po_nr;
|
||
END IF;
|
||
|
||
IF rec.mndnet != 0
|
||
THEN
|
||
v_errormsg := 'Fout toevoegen verkoopfactuur';
|
||
|
||
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key,
|
||
fin_verkoopfactuur_id,
|
||
fin_verkoopfactuur_datum,
|
||
fin_verkoopfactuur_omschr,
|
||
fin_verkoopfactuur_xmlnode,
|
||
fin_verkoopfactuur_refkey,
|
||
prs_kostenplaats_key,
|
||
prs_kostenplaats_nr,
|
||
prs_kostenplaats_omschrijving,
|
||
prs_kostenplaatsgrp_oms,
|
||
prs_kostensoort_oms,
|
||
prs_kostensoort_opmerking,
|
||
prs_kostensoort_refcode,
|
||
prs_bedrijf_key,
|
||
prs_debiteur_naam,
|
||
prs_kostensoortgrp_oms,
|
||
fin_verkoopfactuur_bedrag,
|
||
fin_verkoopfactuur_btw,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_oms,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_btwtabelwaarde_verlegd,
|
||
fin_verkoopfactuur_maand,
|
||
fin_verkoopfactuur_n1,
|
||
fin_verkoopfactuur_n2,
|
||
fin_verkoopfactuur_n3,
|
||
fin_verkoopfactuur_n4,
|
||
fin_verkoopfactuur_n5,
|
||
fin_verkoopfactuur_c1,
|
||
fin_verkoopfactuur_c2,
|
||
fin_verkoopfactuur_c3,
|
||
fin_verkoopfactuur_c4,
|
||
fin_verkoopfactuur_c5,
|
||
fin_verkoopfactuur_c6,
|
||
fin_verkoopfactuur_c7,
|
||
fin_verkoopfactuur_c8,
|
||
fin_verkoopfactuur_d1,
|
||
fin_verkoopfactuur_d2,
|
||
fin_verkoopfactuur_d3,
|
||
fin_verkoopfactuur_d4,
|
||
fin_verkoopfactuur_d5)
|
||
VALUES (v_verkoopfactuurkop_key,
|
||
v_factuur_id,
|
||
TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'),
|
||
rec.regel || '=' || rec.regel_id,
|
||
rec.xmlnode,
|
||
rec.refkey,
|
||
rec.prs_kostenplaats_key,
|
||
rec.prs_kostenplaats_nr,
|
||
rec.prs_kostenplaats_omschrijving,
|
||
rec.prs_kostenplaatsgrp_oms,
|
||
rec.grtboekrek_oms,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.prs_bedrijf_key,
|
||
rec.prs_debiteur_naam,
|
||
NULL,
|
||
rec.mndnet,
|
||
rec.mndbtw,
|
||
rec.fin_btwtabelwaarde_code,
|
||
rec.fin_btwtabelwaarde_oms,
|
||
rec.fin_btwtabelwaarde_perc,
|
||
rec.fin_btwtabelwaarde_verlegd,
|
||
rec.maand,
|
||
rec.mld_melding_key, -- n1/correctiemelding
|
||
TO_NUMBER (NULL), -- n2
|
||
TO_NUMBER (NULL), -- n3
|
||
TO_NUMBER (NULL), -- n4
|
||
TO_NUMBER (NULL), -- n5
|
||
rec.po_nr, -- c1
|
||
rec.contract_id, -- c2
|
||
rec.sortering, -- c3
|
||
--rec.contactpersoon, -- c4
|
||
NULL, -- c4
|
||
rec.aanvrager, -- c5
|
||
NULL, -- c6
|
||
rec.debiteur_nr || '=' || rec.btw_nr, -- c7
|
||
rec.regel_oms, -- c8
|
||
TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1
|
||
TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2
|
||
TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3
|
||
TO_DATE (NULL), -- d4
|
||
TO_DATE (NULL)); -- d5
|
||
COMMIT;
|
||
|
||
v_fact_count := v_fact_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.mndnet;
|
||
END IF;
|
||
|
||
IF rec.xmlnode = 'opdracht'
|
||
THEN
|
||
--v_errormsg := 'Fout verwerken opdrachtkosten';
|
||
|
||
--MLD.setopdrachtstatus (rec.refkey, 7, NULL);
|
||
|
||
-- Markeren als 'Doorgezet naar Twinfield'!
|
||
v_errormsg := 'Fout markeren doorzetten Twinfield';
|
||
|
||
INSERT INTO mld_kenmerkopdr (mld_opdr_key,
|
||
mld_kenmerk_key,
|
||
mld_kenmerkopdr_waarde)
|
||
VALUES (rec.refkey,
|
||
622, -- TODO/Doorgezet naar Twinfield
|
||
TO_CHAR (SYSDATE, 'yyyy-mm-dd hh24:mi:ss'));
|
||
END IF;
|
||
|
||
IF rec.mld_melding_key IS NOT NULL -- Correctiemelding?
|
||
THEN
|
||
v_errormsg := 'Fout verwerken correctiemelding';
|
||
|
||
-- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus
|
||
-- eerst afmelden (als nog niet Afgemeld)!
|
||
IF rec.mld_melding_status = 4 -- ACP
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM
|
||
END IF;
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER
|
||
END IF;
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD-freeze');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'ADDD-verkoop/#regels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum));
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
FOR rec IN c2
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toevoegen CUST02-noti';
|
||
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_prioriteit,
|
||
fac_notificatie_datum,
|
||
fac_notificatie_sender_email,
|
||
fac_notificatie_attachments)
|
||
VALUES (341, -- CUST02-noti
|
||
2, -- Mail
|
||
DECODE ( -- To-adres
|
||
rec.prs_bedrijf_email,
|
||
NULL, 'accountsreceivable@brightlands.com',
|
||
rec.prs_bedrijf_email || ';accountsreceivable@brightlands.com'),
|
||
'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam,
|
||
rec.fin_verkoopfactuurkop_key,
|
||
2, -- Prioriteit
|
||
TRUNC (SYSDATE) + (7 / 24),
|
||
'accountsreceivable@brightlands.com', -- From-adres
|
||
'/../../Fplace5i/CUST/BLCC/export/PDF/' || rec.fin_verkoopfactuurkop_id || '.pdf');
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'ADDD-noti');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
*/
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_errormsg, 'ADDD-export afgebroken!');
|
||
END;
|
||
/
|
||
|
||
|
||
-- TODO: Tbv. BSSC, dus ontmantelen voor BLCC!
|
||
/* Formatted on 29-6-2016 18:42:24 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000) := '-';
|
||
v_errorhint VARCHAR2 (1000) := '-';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
v_errorhint := 'Generieke import ' || TO_CHAR (p_import_key);
|
||
|
||
-- Afdelingscode-kolom hard op 'XxX' indien leeg (want verplicht)!
|
||
UPDATE fac_imp_file
|
||
SET fac_imp_file_line =
|
||
SUBSTR (fac_imp_file_line, 1, INSTR (fac_imp_file_line, ';', 1, 2))
|
||
|| 'XxX'
|
||
|| SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 3))
|
||
WHERE fac_import_key = p_import_key AND fac_imp_file_index > 1
|
||
AND SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 2)
|
||
+ 1, INSTR (fac_imp_file_line, ';', 1, 3)
|
||
- INSTR (fac_imp_file_line, ';', 1, 2)
|
||
- 1) IS NULL;
|
||
|
||
COMMIT;
|
||
|
||
-- Functie-kolom negeren en hard op 'Medewerker' (want verplicht)!
|
||
UPDATE fac_imp_file i
|
||
SET fac_imp_file_line =
|
||
SUBSTR (fac_imp_file_line, 1, INSTR (fac_imp_file_line, ';', 1, 10))
|
||
|| 'Medewerker'
|
||
|| SUBSTR (fac_imp_file_line, INSTR (fac_imp_file_line, ';', 1, 11))
|
||
WHERE fac_import_key = p_import_key AND fac_imp_file_index > 1;
|
||
|
||
COMMIT;
|
||
|
||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE.
|
||
prs.import_perslid (
|
||
p_import_key,
|
||
'0;0;0;0;0;0;3;4;5;6;'
|
||
|| '0;0;0;0;10;7;8;9;0;0;'
|
||
|| '11;1;2;0;0;0;12;13;14;15;'
|
||
|| '16;17;18;0;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0',
|
||
'Loginnaam;Wachtwoord;Afdelingscode;Achternaam;Tussenvoegsel;Voornaam;Telefoon;Mobiel;Email;Geslacht;Functie;Taal;SSC FOBO;SSC Digireceptiemedewerker;SSC Huurderadministrator%');
|
||
|
||
-- Klantspecifieke aanpassingen.
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
|
||
fac.imp_writelog (p_import_key, 'E', v_errormsg || v_errorhint,
|
||
'Inleesproces personen afgebroken!');
|
||
END blcc_import_perslid;
|
||
/
|
||
|
||
-- TODO: Tbv. BSSC, dus ontmantelen voor BLCC!
|
||
/* Formatted on 30-6-2016 12:30:30 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_update_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
-- Verwijderen personen niet in import voor afdelingen wel in import!
|
||
CURSOR c_del
|
||
IS
|
||
SELECT p.prs_perslid_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a
|
||
WHERE (p.prs_perslid_oslogin IS NULL OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak
|
||
AND p.prs_perslid_oslogin2 IS NULL
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM fac_imp_perslid i
|
||
WHERE UPPER (i.prs_afdeling_naam) = a.prs_afdeling_upper)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_imp_perslid i
|
||
WHERE UPPER (i.prs_perslid_oslogin) = UPPER (p.prs_perslid_oslogin))
|
||
ORDER BY 1;
|
||
|
||
-- Bijwerken werkplek van personen naar '_' (als nog geen werkplek)!
|
||
CURSOR c_wp
|
||
IS
|
||
SELECT p.prs_perslid_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_perslidwerkplek pw
|
||
WHERE pw.prs_perslid_key = p.prs_perslid_key)
|
||
ORDER BY 1;
|
||
|
||
-- Bijwerken language van personen naar 'EN' (volgens importbestand)!
|
||
CURSOR c_lang
|
||
IS
|
||
SELECT p.prs_perslid_key, DECODE (i.prs_kenmerk1, 'EN', 'EN', 'NL') lang
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
ORDER BY 1;
|
||
|
||
-- Bijwerken autorisatiegroepen van personen (volgens importbestand)!
|
||
CURSOR c_rol (
|
||
p_ssc_fobo_key IN NUMBER,
|
||
p_ssc_dmedew_key IN NUMBER,
|
||
p_ssc_hadmin_key IN NUMBER)
|
||
IS
|
||
SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk2), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_fobo_key fac_groep_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
UNION ALL
|
||
SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk3), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_dmedew_key fac_groep_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
UNION ALL
|
||
SELECT p.prs_perslid_key, DECODE (UPPER (i.prs_kenmerk4), 'J', 1, 'Y', 1, 0) aanuit, p_ssc_hadmin_key fac_groep_key
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
UNION ALL -- Afnemen _Default
|
||
SELECT p.prs_perslid_key, 0 aanuit, 1 fac_groep_key -- _Default
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
UNION ALL -- Toewijzen SSC FE (LABS-key=241 en PROD-key=321)
|
||
SELECT p.prs_perslid_key, 1 aanuit, 321 fac_groep_key -- SSC FE
|
||
FROM prs_v_aanwezigperslid p, prs_afdeling a, fac_imp_perslid i
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_upper = UPPER (i.prs_afdeling_naam)
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin)
|
||
ORDER BY 1, 3;
|
||
|
||
c_ruimte_key NUMBER := 2204; -- Fictieve ruimte op SSCH-locatie (LABS-key=2243 en PROD-key=2204)
|
||
c_ssc_fobo_key NUMBER := 341; -- SSC FOBO (LABS-key=241 en PROD-key=341)
|
||
c_ssc_dmedew_key NUMBER := 361; -- SSC Digireceptiemedewerker
|
||
c_ssc_hadmin_key NUMBER := 362; -- SSC Huurderadministrator
|
||
v_bedrijf_key NUMBER (10) := -1;
|
||
v_afdeling_naam VARCHAR2 (15) := '';
|
||
BEGIN
|
||
-- Als import door Huurderadministrator, dan Afdelingscode-kolom negeren en hard op Afdeling-1 van Huurderadministrator!
|
||
SELECT ab.prs_bedrijf_key, a.prs_afdeling_naam
|
||
INTO v_bedrijf_key, v_afdeling_naam
|
||
FROM fac_import i, prs_v_aanwezigperslid p, prs_afdeling a, prs_v_afdeling_boom ab
|
||
WHERE i.fac_import_key = p_import_key
|
||
AND i.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_afdeling_key = ab.prs_afdeling_key;
|
||
|
||
IF v_bedrijf_key IN (1981, 2442) -- LABS-key+PROD-key van Huurders SSC-bedrijf; TODO: LABS-key nog een keer verwijderen!
|
||
THEN -- Import door Huurderadministrator!
|
||
UPDATE fac_imp_perslid
|
||
SET prs_afdeling_naam = v_afdeling_naam;
|
||
ELSE -- Import door andere administrator!
|
||
UPDATE fac_imp_perslid
|
||
SET prs_afdeling_naam = NULL
|
||
WHERE prs_afdeling_naam = 'XxX';
|
||
END IF;
|
||
|
||
COMMIT;
|
||
|
||
-- Generieke update.
|
||
prs.update_perslid (p_import_key, 'LOGIN', NULL);
|
||
|
||
-- Verwijderen personen niet in import voor afdelingen wel in import!
|
||
FOR rec IN c_del
|
||
LOOP
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
-- Toekennen fictieve werkplek op SSCH-locatie (voor wie daar nog niet een
|
||
-- werkplek heeft)!
|
||
-- Bijwerken werkplek van personen naar '_' (als nog geen werkplek)!
|
||
FOR rec IN c_wp
|
||
LOOP
|
||
prs.movetoruimte (rec.prs_perslid_key, c_ruimte_key, NULL);
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
-- Bijwerken language van personen naar 'EN' (volgens importbestand)!
|
||
FOR rec IN c_lang
|
||
LOOP
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_lang = rec.lang
|
||
WHERE prs_perslid_key = rec.prs_perslid_key;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
-- Bijwerken autorisatiegroepen van personen (volgens importbestand)!
|
||
FOR rec IN c_rol (c_ssc_fobo_key, c_ssc_dmedew_key, c_ssc_hadmin_key)
|
||
LOOP
|
||
IF rec.aanuit = 1
|
||
THEN
|
||
INSERT INTO fac_gebruikersgroep (fac_groep_key, prs_perslid_key)
|
||
SELECT rec.fac_groep_key, rec.prs_perslid_key
|
||
FROM DUAL
|
||
WHERE NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = rec.fac_groep_key
|
||
AND prs_perslid_key = rec.prs_perslid_key);
|
||
ELSE
|
||
DELETE FROM fac_gebruikersgroep
|
||
WHERE fac_groep_key = rec.fac_groep_key
|
||
AND prs_perslid_key = rec.prs_perslid_key;
|
||
END IF;
|
||
END LOOP;
|
||
END blcc_update_perslid;
|
||
/
|
||
|
||
|
||
-- BLCC#38235: Import vanuit Strukton
|
||
/* Formatted on 22-5-2015 11:52:44 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_import_opdrstat_strukton (p_import_key IN NUMBER)
|
||
AS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (4000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (1000) := '';
|
||
header_is_valid NUMBER := 0;
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count_imp NUMBER (10) := 0;
|
||
v_ongeldig NUMBER (1) := 0;
|
||
-- De importvelden
|
||
v_mld_opdr_key_tekst VARCHAR2 (100);
|
||
v_mld_opdr_key NUMBER (10);
|
||
v_mld_opdr_opmerking VARCHAR2 (4000);
|
||
v_extern_nummer VARCHAR2 (100);
|
||
v_status_code VARCHAR2 (100);
|
||
v_status NUMBER (10);
|
||
v_datumtijd_tekst VARCHAR2 (100);
|
||
v_datumtijd DATE;
|
||
v_status_tekst VARCHAR2 (100);
|
||
v_opmerking VARCHAR2 (4000);
|
||
|
||
-- Overige velden:
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM blcc_imp_opdrstat_strukton;
|
||
|
||
COMMIT;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout opvragen importregel';
|
||
v_aanduiding := '';
|
||
v_ongeldig := 0;
|
||
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield (v_newline, c_delim, v_mld_opdr_key_tekst);
|
||
fac.imp_getfield (v_newline, c_delim, v_extern_nummer);
|
||
fac.imp_getfield (v_newline, c_delim, v_status_code); -- typeID
|
||
fac.imp_getfield (v_newline, c_delim, v_datumtijd_tekst);
|
||
fac.imp_getfield (v_newline, c_delim, v_status_tekst);
|
||
fac.imp_getfield (v_newline, c_delim, v_opmerking);
|
||
v_opmerking := SUBSTR (v_opmerking, 1, 1000);
|
||
-- Verwijder de markering voor cr/lf die in stylesheet is toegevoegd.
|
||
v_opmerking := REPLACE (v_opmerking, '@@', CHR (13));
|
||
v_aanduiding :=
|
||
'['
|
||
|| v_mld_opdr_key_tekst
|
||
|| '|'
|
||
|| v_extern_nummer
|
||
|| '|'
|
||
|| v_status_code
|
||
|| '|'
|
||
|| v_datumtijd_tekst
|
||
|| '|'
|
||
|| v_status_tekst
|
||
|| '] ';
|
||
|
||
-- Ik controleer of ik een geldige header heb, dat is: in de juiste kolommen
|
||
-- de juiste kolomkop. Ik controleer daarbij ALLE kolommen!
|
||
-- Ik negeer alles totdat ik een geldige header ben gepasseerd.
|
||
IF header_is_valid = 0
|
||
THEN
|
||
IF UPPER (TRIM (v_mld_opdr_key_tekst)) = 'REFERENCEID'
|
||
AND UPPER (TRIM (v_extern_nummer)) = 'SERVICEREQUESTID'
|
||
AND UPPER (TRIM (v_status_code)) = 'TYPEID'
|
||
AND UPPER (TRIM (v_datumtijd_tekst)) = 'DATETIME'
|
||
AND UPPER (TRIM (v_opmerking)) = 'REMARKS'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
-- Controleer alle veldwaarden
|
||
v_errormsg := 'Fout bepalen opdracht';
|
||
v_mld_opdr_key := TRIM (v_mld_opdr_key);
|
||
|
||
BEGIN
|
||
SELECT o.mld_opdr_key, o.mld_opdr_opmerking
|
||
INTO v_mld_opdr_key, v_mld_opdr_opmerking
|
||
FROM mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_prefix
|
||
|| m.mld_melding_key
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr =
|
||
v_mld_opdr_key_tekst;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_ongeldig := 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.writelog (p_import_key, 'W', v_aanduiding || v_errormsg, '');
|
||
END;
|
||
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
v_errormsg := 'Fout bepalen status';
|
||
|
||
CASE
|
||
WHEN v_status_code = '5'
|
||
THEN
|
||
v_status := 5; -- uitgegeven
|
||
WHEN v_status_code = '10'
|
||
THEN
|
||
v_status := 8; -- geaccepteerd
|
||
WHEN v_status_code = '20' -- monteur gereed
|
||
THEN
|
||
v_status := 6; -- afgemeld
|
||
WHEN v_status_code = '25' -- specialist gereed
|
||
THEN
|
||
v_status := 6; -- afgemeld
|
||
WHEN v_status_code = '30' -- technisch gereed
|
||
THEN
|
||
v_status := 6; -- afgemeld
|
||
-- For future use
|
||
--WHEN v_status_code = '40' -- uitgeprijst
|
||
--THEN
|
||
-- v_status := 6; -- afgemeld
|
||
WHEN v_status_code = '70'
|
||
THEN
|
||
v_status := 1; -- geannuleerd
|
||
WHEN v_status_code = '80'
|
||
THEN
|
||
v_status := 1; -- afgewezen
|
||
ELSE
|
||
v_status := NULL;
|
||
v_ongeldig := 1; -- nog te bezien
|
||
END CASE;
|
||
END IF;
|
||
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
v_errormsg := 'Fout converteren datumtijd';
|
||
|
||
IF INSTR (v_datumtijd_tekst, '.') > 0
|
||
THEN
|
||
v_datumtijd :=
|
||
fac.safe_to_date (
|
||
REPLACE (
|
||
SUBSTR (v_datumtijd_tekst,
|
||
1,
|
||
INSTR (v_datumtijd_tekst, '.') - 1),
|
||
'T',
|
||
' '),
|
||
'yyyy-mm-dd hh24:mi:ss');
|
||
ELSE
|
||
v_datumtijd :=
|
||
fac.safe_to_date (v_datumtijd_tekst,
|
||
'yyyy-mm-dd hh24:mi:ss');
|
||
END IF;
|
||
END IF;
|
||
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
v_errormsg := 'Fout aanvullen opmerking';
|
||
|
||
-- controleer of de opmerking niet leeg is en of dezelfde opmerking al bij een eerdere statusovergang
|
||
-- gemeld is.
|
||
IF v_opmerking IS NOT NULL
|
||
AND INSTR (v_mld_opdr_opmerking, v_opmerking) = 0
|
||
THEN
|
||
v_opmerking :=
|
||
'['
|
||
|| v_datumtijd_tekst
|
||
|| '] - '
|
||
|| v_status_tekst
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| v_opmerking;
|
||
ELSE
|
||
v_opmerking :=
|
||
'[' || v_datumtijd_tekst || '] - ' || v_status_tekst;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout wegschrijven statusbericht';
|
||
|
||
INSERT INTO blcc_imp_opdrstat_strukton (mld_opdr_key,
|
||
extern_nummer,
|
||
status,
|
||
datumtijd,
|
||
opmerking)
|
||
VALUES (v_mld_opdr_key,
|
||
v_extern_nummer,
|
||
v_status,
|
||
v_datumtijd,
|
||
v_opmerking);
|
||
|
||
v_count_imp := v_count_imp + 1;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
||
END;
|
||
ELSE
|
||
IF v_status_code <> '40' AND v_status_code <> '45'
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, '');
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
END LOOP;
|
||
|
||
IF header_is_valid = 0
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'E',
|
||
'Ongeldig importbestand',
|
||
'Geen header of header niet volgens specificatie!');
|
||
ELSE
|
||
fac.imp_writelog (
|
||
p_import_key, 'S',
|
||
'Inleesproces/#ingelezen statusberichten: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (
|
||
p_import_key, 'S',
|
||
'Inleesproces/#ongeldige niet ingelezen statusberichten: ' || TO_CHAR (v_count_tot - v_count_imp),
|
||
'');
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
|
||
'Inleesproces statusberichten afgebroken!');
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE blcc_update_opdrstat_strukton (p_import_key IN NUMBER)
|
||
AS
|
||
-- Cursor loopt - in volgorde! - over alle ingelezen statusberichten.
|
||
CURSOR c1
|
||
IS
|
||
SELECT mld_opdr_key, extern_nummer, datumtijd, status, opmerking
|
||
FROM blcc_imp_opdrstat_strukton
|
||
ORDER BY 1, 3;
|
||
|
||
c_user_key NUMBER (10) := 5; -- _STRUKTON-user
|
||
c_refnr_srtkkey NUMBER (10) := 261; -- Refnr. Leverancier
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_count_tot NUMBER (10) := 0;
|
||
v_count NUMBER (10) := 0;
|
||
v_mld_key NUMBER (10) := 0;
|
||
v_opdr_key NUMBER (10) := 0;
|
||
v_opdr_status NUMBER (10) := 0;
|
||
v_mld_typeopdr_key NUMBER (10);
|
||
v_mld_kenmerk_key NUMBER (10);
|
||
v_mld_kenmerkopdr_key NUMBER (10);
|
||
BEGIN
|
||
-- Loop over alle ingelezen Strukton-statusberichten.
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding :=
|
||
'['
|
||
|| rec.mld_opdr_key
|
||
|| '|'
|
||
|| SUBSTR (rec.opmerking, 1, 100)
|
||
|| '] ';
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- Key van melding/opdracht bepalen en Refnr. bij opdracht opslaan.
|
||
IF rec.mld_opdr_key IS NOT NULL
|
||
THEN
|
||
v_errormsg := 'Fout bepalen opdracht.';
|
||
|
||
SELECT mld_melding_key, mld_opdr_key, mld_statusopdr_key, mld_typeopdr_key
|
||
INTO v_mld_key, v_opdr_key, v_opdr_status, v_mld_typeopdr_key
|
||
FROM mld_opdr
|
||
WHERE mld_opdr_key = rec.mld_opdr_key;
|
||
|
||
v_errormsg := 'Fout bepalen Refnr-kenmerk.';
|
||
|
||
SELECT k.mld_kenmerk_key
|
||
INTO v_mld_kenmerk_key
|
||
FROM mld_kenmerk k
|
||
WHERE k.mld_srtkenmerk_key = c_refnr_srtkkey
|
||
AND k.mld_typeopdr_key = v_mld_typeopdr_key;
|
||
|
||
v_errormsg := 'Fout bepalen Refnr-kenmerkopdracht.';
|
||
|
||
SELECT MAX (ko.mld_kenmerkopdr_key)
|
||
INTO v_mld_kenmerkopdr_key
|
||
FROM mld_kenmerkopdr ko
|
||
WHERE ko.mld_opdr_key = v_opdr_key
|
||
AND v_mld_kenmerk_key = ko.mld_kenmerk_key;
|
||
|
||
IF v_mld_kenmerkopdr_key IS NULL
|
||
THEN
|
||
-- Kenmerk toevoegen
|
||
v_errormsg := 'Fout toevoegen Refnr-kenmerkopdracht.';
|
||
|
||
INSERT INTO mld_kenmerkopdr (mld_kenmerk_key,
|
||
mld_opdr_key,
|
||
mld_kenmerkopdr_waarde)
|
||
VALUES (v_mld_kenmerk_key, v_opdr_key, rec.extern_nummer);
|
||
ELSE
|
||
-- Kenmerk bijwerken
|
||
v_errormsg := 'Fout bijwerken Refnr-kenmerkopdracht.';
|
||
|
||
UPDATE mld_kenmerkopdr
|
||
SET mld_kenmerkopdr_waarde = rec.extern_nummer
|
||
WHERE mld_kenmerkopdr_key = v_mld_kenmerkopdr_key;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bijwerken Opmerking (opdracht).';
|
||
|
||
v_count := LENGTH (rec.opmerking) + 5; -- Beetje speling qua lengte!
|
||
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_opmerking =
|
||
DECODE (
|
||
mld_opdr_opmerking,
|
||
NULL,
|
||
rec.opmerking,
|
||
rec.opmerking
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| SUBSTR (mld_opdr_opmerking, 1, (4000 - v_count)))
|
||
WHERE mld_opdr_key = v_opdr_key;
|
||
|
||
v_errormsg := 'Fout bijwerken Status.';
|
||
|
||
IF v_opdr_status <> rec.status
|
||
THEN
|
||
IF rec.status = 8 AND v_opdr_status = 5
|
||
THEN
|
||
-- Accepteer opdracht als de opdracht uitgegeven was
|
||
MLD.setopdrachtstatus (v_opdr_key, 8, c_user_key); -- Strukton
|
||
ELSIF rec.status = 6 AND v_opdr_status = 5
|
||
THEN
|
||
-- Meld de opdracht af als deze uitgegeven was
|
||
MLD.setopdrachtstatus (v_opdr_key, 8, c_user_key); -- Strukton, eerst accepteren
|
||
MLD.setopdrachtstatus (v_opdr_key, 6, c_user_key); -- Strukton
|
||
ELSIF rec.status = 6 AND v_opdr_status = 8
|
||
THEN
|
||
-- Meld de opdracht af als deze geaccepteerd was
|
||
MLD.setopdrachtstatus (v_opdr_key, 6, c_user_key); -- Strukton
|
||
ELSIF rec.status = 1 AND v_opdr_status IN (5, 8)
|
||
THEN
|
||
-- Wijs de opdracht af als deze niet/wel geaccepteerd was
|
||
MLD.setopdrachtstatus (v_opdr_key, 1, c_user_key); -- Strukton
|
||
MLD.updatemeldingstatusAV (v_mld_key, 0, c_user_key, 0);
|
||
END IF;
|
||
|
||
IF rec.status = 6 AND v_opdr_status <> 6
|
||
THEN
|
||
v_errormsg := 'Fout bijwerken Opmerking (melding).';
|
||
|
||
UPDATE mld_melding m
|
||
SET mld_melding_opmerking =
|
||
DECODE (
|
||
mld_melding_opmerking,
|
||
NULL,
|
||
rec.opmerking,
|
||
rec.opmerking || CHR (13) || CHR (10)
|
||
|| SUBSTR (mld_melding_opmerking,
|
||
1,
|
||
(4000 - v_count)))
|
||
WHERE mld_melding_key = v_mld_key
|
||
AND mld_melding_status IN (4, 7)
|
||
AND NOT EXISTS
|
||
( -- Afhandeling in melding niet aanpassen voor projecten
|
||
SELECT sm.mld_stdmelding_key
|
||
FROM mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd
|
||
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_prefix = 'QQQ');
|
||
|
||
v_errormsg := 'Fout sluiten melding.';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM (SELECT m.mld_melding_key,
|
||
(SELECT COUNT ( * )
|
||
FROM mld_opdr o
|
||
WHERE mld_melding_key = m.mld_melding_key)
|
||
aanw_opdr,
|
||
(SELECT COUNT ( * )
|
||
FROM mld_opdr o
|
||
WHERE mld_melding_key = m.mld_melding_key
|
||
AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9))
|
||
open_opdr
|
||
FROM mld_melding m
|
||
WHERE m.mld_melding_key = v_mld_key
|
||
AND m.mld_melding_status IN (4, 7))
|
||
niet_opgelost
|
||
WHERE aanw_opdr > 0 AND open_opdr = 0;
|
||
|
||
-- Sinds AADO#30922 wordt de melding niet meer automatisch afgemeld.
|
||
MLD.updatemeldingstatusAV (v_mld_key, 0, c_user_key, 0);
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
v_errormsg
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg,
|
||
'Statusbericht-loop');
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
|
||
-- BLCC#39810 View voor cateringrapportage
|
||
CREATE OR REPLACE VIEW blcc_v_rap_cateringoverzicht
|
||
(
|
||
fclt_f_debiteur,
|
||
fclt_f_organisatie,
|
||
locatie,
|
||
ruimte,
|
||
datumtijd,
|
||
datum,
|
||
tijd_van,
|
||
tijd_tot,
|
||
resnr,
|
||
omschrijving,
|
||
artikelkey,
|
||
artikelnr,
|
||
artikelomschrijving,
|
||
aantal,
|
||
stuksprijs,
|
||
kosten,
|
||
fclt_f_besteller,
|
||
costcenter,
|
||
activiteit
|
||
)
|
||
AS
|
||
SELECT COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = x.prs_afdeling_key)
|
||
deb_oms,
|
||
DECODE (
|
||
x.alg_ruimte_key,
|
||
NULL,
|
||
'Onbekend',
|
||
rg.alg_gebouw_upper
|
||
|| '-'
|
||
|| rg.alg_verdieping_code
|
||
|| '-'
|
||
|| rg.alg_ruimte_nr)
|
||
afleveradres,
|
||
COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte,
|
||
x.res_rsv_artikel_levering,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
|
||
TO_CHAR (x.res_rsv_ruimte_van, 'hh24:mi') tijdvan,
|
||
TO_CHAR (x.res_rsv_ruimte_tot, 'hh24:mi') tijdtot,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr,
|
||
x.res_rsv_ruimte_omschrijving omschrijving,
|
||
x.res_artikel_key,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
x.res_rsv_artikel_aantal,
|
||
ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
stuksprijs,
|
||
x.res_rsv_artikel_aantal
|
||
* ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
regeltotaal,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.res_activiteit_omschrijving
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key)
|
||
res_ruimte_key,
|
||
COALESCE (rar1.alg_ruimte_key,
|
||
rar2.alg_ruimte_key,
|
||
rrr.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
act.res_activiteit_omschrijving,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_key,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key)
|
||
prs_afdeling_key,
|
||
kl.prs_kenmerklink_waarde,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit act,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_activiteit_key = act.res_activiteit_key
|
||
--AND act.res_activiteit_verwijder IS NULL -- Wat ooit is Verwerkt, altijd opnemen!
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
--AND rra.res_rsv_artikel_verwijder IS NULL -- Wat ooit is Verwerkt, altijd opnemen!
|
||
AND rra.res_status_bo_key = 6 -- Verwerkt
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN res_ruimte rr
|
||
ON x.res_ruimte_key = rr.res_ruimte_key
|
||
LEFT JOIN alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT COALESCE (x.prs_kenmerklink_waarde, '???') deb_nr,
|
||
(SELECT prs_afdeling_omschrijving
|
||
FROM prs_afdeling
|
||
WHERE prs_afdeling_key = x.prs_afdeling_key)
|
||
deb_oms,
|
||
DECODE (
|
||
x.alg_ruimte_key,
|
||
NULL,
|
||
'Onbekend',
|
||
rg.alg_gebouw_upper
|
||
|| '-'
|
||
|| rg.alg_verdieping_code
|
||
|| '-'
|
||
|| rg.alg_ruimte_nr)
|
||
afleveradres,
|
||
COALESCE (rr.res_ruimte_nr, rg.alg_ruimte_omschrijving) ruimte,
|
||
x.res_rsv_artikel_levering,
|
||
TO_CHAR (x.res_rsv_artikel_levering, 'DD-MM-YYYY') datum,
|
||
TO_CHAR (x.res_rsv_ruimte_van, 'hh24:mi') tijdvan,
|
||
TO_CHAR (x.res_rsv_ruimte_tot, 'hh24:mi') tijdtot,
|
||
x.res_reservering_key || '/' || x.res_rsv_ruimte_volgnr resnr,
|
||
x.res_rsv_ruimte_omschrijving omschrijving,
|
||
x.res_artikel_key,
|
||
x.res_artikel_nr,
|
||
x.res_artikel_omschrijving,
|
||
x.res_rsv_artikel_aantal,
|
||
ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
stuksprijs,
|
||
x.res_rsv_artikel_aantal
|
||
* ROUND ((x.res_rsv_artikel_prijs / x.res_rsv_artikel_aantal), 5)
|
||
regeltotaal,
|
||
x.prs_perslid_naam_full,
|
||
(SELECT MAX (kw.res_kenmerkreservering_waarde)
|
||
FROM res_kenmerkwaarde kw, res_kenmerk rk
|
||
WHERE kw.res_rsv_ruimte_key = x.res_rsv_ruimte_key
|
||
AND kw.res_kenmerkwaarde_verwijder IS NULL
|
||
AND kw.res_kenmerk_key = rk.res_kenmerk_key
|
||
AND rk.res_srtkenmerk_key = 1)
|
||
costcenter,
|
||
x.res_activiteit_omschrijving
|
||
FROM (SELECT rra.res_rsv_artikel_verwerkt,
|
||
COALESCE (rar1.res_ruimte_key, rar2.res_ruimte_key)
|
||
res_ruimte_key,
|
||
COALESCE (rar1.alg_ruimte_key,
|
||
rar2.alg_ruimte_key,
|
||
rrr.alg_ruimte_key)
|
||
alg_ruimte_key,
|
||
rra.res_rsv_artikel_levering,
|
||
rrr.res_rsv_ruimte_key,
|
||
rrr.res_reservering_key,
|
||
rrr.res_rsv_ruimte_volgnr,
|
||
rrr.res_rsv_ruimte_van,
|
||
rrr.res_rsv_ruimte_tot,
|
||
rrr.res_rsv_ruimte_omschrijving,
|
||
act.res_activiteit_omschrijving,
|
||
ra.res_artikel_nr,
|
||
ra.res_artikel_key,
|
||
ra.res_artikel_omschrijving,
|
||
rra.res_rsv_artikel_prijs,
|
||
rra.res_rsv_artikel_aantal,
|
||
COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key)
|
||
prs_afdeling_key,
|
||
kl.prs_kenmerklink_waarde,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving
|
||
FROM res_rsv_ruimte rrr,
|
||
res_activiteit act,
|
||
res_rsv_artikel rra,
|
||
res_artikel ra,
|
||
res_ruimte_opstelling rro,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NULL
|
||
GROUP BY res_ruimte_key) rar1,
|
||
( SELECT res_ruimte_key, MAX (alg_ruimte_key) alg_ruimte_key
|
||
FROM res_alg_ruimte
|
||
WHERE res_alg_ruimte_verwijder IS NOT NULL
|
||
GROUP BY res_ruimte_key) rar2,
|
||
alg_v_allonroerendgoed aog,
|
||
prs_perslid p,
|
||
prs_v_afdeling_boom ab,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_kostenplaats k
|
||
WHERE rrr.res_activiteit_key = act.res_activiteit_key
|
||
AND act.res_activiteit_verwijder IS NULL
|
||
AND rrr.res_rsv_ruimte_key = rra.res_rsv_ruimte_key
|
||
AND rra.res_rsv_artikel_verwijder IS NULL
|
||
AND rra.res_status_bo_key != 6 -- Verwerkt
|
||
AND rra.res_artikel_key = ra.res_artikel_key
|
||
AND rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key(+)
|
||
AND rro.res_ruimte_key = rar1.res_ruimte_key(+)
|
||
AND rro.res_ruimte_key = rar2.res_ruimte_key(+)
|
||
AND COALESCE (rar1.alg_ruimte_key, rar2.alg_ruimte_key, rrr.alg_ruimte_key) = aog.alg_ruimte_key
|
||
AND aog.alg_locatie_key = 1 -- CAMPUS
|
||
AND rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key) = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)) x
|
||
LEFT JOIN res_ruimte rr
|
||
ON x.res_ruimte_key = rr.res_ruimte_key
|
||
LEFT JOIN alg_v_ruimte_gegevens_all rg
|
||
ON x.alg_ruimte_key = rg.alg_ruimte_key;
|
||
|
||
-- BLCC#41477: Onderstaande twee views zijn opnieuw opgebouwd zodat er geen UDR-views gebruikt worden als bron.
|
||
CREATE OR REPLACE VIEW blcc_v_rap_meldingen
|
||
(
|
||
prioriteittxt,
|
||
melding_nummer,
|
||
productgroep,
|
||
subproductgroep,
|
||
melding_datumtijd,
|
||
melding_datum,
|
||
melding_tijd,
|
||
melding_locatiecode,
|
||
melding_gebouwcode,
|
||
melding_verdieping,
|
||
melding_ruimtenr,
|
||
onderwerp,
|
||
omschrijving,
|
||
melder,
|
||
melding_status,
|
||
melding_opmerking,
|
||
behandelaar,
|
||
melding_einddatumtijd,
|
||
melding_einddatum,
|
||
afspraak_sla_uren,
|
||
melder_key,
|
||
kostenplaats_code,
|
||
kostenplaats_groep,
|
||
kostensoort_code,
|
||
kostensoort_groep,
|
||
vakgroeptype,
|
||
melding_nummer_parent
|
||
)
|
||
AS
|
||
SELECT DECODE (m.mld_melding_spoed,
|
||
3, lcl.l ('lcl_mld_urg_normaal'),
|
||
1, lcl.l ('lcl_mld_urg_kritiek'),
|
||
2, lcl.l ('lcl_mld_urg_hoog'),
|
||
4, lcl.l ('lcl_mld_urg_laag')),
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnummer,
|
||
md.ins_discipline_omschrijving productgroep,
|
||
sm.mld_stdmelding_omschrijving subproductgroep,
|
||
m.mld_melding_datum,
|
||
TO_CHAR (m.mld_melding_datum, 'DD-MM-YYYY') datum,
|
||
TO_CHAR (m.mld_melding_datum, 'hh24:mi') tijd,
|
||
l.alg_locatie_code locatie,
|
||
aog.alg_gebouw_code gebouw,
|
||
aog.alg_verdieping_code verdieping,
|
||
aog.alg_ruimte_nr ruimte,
|
||
TRIM (m.mld_melding_onderwerp) onderwerp,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (TRIM (m.mld_melding_omschrijving), 1, 20), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') omschrijving,
|
||
(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = m.prs_perslid_key)
|
||
melder,
|
||
(SELECT mld_statuses_omschrijving FROM mld_statuses WHERE mld_statuses_key = m.mld_melding_status)
|
||
status,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (TRIM (m.mld_melding_opmerking), 1, 20), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', '') opmerking,
|
||
(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = m.mld_melding_behandelaar_key)
|
||
behandelaar,
|
||
m.mld_melding_einddatum,
|
||
TO_CHAR (m.mld_melding_einddatum, 'DD-MM-YYYY') einddatum,
|
||
DECODE (mld.getactualuitvoer (m.mld_melding_key).eenheid,
|
||
'U', ((m.mld_melding_einddatum - COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5), mld.getmeldingstatusdate (m.mld_melding_key, 1), SYSDATE)) * 24) +
|
||
COALESCE (DECODE (m.mld_melding_t_respijt.eenheid, 'D', m.mld_melding_t_respijt.tijdsduur, NULL), 0),
|
||
NULL)
|
||
afspraak_sla_uren,
|
||
m.prs_perslid_key,
|
||
kp.prs_kostenplaats_upper,
|
||
DECODE (kpg.prs_kostenplaatsgrp_nr, NULL, '', kpg.prs_kostenplaatsgrp_nr || '-') || kpg.prs_kostenplaatsgrp_oms,
|
||
ks.prs_kostensoort_upper,
|
||
ksg.prs_kostensoortgrp_oms,
|
||
sd.ins_srtdiscipline_omschrijving,
|
||
sd2.ins_srtdiscipline_prefix || TO_CHAR (m2.mld_melding_key) meldingnummer_parent
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
alg_locatie l,
|
||
alg_v_allonrgoed_gegevens aog,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
prs_kostensoort ks,
|
||
prs_kostensoortgrp ksg,
|
||
mld_melding m2,
|
||
mld_stdmelding sm2,
|
||
mld_discipline md2,
|
||
ins_srtdiscipline sd2
|
||
WHERE m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m.mld_alg_locatie_key = l.alg_locatie_key(+)
|
||
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys(+)
|
||
AND m.fac_activiteit_key IS NULL
|
||
AND m.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND sm.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND ks.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key(+)
|
||
AND m.mld_melding_parentkey = m2.mld_melding_key(+)
|
||
AND m2.mld_stdmelding_key = sm2.mld_stdmelding_key(+)
|
||
AND sm2.mld_ins_discipline_key = md2.ins_discipline_key(+)
|
||
AND md2.ins_srtdiscipline_key = sd2.ins_srtdiscipline_key(+);
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_opdrachten
|
||
(
|
||
prioriteittxt,
|
||
opdracht_nummer,
|
||
melding_nummer,
|
||
opdracht_type,
|
||
omschrijving,
|
||
opdracht_datumtijd,
|
||
opdracht_datum,
|
||
opdracht_tijd,
|
||
opdracht_status,
|
||
opdracht_einddatumtijd,
|
||
opdracht_einddatum,
|
||
opdracht_eindtijd,
|
||
opdracht_uitvoerende,
|
||
opdracht_uitvoerende_crednr,
|
||
behandelaar,
|
||
kostenplaats_code,
|
||
kostenplaats_groep,
|
||
opdracht_kosten,
|
||
opdracht_uren,
|
||
opdracht_correctie,
|
||
opdracht_materiaal,
|
||
opdracht_uurtarief,
|
||
opdracht_offerte
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
DECODE (mld_melding_spoed,
|
||
3, lcl.l ('lcl_mld_urg_normaal'),
|
||
1, lcl.l ('lcl_mld_urg_kritiek'),
|
||
2, lcl.l ('lcl_mld_urg_hoog'),
|
||
4, lcl.l ('lcl_mld_urg_laag')),
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr),
|
||
sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) meldingnummer,
|
||
ot.mld_typeopdr_omschrijving,
|
||
REPLACE (REPLACE (REPLACE (REPLACE (REPLACE (SUBSTR (o.mld_opdr_omschrijving, 1, 20), CHR (10), ' '), CHR (13), ' '), CHR (128), 'EUR'), '"', ''''), ';', ''),
|
||
o.mld_opdr_datumbegin,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') datum,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi') tijd,
|
||
(SELECT mld_statusopdr_omschrijving FROM mld_statusopdr WHERE mld_statusopdr_key = o.mld_statusopdr_key)
|
||
opdracht_status,
|
||
o.mld_opdr_einddatum,
|
||
TO_CHAR (o.mld_opdr_einddatum, 'DD-MM-YYYY') einddatum,
|
||
TO_CHAR (o.mld_opdr_einddatum, 'hh24:mi') eindtijd,
|
||
(SELECT naam FROM mld_v_uitvoerende WHERE mld_uitvoerende_key = o.mld_uitvoerende_keys)
|
||
opdracht_uitvoerende,
|
||
(SELECT prs_leverancier_nr FROM prs_bedrijf WHERE prs_bedrijf_key = o.mld_uitvoerende_keys)
|
||
opdracht_uitvoerende_crednr,
|
||
(SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = o.prs_perslid_key)
|
||
behandelaar,
|
||
kp.prs_kostenplaats_upper kostenplaats_code,
|
||
DECODE (kpg.prs_kostenplaatsgrp_nr, NULL, '', kpg.prs_kostenplaatsgrp_nr || '-') || kpg.prs_kostenplaatsgrp_oms kostenplaats_groep,
|
||
TO_CHAR (o.mld_opdr_kosten, 'fm999999999999999990.00'),
|
||
TO_CHAR (o.mld_opdr_uren, 'fm999999999999999990.00'),
|
||
TO_CHAR (o.mld_opdr_kosten - o.mld_opdr_materiaal - (o.mld_opdr_uren * o.mld_opdr_uurloon), 'fm999999999999999990.00'),
|
||
TO_CHAR (o.mld_opdr_materiaal, 'fm999999999999999990.00'),
|
||
TO_CHAR (o.mld_opdr_uurloon, 'fm999999999999999990.00'),
|
||
sub.opdrachtnummer
|
||
FROM mld_opdr o,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd,
|
||
mld_typeopdr ot,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
(SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdrachtnummer,
|
||
mld_opdr_key
|
||
FROM mld_melding m,
|
||
mld_opdr o,
|
||
mld_stdmelding sm,
|
||
mld_discipline md,
|
||
ins_srtdiscipline sd
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key) sub
|
||
WHERE o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND o.mld_opdr_parent_key = sub.mld_opdr_key(+);
|
||
|
||
-- BLCC#38512
|
||
CREATE OR REPLACE VIEW blcc_v_rap_mldtrk
|
||
(
|
||
melding,
|
||
aanmaakdatumtijd,
|
||
aanmaakdatum,
|
||
aanmaaktijdstip,
|
||
meldingstatus,
|
||
plan_einddatum,
|
||
sla_einddatum,
|
||
wijzigingsdatumtijd,
|
||
wijzigingsdatum,
|
||
wijzigingstijdstip,
|
||
wijzigingdoor,
|
||
wijzigingcode
|
||
)
|
||
AS
|
||
SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) melding,
|
||
m.mld_melding_datum aanmaakdatumtijd,
|
||
TO_CHAR (m.mld_melding_datum, 'dd-mm-yyyy') aanmaakdatum,
|
||
TO_CHAR (m.mld_melding_datum, 'hh24:mi') aanmaaktijdstip,
|
||
ms.mld_statuses_omschrijving meldingstatus,
|
||
TO_CHAR (m.mld_melding_einddatum, 'dd-mm-yyyy') plan_einddatum,
|
||
TO_CHAR (m.mld_melding_einddatum_std, 'dd-mm-yyyy') sla_einddatum,
|
||
t.fac_tracking_datum wijzigingsdatumtijd,
|
||
TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy') wijzigingsdatum,
|
||
TO_CHAR (t.fac_tracking_datum, 'hh24:mi') wijzigingstijdstip,
|
||
pf.prs_perslid_naam_full tracking_door,
|
||
sn.fac_srtnotificatie_code tracking_code
|
||
FROM mld_melding m,
|
||
mld_statuses ms,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
fac_tracking t,
|
||
fac_srtnotificatie sn,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE m.mld_melding_status = ms.mld_statuses_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_xmlnode = 'melding'
|
||
AND sn.fac_srtnotificatie_key IN (43, 37, 44, 38, 39, 46, 47, 48, 49) -- MLDNEW, MLDACP, MLDREJ, MLDAFM, MLDAFR, MLDVER, MLDDOO, MLDFWD, MLDBWD
|
||
AND t.prs_perslid_key = pf.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_ordtrk
|
||
(
|
||
opdracht,
|
||
aanmaakdatumtijd,
|
||
aanmaakdatum,
|
||
aanmaaktijdstip,
|
||
opdrachtstatus,
|
||
plan_einddatum,
|
||
wijzigingsdatumtijd,
|
||
wijzigingsdatum,
|
||
wijzigingstijdstip,
|
||
wijzigingdoor,
|
||
wijzigingcode
|
||
)
|
||
AS
|
||
SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdracht,
|
||
o.mld_opdr_datumbegin aanmaakdatumtijd,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'dd-mm-yyyy') aanmaakdatum,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'hh24:mi') aanmaaktijdstip,
|
||
os.mld_statusopdr_omschrijving opdrachtstatus,
|
||
TO_CHAR (o.mld_opdr_einddatum, 'dd-mm-yyyy') plan_einddatum, -- Of mld_opdr_plandatum?
|
||
t.fac_tracking_datum wijzigingsdatumtijd,
|
||
TO_CHAR (t.fac_tracking_datum, 'dd-mm-yyyy') wijzigingsdatum,
|
||
TO_CHAR (t.fac_tracking_datum, 'hh24:mi') wijzigingstijdstip,
|
||
pf.prs_perslid_naam_full tracking_door,
|
||
sn.fac_srtnotificatie_code tracking_code
|
||
FROM mld_opdr o,
|
||
mld_statusopdr os,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
fac_tracking t,
|
||
fac_srtnotificatie sn,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE o.mld_statusopdr_key = os.mld_statusopdr_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND o.mld_opdr_key = t.fac_tracking_refkey
|
||
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
|
||
AND sn.fac_srtnotificatie_xmlnode = 'opdracht'
|
||
--AND sn.fac_srtnotificatie_key IN (59, 65, 64, 69, 58, 70, 66, 60) -- ORDNEW, ORDACP, ORDREJ, ORDCAN, ORDAFM, ORDAFR, ORDVER, ORDUPD
|
||
--AND sn.fac_srtnotificatie_key NOT IN (56, 57, 68, 135) -- ORDMLI, ORDMLE, ORDSNX, ORDMAI
|
||
AND t.prs_perslid_key = pf.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_vastgoedgeg
|
||
AS
|
||
SELECT fp.alg_onrgoed_key,
|
||
fp.alg_onrgoed_type,
|
||
fp.alg_gebouw_code gebouwcode,
|
||
fp.alg_verdieping_volgnr verdiepingvolgnr,
|
||
fp.alg_verdieping_code verdiepingcode,
|
||
fp.alg_srtruimte_omschrijving ruimtefunctie,
|
||
fp.alg_ruimte_nr ruimtenummer,
|
||
fp.alg_ruimte_omschrijving ruimteomschrijving,
|
||
fp.vvo,
|
||
fp.bvo,
|
||
fp.lhkot_class,
|
||
c.contract,
|
||
pf1.prs_perslid_naam_full gebouwverantw1,
|
||
pf2.prs_perslid_naam_full gebouwverantw2,
|
||
(SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (dvl.alg_onrgoedkenmerk_waarde)) dienstverlener,
|
||
(SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (eig.alg_onrgoedkenmerk_waarde)) eigenaar,
|
||
sg.alg_srtgebouw_omschrijving gebouwfunctie,
|
||
SUBSTR (bouwjaar.alg_onrgoedkenmerk_waarde, 7, 10) bouwjaar,
|
||
(SELECT fac_usrdata_omschr FROM fac_usrdata WHERE fac_usrdata_key = fac.safe_to_number (strategie.alg_onrgoedkenmerk_waarde)) strategie
|
||
FROM (SELECT g.alg_gebouw_key alg_onrgoed_key,
|
||
'G' alg_onrgoed_type,
|
||
g.alg_gebouw_code,
|
||
NULL alg_verdieping_volgnr,
|
||
NULL alg_verdieping_code,
|
||
NULL alg_srtruimte_omschrijving,
|
||
NULL alg_ruimte_nr,
|
||
NULL alg_ruimte_omschrijving,
|
||
fac.safe_to_number (glhkot.alg_onrgoedkenmerk_waarde) vvo,
|
||
NULL bvo,
|
||
DECODE (glhkot.alg_kenmerk_key, 1082, 'L', 1083, 'H', 1084, 'K', 1085, 'O', 'T') lhkot_class
|
||
FROM alg_v_aanweziggebouw g,
|
||
alg_v_aanwezigonrgoedkenmerk glhkot
|
||
WHERE g.alg_locatie_key = 1 -- CAMPUS
|
||
AND g.alg_gebouw_key = glhkot.alg_onrgoed_key(+)
|
||
AND glhkot.alg_kenmerk_key(+) IN (1082, 1083, 1084, 1085, 1120) -- LHKOT Oppervlakten
|
||
AND glhkot.alg_onrgoed_niveau(+) = 'G'
|
||
UNION ALL
|
||
SELECT t.alg_terreinsector_key alg_onrgoed_key,
|
||
'T' alg_onrgoed_type,
|
||
t.alg_terreinsector_code alg_gebouw_code,
|
||
NULL alg_verdieping_volgnr,
|
||
NULL alg_verdieping_code,
|
||
NULL alg_srtruimte_omschrijving,
|
||
NULL alg_ruimte_nr,
|
||
NULL alg_ruimte_omschrijving,
|
||
t.alg_terreinsector_oppervlak vvo,
|
||
t.alg_terreinsector_oppervlak bvo,
|
||
NULL lhkot_class
|
||
FROM alg_v_aanwezigterreinsector t
|
||
WHERE t.alg_locatie_key = 1 -- CAMPUS
|
||
UNION ALL
|
||
SELECT v.alg_verdieping_key alg_onrgoed_key,
|
||
'V' alg_onrgoed_type,
|
||
g.alg_gebouw_code,
|
||
v.alg_verdieping_volgnr,
|
||
v.alg_verdieping_code,
|
||
NULL alg_srtruimte_omschrijving,
|
||
NULL alg_ruimte_nr,
|
||
NULL alg_ruimte_omschrijving,
|
||
fac.safe_to_number (vlhkot.alg_onrgoedkenmerk_waarde) vvo,
|
||
NULL bvo,
|
||
DECODE (vlhkot.alg_kenmerk_key, 1092, 'L', 1093, 'H', 1094, 'K', 1095, 'O', 'T') lhkot_class
|
||
FROM alg_v_aanwezigverdieping v,
|
||
alg_gebouw g,
|
||
alg_v_aanwezigonrgoedkenmerk vlhkot
|
||
WHERE v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = 1 -- CAMPUS
|
||
AND v.alg_verdieping_key = vlhkot.alg_onrgoed_key(+)
|
||
AND vlhkot.alg_kenmerk_key(+) IN (1092, 1093, 1094, 1095, 1121) -- LHKOT Oppervlakten
|
||
AND vlhkot.alg_onrgoed_niveau(+) = 'V'
|
||
UNION ALL
|
||
SELECT r.alg_ruimte_key alg_onrgoed_key,
|
||
'R' alg_onrgoed_type,
|
||
g.alg_gebouw_code,
|
||
v.alg_verdieping_volgnr,
|
||
v.alg_verdieping_code,
|
||
sr.alg_srtruimte_omschrijving,
|
||
r.alg_ruimte_nr,
|
||
r.alg_ruimte_omschrijving,
|
||
r.alg_ruimte_opp_alt1 vvo,
|
||
r.alg_ruimte_bruto_vloeropp bvo,
|
||
ud.fac_usrdata_code lhkot_class
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_srtruimte sr,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_v_aanwezigonrgoedkenmerk rlhkot,
|
||
fac_usrdata ud
|
||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = 1 -- CAMPUS
|
||
AND r.alg_ruimte_key = rlhkot.alg_onrgoed_key(+)
|
||
AND rlhkot.alg_kenmerk_key(+) = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau(+) = 'R'
|
||
AND fac.safe_to_number (rlhkot.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key(+)) fp -- FIN-plaatsen
|
||
LEFT JOIN ( SELECT cp.cnt_alg_plaats_key,
|
||
LISTAGG (c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0'), ',') WITHIN GROUP (ORDER BY c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0'))
|
||
contract
|
||
FROM cnt_v_aanwezigcontract c, cnt_contract_plaats cp
|
||
WHERE c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND SYSDATE BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1)
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND cp.cnt_contract_plaats_verwijder IS NULL
|
||
AND c.cnt_contract_key = cp.cnt_contract_key
|
||
GROUP BY cp.cnt_alg_plaats_key) c
|
||
ON fp.alg_onrgoed_key = c.cnt_alg_plaats_key
|
||
LEFT JOIN alg_gebouw g
|
||
ON fp.alg_onrgoed_key = g.alg_gebouw_key
|
||
LEFT JOIN alg_srtgebouw sg
|
||
ON g.alg_srtgebouw_key = sg.alg_srtgebouw_key
|
||
LEFT JOIN prs_v_perslid_fullnames_all pf1
|
||
ON g.prs_perslid_key_verantw = pf1.prs_perslid_key
|
||
LEFT JOIN prs_v_perslid_fullnames_all pf2
|
||
ON g.prs_perslid_key_verantw2 = pf2.prs_perslid_key
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk dvl
|
||
ON fp.alg_onrgoed_key = dvl.alg_onrgoed_key
|
||
AND dvl.alg_kenmerk_key = 1060 -- Dienstverlener
|
||
AND dvl.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk eig
|
||
ON fp.alg_onrgoed_key = eig.alg_onrgoed_key
|
||
AND eig.alg_kenmerk_key = 1140 -- Eigenaar
|
||
AND eig.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk bouwjaar
|
||
ON fp.alg_onrgoed_key = bouwjaar.alg_onrgoed_key
|
||
AND bouwjaar.alg_kenmerk_key = 1160 -- Bouwjaar
|
||
AND bouwjaar.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk strategie
|
||
ON fp.alg_onrgoed_key = strategie.alg_onrgoed_key
|
||
AND strategie.alg_kenmerk_key = 1161 -- Strategie
|
||
AND strategie.alg_onrgoed_niveau = 'G';
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_contractgeg
|
||
AS
|
||
WITH ck AS (SELECT sk.vnr, sk.cnt_srtkenmerk_key, sk.cnt_srtkenmerk_omschrijving, kw.cnt_contract_key, kw.waarde
|
||
FROM (SELECT ROWNUM vnr, cnt_srtkenmerk_key, cnt_srtkenmerk_omschrijving
|
||
FROM ( SELECT sk.cnt_srtkenmerk_key, sk.cnt_srtkenmerk_omschrijving, sk.cnt_srtkenmerk_aanmaak
|
||
FROM cnt_srtkenmerk sk
|
||
WHERE sk.cnt_srtkenmerk_kenmerktype IN ('C', 'D', 'N', 'R', 'S', 'X', 'B', 'V')
|
||
AND COALESCE (sk.cnt_srtkenmerk_verwijder, SYSDATE) > TO_DATE ('010717', 'ddmmyy')
|
||
AND EXISTS (SELECT 1
|
||
FROM cnt_kenmerk
|
||
WHERE cnt_srtcontract_key BETWEEN 621 AND 761
|
||
AND COALESCE (cnt_kenmerk_verwijder, SYSDATE) > TO_DATE ('010717', 'ddmmyy')
|
||
AND cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key)
|
||
ORDER BY 3)) sk
|
||
LEFT JOIN
|
||
(SELECT sk.cnt_srtkenmerk_key, ck.cnt_contract_key,
|
||
DECODE (sk.cnt_srtkenmerk_kenmerktype,
|
||
'R', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, ck.cnt_kenmerkcontract_waarde),
|
||
'S', fac.getdomeinwaarde (sk.fac_kenmerkdomein_key, ck.cnt_kenmerkcontract_waarde),
|
||
ck.cnt_kenmerkcontract_waarde)
|
||
waarde
|
||
FROM cnt_kenmerkcontract ck, cnt_kenmerk k, cnt_srtkenmerk sk
|
||
WHERE ck.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND ck.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key) kw
|
||
ON sk.cnt_srtkenmerk_key = kw.cnt_srtkenmerk_key)
|
||
SELECT 0 sortering,
|
||
'Contract' contractnr, -- Inclusief versie
|
||
'Contractstatus' contractstatus, -- Nieuw
|
||
'Externnr' externnr, -- PO-nr
|
||
'Contractsoort' contractsoort,
|
||
--'Beschrijving' beschrijving,
|
||
--'Mantelnr' mantelnr,
|
||
--'Omschrijving' omschrijving,
|
||
--'Versie' versie,
|
||
--'Dienst' dienst,
|
||
--'Contractafdelingcode' eigenaar_afd,
|
||
--'Contactpersoonlogin' eigenaar_login,
|
||
--'Contractbeheerderlogin' beheerder_login,
|
||
--'Opmerking' opmerking,
|
||
'Debiteurnr' debiteurnr, -- Nieuw
|
||
'Contractant' contractant,
|
||
'Ingangsdatum' ingangsdatum,
|
||
'Rappeldatum' rappeldatum,
|
||
'Opzegdatum' opzegdatum,
|
||
'Einddatum' einddatum,
|
||
--'Bedrijfnaam' bedrijfnaam, -- Omhoog als contractant
|
||
--'Contactnaam' contactnaam,
|
||
--'Kostenplaatscode' kostenplaatscode,
|
||
--'Contractbedrag' contractbedrag,
|
||
--'Termijnbedrag' termijnbedrag,
|
||
--'Uurtarief' uurtarief,
|
||
'Korting' korting,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 1)) kenmerk1,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 2)) kenmerk2,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 3)) kenmerk3,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 4)) kenmerk4,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 5)) kenmerk5,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 6)) kenmerk6,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 7)) kenmerk7,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 8)) kenmerk8,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 9)) kenmerk9,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 10)) kenmerk10,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 11)) kenmerk11,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 12)) kenmerk12,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 13)) kenmerk13,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 14)) kenmerk14,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 15)) kenmerk15,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 16)) kenmerk16,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 17)) kenmerk17,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 18)) kenmerk18,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 19)) kenmerk19,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 20)) kenmerk20,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 21)) kenmerk21,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 22)) kenmerk22,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 23)) kenmerk23,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 24)) kenmerk24,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 25)) kenmerk25,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 26)) kenmerk26,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 27)) kenmerk27,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 28)) kenmerk28,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 29)) kenmerk29,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 30)) kenmerk30,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 31)) kenmerk31,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 32)) kenmerk32,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 33)) kenmerk33,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 34)) kenmerk34,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 35)) kenmerk35,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 36)) kenmerk36,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 37)) kenmerk37,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 38)) kenmerk38,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 39)) kenmerk39,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 40)) kenmerk40,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 41)) kenmerk41,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 42)) kenmerk42,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 43)) kenmerk43,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 44)) kenmerk44,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 45)) kenmerk45,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 46)) kenmerk46,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 47)) kenmerk47,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 48)) kenmerk48,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 49)) kenmerk49,
|
||
TO_CHAR ((SELECT MAX (cnt_srtkenmerk_omschrijving) FROM ck WHERE vnr = 50)) kenmerk50
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT 1 sortering,
|
||
x.cnt_contract_nummer_intern || '.' || COALESCE (x.cnt_contract_versie, '0') contractnr,
|
||
DECODE (x.cnt_contract_status, 1, 'Gesloten', 'Actief') contractstatus, -- Nieuw
|
||
x.cnt_contract_nummer externnr,
|
||
x.ins_discipline_omschrijving contractsoort,
|
||
--x.cnt_contract_omschrijving beschrijving,
|
||
--x.mantelnr,
|
||
--x.cnt_contract_document omschrijving,
|
||
--x.cnt_contract_versie versie,
|
||
--x.prs_dienst_omschrijving dienst,
|
||
--x.prs_afdeling_naam eigenaar_afd,
|
||
--x.login_eig eigenaar_login,
|
||
--x.login_beh beheerder_login,
|
||
--x.cnt_contract_opmerking opmerking,
|
||
x.prs_overeenkomst_nr debiteurnr,
|
||
x.prs_bedrijf_naam contractant,
|
||
TO_CHAR (x.cnt_contract_looptijd_van, 'dd-mm-yyyy') ingangsdatum,
|
||
TO_CHAR (cnt.cnt_getRappeldatum (x.cnt_contract_key), 'dd-mm-yyyy') rappeldatum,
|
||
TO_CHAR (cnt.cnt_getOpzegdatum (x.cnt_contract_key), 'dd-mm-yyyy') opzegdatum,
|
||
TO_CHAR (x.cnt_contract_looptijd_tot, 'dd-mm-yyyy') einddatum,
|
||
--x.prs_bedrijf_naam bedrijfnaam,
|
||
--x.prs_contactpersoon_naam contactnaam,
|
||
--x.prs_kostenplaats_nr kostenplaatscode,
|
||
--TO_CHAR (x.cnt_contract_kosten) contractbedrag,
|
||
--TO_CHAR (x.cnt_contract_termijnkosten) termijnbedrag,
|
||
--TO_CHAR (x.cnt_contract_uurloon) uurtarief,
|
||
TO_CHAR (x.cnt_contract_korting) korting,
|
||
k1.waarde kenmerk1,
|
||
k2.waarde kenmerk2,
|
||
k3.waarde kenmerk3,
|
||
k4.waarde kenmerk4,
|
||
k5.waarde kenmerk5,
|
||
k6.waarde kenmerk6,
|
||
k7.waarde kenmerk7,
|
||
k8.waarde kenmerk8,
|
||
k9.waarde kenmerk9,
|
||
k10.waarde kenmerk10,
|
||
k11.waarde kenmerk11,
|
||
k12.waarde kenmerk12,
|
||
k13.waarde kenmerk13,
|
||
k14.waarde kenmerk14,
|
||
k15.waarde kenmerk15,
|
||
k16.waarde kenmerk16,
|
||
k17.waarde kenmerk17,
|
||
k18.waarde kenmerk18,
|
||
k19.waarde kenmerk19,
|
||
k20.waarde kenmerk20,
|
||
k21.waarde kenmerk21,
|
||
k22.waarde kenmerk22,
|
||
k23.waarde kenmerk23,
|
||
k24.waarde kenmerk24,
|
||
k25.waarde kenmerk25,
|
||
k26.waarde kenmerk26,
|
||
k27.waarde kenmerk27,
|
||
k28.waarde kenmerk28,
|
||
k29.waarde kenmerk29,
|
||
k30.waarde kenmerk30,
|
||
k31.waarde kenmerk31,
|
||
k32.waarde kenmerk32,
|
||
k33.waarde kenmerk33,
|
||
k34.waarde kenmerk34,
|
||
k35.waarde kenmerk35,
|
||
k36.waarde kenmerk36,
|
||
k37.waarde kenmerk37,
|
||
k38.waarde kenmerk38,
|
||
k39.waarde kenmerk39,
|
||
k40.waarde kenmerk40,
|
||
k41.waarde kenmerk41,
|
||
k42.waarde kenmerk42,
|
||
k43.waarde kenmerk43,
|
||
k44.waarde kenmerk44,
|
||
k45.waarde kenmerk45,
|
||
k46.waarde kenmerk46,
|
||
k47.waarde kenmerk47,
|
||
k48.waarde kenmerk48,
|
||
k49.waarde kenmerk49,
|
||
k50.waarde kenmerk50
|
||
FROM (SELECT c.*,
|
||
cd.ins_discipline_omschrijving,
|
||
cm.cnt_contract_nummer_intern mantelnr,
|
||
d.prs_dienst_omschrijving,
|
||
a.prs_afdeling_naam,
|
||
eig.prs_perslid_oslogin login_eig,
|
||
beh.prs_perslid_oslogin login_beh,
|
||
b.prs_overeenkomst_nr,
|
||
b.prs_bedrijf_naam,
|
||
cp.prs_contactpersoon_naam,
|
||
kp.prs_kostenplaats_nr
|
||
FROM cnt_v_aanwezigcontract c,
|
||
cnt_discipline cd,
|
||
cnt_v_aanwezigcontract cm,
|
||
prs_dienst d,
|
||
prs_afdeling a,
|
||
prs_v_aanwezigperslid eig,
|
||
prs_v_aanwezigperslid beh,
|
||
prs_v_aanwezigbedrijf b,
|
||
prs_contactpersoon cp,
|
||
prs_kostenplaats kp
|
||
WHERE c.ins_discipline_key BETWEEN 621 AND 761
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND c.cnt_contract_mantel_key = cm.cnt_contract_key(+)
|
||
AND c.prs_dienst_key = d.prs_dienst_key(+)
|
||
AND c.prs_afdeling_key_eig = a.prs_afdeling_key
|
||
AND c.prs_perslid_key_eig = eig.prs_perslid_key(+)
|
||
AND c.prs_perslid_key_beh = beh.prs_perslid_key(+)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND c.prs_contactpersoon_key = cp.prs_contactpersoon_key(+)) x
|
||
LEFT JOIN ck k1 ON x.cnt_contract_key = k1.cnt_contract_key AND k1.vnr = 1
|
||
LEFT JOIN ck k2 ON x.cnt_contract_key = k2.cnt_contract_key AND k2.vnr = 2
|
||
LEFT JOIN ck k3 ON x.cnt_contract_key = k3.cnt_contract_key AND k3.vnr = 3
|
||
LEFT JOIN ck k4 ON x.cnt_contract_key = k4.cnt_contract_key AND k4.vnr = 4
|
||
LEFT JOIN ck k5 ON x.cnt_contract_key = k5.cnt_contract_key AND k5.vnr = 5
|
||
LEFT JOIN ck k6 ON x.cnt_contract_key = k6.cnt_contract_key AND k6.vnr = 6
|
||
LEFT JOIN ck k7 ON x.cnt_contract_key = k7.cnt_contract_key AND k7.vnr = 7
|
||
LEFT JOIN ck k8 ON x.cnt_contract_key = k8.cnt_contract_key AND k8.vnr = 8
|
||
LEFT JOIN ck k9 ON x.cnt_contract_key = k9.cnt_contract_key AND k9.vnr = 9
|
||
LEFT JOIN ck k10 ON x.cnt_contract_key = k10.cnt_contract_key AND k10.vnr = 10
|
||
LEFT JOIN ck k11 ON x.cnt_contract_key = k11.cnt_contract_key AND k11.vnr = 11
|
||
LEFT JOIN ck k12 ON x.cnt_contract_key = k12.cnt_contract_key AND k12.vnr = 12
|
||
LEFT JOIN ck k13 ON x.cnt_contract_key = k13.cnt_contract_key AND k13.vnr = 13
|
||
LEFT JOIN ck k14 ON x.cnt_contract_key = k14.cnt_contract_key AND k14.vnr = 14
|
||
LEFT JOIN ck k15 ON x.cnt_contract_key = k15.cnt_contract_key AND k15.vnr = 15
|
||
LEFT JOIN ck k16 ON x.cnt_contract_key = k16.cnt_contract_key AND k16.vnr = 16
|
||
LEFT JOIN ck k17 ON x.cnt_contract_key = k17.cnt_contract_key AND k17.vnr = 17
|
||
LEFT JOIN ck k18 ON x.cnt_contract_key = k18.cnt_contract_key AND k18.vnr = 18
|
||
LEFT JOIN ck k19 ON x.cnt_contract_key = k19.cnt_contract_key AND k19.vnr = 19
|
||
LEFT JOIN ck k20 ON x.cnt_contract_key = k20.cnt_contract_key AND k20.vnr = 20
|
||
LEFT JOIN ck k21 ON x.cnt_contract_key = k21.cnt_contract_key AND k21.vnr = 21
|
||
LEFT JOIN ck k22 ON x.cnt_contract_key = k22.cnt_contract_key AND k22.vnr = 22
|
||
LEFT JOIN ck k23 ON x.cnt_contract_key = k23.cnt_contract_key AND k23.vnr = 23
|
||
LEFT JOIN ck k24 ON x.cnt_contract_key = k24.cnt_contract_key AND k24.vnr = 24
|
||
LEFT JOIN ck k25 ON x.cnt_contract_key = k25.cnt_contract_key AND k25.vnr = 25
|
||
LEFT JOIN ck k26 ON x.cnt_contract_key = k26.cnt_contract_key AND k26.vnr = 26
|
||
LEFT JOIN ck k27 ON x.cnt_contract_key = k27.cnt_contract_key AND k27.vnr = 27
|
||
LEFT JOIN ck k28 ON x.cnt_contract_key = k28.cnt_contract_key AND k28.vnr = 28
|
||
LEFT JOIN ck k29 ON x.cnt_contract_key = k29.cnt_contract_key AND k29.vnr = 29
|
||
LEFT JOIN ck k30 ON x.cnt_contract_key = k30.cnt_contract_key AND k30.vnr = 30
|
||
LEFT JOIN ck k31 ON x.cnt_contract_key = k31.cnt_contract_key AND k31.vnr = 31
|
||
LEFT JOIN ck k32 ON x.cnt_contract_key = k32.cnt_contract_key AND k32.vnr = 32
|
||
LEFT JOIN ck k33 ON x.cnt_contract_key = k33.cnt_contract_key AND k33.vnr = 33
|
||
LEFT JOIN ck k34 ON x.cnt_contract_key = k34.cnt_contract_key AND k34.vnr = 34
|
||
LEFT JOIN ck k35 ON x.cnt_contract_key = k35.cnt_contract_key AND k35.vnr = 35
|
||
LEFT JOIN ck k36 ON x.cnt_contract_key = k36.cnt_contract_key AND k36.vnr = 36
|
||
LEFT JOIN ck k37 ON x.cnt_contract_key = k37.cnt_contract_key AND k37.vnr = 37
|
||
LEFT JOIN ck k38 ON x.cnt_contract_key = k38.cnt_contract_key AND k38.vnr = 38
|
||
LEFT JOIN ck k39 ON x.cnt_contract_key = k39.cnt_contract_key AND k39.vnr = 39
|
||
LEFT JOIN ck k40 ON x.cnt_contract_key = k40.cnt_contract_key AND k40.vnr = 40
|
||
LEFT JOIN ck k41 ON x.cnt_contract_key = k41.cnt_contract_key AND k41.vnr = 41
|
||
LEFT JOIN ck k42 ON x.cnt_contract_key = k42.cnt_contract_key AND k42.vnr = 42
|
||
LEFT JOIN ck k43 ON x.cnt_contract_key = k43.cnt_contract_key AND k43.vnr = 43
|
||
LEFT JOIN ck k44 ON x.cnt_contract_key = k44.cnt_contract_key AND k44.vnr = 44
|
||
LEFT JOIN ck k45 ON x.cnt_contract_key = k45.cnt_contract_key AND k45.vnr = 45
|
||
LEFT JOIN ck k46 ON x.cnt_contract_key = k46.cnt_contract_key AND k46.vnr = 46
|
||
LEFT JOIN ck k47 ON x.cnt_contract_key = k47.cnt_contract_key AND k47.vnr = 47
|
||
LEFT JOIN ck k48 ON x.cnt_contract_key = k48.cnt_contract_key AND k48.vnr = 48
|
||
LEFT JOIN ck k49 ON x.cnt_contract_key = k49.cnt_contract_key AND k49.vnr = 49
|
||
LEFT JOIN ck k50 ON x.cnt_contract_key = k50.cnt_contract_key AND k50.vnr = 50;
|
||
|
||
-- Onderstaande views zijn voor export tbv PowerBI
|
||
-- Export voor PowerBI catering
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_cat
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"debiteur"'
|
||
|| ';"organisatie"'
|
||
|| ';"locatie"'
|
||
|| ';"ruimte"'
|
||
|| ';"datum"'
|
||
|| ';"tijd_van"'
|
||
|| ';"tijd_tot"'
|
||
|| ';"resnr"'
|
||
|| ';"omschrijving"'
|
||
|| ';"artikelkey"'
|
||
|| ';"artikelnr"'
|
||
|| ';"artikelomschrijving"'
|
||
|| ';"aantal"'
|
||
|| ';"stuksprijs"'
|
||
|| ';"kosten"'
|
||
|| ';"besteller"'
|
||
|| ';"costcenter"'
|
||
|| ';"activiteit"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| fclt_f_debiteur
|
||
|| '";"'
|
||
|| fclt_f_organisatie
|
||
|| '";"'
|
||
|| locatie
|
||
|| '";"'
|
||
|| ruimte
|
||
|| '";"'
|
||
|| datum
|
||
|| '";"'
|
||
|| tijd_van
|
||
|| '";"'
|
||
|| tijd_tot
|
||
|| '";"'
|
||
|| resnr
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| artikelkey
|
||
|| '";"'
|
||
|| artikelnr
|
||
|| '";"'
|
||
|| artikelomschrijving
|
||
|| '";"'
|
||
|| aantal
|
||
|| '";"'
|
||
|| stuksprijs
|
||
|| '";"'
|
||
|| kosten
|
||
|| '";"'
|
||
|| fclt_f_besteller
|
||
|| '";"'
|
||
|| costcenter
|
||
|| '";"'
|
||
|| activiteit
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_cateringoverzicht;
|
||
|
||
-- Export voor PowerBI meldingen
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_mld
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"prioriteittxt"'
|
||
|| ';"melding_nummer"'
|
||
|| ';"vakgroep"'
|
||
|| ';"meldingsoort"'
|
||
|| ';"melding_datum"'
|
||
|| ';"melding_tijd"'
|
||
|| ';"melding_locatiecode"'
|
||
|| ';"melding_gebouwcode"'
|
||
|| ';"melding_verdieping"'
|
||
|| ';"melding_ruimtenr"'
|
||
|| ';"melding_onderwerp"'
|
||
|| ';"melding_omschrijving"'
|
||
|| ';"melder"'
|
||
|| ';"melding_status"'
|
||
|| ';"melding_afhandeling"'
|
||
|| ';"melding_behandelaar"'
|
||
|| ';"melding_einddatum"'
|
||
|| ';"afspraak_sla_uren"'
|
||
|| ';"melder_key"'
|
||
|| ';"melding_kostenplaats_code"'
|
||
|| ';"melding_kostenplaats_groep"'
|
||
|| ';"kostensoort_code"'
|
||
|| ';"kostensoort_groep"'
|
||
|| ';"vakgroeptype"'
|
||
|| ';"melding_nummer_parent"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| prioriteittxt
|
||
|| '";"'
|
||
|| melding_nummer
|
||
|| '";"'
|
||
|| productgroep
|
||
|| '";"'
|
||
|| subproductgroep
|
||
|| '";"'
|
||
|| melding_datum
|
||
|| '";"'
|
||
|| melding_tijd
|
||
|| '";"'
|
||
|| melding_locatiecode
|
||
|| '";"'
|
||
|| melding_gebouwcode
|
||
|| '";"'
|
||
|| melding_verdieping
|
||
|| '";"'
|
||
|| melding_ruimtenr
|
||
|| '";"'
|
||
|| onderwerp
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| melder
|
||
|| '";"'
|
||
|| melding_status
|
||
|| '";"'
|
||
|| melding_opmerking
|
||
|| '";"'
|
||
|| behandelaar
|
||
|| '";"'
|
||
|| melding_einddatum
|
||
|| '";"'
|
||
|| afspraak_sla_uren
|
||
|| '";"'
|
||
|| melder_key
|
||
|| '";"'
|
||
|| kostenplaats_code
|
||
|| '";"'
|
||
|| kostenplaats_groep
|
||
|| '";"'
|
||
|| kostensoort_code
|
||
|| '";"'
|
||
|| kostensoort_groep
|
||
|| '";"'
|
||
|| vakgroeptype
|
||
|| '";"'
|
||
|| melding_nummer_parent
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_meldingen;
|
||
|
||
-- Export voor PowerBI opdrachten
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_opdr
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"prioriteittxt"'
|
||
|| ';"opdracht_nummer"'
|
||
|| ';"melding_nummer"'
|
||
|| ';"opdracht_type"'
|
||
|| ';"opdracht_omschrijving"'
|
||
|| ';"opdracht_datum"'
|
||
|| ';"opdracht_tijd"'
|
||
|| ';"opdracht_status"'
|
||
|| ';"opdracht_einddatum_gepland"'
|
||
|| ';"opdracht_eindtijd_gepland"'
|
||
|| ';"opdracht_uitvoerende"'
|
||
|| ';"opdracht_uitvoerende_crednr"'
|
||
|| ';"opdracht_behandelaar"'
|
||
|| ';"opdracht_kostenplaats_code"'
|
||
|| ';"opdracht_kostenplaats_groep"'
|
||
|| ';"opdracht_kosten"'
|
||
|| ';"opdracht_uren"'
|
||
|| ';"opdracht_correctie"'
|
||
|| ';"opdracht_materiaal"'
|
||
|| ';"opdracht_uurtarief"'
|
||
|| ';"opdracht_offerte"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| prioriteittxt
|
||
|| '";"'
|
||
|| opdracht_nummer
|
||
|| '";"'
|
||
|| melding_nummer
|
||
|| '";"'
|
||
|| opdracht_type
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| opdracht_datum
|
||
|| '";"'
|
||
|| opdracht_tijd
|
||
|| '";"'
|
||
|| opdracht_status
|
||
|| '";"'
|
||
|| opdracht_einddatum
|
||
|| '";"'
|
||
|| opdracht_eindtijd
|
||
|| '";"'
|
||
|| opdracht_uitvoerende
|
||
|| '";"'
|
||
|| opdracht_uitvoerende_crednr
|
||
|| '";"'
|
||
|| behandelaar
|
||
|| '";"'
|
||
|| kostenplaats_code
|
||
|| '";"'
|
||
|| kostenplaats_groep
|
||
|| '";"'
|
||
|| opdracht_kosten
|
||
|| '";"'
|
||
|| opdracht_uren
|
||
|| '";"'
|
||
|| opdracht_correctie
|
||
|| '";"'
|
||
|| opdracht_materiaal
|
||
|| '";"'
|
||
|| opdracht_uurtarief
|
||
|| '";"'
|
||
|| opdracht_offerte
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_opdrachten;
|
||
|
||
-- Export voor PowerBI mld-tracking
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_mldtrk
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"melding_nummer"'
|
||
|| ';"wijzigingsdatum"'
|
||
|| ';"wijzigingstijdstip"'
|
||
|| ';"wijzigingdoor"'
|
||
|| ';"wijzigingcode"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| melding
|
||
|| '";"'
|
||
|| wijzigingsdatum
|
||
|| '";"'
|
||
|| wijzigingstijdstip
|
||
|| '";"'
|
||
|| wijzigingdoor
|
||
|| '";"'
|
||
|| wijzigingcode
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_mldtrk;
|
||
|
||
-- Export voor PowerBI ord-tracking
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_ordtrk
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"opdracht_nummer"'
|
||
|| ';"wijzigingsdatum"'
|
||
|| ';"wijzigingstijdstip"'
|
||
|| ';"wijzigingdoor"'
|
||
|| ';"wijzigingcode"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| opdracht
|
||
|| '";"'
|
||
|| wijzigingsdatum
|
||
|| '";"'
|
||
|| wijzigingstijdstip
|
||
|| '";"'
|
||
|| wijzigingdoor
|
||
|| '";"'
|
||
|| wijzigingcode
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_ordtrk;
|
||
|
||
-- Export voor PowerBI kosten
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_kosten
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"kostenplaatsnr"'
|
||
|| ';"kostenplaatsgroep"'
|
||
|| ';"datum"'
|
||
|| ';"aanvrager"'
|
||
|| ';"organisatie"'
|
||
|| ';"categorie"'
|
||
|| ';"referentie"'
|
||
|| ';"kostensoortnr"'
|
||
|| ';"kostensoort"'
|
||
|| ';"bedrag"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| KOSTENPLAATSNR
|
||
|| '";"'
|
||
|| KOSTENPLAATSGROEP
|
||
|| '";"'
|
||
|| TO_CHAR (DATUM, 'DD-MM-YYYY')
|
||
|| '";"'
|
||
|| AANVRAGER
|
||
|| '";"'
|
||
|| ORGANISATIE
|
||
|| '";"'
|
||
|| CATEGORIE
|
||
|| '";"'
|
||
|| REFERENTIE
|
||
|| '";"'
|
||
|| KOSTENSOORTNR
|
||
|| '";"'
|
||
|| KOSTENSOORT
|
||
|| '";"'
|
||
|| TO_CHAR (BEDRAG, 'fm999999999999999990.00')
|
||
|| '"',
|
||
1
|
||
FROM fin_v_udr_kostenoverzicht;
|
||
|
||
-- Export voor PowerBI vastgoed
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_vastgoed
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"alg_onrgoed_key"'
|
||
|| ';"alg_onrgoed_type"'
|
||
|| ';"gebouwcode"'
|
||
|| ';"verdiepingvolgnr"'
|
||
|| ';"verdiepingcode"'
|
||
|| ';"ruimtefunctie"'
|
||
|| ';"ruimtenummer"'
|
||
|| ';"ruimteomschrijving"'
|
||
|| ';"vvo"'
|
||
|| ';"bvo"'
|
||
|| ';"lhkot_class"'
|
||
|| ';"contract"'
|
||
|| ';"verantw1"'
|
||
|| ';"verantw2"'
|
||
|| ';"dienstverlener"'
|
||
|| ';"eigenaar"'
|
||
|| ';"gebouwfunctie"'
|
||
|| ';"bouwjaar"'
|
||
|| ';"strategie"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| ALG_ONRGOED_KEY
|
||
|| '";"'
|
||
|| ALG_ONRGOED_TYPE
|
||
|| '";"'
|
||
|| GEBOUWCODE
|
||
|| '";"'
|
||
|| VERDIEPINGVOLGNR
|
||
|| '";"'
|
||
|| VERDIEPINGCODE
|
||
|| '";"'
|
||
|| RUIMTEFUNCTIE
|
||
|| '";"'
|
||
|| RUIMTENUMMER
|
||
|| '";"'
|
||
|| RUIMTEOMSCHRIJVING
|
||
|| '";"'
|
||
|| VVO
|
||
|| '";"'
|
||
|| BVO
|
||
|| '";"'
|
||
|| LHKOT_CLASS
|
||
|| '";"'
|
||
|| CONTRACT
|
||
|| '";"'
|
||
|| GEBOUWVERANTW1
|
||
|| '";"'
|
||
|| GEBOUWVERANTW2
|
||
|| '";"'
|
||
|| DIENSTVERLENER
|
||
|| '";"'
|
||
|| EIGENAAR
|
||
|| '";"'
|
||
|| GEBOUWFUNCTIE
|
||
|| '";"'
|
||
|| BOUWJAAR
|
||
|| '";"'
|
||
|| STRATEGIE
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_fact_vastgoedgeg;
|
||
|
||
-- Export voor PowerBI contracten
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_contract
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"sortering"'
|
||
|| ';"contractnr"'
|
||
|| ';"contractstatus"'
|
||
|| ';"externnr"'
|
||
|| ';"contractsoort"'
|
||
|| ';"debiteurnr"'
|
||
|| ';"contractant"'
|
||
|| ';"ingangsdatum"'
|
||
|| ';"rappeldatum"'
|
||
|| ';"opzegdatum"'
|
||
|| ';"einddatum"'
|
||
|| ';"korting"'
|
||
|| ';"kenmerk1"'
|
||
|| ';"kenmerk2"'
|
||
|| ';"kenmerk3"'
|
||
|| ';"kenmerk4"'
|
||
|| ';"kenmerk5"'
|
||
|| ';"kenmerk6"'
|
||
|| ';"kenmerk7"'
|
||
|| ';"kenmerk8"'
|
||
|| ';"kenmerk9"'
|
||
|| ';"kenmerk10"'
|
||
|| ';"kenmerk11"'
|
||
|| ';"kenmerk12"'
|
||
|| ';"kenmerk13"'
|
||
|| ';"kenmerk14"'
|
||
|| ';"kenmerk15"'
|
||
|| ';"kenmerk16"'
|
||
|| ';"kenmerk17"'
|
||
|| ';"kenmerk18"'
|
||
|| ';"kenmerk19"'
|
||
|| ';"kenmerk20"'
|
||
|| ';"kenmerk21"'
|
||
|| ';"kenmerk22"'
|
||
|| ';"kenmerk23"'
|
||
|| ';"kenmerk24"'
|
||
|| ';"kenmerk25"'
|
||
|| ';"kenmerk26"'
|
||
|| ';"kenmerk27"'
|
||
|| ';"kenmerk28"'
|
||
|| ';"kenmerk29"'
|
||
|| ';"kenmerk30"'
|
||
|| ';"kenmerk31"'
|
||
|| ';"kenmerk32"'
|
||
|| ';"kenmerk33"'
|
||
|| ';"kenmerk34"'
|
||
|| ';"kenmerk35"'
|
||
|| ';"kenmerk36"'
|
||
|| ';"kenmerk37"'
|
||
|| ';"kenmerk38"'
|
||
|| ';"kenmerk39"'
|
||
|| ';"kenmerk40"'
|
||
|| ';"kenmerk41"'
|
||
|| ';"kenmerk42"'
|
||
|| ';"kenmerk43"'
|
||
|| ';"kenmerk44"'
|
||
|| ';"kenmerk45"'
|
||
|| ';"kenmerk46"'
|
||
|| ';"kenmerk47"'
|
||
|| ';"kenmerk48"'
|
||
|| ';"kenmerk49"'
|
||
|| ';"kenmerk50"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| SORTERING
|
||
|| '";"'
|
||
|| CONTRACTNR
|
||
|| '";"'
|
||
|| CONTRACTSTATUS
|
||
|| '";"'
|
||
|| EXTERNNR
|
||
|| '";"'
|
||
|| CONTRACTSOORT
|
||
|| '";"'
|
||
|| DEBITEURNR
|
||
|| '";"'
|
||
|| CONTRACTANT
|
||
|| '";"'
|
||
|| INGANGSDATUM
|
||
|| '";"'
|
||
|| RAPPELDATUM
|
||
|| '";"'
|
||
|| OPZEGDATUM
|
||
|| '";"'
|
||
|| EINDDATUM
|
||
|| '";"'
|
||
|| KORTING
|
||
|| '";"'
|
||
|| KENMERK1
|
||
|| '";"'
|
||
|| KENMERK2
|
||
|| '";"'
|
||
|| KENMERK3
|
||
|| '";"'
|
||
|| KENMERK4
|
||
|| '";"'
|
||
|| KENMERK5
|
||
|| '";"'
|
||
|| KENMERK6
|
||
|| '";"'
|
||
|| KENMERK7
|
||
|| '";"'
|
||
|| KENMERK8
|
||
|| '";"'
|
||
|| KENMERK9
|
||
|| '";"'
|
||
|| KENMERK10
|
||
|| '";"'
|
||
|| KENMERK11
|
||
|| '";"'
|
||
|| KENMERK12
|
||
|| '";"'
|
||
|| KENMERK13
|
||
|| '";"'
|
||
|| KENMERK14
|
||
|| '";"'
|
||
|| KENMERK15
|
||
|| '";"'
|
||
|| KENMERK16
|
||
|| '";"'
|
||
|| KENMERK17
|
||
|| '";"'
|
||
|| KENMERK18
|
||
|| '";"'
|
||
|| KENMERK19
|
||
|| '";"'
|
||
|| KENMERK20
|
||
|| '";"'
|
||
|| KENMERK21
|
||
|| '";"'
|
||
|| KENMERK22
|
||
|| '";"'
|
||
|| KENMERK23
|
||
|| '";"'
|
||
|| KENMERK24
|
||
|| '";"'
|
||
|| KENMERK25
|
||
|| '";"'
|
||
|| KENMERK26
|
||
|| '";"'
|
||
|| KENMERK27
|
||
|| '";"'
|
||
|| KENMERK28
|
||
|| '";"'
|
||
|| KENMERK29
|
||
|| '";"'
|
||
|| KENMERK30
|
||
|| '";"'
|
||
|| KENMERK31
|
||
|| '";"'
|
||
|| KENMERK32
|
||
|| '";"'
|
||
|| KENMERK33
|
||
|| '";"'
|
||
|| KENMERK34
|
||
|| '";"'
|
||
|| KENMERK35
|
||
|| '";"'
|
||
|| KENMERK36
|
||
|| '";"'
|
||
|| KENMERK37
|
||
|| '";"'
|
||
|| KENMERK38
|
||
|| '";"'
|
||
|| KENMERK39
|
||
|| '";"'
|
||
|| KENMERK40
|
||
|| '";"'
|
||
|| KENMERK41
|
||
|| '";"'
|
||
|| KENMERK42
|
||
|| '";"'
|
||
|| KENMERK43
|
||
|| '";"'
|
||
|| KENMERK44
|
||
|| '";"'
|
||
|| KENMERK45
|
||
|| '";"'
|
||
|| KENMERK46
|
||
|| '";"'
|
||
|| KENMERK47
|
||
|| '";"'
|
||
|| KENMERK48
|
||
|| '";"'
|
||
|| KENMERK49
|
||
|| '";"'
|
||
|| KENMERK50
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_fact_contractgeg;
|
||
|
||
-- BLCC#53262: Export voor PowerBI additionele diensten
|
||
CREATE OR REPLACE VIEW blcc_v_export_pwrbi_addd
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS
|
||
SELECT '"code"'
|
||
|| ';"valuta"'
|
||
|| ';"factuurdatum"'
|
||
|| ';"periode"'
|
||
|| ';"factuurnummer"'
|
||
|| ';"vervaldatum"'
|
||
|| ';"nummer"'
|
||
|| ';"grtboekrek"'
|
||
|| ';"rel/kpl"'
|
||
|| ';"prj/activa"'
|
||
|| ';"bedrag"'
|
||
|| ';"debitcredit"'
|
||
|| ';"omschrijving"'
|
||
|| ';"btwcode"',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '"'
|
||
|| code
|
||
|| '";"'
|
||
|| valuta
|
||
|| '";"'
|
||
|| factuurdatum
|
||
|| '";"'
|
||
|| periode
|
||
|| '";"'
|
||
|| factuurnummer
|
||
|| '";"'
|
||
|| vervaldatum
|
||
|| '";"'
|
||
|| nummer
|
||
|| '";"'
|
||
|| grtboekrek
|
||
|| '";"'
|
||
|| rel_kpl
|
||
|| '";"'
|
||
|| prj_activa
|
||
|| '";"'
|
||
|| bedrag
|
||
|| '";"'
|
||
|| debitcredit
|
||
|| '";"'
|
||
|| omschrijving
|
||
|| '";"'
|
||
|| btwcode
|
||
|| '"',
|
||
1
|
||
FROM blcc_v_rap_export_addd;
|
||
|
||
-- BLCC#37691: Facturatie verhuur (M2 en meer)!
|
||
/* Formatted on 21-4-2017 16:28:58 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_fact_actual
|
||
AS
|
||
WITH lopendeperiode AS (SELECT COALESCE (MAX (TO_CHAR (LAST_DAY (fac.safe_to_date (fin_verkoopfactuur_maand, 'yyyymm')) + 1, 'yyyymm')), '201708') maand
|
||
FROM fin_verkoopfactuur
|
||
WHERE fin_verkoopfactuur_key > 1)
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id, -- M2 feitelijk!
|
||
'R' || TRIM (SUBSTR (x.cnt_contract_nummer, 1, INSTR (x.cnt_contract_nummer || '/', '/') - 1)) po_nr, -- Regulier
|
||
TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 3 posities!
|
||
'Campus Rent' regel, -- M2
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||
x.cnt_contract_korting, -- Korting %
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
-- FROM prs_contactpersoon
|
||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
-- AND prs_bedrijf_key = x.prs_bedrijf_key)
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
ltar.fac_usrdata_prijs l_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
htar.fac_usrdata_prijs h_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
ktar.fac_usrdata_prijs k_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
otar.fac_usrdata_prijs o_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
ttar.fac_usrdata_prijs t_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
pa.alg_onroerendgoed_type,
|
||
pa.alg_onroerendgoed_keys,
|
||
pa.alg_plaatsaanduiding,
|
||
COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) l_opp,
|
||
COALESCE (fac.safe_to_number (COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) h_opp,
|
||
COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) k_opp,
|
||
COALESCE (fac.safe_to_number (COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) o_opp,
|
||
COALESCE (fac.safe_to_number (COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))) t_opp,
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))), 2)
|
||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))), 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
'8100' grtboekrek, -- Hard op Campus Rent=8100
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
c.cnt_contract_korting,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||
DECODE (b.prs_bedrijf_key,
|
||
11205, 0, -- UM=Universiteit Maastricht [1025]
|
||
11297, 0, -- Chemelot Ventures BV [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
0.21) btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = 21 -- VSOV
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_plaatsaanduiding_all pa
|
||
ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho
|
||
ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key
|
||
AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte
|
||
AND gho.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo
|
||
ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key
|
||
AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte
|
||
AND goo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto
|
||
ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key
|
||
AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte
|
||
AND gto.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho
|
||
ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key
|
||
AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte
|
||
AND vho.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo
|
||
ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key
|
||
AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte
|
||
AND voo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto
|
||
ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key
|
||
AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte
|
||
AND vto.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
WHERE vsov_kc.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd factureren!
|
||
UNION ALL -- M2 correctie!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'R' || TRIM (SUBSTR (x.cnt_contract_nummer, 1, INSTR (x.cnt_contract_nummer || '/', '/') - 1)) po_nr, -- Regulier
|
||
TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 3 posities!
|
||
'Campus Rent' regel, -- M2
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||
x.cnt_contract_korting, -- Korting %
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
-- FROM prs_contactpersoon
|
||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
-- AND prs_bedrijf_key = x.prs_bedrijf_key)
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
ltar.fac_usrdata_prijs l_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
htar.fac_usrdata_prijs h_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
ktar.fac_usrdata_prijs k_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
otar.fac_usrdata_prijs o_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
ttar.fac_usrdata_prijs t_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
'C' alg_onroerendgoed_type,
|
||
-1 alg_onroerendgoed_keys,
|
||
'Correctie' alg_plaatsaanduiding,
|
||
fac.safe_to_number (clo.cnt_kenmerkcontract_waarde) l_opp,
|
||
fac.safe_to_number (cho.cnt_kenmerkcontract_waarde) h_opp,
|
||
fac.safe_to_number (cko.cnt_kenmerkcontract_waarde) k_opp,
|
||
fac.safe_to_number (coo.cnt_kenmerkcontract_waarde) o_opp,
|
||
fac.safe_to_number (cto.cnt_kenmerkcontract_waarde) t_opp,
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number (clo.cnt_kenmerkcontract_waarde), 0) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cho.cnt_kenmerkcontract_waarde), 0) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cko.cnt_kenmerkcontract_waarde), 0) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (coo.cnt_kenmerkcontract_waarde), 0) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cto.cnt_kenmerkcontract_waarde), 0) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))), 2)
|
||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (clo.cnt_kenmerkcontract_waarde), 0) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (cho.cnt_kenmerkcontract_waarde), 0) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (cko.cnt_kenmerkcontract_waarde), 0) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (coo.cnt_kenmerkcontract_waarde), 0) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * COALESCE (fac.safe_to_number (cto.cnt_kenmerkcontract_waarde), 0) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))), 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
'8100' grtboekrek, -- Hard op Campus Rent=8100
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
c.cnt_contract_korting,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||
DECODE (b.prs_bedrijf_key,
|
||
11205, 0, -- UM=Universiteit Maastricht [1025]
|
||
11297, 0, -- Chemelot Ventures BV [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
0.21) btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = 21 -- VSOV
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN cnt_kenmerkcontract clo
|
||
ON x.cnt_contract_key = clo.cnt_contract_key
|
||
AND clo.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND clo.cnt_kenmerk_key = 381 -- CL-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract cho
|
||
ON x.cnt_contract_key = cho.cnt_contract_key
|
||
AND cho.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cho.cnt_kenmerk_key = 382 -- CH-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract cko
|
||
ON x.cnt_contract_key = cko.cnt_contract_key
|
||
AND cko.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cko.cnt_kenmerk_key = 383 -- CK-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract coo
|
||
ON x.cnt_contract_key = coo.cnt_contract_key
|
||
AND coo.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND coo.cnt_kenmerk_key = 384 -- CO-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract cto
|
||
ON x.cnt_contract_key = cto.cnt_contract_key
|
||
AND cto.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cto.cnt_kenmerk_key = 385 -- CT-Oppervlakte
|
||
WHERE vsov_kc.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd factureren!
|
||
AND ( clo.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
OR cho.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
OR cko.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
OR coo.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
OR cto.cnt_kenmerkcontract_waarde IS NOT NULL)
|
||
UNION ALL -- FES
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'R' || TRIM (SUBSTR (x.cnt_contract_nummer, 1, INSTR (x.cnt_contract_nummer || '/', '/') - 1)) po_nr, -- Regulier
|
||
TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 3 posities!
|
||
DECODE (x.ins_discipline_key, 621, 'Campus Rent', 'Werkplek') regel, -- Hardcoded 'Werkplek'!
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||
TO_NUMBER (NULL) cnt_contract_korting, -- Korting %
|
||
x.prs_bedrijf_key, x.prs_bedrijf_naam prs_debiteur_naam, TRIM (x.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
-- FROM prs_contactpersoon
|
||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
-- AND prs_bedrijf_key = x.prs_bedrijf_key)
|
||
NULL contactpersoon,
|
||
x.adres, x.postcode, x.plaats, x.land,
|
||
x.prs_kostenplaats_key, x.prs_kostenplaats_nr, x.prs_kostenplaats_omschrijving, x.prs_kostenplaatsgrp_oms,
|
||
--x.prs_kostensoort_oms, x.prs_kostensoort_opmerking, x.prs_kostensoort_refcode, x.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (x.btw, 0, '0', 'H')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (x.btw, 0, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (x.btw, 0, 0, 21)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
COALESCE (lfes.fac_usrdata_prijs, 0) / 12 l_tarief,
|
||
TO_NUMBER (NULL) h_tarief,
|
||
COALESCE (kfes.fac_usrdata_prijs, 0) / 12 k_tarief,
|
||
TO_NUMBER (NULL) o_tarief,
|
||
TO_NUMBER (NULL) t_tarief,
|
||
pa.alg_onroerendgoed_type,
|
||
pa.alg_onroerendgoed_keys,
|
||
pa.alg_plaatsaanduiding,
|
||
DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))), 1)
|
||
l_opp,
|
||
TO_NUMBER (NULL) h_opp,
|
||
DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', rxo.alg_ruimte_opp_alt1, TO_NUMBER (NULL))), 1)
|
||
k_opp,
|
||
TO_NUMBER (NULL) o_opp,
|
||
TO_NUMBER (NULL) t_opp,
|
||
-1 *
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)), 1) * (COALESCE (lfes.fac_usrdata_prijs, 0) / 12)) +
|
||
(DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)), 1) * (COALESCE (kfes.fac_usrdata_prijs, 0) / 12))), 2)
|
||
mndnet, -- Netto maandbedrag (excl. kortingspercentage)
|
||
-1 *
|
||
ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)), 1) * (COALESCE (lfes.fac_usrdata_prijs, 0) / 12)) +
|
||
(DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, x.btw) * DECODE (x.ins_discipline_key, 621, COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)), 1) * (COALESCE (kfes.fac_usrdata_prijs, 0) / 12))), 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
'8100' grtboekrek, -- Hard op Campus Rent=8100
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam, b.prs_overeenkomst_nr,
|
||
DECODE (b.prs_bedrijf_key,
|
||
11205, 0, -- UM=Universiteit Maastricht [1025]
|
||
11297, 0, -- Chemelot Ventures BV [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
0.21) btw,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
lp.maand
|
||
FROM lopendeperiode lp,
|
||
cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE c.ins_discipline_key IN (621, 730) -- Huurcontracten/Werkplek
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) x
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = 21 -- VSOV
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata lfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (lfes.fac_usrtab_key)
|
||
AND lfes.fac_usrdata_code = 'LFES' -- FES-Tarief op L-Oppervlakte
|
||
LEFT JOIN fac_v_aanwezigusrdata kfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (kfes.fac_usrtab_key)
|
||
AND kfes.fac_usrdata_code = 'KFES' -- FES-Tarief op K-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract fes
|
||
ON x.cnt_contract_key = fes.cnt_contract_key
|
||
AND fes.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND fes.cnt_kenmerk_key = 42 -- FES-vinkje
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_plaatsaanduiding_all pa
|
||
ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
WHERE vsov_kc.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd factureren!
|
||
AND fes.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
UNION ALL -- CFF Rent
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'R' || TRIM (SUBSTR (x.cnt_contract_nummer, 1, INSTR (x.cnt_contract_nummer || '/', '/') - 1)) po_nr, -- Regulier
|
||
TRIM (x.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
TO_CHAR (x.ins_discipline_key) sortering, -- Sorteren op (eigen) discipline_key; 3 posities!
|
||
'CFF Rent' regel,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
x.cnt_contract_key, x.cnt_contract_nummer_intern, x.cnt_contract_versie, x.lv,
|
||
x.fac_usrdata_prijs, -- CFF-subsidiepercentatie %
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
x.btw_nr,
|
||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
-- FROM prs_contactpersoon
|
||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
-- AND prs_bedrijf_key = b.prs_bedrijf_key)
|
||
NULL contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
DECODE (btw_vl, '1', 'V', '0') fin_btwtabelwaarde_code,
|
||
DECODE (btw_vl, '1', 'Verlegd', 'Nul') fin_btwtabelwaarde_oms,
|
||
DECODE (btw_vl, '1', 0, 0) fin_btwtabelwaarde_perc,
|
||
DECODE (btw_vl, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
TO_NUMBER (NULL) l_tarief, TO_NUMBER (NULL) h_tarief, TO_NUMBER (NULL) k_tarief, TO_NUMBER (NULL) o_tarief, TO_NUMBER (NULL) t_tarief,
|
||
NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||
TO_NUMBER (NULL) l_opp, TO_NUMBER (NULL) h_opp, TO_NUMBER (NULL) k_opp, TO_NUMBER (NULL) o_opp, TO_NUMBER (NULL) t_opp,
|
||
-1 *
|
||
ROUND (x.fac_usrdata_prijs *
|
||
(x.mndopp - x.mndfes -
|
||
(((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
fac.safe_to_number (x.cnt_kenmerkcontract_waarde))), 2)
|
||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||
---1 *
|
||
--ROUND (x.fac_usrdata_prijs * x.btw *
|
||
-- (x.mndnet - x.mndfes -
|
||
-- (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
-- fac.safe_to_number (x.cnt_kenmerkcontract_waarde))), 2)
|
||
-- mndbtw -- BTW maandbedrag
|
||
0 mndbtw, -- BTW maandbedrag; TODO: Dit is fout, maar ging in oude werkwijze altijd al zo, dus fout voorlopig niet verbeteren!
|
||
'8310' grtboekrek, -- Hard op CFF Rent=8310
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM ( SELECT x.ins_discipline_key, -- Sorteren op (eigen) discipline_key; 3 posities!
|
||
x.cnt_contract_key,
|
||
x.cnt_contract_nummer_intern, x.cnt_contract_versie,
|
||
x.cnt_contract_nummer, -- PO
|
||
x.lv, x.lt,
|
||
x.prs_bedrijf_key,
|
||
x.btw,
|
||
x.prs_kostenplaats_key,
|
||
x.maand,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
btwvl.prs_kenmerklink_waarde btw_vl,
|
||
kb_kc.cnt_kenmerkcontract_waarde, -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
ccf_ud.fac_usrdata_prijs, -- CFF-subsidiepercentatie %
|
||
SUM (ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (clo.cnt_kenmerkcontract_waarde), 0) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cho.cnt_kenmerkcontract_waarde), 0) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cko.cnt_kenmerkcontract_waarde), 0) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (coo.cnt_kenmerkcontract_waarde), 0) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cto.cnt_kenmerkcontract_waarde), 0) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))), 2))
|
||
mndopp, -- Netto maandbedrag alle meters (incl. kortingspercentage)
|
||
SUM (ROUND (((LEAST (TRUNC (x.lt), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (x.lv), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((DECODE (fes.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0))) * COALESCE (lfes.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (fes.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0))) * COALESCE (kfes.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (clo.cnt_kenmerkcontract_waarde), 0) * COALESCE (lfes.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cko.cnt_kenmerkcontract_waarde), 0) * COALESCE (kfes.fac_usrdata_prijs / 12, 0))), 2))
|
||
mndfes -- Netto maandbedrag FES-korting (excl. kortingspercentage)
|
||
FROM (SELECT c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt,
|
||
c.cnt_prs_bedrijf_key prs_bedrijf_key,
|
||
DECODE (c.cnt_prs_bedrijf_key,
|
||
11205, 0, -- UM=Universiteit Maastricht [1025]
|
||
11297, 0, -- Chemelot Ventures BV [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
0.21)
|
||
btw,
|
||
c.prs_kostenplaats_key,
|
||
c.cnt_contract_korting,
|
||
lp.maand
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0) x -- NIET Gesloten
|
||
LEFT JOIN prs_kenmerklink btwnr
|
||
ON x.prs_bedrijf_key = btwnr.prs_link_key
|
||
AND btwnr.prs_kenmerklink_verwijder IS NULL
|
||
AND btwnr.prs_kenmerk_key = 1100 -- BTW-nummer (NL)
|
||
LEFT JOIN prs_kenmerklink btwvl
|
||
ON x.prs_bedrijf_key = btwvl.prs_link_key
|
||
AND btwvl.prs_kenmerklink_verwijder IS NULL
|
||
AND btwvl.prs_kenmerk_key = 1120 -- BTW verlegd
|
||
LEFT JOIN cnt_kenmerkcontract vsov_kc
|
||
ON x.cnt_contract_key = vsov_kc.cnt_contract_key
|
||
AND vsov_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov_kc.cnt_kenmerk_key = 21 -- VSOV
|
||
LEFT JOIN cnt_kenmerkcontract kb_kc
|
||
ON x.cnt_contract_key = kb_kc.cnt_contract_key
|
||
AND kb_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kb_kc.cnt_kenmerk_key = 24 -- Kortingsbedrag
|
||
LEFT JOIN cnt_kenmerkcontract cff_kc
|
||
ON x.cnt_contract_key = cff_kc.cnt_contract_key
|
||
AND cff_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cff_kc.cnt_kenmerk_key = 44 -- CFF-subsidie
|
||
LEFT JOIN fac_v_aanwezigusrdata ccf_ud
|
||
ON cff_kc.cnt_kenmerkcontract_waarde = TO_CHAR (ccf_ud.fac_usrdata_key)
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata lfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (lfes.fac_usrtab_key)
|
||
AND lfes.fac_usrdata_code = 'LFES' -- FES-Tarief op L-Oppervlakte
|
||
LEFT JOIN fac_v_aanwezigusrdata kfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (kfes.fac_usrtab_key)
|
||
AND kfes.fac_usrdata_code = 'KFES' -- FES-Tarief op K-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract fes
|
||
ON x.cnt_contract_key = fes.cnt_contract_key
|
||
AND fes.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND fes.cnt_kenmerk_key = 42 -- FES-vinkje
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_plaatsaanduiding_all pa
|
||
ON ccp.cnt_alg_plaats_key = pa.alg_onroerendgoed_keys
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho
|
||
ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key
|
||
AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte
|
||
AND gho.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo
|
||
ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key
|
||
AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte
|
||
AND goo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto
|
||
ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key
|
||
AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte
|
||
AND gto.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho
|
||
ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key
|
||
AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte
|
||
AND vho.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo
|
||
ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key
|
||
AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte
|
||
AND voo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto
|
||
ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key
|
||
AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte
|
||
AND vto.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
LEFT JOIN cnt_kenmerkcontract clo
|
||
ON x.cnt_contract_key = clo.cnt_contract_key
|
||
AND clo.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND clo.cnt_kenmerk_key = 381 -- CL-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract cho
|
||
ON x.cnt_contract_key = cho.cnt_contract_key
|
||
AND cho.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cho.cnt_kenmerk_key = 382 -- CH-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract cko
|
||
ON x.cnt_contract_key = cko.cnt_contract_key
|
||
AND cko.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cko.cnt_kenmerk_key = 383 -- CK-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract coo
|
||
ON x.cnt_contract_key = coo.cnt_contract_key
|
||
AND coo.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND coo.cnt_kenmerk_key = 384 -- CO-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract cto
|
||
ON x.cnt_contract_key = cto.cnt_contract_key
|
||
AND cto.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cto.cnt_kenmerk_key = 385 -- CT-Oppervlakte
|
||
WHERE vsov_kc.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd factureren!
|
||
AND COALESCE (cff_kc.cnt_kenmerkcontract_waarde, '534') != '534' -- NIET Nvt!
|
||
GROUP BY x.ins_discipline_key,
|
||
x.cnt_contract_key,
|
||
x.cnt_contract_nummer_intern, x.cnt_contract_versie,
|
||
x.cnt_contract_nummer,
|
||
x.lv, x.lt,
|
||
x.prs_bedrijf_key,
|
||
x.btw,
|
||
x.prs_kostenplaats_key,
|
||
x.maand,
|
||
btwnr.prs_kenmerklink_waarde,
|
||
btwvl.prs_kenmerklink_waarde,
|
||
kb_kc.cnt_kenmerkcontract_waarde,
|
||
ccf_ud.fac_usrdata_prijs) x,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE x.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND x.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
UNION ALL -- Alle individuele maandbedragen!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'R' || TRIM (SUBSTR (c.cnt_contract_nummer, 1, INSTR (c.cnt_contract_nummer || '/', '/') - 1)) po_nr, -- Regulier
|
||
TRIM (c.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
DECODE (x.regelgroepering, '541', '621', TO_CHAR (c.ins_discipline_key)) sortering, -- Sorteren op Campus Rent of eigen discipline_key; 3 posities!
|
||
x.regel,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv,
|
||
c.cnt_contract_korting, -- Korting %
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
-- FROM prs_contactpersoon
|
||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
-- AND prs_bedrijf_key = b.prs_bedrijf_key)
|
||
NULL contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
--ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking, ks.prs_kostensoort_refcode, ksg.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (c.ins_discipline_key, 761, '0', 'H')) fin_btwtabelwaarde_code, -- OZB altijd 0%
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (c.ins_discipline_key, 761, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, -- OZB altijd 0%
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (c.ins_discipline_key, 761, 0, 21)) fin_btwtabelwaarde_perc, -- OZB altijd 0%
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
TO_NUMBER (NULL) l_tarief, TO_NUMBER (NULL) h_tarief, TO_NUMBER (NULL) k_tarief, TO_NUMBER (NULL) o_tarief, TO_NUMBER (NULL) t_tarief,
|
||
NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||
TO_NUMBER (NULL) l_opp, TO_NUMBER (NULL) h_opp, TO_NUMBER (NULL) k_opp, TO_NUMBER (NULL) o_opp, TO_NUMBER (NULL) t_opp,
|
||
ROUND (((LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (c.cnt_contract_korting, 0)) / 100) *
|
||
x.maandkosten, 2)
|
||
mndnet, -- Netto maandbedrag (incl. kortingspercentage)
|
||
ROUND (((LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
((100 - COALESCE (c.cnt_contract_korting, 0)) / 100) *
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (c.ins_discipline_key, 761, 0, 0.21)) *
|
||
x.maandkosten, 2)
|
||
mndbtw, -- BTW maandbedrag
|
||
COALESCE (
|
||
ks.prs_kostensoort_refcode,
|
||
DECODE (
|
||
UPPER (x.regel),
|
||
'BIJDRAGE CHEF VAN DIENST', '8104',
|
||
'BIJDRAGE HYGI<47>NISCH ONDERHOUD', '8105',
|
||
'BIJDRAGE AFVAL', '8106',
|
||
'BIJDRAGE GASSEN', '8107',
|
||
'PARKING', '8112',
|
||
'PUBLIC AMENITIES', '8113',
|
||
'8100'))
|
||
grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM ( SELECT c.cnt_contract_key,
|
||
lp.maand,
|
||
rg.cnt_kenmerkcontract_waarde regelgroepering,
|
||
DECODE (rg.cnt_kenmerkcontract_waarde,
|
||
'542', TRIM (dp.cnt_disc_params_opmerking),
|
||
'543', TRIM (mk.cnt_srtkenmerk_omschrijving),
|
||
'Campus Rent')
|
||
regel,
|
||
SUM (fac.safe_to_number (mk.cnt_kenmerkcontract_waarde)) maandkosten
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c, cnt_discipline cd, cnt_disc_params dp,
|
||
(SELECT kcrg.cnt_contract_key, kcrg.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kcrg, cnt_kenmerk krg
|
||
WHERE kcrg.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kcrg.cnt_kenmerk_key = krg.cnt_kenmerk_key
|
||
AND krg.cnt_srtkenmerk_key = 121) rg, -- Regelgroepering
|
||
(SELECT kcmk.cnt_contract_key, kcmk.cnt_kenmerkcontract_waarde, skmk.cnt_srtkenmerk_omschrijving
|
||
FROM cnt_kenmerkcontract kcmk, cnt_kenmerk kmk, cnt_srtkenmerk skmk
|
||
WHERE kcmk.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kcmk.cnt_kenmerk_key = kmk.cnt_kenmerk_key
|
||
AND kmk.cnt_srtkenmerk_key = skmk.cnt_srtkenmerk_key
|
||
AND skmk.cnt_srtkenmerk_key > 60
|
||
AND skmk.cnt_srtkenmerk_kenmerktype = 'N' -- Numeriek
|
||
AND UPPER (skmk.cnt_srtkenmerk_dimensie) LIKE '%P.MND.%') mk -- Maandkosten
|
||
WHERE c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.ins_discipline_key BETWEEN 721 AND 761
|
||
AND cd.ins_discipline_key = dp.cnt_ins_discipline_key
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_key = rg.cnt_contract_key
|
||
AND c.cnt_contract_key = mk.cnt_contract_key
|
||
GROUP BY c.cnt_contract_key,
|
||
lp.maand,
|
||
rg.cnt_kenmerkcontract_waarde, -- Regelgroepering
|
||
DECODE (rg.cnt_kenmerkcontract_waarde,
|
||
'542', TRIM (dp.cnt_disc_params_opmerking),
|
||
'543', TRIM (mk.cnt_srtkenmerk_omschrijving),
|
||
'Campus Rent')) x,
|
||
cnt_contract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_discipline cd,
|
||
prs_kostensoort ks,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl -- BTW verlegd
|
||
WHERE x.maandkosten != 0
|
||
AND x.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
UNION ALL -- Alle individuele kortingsbedragen (per maand)!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'R' || TRIM (SUBSTR (c.cnt_contract_nummer, 1, INSTR (c.cnt_contract_nummer || '/', '/') - 1)) po_nr, -- Regulier
|
||
TRIM (c.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
DECODE (x.regelgroepering, '541', '621', TO_CHAR (c.ins_discipline_key)) sortering, -- Sorteren op Campus Rent of eigen discipline_key; 3 posities!
|
||
x.regel,
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv,
|
||
TO_NUMBER (NULL) cnt_contract_korting, -- Korting %
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
-- FROM prs_contactpersoon
|
||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
-- AND prs_bedrijf_key = b.prs_bedrijf_key)
|
||
NULL contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
--ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking, ks.prs_kostensoort_refcode, ksg.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'V', DECODE (c.ins_discipline_key, 761, '0', 'H')) fin_btwtabelwaarde_code, -- OZB altijd 0%
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 'Verlegd', DECODE (c.ins_discipline_key, 761, 'Nul', 'Hoog')) fin_btwtabelwaarde_oms, -- OZB altijd 0%
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (c.ins_discipline_key, 761, 0, 21)) fin_btwtabelwaarde_perc, -- OZB altijd 0%
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
x.maand,
|
||
TO_CHAR (TO_DATE (x.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
TO_NUMBER (NULL) l_tarief, TO_NUMBER (NULL) h_tarief, TO_NUMBER (NULL) k_tarief, TO_NUMBER (NULL) o_tarief, TO_NUMBER (NULL) t_tarief,
|
||
NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||
TO_NUMBER (NULL) l_opp, TO_NUMBER (NULL) h_opp, TO_NUMBER (NULL) k_opp, TO_NUMBER (NULL) o_opp, TO_NUMBER (NULL) t_opp,
|
||
-1 *
|
||
ROUND (((LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
x.kortingsbedrag, 2)
|
||
mndnet, -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
-1 *
|
||
ROUND (((LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (x.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (x.maand, 'yyyymm')) + 1) / (LAST_DAY (TO_DATE (x.maand, 'yyyymm')) - TO_DATE (x.maand, 'yyyymm') + 1)) *
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 0, DECODE (c.ins_discipline_key, 761, 0, 0.21)) *
|
||
x.kortingsbedrag, 2)
|
||
mndbtw, -- BTW kortingsbedrag
|
||
COALESCE (
|
||
ks.prs_kostensoort_refcode,
|
||
DECODE (
|
||
UPPER (x.regel),
|
||
'BIJDRAGE CHEF VAN DIENST', '8104',
|
||
'BIJDRAGE HYGI<47>NISCH ONDERHOUD', '8105',
|
||
'BIJDRAGE AFVAL', '8106',
|
||
'BIJDRAGE GASSEN', '8107',
|
||
'PARKING', '8112',
|
||
'PUBLIC AMENITIES', '8113',
|
||
'8100'))
|
||
grtboekrek,
|
||
TO_NUMBER (NULL) mld_melding_key, -- Correctiemelding-key
|
||
NULL mld_melding_omschrijving
|
||
FROM (SELECT c.cnt_contract_key,
|
||
lp.maand,
|
||
rg.cnt_kenmerkcontract_waarde regelgroepering,
|
||
DECODE (rg.cnt_kenmerkcontract_waarde,
|
||
'542', TRIM (dp.cnt_disc_params_opmerking),
|
||
'543', '???', -- TODO: Kortingsbedrag verwijderen?
|
||
'Campus Rent')
|
||
regel,
|
||
fac.safe_to_number (kb.cnt_kenmerkcontract_waarde) kortingsbedrag
|
||
FROM lopendeperiode lp, cnt_v_aanwezigcontract c, cnt_discipline cd, cnt_disc_params dp,
|
||
(SELECT kcrg.cnt_contract_key, kcrg.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kcrg, cnt_kenmerk krg
|
||
WHERE kcrg.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kcrg.cnt_kenmerk_key = krg.cnt_kenmerk_key
|
||
AND krg.cnt_srtkenmerk_key = 121) rg, -- Regelgroepering
|
||
(SELECT kckb.cnt_contract_key, kckb.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kckb, cnt_kenmerk kkb, cnt_srtkenmerk skkb
|
||
WHERE kckb.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kckb.cnt_kenmerk_key = kkb.cnt_kenmerk_key
|
||
AND kkb.cnt_srtkenmerk_key = skkb.cnt_srtkenmerk_key
|
||
AND skkb.cnt_srtkenmerk_key = 44) kb -- Kortingsbedrag
|
||
WHERE c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.ins_discipline_key BETWEEN 621 AND 761
|
||
AND cd.ins_discipline_key = dp.cnt_ins_discipline_key
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_key = rg.cnt_contract_key(+) -- Huurcontracten g<><67>n Regelgroepering!
|
||
AND c.cnt_contract_key = kb.cnt_contract_key) x,
|
||
cnt_contract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_discipline cd,
|
||
prs_kostensoort ks,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl -- BTW verlegd
|
||
WHERE x.kortingsbedrag != 0
|
||
AND x.cnt_contract_key = c.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
UNION ALL -- Alle correctiemeldingen (ook als contract inmiddels verlopen)!
|
||
SELECT '*CONCEPT*' fin_verkoopfactuur_id,
|
||
'X' || TRIM (SUBSTR (c.cnt_contract_nummer, 1, INSTR (c.cnt_contract_nummer || '/', '/') - 1)) po_nr, -- Correctie
|
||
TRIM (c.cnt_contract_nummer) cnt_contract_nummer, -- PO
|
||
SUBSTR ('99' || fr.sortering, -3) sortering, -- Correctieregels onderaan (in dezelfde volgorde als de "echte" regels); 3 posities!
|
||
' Correctie ' || fr.factuurregel || ' ' || pv.periode_van || ' - ' || pt.periode_tot regel, -- Zou consistent moeten zijn met contract!
|
||
TO_CHAR (SYSDATE, 'dd-mm-yyyy') factuurdatum, TO_CHAR (SYSDATE + 30, 'dd-mm-yyyy') vervaldatum,
|
||
c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie, c.cnt_contract_looptijd_tot lv,
|
||
c.cnt_contract_korting, -- Korting %
|
||
b.prs_bedrijf_key, b.prs_bedrijf_naam prs_debiteur_naam, TRIM (b.prs_overeenkomst_nr) debiteur_nr,
|
||
btwnr.prs_kenmerklink_waarde btw_nr,
|
||
--(SELECT MIN (TRIM (prs_contactpersoon_voorletters || ' ' || TRIM (prs_contactpersoon_tussenv || ' ' || prs_contactpersoon_naam)))
|
||
-- FROM prs_contactpersoon
|
||
-- WHERE prs_contactpersoon_verwijder IS NULL
|
||
-- AND prs_contactpersoon_titel = '*' -- Contactpersoon op facturen
|
||
-- AND prs_bedrijf_key = b.prs_bedrijf_key)
|
||
NULL contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land,
|
||
kp.prs_kostenplaats_key, kp.prs_kostenplaats_nr, kp.prs_kostenplaats_omschrijving, kpg.prs_kostenplaatsgrp_oms,
|
||
--ks.prs_kostensoort_oms, ks.prs_kostensoort_opmerking, ks.prs_kostensoort_refcode, ksg.prs_kostensoortgrp_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde,
|
||
'1', 'V',
|
||
DECODE (c.ins_discipline_key,
|
||
621, DECODE (b.prs_bedrijf_key, -- Huurcontracten
|
||
11205, '0', -- UM [1025]
|
||
11297, '0', -- Chemelot Ventures [1091]
|
||
11306, '0', -- AMIBM(/UM) [1100]
|
||
DECODE (fr.factuurregel, 'CFF Rent', '0', 'H')),
|
||
730, DECODE (b.prs_bedrijf_key, -- Werkplek
|
||
11205, '0', -- UM [1025]
|
||
11297, '0', -- Chemelot Ventures [1091]
|
||
11306, '0', -- AMIBM(/UM) [1100]
|
||
'H'),
|
||
761, '0', -- OZB
|
||
'H')) fin_btwtabelwaarde_code,
|
||
DECODE (btwvl.prs_kenmerklink_waarde,
|
||
'1', 'Verlegd',
|
||
DECODE (c.ins_discipline_key,
|
||
621, DECODE (b.prs_bedrijf_key, -- Huurcontracten
|
||
11205, 'Nul', -- UM [1025]
|
||
11297, 'Nul', -- Chemelot Ventures [1091]
|
||
11306, 'Nul', -- AMIBM(/UM) [1100]
|
||
DECODE (fr.factuurregel, 'CFF Rent', 'Nul', 'Hoog')),
|
||
730, DECODE (b.prs_bedrijf_key, -- Werkplek
|
||
11205, 'Nul', -- UM [1025]
|
||
11297, 'Nul', -- Chemelot Ventures [1091]
|
||
11306, 'Nul', -- AMIBM(/UM) [1100]
|
||
'Hoog'),
|
||
761, 'Nul', -- OZB
|
||
'Hoog')) fin_btwtabelwaarde_oms,
|
||
DECODE (btwvl.prs_kenmerklink_waarde,
|
||
'1', 0,
|
||
DECODE (c.ins_discipline_key,
|
||
621, DECODE (b.prs_bedrijf_key, -- Huurcontracten
|
||
11205, 0, -- UM [1025]
|
||
11297, 0, -- Chemelot Ventures [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
DECODE (fr.factuurregel, 'CFF Rent', 0, 21)),
|
||
730, DECODE (b.prs_bedrijf_key, -- Werkplek
|
||
11205, 0, -- UM [1025]
|
||
11297, 0, -- Chemelot Ventures [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
21),
|
||
761, 0, -- OZB
|
||
21)) fin_btwtabelwaarde_perc,
|
||
DECODE (btwvl.prs_kenmerklink_waarde, '1', 1, TO_NUMBER (NULL)) fin_btwtabelwaarde_verlegd,
|
||
lp.maand,
|
||
TO_CHAR (TO_DATE (lp.maand, 'yyyymm'), 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (LAST_DAY (TO_DATE (lp.maand, 'yyyymm')), 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (lp.maand, 'yyyymm')), 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (lp.maand, 'yyyymm'))), 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (lp.maand, 'yyyymm')) - TO_DATE (lp.maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
LEAST (TRUNC (c.cnt_contract_looptijd_tot), LAST_DAY (TO_DATE (lp.maand, 'yyyymm'))) - GREATEST (TRUNC (c.cnt_contract_looptijd_van), TO_DATE (lp.maand, 'yyyymm')) + 1 mndbez, -- Bezet
|
||
TO_NUMBER (NULL) l_tarief, TO_NUMBER (NULL) h_tarief, TO_NUMBER (NULL) k_tarief, TO_NUMBER (NULL) o_tarief, TO_NUMBER (NULL) t_tarief,
|
||
NULL alg_onroerendgoed_type, TO_NUMBER (NULL) alg_onroerendgoed_keys, NULL alg_plaatsaanduiding,
|
||
TO_NUMBER (NULL) l_opp, TO_NUMBER (NULL) h_opp, TO_NUMBER (NULL) k_opp, TO_NUMBER (NULL) o_opp, TO_NUMBER (NULL) t_opp,
|
||
ROUND (cb.correctiebedrag, 2)
|
||
mndnet, -- Netto correctiebedrag
|
||
ROUND (DECODE (btwvl.prs_kenmerklink_waarde,
|
||
'1', 0,
|
||
DECODE (c.ins_discipline_key,
|
||
621, DECODE (b.prs_bedrijf_key, -- Huurcontracten
|
||
11205, 0, -- UM [1025]
|
||
11297, 0, -- Chemelot Ventures [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
DECODE (fr.factuurregel, 'CFF Rent', 0, 0.21)),
|
||
730, DECODE (b.prs_bedrijf_key, -- Werkplek
|
||
11205, 0, -- UM [1025]
|
||
11297, 0, -- Chemelot Ventures [1091]
|
||
11306, 0, -- AMIBM(/UM) [1100]
|
||
0.21),
|
||
761, 0, -- OZB
|
||
0.21)) *
|
||
cb.correctiebedrag, 2)
|
||
mndbtw, -- BTW correctiebedrag
|
||
COALESCE (
|
||
ks.prs_kostensoort_refcode,
|
||
DECODE (
|
||
UPPER (fr.factuurregel), -- Zou consistent moeten zijn met contract!
|
||
'BIJDRAGE CHEF VAN DIENST', '8104',
|
||
'BIJDRAGE HYGI<47>NISCH ONDERHOUD', '8105',
|
||
'BIJDRAGE AFVAL', '8106',
|
||
'BIJDRAGE GASSEN', '8107',
|
||
'PARKING', '8112',
|
||
'PUBLIC AMENITIES', '8113',
|
||
'CFF RENT', '8130',
|
||
'8100'))
|
||
grtboekrek,
|
||
m.mld_melding_key, -- Correctiemelding-key
|
||
TRIM (m.mld_melding_omschrijving) mld_melding_omschrijving
|
||
FROM lopendeperiode lp,
|
||
mld_melding m,
|
||
mld_v_aanwezigkenmerkmelding km,
|
||
cnt_contract c,
|
||
prs_bedrijf b,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg,
|
||
cnt_discipline cd,
|
||
prs_kostensoort ks,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1100) btwnr, -- BTW-nummer (NL)
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink
|
||
WHERE prs_kenmerklink_verwijder IS NULL AND prs_kenmerk_key = 1120) btwvl, -- BTW verlegd
|
||
(SELECT km.mld_melding_key, ud.fac_usrdata_code sortering, ud.fac_usrdata_omschr factuurregel
|
||
FROM mld_v_aanwezigkenmerkmelding km, fac_usrdata ud
|
||
WHERE km.mld_kenmerk_key = 342 -- Factuurregel(groepering)
|
||
AND km.mld_kenmerkmelding_waarde = TO_CHAR (ud.fac_usrdata_key)) fr,
|
||
(SELECT mld_melding_key, mld_kenmerkmelding_waarde periode_van
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 343) pv, -- Periode van
|
||
(SELECT mld_melding_key, mld_kenmerkmelding_waarde periode_tot
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 344) pt, -- Periode tot
|
||
(SELECT mld_melding_key, fac.safe_to_number (mld_kenmerkmelding_waarde) correctiebedrag
|
||
FROM mld_v_aanwezigkenmerkmelding
|
||
WHERE mld_kenmerk_key = 345) cb -- Correctiebedrag
|
||
WHERE m.mld_stdmelding_key = 482 -- Financi<63>le correctie
|
||
AND m.mld_melding_status IN (4, 5) -- Geaccepteerd/Afgemeld
|
||
AND m.mld_melding_key = km.mld_melding_key
|
||
AND km.mld_kenmerk_key = 341 -- Contractreferentie
|
||
AND km.mld_kenmerkmelding_waarde = TO_CHAR (c.cnt_contract_key)
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
--AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (TO_DATE (lp.maand || '01', 'yyyymmdd')) -- Van-datum < einde te factureren maand
|
||
--AND c.cnt_contract_looptijd_tot > TO_DATE (lp.maand || '01', 'yyyymmdd') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
AND c.ins_discipline_key = cd.ins_discipline_key
|
||
AND cd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND c.cnt_prs_bedrijf_key = btwnr.prs_link_key(+)
|
||
AND c.cnt_prs_bedrijf_key = btwvl.prs_link_key(+)
|
||
AND m.mld_melding_key = fr.mld_melding_key
|
||
AND m.mld_melding_key = pv.mld_melding_key
|
||
AND m.mld_melding_key = pt.mld_melding_key
|
||
AND m.mld_melding_key = cb.mld_melding_key
|
||
ORDER BY prs_bedrijf_key, 1, 2, 3, 4, alg_onroerendgoed_type, alg_plaatsaanduiding -- TODO: Waarom fout op tabel-prefix???
|
||
;
|
||
|
||
/* Formatted on 29-4-2017 15:48:29 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE VIEW blcc_v_fact_frozen
|
||
AS
|
||
SELECT vf.fin_verkoopfactuur_id,
|
||
TRIM (SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/') - 1)) po_nr,
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, 1, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) - 1) cnt_contract_nummer,
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 2, 3) sortering,
|
||
SUBSTR (vf.fin_verkoopfactuur_omschr, INSTR (vf.fin_verkoopfactuur_omschr, '/=', -1) + 5) regel,
|
||
TO_CHAR (vf.fin_verkoopfactuur_datum, 'dd-mm-yyyy') factuurdatum, TO_CHAR (vf.fin_verkoopfactuur_d1, 'dd-mm-yyyy') vervaldatum,
|
||
vf.fin_verkoopfactuur_refkey cnt_contract_key,
|
||
c.cnt_contract_nummer_intern, -- Niet historisch bewaard!
|
||
c.cnt_contract_versie, -- Niet historisch bewaard!
|
||
c.cnt_contract_looptijd_tot lv, -- Niet historisch bewaard!
|
||
vf.fin_verkoopfactuur_n1 cnt_contract_korting, -- Korting %
|
||
vf.prs_bedrijf_key, vf.prs_debiteur_naam,
|
||
SUBSTR (vf.fin_verkoopfactuur_c7, 1, INSTR (vf.fin_verkoopfactuur_c7, '=') - 1) debiteur_nr,
|
||
SUBSTR (vf.fin_verkoopfactuur_c7, INSTR (vf.fin_verkoopfactuur_c7, '=') + 1) btw_nr,
|
||
--vf.fin_verkoopfactuur_c8 contactpersoon,
|
||
NULL contactpersoon,
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_adres, b.prs_bedrijf_post_adres) adres, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_postcode, b.prs_bedrijf_post_postcode) postcode, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_plaats, b.prs_bedrijf_post_plaats) plaats, -- Niet historisch bewaard!
|
||
DECODE (b.prs_bedrijf_post_adres, NULL, b.prs_bedrijf_bezoek_land, b.prs_bedrijf_post_land) land, -- Niet historisch bewaard!
|
||
vf.prs_kostenplaats_key, vf.prs_kostenplaats_nr, vf.prs_kostenplaats_omschrijving, vf.prs_kostenplaatsgrp_oms,
|
||
--vf.prs_kostensoort_oms, vf.prs_kostensoort_opmerking, vf.prs_kostensoort_refcode, vf.prs_kostensoortgrp_oms,
|
||
vf.fin_btwtabelwaarde_code,
|
||
vf.fin_btwtabelwaarde_oms,
|
||
vf.fin_btwtabelwaarde_perc,
|
||
vf.fin_btwtabelwaarde_verlegd,
|
||
vf.fin_verkoopfactuur_maand maand,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d2, 'dd-mm-yyyy') mndbegin,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d3, 'dd-mm-yyyy') mndeinde,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d4, 'dd-mm-yyyy') dagbegin,
|
||
TO_CHAR (vf.fin_verkoopfactuur_d5, 'dd-mm-yyyy') dageinde,
|
||
LAST_DAY (TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm')) - TO_DATE (vf.fin_verkoopfactuur_maand, 'yyyymm') + 1 mndbes, -- Beschikbaar
|
||
vf.fin_verkoopfactuur_d5 - vf.fin_verkoopfactuur_d4 + 1 mndbez, -- Bezet
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c1, 1, INSTR (vf.fin_verkoopfactuur_c1, 'x') - 1)) l_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c2, 1, INSTR (vf.fin_verkoopfactuur_c2, 'x') - 1)) h_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c3, 1, INSTR (vf.fin_verkoopfactuur_c3, 'x') - 1)) k_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c4, 1, INSTR (vf.fin_verkoopfactuur_c4, 'x') - 1)) o_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c5, 1, INSTR (vf.fin_verkoopfactuur_c5, 'x') - 1)) t_tarief, -- Jaartarief (eerste 3 factuurrondes gebruikt als maandtarief)!
|
||
SUBSTR (vf.fin_verkoopfactuur_c6, 1, 1) alg_onroerendgoed_type,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c6, 2, INSTR (vf.fin_verkoopfactuur_c6, '=') - 1)) alg_onroerendgoed_keys,
|
||
SUBSTR (vf.fin_verkoopfactuur_c6, INSTR (vf.fin_verkoopfactuur_c6, '=') + 1) alg_plaatsaanduiding,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c1, INSTR (vf.fin_verkoopfactuur_c1, 'x') + 1)) l_opp,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c2, INSTR (vf.fin_verkoopfactuur_c2, 'x') + 1)) h_opp,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c3, INSTR (vf.fin_verkoopfactuur_c3, 'x') + 1)) k_opp,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c4, INSTR (vf.fin_verkoopfactuur_c4, 'x') + 1)) o_opp,
|
||
fac.safe_to_number (SUBSTR (vf.fin_verkoopfactuur_c5, INSTR (vf.fin_verkoopfactuur_c5, 'x') + 1)) t_opp,
|
||
vf.fin_verkoopfactuur_bedrag mndnet, -- Netto maandbedrag
|
||
vf.fin_verkoopfactuur_btw mndbtw, -- BTW maandbedrag
|
||
vf.prs_kostensoort_oms grtboekrek,
|
||
vf.fin_verkoopfactuur_n2 mld_melding_key,
|
||
vf.fin_verkoopfactuur_c8 mld_melding_omschrijving
|
||
FROM fin_verkoopfactuur vf,
|
||
cnt_contract c,
|
||
--cnt_discipline cd,
|
||
--prs_kostensoort ks,
|
||
prs_bedrijf b
|
||
WHERE SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- Of andere conditie?
|
||
AND vf.fin_verkoopfactuur_refkey = c.cnt_contract_key
|
||
--AND c.ins_discipline_key = cd.ins_discipline_key
|
||
--AND cd.prs_kostensoort_key = ks.prs_kostensoort_key(+)
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
ORDER BY vf.prs_bedrijf_key, 1, 2, 3, 4, SUBSTR (vf.fin_verkoopfactuur_c6, 1, 1), SUBSTR (vf.fin_verkoopfactuur_c6, INSTR (vf.fin_verkoopfactuur_c6, '=') + 1);
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_export_fact
|
||
(
|
||
hide_f_sortering,
|
||
fclt_x_maand,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
)
|
||
AS
|
||
SELECT ROWNUM,
|
||
REPLACE (periode, '/', '-') periode,
|
||
code,
|
||
valuta,
|
||
factuurdatum,
|
||
periode,
|
||
factuurnummer,
|
||
vervaldatum,
|
||
nummer,
|
||
grtboekrek,
|
||
rel_kpl,
|
||
prj_activa,
|
||
bedrag,
|
||
debitcredit,
|
||
omschrijving,
|
||
btwcode
|
||
FROM ( SELECT v.fin_verkoopfactuur_id || '0000' sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
'1300' grtboekrek, -- Hard op '1300'
|
||
v.debiteur_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet + v.mndbtw) bedrag, -- Totaalbedrag incl. BTW gegroepeerd over andere kolommen!
|
||
'debit' debitcredit,
|
||
'Total' omschrijving, -- Hard op 'Total'
|
||
NULL btwcode -- Hard op NULL
|
||
FROM blcc_v_fact_frozen v
|
||
WHERE v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
GROUP BY v.fin_verkoopfactuur_id || '0000',
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
'1300',
|
||
v.debiteur_nr,
|
||
NULL,
|
||
'debit',
|
||
'Total',
|
||
NULL
|
||
UNION ALL
|
||
SELECT v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???') sortering,
|
||
'VRK' code, -- Hard op 'VRK'
|
||
'EUR' valuta, -- Hard op 'EUR'
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2) periode,
|
||
v.fin_verkoopfactuur_id factuurnummer, -- Boekstuknummer
|
||
v.vervaldatum,
|
||
'1' nummer, -- Hard op '1'
|
||
v.grtboekrek,
|
||
kp.prs_kostenplaats_nr rel_kpl,
|
||
NULL prj_activa, -- Hard op NULL
|
||
SUM (v.mndnet) bedrag, -- Totaalbedrag excl. BTW gegroepeerd over andere kolommen!
|
||
'credit' debitcredit, -- TODO: Altijd 'credit' (ook negatieve bedragen)???
|
||
v.regel omschrijving,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN') btwcode
|
||
FROM blcc_v_fact_frozen v, cnt_contract c, prs_kostenplaats kp
|
||
WHERE v.maand >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy') || '01'
|
||
AND v.cnt_contract_key = c.cnt_contract_key
|
||
AND c.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
|
||
GROUP BY v.fin_verkoopfactuur_id || COALESCE (v.grtboekrek, '???'),
|
||
'VRK',
|
||
'EUR',
|
||
v.factuurdatum,
|
||
SUBSTR (v.maand, 1, 4) || '/' || SUBSTR (v.maand, -2),
|
||
v.fin_verkoopfactuur_id,
|
||
v.vervaldatum,
|
||
'1',
|
||
v.grtboekrek,
|
||
kp.prs_kostenplaats_nr,
|
||
NULL,
|
||
'credit',
|
||
v.regel,
|
||
DECODE (fin_btwtabelwaarde_code, 'H', 'VH', 'L', 'VL', 'V', 'VBINEU_VERL', 'VN')
|
||
ORDER BY 1);
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_export_fact
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- View bevat alleen inhoud op de dag na de 10e werkdag van de maand!
|
||
SELECT 'code'
|
||
|| ';valuta'
|
||
|| ';factuurdatum'
|
||
|| ';periode'
|
||
|| ';factuurnummer'
|
||
|| ';vervaldatum'
|
||
|| ';nummer'
|
||
|| ';grtboekrek'
|
||
|| ';rel/kpl'
|
||
|| ';prj/activa'
|
||
|| ';bedrag'
|
||
|| ';debitcredit'
|
||
|| ';omschrijving'
|
||
|| ';btwcode',
|
||
0
|
||
FROM DUAL
|
||
WHERE FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 1 -- Nacht na 1e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
UNION ALL
|
||
SELECT code
|
||
|| ';'
|
||
|| valuta
|
||
|| ';'
|
||
|| factuurdatum
|
||
|| ';'
|
||
|| periode
|
||
|| ';'
|
||
|| factuurnummer
|
||
|| ';'
|
||
|| vervaldatum
|
||
|| ';'
|
||
|| nummer
|
||
|| ';'
|
||
|| grtboekrek
|
||
|| ';'
|
||
|| rel_kpl
|
||
|| ';'
|
||
|| prj_activa
|
||
|| ';'
|
||
|| bedrag
|
||
|| ';'
|
||
|| debitcredit
|
||
|| ';'
|
||
|| omschrijving
|
||
|| ';'
|
||
|| btwcode,
|
||
ROWNUM
|
||
FROM blcc_v_rap_export_fact
|
||
WHERE fclt_x_maand = TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy-mm')
|
||
AND FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 1 -- Nacht na 1e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1))
|
||
ORDER BY 2;
|
||
|
||
/* Formatted on 29-4-2017 15:15:18 (QP5 v5.136.908.31019) */
|
||
CREATE OR REPLACE PROCEDURE blcc_select_fact (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
-- Factureer/bevries verhuurcontractkosten en verwerk=AV alle eventuele correctiemeldingen!
|
||
CURSOR c1
|
||
IS
|
||
SELECT '[' || v.cnt_contract_nummer_intern || '.' || COALESCE (v.cnt_contract_versie, '0') || '|' || v.prs_debiteur_naam || '|' || v.regel || '] ' aanduiding,
|
||
v.*, m.mld_melding_status
|
||
FROM blcc_v_fact_actual v, mld_melding m
|
||
WHERE v.mld_melding_key = m.mld_melding_key(+)
|
||
ORDER BY v.prs_bedrijf_key, v.po_nr, v.sortering, v.regel, v.alg_plaatsaanduiding;
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
CURSOR c2
|
||
IS
|
||
SELECT DISTINCT '[' || vf.fin_verkoopfactuur_id || '|' || vf.fin_verkoopfactuur_maand || '|' || vf.prs_debiteur_naam || '] ' aanduiding,
|
||
vf.fin_verkoopfactuur_id, vf.fin_verkoopfactuur_maand, vf.prs_debiteur_naam,
|
||
vfk.fin_verkoopfactuurkop_key, vfk.fin_verkoopfactuurkop_id,
|
||
b.prs_bedrijf_email
|
||
FROM fin_verkoopfactuur vf, fin_verkoopfactuurkop vfk, prs_bedrijf b
|
||
WHERE SUBSTR (vf.fin_verkoopfactuur_id, 5, 1) = '1' -- vf.fin_verkoopfactuur_xmlnode = 'contract'
|
||
AND vf.fin_verkoopfactuur_maand = TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyymm')
|
||
AND vf.fin_verkoopfactuurkop_key = vfk.fin_verkoopfactuurkop_key
|
||
AND vf.prs_bedrijf_key = b.prs_bedrijf_key
|
||
ORDER BY vf.fin_verkoopfactuur_id;
|
||
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_holiday NUMBER;
|
||
v_fact_count NUMBER;
|
||
v_amount_sum NUMBER (10, 2);
|
||
v_old_bedrijf_key NUMBER (10);
|
||
v_old_po_nr VARCHAR2 (50);
|
||
v_year_offset NUMBER (10);
|
||
v_factuur_id VARCHAR2 (30);
|
||
v_factkop_id VARCHAR2 (30);
|
||
v_verkoopfactuurkop_key NUMBER (10);
|
||
v_count NUMBER;
|
||
BEGIN
|
||
-- Eerst opruiming
|
||
DELETE FROM imp_log
|
||
WHERE imp_log_applicatie = p_applname;
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_holiday
|
||
FROM mld_vrije_dagen
|
||
WHERE TRUNC (mld_vrije_dagen_datum) = TRUNC (SYSDATE - 1);
|
||
|
||
-- LET OP: Twinfield-export van verhuurcontracten (= boekingsgangen) draait
|
||
-- dagelijks na middernacht (begin van dag) en de verkoop wordt maandelijks
|
||
-- alleen in de nacht na 10e werkdag van de maand doorgezet.
|
||
-- IF nacht na 10e werkdag van de maand (<28>n<EFBFBD>geen weekend <20>n<EFBFBD>geen vrije dag)!
|
||
-- count_work_days (d1,d2) bepaalt het #werkdagen van d1 tot d2 (als d1=d2,
|
||
-- dan return 0); daarom bepalen tov. laatste dag van vorige maand!
|
||
IF FAC.count_work_days (TRUNC (SYSDATE, 'mm') - 1, SYSDATE - 1) = 1 -- Nacht na 1e werkdag!
|
||
AND TO_CHAR (SYSDATE - 1, 'd') BETWEEN '2' AND '6'
|
||
AND v_holiday = 0
|
||
THEN
|
||
v_fact_count := 0;
|
||
v_amount_sum := 0;
|
||
v_old_bedrijf_key := -1;
|
||
v_old_po_nr := '';
|
||
|
||
-- Factureer/bevries verhuurcontractkosten en verwerk=AV alle eventuele
|
||
-- correctiemeldingen.
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
IF rec.prs_bedrijf_key != v_old_bedrijf_key OR rec.po_nr != v_old_po_nr
|
||
THEN
|
||
-- Bepaal max. sequence t/m voorgaande jaar (= aantal entries in
|
||
-- fin_verkoopfactuurkop-tabel).
|
||
SELECT COUNT ( * )
|
||
INTO v_year_offset
|
||
FROM fin_verkoopfactuurkop vfk
|
||
WHERE SUBSTR (vfk.fin_verkoopfactuurkop_id, 5, 1) = '1' -- Boekstuknummers in formaat <yyyy>1!
|
||
AND SUBSTR (vfk.fin_verkoopfactuurkop_id, 1, 4) < TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy');
|
||
|
||
-- Bepaal fin_verkoopfactuur_id=boekstuknr. tbv. BCC-verkoopboek
|
||
-- obv. sequence '01' en begin elk nieuw jaar weer bij 1 door te
|
||
-- corrigeren met de hierboven bepaalde offset.
|
||
SELECT fac_s_user01.NEXTVAL - v_year_offset INTO v_count FROM DUAL;
|
||
|
||
v_factuur_id := TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'YYYY') || '1' || SUBSTR ('0000' || TO_CHAR (v_count), -4);
|
||
v_factkop_id := v_factuur_id || '_' || SUBSTR (rec.maand, 1, 4) || '-' || SUBSTR (rec.maand, -2) || '_' || rec.debiteur_nr;
|
||
|
||
INSERT INTO fin_verkoopfactuurkop (fin_verkoopfactuurkop_id)
|
||
VALUES (v_factkop_id)
|
||
RETURNING fin_verkoopfactuurkop_key
|
||
INTO v_verkoopfactuurkop_key;
|
||
COMMIT;
|
||
|
||
v_old_bedrijf_key := rec.prs_bedrijf_key;
|
||
v_old_po_nr := rec.po_nr;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout toevoegen verkoopfactuur';
|
||
|
||
INSERT INTO fin_verkoopfactuur (fin_verkoopfactuurkop_key,
|
||
fin_verkoopfactuur_id,
|
||
fin_verkoopfactuur_datum,
|
||
fin_verkoopfactuur_omschr,
|
||
fin_verkoopfactuur_xmlnode,
|
||
fin_verkoopfactuur_refkey,
|
||
prs_kostenplaats_key,
|
||
prs_kostenplaats_nr,
|
||
prs_kostenplaats_omschrijving,
|
||
prs_kostenplaatsgrp_oms,
|
||
prs_kostensoort_oms,
|
||
prs_kostensoort_opmerking,
|
||
prs_kostensoort_refcode,
|
||
prs_bedrijf_key,
|
||
prs_debiteur_naam,
|
||
prs_kostensoortgrp_oms,
|
||
fin_verkoopfactuur_bedrag,
|
||
fin_verkoopfactuur_btw,
|
||
fin_btwtabelwaarde_code,
|
||
fin_btwtabelwaarde_oms,
|
||
fin_btwtabelwaarde_perc,
|
||
fin_btwtabelwaarde_verlegd,
|
||
fin_verkoopfactuur_maand,
|
||
fin_verkoopfactuur_n1,
|
||
fin_verkoopfactuur_n2,
|
||
fin_verkoopfactuur_n3,
|
||
fin_verkoopfactuur_n4,
|
||
fin_verkoopfactuur_n5,
|
||
fin_verkoopfactuur_c1,
|
||
fin_verkoopfactuur_c2,
|
||
fin_verkoopfactuur_c3,
|
||
fin_verkoopfactuur_c4,
|
||
fin_verkoopfactuur_c5,
|
||
fin_verkoopfactuur_c6,
|
||
fin_verkoopfactuur_c7,
|
||
fin_verkoopfactuur_c8,
|
||
fin_verkoopfactuur_d1,
|
||
fin_verkoopfactuur_d2,
|
||
fin_verkoopfactuur_d3,
|
||
fin_verkoopfactuur_d4,
|
||
fin_verkoopfactuur_d5)
|
||
VALUES (v_verkoopfactuurkop_key,
|
||
v_factuur_id,
|
||
TO_DATE (rec.factuurdatum, 'dd-mm-yyyy'),
|
||
rec.cnt_contract_nummer || '/=' || rec.sortering || rec.regel,
|
||
'contract',
|
||
rec.cnt_contract_key,
|
||
rec.prs_kostenplaats_key,
|
||
rec.prs_kostenplaats_nr,
|
||
rec.prs_kostenplaats_omschrijving,
|
||
rec.prs_kostenplaatsgrp_oms,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.grtboekrek,
|
||
rec.prs_bedrijf_key,
|
||
rec.prs_debiteur_naam,
|
||
NULL,
|
||
rec.mndnet,
|
||
rec.mndbtw,
|
||
rec.fin_btwtabelwaarde_code,
|
||
rec.fin_btwtabelwaarde_oms,
|
||
rec.fin_btwtabelwaarde_perc,
|
||
rec.fin_btwtabelwaarde_verlegd,
|
||
rec.maand,
|
||
rec.cnt_contract_korting, -- n1/kortingspercentage <20>f subsidiepercentage
|
||
rec.mld_melding_key, -- n2/correctiemelding
|
||
TO_NUMBER (NULL), -- n3
|
||
TO_NUMBER (NULL), -- n4
|
||
TO_NUMBER (NULL), -- n5
|
||
TO_CHAR (rec.l_tarief) || 'x' || TO_CHAR (rec.l_opp), -- c1/jaartarief x oppervlakte
|
||
TO_CHAR (rec.h_tarief) || 'x' || TO_CHAR (rec.h_opp), -- c2/jaartarief x oppervlakte
|
||
TO_CHAR (rec.k_tarief) || 'x' || TO_CHAR (rec.k_opp), -- c3/jaartarief x oppervlakte
|
||
TO_CHAR (rec.o_tarief) || 'x' || TO_CHAR (rec.o_opp), -- c4/jaartarief x oppervlakte
|
||
TO_CHAR (rec.t_tarief) || 'x' || TO_CHAR (rec.t_opp), -- c5/jaartarief x oppervlakte
|
||
rec.alg_onroerendgoed_type || rec.alg_onroerendgoed_keys || '=' || rec.alg_plaatsaanduiding, -- c6
|
||
rec.debiteur_nr || '=' || rec.btw_nr, -- c7
|
||
--rec.contactpersoon, -- c8
|
||
rec.mld_melding_omschrijving, -- c8
|
||
TO_DATE (rec.vervaldatum, 'dd-mm-yyyy'), -- d1
|
||
TO_DATE (rec.mndbegin, 'dd-mm-yyyy'), -- d2
|
||
TO_DATE (rec.mndeinde, 'dd-mm-yyyy'), -- d3
|
||
TO_DATE (rec.dagbegin, 'dd-mm-yyyy'), -- d4
|
||
TO_DATE (rec.dageinde, 'dd-mm-yyyy')); -- d5
|
||
COMMIT;
|
||
|
||
v_fact_count := v_fact_count + 1;
|
||
v_amount_sum := v_amount_sum + rec.mndnet;
|
||
|
||
IF (rec.mld_melding_key IS NOT NULL) -- Correctiemelding?
|
||
THEN
|
||
v_errormsg := 'Fout verwerken correctiemelding';
|
||
|
||
-- Overgang van Geaccepteerd naar Verwerkt niet mogelijk, dus
|
||
-- eerst afmelden (als nog niet Afgemeld)!
|
||
IF (rec.mld_melding_status = 4) -- ACP
|
||
THEN
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 5, NULL); -- AFM
|
||
END IF;
|
||
MLD.setmeldingstatus (rec.mld_melding_key, 6, NULL); -- VER
|
||
COMMIT;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'FACT-freeze');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog (p_applname, 'S', 'FACT-verkoop/#regels: ' || TO_CHAR (v_fact_count), TO_CHAR (v_amount_sum));
|
||
|
||
-- Verstuur verkoopfactuur naar huurder.
|
||
FOR rec IN c2
|
||
LOOP
|
||
BEGIN
|
||
v_errormsg := 'Fout toevoegen CUST01-noti';
|
||
|
||
INSERT INTO fac_notificatie (fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
fac_notificatie_receiver_email,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
fac_notificatie_prioriteit,
|
||
fac_notificatie_datum,
|
||
fac_notificatie_sender_email,
|
||
fac_notificatie_attachments)
|
||
VALUES (281, -- CUST01-noti
|
||
2, -- Mail
|
||
DECODE ( -- To-adres
|
||
rec.prs_bedrijf_email,
|
||
NULL, 'accounting1@brightlands.com',
|
||
rec.prs_bedrijf_email || ';accounting1@brightlands.com'),
|
||
'Factuur ' || rec.fin_verkoopfactuur_id || ' ' || rec.fin_verkoopfactuur_maand || ' ' || rec.prs_debiteur_naam,
|
||
rec.fin_verkoopfactuurkop_key,
|
||
2, -- Prioriteit
|
||
TRUNC (SYSDATE) + (7 / 24),
|
||
'accounting1@brightlands.com', -- From-adres
|
||
'/../../Fplace5i/CUST/BLCC/export/PDF/' || rec.fin_verkoopfactuurkop_id || '.pdf');
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', rec.aanduiding || v_errormsg, 'FACT-noti');
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', v_errormsg, 'FACT-export afgebroken!');
|
||
END;
|
||
/
|
||
|
||
|
||
-- Export om een BAT-bestand aan te maken dat de PDF-bestanden genereert. Deze
|
||
-- export moet voor 5:00 worden gedraaid, daarna (7:00) worden de notificaties
|
||
-- vanuit putOrders verstuurd.
|
||
-- BLCC#53262: Facturatie additionele diensten.
|
||
CREATE OR REPLACE VIEW blcc_v_export_pdf_att
|
||
(
|
||
result,
|
||
result_order
|
||
)
|
||
AS -- Facturatie huur
|
||
SELECT 'CALL GENEREER1FIN_VK_PDF.BAT '
|
||
|| TO_CHAR (vfk.fin_verkoopfactuurkop_key)
|
||
|| ' '
|
||
|| vfk.fin_verkoopfactuurkop_id,
|
||
vfk.fin_verkoopfactuurkop_key
|
||
FROM fac_notificatie n, fin_verkoopfactuurkop vfk
|
||
WHERE n.fac_srtnotificatie_key = 281 -- CUST01-noti
|
||
AND n.fac_notificatie_refkey = vfk.fin_verkoopfactuurkop_key
|
||
UNION ALL -- Facturatie additionele diensten
|
||
SELECT 'CALL GENEREER1FIN_VK_PDF.BAT '
|
||
|| TO_CHAR (vfk.fin_verkoopfactuurkop_key)
|
||
|| ' '
|
||
|| vfk.fin_verkoopfactuurkop_id,
|
||
vfk.fin_verkoopfactuurkop_key
|
||
FROM fac_notificatie n, fin_verkoopfactuurkop vfk
|
||
WHERE n.fac_srtnotificatie_key = 341 -- CUST02-noti
|
||
AND n.fac_notificatie_refkey = vfk.fin_verkoopfactuurkop_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_controle
|
||
(
|
||
fclt_x_stroom,
|
||
fclt_f_controle,
|
||
controle_ref
|
||
)
|
||
AS
|
||
WITH periodegeg AS (SELECT * FROM blcc_v_fact_actual)
|
||
SELECT DISTINCT 'Verhuur', 'BCC Huurcontract niet gekoppeld aan FIN-plaats',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v, cnt_contract c
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND v.alg_plaatsaanduiding NOT LIKE '%FIN%'
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'BCC Huurcontract oppervlakte = 0',
|
||
xref
|
||
FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0) ) oppervlakte
|
||
FROM periodegeg v, cnt_contract c
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.cnt_contract_key = c.cnt_contract_key
|
||
AND c.ins_discipline_key = 621 -- Huurcontracten
|
||
GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']')
|
||
WHERE oppervlakte = 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contract(regel) bedrag = 0',
|
||
xref
|
||
FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref,
|
||
SUM (v.mndnet) bedrag
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']')
|
||
WHERE bedrag = 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contract(regel) bedrag < 0',
|
||
xref
|
||
FROM ( SELECT v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']' xref,
|
||
SUM (v.mndnet) bedrag
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.regel NOT LIKE 'CFF%'
|
||
GROUP BY v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || ' [' || v.regel || ']')
|
||
WHERE bedrag < 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contractkorting >= 100%',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.cnt_contract_korting >= 100
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contract met GVR-overlap?',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v, alg_v_allonroerendgoed aog
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND v.alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
|
||
AND EXISTS (SELECT 1
|
||
FROM periodegeg v1, alg_v_allonroerendgoed aog1
|
||
WHERE v1.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND v1.alg_onroerendgoed_keys = aog1.alg_onroerendgoed_keys
|
||
AND v1.cnt_contract_key = v.cnt_contract_key -- Hetzelfde contract
|
||
AND aog1.alg_gebouw_key = aog.alg_gebouw_key -- Hetzelfde gebouw
|
||
AND v1.alg_onroerendgoed_type != v.alg_onroerendgoed_type -- Ander type
|
||
AND v1.alg_onroerendgoed_keys != v.alg_onroerendgoed_keys) -- Andere regel
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Dezelfde plaats gekoppeld aan meer contracten',
|
||
v.alg_plaatsaanduiding
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND EXISTS (SELECT 1
|
||
FROM periodegeg v1
|
||
WHERE v1.alg_onroerendgoed_type IN ('G', 'V', 'R')
|
||
AND v1.alg_onroerendgoed_keys = v.alg_onroerendgoed_keys -- Dezelfde plaats
|
||
AND v1.cnt_contract_key != v.cnt_contract_key) -- Ander contract
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'E-mail adres van debiteur onbekend',
|
||
v.prs_debiteur_naam
|
||
FROM periodegeg v, prs_bedrijf b
|
||
WHERE v.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_email IS NULL
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Factuuradres van debiteur onbekend/onvolledig',
|
||
v.prs_debiteur_naam
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND (v.adres IS NULL OR v.postcode IS NULL OR v.plaats IS NULL OR v.land IS NULL)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Correctiebedrag = 0',
|
||
TO_CHAR (v.mld_melding_key)
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NOT NULL
|
||
AND v.mndnet = 0
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Correctiemelding nog niet in conceptfactuur',
|
||
TO_CHAR (m.mld_melding_key)
|
||
FROM mld_melding m
|
||
WHERE m.mld_stdmelding_key = 482 -- Financi<63>le correctie
|
||
AND m.mld_melding_status IN (0, 2, 3) -- Pending/Ingevoerd/Ingezien
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Contract gekoppeld aan locatie',
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie)
|
||
FROM periodegeg v
|
||
WHERE v.mld_melding_key IS NULL
|
||
AND v.alg_onroerendgoed_type = 'L'
|
||
UNION ALL
|
||
SELECT DISTINCT 'Verhuur', 'Debiteurnummer onbekend',
|
||
v.prs_debiteur_naam
|
||
FROM periodegeg v, prs_bedrijf b
|
||
WHERE v.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_overeenkomst_nr IS NULL
|
||
UNION ALL
|
||
SELECT 'Verhuur', 'Aantal factuurregels > max. #regels (zoals geconfigureerd)',
|
||
x.prs_debiteur_naam || ' / ' || x.po_nr
|
||
FROM ( SELECT prs_debiteur_naam, po_nr, COUNT (*) factuurregels
|
||
FROM blcc_v_fact_actual
|
||
GROUP BY prs_debiteur_naam, po_nr) x
|
||
WHERE x.factuurregels > fac.getsetting ('res_xml_max_rsv_ruimte')
|
||
UNION ALL
|
||
SELECT 'Add. Diensten', 'H-afdeling leeg', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT 'Add. Diensten', 'H-afdeling zonder logins', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling op ander dan niveau-1', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_afdeling_boom ab
|
||
WHERE ab.prs_bedrijf_key = 22 -- Huurders
|
||
AND COALESCE (ab.prs_afdeling_key2, ab.prs_afdeling_key3, ab.prs_afdeling_key4, ab.prs_afdeling_key5) IS NOT NULL
|
||
AND ab.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling niet gelinkt aan H-relatie', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a--, prs_v_aanwezigperslid ap
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
--AND a.prs_afdeling_key = ap.prs_afdeling_key
|
||
--AND COALESCE (ap.prs_perslid_oslogin, ap.prs_perslid_oslogin2) IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigkenmerklink kl, prs_v_aanwezigbedrijf b
|
||
WHERE kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr
|
||
AND kl.prs_link_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling niet gelinkt aan actief AD-contract', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a--, prs_v_aanwezigperslid ap
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
--AND a.prs_afdeling_key = ap.prs_afdeling_key
|
||
--AND COALESCE (ap.prs_perslid_oslogin, ap.prs_perslid_oslogin2) IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.prs_afdeling_key_eig = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling gelinkt aan >1 actief AD-contract', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a, cnt_v_aanwezigcontract c1
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = c1.prs_afdeling_key_eig
|
||
AND c1.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c1.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c1.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c1.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract c2
|
||
WHERE c2.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c2.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c2.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c2.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c2.ins_discipline_key = c1.ins_discipline_key
|
||
AND c2.prs_afdeling_key_eig = c1.prs_afdeling_key_eig
|
||
AND c2.cnt_contract_key != c1.cnt_contract_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-relatie niet gelinkt aan H-afdeling', b.prs_bedrijf_naam
|
||
FROM prs_v_aanwezigbedrijf b
|
||
WHERE b.prs_overeenkomst_nr IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key
|
||
AND kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-relatie niet gelinkt aan actief AD-contract', b.prs_bedrijf_naam
|
||
FROM prs_v_aanwezigbedrijf b
|
||
WHERE EXISTS
|
||
(SELECT 1
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key
|
||
AND kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-relatie gelinkt aan >1 actief AD-contract', b.prs_bedrijf_naam
|
||
FROM prs_v_aanwezigbedrijf b, cnt_v_aanwezigcontract c1
|
||
WHERE b.prs_bedrijf_key = c1.cnt_prs_bedrijf_key
|
||
AND c1.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c1.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c1.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c1.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key
|
||
AND kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr)
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract c2
|
||
WHERE c2.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c2.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c2.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c2.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c2.ins_discipline_key = c1.ins_discipline_key
|
||
AND c2.prs_afdeling_key_eig = c1.prs_afdeling_key_eig
|
||
AND c2.cnt_contract_key != c1.cnt_contract_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'Actief AD-contract incorrect gelinkt aan huurder', c.cnt_contract_nummer_intern || DECODE (c.cnt_contract_versie, NULL, '', '.' || c.cnt_contract_versie)
|
||
FROM cnt_v_aanwezigcontract c, prs_v_afdeling_boom ab, prs_v_aanwezigkenmerklink kl, prs_bedrijf b
|
||
WHERE c.ins_discipline_key IN (1841, 1842)
|
||
AND TRUNC (c.cnt_contract_looptijd_van) < LAST_DAY (SYSDATE) -- Van-datum < einde te factureren maand
|
||
AND c.cnt_contract_looptijd_tot > TRUNC (SYSDATE, 'mm') -- Tot-datum > begin te factureren maand
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.prs_afdeling_key_eig = ab.prs_afdeling_key(+)
|
||
AND ab.prs_bedrijf_key(+) = 22 -- Huurders
|
||
AND c.prs_afdeling_key_eig = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau(+) = 'A'
|
||
AND kl.prs_kenmerk_key(+) = 1001 -- Debiteurnummer
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
||
AND kl.prs_kenmerklink_waarde != b.prs_overeenkomst_nr
|
||
UNION ALL
|
||
SELECT DISTINCT 'Add. Diensten', 'H-afdeling niet dezelfde naam als gelinkte H-relatie', a.prs_afdeling_omschrijving || ' <> ' || b.prs_bedrijf_naam
|
||
FROM prs_afdeling a, prs_v_aanwezigkenmerklink kl, prs_v_aanwezigbedrijf b
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_bedrijf_key = 22 -- Huurders
|
||
AND a.prs_afdeling_parentkey IS NULL
|
||
AND a.prs_afdeling_key = kl.prs_link_key(+)
|
||
AND kl.prs_kenmerklink_niveau = 'A'
|
||
AND kl.prs_kenmerk_key = 1001 -- Debiteurnummer
|
||
AND kl.prs_kenmerklink_waarde = b.prs_overeenkomst_nr
|
||
AND UPPER (a.prs_afdeling_omschrijving) != TRIM (b.prs_bedrijf_naam_upper)
|
||
UNION ALL
|
||
SELECT 'Uitvoerenden', 'UV-afdeling leeg', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT 'Uitvoerenden', 'UV-afdeling zonder logins', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE p.prs_afdeling_key = a.prs_afdeling_key)
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Uitvoerenden', 'UV-afdeling met logins niet gelinkt aan UV-relatie', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving
|
||
FROM prs_afdeling a, prs_v_aanwezigperslid ap
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = ap.prs_afdeling_key
|
||
AND COALESCE (ap.prs_perslid_oslogin, ap.prs_perslid_oslogin2) IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_contactpersoon cp, prs_bedrijf b, prs_perslid p
|
||
WHERE cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND cp.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = ap.prs_afdeling_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Uitvoerenden', 'UV-afdeling gelinkt aan UV-relatie via persoon zonder login', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || p.prs_perslid_naam
|
||
FROM prs_afdeling a, prs_v_aanwezigperslid p
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NULL
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND cp.prs_perslid_key = p.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT DISTINCT 'Uitvoerenden', 'UV-relatie gelinkt aan UV-afdeling via verwijderde persoon', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || cp.prs_contactpersoon_naam
|
||
FROM prs_afdeling a, prs_perslid p, prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND p.prs_perslid_verwijder IS NOT NULL
|
||
AND p.prs_perslid_key = cp.prs_perslid_key
|
||
AND cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
UNION ALL
|
||
SELECT DISTINCT 'Uitvoerenden', 'UV-afdeling niet dezelfde naam als gelinkte UV-relatie', a.prs_afdeling_omschrijving || ' <> ' || b.prs_bedrijf_naam
|
||
FROM prs_afdeling a, prs_perslid p, prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND p.prs_perslid_key = cp.prs_perslid_key
|
||
AND cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND UPPER (a.prs_afdeling_omschrijving) != TRIM (b.prs_bedrijf_naam_upper)
|
||
;
|
||
/*
|
||
UNION ALL
|
||
SELECT '***UV-account niet gelinkt aan UV-relatie met RELUSE-rechten', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || p.prs_perslid_naam
|
||
FROM prs_afdeling a, prs_v_aanwezigperslid p
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND cp.prs_perslid_key = p.prs_perslid_key)
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep gg, fac_groeprechten gr
|
||
WHERE gg.fac_groep_key = gr.fac_groep_key
|
||
AND gr.fac_functie_key IN (43, 462) -- RELMAN/RELUSE
|
||
AND gg.prs_perslid_key = p.prs_perslid_key)
|
||
UNION ALL
|
||
SELECT '***UV-account niet gelinkt aan UV-relatie met ORDxxx-rechten', a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving || '/' || p.prs_perslid_naam
|
||
FROM prs_afdeling a, prs_v_aanwezigperslid p
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_parentkey = 23 -- UV
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND COALESCE (p.prs_perslid_oslogin, p.prs_perslid_oslogin2) IS NOT NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM prs_contactpersoon cp, prs_bedrijf b
|
||
WHERE cp.prs_contactpersoon_verwijder IS NULL
|
||
AND cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_verwijder IS NULL
|
||
AND cp.prs_perslid_key = p.prs_perslid_key)
|
||
AND EXISTS
|
||
(SELECT 1
|
||
FROM fac_gebruikersgroep gg, fac_groeprechten gr
|
||
WHERE gg.fac_groep_key = gr.fac_groep_key
|
||
AND gr.fac_functie_key IN (31, 32, 34, 35, 242) -- ORDBOF/ORDBO2/ORDSUP/ORDFIN/ORDAFR
|
||
AND gg.prs_perslid_key = p.prs_perslid_key);
|
||
*/
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_delta_actual
|
||
AS
|
||
SELECT DISTINCT
|
||
debiteur_nr || cnt_contract_nummer || regel sortering,
|
||
cnt_contract_nummer_intern, cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
opp_old, opp_new, opp_delta,
|
||
bruto_old, bruto_new, bruto_delta,
|
||
DECODE (opp_delta + bruto_delta, 0, NULL, 'X') mutatievlag
|
||
FROM (SELECT COALESCE (y.cnt_contract_nummer_intern, '*' || x.cnt_contract_nummer_intern) cnt_contract_nummer_intern,
|
||
DECODE (x.cnt_contract_versie, -- Is altijd een versie!
|
||
y.cnt_contract_versie, x.cnt_contract_versie,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, '<LEEG>'))) cnt_contract_versie,
|
||
DECODE (x.prs_debiteur_naam, -- Is altijd een debiteur_naam!
|
||
y.prs_debiteur_naam, x.prs_debiteur_naam,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, '<LEEG>'))) prs_debiteur_naam,
|
||
DECODE (x.debiteur_nr, -- Niet altijd een debiteur_nr!
|
||
y.debiteur_nr, x.debiteur_nr,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, '<LEEG>'))) debiteur_nr,
|
||
DECODE (x.cnt_contract_nummer, -- Niet altijd een PO-nr!
|
||
y.cnt_contract_nummer, x.cnt_contract_nummer,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_nummer, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_nummer, '<LEEG>'))) cnt_contract_nummer,
|
||
DECODE (x.regel, -- Is altijd een regel!
|
||
y.regel, x.regel,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, '<LEEG>'))) regel,
|
||
DECODE (x.prs_kostenplaats_nr, -- Is altijd een KP-nr!
|
||
y.prs_kostenplaats_nr, x.prs_kostenplaats_nr,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, '<LEEG>'))) prs_kostenplaats_nr,
|
||
DECODE (x.grtboekrek, -- Niet altijd een grootboekrekening!
|
||
y.grtboekrek, x.grtboekrek,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, '<LEEG>'))) grtboekrek,
|
||
y.opp opp_old, x.opp opp_new,
|
||
(COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta,
|
||
y.bruto bruto_old, x.bruto bruto_new,
|
||
(COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta
|
||
FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_actual
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) x
|
||
LEFT JOIN
|
||
( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen)
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) y
|
||
ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern
|
||
--AND x.cnt_contract_versie = y.cnt_contract_versie
|
||
--AND x.prs_debiteur_naam = y.prs_debiteur_naam
|
||
--AND x.debiteur_nr = y.debiteur_nr
|
||
--AND x.cnt_contract_nummer = y.cnt_contract_nummer
|
||
AND x.regel = y.regel
|
||
UNION
|
||
SELECT COALESCE (x.cnt_contract_nummer_intern, 'x' || y.cnt_contract_nummer_intern) cnt_contract_nummer_intern,
|
||
DECODE (y.cnt_contract_versie, -- Is altijd een versie!
|
||
x.cnt_contract_versie, y.cnt_contract_versie,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, '<LEEG>'))) cnt_contract_versie,
|
||
DECODE (y.prs_debiteur_naam, -- Is altijd een debiteur_naam!
|
||
x.prs_debiteur_naam, y.prs_debiteur_naam,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, '<LEEG>'))) prs_debiteur_naam,
|
||
DECODE (y.debiteur_nr, -- Niet altijd een debiteur_nr!
|
||
x.debiteur_nr, y.debiteur_nr,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, '<LEEG>'))) debiteur_nr,
|
||
DECODE (y.cnt_contract_nummer, -- Niet altijd een PO-nr!
|
||
x.cnt_contract_nummer, y.cnt_contract_nummer,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_nummer, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_nummer, '<LEEG>'))) cnt_contract_nummer,
|
||
DECODE (y.regel, -- Is altijd een regel!
|
||
x.regel, y.regel,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, '<LEEG>'))) regel,
|
||
DECODE (y.prs_kostenplaats_nr, -- Is altijd een KP-nr!
|
||
x.prs_kostenplaats_nr, y.prs_kostenplaats_nr,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, '<LEEG>'))) prs_kostenplaats_nr,
|
||
DECODE (y.grtboekrek, -- Niet altijd een grootboekrekening!
|
||
x.grtboekrek, y.grtboekrek,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, '<LEEG>'))) grtboekrek,
|
||
y.opp opp_old, x.opp opp_new,
|
||
(COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta,
|
||
y.bruto bruto_old, x.bruto bruto_new,
|
||
(COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta
|
||
FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_actual
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) x
|
||
RIGHT JOIN
|
||
( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen)
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) y
|
||
ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern
|
||
--AND x.cnt_contract_versie = y.cnt_contract_versie
|
||
--AND x.prs_debiteur_naam = y.prs_debiteur_naam
|
||
--AND x.debiteur_nr = y.debiteur_nr
|
||
--AND x.cnt_contract_nummer = y.cnt_contract_nummer
|
||
AND x.regel = y.regel);
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_fact_delta_frozen
|
||
AS
|
||
SELECT DISTINCT
|
||
debiteur_nr || cnt_contract_nummer || regel sortering,
|
||
cnt_contract_nummer_intern, cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
opp_old, opp_new, opp_delta,
|
||
bruto_old, bruto_new, bruto_delta,
|
||
DECODE (opp_delta + bruto_delta, 0, NULL, 'X') mutatievlag
|
||
FROM (SELECT COALESCE (y.cnt_contract_nummer_intern, '*' || x.cnt_contract_nummer_intern) cnt_contract_nummer_intern,
|
||
DECODE (x.cnt_contract_versie, -- Is altijd een versie!
|
||
y.cnt_contract_versie, x.cnt_contract_versie,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, '<LEEG>'))) cnt_contract_versie,
|
||
DECODE (x.prs_debiteur_naam, -- Is altijd een debiteur_naam!
|
||
y.prs_debiteur_naam, x.prs_debiteur_naam,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, '<LEEG>'))) prs_debiteur_naam,
|
||
DECODE (x.debiteur_nr, -- Niet altijd een debiteur_nr!
|
||
y.debiteur_nr, x.debiteur_nr,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, '<LEEG>'))) debiteur_nr,
|
||
DECODE (x.cnt_contract_nummer, -- Niet altijd een PO-nr!
|
||
y.cnt_contract_nummer, x.cnt_contract_nummer,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.cnt_contract_nummer, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_nummer, '<LEEG>'))) cnt_contract_nummer,
|
||
DECODE (x.regel, -- Is altijd een regel!
|
||
y.regel, x.regel,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, '<LEEG>'))) regel,
|
||
DECODE (x.prs_kostenplaats_nr, -- Is altijd een KP-nr!
|
||
y.prs_kostenplaats_nr, x.prs_kostenplaats_nr,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, '<LEEG>'))) prs_kostenplaats_nr,
|
||
DECODE (x.grtboekrek, -- Niet altijd een grootboekrekening!
|
||
y.grtboekrek, x.grtboekrek,
|
||
DECODE (y.cnt_contract_nummer_intern, NULL, '*' || x.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, '<LEEG>'))) grtboekrek,
|
||
y.opp opp_old, x.opp opp_new,
|
||
(COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta,
|
||
y.bruto bruto_old, x.bruto bruto_new,
|
||
(COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta
|
||
FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen)
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) x
|
||
LEFT JOIN
|
||
( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen WHERE maand <> (SELECT MAX (maand) FROM blcc_v_fact_frozen))
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) y
|
||
ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern
|
||
--AND x.cnt_contract_versie = y.cnt_contract_versie
|
||
--AND x.prs_debiteur_naam = y.prs_debiteur_naam
|
||
--AND x.debiteur_nr = y.debiteur_nr
|
||
--AND x.cnt_contract_nummer = y.cnt_contract_nummer
|
||
AND x.regel = y.regel
|
||
UNION
|
||
SELECT COALESCE (x.cnt_contract_nummer_intern, 'x' || y.cnt_contract_nummer_intern) cnt_contract_nummer_intern,
|
||
DECODE (y.cnt_contract_versie, -- Is altijd een versie!
|
||
x.cnt_contract_versie, y.cnt_contract_versie,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_versie, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_versie, '<LEEG>'))) cnt_contract_versie,
|
||
DECODE (y.prs_debiteur_naam, -- Is altijd een debiteur_naam!
|
||
x.prs_debiteur_naam, y.prs_debiteur_naam,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_debiteur_naam, '***GEWIJZIGD: ' || COALESCE (x.prs_debiteur_naam, '<LEEG>'))) prs_debiteur_naam,
|
||
DECODE (y.debiteur_nr, -- Niet altijd een debiteur_nr!
|
||
x.debiteur_nr, y.debiteur_nr,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.debiteur_nr, '***GEWIJZIGD: ' || COALESCE (x.debiteur_nr, '<LEEG>'))) debiteur_nr,
|
||
DECODE (y.cnt_contract_nummer, -- Niet altijd een PO-nr!
|
||
x.cnt_contract_nummer, y.cnt_contract_nummer,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.cnt_contract_nummer, '***GEWIJZIGD: ' || COALESCE (x.cnt_contract_nummer, '<LEEG>'))) cnt_contract_nummer,
|
||
DECODE (y.regel, -- Is altijd een regel!
|
||
x.regel, y.regel,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.regel, '***GEWIJZIGD: ' || COALESCE (x.regel, '<LEEG>'))) regel,
|
||
DECODE (y.prs_kostenplaats_nr, -- Is altijd een KP-nr!
|
||
x.prs_kostenplaats_nr, y.prs_kostenplaats_nr,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.prs_kostenplaats_nr, '***GEWIJZIGD: ' || COALESCE (x.prs_kostenplaats_nr, '<LEEG>'))) prs_kostenplaats_nr,
|
||
DECODE (y.grtboekrek, -- Niet altijd een grootboekrekening!
|
||
x.grtboekrek, y.grtboekrek,
|
||
DECODE (x.cnt_contract_nummer_intern, NULL, 'x' || y.grtboekrek, '***GEWIJZIGD: ' || COALESCE (x.grtboekrek, '<LEEG>'))) grtboekrek,
|
||
y.opp opp_old, x.opp opp_new,
|
||
(COALESCE (x.opp, 0) - COALESCE (y.opp, 0)) opp_delta,
|
||
y.bruto bruto_old, x.bruto bruto_new,
|
||
(COALESCE (x.bruto, 0) - COALESCE (y.bruto, 0)) bruto_delta
|
||
FROM ( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen)
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) x
|
||
RIGHT JOIN
|
||
( SELECT cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0') cnt_contract_versie,
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek,
|
||
SUM (COALESCE (l_opp, 0) + COALESCE (h_opp, 0) + COALESCE (k_opp, 0) + COALESCE (o_opp, 0) + COALESCE (t_opp, 0)) opp,
|
||
SUM (mndnet + mndbtw) bruto
|
||
FROM blcc_v_fact_frozen
|
||
WHERE maand = (SELECT MAX (maand) FROM blcc_v_fact_frozen WHERE maand <> (SELECT MAX (maand) FROM blcc_v_fact_frozen))
|
||
GROUP BY cnt_contract_nummer_intern, COALESCE (cnt_contract_versie, '0'),
|
||
prs_debiteur_naam, debiteur_nr,
|
||
cnt_contract_nummer, regel,
|
||
prs_kostenplaats_nr, grtboekrek) y
|
||
ON x.cnt_contract_nummer_intern = y.cnt_contract_nummer_intern
|
||
--AND x.cnt_contract_versie = y.cnt_contract_versie
|
||
--AND x.prs_debiteur_naam = y.prs_debiteur_naam
|
||
--AND x.debiteur_nr = y.debiteur_nr
|
||
--AND x.cnt_contract_nummer = y.cnt_contract_nummer
|
||
AND x.regel = y.regel);
|
||
|
||
-- BLCC#41826: Leegstand
|
||
CREATE OR REPLACE VIEW blcc_v_rap_leegstand
|
||
AS
|
||
SELECT TO_CHAR (x.mnd, 'yyyy-mm') maand,
|
||
fp.alg_onrgoed_key,
|
||
fp.alg_onrgoed_type,
|
||
fp.fin_plaats,
|
||
c.prs_bedrijf_naam debiteur,
|
||
c.prs_overeenkomst_nr debiteur_nr,
|
||
fp.fin_opp,
|
||
fp.fin_lhkot,
|
||
DECODE (c.cnt_contract_key, NULL, 'Ja', 'Nee') leegstand
|
||
FROM ( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'mm'), LEVEL - 13) mnd
|
||
FROM DUAL
|
||
CONNECT BY LEVEL <= 37) x
|
||
LEFT JOIN (SELECT g.alg_gebouw_key alg_onrgoed_key, 'G' alg_onrgoed_type,
|
||
g.alg_gebouw_code || DECODE (glhkot.alg_kenmerk_key, 1082, ' / L', 1083, ' / H', 1084, ' / K', 1085, ' / O', ' / T')
|
||
fin_plaats,
|
||
fac.safe_to_number (alg_onrgoedkenmerk_waarde) fin_opp,
|
||
DECODE (glhkot.alg_kenmerk_key, 1082, 'L', 1083, 'H', 1084, 'K', 1085, 'O', 'T') fin_lhkot
|
||
FROM alg_v_aanweziggebouw g, alg_v_aanwezigonrgoedkenmerk glhkot
|
||
WHERE g.alg_gebouw_code LIKE '%FIN%'
|
||
AND g.alg_gebouw_key = glhkot.alg_onrgoed_key
|
||
AND glhkot.alg_kenmerk_key IN (1082, 1083, 1084, 1085, 1120) -- LHKOT Oppervlakten
|
||
AND glhkot.alg_onrgoed_niveau = 'G'
|
||
UNION ALL
|
||
SELECT v.alg_verdieping_key alg_onrgoed_key, 'V' alg_onrgoed_type,
|
||
g.alg_gebouw_code || '-' || TRIM (v.alg_verdieping_code) || DECODE (vlhkot.alg_kenmerk_key, 1092, ' / L', 1093, ' / H', 1094, ' / K', 1095, ' / O', ' / T')
|
||
fin_plaats,
|
||
fac.safe_to_number (alg_onrgoedkenmerk_waarde) fin_opp,
|
||
DECODE (vlhkot.alg_kenmerk_key, 1092, 'L', 1093, 'H', 1094, 'K', 1095, 'O', 'T') fin_lhkot
|
||
FROM alg_v_aanwezigverdieping v, alg_gebouw g, alg_v_aanwezigonrgoedkenmerk vlhkot
|
||
WHERE v.alg_verdieping_code LIKE '%FIN%'
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND v.alg_verdieping_key = vlhkot.alg_onrgoed_key
|
||
AND vlhkot.alg_kenmerk_key IN (1092, 1093, 1094, 1095, 1121) -- LHKOT Oppervlakten
|
||
AND vlhkot.alg_onrgoed_niveau = 'V'
|
||
UNION ALL
|
||
SELECT r.alg_ruimte_key alg_onrgoed_key, 'R' alg_onrgoed_type,
|
||
g.alg_gebouw_code || '-' || v.alg_verdieping_code || '-' || r.alg_ruimte_nr || ' / ' || ud.fac_usrdata_code
|
||
fin_plaats,
|
||
r.alg_ruimte_opp_alt1 fin_opp,
|
||
ud.fac_usrdata_code fin_lhkot
|
||
FROM alg_v_aanwezigruimte r, alg_verdieping v, alg_gebouw g, alg_v_aanwezigonrgoedkenmerk rlhkot, fac_usrdata ud
|
||
WHERE r.alg_ruimte_nr LIKE 'FIN%'
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND r.alg_ruimte_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
AND rlhkot.alg_onrgoedkenmerk_waarde = TO_CHAR (ud.fac_usrdata_key)) fp -- FIN-plaatsen
|
||
ON 1 = 1
|
||
LEFT JOIN (SELECT c.cnt_contract_key, c.cnt_contract_nummer_intern, c.cnt_contract_versie,
|
||
c.cnt_contract_looptijd_van, c.cnt_contract_looptijd_tot,
|
||
cp.cnt_alg_plaats_key, cp.cnt_alg_plaats_code, b.prs_bedrijf_naam, b.prs_overeenkomst_nr
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract vsov, cnt_contract_plaats cp, prs_bedrijf b
|
||
WHERE c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND c.cnt_contract_key = vsov.cnt_contract_key
|
||
AND vsov.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov.cnt_kenmerk_key = 21 -- VSOV
|
||
AND vsov.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd telt als geen leegstand!
|
||
AND cp.cnt_contract_plaats_verwijder IS NULL
|
||
AND c.cnt_contract_key = cp.cnt_contract_key
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
|
||
ON x.mnd BETWEEN TRUNC (c.cnt_contract_looptijd_van) AND TRUNC (c.cnt_contract_looptijd_tot + 1)
|
||
AND fp.alg_onrgoed_key = c.cnt_alg_plaats_key;
|
||
|
||
-- BLCC#41827: Rent roll met een per bedrijf/regel/jaar-rij een contractbedrag-
|
||
-- kolom (ter pivot in FACILITOR naar een per bedrijf/regel-rij een
|
||
-- contractbedrag per jaar-kolom).
|
||
CREATE OR REPLACE VIEW blcc_v_rap_rent_roll
|
||
AS
|
||
SELECT prs_bedrijf_naam huurder,
|
||
regel,
|
||
lv ingangsdatum_huurovk,
|
||
lt einddatum_huurovk,
|
||
12 * mndnet_heel rent,
|
||
TO_CHAR (maand, 'yyyy') jaar,
|
||
SUM (mndnet_deel) totaal -- Regeltotaal per jaar
|
||
FROM (
|
||
SELECT p.maand,
|
||
c.lv,
|
||
c.lt,
|
||
c.prs_bedrijf_naam,
|
||
x.regel,
|
||
SUM (ROUND (x.mndnet, 2)) mndnet_heel,
|
||
SUM (ROUND ((LEAST (TRUNC (c.lt), LAST_DAY (p.maand)) - GREATEST (TRUNC (c.lv), p.maand) + 1) / (LAST_DAY (p.maand) - p.maand + 1) * x.mndnet, 2))
|
||
mndnet_deel -- Regeltotaal per maand
|
||
FROM ( SELECT ADD_MONTHS (TRUNC (SYSDATE, 'yyyy'), LEVEL - 1) maand
|
||
FROM DUAL
|
||
CONNECT BY ADD_MONTHS (TRUNC (SYSDATE, 'yyyy'), LEVEL - 1) <=
|
||
(SELECT MAX (TRUNC (cnt_contract_looptijd_tot, 'mm'))
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract vsov
|
||
WHERE c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.ins_discipline_key IN (621, 721, 722, 724) -- Huurcontracten+PP/CV+Utility infra/voorz+General infra/voorz
|
||
AND c.cnt_contract_key = vsov.cnt_contract_key
|
||
AND vsov.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov.cnt_kenmerk_key = 21 -- VSOV
|
||
AND vsov.cnt_kenmerkcontract_waarde = '454')) p -- ALLEEN Verhuurd!
|
||
LEFT JOIN (SELECT c.cnt_contract_key, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_naam
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract vsov, prs_bedrijf b
|
||
WHERE c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.ins_discipline_key = 621 -- Huurcontracten
|
||
AND c.cnt_contract_key = vsov.cnt_contract_key
|
||
AND vsov.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND vsov.cnt_kenmerk_key = 21 -- VSOV
|
||
AND vsov.cnt_kenmerkcontract_waarde = '454' -- ALLEEN Verhuurd!
|
||
--AND c.cnt_prs_bedrijf_key = 11207 -- Arlanxeo (om te testen)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
UNION ALL
|
||
SELECT c.cnt_contract_key, c.cnt_contract_looptijd_van lv, c.cnt_contract_looptijd_tot lt, b.prs_bedrijf_naam
|
||
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
|
||
WHERE c.cnt_contract_status = 0 -- NIET Gesloten
|
||
AND c.ins_discipline_key IN (721, 722, 724) -- PP/CV+Utility infra/voorz+General infra/voorz
|
||
--AND c.cnt_prs_bedrijf_key = 11207 -- Arlanxeo (om te testen)
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
|
||
ON p.maand BETWEEN TRUNC (c.lv, 'mm') AND TRUNC (c.lt, 'mm')
|
||
LEFT JOIN (SELECT x.cnt_contract_key, -- M2 feitelijk!
|
||
'Campus Rent' regel,
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0)))
|
||
mndnet -- Netto maandbedrag (incl. kortingspercentage)
|
||
FROM (SELECT c.cnt_contract_key, c.cnt_contract_korting
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 621) x -- Huurcontracten
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho
|
||
ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key
|
||
AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte
|
||
AND gho.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo
|
||
ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key
|
||
AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte
|
||
AND goo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto
|
||
ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key
|
||
AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte
|
||
AND gto.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho
|
||
ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key
|
||
AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte
|
||
AND vho.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo
|
||
ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key
|
||
AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte
|
||
AND voo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto
|
||
ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key
|
||
AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte
|
||
AND vto.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
UNION ALL -- M2 correctie!
|
||
SELECT x.cnt_contract_key,
|
||
'Campus Rent' regel,
|
||
((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number (clo.cnt_kenmerkcontract_waarde), 0) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cho.cnt_kenmerkcontract_waarde), 0) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cko.cnt_kenmerkcontract_waarde), 0) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (coo.cnt_kenmerkcontract_waarde), 0) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number (cto.cnt_kenmerkcontract_waarde), 0) * COALESCE (ttar.fac_usrdata_prijs / 12, 0)))
|
||
mndnet -- Netto maandbedrag (incl. kortingspercentage)
|
||
FROM (SELECT c.cnt_contract_key, c.cnt_contract_korting
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 621) x -- Huurcontracten
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN cnt_kenmerkcontract clo
|
||
ON x.cnt_contract_key = clo.cnt_contract_key
|
||
AND clo.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND clo.cnt_kenmerk_key = 381 -- CL-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract cho
|
||
ON x.cnt_contract_key = cho.cnt_contract_key
|
||
AND cho.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cho.cnt_kenmerk_key = 382 -- CH-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract cko
|
||
ON x.cnt_contract_key = cko.cnt_contract_key
|
||
AND cko.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cko.cnt_kenmerk_key = 383 -- CK-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract coo
|
||
ON x.cnt_contract_key = coo.cnt_contract_key
|
||
AND coo.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND coo.cnt_kenmerk_key = 384 -- CO-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract cto
|
||
ON x.cnt_contract_key = cto.cnt_contract_key
|
||
AND cto.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cto.cnt_kenmerk_key = 385 -- CT-Oppervlakte
|
||
WHERE ( clo.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
OR cho.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
OR cko.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
OR coo.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
OR cto.cnt_kenmerkcontract_waarde IS NOT NULL)
|
||
UNION ALL -- FES
|
||
SELECT x.cnt_contract_key,
|
||
'FES' regel,
|
||
-1 *
|
||
((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * (COALESCE (lfes.fac_usrdata_prijs, 0) / 12)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * (COALESCE (kfes.fac_usrdata_prijs, 0) / 12)))
|
||
mndnet -- Netto maandbedrag (excl. kortingspercentage)
|
||
FROM (SELECT c.cnt_contract_key
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 621) x -- Huurcontracten
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde = TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata lfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (lfes.fac_usrtab_key)
|
||
AND lfes.fac_usrdata_code = 'LFES' -- FES-Tarief op L-Oppervlakte
|
||
LEFT JOIN fac_v_aanwezigusrdata kfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (kfes.fac_usrtab_key)
|
||
AND kfes.fac_usrdata_code = 'KFES' -- FES-Tarief op K-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract fes
|
||
ON x.cnt_contract_key = fes.cnt_contract_key
|
||
AND fes.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND fes.cnt_kenmerk_key = 42 -- FES-vinkje
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
WHERE fes.cnt_kenmerkcontract_waarde IS NOT NULL
|
||
UNION ALL -- CFF Rent
|
||
SELECT cnt_contract_key,
|
||
'CFF Rent' regel,
|
||
-1 * fac_usrdata_prijs * (mndopp - mndfes - fac.safe_to_number (cnt_kenmerkcontract_waarde))
|
||
mndnet -- CFF-subsidie * Netto maandbedrag alle meters minus Netto maandbedrag FES-korting minus kortingsbedrag)=CFF Rent
|
||
FROM ( SELECT x.cnt_contract_key,
|
||
kb_kc.cnt_kenmerkcontract_waarde, -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
ccf_ud.fac_usrdata_prijs, -- CFF-subsidiepercentatie %
|
||
SUM (((100 - COALESCE (x.cnt_contract_korting, 0)) / 100) *
|
||
((COALESCE (fac.safe_to_number(COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ltar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gho.alg_onrgoedkenmerk_waarde, vho.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '482', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (htar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ktar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (goo.alg_onrgoedkenmerk_waarde, voo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '484', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (otar.fac_usrdata_prijs / 12, 0)) +
|
||
(COALESCE (fac.safe_to_number(COALESCE (gto.alg_onrgoedkenmerk_waarde, vto.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '561', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0)) * COALESCE (ttar.fac_usrdata_prijs / 12, 0))))
|
||
mndopp, -- Netto maandbedrag alle meters (incl. kortingspercentage)
|
||
SUM ((DECODE (fes.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (fac.safe_to_number (COALESCE (glo.alg_onrgoedkenmerk_waarde, vlo.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '481', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0))) * COALESCE (lfes.fac_usrdata_prijs / 12, 0)) +
|
||
(DECODE (fes.cnt_kenmerkcontract_waarde, NULL, 0, COALESCE (fac.safe_to_number (COALESCE (gko.alg_onrgoedkenmerk_waarde, vko.alg_onrgoedkenmerk_waarde)), DECODE (rlhkot.alg_onrgoedkenmerk_waarde, '483', COALESCE (rxo.alg_ruimte_opp_alt1, 0), 0))) * COALESCE (kfes.fac_usrdata_prijs / 12, 0)))
|
||
mndfes -- Netto maandbedrag FES-korting (excl. kortingspercentage)
|
||
FROM (SELECT c.cnt_contract_key, c.cnt_contract_korting
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key = 621) x -- Huurcontracten
|
||
LEFT JOIN cnt_kenmerkcontract tt_kc
|
||
ON x.cnt_contract_key = tt_kc.cnt_contract_key
|
||
AND tt_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND tt_kc.cnt_kenmerk_key = 23 -- Tarieftabel
|
||
LEFT JOIN fac_v_aanwezigusrdata tt_ud
|
||
ON tt_kc.cnt_kenmerkcontract_waarde =
|
||
TO_CHAR (tt_ud.fac_usrdata_key)
|
||
LEFT JOIN fac_v_aanwezigusrdata ltar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ltar.fac_usrtab_key)
|
||
AND ltar.fac_usrdata_code = 'L' -- L-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata htar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (htar.fac_usrtab_key)
|
||
AND htar.fac_usrdata_code = 'H' -- H-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ktar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ktar.fac_usrtab_key)
|
||
AND ktar.fac_usrdata_code = 'K' -- K-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata otar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (otar.fac_usrtab_key)
|
||
AND otar.fac_usrdata_code = 'O' -- O-Tarief
|
||
LEFT JOIN fac_v_aanwezigusrdata ttar
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (ttar.fac_usrtab_key)
|
||
AND ttar.fac_usrdata_code = 'T' -- T-Tarief
|
||
LEFT JOIN cnt_kenmerkcontract kb_kc
|
||
ON x.cnt_contract_key = kb_kc.cnt_contract_key
|
||
AND kb_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kb_kc.cnt_kenmerk_key = 24 -- Kortingsbedrag
|
||
LEFT JOIN cnt_kenmerkcontract cff_kc
|
||
ON x.cnt_contract_key = cff_kc.cnt_contract_key
|
||
AND cff_kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND cff_kc.cnt_kenmerk_key = 44 -- CFF-subsidie
|
||
LEFT JOIN fac_v_aanwezigusrdata ccf_ud
|
||
ON cff_kc.cnt_kenmerkcontract_waarde = TO_CHAR (ccf_ud.fac_usrdata_key)
|
||
LEFT JOIN cnt_v_aanwezigcontract_plaats ccp
|
||
ON x.cnt_contract_key = ccp.cnt_contract_key
|
||
AND ccp.cnt_alg_plaats_code IN ('G', 'V', 'R')
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk glo
|
||
ON ccp.cnt_alg_plaats_key = glo.alg_onrgoed_key
|
||
AND glo.alg_kenmerk_key = 1082 -- GL-Oppervlakte
|
||
AND glo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gho
|
||
ON ccp.cnt_alg_plaats_key = gho.alg_onrgoed_key
|
||
AND gho.alg_kenmerk_key = 1083 -- GH-Oppervlakte
|
||
AND gho.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gko
|
||
ON ccp.cnt_alg_plaats_key = gko.alg_onrgoed_key
|
||
AND gko.alg_kenmerk_key = 1084 -- GK-Oppervlakte
|
||
AND gko.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk goo
|
||
ON ccp.cnt_alg_plaats_key = goo.alg_onrgoed_key
|
||
AND goo.alg_kenmerk_key = 1085 -- GO-Oppervlakte
|
||
AND goo.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk gto
|
||
ON ccp.cnt_alg_plaats_key = gto.alg_onrgoed_key
|
||
AND gto.alg_kenmerk_key = 1120 -- GT-Oppervlakte
|
||
AND gto.alg_onrgoed_niveau = 'G'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vlo
|
||
ON ccp.cnt_alg_plaats_key = vlo.alg_onrgoed_key
|
||
AND vlo.alg_kenmerk_key = 1092 -- VL-Oppervlakte
|
||
AND vlo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vho
|
||
ON ccp.cnt_alg_plaats_key = vho.alg_onrgoed_key
|
||
AND vho.alg_kenmerk_key = 1093 -- VH-Oppervlakte
|
||
AND vho.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vko
|
||
ON ccp.cnt_alg_plaats_key = vko.alg_onrgoed_key
|
||
AND vko.alg_kenmerk_key = 1094 -- VK-Oppervlakte
|
||
AND vko.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk voo
|
||
ON ccp.cnt_alg_plaats_key = voo.alg_onrgoed_key
|
||
AND voo.alg_kenmerk_key = 1095 -- VO-Oppervlakte
|
||
AND voo.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk vto
|
||
ON ccp.cnt_alg_plaats_key = vto.alg_onrgoed_key
|
||
AND vto.alg_kenmerk_key = 1121 -- VT-Oppervlakte
|
||
AND vto.alg_onrgoed_niveau = 'V'
|
||
LEFT JOIN alg_v_aanwezigonrgoedkenmerk rlhkot
|
||
ON ccp.cnt_alg_plaats_key = rlhkot.alg_onrgoed_key
|
||
AND rlhkot.alg_kenmerk_key = 1100 -- LHKOT Classificatie
|
||
AND rlhkot.alg_onrgoed_niveau = 'R'
|
||
LEFT JOIN alg_v_aanwezigruimte rxo
|
||
ON ccp.cnt_alg_plaats_key = rxo.alg_ruimte_key
|
||
LEFT JOIN fac_v_aanwezigusrdata lfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (lfes.fac_usrtab_key)
|
||
AND lfes.fac_usrdata_code = 'LFES' -- FES-Tarief op L-Oppervlakte
|
||
LEFT JOIN fac_v_aanwezigusrdata kfes
|
||
ON tt_ud.fac_usrdata_code = TO_CHAR (kfes.fac_usrtab_key)
|
||
AND kfes.fac_usrdata_code = 'KFES' -- FES-Tarief op K-Oppervlakte
|
||
LEFT JOIN cnt_kenmerkcontract fes
|
||
ON x.cnt_contract_key = fes.cnt_contract_key
|
||
AND fes.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND fes.cnt_kenmerk_key = 42 -- FES-vinkje
|
||
WHERE COALESCE (cff_kc.cnt_kenmerkcontract_waarde, '534') != '534' -- NIET Nvt!
|
||
GROUP BY x.cnt_contract_key,
|
||
kb_kc.cnt_kenmerkcontract_waarde,
|
||
ccf_ud.fac_usrdata_prijs)
|
||
UNION ALL -- Alle individuele maandbedragen voor 721, 722 en 724!
|
||
SELECT c.cnt_contract_key,
|
||
'Campus Rent' regel,
|
||
SUM (((100 - COALESCE (c.cnt_contract_korting, 0)) / 100) * fac.safe_to_number (kc.cnt_kenmerkcontract_waarde))
|
||
mndnet -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
|
||
WHERE c.ins_discipline_key IN (721, 722, 724) -- PP/CV+Utility infra/voorz+General infra/voorz
|
||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||
AND sk.cnt_srtkenmerk_key > 60
|
||
AND sk.cnt_srtkenmerk_kenmerktype = 'N' -- Numeriek
|
||
AND UPPER (sk.cnt_srtkenmerk_dimensie) LIKE '%P.MND.%'
|
||
GROUP BY c.cnt_contract_key
|
||
UNION ALL -- Alle individuele kortingsbedragen (per maand) voor 621, 721, 722 en 724!
|
||
SELECT c.cnt_contract_key,
|
||
'Campus Rent' regel,
|
||
-1 * fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
|
||
mndnet -- Netto kortingsbedrag (excl. kortingspercentage)!
|
||
FROM cnt_v_aanwezigcontract c, cnt_kenmerkcontract kc, cnt_kenmerk k
|
||
WHERE c.ins_discipline_key IN (621, 721, 722, 724) -- Huurcontracten+PP/CV+Utility infra/voorz+General infra/voorz
|
||
AND c.cnt_contract_key = kc.cnt_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_srtkenmerk_key = 44 -- Kortingsbedrag
|
||
AND kc.cnt_kenmerkcontract_waarde != '0') x
|
||
ON c.cnt_contract_key = x.cnt_contract_key
|
||
GROUP BY p.maand,
|
||
c.lv,
|
||
c.lt,
|
||
c.prs_bedrijf_naam,
|
||
x.regel)
|
||
GROUP BY prs_bedrijf_naam,
|
||
regel,
|
||
lv,
|
||
lt,
|
||
12 * mndnet_heel,
|
||
TO_CHAR (maand, 'yyyy');
|
||
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_huurcontracten
|
||
(
|
||
cnt_contract_key,
|
||
cnt_contract_id,
|
||
cnt_contract_tht
|
||
)
|
||
AS
|
||
SELECT DISTINCT v.cnt_contract_key,
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || '/' || cd.ins_discipline_omschrijving || ' [' || v.prs_debiteur_naam || ']',
|
||
NULL
|
||
FROM blcc_v_fact_actual v, cnt_discipline cd
|
||
WHERE v.sortering = TO_CHAR (cd.ins_discipline_key)
|
||
UNION
|
||
SELECT DISTINCT cnt_contract_key,
|
||
v.cnt_contract_nummer_intern || DECODE (v.cnt_contract_versie, NULL, '', '.' || v.cnt_contract_versie) || '/' || cd.ins_discipline_omschrijving || ' [' || v.prs_debiteur_naam || ']',
|
||
ADD_MONTHS (v.lv, 1)
|
||
FROM blcc_v_fact_frozen v, cnt_discipline cd
|
||
WHERE v.sortering = TO_CHAR (cd.ins_discipline_key);
|
||
|
||
|
||
-- BLCC#51200: Indexatie 2019!
|
||
CREATE OR REPLACE PROCEDURE blcc_export_indexwerk (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
-- Huurcontracten+PP/CV+Shared facilities+IT Diensten+OZB
|
||
CURSOR ccnt (p_splitsindexdatum DATE)
|
||
IS
|
||
SELECT '[' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || '] '
|
||
aanduiding,
|
||
c.ins_discipline_key,
|
||
c.cnt_contract_key,
|
||
c.cnt_contract_nummer_intern,
|
||
c.cnt_contract_versie,
|
||
c.cnt_contract_looptijd_tot einddatum,
|
||
c.cnt_contract_kosten,
|
||
c.cnt_contract_termijnkosten,
|
||
c.cnt_prs_bedrijf_key,
|
||
DECODE (c.ins_discipline_key,
|
||
721, 2.00, -- PP/CV in 2019: 2,00%!
|
||
725, 2.00, -- Shared facilities in 2019: 2,00%!
|
||
761, 2.00, -- OZB in 2019: 2,00%!
|
||
1.0) -- 621+741 in 2019: 1,00%!
|
||
index_percentage
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key IN (621, 721, 725, 741, 761)
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract
|
||
WHERE cnt_contract_nummer_intern = c.cnt_contract_nummer_intern
|
||
AND cnt_contract_versie > COALESCE (c.cnt_contract_versie, '0'))
|
||
AND c.cnt_contract_looptijd_tot > p_splitsindexdatum
|
||
ORDER BY TO_NUMBER (c.cnt_contract_nummer_intern);
|
||
|
||
c_index_percentage NUMBER := 1.0; -- Default/standaard in 2019: 1,0%!
|
||
c_splitsindexdatum DATE := TO_DATE ('01012019', 'ddmmyyyy');
|
||
v_errorhint VARCHAR2 (1000) := '';
|
||
v_errormsg VARCHAR2 (1000) := '';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER;
|
||
v_new_tarieftab_key NUMBER;
|
||
v_old_tarieftab_key NUMBER;
|
||
v_new_tarieftab_val NUMBER;
|
||
v_new_contract_key NUMBER;
|
||
BEGIN
|
||
-- Aanmaken en indexeren tarieftabel 20xx.
|
||
v_errorhint := 'Fout bepalen nieuwe tarieftabel';
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM fac_usrtab
|
||
WHERE fac_usrtab_naam = 'Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy');
|
||
|
||
IF v_count > 0
|
||
THEN
|
||
SELECT fac_usrtab_key
|
||
INTO v_new_tarieftab_key
|
||
FROM fac_usrtab
|
||
WHERE fac_usrtab_naam = 'Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy');
|
||
ELSE
|
||
v_errorhint := 'Fout toevoegen tarieftabel';
|
||
INSERT INTO fac_usrtab (fac_usrtab_naam, fac_usrtab_omschrijving)
|
||
VALUES ('Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy'), 'Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy') || ' per jaar')
|
||
RETURNING fac_usrtab_key
|
||
INTO v_new_tarieftab_key;
|
||
COMMIT;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bepalen oude tarieftabel';
|
||
SELECT COUNT ( * )
|
||
INTO v_count
|
||
FROM fac_usrtab
|
||
WHERE fac_usrtab_naam = 'Tarieven ' || TO_CHAR (SYSDATE, 'yyyy');
|
||
|
||
IF v_count > 0
|
||
THEN
|
||
SELECT fac_usrtab_key
|
||
INTO v_old_tarieftab_key
|
||
FROM fac_usrtab
|
||
WHERE fac_usrtab_naam = 'Tarieven ' || TO_CHAR (SYSDATE, 'yyyy');
|
||
|
||
v_errorhint := 'Fout vullen nieuwe tarieftabel';
|
||
INSERT INTO fac_usrdata (fac_usrtab_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_vervaldatum,
|
||
fac_usrdata_prijs)
|
||
SELECT v_new_tarieftab_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_vervaldatum,
|
||
ROUND (fac_usrdata_prijs * ((100 + c_index_percentage) / 100), 2)
|
||
FROM fac_v_aanwezigusrdata
|
||
WHERE fac_usrtab_key = v_old_tarieftab_key
|
||
ORDER BY fac_usrdata_volgnr;
|
||
|
||
v_errorhint := 'Fout toevoegen nieuwe tarieftabel-entry';
|
||
INSERT INTO fac_usrdata (fac_usrtab_key,
|
||
fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
fac_usrdata_volgnr,
|
||
fac_usrdata_vervaldatum,
|
||
fac_usrdata_prijs)
|
||
VALUES (223, -- Tarieftabel-tabel
|
||
v_new_tarieftab_key,
|
||
'Tarieven ' || TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yyyy'),
|
||
TO_CHAR (ADD_MONTHS (SYSDATE, 12), 'yy'),
|
||
NULL,
|
||
NULL)
|
||
RETURNING fac_usrdata_key
|
||
INTO v_new_tarieftab_val;
|
||
END IF;
|
||
|
||
-- Splitsen en indexeren (huur)contracten.
|
||
FOR rc IN ccnt (c_splitsindexdatum)
|
||
LOOP
|
||
BEGIN
|
||
v_errorhint := 'Fout splitsen contract.';
|
||
cnt.splitscontract (rc.cnt_contract_key, c_splitsindexdatum, NULL, NULL);
|
||
COMMIT;
|
||
|
||
-- Na splitsen de nieuwe versie indexeren.
|
||
v_errorhint := 'Fout bepalen nieuwe versie.';
|
||
SELECT cnt_contract_key
|
||
INTO v_new_contract_key
|
||
FROM cnt_v_aanwezigcontract
|
||
WHERE cnt_contract_nummer_intern = rc.cnt_contract_nummer_intern
|
||
AND cnt_contract_versie > COALESCE (rc.cnt_contract_versie, '0');
|
||
|
||
v_errorhint := 'Fout bijwerken maandbedragen.';
|
||
FOR rkc
|
||
IN ( SELECT kc.cnt_kenmerkcontract_key,
|
||
kc.cnt_kenmerkcontract_waarde cur_waarde,
|
||
ROUND (fac.safe_to_number (kc.cnt_kenmerkcontract_waarde) * ((100 + rc.index_percentage) / 100), 2)
|
||
new_waarde
|
||
FROM cnt_kenmerkcontract kc, cnt_kenmerk k, cnt_srtkenmerk sk
|
||
WHERE kc.cnt_contract_key = v_new_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||
AND sk.cnt_srtkenmerk_verwijder IS NULL
|
||
AND sk.cnt_srtkenmerk_kenmerktype = 'N'
|
||
AND UPPER (sk.cnt_srtkenmerk_dimensie) LIKE '%P.MND.%'
|
||
AND k.cnt_kenmerk_key != 24 -- Kortingsbedrag op Huurcontracten NIET indexeren!
|
||
ORDER BY k.cnt_kenmerk_volgnummer)
|
||
LOOP
|
||
UPDATE cnt_kenmerkcontract
|
||
SET cnt_kenmerkcontract_waarde = TO_CHAR (rkc.new_waarde, '999999D99')
|
||
WHERE cnt_kenmerkcontract_key = rkc.cnt_kenmerkcontract_key;
|
||
END LOOP;
|
||
|
||
v_errorhint := 'Fout bijwerken tarieftabel.';
|
||
IF rc.ins_discipline_key = 621
|
||
THEN
|
||
UPDATE cnt_kenmerkcontract
|
||
SET cnt_kenmerkcontract_waarde = v_new_tarieftab_val
|
||
WHERE cnt_kenmerk_key = 23 -- Tarieftabel
|
||
AND cnt_contract_key = v_new_contract_key;
|
||
END IF;
|
||
|
||
v_errorhint := 'Fout bijwerken index-tracking (CNTUPD).';
|
||
fac.trackaction ('CNTUPD', v_new_contract_key, NULL, NULL, 'Contract geindexeerd met ' || TO_CHAR (rc.index_percentage, '0.00') || '%');
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'W', rc.aanduiding || v_errormsg, v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname, 'E', 'Proces INDEXWERK afgebroken! ' || v_errormsg, v_errorhint);
|
||
END;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_prs_accounts
|
||
(
|
||
soort_gebruiker,
|
||
naam,
|
||
email,
|
||
loginnaam,
|
||
afdeling,
|
||
laatste_login,
|
||
key_autorisaties
|
||
)
|
||
AS
|
||
SELECT DECODE (key_user, 1, 'KEY', 'FE'),
|
||
pf.prs_perslid_naam_full,
|
||
p.prs_perslid_email,
|
||
oslogin,
|
||
a.prs_afdeling_naam || '-' || a.prs_afdeling_omschrijving,
|
||
prs_perslid_login,
|
||
funcodes
|
||
FROM (SELECT *
|
||
FROM (SELECT p.prs_perslid_key prs_key,
|
||
COALESCE (p.prs_perslid_oslogin,
|
||
p.prs_perslid_oslogin2)
|
||
oslogin,
|
||
1 login, -- 1=user heeft login + groep + rechten
|
||
DECODE (
|
||
SIGN(TRUNC(COALESCE (p.prs_perslid_login + 92,
|
||
SYSDATE - 1))
|
||
- TRUNC (SYSDATE)),
|
||
-1,
|
||
0,
|
||
1) -- 1=user heeft laatste 92 dagen ingelogd
|
||
recent_login
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE EXISTS -- op basis van login + groep + rechten
|
||
(SELECT 1
|
||
FROM fac_v_webgebruiker gg
|
||
WHERE gg.prs_perslid_key = p.prs_perslid_key)
|
||
AND NOT EXISTS -- FSN#36597: WEB_FACFAC-users niet meetellen!
|
||
(SELECT 1
|
||
FROM fac_v_webgebruiker gg, fac_functie f
|
||
WHERE gg.prs_perslid_key =
|
||
p.prs_perslid_key
|
||
AND gg.fac_functie_key =
|
||
f.fac_functie_key
|
||
AND fac_functie_code = 'WEB_FACFAC')
|
||
UNION ALL -- FSN#24029: Soms ook personen zonder login meetellen!
|
||
SELECT p.prs_perslid_key,
|
||
NULL oslogin,
|
||
1 login, -- 1=user telt mee, want allow_for_others!
|
||
0 recent_login -- geen login, dus nooit recent ingelogd
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE COALESCE (p.prs_perslid_oslogin,
|
||
p.prs_perslid_oslogin2) IS NULL
|
||
AND (fac.getsetting ('mld_allow_for_others') = 1
|
||
OR EXISTS
|
||
(SELECT 1
|
||
FROM bes_disc_params dp
|
||
WHERE dp.bes_disc_params_for_others = 1))
|
||
UNION ALL -- FSN#27315: En ook eventuele "sensorusers" meetellen!
|
||
SELECT NULL prs_perslid_key,
|
||
NULL oslogin,
|
||
COUNT ( * ) login, -- elke sensoruser telt mee als FE!
|
||
1 recent_login -- recent actief dus tellen als recent
|
||
FROM ins_v_aanwezigdeel d
|
||
WHERE ins_deel_statedate > TRUNC (SYSDATE - 30)) x
|
||
LEFT JOIN -- 1=user heeft rechten op key-codes=notFE-codes
|
||
(SELECT DISTINCT fclt_f_login, 1 key_user
|
||
FROM fac_v_rap_groeprechten gr, fac_functie f
|
||
WHERE gr.fclt_f_funcode = f.fac_functie_code
|
||
AND f.fac_functie_groep IN (1, 2)) a
|
||
ON x.oslogin = a.fclt_f_login
|
||
LEFT JOIN -- FSN#30404: 1=user is cross-domain (xd) user
|
||
(SELECT p.prs_perslid_key, 1 xd_user
|
||
FROM prs_v_aanwezigperslid p,
|
||
prs_v_afdeling_boom ab
|
||
WHERE p.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND p.prs_perslid_apikey IS NOT NULL
|
||
AND ab.prs_bedrijf_key =
|
||
fac.safe_to_number(fac.getsetting('xd_primary_bedrijfkey')))
|
||
b
|
||
ON x.prs_key = b.prs_perslid_key
|
||
LEFT JOIN ( SELECT pfc.prs_perslid_key,
|
||
listagg (
|
||
pfc.fac_functie_code,
|
||
', ')
|
||
WITHIN GROUP (ORDER BY
|
||
pfc.fac_functie_code)
|
||
AS funcodes
|
||
FROM (SELECT DISTINCT
|
||
gg.prs_perslid_key,
|
||
SUBSTR (f.fac_functie_code, 5)
|
||
fac_functie_code
|
||
FROM fac_gebruikersgroep gg,
|
||
fac_groeprechten gr,
|
||
fac_functie f
|
||
WHERE gg.fac_groep_key =
|
||
gr.fac_groep_key
|
||
AND gr.fac_functie_key =
|
||
f.fac_functie_key
|
||
AND fac_functie_groep IN (1, 2))
|
||
pfc
|
||
GROUP BY pfc.prs_perslid_key) pfcs
|
||
ON x.prs_key = pfcs.prs_perslid_key) st,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_afdeling a
|
||
WHERE login = 1
|
||
AND p.prs_perslid_key = st.prs_key
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND p.prs_perslid_verwijder IS NULL;
|
||
|
||
-- BLCC#51370: View via API2 ontsloten tbv. Nsecure/Dataclient!
|
||
-- BLCC#56618: De default bezoekersactie igv. RES-bezoekers is: 41="Informeer mij niet vooraf en verwijs bezoek direct door."
|
||
CREATE OR REPLACE VIEW blcc_v_rap_dataclient_bez
|
||
(
|
||
afspraak_key, -- appointment_id
|
||
bezoekers_key, -- visitor_id
|
||
afspraak_datum,
|
||
afspraak_oms,
|
||
bez_achternaam,
|
||
bez_voornaam,
|
||
bez_mail,
|
||
bez_bedrijf,
|
||
cp_naam,
|
||
cp_mail,
|
||
cp_tel,
|
||
cp_bedrijf,
|
||
bez_voor,
|
||
bez_actie,
|
||
gebouwcode,
|
||
laatste_mut
|
||
)
|
||
AS
|
||
SELECT t.fac_tracking_refkey,
|
||
x.bez_bezoekers_key,
|
||
x.bez_afspraak_datum,
|
||
x.bez_afspraak_opmerking,
|
||
x.bez_afspraak_naam,
|
||
voornaam.bez_kenmerkwaarde_waarde,
|
||
email.bez_kenmerkwaarde_waarde,
|
||
x.bez_afspraak_bedrijf,
|
||
x.prs_perslid_naam_full,
|
||
x.prs_perslid_email,
|
||
COALESCE (x.prs_perslid_telefoonnr, x.prs_perslid_mobiel) tel,
|
||
x.prs_afdeling_omschrijving,
|
||
x.bez_afspraak_gastheer,
|
||
a2o.bez_kenmerk_default,
|
||
(SELECT alg_gebouw_code FROM alg_gebouw WHERE alg_gebouw_key = x.alg_gebouw_key)
|
||
gebouwcode,
|
||
t.tracking_datum
|
||
FROM (SELECT a.bez_afspraak_key,
|
||
b.bez_bezoekers_key,
|
||
a.bez_afspraak_datum,
|
||
a.bez_afspraak_opmerking,
|
||
b.bez_afspraak_naam,
|
||
b.bez_afspraak_bedrijf,
|
||
cpf.prs_perslid_naam_full,
|
||
cp.prs_perslid_email,
|
||
cp.prs_perslid_telefoonnr,
|
||
cp.prs_perslid_mobiel,
|
||
a.prs_afdeling_omschrijving,
|
||
a.bez_afspraak_gastheer,
|
||
COALESCE (a.bez_actie_key, 41) bez_actie_key, -- "Informeer mij niet vooraf en verwijs bezoek direct door."
|
||
aog.alg_gebouw_key
|
||
FROM bez_afspraak a,
|
||
bez_bezoekers b,
|
||
prs_perslid cp,
|
||
prs_v_perslid_fullnames cpf,
|
||
prs_v_afdeling_boom ab,
|
||
prs_afdeling a,
|
||
alg_v_onroerendgoed aog
|
||
WHERE a.bez_afspraak_datum > TRUNC (SYSDATE)
|
||
AND a.bez_afspraak_key = b.bez_afspraak_key
|
||
AND a.bez_afspraak_contact_key = cp.prs_perslid_key
|
||
AND cp.prs_perslid_key = cpf.prs_perslid_key
|
||
AND cp.prs_afdeling_key = ab.prs_afdeling_key
|
||
AND ab.prs_afdeling_key1 = a.prs_afdeling_key
|
||
AND a.alg_onrgoed_keys = aog.alg_onroerendgoed_keys(+)) x
|
||
LEFT JOIN bez_kenmerkwaarde voornaam
|
||
ON x.bez_bezoekers_key = voornaam.bez_bezoekers_key
|
||
AND voornaam.bez_kenmerkwaarde_verwijder IS NULL
|
||
AND voornaam.bez_kenmerk_key = 1080 -- Voornaam
|
||
LEFT JOIN bez_kenmerkwaarde email
|
||
ON x.bez_bezoekers_key = email.bez_bezoekers_key
|
||
AND email.bez_kenmerkwaarde_verwijder IS NULL
|
||
AND email.bez_kenmerk_key = 1000 -- E-mail adres
|
||
LEFT JOIN ( SELECT fac_tracking_refkey, MAX (fac_tracking_datum) tracking_datum
|
||
FROM fac_tracking
|
||
WHERE fac_srtnotificatie_key IN (26, 27) -- BEZMUT/BEZUPD
|
||
GROUP BY fac_tracking_refkey) t
|
||
ON x.bez_afspraak_key = t.fac_tracking_refkey
|
||
LEFT JOIN (SELECT ud.fac_usrdata_code, k.bez_kenmerk_default
|
||
FROM fac_v_aanwezigusrdata ud, bez_kenmerk k
|
||
WHERE ud.fac_usrtab_key = 501 -- Bezoekersactie
|
||
AND ud.fac_usrdata_omschr = TO_CHAR (k.bez_kenmerk_key)
|
||
AND k.bez_kenmerk_verwijder IS NULL) a2o -- Actie2Omschrijving
|
||
ON TO_CHAR (x.bez_actie_key) = TO_CHAR (a2o.fac_usrdata_code);
|
||
|
||
-- BLCC#55646: WTCA-ish rapportages tbv. afstemmingsoverleg en freeze per leverancier!
|
||
CREATE OR REPLACE VIEW blcc_v_rap_maand_ordafm
|
||
(
|
||
maand,
|
||
prefix,
|
||
opdr_key,
|
||
opdr,
|
||
kpn,
|
||
kplaats_nr,
|
||
kplaats_oms,
|
||
--corr_kplaats,
|
||
ksoort_code,
|
||
ksoort_oms,
|
||
--org_ksoort,
|
||
propertymanager,
|
||
gebouw_terrein,
|
||
verdieping,
|
||
ruimte,
|
||
vakgroep,
|
||
melding,
|
||
melder,
|
||
omschrijving,
|
||
opmerking,
|
||
aanmaak,
|
||
gepland,
|
||
gereed,
|
||
uitv_key,
|
||
uitvoerende,
|
||
contactpersoon,
|
||
kosten,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
|
||
COALESCE (c2.prefix, a.prefix),
|
||
a.mld_opdr_key,
|
||
a.opdracht,
|
||
COALESCE (a.prs_kostenplaatsgrp_nr, SUBSTR (a.kdrager, 1, 5)) kpn,
|
||
a.kdrager,
|
||
a.kdrager_oms,
|
||
--c1.corr_kplaats,
|
||
COALESCE (c2.corr_ksoort, a.ksoort),
|
||
COALESCE (c2.corr_ksoort_oms, a.ksoort_oms),
|
||
--DECODE (c2.corr_ksoort, NULL, NULL, a.ksoort || '-' || a.ksoort_oms),
|
||
a.propertymanager,
|
||
a.gebouw_terrein,
|
||
a.verdieping,
|
||
a.ruimte,
|
||
COALESCE (c2.vakgroep, a.vakgroep),
|
||
COALESCE (c2.melding, a.melding),
|
||
a.melder,
|
||
a.oms,
|
||
a.opm,
|
||
a.datum_aanmaak,
|
||
a.datum_gepland,
|
||
a.datum_gereed,
|
||
a.prs_bedrijf_key,
|
||
a.bedrijf,
|
||
a.cp,
|
||
COALESCE (a.kosten, 0),
|
||
b.afdeling
|
||
FROM (SELECT o.mld_opdr_key,
|
||
COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key) gebter_key,
|
||
sd.ins_srtdiscipline_prefix prefix,
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht,
|
||
kpg.prs_kostenplaatsgrp_nr,
|
||
kp.prs_kostenplaats_nr kdrager,
|
||
kp.prs_kostenplaats_omschrijving kdrager_oms,
|
||
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) ksoort,
|
||
DECODE (ksm.prs_kostensoort_oms,
|
||
NULL, ksv.prs_kostensoort_opmerking,
|
||
ksm.prs_kostensoort_opmerking)
|
||
ksoort_oms,
|
||
pm.prs_perslid_naam_full propertymanager,
|
||
COALESCE (og.alg_terreinsector_code, og.alg_gebouw_code) gebouw_terrein,
|
||
og.alg_verdieping_code verdieping,
|
||
og.alg_ruimte_nr ruimte,
|
||
td.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving melding,
|
||
pf.prs_perslid_naam_full melder,
|
||
o.mld_opdr_omschrijving oms,
|
||
o.mld_opdr_opmerking opm,
|
||
o.mld_opdr_datumbegin datum_aanmaak, -- Of verzonden?
|
||
--fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin, m.mld_melding_t_uitvoertijd.tijdsduur, m.mld_melding_t_uitvoertijd.eenheid)
|
||
o.mld_opdr_einddatum datum_gepland,
|
||
fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) datum_gereed,
|
||
b.prs_bedrijf_key,
|
||
b.prs_bedrijf_naam bedrijf,
|
||
o.mld_opdr_contactpersoon cp,
|
||
o.mld_opdr_kosten kosten
|
||
FROM mld_opdr o,
|
||
prs_bedrijf b,
|
||
mld_melding m,
|
||
prs_v_perslid_fullnames_all pf,
|
||
alg_v_allonrgoed_gegevens og,
|
||
alg_gebouw g,
|
||
prs_v_perslid_fullnames pm,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE o.mld_typeopdr_key = 101 -- Alleen Werkopdrachten???
|
||
AND o.mld_statusopdr_key = 6 -- Afgemeld???
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.prs_perslid_key = pf.prs_perslid_key
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
||
AND og.alg_gebouw_key = g.alg_gebouw_key(+)
|
||
AND g.prs_perslid_key_verantw = pm.prs_perslid_key(+)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) a
|
||
LEFT JOIN ( SELECT o.mld_opdr_key, MAX (p.prs_afdeling_key) afdeling
|
||
FROM mld_opdr o, prs_bedrijf b, prs_contactpersoon cp, prs_perslid p
|
||
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = cp.prs_bedrijf_key
|
||
AND cp.prs_perslid_key = p.prs_perslid_key
|
||
GROUP BY o.mld_opdr_key) b
|
||
ON a.mld_opdr_key = b.mld_opdr_key
|
||
LEFT JOIN (SELECT ko.mld_opdr_key, ud.fac_usrdata_omschr corr_kplaats
|
||
FROM mld_kenmerkopdr ko, fac_usrdata ud
|
||
WHERE ko.mld_kenmerk_key = -1 -- Corr. kplaats
|
||
AND TO_CHAR (ud.fac_usrdata_key) = ko.mld_kenmerkopdr_waarde) c1
|
||
ON a.mld_opdr_key = c1.mld_opdr_key
|
||
LEFT JOIN (SELECT ko.mld_opdr_key,
|
||
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms)
|
||
corr_ksoort,
|
||
DECODE (ksm.prs_kostensoort_oms,
|
||
NULL, ksv.prs_kostensoort_opmerking,
|
||
ksm.prs_kostensoort_opmerking)
|
||
corr_ksoort_oms,
|
||
sd.ins_srtdiscipline_prefix prefix,
|
||
td.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving melding
|
||
FROM mld_v_aanwezigkenmerkopdr ko,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv
|
||
WHERE ko.mld_kenmerk_key = -1 -- Corr. melding
|
||
AND TO_CHAR (sm.mld_stdmelding_key) = ko.mld_kenmerkopdr_waarde
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key) c2
|
||
ON a.mld_opdr_key = c2.mld_opdr_key;
|
||
|
||
CREATE OR REPLACE VIEW blcc_v_rap_maand_ordafr
|
||
(
|
||
maand,
|
||
prefix,
|
||
opdr_key,
|
||
opdr,
|
||
kpn,
|
||
kplaats_nr,
|
||
kplaats_oms,
|
||
--corr_kplaats,
|
||
ksoort_code,
|
||
ksoort_oms,
|
||
--org_ksoort,
|
||
propertymanager,
|
||
gebouw_terrein,
|
||
verdieping,
|
||
ruimte,
|
||
vakgroep,
|
||
melding,
|
||
melder,
|
||
omschrijving,
|
||
opmerking,
|
||
aanmaak,
|
||
gepland,
|
||
gereed,
|
||
uitv_key,
|
||
uitvoerende,
|
||
contactpersoon,
|
||
kosten,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
|
||
COALESCE (c2.prefix, a.prefix),
|
||
a.mld_opdr_key,
|
||
a.opdracht,
|
||
COALESCE (a.prs_kostenplaatsgrp_nr, SUBSTR (a.kdrager, 1, 5)) kpn,
|
||
a.kdrager,
|
||
a.kdrager_oms,
|
||
--c1.corr_kplaats,
|
||
COALESCE (c2.corr_ksoort, a.ksoort),
|
||
COALESCE (c2.corr_ksoort_oms, a.ksoort_oms),
|
||
--DECODE (c2.corr_ksoort, NULL, NULL, a.ksoort || '-' || a.ksoort_oms),
|
||
a.propertymanager,
|
||
a.gebouw_terrein,
|
||
a.verdieping,
|
||
a.ruimte,
|
||
COALESCE (c2.vakgroep, a.vakgroep),
|
||
COALESCE (c2.melding, a.melding),
|
||
a.melder,
|
||
a.oms,
|
||
a.opm,
|
||
a.datum_aanmaak,
|
||
a.datum_gepland,
|
||
a.datum_gereed,
|
||
a.prs_bedrijf_key,
|
||
a.bedrijf,
|
||
a.cp,
|
||
COALESCE (a.kosten, 0),
|
||
b.afdeling
|
||
FROM (SELECT o.mld_opdr_key,
|
||
COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key) gebter_key,
|
||
sd.ins_srtdiscipline_prefix prefix,
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht,
|
||
kpg.prs_kostenplaatsgrp_nr,
|
||
kp.prs_kostenplaats_nr kdrager,
|
||
kp.prs_kostenplaats_omschrijving kdrager_oms,
|
||
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) ksoort,
|
||
DECODE (ksm.prs_kostensoort_oms,
|
||
NULL, ksv.prs_kostensoort_opmerking,
|
||
ksm.prs_kostensoort_opmerking)
|
||
ksoort_oms,
|
||
pm.prs_perslid_naam_full propertymanager,
|
||
COALESCE (og.alg_terreinsector_code, og.alg_gebouw_code) gebouw_terrein,
|
||
og.alg_verdieping_code verdieping,
|
||
og.alg_ruimte_nr ruimte,
|
||
td.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving melding,
|
||
pf.prs_perslid_naam_full melder,
|
||
o.mld_opdr_omschrijving oms,
|
||
o.mld_opdr_opmerking opm,
|
||
o.mld_opdr_datumbegin datum_aanmaak, -- Of verzonden?
|
||
--fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin, m.mld_melding_t_uitvoertijd.tijdsduur, m.mld_melding_t_uitvoertijd.eenheid)
|
||
o.mld_opdr_einddatum datum_gepland,
|
||
fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) datum_gereed,
|
||
b.prs_bedrijf_key,
|
||
b.prs_bedrijf_naam bedrijf,
|
||
o.mld_opdr_contactpersoon cp,
|
||
o.mld_opdr_kosten kosten
|
||
FROM mld_opdr o,
|
||
prs_bedrijf b,
|
||
mld_melding m,
|
||
prs_v_perslid_fullnames_all pf,
|
||
alg_v_allonrgoed_gegevens og,
|
||
alg_gebouw g,
|
||
prs_v_perslid_fullnames pm,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE o.mld_typeopdr_key = 101 -- Alleen Werkopdrachten???
|
||
AND o.mld_statusopdr_key = 9 -- Afgerond???
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.prs_perslid_key = pf.prs_perslid_key
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
||
AND og.alg_gebouw_key = g.alg_gebouw_key(+)
|
||
AND g.prs_perslid_key_verantw = pm.prs_perslid_key(+)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) a
|
||
LEFT JOIN ( SELECT o.mld_opdr_key, MAX (p.prs_afdeling_key) afdeling
|
||
FROM mld_opdr o, prs_bedrijf b, prs_contactpersoon cp, prs_perslid p
|
||
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = cp.prs_bedrijf_key
|
||
AND cp.prs_perslid_key = p.prs_perslid_key
|
||
GROUP BY o.mld_opdr_key) b
|
||
ON a.mld_opdr_key = b.mld_opdr_key
|
||
LEFT JOIN (SELECT ko.mld_opdr_key, ud.fac_usrdata_omschr corr_kplaats
|
||
FROM mld_kenmerkopdr ko, fac_usrdata ud
|
||
WHERE ko.mld_kenmerk_key = -1 -- Corr. kplaats
|
||
AND TO_CHAR (ud.fac_usrdata_key) = ko.mld_kenmerkopdr_waarde) c1
|
||
ON a.mld_opdr_key = c1.mld_opdr_key
|
||
LEFT JOIN (SELECT ko.mld_opdr_key,
|
||
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms)
|
||
corr_ksoort,
|
||
DECODE (ksm.prs_kostensoort_oms,
|
||
NULL, ksv.prs_kostensoort_opmerking,
|
||
ksm.prs_kostensoort_opmerking)
|
||
corr_ksoort_oms,
|
||
sd.ins_srtdiscipline_prefix prefix,
|
||
td.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving melding
|
||
FROM mld_v_aanwezigkenmerkopdr ko,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv
|
||
WHERE ko.mld_kenmerk_key = -1 -- Corr. melding
|
||
AND TO_CHAR (sm.mld_stdmelding_key) = ko.mld_kenmerkopdr_waarde
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key) c2
|
||
ON a.mld_opdr_key = c2.mld_opdr_key;
|
||
/*
|
||
CREATE OR REPLACE VIEW wtca_v_rap_maand_actual_fact
|
||
(
|
||
maand,
|
||
tot_datum,
|
||
opdr,
|
||
maatschap,
|
||
ksoort,
|
||
ksoort_oms,
|
||
gebouw_terrein,
|
||
verdieping,
|
||
ruimte,
|
||
vakgroep,
|
||
melding,
|
||
melder,
|
||
omschrijving,
|
||
opmerking,
|
||
aanmaak,
|
||
gereed,
|
||
fclt_f_uitvoerende,
|
||
kosten,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT maand,
|
||
TO_CHAR (TO_DATE (maand || '-01', 'yyyy-mm-dd') - 1, 'dd-mm-yyyy'),
|
||
opdr,
|
||
fclt_f_maatschap,
|
||
fclt_f_ksoort,
|
||
fclt_f_ksoort_oms,
|
||
fclt_f_gebouw_terrein,
|
||
verdieping,
|
||
ruimte,
|
||
fclt_f_vakgroep,
|
||
fclt_f_melding,
|
||
melder,
|
||
omschrijving,
|
||
opmerking,
|
||
aanmaak,
|
||
gereed,
|
||
fclt_f_uitvoerende,
|
||
kosten,
|
||
fclt_3d_afdeling_key
|
||
FROM wtca_v_rap_maand_actual;
|
||
*/
|
||
CREATE OR REPLACE VIEW blcc_v_rap_maand_ordver
|
||
(
|
||
maand,
|
||
prefix,
|
||
opdr_key,
|
||
opdr,
|
||
kpn,
|
||
kplaats_nr,
|
||
kplaats_oms,
|
||
--corr_kplaats,
|
||
ksoort_code,
|
||
ksoort_oms,
|
||
--org_ksoort,
|
||
propertymanager,
|
||
gebouw_terrein,
|
||
verdieping,
|
||
ruimte,
|
||
vakgroep,
|
||
melding,
|
||
melder,
|
||
omschrijving,
|
||
opmerking,
|
||
aanmaak,
|
||
gepland,
|
||
gereed,
|
||
uitv_key,
|
||
uitvoerende,
|
||
contactpersoon,
|
||
kosten,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (fac.gettrackingdate ('ORDVER', a.mld_opdr_key), 'yyyy-mm-dd'),
|
||
COALESCE (c2.prefix, a.prefix),
|
||
a.mld_opdr_key,
|
||
a.opdracht,
|
||
COALESCE (a.prs_kostenplaatsgrp_nr, SUBSTR (a.kdrager, 1, 5)) kpn,
|
||
a.kdrager,
|
||
a.kdrager_oms,
|
||
--c1.corr_kdrager,
|
||
COALESCE (c2.corr_ksoort, a.ksoort),
|
||
COALESCE (c2.corr_ksoort_oms, a.ksoort_oms),
|
||
--DECODE (c2.corr_ksoort, NULL, NULL, a.ksoort || '-' || a.ksoort_oms),
|
||
a.propertymanager,
|
||
a.gebouw_terrein,
|
||
a.verdieping,
|
||
a.ruimte,
|
||
COALESCE (c2.vakgroep, a.vakgroep),
|
||
COALESCE (c2.melding, a.melding),
|
||
a.melder,
|
||
a.oms,
|
||
a.opm,
|
||
a.datum_aanmaak,
|
||
a.datum_gepland,
|
||
a.datum_gereed,
|
||
a.prs_bedrijf_key,
|
||
a.bedrijf,
|
||
a.cp,
|
||
COALESCE (a.kosten, 0),
|
||
b.afdeling
|
||
FROM (SELECT o.mld_opdr_key,
|
||
COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key) gebter_key,
|
||
sd.ins_srtdiscipline_prefix prefix,
|
||
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht,
|
||
kpg.prs_kostenplaatsgrp_nr,
|
||
kp.prs_kostenplaats_nr kdrager,
|
||
kp.prs_kostenplaats_omschrijving kdrager_oms,
|
||
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) ksoort,
|
||
DECODE (ksm.prs_kostensoort_oms,
|
||
NULL, ksv.prs_kostensoort_opmerking,
|
||
ksm.prs_kostensoort_opmerking)
|
||
ksoort_oms,
|
||
pm.prs_perslid_naam_full propertymanager,
|
||
COALESCE (og.alg_terreinsector_code, og.alg_gebouw_code) gebouw_terrein,
|
||
og.alg_verdieping_code verdieping,
|
||
og.alg_ruimte_nr ruimte,
|
||
td.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving melding,
|
||
pf.prs_perslid_naam_full melder,
|
||
o.mld_opdr_omschrijving oms,
|
||
o.mld_opdr_opmerking opm,
|
||
o.mld_opdr_datumbegin datum_aanmaak, -- Of verzonden?
|
||
--fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin, m.mld_melding_t_uitvoertijd.tijdsduur, m.mld_melding_t_uitvoertijd.eenheid)
|
||
o.mld_opdr_einddatum datum_gepland,
|
||
fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) datum_gereed,
|
||
b.prs_bedrijf_key,
|
||
b.prs_bedrijf_naam bedrijf,
|
||
o.mld_opdr_contactpersoon cp,
|
||
o.mld_opdr_kosten kosten
|
||
FROM mld_opdr o,
|
||
prs_bedrijf b,
|
||
mld_melding m,
|
||
prs_v_perslid_fullnames_all pf,
|
||
alg_v_allonrgoed_gegevens og,
|
||
alg_gebouw g,
|
||
prs_v_perslid_fullnames pm,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv,
|
||
prs_kostenplaats kp,
|
||
prs_kostenplaatsgrp kpg
|
||
WHERE o.mld_typeopdr_key = 101 -- Alleen Werkopdrachten???
|
||
AND o.mld_statusopdr_key = 7 -- Verwerkt???
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND m.prs_perslid_key = pf.prs_perslid_key
|
||
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
|
||
AND og.alg_gebouw_key = g.alg_gebouw_key(+)
|
||
AND g.prs_perslid_key_verantw = pm.prs_perslid_key(+)
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) a
|
||
LEFT JOIN ( SELECT o.mld_opdr_key, MAX (p.prs_afdeling_key) afdeling
|
||
FROM mld_opdr o, prs_bedrijf b, prs_contactpersoon cp, prs_perslid p
|
||
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND b.prs_bedrijf_key = cp.prs_bedrijf_key
|
||
AND cp.prs_perslid_key = p.prs_perslid_key
|
||
GROUP BY o.mld_opdr_key) b
|
||
ON a.mld_opdr_key = b.mld_opdr_key
|
||
LEFT JOIN (SELECT ko.mld_opdr_key, ud.fac_usrdata_omschr corr_kplaats
|
||
FROM mld_kenmerkopdr ko, fac_usrdata ud
|
||
WHERE ko.mld_kenmerk_key = -1 -- Corr. kplaats
|
||
AND TO_CHAR (ud.fac_usrdata_key) = ko.mld_kenmerkopdr_waarde) c1
|
||
ON a.mld_opdr_key = c1.mld_opdr_key
|
||
LEFT JOIN (SELECT ko.mld_opdr_key,
|
||
COALESCE (ksm.prs_kostensoort_oms,
|
||
ksv.prs_kostensoort_oms)
|
||
corr_ksoort,
|
||
DECODE (ksm.prs_kostensoort_oms,
|
||
NULL, ksv.prs_kostensoort_opmerking,
|
||
ksm.prs_kostensoort_opmerking)
|
||
corr_ksoort_oms,
|
||
sd.ins_srtdiscipline_prefix prefix,
|
||
td.ins_discipline_omschrijving vakgroep,
|
||
sm.mld_stdmelding_omschrijving melding
|
||
FROM mld_v_aanwezigkenmerkopdr ko,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline td,
|
||
ins_srtdiscipline sd,
|
||
prs_kostensoort ksm,
|
||
prs_kostensoort ksv
|
||
WHERE ko.mld_kenmerk_key = -1 -- Corr. melding
|
||
AND TO_CHAR (sm.mld_stdmelding_key) = ko.mld_kenmerkopdr_waarde
|
||
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
|
||
AND sm.mld_ins_discipline_key = td.ins_discipline_key
|
||
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
|
||
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key) c2
|
||
ON a.mld_opdr_key = c2.mld_opdr_key
|
||
WHERE fac.gettrackingdate ('ORDVER', a.mld_opdr_key) > TO_DATE ('01012019', 'ddmmyyyy');
|
||
/*
|
||
CREATE OR REPLACE VIEW wtca_v_rap_maand_frozen_fact
|
||
(
|
||
fclt_f_maand,
|
||
tot_datum,
|
||
opdr,
|
||
maatschap,
|
||
ksoort,
|
||
ksoort_oms,
|
||
gebouw_terrein,
|
||
verdieping,
|
||
ruimte,
|
||
vakgroep,
|
||
melding,
|
||
melder,
|
||
omschrijving,
|
||
opmerking,
|
||
aanmaak,
|
||
gereed,
|
||
fclt_f_uitvoerende,
|
||
kosten,
|
||
fclt_3d_afdeling_key
|
||
)
|
||
AS
|
||
SELECT SUBSTR (fclt_f_maand, 1, 7),
|
||
TO_CHAR (TO_DATE (SUBSTR (fclt_f_maand, 1, 7) || '-01', 'yyyy-mm-dd') - 1, 'dd-mm-yyyy'),
|
||
opdr,
|
||
fclt_f_maatschap,
|
||
fclt_f_ksoort,
|
||
fclt_f_ksoort_oms,
|
||
fclt_f_gebouw_terrein,
|
||
verdieping,
|
||
ruimte,
|
||
fclt_f_vakgroep,
|
||
fclt_f_melding,
|
||
melder,
|
||
omschrijving,
|
||
opmerking,
|
||
aanmaak,
|
||
gereed,
|
||
fclt_f_uitvoerende,
|
||
kosten,
|
||
fclt_3d_afdeling_key
|
||
FROM wtca_v_rap_maand_frozen
|
||
WHERE SUBSTR (fclt_f_archief, 1, 4) >= TO_CHAR (ADD_MONTHS (SYSDATE, -12), 'yyyy');
|
||
*/
|
||
CREATE OR REPLACE VIEW blcc_v_rap_freezeopdrachten
|
||
(
|
||
kpn,
|
||
aantal,
|
||
kosten
|
||
)
|
||
AS
|
||
SELECT COALESCE (kpg.prs_kostenplaatsgrp_nr, SUBSTR (kp.prs_kostenplaats_nr, 1, 5)),
|
||
COUNT ( * ) aantal, SUM (mld_opdr_kosten) kosten
|
||
FROM mld_opdr o, prs_kostenplaats kp, prs_kostenplaatsgrp kpg
|
||
WHERE o.mld_typeopdr_key = 101 -- WO
|
||
AND o.mld_statusopdr_key = 9 -- Afgerond
|
||
--AND fac.gettrackingdate ('ORDAFR', o.mld_opdr_key) < TRUNC (SYSDATE, 'mm')
|
||
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
|
||
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
|
||
GROUP BY COALESCE (kpg.prs_kostenplaatsgrp_nr, SUBSTR (kp.prs_kostenplaats_nr, 1, 5));
|
||
|
||
------ 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
|