svn path=/Customer/trunk/; revision=12552

This commit is contained in:
Bert in het Veld
1999-09-07 10:04:26 +00:00
parent 8f631dec04
commit 0e36b30e8e

217
AKZA/AKZA.SQL Normal file
View File

@@ -0,0 +1,217 @@
--
-- AKZO.SQL
--
-- Facilitor 3.0 inrichting voor Akzo Nobel Arnhem
-- (c) 1999 Dijkoraad IT bv
--
-- Last update 20-08-1999/BIV
--
SPOOL AKZO.LST
-- Rapportages
CREATE OR REPLACE VIEW AKZ_GEBRUIKER_PER_RUIMTE AS
select W.alg_gebouw_omschrijving Gebouw,
W.alg_verdieping_volgnr Bouwlaag,
W.alg_ruimte_nr Ruimte,
A.prs_afdeling_naam Afdeling,
W.prs_afd_perslid_naam Gebruiker,
W.prs_werkplek_opp Oppervlakte,
P.prs_perslid_telefoonnr Telefoon
from prs_v_perslidwerkplek_gegevens W,prs_v_aanwezigafdeling A, prs_v_aanwezigperslid P
where P.prs_afdeling_key=A.prs_afdeling_key
and W.prs_perslid_key=P.prs_perslid_key;
INSERT INTO FAC_USRRAP(FAC_USRRAP_OMSCHRIJVING,FAC_USRRAP_VIEW_NAME, FAC_USRRAP_IN_HUIDIGE_LOCATIE) VALUES
('Ruimte:Afdeling', 'AKZ_GEBRUIKER_PER_RUIMTE',0);
-- De totalen aan verhuurbare ruimte(Opp) per CompanyCode,Afdeling,Soort
CREATE OR REPLACE PACKAGE akz AS
FUNCTION akz_f_pct_gemeensch(GebouwKey IN NUMBER) RETURN NUMBER;
PRAGMA RESTRICT_REFERENCES (akz_f_pct_gemeensch,WNDS, WNPS);
END akz;
/
CREATE OR REPLACE PACKAGE BODY akz AS
FUNCTION akz_f_pct_gemeensch (GebouwKey IN NUMBER) RETURN NUMBER IS
opp_verhuurbaar NUMBER(10,2);
opp_gemeenschappelijk NUMBER(10,2);
BEGIN
-- Levert het percentage van de ruimte dat van gebouw met de gegeven key gemeenschappelijk is
-- zijnde de opp_gemeenschappelijk/opp_netto. Hiermee kan de bruto oppervlakte van een
-- netto oppervlakte worden berekend met bruto=netto+ pct*netto = (1+pct)*netto
SELECT NVL(SUM(alg_ruimte_bruto_vloeropp),1) -- minstens 1 tegen het delen door nul
INTO opp_verhuurbaar
FROM alg_v_aanwezigruimte R, alg_srtruimte SR, alg_verdieping V
WHERE V.alg_gebouw_key = GebouwKey
AND V.alg_verdieping_key=R.alg_verdieping_key
AND R.alg_srtruimte_key=SR.alg_srtruimte_key
AND SR.prs_verhuurbaar is not null
AND SR.prs_bevat_werkplek is not null;
SELECT NVL(SUM(alg_ruimte_bruto_vloeropp),0)
INTO opp_gemeenschappelijk
FROM alg_v_aanwezigruimte R, alg_srtruimte SR, alg_verdieping V
WHERE V.alg_gebouw_key = GebouwKey
AND V.alg_verdieping_key=R.alg_verdieping_key
AND R.alg_srtruimte_key=SR.alg_srtruimte_key
AND SR.prs_verhuurbaar is not null
AND SR.prs_bevat_werkplek is null;
RETURN opp_gemeenschappelijk/opp_verhuurbaar;
END akz_f_pct_gemeensch;
END akz;
/
CREATE OR REPLACE VIEW AKZ_HUUR_VERHUURBAAR AS
select A.prs_afdeling_eenheid CompanyCode,
A.prs_afdeling_kostenplaats KostenPlaats,
A.prs_afdeling_naam Afdeling,
W.alg_gebouw_omschrijving Gebouw,
SR.alg_srtruimte_omschrijving Ruimtesoort,
to_number(to_char(SUM(NVL(W.prs_werkplek_opp,0)) ,'9999999D9')) Netto ,
to_number(to_char(SUM(NVL(W.prs_werkplek_opp,0)*(1+akz.akz_f_pct_gemeensch(W.alg_gebouw_key))), '9999999D9')) Bruto
from prs_v_perslidwerkplek_gegevens W, prs_v_aanwezigafdeling A, prs_v_aanwezigperslid P,
alg_ruimte R, alg_srtruimte SR
where W.prs_perslid_key=P.prs_perslid_key
AND P.prs_afdeling_key=A.prs_afdeling_key
AND W.prs_perslid_key IS NOT NULL
and R.alg_ruimte_key=W.alg_ruimte_key
and R.alg_srtruimte_key=SR.alg_srtruimte_key
and SR.prs_verhuurbaar is not null
and SR.prs_bevat_werkplek is not null
group by A.prs_afdeling_eenheid,A.prs_afdeling_kostenplaats,A.prs_afdeling_naam,
W.alg_gebouw_omschrijving, SR.alg_srtruimte_omschrijving
union
select A.prs_afdeling_eenheid CompanyCode,
A.prs_afdeling_kostenplaats KostenPlaats,
A.prs_afdeling_naam Afdeling,
W.alg_gebouw_omschrijving Gebouw,
SR.alg_srtruimte_omschrijving Ruimtesoort,
to_number(to_char(SUM(NVL(W.prs_werkplek_opp,0)) ,'9999999D9')) Netto ,
to_number(to_char(SUM(NVL(W.prs_werkplek_opp,0)*(1+akz.akz_f_pct_gemeensch(W.alg_gebouw_key))), '9999999D9')) Bruto
from prs_v_perslidwerkplek_gegevens W, prs_v_aanwezigafdeling A, alg_ruimte R, alg_srtruimte SR
where W.prs_afdeling_key=A.prs_afdeling_key
AND W.prs_afdeling_key IS NOT NULL
and R.alg_ruimte_key=W.alg_ruimte_key
and R.alg_srtruimte_key=SR.alg_srtruimte_key
and SR.prs_verhuurbaar is not null
and SR.prs_bevat_werkplek is not null
group by A.prs_afdeling_eenheid,A.prs_afdeling_kostenplaats,A.prs_afdeling_naam,
W.alg_gebouw_omschrijving, SR.alg_srtruimte_omschrijving;
INSERT INTO FAC_USRRAP(FAC_USRRAP_OMSCHRIJVING,FAC_USRRAP_VIEW_NAME, FAC_USRRAP_IN_HUIDIGE_LOCATIE) VALUES
('Huurrapport-verhuurbaar', 'AKZ_HUUR_VERHUURBAAR',0);
--CREATE OR REPLACE VIEW AKZ_HUUR_GEMEENSCHAPPELIJK AS
--select 'Nog niet gerealiseerd' Helaas from dual;
--INSERT INTO FAC_USRRAP(FAC_USRRAP_OMSCHRIJVING,FAC_USRRAP_VIEW_NAME, FAC_USRRAP_IN_HUIDIGE_LOCATIE) VALUES
--('Huurrapport-gemeenschappelijk', 'AKZ_HUUR_GEMEENSCHAPPELIJK',0);
CREATE OR REPLACE VIEW AKZ_SRTRUIMTE_VERHUURBAAR AS
select alg_srtruimte_omschrijving Ruimtesoort
from alg_srtruimte
where prs_verhuurbaar is not null
and prs_bevat_werkplek is not null;
INSERT INTO FAC_USRRAP(FAC_USRRAP_OMSCHRIJVING,FAC_USRRAP_VIEW_NAME, FAC_USRRAP_IN_HUIDIGE_LOCATIE) VALUES
('Ruimtesoort-verhuurbaar', 'AKZ_SRTRUIMTE_VERHUURBAAR',0);
CREATE OR REPLACE VIEW AKZ_SRTRUIMTE_GEMEENSCHAP AS
select alg_srtruimte_omschrijving Ruimtesoort
from alg_srtruimte
where prs_verhuurbaar is not null
and prs_bevat_werkplek is null;
INSERT INTO FAC_USRRAP(FAC_USRRAP_OMSCHRIJVING,FAC_USRRAP_VIEW_NAME, FAC_USRRAP_IN_HUIDIGE_LOCATIE) VALUES
('Ruimtesoort-gemeenschappelijk', 'AKZ_SRTRUIMTE_GEMEENSCHAP',0);
CREATE OR REPLACE VIEW AKZ_SRTRUIMTE_NIETVERH AS
select alg_srtruimte_omschrijving Ruimtesoort
from alg_srtruimte
where prs_verhuurbaar is null
and prs_bevat_werkplek is null;
INSERT INTO FAC_USRRAP(FAC_USRRAP_OMSCHRIJVING,FAC_USRRAP_VIEW_NAME, FAC_USRRAP_IN_HUIDIGE_LOCATIE) VALUES
('Ruimtesoort-niet verhuurbaar', 'AKZ_SRTRUIMTE_NIETVERH',0);
CREATE OR REPLACE VIEW AKZ_VERHRUIMTE_PER_GEBOUW AS
select W.alg_gebouw_omschrijving Gebouw,
SUM(NVL(W.prs_werkplek_opp,0)) Oppervlakte
from prs_v_perslidwerkplek_gegevens W, alg_ruimte R, alg_srtruimte SR
where R.alg_ruimte_key=W.alg_ruimte_key
and R.alg_srtruimte_key=SR.alg_srtruimte_key
and SR.prs_verhuurbaar is not null
and SR.prs_bevat_werkplek is not null
group by W.alg_gebouw_omschrijving;
INSERT INTO FAC_USRRAP(FAC_USRRAP_OMSCHRIJVING,FAC_USRRAP_VIEW_NAME, FAC_USRRAP_IN_HUIDIGE_LOCATIE) VALUES
('Gebouw:Verhuurbaar', 'AKZ_VERHRUIMTE_PER_GEBOUW',0);
CREATE OR REPLACE VIEW AKZ_NIETVERHRUIMTE_PER_GEBOUW AS
select W.alg_gebouw_omschrijving Gebouw,
SUM(NVL(W.prs_werkplek_opp,0)) Oppervlakte
from prs_v_perslidwerkplek_gegevens W, alg_ruimte R, alg_srtruimte SR
where R.alg_ruimte_key=W.alg_ruimte_key
and R.alg_srtruimte_key=SR.alg_srtruimte_key
and SR.prs_verhuurbaar is not null
and SR.prs_bevat_werkplek is not null
group by W.alg_gebouw_omschrijving;
INSERT INTO FAC_USRRAP(FAC_USRRAP_OMSCHRIJVING,FAC_USRRAP_VIEW_NAME, FAC_USRRAP_IN_HUIDIGE_LOCATIE) VALUES
('Gebouw:Niet verhuurbaar', 'AKZ_NIETVERHRUIMTE_PER_GEBOUW',0);
CREATE OR REPLACE VIEW AKZ_HUURKOSTENPLAATS AS
SELECT G.alg_gebouw_omschrijving GEBOUW, -- Werkplekken gekoppeld aan personen
V.alg_verdieping_volgnr BOUWLAAG,
R.alg_ruimte_nr RUIMTE,
SR.alg_srtruimte_omschrijving RUIMTESOORT,
R.alg_ruimte_bruto_vloeropp OPPERVLAKTE,
AF.prs_afdeling_naam AFDELING,
RPAD(AF.prs_afdeling_kostenplaats,15) KOSTENPLAATS
FROM alg_v_aanweziggebouw G, alg_v_aanwezigverdieping V,
alg_v_aanwezigruimte R, alg_v_aanwezigsrtruimte SR,
prs_v_aanwezigwerkplek WP, prs_v_aanwezigafdeling AF,
prs_v_aanwezigperslidwerkplek PLW, prs_v_aanwezigperslid PL
WHERE V.alg_gebouw_key = G.alg_gebouw_key
AND R.alg_verdieping_key = V.alg_verdieping_key
AND R.alg_srtruimte_key = SR.alg_srtruimte_key
AND R.alg_ruimte_key = WP.prs_alg_ruimte_key
AND WP.prs_werkplek_key = PLW.prs_werkplek_key(+)
AND PLW.prs_perslid_key = PL.prs_perslid_key(+)
AND PL.prs_afdeling_key = AF.prs_afdeling_key(+)
UNION
SELECT G.alg_gebouw_omschrijving GEBOUW, -- Werkplekken gekoppeld aan een afdeling
V.alg_verdieping_volgnr BOUWLAAG,
R.alg_ruimte_nr RUIMTE,
SR.alg_srtruimte_omschrijving RUIMTESOORT,
R.alg_ruimte_bruto_vloeropp OPPERVLAKTE,
AF.prs_afdeling_naam AFDELING,
RPAD(AF.prs_afdeling_kostenplaats,15) KOSTENPLAATS
FROM alg_v_aanweziggebouw G, alg_v_aanwezigverdieping V,
alg_v_aanwezigruimte R, alg_v_aanwezigsrtruimte SR,
prs_v_aanwezigwerkplek WP, prs_v_aanwezigafdeling AF,
prs_perslidwerkplek PLW
WHERE V.alg_gebouw_key = G.alg_gebouw_key
AND R.alg_verdieping_key = V.alg_verdieping_key
AND R.alg_srtruimte_key = SR.alg_srtruimte_key
AND R.alg_ruimte_key = WP.prs_alg_ruimte_key
AND WP.prs_werkplek_key = PLW.prs_werkplek_key
AND PLW.prs_afdeling_key = AF.prs_afdeling_key
GROUP BY G.alg_gebouw_omschrijving,V.alg_verdieping_volgnr,R.alg_ruimte_nr, SR.alg_srtruimte_omschrijving,
R.alg_ruimte_bruto_vloeropp, AF.prs_afdeling_naam, AF.prs_afdeling_kostenplaats;
INSERT INTO FAC_USRRAP(FAC_USRRAP_OMSCHRIJVING,FAC_USRRAP_VIEW_NAME, FAC_USRRAP_IN_HUIDIGE_LOCATIE) VALUES
('Verhuurd - kostenplaats', 'AKZ_HUURKOSTENPLAATS',0);
COMMIT;
SPOOL OFF