STCH#68440 -- Financiële rapportages toegevoegd
svn path=/Customer/trunk/; revision=59710
This commit is contained in:
450
STCH/stch.sql
450
STCH/stch.sql
@@ -8,10 +8,16 @@ DEFINE dbuser = '^STCH'
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
|
||||
COLUMN fcltcusttxt NEW_VALUE fcltcusttxt NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusttxt FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
---------------------------------------
|
||||
PROMPT &fcltcusttxt
|
||||
---------------------------------------
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
@@ -1972,6 +1978,446 @@ AS
|
||||
AND u.melding_key = na.mld_melding_key(+)
|
||||
AND u.melding_key = nta.mld_melding_key(+)
|
||||
AND u.opdracht_type = 'RFQ';
|
||||
|
||||
CREATE OR REPLACE VIEW stch_v_rap_gebouwbezetting
|
||||
(
|
||||
alg_gebouw_key,
|
||||
alg_gebouw_omschrijving,
|
||||
prs_afdeling_key,
|
||||
prs_afdeling_omschrijving,
|
||||
m2,
|
||||
totaal_m2,
|
||||
perc_v_totaal,
|
||||
perc_formatted
|
||||
)
|
||||
AS
|
||||
SELECT g.alg_gebouw_key,
|
||||
g.alg_gebouw_omschrijving,
|
||||
pa.prs_afdeling_key,
|
||||
pa.prs_afdeling_omschrijving,
|
||||
SUM (r.alg_ruimte_bruto_vloeropp) m2,
|
||||
x.bezet totaal_m2,
|
||||
ROUND ((SUM (r.alg_ruimte_bruto_vloeropp) / x.bezet) * 100, 2) perc_v_totaal,
|
||||
ROUND (SUM (r.alg_ruimte_bruto_vloeropp) / x.bezet, 3)
|
||||
FROM prs_ruimteafdeling pr,
|
||||
prs_afdeling pa,
|
||||
alg_ruimte r,
|
||||
alg_verdieping v,
|
||||
alg_gebouw g,
|
||||
( SELECT g.alg_gebouw_key, SUM (r.alg_ruimte_bruto_vloeropp) bezet
|
||||
FROM prs_ruimteafdeling pr,
|
||||
alg_ruimte r,
|
||||
alg_verdieping v,
|
||||
alg_gebouw g
|
||||
WHERE pr.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND g.alg_gebouw_verwijder IS NULL
|
||||
AND pr.prs_ruimteafdeling_verwijder IS NULL
|
||||
AND r.alg_ruimte_bruto_vloeropp > 0
|
||||
AND g.alg_gebouw_vervaldatum IS NULL
|
||||
GROUP BY g.alg_gebouw_key) x
|
||||
WHERE pr.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND pr.prs_afdeling_key = pa.prs_afdeling_key
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND g.alg_gebouw_key = x.alg_gebouw_key
|
||||
AND g.alg_gebouw_verwijder IS NULL
|
||||
AND pr.prs_ruimteafdeling_verwijder IS NULL
|
||||
GROUP BY g.alg_gebouw_key,
|
||||
g.alg_gebouw_omschrijving,
|
||||
pa.prs_afdeling_key,
|
||||
pa.prs_afdeling_omschrijving,
|
||||
x.bezet;
|
||||
|
||||
CREATE OR REPLACE VIEW stch_v_rap_facturatie
|
||||
(
|
||||
NUMMER,
|
||||
NUMMER_EXTERN,
|
||||
VERSIE,
|
||||
OMSCHRIJVING,
|
||||
GEBOUW_KEY,
|
||||
GEBOUW_OMSCHRIJVING,
|
||||
AFDELING_KEY,
|
||||
AFDELING_OMSHCRIJVING,
|
||||
KENMERK,
|
||||
WAARDE_C,
|
||||
WAARDE_N,
|
||||
WAARDE_D,
|
||||
WAARDE_X
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT c.cnt_contract_nummer_intern,
|
||||
c.cnt_contract_nummer,
|
||||
c.cnt_contract_versie,
|
||||
c.cnt_contract_omschrijving,
|
||||
g.alg_gebouw_key,
|
||||
g.alg_gebouw_omschrijving,
|
||||
c.prs_afdeling_key_eig,
|
||||
pa.prs_afdeling_omschrijving,
|
||||
COALESCE (
|
||||
lcl.x ('cnt_kenmerk_omschrijving',
|
||||
k.cnt_kenmerk_key,
|
||||
k.cnt_kenmerk_omschrijving),
|
||||
lcl.x ('cnt_srtkenmerk_omschrijving',
|
||||
skm.cnt_srtkenmerk_key,
|
||||
cnt_srtkenmerk_omschrijving)) kenmerk,
|
||||
CASE
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype = 'R'
|
||||
OR skm.cnt_srtkenmerk_kenmerktype = 'S'
|
||||
THEN
|
||||
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key,
|
||||
km.cnt_kenmerkcontract_waarde)
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype = 'C'
|
||||
OR skm.cnt_srtkenmerk_kenmerktype = 'F'
|
||||
THEN
|
||||
km.cnt_kenmerkcontract_waarde
|
||||
ELSE
|
||||
NULL
|
||||
END waarde_c,
|
||||
CASE
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype = 'N'
|
||||
OR skm.cnt_srtkenmerk_kenmerktype = 'B'
|
||||
THEN
|
||||
TO_NUMBER (km.cnt_kenmerkcontract_waarde)
|
||||
ELSE
|
||||
TO_NUMBER (NULL)
|
||||
END waarde_n,
|
||||
CASE
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype = 'D'
|
||||
THEN
|
||||
TO_DATE (km.cnt_kenmerkcontract_waarde, 'DD-MM-YYYY')
|
||||
ELSE
|
||||
TO_DATE (NULL)
|
||||
END waarde_d,
|
||||
CASE
|
||||
WHEN skm.cnt_srtkenmerk_kenmerktype IN ('R', 'S')
|
||||
THEN
|
||||
flx.getdomeinwaarde (skm.fac_kenmerkdomein_key,
|
||||
km.cnt_kenmerkcontract_waarde)
|
||||
ELSE
|
||||
km.cnt_kenmerkcontract_waarde
|
||||
END waarde_x
|
||||
FROM cnt_v_aanwezigcontract c,
|
||||
cnt_contract_plaats cp,
|
||||
cnt_kenmerkcontract km,
|
||||
cnt_kenmerk k,
|
||||
cnt_srtkenmerk skm,
|
||||
alg_gebouw g,
|
||||
prs_afdeling pa
|
||||
WHERE c.ins_discipline_key = 3161 -- Facturatie
|
||||
AND c.cnt_contract_key = cp.cnt_contract_key
|
||||
AND cp.cnt_alg_plaats_code = 'G' -- Het gaat altijd om contracten op gebouwniveau
|
||||
AND cp.cnt_alg_plaats_key = g.alg_gebouw_key
|
||||
AND c.prs_afdeling_key_eig = pa.prs_afdeling_key
|
||||
AND km.cnt_contract_key(+) = c.cnt_contract_key
|
||||
AND km.cnt_kenmerkcontract_verwijder IS NULL
|
||||
AND k.cnt_kenmerk_verwijder IS NULL
|
||||
AND k.cnt_kenmerk_key BETWEEN 242 AND 263 -- Kenmerken waar de bedragen in staan
|
||||
AND skm.cnt_srtkenmerk_verwijder IS NULL
|
||||
AND km.cnt_kenmerk_key(+) = k.cnt_kenmerk_key
|
||||
AND k.cnt_srtkenmerk_key = skm.cnt_srtkenmerk_key;
|
||||
|
||||
CREATE OR REPLACE VIEW stch_v_rap_gebouwkenmerk
|
||||
(
|
||||
gebouw_key,
|
||||
kenmerk,
|
||||
kenmerk_waarde
|
||||
)
|
||||
AS
|
||||
SELECT g.alg_gebouw_key,
|
||||
ak.alg_kenmerk_omschrijving,
|
||||
fac.safe_to_number (oak.alg_onrgoedkenmerk_waarde)
|
||||
FROM alg_gebouw g, alg_kenmerk ak, alg_onrgoedkenmerk oak
|
||||
WHERE oak.alg_kenmerk_key = ak.alg_kenmerk_key
|
||||
AND oak.alg_onrgoed_key = alg_gebouw_key
|
||||
AND oak.alg_onrgoed_niveau = 'G'
|
||||
AND ak.alg_kenmerk_key BETWEEN 1281 AND 1302;
|
||||
|
||||
CREATE OR REPLACE VIEW stch_v_rap_faturatieoverzicht
|
||||
(
|
||||
bedrijf,
|
||||
bezettingspercentage,
|
||||
gebouw,
|
||||
kenmerk,
|
||||
kenmerk_waarde,
|
||||
soort_bedrag
|
||||
)
|
||||
AS
|
||||
SELECT gb.prs_afdeling_omschrijving,
|
||||
gb.perc_v_totaal,
|
||||
gb.alg_gebouw_omschrijving,
|
||||
gk.kenmerk,
|
||||
COALESCE (f.waarde_n, (gk.kenmerk_waarde * gb.perc_formatted))
|
||||
bedrag,
|
||||
CASE
|
||||
WHEN f.waarde_n IS NOT NULL THEN 'Contract'
|
||||
ELSE 'Standaard'
|
||||
END
|
||||
CASE
|
||||
FROM stch_v_rap_facturatie f,
|
||||
stch_v_rap_gebouwkenmerk gk,
|
||||
stch_v_rap_gebouwbezetting gb
|
||||
WHERE gb.alg_gebouw_key = gk.gebouw_key
|
||||
AND gb.alg_gebouw_key = f.gebouw_key(+)
|
||||
AND gb.prs_afdeling_key = f.afdeling_key(+)
|
||||
AND gk.kenmerk = f.kenmerk(+);
|
||||
|
||||
-- Taken rapportage
|
||||
CREATE OR REPLACE VIEW stch_v_rap_deelinspect
|
||||
(
|
||||
deel_key,
|
||||
discipline,
|
||||
soort,
|
||||
groep,
|
||||
soortcode,
|
||||
omschrijving,
|
||||
plaatseigenaar,
|
||||
plaatseigenaartype,
|
||||
plaatsaanduiding,
|
||||
eigenaar,
|
||||
eigenaar_key,
|
||||
opmerking,
|
||||
regio,
|
||||
district,
|
||||
locatie_code,
|
||||
locatie_omschrijving,
|
||||
locatie_plaats,
|
||||
gebouwcode,
|
||||
gebouw,
|
||||
terreinsectorcode,
|
||||
terreinsector,
|
||||
verdiepingcode,
|
||||
ruimtenr,
|
||||
werkplekvolgnr,
|
||||
werkplek,
|
||||
uitleenbaar,
|
||||
uitgeleend,
|
||||
res_opmerking,
|
||||
beheerder,
|
||||
vervaldatum,
|
||||
actief,
|
||||
aantal,
|
||||
state,
|
||||
statedate,
|
||||
fclt_3d_discipline_key,
|
||||
fclt_3d_afdeling_key,
|
||||
fclt_3d_locatie_key,
|
||||
ins_deelsrtcontrole_key,
|
||||
ins_srtcontrole_key,
|
||||
srtcontrole_omschrijving,
|
||||
ins_deelsrtcontrole_datum,
|
||||
controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
perslid,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
deelsrtcontrole_status
|
||||
)
|
||||
AS
|
||||
SELECT deel_key,
|
||||
discipline,
|
||||
soort,
|
||||
groep,
|
||||
soortcode,
|
||||
omschrijving,
|
||||
plaatseigenaar,
|
||||
plaatseigenaartype,
|
||||
plaatsaanduiding,
|
||||
eigenaar,
|
||||
eigenaar_key,
|
||||
opmerking,
|
||||
regio,
|
||||
district,
|
||||
locatie_code,
|
||||
locatie_omschrijving,
|
||||
locatie_plaats,
|
||||
gebouwcode,
|
||||
gebouw,
|
||||
terreinsectorcode,
|
||||
terreinsector,
|
||||
verdiepingcode,
|
||||
ruimtenr,
|
||||
werkplekvolgnr,
|
||||
werkplek,
|
||||
uitleenbaar,
|
||||
uitgeleend,
|
||||
res_opmerking,
|
||||
beheerder,
|
||||
vervaldatum,
|
||||
actief,
|
||||
aantal,
|
||||
state,
|
||||
statedate,
|
||||
fclt_3d_discipline_key,
|
||||
fclt_3d_afdeling_key,
|
||||
fclt_3d_locatie_key,
|
||||
ins_deelsrtcontrole_key,
|
||||
ins_srtcontrole_key,
|
||||
srtcontrole_omschrijving,
|
||||
ins_deelsrtcontrole_datum,
|
||||
controlemode_omschrijving,
|
||||
ins_deelsrtcontrole_opmerking,
|
||||
perslid,
|
||||
ins_deelsrtcontrole_datum_org,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
deelsrtcontrole_status
|
||||
FROM ins_v_udr_deelinspect
|
||||
UNION ALL
|
||||
SELECT ud.deel_key,
|
||||
ud.discipline,
|
||||
ud.soort,
|
||||
ud.groep,
|
||||
ud.soortcode,
|
||||
ud.omschrijving,
|
||||
ud.plaatseigenaar,
|
||||
ud.plaatseigenaartype,
|
||||
ud.plaatsaanduiding,
|
||||
ud.eigenaar,
|
||||
ud.eigenaar_key,
|
||||
ud.opmerking,
|
||||
ud.regio,
|
||||
ud.district,
|
||||
ud.locatie_code,
|
||||
ud.locatie_omschrijving,
|
||||
ud.locatie_plaats,
|
||||
ud.gebouwcode,
|
||||
ud.gebouw,
|
||||
ud.terreinsectorcode,
|
||||
ud.terreinsector,
|
||||
ud.verdiepingcode,
|
||||
ud.ruimtenr,
|
||||
ud.werkplekvolgnr,
|
||||
ud.werkplek,
|
||||
ud.uitleenbaar,
|
||||
ud.uitgeleend,
|
||||
ud.res_opmerking,
|
||||
ud.beheerder,
|
||||
ud.vervaldatum,
|
||||
ud.actief,
|
||||
ud.aantal,
|
||||
ud.state,
|
||||
ud.statedate,
|
||||
ud.fclt_3d_discipline_key,
|
||||
ud.fclt_3d_afdeling_key,
|
||||
ud.fclt_3d_locatie_key,
|
||||
NULL,
|
||||
sc.ins_srtcontrole_key,
|
||||
sc.ins_srtcontrole_omschrijving,
|
||||
NULL,
|
||||
'Nog niet gepland',
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
fac.nextcyclusdatedeel (d.ins_deel_key, sc.ins_srtcontrole_key),
|
||||
NULL
|
||||
FROM ins_v_udr_deel ud,
|
||||
ins_deel d,
|
||||
ins_srtdeel sd,
|
||||
ins_srtgroep sg,
|
||||
ins_tab_discipline disc,
|
||||
ins_srtcontrole sc
|
||||
WHERE d.ins_deel_key = ud.deel_key
|
||||
AND sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||||
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
|
||||
AND disc.ins_discipline_key = sg.ins_discipline_key
|
||||
AND ( (sd.ins_srtdeel_key = sc.ins_srtinstallatie_key
|
||||
AND ins_srtcontrole_niveau = 'S')
|
||||
OR (sg.ins_srtgroep_key = sc.ins_srtinstallatie_key
|
||||
AND ins_srtcontrole_niveau = 'G')
|
||||
OR (disc.ins_discipline_key = sc.ins_srtinstallatie_key
|
||||
AND ins_srtcontrole_niveau = 'D'));
|
||||
|
||||
|
||||
-- Notificaties obv periodieke taken naar objectbeheerders
|
||||
CREATE OR REPLACE VIEW stch_v_rap_ctrbeh
|
||||
(
|
||||
plaats,
|
||||
gebouw,
|
||||
verdieping,
|
||||
ruimte,
|
||||
discipline,
|
||||
objectgroep,
|
||||
objectsoort,
|
||||
deel_key,
|
||||
objectomschrijving,
|
||||
plandatum,
|
||||
extra_key,
|
||||
taakomschrijving,
|
||||
status,
|
||||
beheerder_key,
|
||||
beheerder_email
|
||||
)
|
||||
AS
|
||||
SELECT di.locatie_plaats,
|
||||
di.gebouw,
|
||||
di.verdiepingcode,
|
||||
di.ruimtenr,
|
||||
di.discipline,
|
||||
di.groep,
|
||||
di.soort,
|
||||
di.deel_key,
|
||||
di.omschrijving,
|
||||
TRUNC (di.ins_deelsrtcontrole_plandatum),
|
||||
dsc.ins_deelsrtcontrole_key,
|
||||
di.srtcontrole_omschrijving,
|
||||
di.deelsrtcontrole_status,
|
||||
p.prs_perslid_key,
|
||||
p.prs_perslid_email
|
||||
FROM stch_v_rap_deelinspect di,
|
||||
ins_deel d,
|
||||
prs_perslid p,
|
||||
ins_deelsrtcontrole dsc,
|
||||
ins_tab_discipline disc,
|
||||
fac_usrtab ut,
|
||||
fac_usrdata ud
|
||||
WHERE di.ins_deelsrtcontrole_datum IS NULL
|
||||
AND (di.vervaldatum > SYSDATE OR di.vervaldatum IS NULL)
|
||||
AND d.prs_perslid_key_beh = p.prs_perslid_key(+)
|
||||
AND d.ins_deel_key = di.deel_key
|
||||
AND dsc.ins_deelsrtcontrole_key = di.ins_deelsrtcontrole_key
|
||||
AND d.ins_discipline_key = disc.ins_discipline_key
|
||||
AND UPPER (ut.fac_usrtab_naam) = 'NOTI_CUST11'
|
||||
AND ut.fac_usrtab_verwijder IS NULL
|
||||
AND ut.fac_usrtab_key = ud.fac_usrtab_key
|
||||
AND fac.safe_to_number (ud.fac_usrdata_code) = d.ins_discipline_key
|
||||
ORDER BY di.ins_deelsrtcontrole_datum,
|
||||
TRUNC (di.ins_deelsrtcontrole_plandatum),
|
||||
di.controlemode_omschrijving,
|
||||
p.prs_perslid_email;
|
||||
|
||||
--Notificaties obv periodieke taken naar objectbeheerders
|
||||
CREATE OR REPLACE VIEW stch_v_noti_ctrbeh_wk
|
||||
(
|
||||
code,
|
||||
sender,
|
||||
receiver,
|
||||
text,
|
||||
key,
|
||||
xkey
|
||||
)
|
||||
AS
|
||||
SELECT DISTINCT
|
||||
'CUST11' AS code,
|
||||
NULL,
|
||||
beheerder_key,
|
||||
'Herinnering: '
|
||||
|| discipline
|
||||
|| ' - '
|
||||
|| objectgroep
|
||||
|| ' - '
|
||||
|| taakomschrijving
|
||||
|| ', dient uiterlijk '
|
||||
|| TO_CHAR (plandatum, 'DD-MM-YYYY')
|
||||
|| ' te worden afgehandeld',
|
||||
(SELECT fac_usrrap_key
|
||||
FROM fac_usrrap
|
||||
WHERE UPPER (fac_usrrap_code) = 'STCH_V_RAP_CTRBEH')
|
||||
rapportnr,
|
||||
extra_key
|
||||
FROM stch_v_rap_ctrbeh
|
||||
WHERE TRUNC (plandatum) = TRUNC (SYSDATE) + 7;
|
||||
|
||||
|
||||
-- Opdracht ook via mail naar interne mailbox wanneer verstuurd aan een technische leverancier.
|
||||
CREATE OR REPLACE VIEW stch_v_noti_opdracht
|
||||
|
||||
Reference in New Issue
Block a user