10666 lines
469 KiB
Plaintext
10666 lines
469 KiB
Plaintext
--
|
||
-- $Id$
|
||
--
|
||
-- Script containing customer specific sql statements for the FACILITOR database
|
||
|
||
DEFINE thisfile = 'NOUR.SQL'
|
||
DEFINE dbuser = 'NOUR'
|
||
|
||
SET ECHO ON
|
||
SET DEFINE ON
|
||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||
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 ------
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
------------------------------- LEGACY-MEUK, M.N. VOOR OUTLETBEHEER ------------------------------
|
||
--------------------------------------------------------------------------------------------------
|
||
-- Utilities
|
||
-- De totalen aan verhuurbare ruimte(Opp) per CompanyCode,Afdeling,Soort
|
||
CREATE OR REPLACE PACKAGE NOUR AS
|
||
FUNCTION NOUR_f_cad_ruimte_bezetting(pBezettingswaarde IN NUMBER) RETURN NUMBER;
|
||
FUNCTION NOUR_f_pct_gemeensch(VerdiepingKey IN NUMBER) RETURN NUMBER;
|
||
|
||
PROCEDURE Ins_Update_Kenmerkdeel(kenmerkdeel_key IN NUMBER,
|
||
deel_key IN NUMBER,
|
||
kenmerk_key IN NUMBER,
|
||
waarde IN VARCHAR2,
|
||
historymode IN VARCHAR2,
|
||
mselect IN VARCHAR2);
|
||
PROCEDURE Kmd_Update_Kenmerkdeel(kenmerkdeel_key IN NUMBER,
|
||
deel_key IN NUMBER,
|
||
kenmerk_key IN NUMBER,
|
||
waarde IN VARCHAR2,
|
||
historymode IN VARCHAR2,
|
||
mselect IN VARCHAR2);
|
||
PROCEDURE Kmd_Insert(p_deel_key IN NUMBER,
|
||
p_kenmerk_key IN NUMBER,
|
||
p_waarde IN VARCHAR2,
|
||
p_historymode IN VARCHAR2);
|
||
PROCEDURE Kmd_Delete(p_kenmerkdeel_key IN NUMBER,
|
||
p_historymode IN VARCHAR2);
|
||
PROCEDURE Kmd_Update(p_kenmerkdeel_key IN NUMBER,
|
||
p_waarde IN VARCHAR2,
|
||
p_historymode IN VARCHAR2);
|
||
PRAGMA RESTRICT_REFERENCES (NOUR_f_pct_gemeensch,WNDS, WNPS);
|
||
END NOUR;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PACKAGE BODY NOUR
|
||
AS
|
||
FUNCTION NOUR_f_cad_ruimte_bezetting (pBezettingswaarde IN NUMBER)
|
||
RETURN NUMBER
|
||
IS
|
||
-- PRE: pBezettingswaarde IS NOT NULL
|
||
v_result NUMBER (3, 0);
|
||
BEGIN
|
||
IF (pBezettingswaarde <= 0)
|
||
THEN
|
||
v_result := 0;
|
||
ELSE
|
||
IF (pBezettingswaarde > 0) AND (pBezettingswaarde < 100)
|
||
THEN
|
||
v_result := 50;
|
||
ELSE
|
||
v_result := 100;
|
||
END IF;
|
||
END IF;
|
||
|
||
RETURN v_result;
|
||
END NOUR_f_cad_ruimte_bezetting;
|
||
|
||
FUNCTION NOUR_f_pct_gemeensch (VerdiepingKey IN NUMBER)
|
||
RETURN NUMBER
|
||
IS
|
||
GebouwKey NUMBER (10, 2);
|
||
opp_verhuurbaar_ver NUMBER (10, 2);
|
||
opp_verhuurbaar_hor NUMBER (10, 2);
|
||
opp_gemeenschappelijk_ver NUMBER (10, 2);
|
||
opp_gemeenschappelijk_hor NUMBER (10, 2);
|
||
BEGIN
|
||
-- Levert het percentage van de ruimte dat van gebouw met de gegeven key gemeenschappelijk
|
||
-- 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 ALG_GEBOUW_KEY
|
||
INTO GebouwKey
|
||
FROM ALG_VERDIEPING
|
||
WHERE ALG_VERDIEPING_KEY = VerdiepingKey;
|
||
|
||
SELECT NVL (SUM (alg_ruimte_bruto_vloeropp), 1) -- minstens 1 tegen het delen door nul
|
||
INTO opp_verhuurbaar_ver
|
||
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), 1) -- minstens 1 tegen het delen door nul
|
||
INTO opp_verhuurbaar_hor
|
||
FROM alg_v_aanwezigruimte R, alg_srtruimte SR, alg_verdieping V
|
||
WHERE V.alg_verdieping_key = VerdiepingKey -- Alleen deze verdieping
|
||
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_ver
|
||
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.alg_srtruimte_upper LIKE '%VERTICAAL%'
|
||
AND SR.prs_bevat_werkplek IS NULL;
|
||
|
||
SELECT NVL (SUM (alg_ruimte_bruto_vloeropp), 0)
|
||
INTO opp_gemeenschappelijk_hor
|
||
FROM alg_v_aanwezigruimte R, alg_srtruimte SR, alg_verdieping V
|
||
WHERE V.alg_verdieping_key = VerdiepingKey
|
||
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.alg_srtruimte_upper LIKE '%HORIZONTAAL%'
|
||
AND SR.prs_bevat_werkplek IS NULL;
|
||
|
||
RETURN (opp_gemeenschappelijk_ver / opp_verhuurbaar_ver)
|
||
+ (opp_gemeenschappelijk_hor / opp_verhuurbaar_hor);
|
||
END NOUR_f_pct_gemeensch;
|
||
|
||
PROCEDURE Ins_Update_Kenmerkdeel (kenmerkdeel_key IN NUMBER,
|
||
deel_key IN NUMBER,
|
||
kenmerk_key IN NUMBER,
|
||
waarde IN VARCHAR2,
|
||
historymode IN VARCHAR2,
|
||
mselect IN VARCHAR2)
|
||
IS
|
||
v_history_mode fac_message.fac_message_text%TYPE;
|
||
BEGIN
|
||
-- Het is eigenlijk voldoende om hier alleen Kmd_Update()
|
||
-- aan te roepen omdat daar alle situaties worden
|
||
-- gecontroleerd en de bijbehorende actie wordt uitgevoerd.
|
||
-- De onderstaande Select zorgt er dus alleen voor dat
|
||
-- indien er geen actueel record bestaat, of een die
|
||
-- vandaag is gesloten er een nieuw record wordt gemaakt,
|
||
-- hetgeen in Kmd_Update() ook wordt gedaan zodat de tweede
|
||
-- insert een foutmelding geeft.
|
||
-- Daarom alleen Kmd_Update() aanroepen met een dummy waarde
|
||
-- voor ins_kenmerkdeel_key.
|
||
--
|
||
IF historymode IS NULL
|
||
THEN
|
||
BEGIN
|
||
SELECT DECODE (fac_message_text, 'TRUE', '1', 'FALSE', '0', '0')
|
||
INTO v_history_mode
|
||
FROM fac_message
|
||
WHERE fac_message_code = 'FAC_HISTORYMODE_VALUE';
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
v_history_mode := '0';
|
||
END;
|
||
ELSE
|
||
v_history_mode := historymode;
|
||
END IF;
|
||
|
||
NOUR.Kmd_Update_Kenmerkdeel (kenmerkdeel_key,
|
||
deel_key,
|
||
kenmerk_key,
|
||
waarde,
|
||
v_history_mode,
|
||
mselect);
|
||
END Ins_Update_Kenmerkdeel;
|
||
|
||
PROCEDURE Kmd_Insert (p_deel_key IN NUMBER,
|
||
p_kenmerk_key IN NUMBER,
|
||
p_waarde IN VARCHAR2,
|
||
p_historymode IN VARCHAR2)
|
||
IS
|
||
BEGIN
|
||
IF p_waarde IS NOT NULL
|
||
THEN
|
||
INSERT INTO ins_kenmerkdeel (ins_kenmerk_key,
|
||
ins_deel_Key,
|
||
ins_kenmerkdeel_waarde)
|
||
VALUES (p_kenmerk_key, p_deel_key, p_waarde);
|
||
END IF;
|
||
END Kmd_Insert;
|
||
|
||
PROCEDURE Kmd_Delete (p_kenmerkdeel_key IN NUMBER,
|
||
p_historymode IN VARCHAR2)
|
||
IS
|
||
BEGIN
|
||
IF p_historymode = '0'
|
||
THEN
|
||
--NON HISTORY MODE
|
||
DELETE FROM ins_kenmerkdeel
|
||
WHERE ins_kenmerkdeel_key = p_kenmerkdeel_key;
|
||
ELSE
|
||
--HISTORY MODE
|
||
UPDATE ins_kenmerkdeel
|
||
SET ins_kenmerkdeel_verwijder = SYSDATE
|
||
WHERE ins_kenmerkdeel_key = p_kenmerkdeel_key;
|
||
END IF;
|
||
END Kmd_Delete;
|
||
|
||
PROCEDURE Kmd_update (p_kenmerkdeel_key IN NUMBER,
|
||
p_waarde IN VARCHAR2,
|
||
p_historymode IN VARCHAR2)
|
||
IS
|
||
BEGIN
|
||
UPDATE ins_kenmerkdeel
|
||
SET ins_kenmerkdeel_waarde = p_waarde,
|
||
ins_kenmerkdeel_verwijder = NULL
|
||
WHERE ins_kenmerkdeel_key = p_kenmerkdeel_key;
|
||
END Kmd_Update;
|
||
|
||
PROCEDURE Kmd_Update_Kenmerkdeel (kenmerkdeel_key IN NUMBER,
|
||
deel_key IN NUMBER,
|
||
kenmerk_key IN NUMBER,
|
||
waarde IN VARCHAR2,
|
||
historymode IN VARCHAR2,
|
||
mselect IN VARCHAR2)
|
||
IS
|
||
v_kenmerkdeelkey NUMBER (10);
|
||
BEGIN
|
||
IF historymode = '0'
|
||
THEN
|
||
IF waarde IS NOT NULL
|
||
THEN
|
||
IF kenmerkdeel_key IS NOT NULL AND mselect = '0'
|
||
THEN
|
||
NOUR.Kmd_Update (kenmerkdeel_key, waarde, historymode);
|
||
ELSIF kenmerkdeel_key IS NULL AND mselect = '1'
|
||
THEN
|
||
-- kenmerkdeel vanuit form in mselectmode is null
|
||
-- deelkey komt uit fac_selectie daar kan kenmerkdeel niet aan toegevoegd worden.
|
||
-- Oplossing : zoek a.h.v. Deelkey en Kenmerkkey de kenmerkdeel_key
|
||
-- Bij Insert is kenmerkdeel_key ook NULL, maar dit gaat goed aangezien mselect daar nooit '1' kan zijn.
|
||
BEGIN
|
||
SELECT ins_kenmerkdeel_Key
|
||
INTO v_kenmerkdeelkey
|
||
FROM ins_v_aanwezigkenmerkdeel
|
||
WHERE ins_deel_key = deel_key
|
||
AND ins_kenmerk_key = kenmerk_key;
|
||
|
||
NOUR.Kmd_Update (v_kenmerkdeelkey, waarde, historymode);
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
NOUR.Kmd_Insert (deel_key,
|
||
kenmerk_key,
|
||
waarde,
|
||
historymode);
|
||
END;
|
||
ELSE
|
||
NOUR.Kmd_Insert (deel_key,
|
||
kenmerk_key,
|
||
waarde,
|
||
historymode);
|
||
END IF;
|
||
ELSE
|
||
NOUR.Kmd_Delete (kenmerkdeel_key, historymode);
|
||
END IF;
|
||
ELSIF historymode = '1'
|
||
THEN
|
||
DECLARE
|
||
-- Zoek alle records voor een gegeven object en kenmerk
|
||
-- en zet de meest recente bovenaan.
|
||
--
|
||
CURSOR c_kenmerkdeel (
|
||
p_kenmerk_key IN NUMBER,
|
||
p_deel_key IN NUMBER)
|
||
IS
|
||
SELECT ins_kenmerkdeel_key,
|
||
TRUNC (ins_kenmerkdeel_aanmaak) ins_kenmerkdeel_aanmaak,
|
||
TRUNC (ins_kenmerkdeel_verwijder)
|
||
ins_kenmerkdeel_verwijder,
|
||
ins_kenmerkdeel_waarde
|
||
FROM ins_kenmerkdeel
|
||
WHERE ins_kenmerk_key = p_kenmerk_key
|
||
AND ins_deel_key = p_deel_key
|
||
ORDER BY ins_kenmerkdeel_key DESC;
|
||
|
||
r_kenmerkdeel c_kenmerkdeel%ROWTYPE;
|
||
BEGIN
|
||
OPEN c_kenmerkdeel (kenmerk_key, deel_key);
|
||
|
||
FETCH c_kenmerkdeel INTO r_kenmerkdeel;
|
||
|
||
IF c_kenmerkdeel%NOTFOUND
|
||
THEN
|
||
-- Voor dit object en kenmerk bestaat nog geen record
|
||
-- dus toevoegen. Behalve als de toe te voegen waarde
|
||
-- null is, dan wil je niets toevoegen dus dan ook
|
||
-- geen actie.
|
||
IF waarde IS NOT NULL
|
||
THEN
|
||
NOUR.Kmd_Insert (deel_key,
|
||
kenmerk_key,
|
||
waarde,
|
||
historymode);
|
||
END IF;
|
||
ELSE
|
||
-- Er bestaat een record voor het object en kenmerk.
|
||
--
|
||
IF waarde IS NOT NULL
|
||
THEN
|
||
-- Er is een nieuwe waarde voor een bepaald object en kenmerk.
|
||
--
|
||
IF r_kenmerkdeel.ins_kenmerkdeel_aanmaak <= TRUNC (SYSDATE)
|
||
AND r_kenmerkdeel.ins_kenmerkdeel_verwijder IS NULL
|
||
THEN
|
||
-- Het record is nog actueel, dus moet eerst gesloten worden
|
||
-- door het als verwijderd te markeren.
|
||
--
|
||
NOUR.Kmd_Delete (r_kenmerkdeel.ins_kenmerkdeel_key,
|
||
historymode);
|
||
END IF;
|
||
|
||
--
|
||
-- Er bestaat nu tijdelijk geen actueel record meer voor
|
||
-- het object en kenmerk !!
|
||
--
|
||
IF r_kenmerkdeel.ins_kenmerkdeel_aanmaak < TRUNC (SYSDATE)
|
||
AND (r_kenmerkdeel.ins_kenmerkdeel_verwijder <=
|
||
TRUNC (SYSDATE)
|
||
OR r_kenmerkdeel.ins_kenmerkdeel_verwijder IS NULL)
|
||
THEN
|
||
-- Het laatste record voor kenmerk bij een object heeft langer
|
||
-- dan een dag bestaan. Voeg daarom een nieuwe toe.
|
||
--
|
||
NOUR.Kmd_Insert (deel_key,
|
||
kenmerk_key,
|
||
waarde,
|
||
historymode);
|
||
ELSIF r_kenmerkdeel.ins_kenmerkdeel_aanmaak =
|
||
TRUNC (SYSDATE)
|
||
THEN
|
||
-- Het record voor kenmerk bij een object is vandaag
|
||
-- aangemaakt dus wordt er geen nieuwe toegevoegd maar
|
||
-- de huidige aangepast.
|
||
--
|
||
NOUR.Kmd_Update (r_kenmerkdeel.ins_kenmerkdeel_key,
|
||
waarde,
|
||
historymode);
|
||
END IF;
|
||
ELSE
|
||
-- De nieuwe waarde voor het object en kenmerk is leeg, dus
|
||
-- moet het als verwijderd gemarkeerd worden.
|
||
-- Behalve als er in MSelect-mode gewijzigd wordt.
|
||
--
|
||
IF mselect = '0'
|
||
THEN
|
||
NOUR.Kmd_Delete (r_kenmerkdeel.ins_kenmerkdeel_key,
|
||
historymode);
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
|
||
CLOSE c_kenmerkdeel;
|
||
END;
|
||
END IF;
|
||
END Kmd_Update_Kenmerkdeel;
|
||
|
||
END NOUR;
|
||
/
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
------------------------------- BASISVIEWS -------------------------------------------------------
|
||
--------------------------------------------------------------------------------------------------
|
||
|
||
-- BELANGRIJKE VIEW, wordt veelal gebruikt ipv kostenplaats-tabel!
|
||
-- Eerste woord van kostenplaatsgroep-omschrijving = debiteurnr voor doorbelastingsexport
|
||
CREATE OR REPLACE VIEW nour_v_kostenplaats
|
||
AS
|
||
SELECT k.prs_kostenplaats_key,
|
||
DECODE( INSTR (prs_kostenplaats_nr, '('),
|
||
0, TRIM (prs_kostenplaats_nr),
|
||
TRIM (SUBSTR (prs_kostenplaats_nr, 1, INSTR (prs_kostenplaats_nr, '(') - 2) )
|
||
) prs_kostenplaats_nr,
|
||
UPPER( DECODE( INSTR (prs_kostenplaats_nr, '('),
|
||
0, TRIM (prs_kostenplaats_nr),
|
||
TRIM (SUBSTR (prs_kostenplaats_nr, 1, INSTR (prs_kostenplaats_nr, '(') - 2) ) )
|
||
) prs_kostenplaats_upper,
|
||
prs_kostenplaats_nr fclt_kostenplaats_nr,
|
||
prs_kostenplaats_omschrijving,
|
||
COALESCE( SUBSTR(prs_kostenplaatsgrp_oms, 1, INSTR(prs_kostenplaatsgrp_oms, ' ')-1 ),
|
||
'ONBEKEND') debiteurnr,
|
||
prs_kostenplaatsgrp_oms,
|
||
-- a.companycode,
|
||
k.prs_perslid_key, prs_kostenplaats_module, prs_kostenplaats_begin, prs_kostenplaats_eind,
|
||
k.prs_kostenplaatsgrp_key, prs_kostenplaats_aanmaak, prs_kostenplaats_verwijder,
|
||
kg.prs_perslid_key grp_prs_perslid_key
|
||
FROM prs_kostenplaats k,
|
||
prs_kostenplaatsgrp kg
|
||
WHERE kg.prs_kostenplaatsgrp_key(+) = k.prs_kostenplaatsgrp_key;
|
||
|
||
-- Mapping van afdeling naar company (top-level afdeling)
|
||
CREATE OR REPLACE VIEW nour_v_afdelingcompany
|
||
AS
|
||
SELECT a.prs_afdeling_key,
|
||
a.prs_afdeling_naam,
|
||
a.prs_afdeling_upper,
|
||
a.prs_afdeling_omschrijving,
|
||
c.prs_afdeling_key company_key,
|
||
c.prs_afdeling_naam companycode,
|
||
c.prs_afdeling_omschrijving company_oms,
|
||
a.prs_afdeling_aanmaak,
|
||
a.prs_afdeling_verwijder,
|
||
a.prs_kostenplaats_key
|
||
FROM prs_afdeling a,
|
||
prs_afdeling c,
|
||
prs_v_afdeling_boom ab
|
||
WHERE ab.prs_afdeling_key = a.prs_afdeling_key
|
||
AND c.prs_afdeling_key = ab.prs_afdeling_key1;
|
||
|
||
-- AKZA#494: rapportage "doorbelasting outlets" uses this table
|
||
CREATE OR REPLACE VIEW prs_eenheid
|
||
(prs_eenheid_key, prs_eenheid_code, prs_eenheid_upper, prs_eenheid_omschrijving,
|
||
prs_eenheid_aanmaak, prs_eenheid_verwijder, prs_bedrijf_key)
|
||
AS
|
||
SELECT a.prs_afdeling_key,
|
||
a.prs_afdeling_naam,
|
||
a.prs_afdeling_upper,
|
||
a.prs_afdeling_omschrijving,
|
||
a.prs_afdeling_aanmaak,
|
||
a.prs_afdeling_verwijder,
|
||
a.prs_bedrijf_key
|
||
FROM prs_afdeling a
|
||
WHERE a.prs_afdeling_parentkey IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_PERSLID
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_MODULE,
|
||
PRS_SRTPERSLID_KEY,
|
||
PRS_AFDELING_KEY,
|
||
PRS_PERSLID_NAAM,
|
||
PRS_PERSLID_UPPER,
|
||
PRS_PERSLID_VOORLETTERS,
|
||
PRS_PERSLID_VOORNAAM,
|
||
PRS_PERSLID_TITEL,
|
||
PRS_PERSLID_NR,
|
||
PRS_PERSLID_DIENSTVERBAND,
|
||
PRS_PERSLID_OPP,
|
||
PRS_PERSLID_INGANGSDATUM,
|
||
PRS_PERSLID_EINDDATUM,
|
||
PRS_PERSLID_UURLOON,
|
||
PRS_PERSLID_TELEFOONNR,
|
||
PRS_PERSLID_AANMAAK,
|
||
PRS_PERSLID_VERWIJDER,
|
||
PRS_PERSLID_INITIALEN,
|
||
PRS_PERSLID_INIT_UPPER,
|
||
PRS_PERSLID_OSLOGIN,
|
||
PRS_PERSLID_TUSSENVOEGSEL,
|
||
FAC_PROFIEL_KEY,
|
||
MLD_ADRES_KEY,
|
||
PRS_PERSLID_LOGIN,
|
||
PRS_PERSLID_MOBIEL,
|
||
PRS_PERSLID_EMAIL,
|
||
PRS_PERSLID_SRTNOTI_MODE,
|
||
PRS_PERSLID_WACHTWOORD_EXP,
|
||
PRS_PERSLID_AUTHENTICATIE,
|
||
PRS_PERSLID_AUTHENTICATIE_EXP,
|
||
PRS_PERSLID_LANG,
|
||
PRS_PERSLID_OSLOGIN2,
|
||
PRS_PERSLID_GESLACHT,
|
||
PRS_PERSLID_INGIDS,
|
||
PRS_PERSLID_SALT,
|
||
PRS_PERSLID_WACHTWOORD_HASH,
|
||
PRS_PERSLID_SYSTEEMADRES,
|
||
ALG_ONROERENDGOED_KEYS,
|
||
ALG_ONROERENDGOED_TYPE,
|
||
PRS_PERSLID_BEZETDATUM,
|
||
PRS_PERSLID_FLAGS,
|
||
PRS_PERSLID_APIKEY,
|
||
PRS_PERSLID_OPTIONS,
|
||
PRS_PERSLID_OTPSECRET,
|
||
PRS_PERSLID_OTPCOUNTER,
|
||
PRS_PERSLID_CREDENTIALS_DATUM,
|
||
PRS_PERSLID_TERMS_DATUM,
|
||
PRS_PERSLID_TERMS_VERSION,
|
||
PRS_PERSLID_TIMEZONE,
|
||
PRS_PERSLID_EXTERNID,
|
||
PRS_PERSLID_INACTIEF,
|
||
PRS_PERSLID_EXTERNOSLOGIN,
|
||
PRS_PERSLID_LOGLEVEL,
|
||
PRS_PERSLID_STRING
|
||
)
|
||
BEQUEATH DEFINER
|
||
AS
|
||
SELECT p."PRS_PERSLID_KEY",
|
||
p."PRS_PERSLID_MODULE",
|
||
p."PRS_SRTPERSLID_KEY",
|
||
p."PRS_AFDELING_KEY",
|
||
p."PRS_PERSLID_NAAM",
|
||
p."PRS_PERSLID_UPPER",
|
||
p."PRS_PERSLID_VOORLETTERS",
|
||
p."PRS_PERSLID_VOORNAAM",
|
||
p."PRS_PERSLID_TITEL",
|
||
p."PRS_PERSLID_NR",
|
||
p."PRS_PERSLID_DIENSTVERBAND",
|
||
p."PRS_PERSLID_OPP",
|
||
p."PRS_PERSLID_INGANGSDATUM",
|
||
p."PRS_PERSLID_EINDDATUM",
|
||
p."PRS_PERSLID_UURLOON",
|
||
p."PRS_PERSLID_TELEFOONNR",
|
||
p."PRS_PERSLID_AANMAAK",
|
||
p."PRS_PERSLID_VERWIJDER",
|
||
p."PRS_PERSLID_INITIALEN",
|
||
upper (p.PRS_PERSLID_INITIALEN) PRS_PERSLID_INIT_UPPER,
|
||
p."PRS_PERSLID_OSLOGIN",
|
||
p."PRS_PERSLID_TUSSENVOEGSEL",
|
||
p."FAC_PROFIEL_KEY",
|
||
p."MLD_ADRES_KEY",
|
||
p."PRS_PERSLID_LOGIN",
|
||
p."PRS_PERSLID_MOBIEL",
|
||
p."PRS_PERSLID_EMAIL",
|
||
p."PRS_PERSLID_SRTNOTI_MODE",
|
||
p."PRS_PERSLID_WACHTWOORD_EXP",
|
||
p."PRS_PERSLID_AUTHENTICATIE",
|
||
p."PRS_PERSLID_AUTHENTICATIE_EXP",
|
||
p."PRS_PERSLID_LANG",
|
||
p."PRS_PERSLID_OSLOGIN2",
|
||
p."PRS_PERSLID_GESLACHT",
|
||
p."PRS_PERSLID_INGIDS",
|
||
p."PRS_PERSLID_SALT",
|
||
p."PRS_PERSLID_WACHTWOORD_HASH",
|
||
p."PRS_PERSLID_SYSTEEMADRES",
|
||
p."ALG_ONROERENDGOED_KEYS",
|
||
p."ALG_ONROERENDGOED_TYPE",
|
||
p."PRS_PERSLID_BEZETDATUM",
|
||
p."PRS_PERSLID_FLAGS",
|
||
p."PRS_PERSLID_APIKEY",
|
||
p."PRS_PERSLID_OPTIONS",
|
||
p."PRS_PERSLID_OTPSECRET",
|
||
p."PRS_PERSLID_OTPCOUNTER",
|
||
p."PRS_PERSLID_CREDENTIALS_DATUM",
|
||
p."PRS_PERSLID_TERMS_DATUM",
|
||
p."PRS_PERSLID_TERMS_VERSION",
|
||
p."PRS_PERSLID_TIMEZONE",
|
||
p."PRS_PERSLID_EXTERNID",
|
||
p."PRS_PERSLID_INACTIEF",
|
||
p."PRS_PERSLID_EXTERNOSLOGIN",
|
||
p."PRS_PERSLID_LOGLEVEL",
|
||
p.prs_perslid_naam
|
||
|| NVL2 (p.prs_perslid_voorletters,
|
||
', ' || p.prs_perslid_voorletters,
|
||
'')
|
||
|| NVL2 (p.prs_perslid_tussenvoegsel,
|
||
' ' || p.prs_perslid_tussenvoegsel,
|
||
'')
|
||
|| NVL2 (p.prs_perslid_voornaam,
|
||
' (' || p.prs_perslid_voornaam || ')',
|
||
'')
|
||
|| DECODE (p.prs_perslid_geslacht, 1, ' (M)', 0, ' (V)', '') prs_perslid_string
|
||
FROM prs_perslid p
|
||
WHERE prs_perslid_upper NOT LIKE '[%'
|
||
AND prs_perslid_upper NOT LIKE 'LEEG [%';
|
||
|
||
|
||
CREATE OR REPLACE VIEW nour_v_aanwezigperslid
|
||
AS
|
||
SELECT *
|
||
FROM nour_v_perslid
|
||
WHERE prs_perslid_verwijder IS NULL;
|
||
|
||
-- Kenmerkdomeinen voor objectenbeheer (Deventer): LoD's, logische objecten etc
|
||
CREATE OR REPLACE VIEW nour_v_list_lods
|
||
AS
|
||
SELECT d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
d.ins_deel_omschrijving||' '||d.ins_deel_opmerking ins_deel_aanduiding,
|
||
d.ins_deel_verwijder
|
||
FROM ins_deel d
|
||
WHERE ins_discipline_key = 1625;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_list_logische_obj
|
||
AS
|
||
SELECT d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
d.ins_deel_omschrijving||' '||d.ins_deel_opmerking ins_deel_aanduiding,
|
||
d.ins_deel_verwijder
|
||
FROM ins_deel d
|
||
WHERE ins_discipline_key = 1645;
|
||
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
------------------------------- RUIMTEDOORBELASTING EN SCHOONMAAK --------------------------------
|
||
--------------------------------------------------------------------------------------------------
|
||
|
||
CREATE OR REPLACE VIEW nour_ruimte_eenheid
|
||
(
|
||
alg_ruimte_key,
|
||
prs_afdeling_eenheid
|
||
)
|
||
AS
|
||
SELECT w.prs_alg_ruimte_key "ALG_RUIMTE_KEY", 'NIETVERH' prs_afdeling_eenheid
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
prs_afdeling a,
|
||
prs_afdeling e,
|
||
prs_perslid p
|
||
WHERE a.prs_afdeling_parentkey = e.prs_afdeling_key
|
||
AND e.prs_afdeling_parentkey IS NULL
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_naam = 'NIET VERH'
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY prs_alg_ruimte_key
|
||
UNION
|
||
SELECT w.prs_alg_ruimte_key "ALG_RUIMTE_KEY",
|
||
MAX (e.prs_afdeling_naam) prs_afdeling_eenheid
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
prs_afdeling a,
|
||
prs_afdeling e,
|
||
prs_perslid p
|
||
WHERE a.prs_afdeling_parentkey = e.prs_afdeling_key
|
||
AND e.prs_afdeling_parentkey IS NULL
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_naam <> 'NIET VERH'
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY prs_alg_ruimte_key;
|
||
|
||
-- Now with 3D authorization on Building
|
||
CREATE OR REPLACE VIEW nour_verdiepingopp
|
||
(FCLT_F_GEBOUW, HIDE_F_VOLGNR, VERDIEPING, FCLT_3D_GEBOUW_KEY, OPPERVLAKTE)
|
||
AS
|
||
SELECT l.alg_locatie_code || '-'
|
||
|| alg_gebouw_omschrijving fclt_f_gebouw,
|
||
v.alg_verdieping_volgnr,
|
||
v.alg_verdieping_omschrijving,
|
||
g.alg_gebouw_key,
|
||
SUM (r.alg_ruimte_bruto_vloeropp) oppervlakte
|
||
FROM alg_v_aanweziggebouw g,
|
||
alg_v_aanwezigverdieping v,
|
||
alg_v_aanwezigruimte r,
|
||
alg_v_aanweziglocatie l
|
||
WHERE v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
GROUP BY l.alg_locatie_code || '-' || alg_gebouw_omschrijving,v.alg_verdieping_volgnr,v.alg_verdieping_omschrijving,g.alg_gebouw_key;
|
||
|
||
-- Now with 3D authorization on Building
|
||
CREATE OR REPLACE VIEW nour_gebouwopp
|
||
(FCLT_F_GEBOUW, FCLT_3D_GEBOUW_KEY, OPPERVLAKTE)
|
||
AS
|
||
SELECT l.alg_locatie_code || '-' || g.alg_gebouw_omschrijving,
|
||
g.alg_gebouw_key,
|
||
SUM (r.alg_ruimte_bruto_vloeropp) oppervlakte
|
||
FROM alg_v_aanweziggebouw g,
|
||
alg_v_aanwezigverdieping v,
|
||
alg_v_aanwezigruimte r,
|
||
alg_v_aanweziglocatie l
|
||
WHERE v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
GROUP BY l.alg_locatie_code || '-' || alg_gebouw_omschrijving, g.alg_gebouw_key;
|
||
|
||
-- Now with 3D authorization on Building and organization
|
||
CREATE OR REPLACE VIEW nour_gebruiker_per_ruimte
|
||
(FCLT_F_GEBOUW, BOUWLAAG, RUIMTE, FCLT_F_AFDELING, GEBRUIKER,
|
||
OPPERVLAKTE, BEZETTINGSGRAAD, BEZETOPP, TELEFOON, FCLT_3D_GEBOUW_KEY, FCLT_3D_AFDELING_KEY)
|
||
AS
|
||
SELECT w.alg_gebouw_omschrijving gebouw, w.alg_verdieping_code bouwlaag,
|
||
w.alg_ruimte_nr ruimte, a.prs_afdeling_naam afdeling,
|
||
w.prs_afd_perslid_naam gebruiker,
|
||
ROUND (w.prs_werkplek_opp, 2) oppervlakte,
|
||
w.prs_perslidwerkplek_bezetting bezettingsgraad,
|
||
ROUND (w.prs_werkplek_opp * w.prs_perslidwerkplek_bezetting / 100,
|
||
2
|
||
) bezetopp,
|
||
p.prs_perslid_telefoonnr telefoon,
|
||
w.alg_gebouw_key,
|
||
a.prs_afdeling_key
|
||
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;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ruimte_gegevens
|
||
AS
|
||
SELECT r.*,
|
||
( (nour.nour_f_pct_gemeensch (r.alg_verdieping_key) + 1)
|
||
* (NVL (r.alg_ruimte_bruto_vloeropp, 0))
|
||
) alg_ruimte_bruto_vloeropp_vh
|
||
FROM alg_ruimte r, alg_srtruimte sr
|
||
WHERE alg_ruimte_verwijder IS NULL
|
||
AND sr.alg_srtruimte_key = r.alg_srtruimte_key
|
||
AND sr.prs_verhuurbaar IS NOT NULL
|
||
AND sr.prs_bevat_werkplek IS NOT NULL;
|
||
|
||
-- Now with 3D authorization on Building
|
||
CREATE OR REPLACE VIEW nour_verhruimte_per_gebouw (fclt_f_locatie,
|
||
fclt_f_gebouw,
|
||
fclt_3d_gebouw_key,
|
||
oppervlakte,
|
||
oppervlakte_bruto,
|
||
fclt_3d_locatie_key
|
||
)
|
||
AS
|
||
SELECT l.alg_locatie_code locatie,
|
||
g.alg_gebouw_omschrijving gebouw, g.alg_gebouw_key,
|
||
SUM (NVL (r.alg_ruimte_bruto_vloeropp, 0)) oppervlakte,
|
||
SUM (NVL (r.alg_ruimte_bruto_vloeropp_vh, 0)) oppervlakte_bruto,
|
||
g.alg_locatie_key
|
||
FROM alg_locatie l, alg_gebouw g, alg_verdieping v, nour_v_ruimte_gegevens r
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND l.alg_locatie_key = g.alg_locatie_key
|
||
GROUP BY g.alg_gebouw_omschrijving, g.alg_gebouw_key, g.alg_locatie_key, l.alg_locatie_code;
|
||
|
||
-- Now with 3D authorization on Building and organization
|
||
CREATE OR REPLACE VIEW nour_huur_verhuurbaar_ruimte
|
||
(
|
||
FCLT_F_COMPANYCODE,
|
||
HIDE_F_COMPANYNAAM,
|
||
FCLT_F_KOSTENPLAATS,
|
||
AFDELING,
|
||
FCLT_X_LOCATIE,
|
||
FCLT_F_GEBOUW,
|
||
VERDIEPING,
|
||
RUIMTENR,
|
||
RUIMTESOORT,
|
||
FCLT_3D_GEBOUW_KEY,
|
||
FCLT_3D_AFDELING_KEY,
|
||
BVO
|
||
)
|
||
AS
|
||
SELECT e.prs_afdeling_naam companycode,
|
||
e.prs_afdeling_omschrijving companynaam,
|
||
kp.prs_kostenplaats_nr,
|
||
a.prs_afdeling_omschrijving,
|
||
rg.alg_locatie_omschrijving||' ('||rg.alg_locatie_code||')',
|
||
rg.alg_gebouw_omschrijving,
|
||
rg.alg_verdieping_code,
|
||
rg.alg_ruimte_nr,
|
||
sr.alg_srtruimte_omschrijving,
|
||
rg.alg_gebouw_key,
|
||
a.prs_afdeling_key,
|
||
ROUND( SUM( COALESCE( rg.alg_ruimte_bruto_vloeropp * ra.prs_ruimteafdeling_bezetting / 100,
|
||
0)),
|
||
1)
|
||
bvo
|
||
FROM prs_v_aanwezigafdeling a,
|
||
prs_v_aanwezigafdeling e,
|
||
prs_v_aanwezigruimteafdeling ra,
|
||
alg_v_ruimte_gegevens rg,
|
||
alg_srtruimte sr,
|
||
nour_v_kostenplaats kp
|
||
WHERE a.prs_afdeling_parentkey = e.prs_afdeling_key(+)
|
||
AND e.prs_afdeling_parentkey IS NULL
|
||
AND kp.prs_kostenplaats_key(+) = a.prs_kostenplaats_key
|
||
AND ra.prs_afdeling_key = a.prs_afdeling_key(+)
|
||
AND rg.alg_ruimte_key = ra.alg_ruimte_key(+)
|
||
AND sr.alg_srtruimte_key = rg.alg_srtruimte_key
|
||
GROUP BY e.prs_afdeling_naam,
|
||
e.prs_afdeling_omschrijving,
|
||
kp.prs_kostenplaats_nr,
|
||
a.prs_afdeling_omschrijving,
|
||
rg.alg_locatie_code,
|
||
rg.alg_locatie_omschrijving,
|
||
rg.alg_gebouw_omschrijving,
|
||
rg.alg_gebouw_key,
|
||
rg.alg_verdieping_volgnr,
|
||
rg.alg_verdieping_code,
|
||
rg.alg_ruimte_nr,
|
||
sr.alg_srtruimte_omschrijving,
|
||
a.prs_afdeling_key;
|
||
|
||
CREATE OR REPLACE VIEW nour_huur_verhuurbaar
|
||
AS
|
||
SELECT fclt_f_companycode,
|
||
hide_f_companynaam fclt_f_companynaam,
|
||
fclt_f_kostenplaats,
|
||
afdeling,
|
||
fclt_x_locatie,
|
||
fclt_f_gebouw,
|
||
ruimtesoort,
|
||
fclt_3d_gebouw_key,
|
||
fclt_3d_afdeling_key,
|
||
SUM(bvo) bvo
|
||
FROM nour_huur_verhuurbaar_ruimte
|
||
GROUP BY fclt_f_companycode,
|
||
hide_f_companynaam,
|
||
fclt_f_kostenplaats,
|
||
afdeling,
|
||
fclt_x_locatie,
|
||
fclt_f_gebouw,
|
||
ruimtesoort,
|
||
fclt_3d_gebouw_key,
|
||
fclt_3d_afdeling_key;
|
||
|
||
-- Now with 3D authorization on Building
|
||
CREATE OR REPLACE VIEW nour_schoonmaakrapport (fclt_f_gebouw,
|
||
hide_f_verdieping_volgnummer,
|
||
verdieping,
|
||
ruimte,
|
||
omschrijving,
|
||
opp,
|
||
fclt_f_vloerafwerking,
|
||
fclt_f_schoonmaakniveau,
|
||
kosten,
|
||
fclt_3d_gebouw_key)
|
||
AS
|
||
SELECT alg_g.alg_gebouw_omschrijving fclt_f_gebouw,
|
||
alg_v.alg_verdieping_volgnr,
|
||
alg_v.alg_verdieping_omschrijving verdieping,
|
||
'R' || alg_r.alg_ruimte_nr ruimte,
|
||
alg_r.alg_ruimte_omschrijving omschrijving,
|
||
alg_r.alg_ruimte_bruto_vloeropp opp,
|
||
u.fac_usrdata_omschr fclt_f_vloerafwerking,
|
||
n.fac_usrdata_omschr fclt_f_schoonmaakniveau,
|
||
ROUND(n.fac_usrdata_prijs * alg_r.alg_ruimte_bruto_vloeropp,2) kosten,
|
||
alg_g.alg_gebouw_key
|
||
FROM alg_v_aanweziggebouw alg_g,
|
||
alg_v_aanwezigverdieping alg_v,
|
||
alg_v_aanwezigruimte alg_r,
|
||
alg_onrgoedkenmerk alg_k1,
|
||
alg_onrgoedkenmerk alg_k2,
|
||
(SELECT * FROM fac_usrdata WHERE fac_usrtab_key = 470) n,
|
||
(SELECT * FROM fac_usrdata WHERE fac_usrtab_key = 1) u
|
||
WHERE alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
|
||
AND alg_v.alg_verdieping_key = alg_r.alg_verdieping_key
|
||
AND alg_r.alg_ruimte_key = alg_k1.alg_onrgoed_key(+)
|
||
AND alg_k1.alg_kenmerk_key(+) = 1001 --nivo
|
||
AND alg_k1.alg_onrgoedkenmerk_waarde = TO_CHAR(n.fac_usrdata_key)
|
||
AND alg_r.alg_ruimte_key = alg_k2.alg_onrgoed_key(+)
|
||
AND alg_k2.alg_kenmerk_key(+) = 2 -- srtvloer
|
||
AND alg_k2.alg_onrgoedkenmerk_waarde = u.fac_usrdata_key(+)
|
||
AND u.fac_usrtab_key(+) = 1
|
||
ORDER BY alg_v.alg_verdieping_volgnr, alg_r.alg_ruimte_upper_nr;
|
||
|
||
-- AKZA#476/AKZA#669
|
||
CREATE OR REPLACE VIEW nour_v_jaarkosten_per_ordernr (fclt_f_ordernr,
|
||
gebouw,
|
||
fclt_f_jaar,
|
||
besteding)
|
||
AS
|
||
SELECT ordernr fclt_f_ordernr,
|
||
MIN ( gebouw_omschrijving
|
||
|| DECODE ((SELECT COUNT (alg_gebouw_omschrijving)
|
||
FROM ALG_GEBOUW
|
||
WHERE alg_gebouw_ordernr = ordernr),
|
||
'1', '',
|
||
', .....'
|
||
)
|
||
) gebouw,
|
||
jaar fclt_f_jaar, SUM (besteding_som) besteding
|
||
FROM (SELECT g.alg_gebouw_ordernr ordernr,
|
||
g.alg_gebouw_omschrijving gebouw_omschrijving,
|
||
TO_CHAR (m.mld_melding_datum, 'YYYY') jaar,
|
||
SUM
|
||
( o.mld_opdr_kosten
|
||
+ NVL
|
||
((SELECT Fac.safe_to_number
|
||
(mld_kenmerkopdr_waarde)
|
||
FROM MLD_KENMERKOPDR ko
|
||
WHERE mld_kenmerk_key = 2
|
||
AND mld_kenmerkopdr_verwijder IS NULL
|
||
AND o.mld_opdr_key = ko.mld_opdr_key),
|
||
0
|
||
)
|
||
) besteding_som
|
||
FROM MLD_MELDING m,
|
||
MLD_OPDR o,
|
||
ALG_GEBOUW g,
|
||
alg_v_onroerendgoed og,
|
||
nour_v_kostenplaats k
|
||
WHERE m.mld_melding_key = o.mld_melding_key
|
||
AND og.alg_onroerendgoed_keys = m.mld_alg_onroerendgoed_keys
|
||
AND og.alg_gebouw_key = g.alg_gebouw_key
|
||
AND o.prs_kostenplaats_key = k.prs_kostenplaats_key
|
||
AND k.prs_kostenplaats_module = 'ALG'
|
||
GROUP BY g.alg_gebouw_ordernr,
|
||
g.alg_gebouw_omschrijving,
|
||
TO_CHAR (m.mld_melding_datum, 'YYYY'))
|
||
GROUP BY ordernr, jaar
|
||
UNION ALL
|
||
SELECT ordernr fclt_f_ordernr,
|
||
MIN
|
||
( terein_omschrijving
|
||
|| DECODE ((SELECT COUNT (alg_terreinsector_omschrijving)
|
||
FROM ALG_TERREINSECTOR
|
||
WHERE alg_terreinsector_ordernr = ordernr),
|
||
'1', '',
|
||
', .....'
|
||
)
|
||
) terrein,
|
||
jaar fclt_f_jaar, SUM (besteding_som) besteding
|
||
FROM (SELECT g.alg_terreinsector_ordernr ordernr,
|
||
g.alg_terreinsector_omschrijving terein_omschrijving,
|
||
TO_CHAR (m.mld_melding_datum, 'YYYY') jaar,
|
||
SUM
|
||
( o.mld_opdr_kosten
|
||
+ NVL
|
||
((SELECT Fac.safe_to_number
|
||
(mld_kenmerkopdr_waarde)
|
||
FROM MLD_KENMERKOPDR ko
|
||
WHERE mld_kenmerk_key = 2
|
||
AND mld_kenmerkopdr_verwijder IS NULL
|
||
AND o.mld_opdr_key = ko.mld_opdr_key),
|
||
0
|
||
)
|
||
) besteding_som
|
||
FROM MLD_MELDING m,
|
||
MLD_OPDR o,
|
||
ALG_TERREINSECTOR g,
|
||
alg_v_onroerendgoed og,
|
||
nour_v_kostenplaats k
|
||
WHERE m.mld_melding_key = o.mld_melding_key
|
||
AND og.alg_onroerendgoed_keys = m.mld_alg_onroerendgoed_keys
|
||
AND og.alg_terreinsector_key = g.alg_terreinsector_key
|
||
AND o.prs_kostenplaats_key = k.prs_kostenplaats_key
|
||
AND k.prs_kostenplaats_module = 'ALG'
|
||
GROUP BY g.alg_terreinsector_ordernr,
|
||
g.alg_terreinsector_omschrijving,
|
||
TO_CHAR (m.mld_melding_datum, 'YYYY'))
|
||
GROUP BY ordernr, jaar;
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
------------------------------- GRAPHICS THEMA'S -------------------------------------------------
|
||
--------------------------------------------------------------------------------------------------
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ruimtecode
|
||
(ALG_RUIMTE_KEY, RUIMTECODE)
|
||
AS
|
||
SELECT r.alg_ruimte_key, v.alg_verdieping_code || '.' || SUBSTR(r.alg_ruimte_nr,2) ruimtecode
|
||
FROM alg_ruimte r, alg_verdieping v
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND r.alg_ruimte_nr LIKE '0%'
|
||
UNION
|
||
SELECT r.alg_ruimte_key, v.alg_verdieping_code || '.' || r.alg_ruimte_nr
|
||
FROM alg_ruimte r, alg_verdieping v
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND r.alg_ruimte_nr NOT LIKE '0%';
|
||
|
||
CREATE OR REPLACE VIEW cad_v_alg_ruimte
|
||
(ALG_RUIMTE_KEY, ALG_VERDIEPING_KEY, ALG_RUIMTE_CADLABEL, ALG_RUIMTE_NR, ALG_RUIMTE_OMSCHRIJVING,
|
||
ALG_RUIMTE_OPPERVLAKTE, ALG_SRTRUIMTE_OMSCHRIJVING, NOUR_RUIMTECODE)
|
||
AS
|
||
SELECT r.alg_ruimte_key, r.alg_verdieping_key, r.alg_ruimte_nr,
|
||
r.alg_ruimte_nr, r.alg_ruimte_omschrijving,
|
||
TO_CHAR (alg_ruimte_bruto_vloeropp) || ' m2',
|
||
sr.alg_srtruimte_omschrijving, ar.ruimtecode
|
||
FROM alg_v_aanwezigruimte r, alg_srtruimte sr, nour_v_ruimtecode ar
|
||
WHERE sr.alg_srtruimte_key(+) = r.alg_srtruimte_key
|
||
AND r.alg_ruimte_key = ar.alg_ruimte_key;
|
||
|
||
--- voor room_dep thema
|
||
CREATE OR REPLACE VIEW nour_v_cad_ruimte_eenheid (parentkey, code, waarde)
|
||
AS
|
||
SELECT r.alg_verdieping_key, r.alg_ruimte_nr, 'NIETVERH'
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
prs_afdeling a,
|
||
prs_afdeling e,
|
||
prs_perslid p,
|
||
alg_ruimte r
|
||
WHERE a.prs_afdeling_parentkey = e.prs_afdeling_key
|
||
AND w.prs_alg_ruimte_key = r.alg_ruimte_key
|
||
AND e.prs_afdeling_parentkey IS NULL
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_naam = 'NIET VERH'
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY r.alg_verdieping_key, r.alg_ruimte_nr
|
||
UNION
|
||
SELECT r.alg_verdieping_key, r.alg_ruimte_nr, MAX (e.prs_afdeling_naam)
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
prs_afdeling a,
|
||
prs_afdeling e,
|
||
prs_perslid p,
|
||
alg_ruimte r
|
||
WHERE a.prs_afdeling_parentkey = e.prs_afdeling_key
|
||
AND w.prs_alg_ruimte_key = r.alg_ruimte_key
|
||
AND e.prs_afdeling_parentkey IS NULL
|
||
AND pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND a.prs_afdeling_verwijder IS NULL
|
||
AND a.prs_afdeling_naam <> 'NIET VERH'
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND pw.prs_perslid_key = p.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY r.alg_verdieping_key, r.alg_ruimte_nr;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_RUIMTE_GASFLES
|
||
(
|
||
ALG_RUIMTE_KEY,
|
||
AANTAL_GASFLESSEN
|
||
)
|
||
AS
|
||
SELECT r.alg_ruimte_key "ALG_RUIMTE_KEY",
|
||
SUM (DECODE (d.ins_srtdeel_key, 425, 1, 0))
|
||
FROM alg_v_aanwezigruimte r, ins_v_aanwezigdeel d
|
||
WHERE r.alg_ruimte_key = d.ins_alg_ruimte_key
|
||
-- and d.ins_srtdeel_key = 425
|
||
GROUP BY alg_ruimte_key;
|
||
|
||
|
||
--- voor room_cyl thema
|
||
CREATE OR REPLACE VIEW nour_v_cad_ruimte_gasfles (ALG_RUIMTE_KEY, WAARDE)
|
||
AS
|
||
SELECT r.alg_ruimte_key, COUNT (d.ins_deel_key)
|
||
FROM alg_v_aanwezigruimte r, ins_v_aanwezigdeel d
|
||
WHERE r.alg_ruimte_key = d.ins_alg_ruimte_key AND d.ins_srtdeel_key = 425
|
||
GROUP BY r.alg_ruimte_key;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_cad_ruimte_bezetting
|
||
(
|
||
ALG_RUIMTE_KEY,
|
||
WAARDE
|
||
)
|
||
AS
|
||
SELECT ar.alg_ruimte_key,
|
||
-- bepaal bezetting: wel/niet verhuurd, alle/een paar/geen werkplekken vrij
|
||
TO_CHAR(DECODE (
|
||
SUM (bezetting) / (COUNT (prs_werkplek_key) * 100),
|
||
0,
|
||
-- 150 = geen afdeling toegewezen, dus niet verhuurd
|
||
-- 0 = wel een afdeling, maar alle werkplekken vrij
|
||
DECODE ( ( SELECT COUNT (prs_afdeling_key)
|
||
FROM prs_v_aanwezigruimteafdeling ara
|
||
WHERE ara.alg_ruimte_key = ar.alg_ruimte_key
|
||
GROUP BY alg_ruimte_key),
|
||
NULL, 150,
|
||
0, 150,
|
||
0),
|
||
-- alles tussen 0 en 100 wordt 50 ('deels bezet')
|
||
nour.nour_f_cad_ruimte_bezetting (
|
||
SUM (bezetting) / (COUNT (prs_werkplek_key)))))
|
||
FROM ( SELECT awp.prs_alg_ruimte_key alg_ruimte_key,
|
||
awp.prs_werkplek_key,
|
||
SUM (COALESCE (prs_perslidwerkplek_bezetting, 0)) bezetting,
|
||
a2.prs_afdeling_key
|
||
FROM alg_v_aanwezigruimte ar,
|
||
prs_werkplek awp,
|
||
prs_perslidwerkplek apwp,
|
||
prs_v_aanwezigperslid ap,
|
||
prs_afdeling a1,
|
||
prs_afdeling a2,
|
||
prs_v_aanwezigruimteafdeling ara
|
||
WHERE awp.prs_alg_ruimte_key = ar.alg_ruimte_key
|
||
AND apwp.prs_werkplek_key(+) = awp.prs_werkplek_key
|
||
AND ap.prs_perslid_key(+) = apwp.prs_perslid_key
|
||
AND a1.prs_afdeling_key(+) = ap.prs_afdeling_key
|
||
AND ara.alg_ruimte_key(+) = ar.alg_ruimte_key
|
||
AND a2.prs_afdeling_key(+) = ara.prs_afdeling_key
|
||
GROUP BY prs_alg_ruimte_key,
|
||
awp.prs_werkplek_key,
|
||
a2.prs_afdeling_key) x,
|
||
alg_v_aanwezigruimte ar
|
||
WHERE ar.alg_ruimte_key = x.alg_ruimte_key
|
||
GROUP BY ar.alg_ruimte_key;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_thema_ruimteafd
|
||
(
|
||
ALG_RUIMTE_KEY,
|
||
WAARDE,
|
||
WAARDE_KEY
|
||
)
|
||
AS
|
||
SELECT x.alg_ruimte_key,
|
||
DECODE (y.aantal,
|
||
NULL, '[Leegstand]',
|
||
1, SUBSTR (y.sp, 1, 60),
|
||
'[Meerdere afdelingen]'),
|
||
DECODE (y.aantal, NULL, -1, 1, y.sp_key, NULL)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_v_aanwezigsrtruimte sr
|
||
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key
|
||
AND sr.prs_verhuurbaar IS NOT NULL
|
||
AND sr.alg_srtruimte_upper NOT LIKE '%VERKEER%') x
|
||
LEFT JOIN
|
||
( SELECT ra.alg_ruimte_key,
|
||
MIN (a.prs_afdeling_naam1) sp,
|
||
MIN (a.prs_afdeling_key) sp_key,
|
||
COUNT (ra.prs_afdeling_key) aantal
|
||
FROM prs_v_aanwezigruimteafdeling ra,
|
||
prs_v_aanwezigafdeling a
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
||
GROUP BY ra.alg_ruimte_key) y
|
||
ON x.alg_ruimte_key = y.alg_ruimte_key
|
||
UNION ALL
|
||
SELECT NULL, SUBSTR (a.prs_afdeling_naam1, 1, 60), a.prs_afdeling_key
|
||
FROM prs_v_aanwezigafdeling a
|
||
WHERE NOT EXISTS (SELECT ra.prs_afdeling_key
|
||
FROM prs_v_aanwezigruimteafdeling ra
|
||
WHERE ra.prs_afdeling_key = a.prs_afdeling_key);
|
||
|
||
--- voor room_cov thema
|
||
CREATE OR REPLACE VIEW nour_v_cad_ruimte_vloersoort (ALG_RUIMTE_KEY, WAARDE)
|
||
AS
|
||
SELECT r.alg_ruimte_nr, COUNT (d.ins_deel_key)
|
||
FROM alg_v_aanwezigruimte r, ins_v_aanwezigdeel d
|
||
WHERE r.alg_ruimte_key = d.ins_alg_ruimte_key AND d.ins_srtdeel_key = 425
|
||
GROUP BY r.alg_ruimte_nr;
|
||
|
||
-- AKZA#13268 Reserverings Plattegrond
|
||
-- dd. 18-10-2007 tonen we alles wat het komende uur komt of wat bezig is.
|
||
CREATE OR REPLACE VIEW nour_v_cad_thema_reservering
|
||
(ALG_RUIMTE_KEY, WAARDE)
|
||
AS
|
||
SELECT rar.alg_ruimte_key alg_ruimte_key, '1' waarde
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_alg_ruimte rar,
|
||
res_opstelling ro
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rro.res_opstelling_key = ro.res_opstelling_key
|
||
AND rar.res_ruimte_key = rr.res_ruimte_key
|
||
AND SYSDATE BETWEEN res_rsv_ruimte_van - (1 / 24) AND res_rsv_ruimte_tot;
|
||
|
||
|
||
-- dd. 18-10-2007 tonen we alles wat het komende uur komt of wat bezig is.
|
||
-- Let op: bij eventuele overlap pakken we de laatste van de twee (de aanstaande)
|
||
-- toevallig redden we eenvoudig dat door de strak gedefinieerde tekst
|
||
CREATE OR REPLACE VIEW nour_v_cad_ruimte_reservering
|
||
(ALG_RUIMTE_KEY, WAARDE)
|
||
AS
|
||
SELECT rar.alg_ruimte_key,
|
||
MAX ( res_ruimte_nr
|
||
|| '~'
|
||
|| TO_CHAR (res_rsv_ruimte_van, 'HH24:MI')
|
||
|| '-'
|
||
|| TO_CHAR (res_rsv_ruimte_tot, 'HH24:MI')
|
||
|| '~[s60]host: '
|
||
|| prs_perslid_naam
|
||
|| '~[s80][b]'
|
||
|| res_rsv_ruimte_omschrijving
|
||
) waarde
|
||
FROM res_v_aanwezigrsv_ruimte rrr,
|
||
res_ruimte_opstelling rro,
|
||
res_ruimte rr,
|
||
res_alg_ruimte rar,
|
||
res_opstelling ro,
|
||
prs_perslid pp
|
||
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
|
||
AND rro.res_ruimte_key = rr.res_ruimte_key
|
||
AND rro.res_opstelling_key = ro.res_opstelling_key
|
||
AND rar.res_ruimte_key = rr.res_ruimte_key
|
||
AND SYSDATE BETWEEN res_rsv_ruimte_van - (1 / 24) AND res_rsv_ruimte_tot
|
||
AND pp.prs_perslid_key = res_rsv_ruimte_host_key
|
||
GROUP BY rar.alg_ruimte_key;
|
||
|
||
-- AKZA#22941: Schoonmaak(nivo) in Graphics
|
||
CREATE OR REPLACE VIEW nour_v_thema_schnivo
|
||
(
|
||
alg_ruimte_key,
|
||
waarde,
|
||
waarde_key
|
||
)
|
||
AS
|
||
SELECT a.alg_ruimte_key,
|
||
COALESCE (b.schnivo, '[Onbekend]'),
|
||
COALESCE (b.schnivo_key, -1)
|
||
FROM (SELECT r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r
|
||
WHERE alg_srtruimte_key != 961) a -- 'Fictieve ruimte'
|
||
LEFT JOIN
|
||
(SELECT ok.alg_onrgoed_key,
|
||
ud.fac_usrdata_omschr schnivo,
|
||
ud.fac_usrdata_key schnivo_key
|
||
FROM alg_onrgoedkenmerk ok, fac_usrdata ud
|
||
WHERE ok.alg_kenmerk_key = 1001 -- schoonmaakniveau
|
||
AND ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND ok.alg_onrgoedkenmerk_waarde = TO_CHAR(ud.fac_usrdata_key) ) b
|
||
ON a.alg_ruimte_key = b.alg_onrgoed_key
|
||
UNION ALL
|
||
SELECT NULL,
|
||
ud.fac_usrdata_omschr schnivo,
|
||
ud.fac_usrdata_key schnivo_key
|
||
FROM fac_usrdata ud
|
||
WHERE ud.fac_usrtab_key = 470
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM alg_onrgoedkenmerk ok
|
||
WHERE ok.alg_kenmerk_key = 1001 -- schoonmaakniveau
|
||
AND ok.alg_onrgoedkenmerk_waarde = ud.fac_usrdata_key);
|
||
|
||
CREATE OR REPLACE TRIGGER nour_t_thema_schnivo_i_iu
|
||
INSTEAD OF INSERT OR UPDATE
|
||
ON nour_v_thema_schnivo
|
||
BEGIN
|
||
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
|
||
THEN
|
||
DELETE alg_onrgoedkenmerk
|
||
WHERE alg_onrgoed_key = :new.alg_ruimte_key
|
||
AND alg_onrgoed_niveau = 'R'
|
||
AND alg_kenmerk_key = 1001; -- schoonmaakniveau
|
||
END IF;
|
||
|
||
BEGIN
|
||
IF :new.waarde_key != -1
|
||
THEN
|
||
INSERT INTO alg_onrgoedkenmerk (alg_onrgoed_key,
|
||
alg_onrgoed_niveau,
|
||
alg_kenmerk_key,
|
||
alg_onrgoedkenmerk_waarde)
|
||
VALUES (:new.alg_ruimte_key,
|
||
'R',
|
||
1001, -- schoonmaakniveau
|
||
:new.waarde_key);
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
||
THEN
|
||
NULL;
|
||
END;
|
||
END;
|
||
/
|
||
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
------------------------------- SERVICEDESK RAPPORTAGE FUNCTIES ----------------------------------
|
||
--------------------------------------------------------------------------------------------------
|
||
|
||
-- 001 Uitgegeven aan uitvoerende: Servicedesk.
|
||
CREATE OR REPLACE VIEW nour_v_rap_uitg_servicedesk
|
||
(
|
||
fclt_f_uitvoerende,
|
||
fclt_f_mldnr,
|
||
omschrijving,
|
||
fclt_f_meldernaam,
|
||
begindatum,
|
||
dagen,
|
||
afmelddatum
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_naam fclt_f_uitvoerende,
|
||
TO_CHAR (m.mld_melding_key) fclt_f_mldnr,
|
||
o.mld_opdr_omschrijving omschrijving,
|
||
pf.prs_perslid_naam_full fclt_f_meldernaam,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') begindatum,
|
||
TO_CHAR (fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum)) dagen,
|
||
TO_CHAR (fac.gettrackingdate ('MLDAFM', m.mld_melding_key), 'DD-MM-YYYY') afmelddatum
|
||
FROM mld_opdr o, prs_bedrijf b, mld_melding m, prs_v_perslid_fullnames_all pf
|
||
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND (b.prs_bedrijf_key IN (7665, 7651, 7648))
|
||
AND o.mld_statusopdr_key = 5;
|
||
|
||
-- 002 Uitgegeven aan uitvoerenden: Schoonmaak.
|
||
CREATE OR REPLACE VIEW nour_v_rap_uitg_schoonmaak
|
||
(
|
||
fclt_f_uitvoerende,
|
||
fclt_f_mldnr,
|
||
omschrijving,
|
||
fclt_f_meldernaam,
|
||
begindatum,
|
||
dagen,
|
||
afmelddatum
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_naam fclt_f_uitvoerende,
|
||
TO_CHAR (m.mld_melding_key) fclt_f_mldnr,
|
||
o.mld_opdr_omschrijving omschrijving,
|
||
pf.prs_perslid_naam_full fclt_f_meldernaam,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') begindatum,
|
||
TO_CHAR (fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum)) dagen,
|
||
TO_CHAR (fac.gettrackingdate ('MLDAFM', m.mld_melding_key), 'DD-MM-YYYY') afmelddatum
|
||
FROM mld_opdr o, prs_bedrijf b, mld_melding m, prs_v_perslid_fullnames_all pf
|
||
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND o.mld_statusopdr_key = 5
|
||
AND (b.prs_bedrijf_key IN (7622, 8062));
|
||
|
||
-- 003 Uitgegeven aan uitvoerenden: Verhuizen and Kantoorbeheer.
|
||
CREATE OR REPLACE VIEW nour_v_rap_uitg_kantoorbeheer
|
||
(
|
||
fclt_f_uitvoerende,
|
||
fclt_f_mldnr,
|
||
omschrijving,
|
||
fclt_f_meldernaam,
|
||
begindatum,
|
||
dagen,
|
||
afmelddatum
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_naam fclt_f_uitvoerende,
|
||
TO_CHAR (m.mld_melding_key) fclt_f_mldnr,
|
||
o.mld_opdr_omschrijving omschrijving,
|
||
pf.prs_perslid_naam_full fclt_f_meldernaam,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') begindatum,
|
||
TO_CHAR (fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum)) dagen,
|
||
TO_CHAR (fac.gettrackingdate ('MLDAFM', m.mld_melding_key), 'DD-MM-YYYY') afmelddatum
|
||
FROM mld_opdr o, prs_bedrijf b, mld_melding m, prs_v_perslid_fullnames_all pf
|
||
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND b.prs_bedrijf_key IN (7643, 7644, 7646, 7654, 7662)
|
||
AND o.mld_statusopdr_key = 5;
|
||
|
||
-- 004 Uitgegeven aan ALF Elektro uitvoerenden.
|
||
CREATE OR REPLACE VIEW nour_v_rap_uitg_electro_alf
|
||
(
|
||
fclt_f_uitvoerende,
|
||
fclt_f_mldnr,
|
||
omschrijving,
|
||
fclt_f_meldernaam,
|
||
begindatum,
|
||
dagen,
|
||
afmelddatum
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_naam fclt_f_uitvoerende,
|
||
TO_CHAR (m.mld_melding_key) fclt_f_mldnr,
|
||
o.mld_opdr_omschrijving omschrijving,
|
||
pf.prs_perslid_naam_full fclt_f_meldernaam,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') begindatum,
|
||
TO_CHAR (fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum)) dagen,
|
||
TO_CHAR (fac.gettrackingdate ('MLDAFM', m.mld_melding_key), 'DD-MM-YYYY') afmelddatum
|
||
FROM mld_opdr o, prs_bedrijf b, mld_melding m, prs_v_perslid_fullnames_all pf
|
||
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND b.prs_bedrijf_key IN (7667, 7672, 7676, 7683, 7960, 12393)
|
||
AND o.mld_statusopdr_key = 5;
|
||
|
||
-- 005 Uitgegeven aan uitvoerenden: vakgroepbeheer Elektro.
|
||
CREATE OR REPLACE VIEW nour_v_rap_uitg_electro
|
||
(
|
||
fclt_f_mldnr,
|
||
begindatum,
|
||
dagen,
|
||
opdrachtomschrijving,
|
||
fclt_f_uitvoerende,
|
||
afmelddatum
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (m.mld_melding_key) fclt_f_mldnr,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') begindatum,
|
||
TO_CHAR (fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum)) dagen,
|
||
o.mld_opdr_omschrijving opdrachtomschrijving,
|
||
prs_bedrijf_naam fclt_f_uitvoerende,
|
||
TO_CHAR (fac.gettrackingdate ('MLDAFM', m.mld_melding_key), 'DD-MM-YYYY') afmelddatum
|
||
FROM mld_melding m, mld_opdr o, prs_bedrijf b, prs_v_perslid_fullnames_all pf
|
||
WHERE m.mld_melding_key = o.mld_melding_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND (UPPER (pf.prs_perslid_naam_full) LIKE 'PELGRIM%')
|
||
AND o.mld_statusopdr_key = 5;
|
||
|
||
-- 006 Uitgegeven aan uitvoerenden: accountmanager "Terrein & Derden".
|
||
CREATE OR REPLACE VIEW nour_v_rap_uitg_accman_td
|
||
(
|
||
fclt_f_mldnr,
|
||
begindatum,
|
||
dagen,
|
||
opdrachtomschrijving,
|
||
fclt_f_order_nr,
|
||
fclt_f_uitvoerende,
|
||
afmelddatum
|
||
)
|
||
AS
|
||
SELECT TO_CHAR (m.mld_melding_key) fclt_f_mldnr,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') begindatum,
|
||
TO_CHAR (fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum)) dagen,
|
||
o.mld_opdr_omschrijving opdrachtomschrijving,
|
||
o.mld_opdr_ordernr fclt_f_order_nr,
|
||
prs_bedrijf_naam fclt_f_uitvoerende,
|
||
TO_CHAR (fac.gettrackingdate ('MLDAFM', m.mld_melding_key), 'DD-MM-YYYY') afmelddatum
|
||
FROM mld_melding m, mld_opdr o, prs_bedrijf b, prs_v_perslid_fullnames_all pf
|
||
WHERE m.mld_melding_key = o.mld_melding_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND (UPPER (pf.prs_perslid_naam_full) LIKE 'SWEERS%')
|
||
AND o.mld_statusopdr_key = 5
|
||
ORDER BY b.prs_bedrijf_naam;
|
||
|
||
-- 007 Uitgegeven aan uitvoerenden: accountmanager "AHQ".
|
||
CREATE OR REPLACE VIEW nour_v_rap_uitg_accman_ahq
|
||
AS
|
||
SELECT b.prs_bedrijf_naam hide_f_prs_bedrijf_naam,
|
||
TO_CHAR (o.mld_melding_key) fclt_f_meldnr,
|
||
TO_CHAR (o.mld_opdr_datumbegin, 'DD-MM-YYYY') opdr_datum,
|
||
TO_CHAR (fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum)) uitv_dgn, o.mld_opdr_omschrijving meldtekst,
|
||
g.alg_gebouw_naam gebouw, b.prs_bedrijf_naam fclt_f_uitvoerende,
|
||
g.alg_verdieping_omschrijving verdieping,
|
||
o.mld_opdr_ordernr fclt_f_int_ord_nr
|
||
FROM mld_melding m, mld_opdr o, prs_bedrijf b, alg_v_allonrgoed_gegevens g, prs_v_perslid_fullnames_all pf
|
||
WHERE m.mld_melding_key = o.mld_melding_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND m.mld_alg_onroerendgoed_keys = g.alg_onroerendgoed_keys
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND (UPPER (pf.prs_perslid_naam_full) LIKE 'RUTJES J%')
|
||
AND o.mld_statusopdr_key = 5;
|
||
|
||
-- 008 Kosten op internal- of bewonersordernummer per periode.
|
||
CREATE OR REPLACE VIEW nour_v_rap_kosten_pp
|
||
(
|
||
fclt_f_ord_nr,
|
||
melddatum,
|
||
datumverw,
|
||
mldnr,
|
||
meldernaam,
|
||
uitvoerder,
|
||
meldtekst,
|
||
meldstatus,
|
||
kosten_k,
|
||
kosten
|
||
)
|
||
AS
|
||
SELECT o.mld_opdr_ordernr fclt_f_ord_nr,
|
||
o.mld_opdr_datumbegin melddatum,
|
||
fac.gettrackingdate ('MLDVER', m.mld_melding_key) datumverw,
|
||
TO_CHAR (o.mld_melding_key) mldnr,
|
||
pf.prs_perslid_naam_full meldernaam,
|
||
b.prs_bedrijf_naam uitvoerder,
|
||
o.mld_opdr_omschrijving meldtekst,
|
||
o.mld_statusopdr_key || '. ' || mld_statusopdr_omschrijving meldstatus,
|
||
m.mld_kosten_klant kosten_k,
|
||
o.mld_opdr_kosten
|
||
+ NVL (
|
||
(SELECT fac.safe_to_number (mld_kenmerkopdr_waarde)
|
||
FROM mld_kenmerkopdr ko
|
||
WHERE mld_kenmerk_key = 2
|
||
AND mld_kenmerkopdr_verwijder IS NULL
|
||
AND o.mld_opdr_key = ko.mld_opdr_key),
|
||
0
|
||
)
|
||
kosten
|
||
FROM mld_melding m, mld_opdr o, prs_bedrijf b, mld_statusopdr so, prs_v_perslid_fullnames_all pf
|
||
WHERE m.mld_melding_key = o.mld_melding_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND so.mld_statusopdr_key = o.mld_statusopdr_key
|
||
AND m.mld_melding_status <> 6
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND o.mld_statusopdr_key = 6
|
||
AND o.mld_opdr_kosten
|
||
+ (SELECT NVL (fac.safe_to_number (mld_kenmerkopdr_waarde), 0)
|
||
FROM mld_kenmerkopdr ko
|
||
WHERE mld_kenmerk_key = 2
|
||
AND mld_kenmerkopdr_verwijder IS NULL
|
||
AND o.mld_opdr_key = ko.mld_opdr_key) > 0
|
||
AND o.mld_opdr_ordernr IS NOT NULL
|
||
AND (o.mld_opdr_ordernr LIKE 'B-%' OR o.mld_opdr_ordernr LIKE 'I-%' OR o.mld_opdr_ordernr LIKE 'O-%')
|
||
UNION ALL -- ALL want anders worden dubbelen er uit gehaald
|
||
SELECT o.mld_opdr_ordernr fclt_f_ord_nr,
|
||
o.mld_opdr_datumbegin melddatum,
|
||
fac.gettrackingdate ('MLDVER', m.mld_melding_key) datumverw,
|
||
TO_CHAR (o.mld_melding_key) mldnr,
|
||
pf.prs_perslid_naam_full meldernaam,
|
||
b.prs_bedrijf_naam uitvoerder,
|
||
o.mld_opdr_omschrijving meldtekst,
|
||
o.mld_statusopdr_key || '. ' || mld_statusopdr_omschrijving meldstatus,
|
||
m.mld_kosten_klant kosten_k,
|
||
o.mld_opdr_kosten
|
||
+ NVL (
|
||
(SELECT fac.safe_to_number (mld_kenmerkopdr_waarde)
|
||
FROM mld_kenmerkopdr ko
|
||
WHERE mld_kenmerk_key = 2
|
||
AND mld_kenmerkopdr_verwijder IS NULL
|
||
AND o.mld_opdr_key = ko.mld_opdr_key),
|
||
0
|
||
)
|
||
kosten
|
||
FROM mld_melding m, mld_opdr o, prs_bedrijf b, mld_statusopdr so, prs_v_perslid_fullnames_all pf
|
||
WHERE m.mld_melding_key = o.mld_melding_key
|
||
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND so.mld_statusopdr_key = o.mld_statusopdr_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND TO_CHAR (fac.gettrackingdate ('MLDVER', m.mld_melding_key), 'YYYY') > '2001'
|
||
AND o.mld_statusopdr_key = 7
|
||
AND o.mld_opdr_kosten
|
||
+ (SELECT NVL (fac.safe_to_number (mld_kenmerkopdr_waarde), 0)
|
||
FROM mld_kenmerkopdr ko
|
||
WHERE mld_kenmerk_key = 2
|
||
AND mld_kenmerkopdr_verwijder IS NULL
|
||
AND o.mld_opdr_key = ko.mld_opdr_key) > 0
|
||
AND o.mld_opdr_ordernr IS NOT NULL
|
||
AND (o.mld_opdr_ordernr LIKE 'B-%' OR o.mld_opdr_ordernr LIKE 'I-%' OR o.mld_opdr_ordernr LIKE 'O-%');
|
||
|
||
CREATE OR REPLACE VIEW nour_v_rap_uitg
|
||
(
|
||
fclt_f_uitvoerende,
|
||
fclt_f_mldnr,
|
||
omschrijving,
|
||
fclt_f_meldernaam,
|
||
begindatum,
|
||
dagen,
|
||
afmelddatum
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf_naam fclt_f_uitvoerende,
|
||
TO_CHAR (m.mld_melding_key) fclt_f_mldnr,
|
||
o.mld_opdr_omschrijving omschrijving,
|
||
pf.prs_perslid_naam_full fclt_f_meldernaam,
|
||
o.mld_opdr_datumbegin begindatum,
|
||
TO_CHAR (fac.count_Work_Days(o.mld_opdr_datumbegin, o.mld_opdr_einddatum)) dagen,
|
||
fac.gettrackingdate ('MLDAFM', m.mld_melding_key) afmelddatum
|
||
FROM mld_opdr o, prs_bedrijf b, mld_melding m, prs_v_perslid_fullnames_all pf
|
||
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
|
||
AND o.mld_melding_key = m.mld_melding_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND o.mld_statusopdr_key = 5;
|
||
|
||
-- 010 Uitgegeven aan uitvoerenden: vakgroepbeheer Werktuigbouw
|
||
--aka Toms view
|
||
CREATE OR REPLACE VIEW nour_v_rap_uitg_wtb
|
||
(
|
||
fclt_f_uitvoerende,
|
||
fclt_f_mldnr,
|
||
melding_opdracht_omschrijving,
|
||
datum_opdr,
|
||
dagen,
|
||
afgemeld,
|
||
fclt_f_meldernaam
|
||
)
|
||
AS
|
||
SELECT prs_bedrijf.prs_bedrijf_naam,
|
||
TO_CHAR (mld_opdr.mld_melding_key),
|
||
mld_opdr.mld_opdr_omschrijving,
|
||
TO_CHAR (mld_opdr.mld_opdr_datumbegin, 'DD-MM-YYYY') mld_opdr_datumbegin,
|
||
TO_CHAR (fac.count_Work_Days(mld_opdr.mld_opdr_datumbegin, mld_opdr.mld_opdr_einddatum)),
|
||
TO_CHAR (fac.gettrackingdate ('MLDAFM', m.mld_melding_key), 'DD-MM-YYYY') mld_melding_afgemeld,
|
||
pf.prs_perslid_naam_full
|
||
FROM mld_opdr, prs_bedrijf, mld_melding m, prs_v_perslid_fullnames_all pf
|
||
WHERE mld_opdr.mld_uitvoerende_keys = prs_bedrijf.prs_bedrijf_key
|
||
AND mld_opdr.mld_melding_key = m.mld_melding_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND mld_opdr.mld_statusopdr_key = 5
|
||
AND ( prs_bedrijf.prs_bedrijf_key = 7657
|
||
OR prs_bedrijf.prs_bedrijf_key = 8143
|
||
OR prs_bedrijf.prs_bedrijf_key = 8144);
|
||
|
||
-- AKZA#22617: afgemelde meldingen en opdrachten, met kosten.
|
||
-- key 18 = MLDAFM, key 26 = ORDAFM
|
||
CREATE OR REPLACE VIEW nour_v_rap_afmelders_kosten
|
||
AS
|
||
SELECT m.mld_melding_key||'/'||o.mld_opdr_bedrijfopdr_volgnr hide_f_srt
|
||
,vg.ins_discipline_key fclt_3d_discipline_key
|
||
,m.mld_alg_locatie_key fclt_3d_locatie_key
|
||
,TO_CHAR(m.mld_melding_key) meldingnr
|
||
,vg.ins_discipline_omschrijving fclt_f_vakgroep
|
||
,sm.mld_stdmelding_omschrijving melding
|
||
,TO_CHAR(ft.fac_tracking_datum, 'DD-MM-YYYY') fclt_d_afgemeld
|
||
,pf.prs_perslid_naam_full door
|
||
,CASE
|
||
WHEN o.mld_opdr_key IS NULL THEN NULL
|
||
ELSE m.mld_melding_key||'/'||o.mld_opdr_bedrijfopdr_volgnr
|
||
END
|
||
opdracht
|
||
,so.mld_statusopdr_omschrijving opdrachtstatus
|
||
,(SELECT pf.prs_perslid_naam_full
|
||
FROM fac_tracking ft
|
||
,prs_v_perslid_fullnames pf
|
||
WHERE ft.fac_srtnotificatie_key = 26
|
||
AND ft.fac_tracking_refkey = o.mld_opdr_key
|
||
AND pf.prs_perslid_key = ft.prs_perslid_key)
|
||
afmelder
|
||
,o.mld_opdr_kosten kosten
|
||
FROM fac_tracking ft
|
||
,mld_melding m
|
||
,mld_stdmelding sm
|
||
,mld_discipline vg
|
||
,mld_opdr o
|
||
,mld_statusopdr so
|
||
,prs_v_perslid_fullnames pf
|
||
WHERE ft.fac_srtnotificatie_key = 18
|
||
AND pf.prs_perslid_key = ft.prs_perslid_key
|
||
AND m.mld_melding_key = ft.fac_tracking_refkey
|
||
AND sm.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND vg.ins_discipline_key = sm.mld_ins_discipline_key
|
||
AND o.mld_melding_key(+) = m.mld_melding_key
|
||
AND so.mld_statusopdr_key(+) = o.mld_statusopdr_key;
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
------------------------------- OUTLETBEHEER -----------------------------------------------------
|
||
--------------------------------------------------------------------------------------------------
|
||
|
||
-- AKZA#22294: Voor indienstredingsworkflows
|
||
-- 646: Outlet
|
||
CREATE OR REPLACE VIEW nour_v_outlets
|
||
AS
|
||
SELECT ins_deel_key, ins_deel_omschrijving
|
||
FROM ins_deel
|
||
WHERE ins_srtdeel_key = 646
|
||
AND ins_deel_verwijder IS NULL
|
||
AND ins_deel_parent_key IS NOT NULL;
|
||
|
||
-- views for report INS039
|
||
CREATE OR REPLACE VIEW nour_v_outlet_prijs
|
||
(INS_DEEL_KEY, INS_DEEL_OMSCHRIJVING, INS_DEEL_UPPER, ALG_PLAATSAANDUIDING,
|
||
AANSLUITTYPE_PRIJS, NETWERK_PRIJS, OPTIE2_PRIJS, OPTIE3_PRIJS, OPTIE4_PRIJS, KAMERHUB_PRIJS,
|
||
TOTAALPRIJS, AANSLUITTYPE)
|
||
AS
|
||
SELECT od.ins_deel_key,
|
||
od.ins_deel_omschrijving,
|
||
od.ins_deel_upper,
|
||
(SELECT alg_l.alg_locatie_code
|
||
|| '-'
|
||
|| alg_g.alg_gebouw_code
|
||
|| '-'
|
||
|| alg_v.alg_verdieping_code
|
||
|| '-'
|
||
|| alg_r.alg_ruimte_nr
|
||
FROM alg_ruimte alg_r,
|
||
alg_verdieping alg_v,
|
||
alg_gebouw alg_g,
|
||
alg_locatie alg_l
|
||
WHERE alg_r.alg_verdieping_key = alg_v.alg_verdieping_key
|
||
AND alg_v.alg_gebouw_key = alg_g.alg_gebouw_key
|
||
AND alg_g.alg_locatie_key = alg_l.alg_locatie_key
|
||
AND alg_r.alg_ruimte_key = od.ins_alg_ruimte_key) alg_plaatsaanduiding,
|
||
NVL(fuda.fac_usrdata_prijs, 0) aansluittype_prijs,
|
||
NVL(fudn.fac_usrdata_prijs, 0) netwerk_prijs,
|
||
NVL(fudo2.fac_usrdata_prijs, 0) optie2_prijs,
|
||
NVL(fudo3.fac_usrdata_prijs, 0) optie3_prijs,
|
||
NVL(fudo4.fac_usrdata_prijs, 0) optie4_prijs,
|
||
NVL(fudk.fac_usrdata_prijs, 0) kamerhub_prijs,
|
||
(NVL(fuda.fac_usrdata_prijs, 0)
|
||
+ NVL(fudn.fac_usrdata_prijs, 0)
|
||
+ NVL(fudk.fac_usrdata_prijs, 0)
|
||
+ NVL(fudo2.fac_usrdata_prijs, 0)
|
||
+ NVL(fudo3.fac_usrdata_prijs, 0)
|
||
+ NVL(fudo4.fac_usrdata_prijs, 0)) totaalprijs,
|
||
fuda.fac_usrdata_omschr aansluittype
|
||
FROM ins_v_aanwezigkenmerkdeel kd,
|
||
ins_v_aanwezigkenmerkdeel ka,
|
||
ins_v_aanwezigkenmerkdeel kn,
|
||
ins_v_aanwezigkenmerkdeel kk,
|
||
ins_v_aanwezigkenmerkdeel ko2,
|
||
ins_v_aanwezigkenmerkdeel ko3,
|
||
ins_v_aanwezigkenmerkdeel ko4,
|
||
fac_usrdata fuda,
|
||
fac_usrdata fudn,
|
||
fac_usrdata fudk,
|
||
fac_usrdata fudo2,
|
||
fac_usrdata fudo3,
|
||
fac_usrdata fudo4,
|
||
ins_deel od
|
||
WHERE od.ins_deel_key = kd.ins_deel_key
|
||
AND od.ins_deel_key = ka.ins_deel_key(+)
|
||
AND od.ins_deel_key = kn.ins_deel_key(+)
|
||
AND od.ins_deel_key = kk.ins_deel_key(+)
|
||
AND od.ins_deel_key = ko2.ins_deel_key(+)
|
||
AND od.ins_deel_key = ko3.ins_deel_key(+)
|
||
AND od.ins_deel_key = ko4.ins_deel_key(+)
|
||
AND od.ins_deel_verwijder IS NULL
|
||
AND kd.ins_kenmerkdeel_waarde = TO_CHAR (181) -- doorbelasten_key is ja
|
||
AND kd.ins_kenmerk_key = 51 -- doorbelasten
|
||
AND ka.ins_kenmerk_key(+) = 48 -- type aansluiting
|
||
AND kn.ins_kenmerk_key(+) = 53 -- netwerk
|
||
AND kk.ins_kenmerk_key(+) = 54 -- KamerHUB
|
||
AND ko2.ins_kenmerk_key(+) = 55 -- optie2
|
||
AND ko3.ins_kenmerk_key(+) = 56 -- optie3
|
||
AND ko4.ins_kenmerk_key(+) = 57 -- optie4
|
||
AND ka.ins_kenmerkdeel_waarde = TO_CHAR(fuda.fac_usrdata_key(+))
|
||
AND kn.ins_kenmerkdeel_waarde = TO_CHAR(fudn.fac_usrdata_key(+))
|
||
AND kk.ins_kenmerkdeel_waarde = TO_CHAR(fudk.fac_usrdata_key(+))
|
||
AND ko2.ins_kenmerkdeel_waarde = TO_CHAR(fudo2.fac_usrdata_key(+))
|
||
AND ko3.ins_kenmerkdeel_waarde = TO_CHAR(fudo3.fac_usrdata_key(+))
|
||
AND ko4.ins_kenmerkdeel_waarde = TO_CHAR(fudo4.fac_usrdata_key(+))
|
||
AND od.ins_srtdeel_key = 646 --'OUTLET'
|
||
ORDER BY 1;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_outlet_kostpl
|
||
(INS_DEEL_KEY, INS_DEEL_OMSCHRIJVING, KOSTENPLAATS)
|
||
AS
|
||
SELECT ins_deel_key, ins_deel_omschrijving,
|
||
NVL (rkostenplaats, skostenplaats) kostenplaats
|
||
FROM (SELECT od.ins_deel_key, od.ins_deel_omschrijving,
|
||
(select k.prs_kostenplaats_nr from nour_v_kostenplaats k where k.prs_kostenplaats_key = pa.prs_kostenplaats_key) skostenplaats,
|
||
NULL rkostenplaats, 1 speciaal
|
||
FROM ins_deel od, prs_afdeling pa, ins_v_aanwezigkenmerkdeel ik
|
||
WHERE pa.prs_afdeling_key =
|
||
fac.safe_to_number (ik.ins_kenmerkdeel_waarde)
|
||
AND ik.ins_kenmerk_key = 47
|
||
AND ik.ins_deel_key = od.ins_deel_key
|
||
AND od.ins_deel_parent_key IS NOT NULL
|
||
AND od.ins_deel_verwijder IS NULL
|
||
AND od.ins_srtdeel_key = 646 --'OUTLET'
|
||
UNION
|
||
SELECT od.ins_deel_key, od.ins_deel_omschrijving,
|
||
NULL skostenplaats,
|
||
(select k.prs_kostenplaats_nr from nour_v_kostenplaats k where k.prs_kostenplaats_key = pa.prs_kostenplaats_key) rkostenplaats, 0 speciaal
|
||
FROM ins_deel od, prs_afdeling pa, prs_v_werkplekafdeling_geg wa
|
||
WHERE pa.prs_afdeling_key = wa.prs_afdeling_key
|
||
AND wa.alg_ruimte_key = od.ins_alg_ruimte_key
|
||
AND od.ins_alg_ruimte_type IN ('R', 'W')
|
||
AND od.ins_deel_parent_key IS NOT NULL
|
||
AND od.ins_deel_verwijder IS NULL
|
||
AND od.ins_srtdeel_key = 646 --'OUTLET'
|
||
AND od.ins_deel_key NOT IN (
|
||
SELECT od.ins_deel_key
|
||
FROM ins_deel od,
|
||
prs_afdeling pa,
|
||
ins_v_aanwezigkenmerkdeel ik
|
||
WHERE pa.prs_afdeling_key =
|
||
fac.safe_to_number (ik.ins_kenmerkdeel_waarde)
|
||
AND ik.ins_kenmerk_key = 47
|
||
AND ik.ins_deel_key = od.ins_deel_key
|
||
AND od.ins_deel_parent_key IS NOT NULL
|
||
AND od.ins_deel_verwijder IS NULL
|
||
AND od.ins_srtdeel_key = 646) --'OUTLET'
|
||
)
|
||
ORDER BY 1;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_outlet_prijs_kostpl
|
||
(FCLT_F_KOSTENPLAATS, AANTAL, AANSLUITTYPE, TOTAALPRIJS)
|
||
AS
|
||
SELECT ok.kostenplaats,
|
||
COUNT(*) aantal,
|
||
op.aansluittype,
|
||
SUM(op.totaalprijs)
|
||
FROM nour_v_outlet_prijs op,
|
||
nour_v_outlet_kostpl ok
|
||
WHERE op.ins_deel_key = ok.ins_deel_key
|
||
GROUP BY ok.kostenplaats, op.aansluittype;
|
||
|
||
-- views for report INS040
|
||
CREATE OR REPLACE VIEW nour_v_wallplate_plaats_kenm
|
||
(INS_DEEL_KEY, INS_DEEL_OMSCHRIJVING, MODULE, POORT, NETWERK,
|
||
ALG_PLAATSAANDUIDING, OUTLETTYPE, OPMERKING, ALG_GEBOUW_KEY, ALG_GEBOUW_OMSCHRIJVING,
|
||
ALG_VERDIEPING_KEY, ALG_VERDIEPING_OMSCHRIJVING, ALG_RUIMTE_KEY)
|
||
AS
|
||
SELECT od.ins_deel_key,
|
||
od.ins_deel_omschrijving,
|
||
UPPER(a.ins_deel_hub),
|
||
UPPER(a.ins_deel_poort),
|
||
fud2.fac_usrdata_omschr netwerk,
|
||
l.alg_locatie_code
|
||
|| '-'
|
||
|| g.alg_gebouw_code
|
||
|| '-'
|
||
|| v.alg_verdieping_code
|
||
|| '-'
|
||
|| r.alg_ruimte_nr,
|
||
fud.fac_usrdata_omschr outlettype,
|
||
k3.ins_kenmerkdeel_waarde opmerking,
|
||
g.alg_gebouw_key,
|
||
g.alg_gebouw_omschrijving,
|
||
v.alg_verdieping_key alg_verdieping_key,
|
||
v.alg_verdieping_omschrijving,
|
||
od.ins_alg_ruimte_key
|
||
FROM ins_deel od,
|
||
alg_locatie l,
|
||
alg_gebouw g,
|
||
alg_verdieping v,
|
||
alg_ruimte r,
|
||
-- type aansluiting
|
||
ins_v_aanwezigkenmerkdeel k1,
|
||
fac_usrdata fud,
|
||
-- module
|
||
ins_v_aanwezigkenmerkdeel k2,
|
||
ins_v_ins_poorten a,
|
||
-- opmerking
|
||
ins_v_aanwezigkenmerkdeel k3,
|
||
-- netwerk
|
||
ins_v_aanwezigkenmerkdeel k4,
|
||
fac_usrdata fud2
|
||
WHERE od.ins_deel_verwijder IS NULL
|
||
and r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_key = od.ins_alg_locatie_key
|
||
AND r.alg_ruimte_key = od.ins_alg_ruimte_key
|
||
AND od.ins_srtdeel_key = 646 --'OUTLET'
|
||
-- type aansluiting
|
||
AND od.ins_deel_key = k1.ins_deel_key(+)
|
||
AND k1.ins_kenmerk_key(+) = 48
|
||
AND k1.ins_kenmerkdeel_waarde = TO_CHAR (fud.fac_usrdata_key(+))
|
||
-- module
|
||
AND od.ins_deel_key = k2.ins_deel_key(+)
|
||
AND k2.ins_kenmerkdeel_waarde = TO_CHAR (a.ins_deel_key(+))
|
||
AND k2.ins_kenmerk_key(+) = 50
|
||
-- opmerking
|
||
AND od.ins_deel_key = k3.ins_deel_key(+)
|
||
AND k3.ins_kenmerk_key(+) = 58
|
||
-- netwerk
|
||
AND od.ins_deel_key = k4.ins_deel_key(+)
|
||
AND k4.ins_kenmerk_key(+) = 53
|
||
AND k4.ins_kenmerkdeel_waarde = TO_CHAR (fud2.fac_usrdata_key(+))
|
||
ORDER BY od.ins_deel_omschrijving;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_wallplate_huurder
|
||
(INS_DEEL_KEY, HUURDER)
|
||
AS
|
||
SELECT g_outlet.ins_deel_key, MIN (wa.prs_afdeling_naam) huurder
|
||
FROM ins_deel g_outlet,
|
||
(SELECT prs_a.prs_afdeling_naam, prs_w.prs_alg_ruimte_key alg_ruimte_key,
|
||
prs_w.prs_werkplek_volgnr
|
||
FROM prs_perslidwerkplek prs_pw,
|
||
prs_perslid prs_p,
|
||
prs_afdeling prs_a,
|
||
prs_werkplek prs_w
|
||
WHERE prs_pw.prs_perslid_key = prs_p.prs_perslid_key
|
||
AND prs_p.prs_afdeling_key = prs_a.prs_afdeling_key
|
||
AND prs_pw.prs_werkplek_key = prs_w.prs_werkplek_key
|
||
UNION
|
||
SELECT to_char(null), alg_ruimte_key,-1 FROM alg_v_aanwezigruimte) wa
|
||
WHERE g_outlet.ins_deel_verwijder IS NULL
|
||
and g_outlet.ins_deel_parent_key IS NOT NULL
|
||
AND g_outlet.ins_alg_ruimte_key = wa.alg_ruimte_key(+)
|
||
AND g_outlet.ins_srtdeel_key = 646 -- OUTLET
|
||
AND wa.prs_werkplek_volgnr =
|
||
NVL((SELECT MIN (prs_werkplek_volgnr)
|
||
FROM prs_perslidwerkplek prs_pw, prs_werkplek prs_w
|
||
WHERE g_outlet.ins_alg_ruimte_key = prs_w.prs_alg_ruimte_key
|
||
AND prs_pw.prs_werkplek_key = prs_w.prs_werkplek_key),-1)
|
||
GROUP BY g_outlet.ins_deel_key;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_wallplate_rapport
|
||
(FCLT_F_OUTLET, FCLT_F_MODULE, FCLT_F_POORT, FCLT_F_RUIMTE, FCLT_F_HUURDER,
|
||
FCLT_F_TYPE_OUTLET, FCLT_F_NETWERK, OPMERKING, FCLT_3D_GEBOUW, FCLT_3D_VERDIEPING)
|
||
AS
|
||
SELECT wpk.ins_deel_omschrijving outlet,
|
||
wpk.module module,
|
||
wpk.poort poort,
|
||
wpk.alg_plaatsaanduiding ruimte,
|
||
wh.huurder fclt_f_huurder,
|
||
wpk.outlettype fclt_f_type_outlet,
|
||
wpk.netwerk,
|
||
wpk.opmerking opmerking,
|
||
wpk.alg_gebouw_key,
|
||
wpk.alg_verdieping_key
|
||
FROM nour_v_wallplate_plaats_kenm wpk,
|
||
nour_v_wallplate_huurder wh
|
||
WHERE wpk.ins_deel_key = wh.ins_deel_key;
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
------------------------------- RITTENADMINISTRATIE ----------------------------------------------
|
||
--------------------------------------------------------------------------------------------------
|
||
|
||
CREATE OR REPLACE VIEW nour_v_rit_adres
|
||
AS
|
||
SELECT mld_adres_key,
|
||
mld_adres_naam,
|
||
mld_adres_upper,
|
||
mld_adres_bezoek_adres,
|
||
mld_adres_bezoek_plaats,
|
||
mld_adres_bezoek_plaats || ', ' || mld_adres_bezoek_adres
|
||
|| DECODE (SUBSTR (mld_adres_naam, 1, 5),
|
||
SUBSTR (mld_adres_bezoek_plaats, 1, 5), '',
|
||
', ' || mld_adres_naam)
|
||
mld_adres_plaats_adres_naam
|
||
FROM mld_adres
|
||
WHERE mld_adres_verwijder IS NULL;
|
||
|
||
-- Rittentariefgroep, die uit 3 kosten kan bestaan: constante kosten (c_tarief),
|
||
-- km-kosten (km_tarief) en uur-kosten (uur_tarief).
|
||
CREATE OR REPLACE VIEW nour_v_rit_tariefgroep
|
||
as select fac_usrdata_key nour_v_rit_tariefgroep_key, fac_usrdata_code nour_v_rit_tariefgroep_naam,
|
||
fac.safe_to_number(trim(substr(fac_usrdata_omschr, 1, instr(fac_usrdata_omschr, '-', 1, 1) - 1))) c_tarief,
|
||
fac.safe_to_number(trim(substr(fac_usrdata_omschr, instr(fac_usrdata_omschr, '-', 1, 1) + 1, instr(fac_usrdata_omschr, '-', 1, 2) - 1 - instr(fac_usrdata_omschr, '-', 1, 1) ))) km_tarief,
|
||
fac.safe_to_number(trim(substr(fac_usrdata_omschr, instr(fac_usrdata_omschr, '-', 1, 2) + 1))) uur_tarief
|
||
from fac_usrdata
|
||
where fac_usrtab_key = 460
|
||
and fac_usrdata_volgnr > 0
|
||
and fac_usrdata_verwijder is null;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ritten_reservering
|
||
as select res.res_reservering_key
|
||
from res_v_aanwezigreservering res, res_v_aanwezigrsv_ruimte ruim
|
||
where res.res_reservering_key = ruim.res_reservering_key
|
||
-- key van activiteit Rit
|
||
and ruim.res_activiteit_key = 41;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ritten_reservering_geg
|
||
AS SELECT res.res_reservering_key,
|
||
ruim.res_rsv_ruimte_key,
|
||
ruim.res_rsv_ruimte_volgnr,
|
||
chauf.res_ruimte_nr AS chauffeur,
|
||
ruim.res_rsv_ruimte_omschrijving AS omschrijving,
|
||
ruim.res_rsv_ruimte_opmerking AS opmerking,
|
||
auto.ins_deel_omschrijving AS auto,
|
||
ruim.res_rsv_ruimte_van datum_van,
|
||
TO_CHAR (ruim.res_rsv_ruimte_van, 'HH24:MI') tijd_van,
|
||
ruim.res_rsv_ruimte_tot datum_tot,
|
||
TO_CHAR (ruim.res_rsv_ruimte_tot, 'HH24:MI') tijd_tot,
|
||
p.prs_perslid_naam
|
||
|| DECODE (COALESCE (p.prs_perslid_voorletters, ''),
|
||
'', '',
|
||
', ' || p.prs_perslid_voorletters)
|
||
|| DECODE (COALESCE (p.prs_perslid_tussenvoegsel, ''),
|
||
'', '',
|
||
' ' || p.prs_perslid_tussenvoegsel)
|
||
|| DECODE (COALESCE (p.prs_perslid_voornaam, ''),
|
||
'', '',
|
||
' (' || p.prs_perslid_voornaam || ')')
|
||
gastheervrouw,
|
||
p.prs_perslid_key,
|
||
afd.prs_afdeling_naam,
|
||
kpl.prs_kostenplaats_nr,
|
||
kpl.prs_kostenplaats_omschrijving
|
||
FROM res_v_aanwezigreservering res,
|
||
res_v_aanwezigrsv_ruimte ruim,
|
||
res_v_aanwezigrsv_deel deel,
|
||
(SELECT INS_DI.ins_discipline_key,
|
||
INS_SG.ins_srtgroep_key,
|
||
INS_SD.ins_srtdeel_key,
|
||
INS_SD.ins_srtdeel_code
|
||
|| ' - '
|
||
|| INS_SD.ins_srtdeel_omschrijving,
|
||
INS_DE.ins_alg_locatie_key,
|
||
INS_AO.alg_gebouw_key,
|
||
INS_AO.alg_verdieping_key,
|
||
INS_AO.alg_ruimte_key,
|
||
INS_AO.prs_werkplek_key,
|
||
INS_AO.alg_terreinsector_key,
|
||
INS_AO.alg_plaatsaanduiding,
|
||
INS_DE.ins_deel_key,
|
||
INS_DE.ins_deel_omschrijving,
|
||
RES_DE.res_deel_key,
|
||
RES_DE.res_deel_eenheid,
|
||
RES_DE.res_deel_prijs,
|
||
DECODE (RES_DE.res_deel_key, NULL, 0, 1)
|
||
FROM ins_v_aanwezigdeel INS_DE,
|
||
ins_tab_discipline INS_DI,
|
||
ins_v_alg_overzicht INS_AO,
|
||
ins_srtdeel INS_SD,
|
||
ins_srtgroep INS_SG,
|
||
res_v_aanwezigdeel RES_DE
|
||
WHERE INS_DE.ins_deel_key = RES_DE.res_ins_deel_key(+)
|
||
AND INS_DE.ins_deel_module = 'INS'
|
||
AND INS_DE.ins_deel_parent_key IS NULL
|
||
AND INS_AO.alg_onroerendgoed_keys =
|
||
INS_DE.ins_alg_ruimte_key
|
||
AND INS_AO.alg_onroerendgoed_type =
|
||
INS_DE.ins_alg_ruimte_type
|
||
AND INS_AO.alg_locatie_key = INS_DE.ins_alg_locatie_key
|
||
AND INS_SD.ins_srtdeel_key = INS_DE.ins_srtdeel_key
|
||
AND INS_SG.ins_srtgroep_key = INS_SD.ins_srtgroep_key
|
||
AND INS_DI.ins_discipline_key =
|
||
INS_DE.ins_discipline_key
|
||
AND INS_DE.ins_discipline_key IN
|
||
(SELECT ins_discipline_key
|
||
FROM ins_discipline)) auto,
|
||
res_ruimte_opstelling opstel,
|
||
res_ruimte chauf,
|
||
prs_perslid p,
|
||
prs_afdeling afd,
|
||
prs_kostenplaats kpl
|
||
WHERE res.res_reservering_key = ruim.res_reservering_key
|
||
AND ruim.res_rsv_ruimte_key = deel.res_rsv_ruimte_key(+)
|
||
AND deel.res_deel_key = auto.res_deel_key(+)
|
||
AND ruim.res_ruimte_opstel_key = opstel.res_ruimte_opstel_key
|
||
AND opstel.res_ruimte_key = chauf.res_ruimte_key
|
||
AND p.prs_perslid_key = ruim.res_rsv_ruimte_host_key
|
||
AND p.prs_afdeling_key = afd.prs_afdeling_key
|
||
AND ruim.prs_kostenplaats_key = kpl.prs_kostenplaats_key(+)
|
||
-- activiteit Rit
|
||
AND ruim.res_activiteit_key = 41;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ritten_rapportage
|
||
AS
|
||
SELECT ritres.res_reservering_key,
|
||
ritres.res_rsv_ruimte_volgnr,
|
||
ritres.res_rsv_ruimte_key,
|
||
ritres.chauffeur,
|
||
ritres.omschrijving,
|
||
ritres.opmerking,
|
||
ritres.auto,
|
||
ritres.datum_van,
|
||
ritres.tijd_van,
|
||
ritres.datum_tot,
|
||
ritres.tijd_tot,
|
||
ritres.prs_perslid_key,
|
||
ritres.gastheervrouw,
|
||
ritres.prs_afdeling_naam,
|
||
ritres.prs_kostenplaats_nr,
|
||
ritres.prs_kostenplaats_omschrijving,
|
||
-- 'Vertrektijd (afwijkend)'
|
||
(SELECT fd.fac_usrdata_omschr
|
||
FROM fac_usrdata fd, res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 87
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = fd.fac_usrdata_key)
|
||
afwijkend_van_tijd,
|
||
-- 'Via-tijd'
|
||
(SELECT fd.fac_usrdata_omschr
|
||
FROM fac_usrdata fd, res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 127
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = fd.fac_usrdata_key)
|
||
via_tijd,
|
||
-- 'Aankomsttijd (afwijkend)'
|
||
(SELECT fd.fac_usrdata_omschr
|
||
FROM fac_usrdata fd, res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 94
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = fd.fac_usrdata_key)
|
||
afwijkend_tot_tijd,
|
||
-- 'Standaard vertrekplaats'
|
||
(SELECT van.mld_adres_plaats_adres_naam
|
||
FROM res_kenmerkwaarde k, nour_v_rit_adres van
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 82
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = van.mld_adres_key)
|
||
standaard_van,
|
||
-- 'Standaard vertrekplaats'
|
||
(SELECT van.mld_adres_bezoek_plaats
|
||
FROM res_kenmerkwaarde k, nour_v_rit_adres van
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 82
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = van.mld_adres_key)
|
||
standaard_van_plaatsnaam,
|
||
-- 'Vertrekplaatsnaam (afwijkend)'
|
||
(SELECT k.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 85)
|
||
afwijkend_van_plaats,
|
||
-- 'Vertrekadres (afwijkend)'
|
||
(SELECT k.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 86)
|
||
afwijkend_van_adres,
|
||
-- 'Standaard via-adres'
|
||
(SELECT van.mld_adres_plaats_adres_naam
|
||
FROM res_kenmerkwaarde k, nour_v_rit_adres van
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 124
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = van.mld_adres_key)
|
||
standaard_via,
|
||
-- 'Standaard via-adres'
|
||
(SELECT van.mld_adres_bezoek_plaats
|
||
FROM res_kenmerkwaarde k, nour_v_rit_adres van
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 124
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = van.mld_adres_key)
|
||
standaard_via_plaatsnaam,
|
||
-- 'Via-plaatsnaam (afwijkend)'
|
||
(SELECT k.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 126)
|
||
afwijkend_via_plaats,
|
||
-- 'Via-adres (afwijkend)'
|
||
(SELECT k.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 125)
|
||
afwijkend_via_adres,
|
||
-- 'Standaard aankomstplaats'
|
||
(SELECT naar.mld_adres_plaats_adres_naam
|
||
FROM nour_v_rit_adres naar, res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 89
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = naar.mld_adres_key)
|
||
standaard_naar,
|
||
-- 'Standaard aankomstplaats'
|
||
(SELECT naar.mld_adres_bezoek_plaats
|
||
FROM nour_v_rit_adres naar, res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 89
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = naar.mld_adres_key)
|
||
standaard_naar_plaatsnaam,
|
||
-- 'Aankomstplaatsnaam (afwijkend)'
|
||
(SELECT k.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 92)
|
||
afwijkend_naar_plaats,
|
||
-- 'Aankomstadres (afwijkend)'
|
||
(SELECT k.res_kenmerkreservering_waarde
|
||
FROM res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 93)
|
||
afwijkend_naar_adres,
|
||
-- 'Vertrektijd (werkelijk)'
|
||
(SELECT fd.fac_usrdata_omschr
|
||
FROM fac_usrdata fd, res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 96
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = fd.fac_usrdata_key)
|
||
chauff_van_tijd,
|
||
-- 'Aankomsttijd (werkelijk)'
|
||
(SELECT fd.fac_usrdata_omschr
|
||
FROM fac_usrdata fd, res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 97
|
||
AND fac.safe_to_number (k.res_kenmerkreservering_waarde) = fd.fac_usrdata_key)
|
||
chauff_tot_tijd,
|
||
-- 'Gereden km'
|
||
(SELECT fac.safe_to_number (
|
||
REPLACE (k.res_kenmerkreservering_waarde, ',', '.'))
|
||
FROM res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 98)
|
||
chauff_km,
|
||
-- 'Aantal uren'
|
||
(SELECT fac.safe_to_number (
|
||
REPLACE (k.res_kenmerkreservering_waarde, ',', '.'))
|
||
FROM res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 101)
|
||
doorbelast_uren,
|
||
-- 'Aantal km'
|
||
(SELECT fac.safe_to_number (
|
||
REPLACE (k.res_kenmerkreservering_waarde, ',', '.'))
|
||
FROM res_kenmerkwaarde k
|
||
WHERE k.res_rsv_ruimte_key = ritres.res_rsv_ruimte_key
|
||
AND k.res_kenmerk_key = 100)
|
||
doorbelast_km
|
||
FROM nour_v_ritten_reservering_geg ritres;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ritten_doorbelasting
|
||
AS
|
||
SELECT res.res_reservering_key,
|
||
ruim.res_rsv_ruimte_volgnr,
|
||
ruim.res_rsv_ruimte_key,
|
||
stat.res_status_bo_omschrijving status,
|
||
tariefgrp.nour_v_rit_tariefgroep_naam tariefgroep,
|
||
tariefgrp.c_tarief,
|
||
tariefgrp.km_tarief,
|
||
tariefgrp.uur_tarief
|
||
FROM res_v_aanwezigreservering res,
|
||
res_v_aanwezigrsv_ruimte ruim,
|
||
res_status_bo stat,
|
||
nour_v_rit_tariefgroep tariefgrp,
|
||
res_kenmerkwaarde k_tariefgrp
|
||
WHERE res.res_reservering_key = ruim.res_reservering_key
|
||
AND ruim.res_status_bo_key = stat.res_status_bo_key
|
||
-- key van kenmerk Tariefgroep
|
||
AND k_tariefgrp.res_kenmerk_key = 102
|
||
AND fac.safe_to_number (k_tariefgrp.res_kenmerkreservering_waarde) =
|
||
tariefgrp.nour_v_rit_tariefgroep_key
|
||
AND ruim.res_rsv_ruimte_key = k_tariefgrp.res_rsv_ruimte_key
|
||
-- key van activiteit Rit
|
||
AND ruim.res_activiteit_key = 41;
|
||
|
||
-- key van de special prs_perslid "Non resident passenger"
|
||
CREATE OR REPLACE VIEW nour_v_rit_nonresident_pass
|
||
AS
|
||
SELECT 43667 prs_perslid_key
|
||
FROM DUAL;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ritten_all_doorbelast
|
||
AS
|
||
SELECT rit_rap.*,
|
||
rit_doorb.status,
|
||
rit_doorb.tariefgroep,
|
||
rit_doorb.c_tarief,
|
||
rit_doorb.km_tarief,
|
||
rit_doorb.uur_tarief,
|
||
ROUND (
|
||
(rit_doorb.c_tarief
|
||
+ (rit_doorb.km_tarief
|
||
* COALESCE (fac.safe_to_number (rit_rap.doorbelast_km), 0))
|
||
+ (rit_doorb.uur_tarief
|
||
* COALESCE (fac.safe_to_number (rit_rap.doorbelast_uren), 0))),
|
||
2)
|
||
AS totaal
|
||
FROM nour_v_ritten_rapportage rit_rap,
|
||
nour_v_ritten_doorbelasting rit_doorb
|
||
WHERE rit_rap.res_rsv_ruimte_key = rit_doorb.res_rsv_ruimte_key(+);
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ritten_doorbelast_sap
|
||
AS
|
||
SELECT a.*, b.prs_perslid_key AS rit_nonresidentpass
|
||
FROM nour_v_ritten_all_doorbelast a, nour_v_rit_nonresident_pass b
|
||
WHERE a.prs_perslid_key = b.prs_perslid_key(+);
|
||
|
||
CREATE OR REPLACE VIEW nour_v_rit_km_spec
|
||
AS
|
||
SELECT chauffeur AS fclt_f_chauffeur,
|
||
auto AS fclt_f_voertuig,
|
||
DECODE (TO_CHAR (datum_van, 'D'),
|
||
1, 'Zondag',
|
||
2, 'Maandag',
|
||
3, 'Dinsdag',
|
||
4, 'Woensdag',
|
||
5, 'Donderdag',
|
||
6, 'Vrijdag',
|
||
7, 'Zaterdag',
|
||
'')
|
||
AS Dag,
|
||
datum_van datum,
|
||
chauff_van_tijd AS Vertrek,
|
||
chauff_tot_tijd AS Aankomst,
|
||
prs_afdeling_naam AS fclt_f_Opdrachtgever,
|
||
DECODE (afwijkend_van_plaats || ', ' || afwijkend_van_adres,
|
||
', ', standaard_van,
|
||
afwijkend_van_plaats || ', ' || afwijkend_van_adres)
|
||
AS Van,
|
||
DECODE (afwijkend_naar_plaats || ', ' || afwijkend_naar_adres,
|
||
', ', standaard_naar,
|
||
afwijkend_naar_plaats || ', ' || afwijkend_naar_adres)
|
||
AS Naar,
|
||
TO_NUMBER (chauff_km) AS Kilometers
|
||
FROM nour_v_ritten_rapportage;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_rit_geplande_ritten
|
||
AS
|
||
SELECT datum_van datum,
|
||
DECODE (TO_CHAR (datum_van, 'D'),
|
||
1, 'Zondag',
|
||
2, 'Maandag',
|
||
3, 'Dinsdag',
|
||
4, 'Woensdag',
|
||
5, 'Donderdag',
|
||
6, 'Vrijdag',
|
||
7, 'Zaterdag',
|
||
'')
|
||
AS Dag,
|
||
COALESCE (chauff_van_tijd, afwijkend_van_tijd, tijd_van) AS Starttijd,
|
||
via_tijd AS Viatijd,
|
||
COALESCE (chauff_tot_tijd, afwijkend_tot_tijd, tijd_tot) AS Tottijd,
|
||
DECODE (afwijkend_van_plaats || ', ' || afwijkend_van_adres,
|
||
', ', standaard_van,
|
||
afwijkend_van_plaats || ', ' || afwijkend_van_adres)
|
||
AS Van,
|
||
DECODE (afwijkend_via_plaats || ', ' || afwijkend_via_adres,
|
||
', ', standaard_via,
|
||
afwijkend_via_plaats || ', ' || afwijkend_via_adres)
|
||
AS Via,
|
||
DECODE (afwijkend_naar_plaats || ', ' || afwijkend_naar_adres,
|
||
', ', standaard_naar,
|
||
afwijkend_naar_plaats || ', ' || afwijkend_naar_adres)
|
||
AS Naar,
|
||
prs_afdeling_naam AS fclt_f_Opdrachtgever,
|
||
chauffeur AS fclt_f_chauffeur,
|
||
auto AS fclt_f_auto,
|
||
opmerking AS Toelichtingen,
|
||
res_reservering_key AS hide_f_reserveringkey,
|
||
res_rsv_ruimte_volgnr AS hide_f_reserveringvolgnr,
|
||
gastheervrouw AS hide_f_gastheervrouw,
|
||
prs_kostenplaats_nr || ' ' || prs_kostenplaats_omschrijving
|
||
AS fclt_f_kostenplaats,
|
||
prs_afdeling_naam AS hide_f_afdeling
|
||
FROM nour_v_ritten_rapportage;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_rit_kostenoverzicht
|
||
AS
|
||
SELECT TO_CHAR (res_reservering_key) AS Code,
|
||
datum_van datum,
|
||
COALESCE (afwijkend_van_plaats, standaard_van_plaatsnaam) AS Van,
|
||
COALESCE (afwijkend_naar_plaats, standaard_naar_plaatsnaam) AS Naar,
|
||
chauffeur AS fclt_f_chauffeur,
|
||
auto AS fclt_f_voertuig,
|
||
prs_afdeling_naam AS fclt_f_Opdrachtgever,
|
||
fac.safe_to_number (doorbelast_km) AS Km,
|
||
fac.safe_to_number (doorbelast_uren) AS Uren,
|
||
status,
|
||
tariefgroep,
|
||
totaal
|
||
FROM nour_v_ritten_all_doorbelast;
|
||
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
--------- SAP-EXPORTS: DEELOPDRACHTEN, RESERVERINGEN, LOGISTIEK, SPECIFICATIE, FACTUREN ----------
|
||
--------------------------------------------------------------------------------------------------
|
||
|
||
--- BASISVIEWS RESERVERINGEN ---------------------------------------------------
|
||
|
||
--TODO: lege companycode? (wordt nu left outer join gedaan)
|
||
CREATE OR REPLACE VIEW nour_v_export_resdeel
|
||
(
|
||
soort,
|
||
res_rsv_ruimte_key,
|
||
res_rsv_artikel_key,
|
||
res_rsv_deel_key,
|
||
res_rsv_ruimte_kosten_klant,
|
||
res_rsv_ruimte_ordernr,
|
||
ins_discipline_key,
|
||
kostenplaatscode,
|
||
debiteurnr,
|
||
kostensoort,
|
||
einddatum,
|
||
bedrag,
|
||
postkey,
|
||
valuta,
|
||
aantal,
|
||
btw,
|
||
res_reservering_key,
|
||
res_rsv_ruimte_volgnr,
|
||
datum,
|
||
ruimte_art_oms,
|
||
melder_key,
|
||
melder,
|
||
companycode,
|
||
stukprijs,
|
||
artikelgroep,
|
||
catalogus,
|
||
alg_locatie_key
|
||
)
|
||
AS
|
||
SELECT DISTINCT 'deel',
|
||
rr.res_rsv_ruimte_key,
|
||
rr.res_rsv_artikel_key,
|
||
rr.res_rsv_deel_key,
|
||
rr.res_rsv_ruimte_kosten_klant,
|
||
res_rsv_ruimte_ordernr,
|
||
nour_ea.ins_discipline_key,
|
||
nour_k.prs_kostenplaats_nr kostenplaatscode,
|
||
nour_k.debiteurnr,
|
||
nour_ea.kostensoort,
|
||
rr.res_rsv_ruimte_tot einddatum,
|
||
ROUND (COALESCE (res.getdeelprijs (rr.res_rsv_deel_key), 0), 2) bedrag,
|
||
'40' postkey,
|
||
'EUR' valuta,
|
||
nour_ea.aantal,
|
||
'21' btw,
|
||
rr.res_reservering_key,
|
||
rr.res_rsv_ruimte_volgnr,
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'dd-mm-yyyy')
|
||
|| DECODE (rr.res_rsv_ruimte_van, NULL, NULL, ' / ')
|
||
|| TO_CHAR (rr.res_rsv_ruimte_tot, 'dd-mm-yyyy')
|
||
datum,
|
||
TRIM(nour_ea.res_deel_omschrijving) ruimte_art_oms,
|
||
pf.prs_perslid_key,
|
||
-- Indien non-resident host, dan de omschrijving (waar externe gastheer wordt ingevuld) naar SAP.
|
||
DECODE (pf.prs_perslid_key,
|
||
40727, COALESCE (res_rsv_ruimte_omschrijving, pf.prs_perslid_naam_full, ' '),
|
||
COALESCE (pf.prs_perslid_naam_full, ' ')
|
||
)
|
||
melder,
|
||
COALESCE(ac.companycode, 'LEEG') companycode,
|
||
ROUND ( COALESCE (res.getdeelprijs (rr.res_rsv_deel_key), 0) / nour_ea.aantal, 2)
|
||
stukprijs,
|
||
'' artikelgroep,
|
||
nour_ea.ins_discipline_omschrijving catalogus,
|
||
rg.alg_locatie_key
|
||
FROM (SELECT rr.*, CAST(NULL AS NUMBER) res_rsv_artikel_key, rd.res_rsv_deel_key
|
||
FROM res_rsv_ruimte rr, res_rsv_deel rd
|
||
WHERE 1 = 1
|
||
AND res_rsv_ruimte_verwijder IS NULL
|
||
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
|
||
AND rd.res_status_bo_key = 5) rr,
|
||
nour_v_kostenplaats nour_k,
|
||
(SELECT * FROM prs_kenmerklink
|
||
WHERE prs_kenmerk_key = 1380
|
||
AND prs_kenmerklink_verwijder IS NULL) kl,
|
||
nour_v_afdelingcompany ac,
|
||
-- FSN#26359: res_deel_omschrijving is per DB19 een kolom in res_deel, dus we hoeven
|
||
-- ins_deel_omschrijving er niet meer bij te halen
|
||
(SELECT rsv_d.res_rsv_deel_key,
|
||
rd.res_deel_omschrijving,
|
||
rsv_d.res_rsv_ruimte_key,
|
||
ins_discipline_key,
|
||
ins_discipline_omschrijving,
|
||
rsv_d.res_rsv_deel_aantal aantal,
|
||
ks.prs_kostensoort_oms kostensoort
|
||
FROM res_rsv_deel rsv_d, res_deel rd, res_discipline dis, prs_kostensoort ks
|
||
WHERE rsv_d.res_deel_key = rd.res_deel_key
|
||
AND rd.res_discipline_key = dis.ins_discipline_key
|
||
AND dis.prs_kostensoort_key = ks.prs_kostensoort_key(+) )
|
||
nour_ea,
|
||
(SELECT l.alg_locatie_key,
|
||
rg.res_reservering_key,
|
||
rg.res_rsv_ruimte_key,
|
||
DECODE (
|
||
rg.res_ruimte_key,
|
||
NULL,
|
||
l.alg_locatie_code
|
||
|| '-'
|
||
|| g.alg_gebouw_code
|
||
|| '-'
|
||
|| v.alg_verdieping_volgnr
|
||
|| '-'
|
||
|| r.alg_ruimte_nr,
|
||
l.alg_locatie_code || '-' || rg.res_ruimte_nr
|
||
)
|
||
res_ruimte_omschrijving
|
||
FROM (SELECT rr2.res_reservering_key,
|
||
rr2.res_rsv_ruimte_key,
|
||
rr.alg_ruimte_key,
|
||
rr.res_ruimte_key,
|
||
r.res_ruimte_nr res_ruimte_nr
|
||
FROM res_v_rsv_ruimte_2_alg_ruimte rr, res_rsv_ruimte rr2, res_ruimte r
|
||
WHERE rr2.res_rsv_ruimte_key = rr.res_rsv_ruimte_key AND rr.res_ruimte_key = r.res_ruimte_key
|
||
UNION
|
||
SELECT rr2.res_reservering_key,
|
||
rr2.res_rsv_ruimte_key,
|
||
rr2.alg_ruimte_key,
|
||
NULL,
|
||
a.alg_ruimte_nr res_ruimte_nr
|
||
FROM res_rsv_ruimte rr2, alg_ruimte a
|
||
WHERE rr2.alg_ruimte_key IS NOT NULL AND rr2.alg_ruimte_key = a.alg_ruimte_key) rg,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND rg.alg_ruimte_key = r.alg_ruimte_key) rg,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE 1 = 1
|
||
AND rr.res_rsv_ruimte_contact_key = pf.prs_perslid_key
|
||
AND rr.prs_kostenplaats_key = nour_k.prs_kostenplaats_key
|
||
AND kl.prs_kenmerklink_waarde(+) = nour_k.debiteurnr
|
||
AND ac.prs_afdeling_key(+) = kl.prs_link_key
|
||
AND nour_ea.res_rsv_deel_key(+) = rr.res_rsv_deel_key
|
||
AND rr.res_rsv_ruimte_key = rg.res_rsv_ruimte_key(+);
|
||
|
||
-- De te exporteren catering met kostenplaats opgevoerd bij een ruimte reservering of losse catering reservering
|
||
-- Locatiekey wordt meegeleverd om later deeloverzicht/export te kunnen doen.
|
||
CREATE OR REPLACE VIEW nour_v_export_catering
|
||
(
|
||
soort,
|
||
res_rsv_ruimte_key,
|
||
res_rsv_artikel_key,
|
||
res_rsv_deel_key,
|
||
res_rsv_ruimte_kosten_klant,
|
||
res_rsv_ruimte_ordernr,
|
||
ins_discipline_key,
|
||
kostenplaatscode,
|
||
debiteurnr,
|
||
kostensoort,
|
||
einddatum,
|
||
bedrag,
|
||
postkey,
|
||
valuta,
|
||
aantal,
|
||
btw,
|
||
res_reservering_key,
|
||
res_rsv_ruimte_volgnr,
|
||
datum,
|
||
ruimte_art_oms,
|
||
melder_key,
|
||
melder,
|
||
companycode,
|
||
stukprijs,
|
||
artikelgroep,
|
||
catalogus,
|
||
alg_locatie_key
|
||
)
|
||
AS
|
||
SELECT DISTINCT 'artikel',
|
||
rr.res_rsv_ruimte_key,
|
||
rr.res_rsv_artikel_key,
|
||
rr.res_rsv_deel_key,
|
||
rr.res_rsv_ruimte_kosten_klant,
|
||
res_rsv_ruimte_ordernr,
|
||
nour_ea.ins_discipline_key,
|
||
nour_k.prs_kostenplaats_nr kostenplaatscode,
|
||
nour_k.debiteurnr,
|
||
nour_ea.kostensoort,
|
||
rr.res_rsv_ruimte_tot einddatum,
|
||
ROUND (COALESCE (res.getartikelprijs (rr.res_rsv_artikel_key), 0), 2) bedrag,
|
||
'40' postkey,
|
||
'EUR' valuta,
|
||
nour_ea.aantal,
|
||
TO_CHAR( COALESCE(nour_ea.res_artikel_btw, 0) ) btw,
|
||
rr.res_reservering_key,
|
||
rr.res_rsv_ruimte_volgnr,
|
||
TO_CHAR (COALESCE (rr.res_rsv_ruimte_van, res_rsv_artikel_levering), 'dd-mm-yyyy')
|
||
|| DECODE (COALESCE (rr.res_rsv_ruimte_van, res_rsv_artikel_levering), NULL, NULL, ' / ')
|
||
|| TO_CHAR (COALESCE (rr.res_rsv_ruimte_tot, res_rsv_artikel_levering), 'dd-mm-yyyy')
|
||
datum,
|
||
TRIM (nour_ea.res_artikel_omschrijving) ruimte_art_oms,
|
||
pf.prs_perslid_key,
|
||
-- Indien non-resident host, dan de omschrijving (waar externe gastheer wordt ingevuld) naar SAP.
|
||
DECODE(pf.prs_perslid_key, 40727, COALESCE(res_rsv_ruimte_omschrijving, pf.prs_perslid_naam_full, ' '), COALESCE (pf.prs_perslid_naam_full, ' ') ) melder,
|
||
COALESCE(ac.companycode, 'LEEG') companycode,
|
||
ROUND (COALESCE (res.getartikelprijs (rr.res_rsv_artikel_key), 0) / nour_ea.aantal, 2)
|
||
stukprijs,
|
||
' ' artikelgroep,
|
||
nour_ea.ins_discipline_omschrijving catalogus,
|
||
rg.alg_locatie_key
|
||
FROM (SELECT rr.*, ra.res_rsv_artikel_key, CAST(NULL AS NUMBER) res_rsv_deel_key
|
||
FROM res_rsv_ruimte rr, res_rsv_artikel ra
|
||
WHERE 1 = 1
|
||
AND res_rsv_ruimte_verwijder IS NULL
|
||
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
|
||
AND ra.res_status_bo_key = 5) rr,
|
||
nour_v_kostenplaats nour_k,
|
||
(SELECT * FROM prs_kenmerklink
|
||
WHERE prs_kenmerk_key = 1380
|
||
AND prs_kenmerklink_verwijder IS NULL) kl,
|
||
nour_v_afdelingcompany ac,
|
||
(SELECT rsv_art.res_rsv_artikel_key,
|
||
art.res_artikel_omschrijving,
|
||
rsv_art.res_rsv_ruimte_key,
|
||
ins_discipline_key,
|
||
ins_discipline_omschrijving,
|
||
rsv_art.res_rsv_artikel_aantal aantal,
|
||
rsv_art.res_rsv_artikel_levering,
|
||
art.res_artikel_btw,
|
||
ks.prs_kostensoort_oms kostensoort
|
||
FROM res_rsv_artikel rsv_art, res_artikel art, res_discipline dis, prs_kostensoort ks
|
||
WHERE 1 = 1
|
||
AND rsv_art.res_artikel_key = art.res_artikel_key
|
||
AND art.res_discipline_key = dis.ins_discipline_key
|
||
AND dis.prs_kostensoort_key = ks.prs_kostensoort_key(+) ) nour_ea,
|
||
(SELECT l.alg_locatie_key,
|
||
rg.res_reservering_key,
|
||
rg.res_rsv_ruimte_key,
|
||
DECODE (rg.res_ruimte_key,null,
|
||
l.alg_locatie_code || '-' || g.alg_gebouw_code || '-' || v.alg_verdieping_volgnr || '-' || r.alg_ruimte_nr,
|
||
l.alg_locatie_code || '-' || rg.res_ruimte_nr) res_ruimte_omschrijving
|
||
FROM (SELECT rr2.res_reservering_key, rr2.res_rsv_ruimte_key, rr.alg_ruimte_key, rr.res_ruimte_key, r.res_ruimte_nr res_ruimte_nr
|
||
FROM res_v_rsv_ruimte_2_alg_ruimte rr, res_rsv_ruimte rr2, res_ruimte r
|
||
WHERE rr2.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND rr.res_ruimte_key = r.res_ruimte_key
|
||
UNION
|
||
SELECT rr2.res_reservering_key, rr2.res_rsv_ruimte_key, rr2.alg_ruimte_key, null, a.alg_ruimte_nr res_ruimte_nr
|
||
FROM res_rsv_ruimte rr2, alg_ruimte a
|
||
WHERE rr2.alg_ruimte_key IS NOT NULL
|
||
AND rr2.alg_ruimte_key = a.alg_ruimte_key) rg,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND rg.alg_ruimte_key = r.alg_ruimte_key) rg,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE 1 = 1
|
||
AND rr.res_rsv_ruimte_contact_key = pf.prs_perslid_key
|
||
AND rr.prs_kostenplaats_key = nour_k.prs_kostenplaats_key
|
||
AND kl.prs_kenmerklink_waarde(+) = nour_k.debiteurnr
|
||
AND ac.prs_afdeling_key(+) = kl.prs_link_key
|
||
AND nour_ea.res_rsv_artikel_key(+) = rr.res_rsv_artikel_key
|
||
AND rr.res_rsv_ruimte_key = rg.res_rsv_ruimte_key(+);
|
||
|
||
|
||
CREATE OR REPLACE VIEW nour_v_export_resruimten
|
||
(
|
||
soort,
|
||
res_rsv_ruimte_key,
|
||
res_rsv_artikel_key,
|
||
res_rsv_deel_key,
|
||
res_rsv_ruimte_kosten_klant,
|
||
res_rsv_ruimte_ordernr,
|
||
ins_discipline_key,
|
||
kostenplaatscode,
|
||
debiteurnr,
|
||
kostensoort,
|
||
einddatum,
|
||
bedrag,
|
||
postkey,
|
||
valuta,
|
||
aantal,
|
||
btw,
|
||
res_reservering_key,
|
||
res_rsv_ruimte_volgnr,
|
||
datum,
|
||
ruimte_art_oms,
|
||
melder_key,
|
||
melder,
|
||
companycode,
|
||
stukprijs,
|
||
artikelgroep,
|
||
catalogus,
|
||
alg_locatie_key
|
||
)
|
||
AS
|
||
SELECT DISTINCT 'ruimte',
|
||
rr.res_rsv_ruimte_key,
|
||
rr.res_rsv_artikel_key,
|
||
rr.res_rsv_deel_key,
|
||
rr.res_rsv_ruimte_kosten_klant,
|
||
res_rsv_ruimte_ordernr,
|
||
nour_ea.ins_discipline_key,
|
||
nour_k.prs_kostenplaats_nr kostenplaatscode,
|
||
nour_k.debiteurnr,
|
||
nour_ea.kostensoort,
|
||
rr.res_rsv_ruimte_tot einddatum,
|
||
ROUND (COALESCE (res.getruimteprijs (rr.res_rsv_ruimte_key), 0), 2)
|
||
bedrag,
|
||
'40' postkey,
|
||
'EUR' valuta,
|
||
1 aantal,
|
||
'21' btw,
|
||
rr.res_reservering_key,
|
||
rr.res_rsv_ruimte_volgnr,
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'dd-mm-yyyy')
|
||
|| DECODE (rr.res_rsv_ruimte_van, NULL, NULL, ' / ')
|
||
|| TO_CHAR (rr.res_rsv_ruimte_tot, 'dd-mm-yyyy')
|
||
datum,
|
||
TRIM (res_ruimte_omschrijving) ruimte_art_oms,
|
||
pf.prs_perslid_key,
|
||
-- Indien non-resident host, dan de omschrijving (waar externe gastheer wordt ingevuld) naar SAP.
|
||
DECODE(pf.prs_perslid_key, 40727, COALESCE(res_rsv_ruimte_omschrijving, pf.prs_perslid_naam_full, ' '), COALESCE (pf.prs_perslid_naam_full, ' ') ) melder,
|
||
COALESCE(ac.companycode, 'LEEG') companycode,
|
||
ROUND (COALESCE (res.getruimteprijs (rr.res_rsv_ruimte_key), 0), 2)
|
||
stukprijs,
|
||
' ' artikelgroep,
|
||
nour_ea.ins_discipline_omschrijving catalogus,
|
||
rg.alg_locatie_key
|
||
FROM (SELECT rr.*, CAST(NULL AS NUMBER) res_rsv_artikel_key, CAST(NULL AS NUMBER) res_rsv_deel_key
|
||
FROM (SELECT rr.*, r.res_ruimte_key
|
||
FROM res_rsv_ruimte rr, res_ruimte_opstelling ro, res_ruimte r
|
||
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key = r.res_ruimte_key) rr
|
||
WHERE 1 = 1 AND res_rsv_ruimte_verwijder IS NULL AND rr.res_status_bo_key = 5) rr,
|
||
nour_v_kostenplaats nour_k,
|
||
(SELECT * FROM prs_kenmerklink
|
||
WHERE prs_kenmerk_key = 1380
|
||
AND prs_kenmerklink_verwijder IS NULL) kl,
|
||
nour_v_afdelingcompany ac,
|
||
(SELECT rg.res_discipline_key ins_discipline_key, d.ins_discipline_omschrijving, rg.res_ruimte_key,
|
||
ks.prs_kostensoort_oms kostensoort
|
||
FROM res_v_res_ruimte_gegevens rg, ins_tab_discipline d, prs_kostensoort ks
|
||
WHERE d.ins_discipline_key = rg.res_discipline_key
|
||
AND d.prs_kostensoort_key = ks.prs_kostensoort_key(+) ) nour_ea,
|
||
(SELECT l.alg_locatie_key,
|
||
rg.res_reservering_key,
|
||
rg.res_rsv_ruimte_key,
|
||
l.alg_locatie_code || '-' || rg.res_ruimte_nr res_ruimte_omschrijving
|
||
FROM (SELECT rr2.res_reservering_key, rr2.res_rsv_ruimte_key, rr.alg_ruimte_key, rr.res_ruimte_key, r.res_ruimte_nr res_ruimte_nr
|
||
FROM res_v_rsv_ruimte_2_alg_ruimte rr, res_rsv_ruimte rr2, res_ruimte r
|
||
WHERE rr2.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND rr.res_ruimte_key = r.res_ruimte_key) rg,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE r.alg_verdieping_key = v.alg_verdieping_key
|
||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||
AND g.alg_locatie_key = l.alg_locatie_key
|
||
AND rg.alg_ruimte_key = r.alg_ruimte_key) rg,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE 1 = 1
|
||
AND rr.res_reservering_key NOT IN (SELECT res_reservering_key FROM nour_v_ritten_reservering)
|
||
AND rr.res_rsv_ruimte_contact_key = pf.prs_perslid_key
|
||
AND rr.prs_kostenplaats_key = nour_k.prs_kostenplaats_key
|
||
AND kl.prs_kenmerklink_waarde(+) = nour_k.debiteurnr
|
||
AND ac.prs_afdeling_key(+) = kl.prs_link_key
|
||
AND nour_ea.res_ruimte_key(+) = rr.res_ruimte_key
|
||
AND rr.res_rsv_ruimte_key = rg.res_rsv_ruimte_key(+);
|
||
|
||
CREATE OR REPLACE VIEW nour_v_export_resritten
|
||
(
|
||
soort,
|
||
res_rsv_ruimte_key,
|
||
res_rsv_artikel_key,
|
||
res_rsv_deel_key,
|
||
res_rsv_ruimte_kosten_klant,
|
||
res_rsv_ruimte_ordernr,
|
||
ins_discipline_key,
|
||
kostenplaatscode,
|
||
debiteurnr,
|
||
kostensoort,
|
||
einddatum,
|
||
bedrag,
|
||
postkey,
|
||
valuta,
|
||
aantal,
|
||
btw,
|
||
res_reservering_key,
|
||
res_rsv_ruimte_volgnr,
|
||
datum,
|
||
ruimte_art_oms,
|
||
melder_key,
|
||
melder,
|
||
companycode,
|
||
stukprijs,
|
||
artikelgroep,
|
||
catalogus,
|
||
alg_locatie_key
|
||
)
|
||
AS
|
||
SELECT DISTINCT 'rit',
|
||
rr.res_rsv_ruimte_key,
|
||
rr.res_rsv_artikel_key,
|
||
rr.res_rsv_deel_key,
|
||
rr.res_rsv_ruimte_kosten_klant,
|
||
res_rsv_ruimte_ordernr,
|
||
nour_ea.ins_discipline_key,
|
||
nour_k.prs_kostenplaats_nr kostenplaatscode,
|
||
nour_k.debiteurnr,
|
||
nour_ea.kostensoort,
|
||
rr.res_rsv_ruimte_tot einddatum,
|
||
ROUND ( COALESCE (rit_sap.totaal, 0), 2)
|
||
bedrag,
|
||
'40' postkey,
|
||
'EUR' valuta,
|
||
1 aantal,
|
||
'21' btw,
|
||
rr.res_reservering_key,
|
||
rr.res_rsv_ruimte_volgnr,
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'dd-mm-yyyy')
|
||
|| DECODE (rr.res_rsv_ruimte_van, NULL, NULL, ' / ')
|
||
|| TO_CHAR (rr.res_rsv_ruimte_tot, 'dd-mm-yyyy')
|
||
datum,
|
||
TRIM (rit_sap.chauffeur) ruimte_art_oms,
|
||
pf.prs_perslid_key,
|
||
DECODE(rit_sap.rit_nonresidentpass,
|
||
NULL, pf.prs_perslid_naam_full,
|
||
res_rsv_ruimte_omschrijving)
|
||
melder,
|
||
COALESCE(ac.companycode, 'LEEG') companycode,
|
||
ROUND ( COALESCE (rit_sap.totaal, 0), 2)
|
||
stukprijs,
|
||
'' artikelgroep,
|
||
nour_ea.ins_discipline_omschrijving catalogus,
|
||
0 alg_locatie_key
|
||
FROM (SELECT rr.*, CAST(NULL AS NUMBER) res_rsv_artikel_key, CAST(NULL AS NUMBER) res_rsv_deel_key
|
||
FROM (SELECT rr.*, r.res_ruimte_key
|
||
FROM res_rsv_ruimte rr, res_ruimte_opstelling ro, res_ruimte r
|
||
WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key = r.res_ruimte_key) rr
|
||
WHERE 1 = 1 AND res_rsv_ruimte_verwijder IS NULL AND rr.res_status_bo_key = 5) rr,
|
||
nour_v_kostenplaats nour_k,
|
||
(SELECT * FROM prs_kenmerklink
|
||
WHERE prs_kenmerk_key = 1380
|
||
AND prs_kenmerklink_verwijder IS NULL) kl,
|
||
nour_v_afdelingcompany ac,
|
||
(SELECT rg.res_discipline_key ins_discipline_key, d.ins_discipline_omschrijving, rg.res_ruimte_key,
|
||
ks.prs_kostensoort_oms kostensoort
|
||
FROM res_v_res_ruimte_gegevens rg, ins_tab_discipline d, prs_kostensoort ks
|
||
WHERE d.ins_discipline_key = rg.res_discipline_key
|
||
AND d.prs_kostensoort_key = ks.prs_kostensoort_key(+) ) nour_ea,
|
||
prs_v_perslid_fullnames_all pf,
|
||
nour_v_ritten_doorbelast_sap rit_sap
|
||
WHERE rr.res_rsv_ruimte_contact_key = pf.prs_perslid_key
|
||
AND rr.res_rsv_ruimte_key = rit_sap.res_rsv_ruimte_key
|
||
AND rr.prs_kostenplaats_key = nour_k.prs_kostenplaats_key
|
||
AND kl.prs_kenmerklink_waarde(+) = nour_k.debiteurnr
|
||
AND ac.prs_afdeling_key(+) = kl.prs_link_key
|
||
AND nour_ea.res_ruimte_key(+) = rr.res_ruimte_key;
|
||
|
||
--- BASISVIEWS LOGISTIEK -------------------------------------------------------
|
||
|
||
CREATE OR REPLACE VIEW nour_v_kpn_logistiek
|
||
AS
|
||
SELECT prs_kostenplaats_key,
|
||
prs_kostenplaats_omschrijving || ' - ' || prs_kostenplaats_nr kpn,
|
||
prs_kostenplaats_verwijder
|
||
FROM prs_kostenplaats;
|
||
|
||
-- AKZA#23427: Logistieke dienst / postkamer / expeditie
|
||
-- View voor berekening kosten/opbrengsten van door postkamer verleende diensten.
|
||
-- Views voor rapportage en doorbelasting.
|
||
|
||
----- PRIJSLIJST (Eigen tabel met vaste bedragen voor verleende diensten) -----
|
||
-- Bezorgen van goederen per levering
|
||
-- Bezorgen van goederen op afleveradres (p/levering) 1749
|
||
-- Bezorgen van goederen op pallet (p/levering) 1750
|
||
-- Spoed bezorgen van goederen (p/levering) 1751
|
||
-- Spoed bezorgen van goederen op pallet (p/levering) 1752
|
||
-- Bezorgen toner / papier (p/st) 1753
|
||
-- Expeditie transportkosten
|
||
-- Verzending voorbereiden binnen Europa 1755
|
||
-- Verzending voorbereiden binnen Europa gevaarlijk 1756
|
||
-- Verzending voorbereiden binnenland 1757
|
||
-- Verzending voorbereiden binnenland gevaarlijk 1758
|
||
-- Verzending voorbereiden buiten Europa 1759
|
||
-- Verzending voorbereiden buiten Europa gevaarlijk 1760
|
||
-- Koerierszendingen/aangetekende poststukken ex.verzendkosten
|
||
-- Koerier DHL met bekend adres in het systeem (p/st) 1764
|
||
-- Koerier DHL met onbekend adres in het systeem (p/st) 1765
|
||
-- Koerier DHL terugkoppeling (p/recu) 1766
|
||
-- Afhandeling per levering
|
||
-- Afboeken van ontvangen goederen 1769
|
||
-- Controleren van ontvangen goederen 1770
|
||
-- Ontvangen/sorteren van goederen met naam 1771
|
||
-- Ontvangen/sorteren van goederen zonder naam 1772
|
||
-- Gecombineerd ophalen/bezorgen
|
||
-- Ophalen en bezorgen van bulkpakketten op pallet (OHZ) 1775
|
||
-- Ophalen en bezorgen van (lunch)pakketten (HZ) 1774
|
||
-- Ophalen van goederen
|
||
-- Ophalen van pakketten (HZP) 1777
|
||
-- Ophalen van bulk pakketten op pallet (OHZP) 1778
|
||
-- Algemene maandelijkse kosten
|
||
-- Opslagkosten kelder C2 (p/pallet) 1780
|
||
-- Verwerkingskosten
|
||
-- Verwerkingstijd: mailing, verz.exp., ontv.goed. (p/kwartier) 1782
|
||
-- Toner/papier:
|
||
-- Bezorgen toner/papier (p/st) 2172
|
||
-- Vaste kosten:
|
||
-- Looprondes (p/maand) 2176
|
||
-- Dagblad bezorgen (p/maand) 2177
|
||
-- Opslag container 2197
|
||
|
||
-- View voor berekening kosten/opbrengsten van door postkamer verleende diensten.
|
||
-- Dit zijn diverse meldingen en opdrachten en bezorgde lunchpakketten (RES)
|
||
-- Voor (vrijwel) elke handeling geldt een bepaald basisbedrag, met daarbij een
|
||
-- aantal toeslagen (voor gevaarlijke goederen, spoed etc).
|
||
-- Deze view bevat alle benodigde gegevens voor de management info rapportages en
|
||
-- de view(s) voor doorbelasting.
|
||
-- Alleen afgehandelde zaken zijn relevant, dus de volgende statussen:
|
||
-- - melding:
|
||
-- 5 Afgemeld
|
||
-- 6 Historie
|
||
-- - opdracht:
|
||
-- 6 Afgemeld
|
||
-- 7 Verwerkt
|
||
-- 9 Afgerond
|
||
-- - reservering:
|
||
-- 5 Afgemeld
|
||
-- 6 Verwerkt
|
||
-- Doorbelaste bedragen worden historisch vastgelegd in een read-only kenmerk bij
|
||
-- meldingen en opdrachten (kenmerksoort 462):
|
||
-- - vakgroeptype Logistiek: kenmerk 562
|
||
-- - opdrachttype Verzending NL: kenmerk 566
|
||
-- - opdrachttype Verzending EU: kenmerk 565
|
||
-- - opdrachttype Verzending WW: kenmerk 567
|
||
--TODO: crediteurnr = COALESCE( company_van(behandelaar), '0801')
|
||
CREATE OR REPLACE VIEW nour_v_logistiek_doorbel
|
||
AS
|
||
SELECT key,
|
||
xmlnode,
|
||
nummer,
|
||
melder,
|
||
melding,
|
||
vakgroep,
|
||
datum,
|
||
status,
|
||
einddatum,
|
||
kostenplaats_key,
|
||
kostenplaats_nr,
|
||
kostenplaats_oms,
|
||
ordernr,
|
||
po_nr,
|
||
kostensoort,
|
||
stuks, gewicht, verwerkingstijd,
|
||
opgehaald, onhandzaam, gevaarlijk, spoed,
|
||
onb_adr,
|
||
basistarief, afgeboekt, gecontroleerd, bezorgd,
|
||
aangetekend, terugkoppel,
|
||
mailing, couverteren,
|
||
ophaalkosten, materiaalkosten,
|
||
verwerkingskosten,
|
||
totaal_kosten,
|
||
doorbelast doorbelast_bedrag
|
||
FROM (
|
||
-- Ontvangst goederen:
|
||
-- Goederen op naam 1041
|
||
-- Goederen zonder naam 1042
|
||
-- Kenmerken vakgroep:
|
||
-- Onhandzaam pakket 521
|
||
-- Aantal stuks 401
|
||
-- Afgeboekt 408
|
||
-- Gecontroleerd 417
|
||
-- Bezorgd 413
|
||
-- Verwerkingstijd 447
|
||
-- PO-nummer 434
|
||
-- Prijslijst:
|
||
-- Bezorgen van goederen per levering
|
||
-- Bezorgen van goederen op afleveradres (p/levering) 1749
|
||
-- Bezorgen van goederen op pallet (p/levering) 1750
|
||
-- Spoed bezorgen van goederen (p/levering) 1751
|
||
-- Spoed bezorgen van goederen op pallet (p/levering) 1752
|
||
-- Afhandeling per levering
|
||
-- Afboeken van ontvangen goederen 1769
|
||
-- Controleren van ontvangen goederen 1770
|
||
-- Ontvangen/sorteren van goederen met naam 1771
|
||
-- Ontvangen/sorteren van goederen zonder naam 1772
|
||
-- Verwerkingskosten
|
||
-- Verwerkingstijd: mailing, verz.exp., ontv.goed. (p/kwartier) 1782
|
||
SELECT key, 'melding' xmlnode, nummer, datum, einddatum, status, melder,
|
||
melding, vakgroep, kostenplaats_key, kostenplaats_nr, kostenplaats_oms, ordernr, po_nr, kostensoort,
|
||
stuks, NULL gewicht, verwerkingstijd,
|
||
NULL opgehaald, onhandzaam, NULL gevaarlijk, spoed,
|
||
NULL onb_adr,
|
||
basistarief, afgeboekt, gecontroleerd, bezorgd,
|
||
NULL aangetekend, NULL terugkoppel,
|
||
NULL mailing, NULL couverteren,
|
||
NULL ophaalkosten, NULL materiaalkosten,
|
||
verwerkingskosten,
|
||
basistarief + afgeboekt + gecontroleerd + bezorgd + verwerkingskosten totaal_kosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT m.mld_melding_key key,
|
||
'L'||m.mld_melding_key nummer,
|
||
m.mld_melding_status status,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
s.mld_stdmelding_omschrijving melding,
|
||
d.ins_discipline_omschrijving vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
m.mld_melding_ordernr ordernr,
|
||
po_nr.mld_kenmerkmelding_waarde po_nr,
|
||
ks.prs_kostensoort_oms kostensoort,
|
||
pf.prs_perslid_naam_full melder,
|
||
fac.safe_to_number(stuks.mld_kenmerkmelding_waarde) stuks,
|
||
fac.safe_to_number(ohz.mld_kenmerkmelding_waarde) onhandzaam,
|
||
opzondernaam.fac_usrdata_prijs basistarief,
|
||
DECODE(SIGN(2.5-m.mld_melding_spoed),
|
||
-1, NULL,
|
||
1, 1)
|
||
spoed,
|
||
COALESCE( fac.safe_to_number(afgeboekt.mld_kenmerkmelding_waarde), 0)
|
||
* (SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key = 1769)
|
||
afgeboekt,
|
||
COALESCE( fac.safe_to_number(gecontroleerd.mld_kenmerkmelding_waarde), 0)
|
||
* (SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key = 1770)
|
||
gecontroleerd,
|
||
COALESCE( fac.safe_to_number(bezorgd.mld_kenmerkmelding_waarde), 0)
|
||
* (SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
DECODE(COALESCE( fac.safe_to_number(ohz.mld_kenmerkmelding_waarde), 0),
|
||
0, DECODE(SIGN(2.5-m.mld_melding_spoed),
|
||
-1, 1749, -- hz, norm
|
||
1, 1751), -- hz, spoed)
|
||
1, DECODE(SIGN(2.5-m.mld_melding_spoed),
|
||
-1, 1750, -- ohz
|
||
1, 1752) ) ) -- ohz, spoed
|
||
bezorgd,
|
||
COALESCE( fac.safe_to_number(verwerkingstijd.mld_kenmerkmelding_waarde), 0) verwerkingstijd,
|
||
COALESCE( fac.safe_to_number(verwerkingstijd.mld_kenmerkmelding_waarde), 0)
|
||
* (SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key = 1782)
|
||
verwerkingskosten,
|
||
fac.safe_to_number(doorbel.mld_kenmerkmelding_waarde) doorbelast
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline d,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 521
|
||
AND mld_kenmerkmelding_verwijder IS NULL) ohz,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 401
|
||
AND mld_kenmerkmelding_verwijder IS NULL) stuks,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 408
|
||
AND mld_kenmerkmelding_verwijder IS NULL) afgeboekt,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 417
|
||
AND mld_kenmerkmelding_verwijder IS NULL) gecontroleerd,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 413
|
||
AND mld_kenmerkmelding_verwijder IS NULL) bezorgd,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 447
|
||
AND mld_kenmerkmelding_verwijder IS NULL) verwerkingstijd,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 434
|
||
AND mld_kenmerkmelding_verwijder IS NULL) po_nr,
|
||
fac_usrdata opzondernaam,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 562
|
||
AND mld_kenmerkmelding_verwijder IS NULL) doorbel
|
||
WHERE m.mld_stdmelding_key IN (1041, 1042)
|
||
AND m.mld_melding_status IN (5,6)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND ak.prs_kostenplaats_key = m.prs_kostenplaats_key
|
||
AND ks.prs_kostensoort_key = s.prs_kostensoort_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND opzondernaam.fac_usrdata_key = DECODE(m.mld_stdmelding_key,
|
||
1042, 1772,
|
||
1771)
|
||
AND ohz.mld_melding_key(+) = m.mld_melding_key
|
||
AND stuks.mld_melding_key(+) = m.mld_melding_key
|
||
AND afgeboekt.mld_melding_key(+) = m.mld_melding_key
|
||
AND gecontroleerd.mld_melding_key(+) = m.mld_melding_key
|
||
AND bezorgd.mld_melding_key(+) = m.mld_melding_key
|
||
AND verwerkingstijd.mld_melding_key(+) = m.mld_melding_key
|
||
AND po_nr.mld_melding_key(+) = m.mld_melding_key
|
||
AND doorbel.mld_melding_key(+) = m.mld_melding_key
|
||
)
|
||
UNION ALL
|
||
-- Intern pakket ophalen en bezorgen
|
||
-- stdmelding_key 1043
|
||
-- Kenmerken:
|
||
-- Onhandzaam pakket 431
|
||
-- Prijslijst:
|
||
-- Ophalen en bezorgen van (lunch)pakketten (HZ) 1774
|
||
-- Ophalen en bezorgen van bulkpakketten op pallet (OHZ) 1775
|
||
SELECT key, 'melding' xmlnode, nummer, datum, einddatum, status, melder,
|
||
melding, vakgroep, kostenplaats_key, kostenplaats_nr, kostenplaats_oms, ordernr, NULL po_nr, kostensoort,
|
||
NULL stuks, NULL gewicht, NULL verwerkingstijd,
|
||
NULL opgehaald, onhandzaam, NULL gevaarlijk, NULL spoed,
|
||
NULL onb_adr,
|
||
totaal_kosten basistarief, NULL afgeboekt, NULL gecontroleerd, NULL bezorgd,
|
||
NULL aangetekend,NULL terugkoppel,
|
||
NULL mailing, NULL couverteren,
|
||
NULL ophaalkosten, NULL materiaalkosten,
|
||
NULL verwerkingskosten,
|
||
totaal_kosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT m.mld_melding_key key,
|
||
'L'||m.mld_melding_key nummer,
|
||
m.mld_melding_status status,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
s.mld_stdmelding_omschrijving melding,
|
||
d.ins_discipline_omschrijving vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
m.mld_melding_ordernr ordernr,
|
||
ks.prs_kostensoort_oms kostensoort,
|
||
pf.prs_perslid_naam_full melder,
|
||
COALESCE( fac.safe_to_number(ohz.mld_kenmerkmelding_waarde), 0) onhandzaam,
|
||
(SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
DECODE(COALESCE( fac.safe_to_number(ohz.mld_kenmerkmelding_waarde), 0),
|
||
0, 1774,
|
||
1, 1775) )
|
||
totaal_kosten,
|
||
fac.safe_to_number(doorbel.mld_kenmerkmelding_waarde) doorbelast
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline d,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 431
|
||
AND mld_kenmerkmelding_verwijder IS NULL) ohz,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 562
|
||
AND mld_kenmerkmelding_verwijder IS NULL) doorbel
|
||
WHERE m.mld_stdmelding_key = 1043
|
||
AND m.mld_melding_status IN (5,6)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND ak.prs_kostenplaats_key = m.prs_kostenplaats_key
|
||
AND ks.prs_kostensoort_key = s.prs_kostensoort_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND ohz.mld_melding_key(+) = m.mld_melding_key
|
||
AND doorbel.mld_melding_key(+) = m.mld_melding_key
|
||
)
|
||
UNION ALL
|
||
-- Verzending koerier
|
||
-- stdmelding_key 1044
|
||
-- Kenmerken melding + usrtabs:
|
||
-- Aangetekend verzenden 398
|
||
-- Aangetekend 483
|
||
-- Verzending terugkoppelen 449
|
||
-- Onbekend adres 430
|
||
-- Prijslijst:
|
||
-- Koerier DHL met bekend adres in het systeem (p/st) 1764
|
||
-- Koerier DHL met onbekend adres in het systeem (p/st) 1765
|
||
-- Koerier DHL terugkoppeling (p/recu) 1766
|
||
SELECT key, 'melding' xmlnode, nummer, datum, einddatum, status, melder,
|
||
melding, vakgroep, kostenplaats_key, kostenplaats_nr, kostenplaats_oms, ordernr, NULL po_nr, kostensoort,
|
||
NULL stuks, NULL gewicht, NULL verwerkingstijd,
|
||
NULL opgehaald, NULL onhandzaam, NULL gevaarlijk, NULL spoed,
|
||
onb_adr,
|
||
basistarief, NULL afgeboekt, NULL gecontroleerd, NULL bezorgd,
|
||
aangetekend, terugkoppel,
|
||
NULL mailing, NULL couverteren,
|
||
NULL ophaalkosten, NULL materiaalkosten,
|
||
NULL verwerkingskosten,
|
||
basistarief + aangetekend + terugkoppel totaal_kosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT m.mld_melding_key key,
|
||
'L'||m.mld_melding_key nummer,
|
||
m.mld_melding_status status,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
s.mld_stdmelding_omschrijving melding,
|
||
d.ins_discipline_omschrijving vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
m.mld_melding_ordernr ordernr,
|
||
ks.prs_kostensoort_oms kostensoort,
|
||
pf.prs_perslid_naam_full melder,
|
||
COALESCE( fac.safe_to_number(onb_adr.mld_kenmerkmelding_waarde), 0) onb_adr,
|
||
(SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
DECODE(COALESCE( fac.safe_to_number(onb_adr.mld_kenmerkmelding_waarde), 0),
|
||
1, 1765,
|
||
0, 1764) )
|
||
basistarief,
|
||
ud.fac_usrdata_prijs aangetekend,
|
||
COALESCE( fac.safe_to_number(terugkoppel.mld_kenmerkmelding_waarde), 0)
|
||
* (SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key = 1766)
|
||
terugkoppel,
|
||
fac.safe_to_number(doorbel.mld_kenmerkmelding_waarde) doorbelast
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline d,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 398
|
||
AND mld_kenmerkmelding_verwijder IS NULL) aangetekend,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 449
|
||
AND mld_kenmerkmelding_verwijder IS NULL) terugkoppel,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 430
|
||
AND mld_kenmerkmelding_verwijder IS NULL) onb_adr,
|
||
(SELECT * FROM fac_usrdata WHERE fac_usrtab_key = 483) ud,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 562
|
||
AND mld_kenmerkmelding_verwijder IS NULL) doorbel
|
||
WHERE m.mld_stdmelding_key = 1044
|
||
AND m.mld_melding_status IN (5,6)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND ak.prs_kostenplaats_key = m.prs_kostenplaats_key
|
||
AND ks.prs_kostensoort_key = s.prs_kostensoort_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND aangetekend.mld_melding_key(+) = m.mld_melding_key
|
||
AND ud.fac_usrdata_key(+) = fac.safe_to_number(aangetekend.mld_kenmerkmelding_waarde)
|
||
AND terugkoppel.mld_melding_key(+) = m.mld_melding_key
|
||
AND onb_adr.mld_melding_key(+) = m.mld_melding_key
|
||
AND doorbel.mld_melding_key(+) = m.mld_melding_key
|
||
)
|
||
UNION ALL
|
||
-- Mailing
|
||
-- stdmelding_key 1045
|
||
-- Kenmerken melding + usrtabs:
|
||
-- Vellen 443
|
||
-- Mailing 480
|
||
-- Gewicht 482
|
||
-- Couverteren 480
|
||
-- Couverteren 474
|
||
-- Aantal stuks 483
|
||
-- Verwerkingstijd 446
|
||
-- Prijslijst:
|
||
-- Verwerkingstijd: mailing, verz.exp., ontv.goed. (p/kwartier) 1782
|
||
SELECT key,'melding' xmlnode, nummer, datum, einddatum, status, melder,
|
||
melding, vakgroep, kostenplaats_key, kostenplaats_nr, kostenplaats_oms, ordernr, NULL po_nr, kostensoort,
|
||
stuks, gewicht, verwerkingstijd,
|
||
NULL opgehaald, NULL onhandzaam, NULL gevaarlijk, NULL spoed,
|
||
NULL onb_adr,
|
||
0 basistarief, NULL afgeboekt, NULL gecontroleerd, NULL bezorgd,
|
||
NULL aangetekend, NULL terugkoppel,
|
||
gewicht * vellen mailing, stuks/100 * couverteren couverteren,
|
||
NULL ophaalkosten, NULL materiaalkosten,
|
||
verwerkingskosten,
|
||
gewicht * vellen + stuks/100 * couverteren + verwerkingskosten totaal_kosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT m.mld_melding_key key,
|
||
'L'||m.mld_melding_key nummer,
|
||
m.mld_melding_status status,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
s.mld_stdmelding_omschrijving melding,
|
||
d.ins_discipline_omschrijving vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
m.mld_melding_ordernr ordernr,
|
||
ks.prs_kostensoort_oms kostensoort,
|
||
pf.prs_perslid_naam_full melder,
|
||
COALESCE( fac.safe_to_number(gewicht.mld_kenmerkmelding_waarde), 0) gewicht,
|
||
COALESCE( fac.safe_to_number(stuks.mld_kenmerkmelding_waarde), 0) stuks,
|
||
COALESCE( fac.safe_to_number(verwerkingstijd.mld_kenmerkmelding_waarde), 0) verwerkingstijd,
|
||
mail.fac_usrdata_prijs vellen,
|
||
couv.fac_usrdata_prijs couverteren,
|
||
COALESCE( fac.safe_to_number(verwerkingstijd.mld_kenmerkmelding_waarde), 0)
|
||
* (SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key = 1782)
|
||
verwerkingskosten,
|
||
fac.safe_to_number(doorbel.mld_kenmerkmelding_waarde) doorbelast
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline d,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 443
|
||
AND mld_kenmerkmelding_verwijder IS NULL) vel,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 482
|
||
AND mld_kenmerkmelding_verwijder IS NULL) gewicht,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 480
|
||
AND mld_kenmerkmelding_verwijder IS NULL) couvert,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 483
|
||
AND mld_kenmerkmelding_verwijder IS NULL) stuks,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 446
|
||
AND mld_kenmerkmelding_verwijder IS NULL) verwerkingstijd,
|
||
(SELECT * FROM fac_usrdata WHERE fac_usrtab_key = 480) mail,
|
||
(SELECT * FROM fac_usrdata WHERE fac_usrtab_key = 474) couv,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 562
|
||
AND mld_kenmerkmelding_verwijder IS NULL) doorbel
|
||
WHERE m.mld_stdmelding_key = 1045
|
||
AND m.mld_melding_status IN (5,6)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND ak.prs_kostenplaats_key = m.prs_kostenplaats_key
|
||
AND ks.prs_kostensoort_key = s.prs_kostensoort_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND vel.mld_melding_key(+) = m.mld_melding_key
|
||
AND mail.fac_usrdata_key(+) = fac.safe_to_number(vel.mld_kenmerkmelding_waarde)
|
||
AND gewicht.mld_melding_key(+) = m.mld_melding_key
|
||
AND couvert.mld_melding_key(+) = m.mld_melding_key
|
||
AND couv.fac_usrdata_key(+) = fac.safe_to_number(couvert.mld_kenmerkmelding_waarde)
|
||
AND stuks.mld_melding_key(+) = m.mld_melding_key
|
||
AND verwerkingstijd.mld_melding_key(+) = m.mld_melding_key
|
||
AND doorbel.mld_melding_key(+) = m.mld_melding_key
|
||
)
|
||
UNION ALL
|
||
-- Maandrapportage postale diensten
|
||
-- stdmelding_key 1046
|
||
-- Kenmerken:
|
||
-- Kostenplaats 420
|
||
-- Bedrag 411
|
||
SELECT key, 'melding' xmlnode, nummer, datum, einddatum, status, melder,
|
||
melding, vakgroep, kostenplaats_key, kostenplaats_nr, kostenplaats_oms, ordernr, NULL po_nr, kostensoort,
|
||
NULL stuks, NULL gewicht, NULL verwerkingstijd,
|
||
NULL opgehaald, NULL onhandzaam, NULL gevaarlijk, NULL spoed,
|
||
NULL onb_adr,
|
||
bedrag basistarief, NULL afgeboekt, NULL gecontroleerd, NULL bezorgd,
|
||
NULL aangetekend, NULL terugkoppel,
|
||
NULL mailing, NULL couverteren,
|
||
NULL ophaalkosten, NULL materiaalkosten,
|
||
NULL verwerkingskosten,
|
||
bedrag totaal_kosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT m.mld_melding_key key,
|
||
'L'||m.mld_melding_key nummer,
|
||
m.mld_melding_status status,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
s.mld_stdmelding_omschrijving melding,
|
||
d.ins_discipline_omschrijving vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
m.mld_melding_ordernr ordernr,
|
||
ks.prs_kostensoort_oms kostensoort,
|
||
pf.prs_perslid_naam_full melder,
|
||
COALESCE( fac.safe_to_number(bedrag.mld_kenmerkmelding_waarde), 0) bedrag,
|
||
fac.safe_to_number(doorbel.mld_kenmerkmelding_waarde) doorbelast
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline d,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 420
|
||
AND mld_kenmerkmelding_verwijder IS NULL) kpn,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 411
|
||
AND mld_kenmerkmelding_verwijder IS NULL) bedrag,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 562
|
||
AND mld_kenmerkmelding_verwijder IS NULL) doorbel
|
||
WHERE m.mld_stdmelding_key = 1046
|
||
AND m.mld_melding_status IN (5,6)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND kpn.mld_melding_key(+) = m.mld_melding_key
|
||
AND ak.prs_kostenplaats_key(+) = fac.safe_to_number(kpn.mld_kenmerkmelding_waarde)
|
||
AND ks.prs_kostensoort_key = s.prs_kostensoort_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND bedrag.mld_melding_key(+) = m.mld_melding_key
|
||
AND doorbel.mld_melding_key(+) = m.mld_melding_key
|
||
)
|
||
UNION ALL
|
||
-- Vaste kosten
|
||
-- stdmelding_key 1101
|
||
-- Kenmerken:
|
||
-- Kostenplaats 564
|
||
-- Postrondes 561
|
||
-- Dagbladen 563
|
||
-- Opslag containers 621
|
||
-- Prijslijst:
|
||
-- Looprondes (p/maand) 2176
|
||
-- Dagblad bezorgen (p/maand) 2177
|
||
-- Opslag container 2197
|
||
SELECT key, 'melding' xmlnode, nummer, datum, einddatum, status, melder,
|
||
melding, vakgroep, kostenplaats_key, kostenplaats_nr, kostenplaats_oms, ordernr, NULL po_nr, kostensoort,
|
||
NULL stuks, NULL gewicht, NULL verwerkingstijd,
|
||
NULL opgehaald, NULL onhandzaam, NULL gevaarlijk, NULL spoed,
|
||
NULL onb_adr,
|
||
postrondes + dagbladen + containers basistarief, NULL afgeboekt, NULL gecontroleerd, NULL bezorgd,
|
||
NULL aangetekend, NULL terugkoppel,
|
||
NULL mailing, NULL couverteren,
|
||
NULL ophaalkosten, NULL materiaalkosten,
|
||
NULL verwerkingskosten,
|
||
postrondes + dagbladen + containers totaal_kosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT m.mld_melding_key key,
|
||
'L'||m.mld_melding_key nummer,
|
||
m.mld_melding_status status,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
s.mld_stdmelding_omschrijving melding,
|
||
d.ins_discipline_omschrijving vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
m.mld_melding_ordernr ordernr,
|
||
ks.prs_kostensoort_oms kostensoort,
|
||
pf.prs_perslid_naam_full melder,
|
||
COALESCE( fac.safe_to_number(pr.mld_kenmerkmelding_waarde), 0) postrondes,
|
||
COALESCE( fac.safe_to_number(db.mld_kenmerkmelding_waarde), 0) dagbladen,
|
||
COALESCE( fac.safe_to_number(oc.mld_kenmerkmelding_waarde), 0) containers,
|
||
fac.safe_to_number(doorbel.mld_kenmerkmelding_waarde) doorbelast
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline d,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 564
|
||
AND mld_kenmerkmelding_verwijder IS NULL) kpn,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 561
|
||
AND mld_kenmerkmelding_verwijder IS NULL) pr,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 563
|
||
AND mld_kenmerkmelding_verwijder IS NULL) db,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 621
|
||
AND mld_kenmerkmelding_verwijder IS NULL) oc,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 562
|
||
AND mld_kenmerkmelding_verwijder IS NULL) doorbel
|
||
WHERE m.mld_stdmelding_key = 1101
|
||
AND m.mld_melding_status IN (5,6)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND kpn.mld_melding_key(+) = m.mld_melding_key
|
||
AND ak.prs_kostenplaats_key(+) = fac.safe_to_number(kpn.mld_kenmerkmelding_waarde)
|
||
AND ks.prs_kostensoort_key = s.prs_kostensoort_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND pr.mld_melding_key(+) = m.mld_melding_key
|
||
AND oc.mld_melding_key(+) = m.mld_melding_key
|
||
AND db.mld_melding_key(+) = m.mld_melding_key
|
||
AND doorbel.mld_melding_key(+) = m.mld_melding_key
|
||
)
|
||
UNION ALL
|
||
-- Toners/olie/nietjes
|
||
-- stdmelding_key 1047
|
||
-- Kenmerken melding + usrtabs:
|
||
-- Kostenplaats 415
|
||
-- #Zwarte toner 452
|
||
-- #Rode toner 440
|
||
-- #Gele toner 418
|
||
-- #Blauwe toner 414
|
||
-- Olie 429
|
||
-- Nietjes 428
|
||
-- Prijslijst:
|
||
-- Bezorgen toner/papier (p/st) 2172
|
||
SELECT key, 'melding' xmlnode, nummer, datum, einddatum, status, melder,
|
||
melding, vakgroep, kostenplaats_key, kostenplaats_nr, kostenplaats_oms, ordernr, NULL po_nr, kostensoort,
|
||
(z+r+g+b+o+n) stuks, NULL gewicht, NULL verwerkingstijd,
|
||
NULL opgehaald, NULL onhandzaam, NULL gevaarlijk, NULL spoed,
|
||
NULL onb_adr,
|
||
0 basistarief, NULL afgeboekt, NULL gecontroleerd, NULL bezorgd,
|
||
NULL aangetekend, NULL terugkoppel,
|
||
NULL mailing, NULL couverteren,
|
||
NULL ophaalkosten, NULL materiaalkosten,
|
||
NULL verwerkingskosten,
|
||
(z+r+g+b+o+n) * stuksprijs totaal_kosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT m.mld_melding_key key,
|
||
'L'||m.mld_melding_key nummer,
|
||
m.mld_melding_status status,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
s.mld_stdmelding_omschrijving melding,
|
||
d.ins_discipline_omschrijving vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
m.mld_melding_ordernr ordernr,
|
||
ks.prs_kostensoort_oms kostensoort,
|
||
pf.prs_perslid_naam_full melder,
|
||
fac.safe_to_number(kpn.mld_kenmerkmelding_waarde) fkpn,
|
||
m.prs_kostenplaats_key mkpn,
|
||
COALESCE( fac.safe_to_number(zwart.mld_kenmerkmelding_waarde) , 0 ) z,
|
||
COALESCE( fac.safe_to_number(rood.mld_kenmerkmelding_waarde), 0 ) r,
|
||
COALESCE( fac.safe_to_number(geel.mld_kenmerkmelding_waarde), 0 ) g,
|
||
COALESCE( fac.safe_to_number(blauw.mld_kenmerkmelding_waarde), 0 ) b,
|
||
COALESCE( fac.safe_to_number(olie.mld_kenmerkmelding_waarde), 0 ) o,
|
||
COALESCE( fac.safe_to_number(nietjes.mld_kenmerkmelding_waarde), 0 ) n,
|
||
(SELECT fac_usrdata_prijs FROM fac_usrdata WHERE fac_usrdata_key = 2172) stuksprijs,
|
||
fac.safe_to_number(doorbel.mld_kenmerkmelding_waarde) doorbelast
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline d,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 415
|
||
AND mld_kenmerkmelding_verwijder IS NULL) kpn,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 452
|
||
AND mld_kenmerkmelding_verwijder IS NULL) zwart,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 440
|
||
AND mld_kenmerkmelding_verwijder IS NULL) rood,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 418
|
||
AND mld_kenmerkmelding_verwijder IS NULL) geel,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 414
|
||
AND mld_kenmerkmelding_verwijder IS NULL) blauw,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 429
|
||
AND mld_kenmerkmelding_verwijder IS NULL) olie,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 428
|
||
AND mld_kenmerkmelding_verwijder IS NULL) nietjes,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 562
|
||
AND mld_kenmerkmelding_verwijder IS NULL) doorbel
|
||
WHERE m.mld_stdmelding_key = 1047
|
||
AND m.mld_melding_status IN (5,6)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND kpn.mld_melding_key(+) = m.mld_melding_key
|
||
AND ak.prs_kostenplaats_key(+) = fac.safe_to_number(kpn.mld_kenmerkmelding_waarde)
|
||
AND ks.prs_kostensoort_key = s.prs_kostensoort_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND zwart.mld_melding_key(+) = m.mld_melding_key
|
||
AND rood.mld_melding_key(+) = m.mld_melding_key
|
||
AND geel.mld_melding_key(+) = m.mld_melding_key
|
||
AND blauw.mld_melding_key(+) = m.mld_melding_key
|
||
AND olie.mld_melding_key(+) = m.mld_melding_key
|
||
AND nietjes.mld_melding_key(+) = m.mld_melding_key
|
||
AND doorbel.mld_melding_key(+) = m.mld_melding_key
|
||
)
|
||
UNION ALL
|
||
-- Papier
|
||
-- stdmelding_key 1048
|
||
-- Kenmerken melding + usrtabs:
|
||
-- Kostenplaats 415
|
||
-- #dozen A4 399
|
||
-- #pakken A3 400
|
||
-- Prijslijst:
|
||
-- Bezorgen toner/papier (p/st) 2172
|
||
-- A4 (doos, inc bezorg, Teijin) 2173
|
||
-- A3 (pak, inc bezorg, Teijin) 2174
|
||
SELECT key, 'melding' xmlnode, nummer, datum, einddatum, status, melder,
|
||
melding, vakgroep, kostenplaats_key, kostenplaats_nr, kostenplaats_oms, ordernr, NULL po_nr, kostensoort,
|
||
(a4 + a3) stuks, NULL gewicht, NULL verwerkingstijd,
|
||
NULL opgehaald, NULL onhandzaam, NULL gevaarlijk, NULL spoed,
|
||
NULL onb_adr,
|
||
0 basistarief, NULL afgeboekt, NULL gecontroleerd, NULL bezorgd,
|
||
NULL aangetekend, NULL terugkoppel,
|
||
NULL mailing, NULL couverteren,
|
||
NULL ophaalkosten, NULL materiaalkosten,
|
||
NULL verwerkingskosten,
|
||
-- Papier wordt alleen aan Teijin doorbelast; Akzo betaalt alleen bezorging
|
||
CASE
|
||
WHEN prs_kostenplaats_key IN
|
||
(SELECT prs_kostenplaats_key
|
||
FROM prs_v_aanwezigkostenplaats
|
||
WHERE prs_kostenplaatsgrp_key IN (14,15) )
|
||
THEN (a4 * prijs_a4) + (a3 * prijs_a3)
|
||
ELSE (a4 + a3) * bezorging
|
||
END
|
||
totaal_kosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT m.mld_melding_key key,
|
||
'L'||m.mld_melding_key nummer,
|
||
m.mld_melding_status status,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
s.mld_stdmelding_omschrijving melding,
|
||
d.ins_discipline_omschrijving vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
m.mld_melding_ordernr ordernr,
|
||
ks.prs_kostensoort_oms kostensoort,
|
||
pf.prs_perslid_naam_full melder,
|
||
COALESCE( fac.safe_to_number(a4.mld_kenmerkmelding_waarde), 0 ) a4,
|
||
COALESCE( fac.safe_to_number(a3.mld_kenmerkmelding_waarde), 0 ) a3,
|
||
(SELECT fac_usrdata_prijs FROM fac_usrdata WHERE fac_usrdata_key = 2172) bezorging,
|
||
(SELECT fac_usrdata_prijs FROM fac_usrdata WHERE fac_usrdata_key = 2173) prijs_a4,
|
||
(SELECT fac_usrdata_prijs FROM fac_usrdata WHERE fac_usrdata_key = 2174) prijs_a3,
|
||
fac.safe_to_number(doorbel.mld_kenmerkmelding_waarde) doorbelast
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline d,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 415
|
||
AND mld_kenmerkmelding_verwijder IS NULL) kpn,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 399
|
||
AND mld_kenmerkmelding_verwijder IS NULL) a4,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 400
|
||
AND mld_kenmerkmelding_verwijder IS NULL) a3,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 562
|
||
AND mld_kenmerkmelding_verwijder IS NULL) doorbel
|
||
WHERE m.mld_stdmelding_key = 1048
|
||
AND m.mld_melding_status IN (5,6)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND kpn.mld_melding_key(+) = m.mld_melding_key
|
||
AND ak.prs_kostenplaats_key(+) = fac.safe_to_number(kpn.mld_kenmerkmelding_waarde)
|
||
AND ks.prs_kostensoort_key = s.prs_kostensoort_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND a4.mld_melding_key(+) = m.mld_melding_key
|
||
AND a3.mld_melding_key(+) = m.mld_melding_key
|
||
AND doorbel.mld_melding_key(+) = m.mld_melding_key
|
||
)
|
||
UNION ALL
|
||
-- Verzending Nederland/Europa/wereldwijd
|
||
-- TODO: opdrachten groeperen per melding
|
||
-- stdmelding_keys:
|
||
-- Verzending Nederland 1049
|
||
-- Verzending Europa 1050
|
||
-- Verzending wereldwijd 1051
|
||
-- typeopdr_keys:
|
||
-- Verzending Nederland 1052
|
||
-- Verzending Europa 1053
|
||
-- Verzending wereldwijd 1054
|
||
-- kenmerkmeldingen melding:
|
||
-- Ophalen op WP 361
|
||
-- Gevaarlijk 353
|
||
-- Onhandzaam 360
|
||
-- kenmerken melding:
|
||
-- Vervoerder (NL) 502 (prijsoverrule DHL Europlus)
|
||
-- kenmerkmeldingen opdracht:
|
||
-- Aantal units 377
|
||
-- prijslijst (usrtab_key 472):
|
||
-- Verzending voorbereiden binnenland 1757
|
||
-- Verzending voorbereiden binnenland gevaarlijk 1758
|
||
-- Verzending voorbereiden binnen Europa 1755
|
||
-- Verzending voorbereiden binnen Europa gevaarlijk 1756
|
||
-- Verzending voorbereiden buiten Europa 1759
|
||
-- Verzending voorbereiden buiten Europa gevaarlijk 1760
|
||
-- Ophalen van pakketten (HZP) 1777
|
||
-- Ophalen van bulk pakketten op pallet (OHZP) 1778
|
||
-- doorbelast bedrag:
|
||
-- kenmerksoort 462
|
||
-- kenmerken 566, 565, 567 (NL, EU, WW)
|
||
SELECT key, 'opdracht' xmlnode, nummer, datum, einddatum, status, melder,
|
||
melding, vakgroep, kostenplaats_key, kostenplaats_nr, kostenplaats_oms, ordernr, NULL po_nr, kostensoort,
|
||
NULL stuks, NULL gewicht, NULL verwerkingstijd,
|
||
opgehaald, onhandzaam, gevaarlijk, NULL spoed,
|
||
NULL onb_adr,
|
||
basistarief, NULL afgeboekt, NULL gecontroleerd, NULL bezorgd,
|
||
NULL aangetekend, NULL terugkoppel,
|
||
NULL mailing, NULL couverteren,
|
||
ophaalkosten, materiaalkosten,
|
||
NULL verwerkingskosten,
|
||
basistarief + ophaalkosten + materiaalkosten totaal_kosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT mld_opdr_key key,
|
||
'L'||mld_melding_key||'/'||volgnr nummer,
|
||
datum,
|
||
einddatum,
|
||
status,
|
||
melder,
|
||
melding,
|
||
vakgroep,
|
||
kostenplaats_key,
|
||
kostenplaats_nr,
|
||
kostenplaats_oms,
|
||
ordernr,
|
||
kostensoort,
|
||
oph opgehaald, ohz onhandzaam, gvr gevaarlijk,
|
||
(SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key =
|
||
DECODE(gvr,
|
||
1, DECODE(mld_stdmelding_key,
|
||
1051, 1760,
|
||
1050, 1756,
|
||
1049, 1758),
|
||
0, DECODE(mld_stdmelding_key,
|
||
1051, 1759,
|
||
1050, 1755,
|
||
1049, DECODE(vervoerder,
|
||
2165, 2165,
|
||
1757)
|
||
)
|
||
)
|
||
) basistarief,
|
||
DECODE(oph,
|
||
1, (SELECT fac_usrdata_prijs FROM fac_usrdata
|
||
WHERE fac_usrdata_key = DECODE(ohz,
|
||
1, 1778,
|
||
1777) ),
|
||
0 ) ophaalkosten,
|
||
mat materiaalkosten,
|
||
doorbelast
|
||
FROM (
|
||
SELECT mldopdr.*,
|
||
COALESCE( fac.safe_to_number(ophalen.waarde), 0) oph,
|
||
COALESCE( fac.safe_to_number(gevaarlijk.waarde), 0) gvr,
|
||
COALESCE( fac.safe_to_number(onhandzaam.waarde), 0) ohz,
|
||
materiaal.kosten mat
|
||
FROM (
|
||
SELECT m.mld_melding_key,
|
||
m.mld_stdmelding_key,
|
||
s.mld_stdmelding_omschrijving melding,
|
||
d.ins_discipline_omschrijving vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
m.mld_melding_ordernr ordernr,
|
||
ks.prs_kostensoort_oms kostensoort,
|
||
pf.prs_perslid_naam_full melder,
|
||
o.mld_opdr_bedrijfopdr_volgnr volgnr,
|
||
o.mld_opdr_key,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_einddatum einddatum,
|
||
o.mld_statusopdr_key status,
|
||
o.mld_typeopdr_key,
|
||
t.mld_typeopdr_omschrijving,
|
||
fac.safe_to_number(nl.mld_kenmerkmelding_waarde) vervoerder,
|
||
fac.safe_to_number(doorbel.mld_kenmerkopdr_waarde) doorbelast
|
||
FROM mld_melding m,
|
||
mld_opdr o,
|
||
mld_typeopdr t,
|
||
mld_stdmelding s,
|
||
mld_discipline d,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames pf,
|
||
(SELECT * FROM mld_kenmerkmelding WHERE mld_kenmerk_key = 502) nl,
|
||
(SELECT * FROM mld_kenmerkopdr
|
||
WHERE mld_kenmerk_key IN (565, 566, 567)) doorbel
|
||
WHERE m.mld_stdmelding_key IN (1049, 1050, 1051)
|
||
AND m.mld_melding_status IN (5,6)
|
||
AND m.mld_melding_key = o.mld_melding_key(+)
|
||
AND s.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = s.mld_ins_discipline_key
|
||
AND ak.prs_kostenplaats_key = o.prs_kostenplaats_key
|
||
AND ks.prs_kostensoort_key = s.prs_kostensoort_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND o.mld_typeopdr_key IN (1052, 1053, 1054)
|
||
AND o.mld_statusopdr_key IN (6,7,9)
|
||
AND t.mld_typeopdr_key = o.mld_typeopdr_key
|
||
AND nl.mld_melding_key(+) = m.mld_melding_key
|
||
AND doorbel.mld_opdr_key(+) = o.mld_opdr_key ) mldopdr
|
||
LEFT OUTER JOIN (
|
||
SELECT km.mld_melding_key,
|
||
km.mld_kenmerk_key,
|
||
km.mld_kenmerkmelding_waarde waarde
|
||
FROM mld_kenmerkmelding km,
|
||
mld_kenmerk k
|
||
WHERE k.mld_srtkenmerk_key = 361
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL ) ophalen
|
||
ON ophalen.mld_melding_key = mldopdr.mld_melding_key
|
||
LEFT OUTER JOIN (
|
||
SELECT km.mld_melding_key,
|
||
km.mld_kenmerk_key,
|
||
km.mld_kenmerkmelding_waarde waarde
|
||
FROM mld_kenmerkmelding km,
|
||
mld_kenmerk k
|
||
WHERE k.mld_srtkenmerk_key = 353
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL ) gevaarlijk
|
||
ON gevaarlijk.mld_melding_key = mldopdr.mld_melding_key
|
||
LEFT OUTER JOIN (
|
||
SELECT km.mld_melding_key,
|
||
km.mld_kenmerk_key,
|
||
km.mld_kenmerkmelding_waarde waarde
|
||
FROM mld_kenmerkmelding km,
|
||
mld_kenmerk k
|
||
WHERE k.mld_srtkenmerk_key = 360
|
||
AND km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL) onhandzaam
|
||
ON onhandzaam.mld_melding_key = mldopdr.mld_melding_key
|
||
LEFT OUTER JOIN (
|
||
SELECT om.mld_opdr_key,
|
||
SUM(mld_opdr_materiaal_aantal * mld_opdr_materiaal_prijs) kosten
|
||
FROM mld_opdr_materiaal om,
|
||
mld_opdr o
|
||
WHERE om.mld_opdr_key = o.mld_opdr_key
|
||
AND o.mld_typeopdr_key IN (1052, 1053, 1054)
|
||
AND o.mld_statusopdr_key IN (6,7,9)
|
||
AND om.fac_usrdata_key IS NOT NULL
|
||
GROUP BY om.mld_opdr_key) materiaal
|
||
ON materiaal.mld_opdr_key = mldopdr.mld_opdr_key
|
||
)
|
||
)
|
||
UNION ALL
|
||
-- Bezorgen lunchpakketten
|
||
-- catalogus "Te bezorgen lunchpakket SSCA" 875
|
||
-- Prijslijst
|
||
-- Ophalen en bezorgen van (lunch)pakketten (HZ) 1774
|
||
SELECT DISTINCT rr.res_rsv_ruimte_key key,
|
||
'reservering' xmlnode,
|
||
TO_CHAR(rr.res_reservering_key) nummer,
|
||
ra.res_rsv_artikel_levering datum,
|
||
rr.res_rsv_ruimte_tot einddatum,
|
||
ra.res_status_bo_key status,
|
||
pf.prs_perslid_naam_full melder,
|
||
'Lunchpakket bezorgen' melding,
|
||
'Reserveringen' vakgroep,
|
||
ak.prs_kostenplaats_key kostenplaats_key,
|
||
ak.prs_kostenplaats_nr kostenplaats_nr,
|
||
ak.prs_kostenplaats_omschrijving kostenplaats_oms,
|
||
rr.res_rsv_ruimte_ordernr ordernr,
|
||
NULL po_nr,
|
||
'SPOE' kostensoort,
|
||
NULL stuks, NULL gewicht, NULL verwerkingstijd,
|
||
NULL opgehaald, NULL onhandzaam, NULL gevaarlijk, NULL spoed,
|
||
NULL onb_adr,
|
||
ud.fac_usrdata_prijs basistarief, NULL afgeboekt, NULL gecontroleerd, NULL bezorgd,
|
||
NULL aangetekend, NULL terugkoppel,
|
||
NULL mailing, NULL couverteren,
|
||
NULL ophaalkosten, NULL materiaalkosten,
|
||
NULL verwerkingskosten,
|
||
ud.fac_usrdata_prijs totaal_prijs,
|
||
NULL doorbelast
|
||
FROM res_artikel a,
|
||
res_discipline d,
|
||
res_rsv_artikel ra,
|
||
res_rsv_ruimte rr,
|
||
prs_v_aanwezigkostenplaats ak,
|
||
prs_v_perslid_fullnames pf,
|
||
fac_usrdata ud
|
||
WHERE a.res_discipline_key = 875
|
||
AND d.ins_discipline_key = a.res_discipline_key
|
||
AND ra.res_artikel_key = a.res_artikel_key
|
||
AND ra.res_rsv_artikel_verwijder IS NULL
|
||
AND ra.res_status_bo_key IN (5,6)
|
||
AND TRUNC(ra.res_rsv_artikel_levering) BETWEEN TRUNC(TO_DATE('08-10-2012', 'DD-MM-YYYY'))
|
||
AND TRUNC(SYSDATE)
|
||
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
|
||
AND ak.prs_kostenplaats_key = rr.prs_kostenplaats_key
|
||
AND pf.prs_perslid_key = rr.res_rsv_ruimte_contact_key
|
||
AND ud.fac_usrdata_key = 1774);
|
||
|
||
--- PACKAGE MET REKENPROCEDURES; DEZE VULLEN DE EXPORTTABEL --------------------
|
||
|
||
CREATE OR REPLACE PACKAGE nour_p_sap
|
||
AS
|
||
FUNCTION isnumber (pstring IN VARCHAR2) RETURN BOOLEAN;
|
||
FUNCTION getBewonersOrdernr (pOpdracht_key IN NUMBER) RETURN VARCHAR2;
|
||
FUNCTION getInternalOrdernr (pMelding_key IN NUMBER) RETURN VARCHAR2;
|
||
|
||
PROCEDURE exp_mld (p_applname IN VARCHAR2,
|
||
p_doUpdate IN BOOLEAN);
|
||
PROCEDURE exp_res (p_applname IN VARCHAR2,
|
||
p_doUpdate IN BOOLEAN);
|
||
PROCEDURE exp_logistiek (p_applname IN VARCHAR2,
|
||
p_doUpdate IN BOOLEAN);
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE PACKAGE BODY nour_p_sap
|
||
AS
|
||
FUNCTION isnumber (pstring IN VARCHAR2)
|
||
RETURN BOOLEAN
|
||
IS
|
||
lnnumber NUMBER (10);
|
||
lbisnumber BOOLEAN;
|
||
BEGIN
|
||
lbisnumber := TRUE;
|
||
|
||
BEGIN
|
||
lnnumber := fac.safe_to_number (pstring);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
lbisnumber := FALSE;
|
||
END;
|
||
|
||
RETURN lbisnumber;
|
||
END;
|
||
|
||
FUNCTION getbewonersordernr (popdracht_key IN NUMBER)
|
||
RETURN VARCHAR2
|
||
IS
|
||
lresult VARCHAR2 (1024);
|
||
BEGIN
|
||
BEGIN
|
||
SELECT mld_opdr_ordernr
|
||
INTO lresult
|
||
FROM mld_opdr
|
||
WHERE mld_opdr_key = popdracht_key;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
lresult := '';
|
||
END;
|
||
|
||
RETURN lresult;
|
||
END;
|
||
|
||
FUNCTION getinternalordernr (pmelding_key IN NUMBER)
|
||
RETURN VARCHAR2
|
||
IS
|
||
lresult VARCHAR2 (1024);
|
||
lonroerendgoed_key NUMBER (10);
|
||
lgebouw_key NUMBER (10);
|
||
lterrien_key NUMBER (10);
|
||
lonroerendgoed_type VARCHAR (2);
|
||
BEGIN
|
||
-- alg_gebouw_ordernr OR alg_terreinsector_ordernr
|
||
BEGIN
|
||
lresult := '';
|
||
|
||
SELECT mld_alg_onroerendgoed_keys
|
||
INTO lonroerendgoed_key
|
||
FROM mld_melding
|
||
WHERE mld_melding_key = pmelding_key;
|
||
|
||
SELECT alg_type, alg_terreinsector_key, alg_gebouw_key
|
||
INTO lonroerendgoed_type, lterrien_key, lgebouw_key
|
||
FROM alg_v_allonroerendgoed
|
||
WHERE alg_onroerendgoed_keys = lonroerendgoed_key;
|
||
|
||
IF (lonroerendgoed_type = 'T')
|
||
THEN
|
||
SELECT alg_terreinsector_ordernr
|
||
INTO lresult
|
||
FROM alg_terreinsector
|
||
WHERE alg_terreinsector_key = lterrien_key;
|
||
ELSE -- lOnroerendgoed_type in ('R','V','G')
|
||
SELECT alg_gebouw_ordernr
|
||
INTO lresult
|
||
FROM alg_gebouw
|
||
WHERE alg_gebouw_key = lgebouw_key;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
lresult := '';
|
||
END;
|
||
|
||
RETURN lresult;
|
||
END;
|
||
|
||
-- Specify p_doUpdate to set TV/AV statusses in MLD
|
||
-- Voorheen werd hier het leveranciernr (altijd bedrijf) opgehaald. Behandelaar lijkt me relevanter om
|
||
-- te achterhalen wie de dienst geleverd heeft.
|
||
PROCEDURE exp_mld (p_applname IN VARCHAR2, p_doUpdate IN BOOLEAN)
|
||
IS
|
||
-- Alle afgemelde deelopdrachten waarbij opdrachtkosten + aanneemsom != 0
|
||
-- Alleen de Afvalverwijdering-opdrachten waarbij kenmerk "Correct op factuur" = "Ja"
|
||
-- moeten worden ge<67>xporteerd.
|
||
-- mld_kenmerk Aanneemsom 2
|
||
-- mld_typeopdr Deelopdracht-afvalverwijdering 921
|
||
-- mld_srtkenmerk Correct op factuur aangetroffen? 208
|
||
-- fac_usrdata Reeds gefactureerd-->Ja 1236
|
||
CURSOR sap_meldingen
|
||
IS
|
||
SELECT m.mld_melding_key,
|
||
m.mld_alg_onroerendgoed_keys,
|
||
COALESCE( TRIM( ks.prs_kostensoort_oms), 'ONBEKEND') prs_kostensoort_oms,
|
||
pf.prs_perslid_naam_full,
|
||
k.prs_kostenplaats_nr,
|
||
k.prs_kostenplaats_key,
|
||
k.debiteurnr,
|
||
k.prs_kostenplaats_module,
|
||
d.ins_discipline_omschrijving||' / '||sm.mld_stdmelding_omschrijving
|
||
mld_stdmelding_omschrijving,
|
||
o.mld_opdr_key,
|
||
sd.ins_srtdiscipline_prefix
|
||
|| TO_CHAR(m.mld_melding_key)||'/'
|
||
|| TO_CHAR(o.mld_opdr_bedrijfopdr_volgnr)
|
||
nummer,
|
||
o.mld_uitvoerende_keys,
|
||
o.mld_opdr_kosten,
|
||
m.prs_perslid_key,
|
||
o.mld_typeopdr_key,
|
||
ac.companycode crediteurnr,
|
||
m.mld_melding_einddatum einddatum,
|
||
COALESCE(fac.safe_to_number(aanneemsom.mld_kenmerkopdr_waarde), 0) aanneemsom
|
||
FROM mld_melding m,
|
||
mld_stdmelding sm,
|
||
mld_discipline d,
|
||
ins_srtdiscipline sd,
|
||
mld_opdr o,
|
||
nour_v_kostenplaats k,
|
||
prs_kostensoort ks,
|
||
prs_v_perslid_fullnames_all pf,
|
||
prs_perslid p,
|
||
nour_v_afdelingcompany ac,
|
||
(SELECT * FROM mld_kenmerkopdr
|
||
WHERE mld_kenmerk_key = 2
|
||
AND mld_kenmerkopdr_verwijder IS NULL
|
||
AND mld_kenmerkopdr_waarde != '.00') aanneemsom,
|
||
(SELECT *
|
||
FROM mld_kenmerkopdr ko, mld_kenmerk k
|
||
WHERE k.mld_srtkenmerk_key = 208
|
||
AND k.mld_kenmerk_verwijder IS NULL
|
||
AND ko.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND ko.mld_kenmerkopdr_verwijder IS NULL
|
||
AND ko.mld_kenmerkopdr_waarde = '1236') correct
|
||
WHERE o.mld_statusopdr_key = 6
|
||
AND m.mld_melding_key = o.mld_melding_key
|
||
AND sm.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND d.ins_discipline_key = sm.mld_ins_discipline_key
|
||
AND sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
|
||
AND sd.ins_srtdiscipline_alg = 1 -- AKZA#684
|
||
AND ks.prs_kostensoort_key(+) = d.prs_kostensoort_key
|
||
AND k.prs_kostenplaats_key(+) = o.prs_kostenplaats_key
|
||
AND p.prs_perslid_key = o.prs_perslid_key
|
||
AND ac.prs_afdeling_key = p.prs_afdeling_key
|
||
AND pf.prs_perslid_key = m.prs_perslid_key
|
||
AND aanneemsom.mld_opdr_key(+) = o.mld_opdr_key
|
||
AND correct.mld_opdr_key(+) = o.mld_opdr_key
|
||
-- Alleen als er kosten zijn
|
||
AND o.mld_opdr_kosten + COALESCE(fac.safe_to_number(aanneemsom.mld_kenmerkopdr_waarde), 0) != 0
|
||
-- Als afvalverwijdering, dan ook correct op factuur
|
||
AND NOT ( o.mld_typeopdr_key = 921
|
||
AND ( correct.mld_kenmerkopdr_waarde IS NULL
|
||
OR correct.mld_kenmerkopdr_waarde != '1236') )
|
||
ORDER BY m.mld_melding_key, o.mld_opdr_bedrijfopdr_volgnr;
|
||
|
||
rec sap_meldingen%ROWTYPE;
|
||
v_kostenplaats VARCHAR2 (10);
|
||
v_melding_key NUMBER;
|
||
v_debiteurnr VARCHAR2 (12);
|
||
v_companycode VARCHAR2 (10);
|
||
v_disciplinekostensoort prs_kostensoort.prs_kostensoort_oms%TYPE;
|
||
v_bewonersordernr prs_kostenplaats.prs_kostenplaats_nr%TYPE;
|
||
v_internalordernr VARCHAR2 (255);
|
||
v_opdrkosten mld_opdr.mld_opdr_kosten%TYPE;
|
||
v_leveranciernr prs_bedrijf.prs_leverancier_nr%TYPE;
|
||
v_opdrachten NUMBER (10);
|
||
v_aanneemsom NUMBER (10, 2);
|
||
v_count NUMBER;
|
||
v_aanduiding VARCHAR2(255);
|
||
v_errormsg VARCHAR2(255);
|
||
v_errorhint VARCHAR2(255);
|
||
BEGIN
|
||
-- INIT
|
||
v_errormsg := 'init';
|
||
v_errorhint := 'init';
|
||
v_aanduiding := 'init';
|
||
|
||
DELETE nour_exp_sap
|
||
WHERE soort = 'opdracht';
|
||
|
||
DELETE imp_log
|
||
WHERE imp_log_applicatie = p_applname
|
||
AND imp_log_datum < SYSDATE - 185;
|
||
|
||
FOR rec IN sap_meldingen
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := rec.nummer;
|
||
v_debiteurnr := NULL;
|
||
v_companycode := NULL;
|
||
|
||
v_errormsg := rec.prs_kostenplaats_module||'-kostenplaats '
|
||
||rec.prs_kostenplaats_nr||' (#'||rec.prs_kostenplaats_key||')';
|
||
|
||
v_errorhint := 'Fout bij overnemen gegevens';
|
||
v_melding_key := rec.mld_melding_key;
|
||
v_kostenplaats := rec.prs_kostenplaats_nr;
|
||
v_disciplinekostensoort := rec.prs_kostensoort_oms;
|
||
v_opdrkosten := rec.mld_opdr_kosten + rec.aanneemsom;
|
||
|
||
-- Bepaal de Companycode adhv het bij de kostenplaatsgroep geregistreerde debiteurnr
|
||
-- (verliep voorheen via kpn-->afdeling-->parent, maar dat levert soms meerdere resultaten)
|
||
-- nu: kpn-->nr kpngroep = debiteurnr-->flexkenmerk "Debiteurnr" bij toplevel-afdeling = company
|
||
v_errorhint := 'Geen debiteurnr en/of companycode gevonden!';
|
||
SELECT DISTINCT k.debiteurnr, ac.companycode
|
||
INTO v_debiteurnr, v_companycode
|
||
FROM mld_opdr o,
|
||
nour_v_kostenplaats k,
|
||
prs_kenmerklink kl,
|
||
nour_v_afdelingcompany ac
|
||
WHERE o.mld_opdr_key = rec.mld_opdr_key
|
||
AND k.prs_kostenplaats_key = o.prs_kostenplaats_key
|
||
AND kl.prs_kenmerklink_waarde = k.debiteurnr
|
||
AND kl.prs_kenmerk_key = 1380
|
||
AND kl.prs_kenmerklink_verwijder IS NULL
|
||
AND ac.prs_afdeling_key = kl.prs_link_key;
|
||
|
||
-- Eigenlijk is KostenKlant niet meer helemaal bepalend, het is meer of de gekozen kostenplaats
|
||
-- een ALG of een PRS kostenplaats is!
|
||
IF rec.prs_kostenplaats_module = 'PRS'
|
||
THEN
|
||
v_errormsg := 'PRS-kostenplaats';
|
||
|
||
v_errorhint := 'Fout bij bepalen bewonersordernr';
|
||
SELECT nour_p_sap.getbewonersordernr (rec.mld_opdr_key)
|
||
INTO v_bewonersordernr
|
||
FROM DUAL;
|
||
|
||
-- PKO: (bewoners)ordernr wordt niet meer meegegeven in de export. In de nabije toekomst
|
||
-- worden ordernrs als projectkostenplaatsen opgenomen. Daarom niet meer met kostenplaatsen
|
||
-- en kostensoorten goochelen o.b.v. die ordernummers.
|
||
IF 1=0
|
||
THEN
|
||
IF (SUBSTR (v_bewonersordernr, 1, 1) = 'B' OR SUBSTR (v_bewonersordernr, 1, 1) = 'b')
|
||
AND isnumber (SUBSTR (v_bewonersordernr, 3, 1))
|
||
AND fac.safe_to_number (SUBSTR (v_bewonersordernr, 3, 1)) >= 1
|
||
AND isnumber (SUBSTR (v_bewonersordernr, 6, 3))
|
||
AND fac.safe_to_number (SUBSTR (v_bewonersordernr, 6, 3)) >= 10
|
||
--AND v_companycode = defcompcode
|
||
THEN
|
||
--lgn('B');
|
||
--TODO: uit mail Erik van Asveld d.d. 25-02-2014: "Voor <20>bewoners orders<72> (orders met een B,
|
||
--of zonder beginletter) is er geen <20><>n op <20><>n relatie meer. De meeboekrekening is de GL account
|
||
--waar de kosten uiteindelijk op de ontvangende kostenplaats terecht moet komen."
|
||
v_kostenplaats := '0000000';
|
||
v_disciplinekostensoort := '4310010';
|
||
ELSE
|
||
IF (SUBSTR (v_bewonersordernr, 1, 1) = 'I' OR SUBSTR (v_bewonersordernr, 1, 1) = 'i')
|
||
AND isnumber (SUBSTR (v_bewonersordernr, 3, 1))
|
||
AND fac.safe_to_number (SUBSTR (v_bewonersordernr, 3, 1)) >= 1
|
||
AND isnumber (SUBSTR (v_bewonersordernr, 6, 3))
|
||
AND fac.safe_to_number (SUBSTR (v_bewonersordernr, 6, 3)) >= 10
|
||
--AND v_companycode = defcompcode
|
||
THEN
|
||
--lgn('I');
|
||
v_kostenplaats := '0000000';
|
||
v_disciplinekostensoort := '6999026';
|
||
ELSE
|
||
IF (SUBSTR (v_bewonersordernr, 1, 1) = 'O' OR SUBSTR (v_bewonersordernr, 1, 1) = 'o')
|
||
AND isnumber (SUBSTR (v_bewonersordernr, 3, 1))
|
||
AND fac.safe_to_number (SUBSTR (v_bewonersordernr, 3, 1)) >= 1
|
||
AND isnumber (SUBSTR (v_bewonersordernr, 6, 3))
|
||
AND fac.safe_to_number (SUBSTR (v_bewonersordernr, 6, 3)) >= 10
|
||
--AND v_companycode = defcompcode
|
||
THEN
|
||
--lgn('O');
|
||
v_kostenplaats := '0000000';
|
||
v_disciplinekostensoort := '6999031';
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- PRS-kostenplaats, dus bewonersordernr gebruiken, niet internal ordernr.
|
||
v_internalordernr := '';
|
||
ELSE
|
||
v_errormsg := 'ALG-kostenplaats';
|
||
v_disciplinekostensoort := '4301001';
|
||
-- ALG-kostenplaats, dus internal ordernr gebruiken, niet bewonersordernr.
|
||
v_bewonersordernr := NULL;
|
||
|
||
-- Zoek bij pand (of terrein) geregistreerd ordernr
|
||
v_errorhint := 'Fout bij bepalen internal ordernr';
|
||
SELECT SUBSTR( nour_p_sap.getinternalordernr (rec.mld_melding_key), 1, 6)
|
||
INTO v_internalordernr
|
||
FROM DUAL;
|
||
IF fac.safe_to_number (SUBSTR (v_internalordernr, 1, 1)) >= 1
|
||
AND fac.safe_to_number (SUBSTR (v_internalordernr, 4, 3)) >= 10
|
||
THEN
|
||
v_disciplinekostensoort := '4310010';
|
||
END IF;
|
||
END IF;
|
||
|
||
IF v_opdrkosten != 0
|
||
THEN
|
||
v_errormsg := 'Insert record';
|
||
v_errorhint := 'Invoegen record mislukt!';
|
||
INSERT INTO nour_exp_sap
|
||
(soort,
|
||
crediteurnr,
|
||
debiteurnr,
|
||
companycode,
|
||
costcentre,
|
||
ordernr,
|
||
postingkey,
|
||
kostensoort,
|
||
key,
|
||
refnr,
|
||
einddatum,
|
||
bedrag_ex,
|
||
bedrag_inc,
|
||
btwcode,
|
||
omschrijving,
|
||
perslid)
|
||
VALUES
|
||
('opdracht',
|
||
rec.crediteurnr,
|
||
v_debiteurnr,
|
||
v_companycode,
|
||
v_kostenplaats,
|
||
COALESCE(v_bewonersordernr, v_internalordernr),
|
||
CASE
|
||
WHEN v_opdrkosten >= 0 THEN '40'
|
||
ELSE '50'
|
||
END,
|
||
v_disciplinekostensoort,
|
||
rec.mld_opdr_key,
|
||
rec.nummer,
|
||
COALESCE((SELECT MAX(fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rec.mld_opdr_key
|
||
AND fac_srtnotificatie_key = 26),
|
||
rec.einddatum),
|
||
v_opdrkosten,
|
||
ROUND(v_opdrkosten * 1.21, 2),
|
||
'21',
|
||
rec.mld_stdmelding_omschrijving,
|
||
rec.prs_perslid_naam_full);
|
||
|
||
fac.writelog (p_applname, 'I',
|
||
v_aanduiding,
|
||
v_opdrkosten
|
||
);
|
||
END IF;
|
||
|
||
-- Zet de status van de melding op 'Verwerkt'.
|
||
-- Als er opdrachten zijn dan moeten deze op 'Verwerkt' gezet worden,
|
||
-- anders moet de melding zelf op 'Verwerkt' gezet worden.
|
||
IF p_doUpdate
|
||
THEN
|
||
v_errormsg := 'p_doUpdate';
|
||
v_errorhint := 'Fout bij zoeken opdrachten';
|
||
|
||
SELECT COUNT ( * )
|
||
INTO v_opdrachten
|
||
FROM mld_opdr
|
||
WHERE mld_melding_key = rec.mld_melding_key;
|
||
|
||
IF v_opdrachten > 0 -- Always true, since this is cursor criterium
|
||
THEN
|
||
v_errorhint := 'Fout bij zetten opdrachtstatus';
|
||
FOR opdrrec
|
||
IN (SELECT mld_opdr_key
|
||
FROM mld_opdr
|
||
WHERE mld_statusopdr_key = 6
|
||
AND mld_melding_key = rec.mld_melding_key)
|
||
LOOP
|
||
v_errorhint := 'Opdracht #'||opdrrec.mld_opdr_key||' verwerken';
|
||
mld.setopdrachtstatus (opdrrec.mld_opdr_key, 7, NULL);
|
||
END LOOP;
|
||
|
||
-- Tel het aantal nog niet AV-verklaarde (verwerkte) opdrachten bij deze melding
|
||
-- Als dat er 0 zijn, moet de melding ook status Verwerkt krijgen
|
||
-- 981119/pf #2083
|
||
v_errorhint := 'Fout bij tellen opdrachten';
|
||
SELECT COUNT ( * )
|
||
INTO v_opdrachten
|
||
FROM mld_opdr
|
||
WHERE mld_melding_key = rec.mld_melding_key
|
||
AND mld_statusopdr_key <> 7;
|
||
|
||
IF v_opdrachten = 0
|
||
THEN
|
||
v_errorhint := 'Fout bij verwerken melding '||rec.mld_melding_key;
|
||
mld.setmeldingstatus (rec.mld_melding_key, 6, NULL);
|
||
fac.writelog (p_applname, 'I',
|
||
rec.mld_melding_key,
|
||
'Verwerkt'
|
||
);
|
||
END IF;
|
||
ELSE
|
||
v_errorhint := 'Fout bij verwerken melding '||rec.mld_melding_key||' (zonder opdrachten)';
|
||
mld.setmeldingstatus (rec.mld_melding_key, 6, NULL);
|
||
fac.writelog (p_applname, 'I',
|
||
rec.mld_melding_key,
|
||
'Verwerkt'
|
||
);
|
||
END IF;
|
||
END IF;
|
||
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Geen gegevens gevonden (' || SUBSTR (SQLERRM, 1, 9) || ')'
|
||
);
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100)
|
||
);
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100)
|
||
);
|
||
COMMIT;
|
||
END;
|
||
|
||
-- Specify p_doUpdate to set TV/AV statuses in Catering
|
||
PROCEDURE exp_res (p_applname IN VARCHAR2, p_doUpdate IN BOOLEAN)
|
||
IS
|
||
-- Alle reserveringen met kosten
|
||
CURSOR c_sapres
|
||
IS
|
||
SELECT r.*,
|
||
DECODE (r.alg_locatie_key,
|
||
2, '0801', -- SSCA
|
||
161, '0801', -- AHO
|
||
0, '0801', -- AHO (rit)
|
||
121, '1435') -- DEV
|
||
crediteurnr
|
||
FROM ( SELECT * FROM nour_v_export_catering
|
||
UNION ALL
|
||
SELECT * FROM nour_v_export_resdeel
|
||
UNION ALL
|
||
SELECT * FROM nour_v_export_resruimten
|
||
UNION ALL
|
||
SELECT * FROM nour_v_export_resritten) r
|
||
WHERE bedrag > 0;
|
||
|
||
rec c_sapres%ROWTYPE;
|
||
|
||
v_companycode VARCHAR2 (12);
|
||
v_kostensoort VARCHAR2 (12);
|
||
v_btw VARCHAR2 (2);
|
||
|
||
v_errorhint VARCHAR2(100);
|
||
v_errormsg VARCHAR2(100);
|
||
v_aanduiding VARCHAR2(100);
|
||
|
||
BEGIN
|
||
v_aanduiding := 'init';
|
||
v_errormsg := 'init';
|
||
v_errorhint := 'init';
|
||
|
||
DELETE nour_exp_sap
|
||
WHERE soort IN ('artikel', 'deel', 'ruimte', 'rit');
|
||
|
||
DELETE imp_log
|
||
WHERE imp_log_applicatie = p_applname
|
||
AND imp_log_datum < SYSDATE - 185;
|
||
|
||
FOR rec IN c_sapres
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := rec.res_reservering_key||'/'||rec.res_rsv_ruimte_volgnr||' - '||rec.ruimte_art_oms;
|
||
|
||
v_errormsg := 'Start';
|
||
v_errorhint := 'Fout bij overnemen gegevens';
|
||
v_companycode := rec.companycode;
|
||
v_kostensoort := rec.kostensoort;
|
||
|
||
v_errormsg := 'Insert record';
|
||
v_errorhint := 'Invoegen record mislukt!';
|
||
INSERT INTO nour_exp_sap
|
||
(soort,
|
||
crediteurnr,
|
||
debiteurnr,
|
||
companycode,
|
||
costcentre,
|
||
ordernr,
|
||
postingkey,
|
||
kostensoort,
|
||
key,
|
||
refnr,
|
||
einddatum,
|
||
bedrag_ex,
|
||
bedrag_inc,
|
||
btwcode,
|
||
omschrijving,
|
||
perslid)
|
||
VALUES
|
||
(rec.soort,
|
||
rec.crediteurnr,
|
||
rec.debiteurnr,
|
||
rec.companycode,
|
||
rec.kostenplaatscode,
|
||
rec.res_rsv_ruimte_ordernr,
|
||
rec.postkey,
|
||
rec.kostensoort,
|
||
COALESCE(rec.res_rsv_deel_key, rec.res_rsv_artikel_key, rec.res_rsv_ruimte_key),
|
||
TO_CHAR(rec.res_reservering_key)||'/'||TO_CHAR(rec.res_rsv_ruimte_volgnr),
|
||
COALESCE((SELECT MAX(fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = rec.res_rsv_ruimte_key
|
||
AND fac_srtnotificatie_key = 32),
|
||
rec.einddatum),
|
||
rec.bedrag,
|
||
ROUND(rec.bedrag * (1 + fac.safe_to_number(rec.btw/100) ), 2),
|
||
rec.btw,
|
||
rec.datum||' '||rec.ruimte_art_oms,
|
||
rec.melder);
|
||
|
||
fac.writelog(p_applname, 'I',
|
||
v_aanduiding,
|
||
rec.bedrag);
|
||
|
||
IF p_doUpdate
|
||
THEN
|
||
v_errormsg := 'Update status';
|
||
v_errorhint := 'Fout bij '||rec.soort;
|
||
|
||
IF (rec.res_rsv_artikel_key IS NOT NULL)
|
||
THEN
|
||
UPDATE res_rsv_artikel
|
||
SET res_status_bo_key = 6
|
||
WHERE res_status_bo_key = 5 AND res_rsv_artikel_key = rec.res_rsv_artikel_key;
|
||
END IF;
|
||
|
||
IF (rec.res_rsv_deel_key IS NOT NULL)
|
||
THEN
|
||
UPDATE res_rsv_deel
|
||
SET res_status_bo_key = 6
|
||
WHERE res_status_bo_key = 5 AND res_rsv_deel_key = rec.res_rsv_deel_key;
|
||
END IF;
|
||
|
||
IF (rec.res_rsv_deel_key IS NULL) AND (rec.res_rsv_artikel_key IS NULL)
|
||
THEN
|
||
UPDATE res_rsv_ruimte
|
||
SET res_status_bo_key = 6
|
||
WHERE res_status_bo_key = 5 AND res_rsv_ruimte_key = rec.res_rsv_ruimte_key;
|
||
END IF;
|
||
|
||
fac.trackaction ('RESVER', rec.res_rsv_ruimte_key, NULL, NULL, NULL);
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Geen gegevens gevonden (' || SUBSTR (SQLERRM, 1, 9) || ')'
|
||
);
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100)
|
||
); -- tbv logging
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100)
|
||
);
|
||
COMMIT;
|
||
END;
|
||
|
||
PROCEDURE exp_logistiek (p_applname IN VARCHAR2, p_doUpdate IN BOOLEAN)
|
||
IS
|
||
v_aanduiding VARCHAR(100);
|
||
v_errormsg VARCHAR(200);
|
||
v_errorhint VARCHAR(200);
|
||
v_count NUMBER;
|
||
|
||
-- In een aantal afdelingskenmerken worden maandelijks terugkerende vaste kosten
|
||
-- bijgehouden. Op basis hiervan maken we per (afdelings-)kostenplaats een melding
|
||
-- aan, om zo historie op te bouwen.
|
||
-- Deze cursor bevat een regel per melding, met gesommeerde kosten voor
|
||
-- postrondes en/of dagbladen.
|
||
CURSOR c_vast
|
||
IS
|
||
-- usrdata:
|
||
-- Looprondes (p/maand) 2176
|
||
-- Dagblad bezorgen (p/maand) 2177
|
||
-- Opslag containers 2197
|
||
-- Kenmerken:
|
||
-- Postrondes:
|
||
-- Ophaalplaats 1/2/3 1295 / 1296 / 1297
|
||
-- Dagbladen:
|
||
-- Bezorgplaats 1/2/3 1301 / 1305 / 1308
|
||
-- Containers:
|
||
-- Aantal containers 1321
|
||
SELECT a.prs_kostenplaats_key,
|
||
k.prs_kostenplaats_omschrijving,
|
||
p.postrondes,
|
||
d.dagbladen,
|
||
c.containers
|
||
FROM prs_kostenplaats k,
|
||
prs_afdeling a
|
||
LEFT OUTER JOIN ( SELECT prs_afdeling_key,
|
||
SUM (fac_usrdata_prijs) postrondes
|
||
FROM prs_afdeling, prs_kenmerklink, fac_usrdata
|
||
WHERE prs_link_key = prs_afdeling_key
|
||
AND prs_kenmerk_key IN (1295, 1296, 1297)
|
||
AND prs_kenmerklink_verwijder IS NULL
|
||
AND fac_usrdata_key = 2176
|
||
GROUP BY prs_afdeling_key) p
|
||
ON p.prs_afdeling_key = a.prs_afdeling_key
|
||
LEFT OUTER JOIN ( SELECT prs_afdeling_key,
|
||
SUM (fac_usrdata_prijs) dagbladen
|
||
FROM prs_afdeling, prs_kenmerklink, fac_usrdata
|
||
WHERE prs_link_key = prs_afdeling_key
|
||
AND prs_kenmerk_key IN (1301, 1305, 1308)
|
||
AND prs_kenmerklink_verwijder IS NULL
|
||
AND fac_usrdata_key = 2177
|
||
GROUP BY prs_afdeling_key) d
|
||
ON d.prs_afdeling_key = a.prs_afdeling_key
|
||
LEFT OUTER JOIN ( SELECT prs_afdeling_key,
|
||
SUM ( fac.safe_to_number(prs_kenmerklink_waarde)
|
||
* fac_usrdata_prijs) containers
|
||
FROM prs_afdeling, prs_kenmerklink, fac_usrdata
|
||
WHERE prs_link_key = prs_afdeling_key
|
||
AND prs_kenmerk_key = 1321
|
||
AND prs_kenmerklink_verwijder IS NULL
|
||
AND fac_usrdata_key = 2197
|
||
GROUP BY prs_afdeling_key) c
|
||
ON c.prs_afdeling_key = a.prs_afdeling_key
|
||
WHERE a.prs_afdeling_verwijder IS NULL
|
||
AND k.prs_kostenplaats_key = a.prs_kostenplaats_key
|
||
AND ( p.postrondes IS NOT NULL
|
||
OR d.dagbladen IS NOT NULL
|
||
OR c.containers IS NOT NULL);
|
||
|
||
CURSOR c_insert
|
||
IS
|
||
SELECT xmlnode,
|
||
'0801' crediteurnr,
|
||
k.debiteurnr,
|
||
ac.companycode,
|
||
k.prs_kostenplaats_nr costcentre,
|
||
ordernr,
|
||
CASE
|
||
WHEN (totaal_kosten < 0) THEN 50
|
||
ELSE 40
|
||
END postingkey,
|
||
kostensoort,
|
||
key,
|
||
nummer refnr,
|
||
einddatum,
|
||
totaal_kosten bedrag_ex,
|
||
ROUND(totaal_kosten * 1.21, 2) bedrag_inc,
|
||
'21' btwcode,
|
||
-- Als (Teijin-) PO-nummer gevuld, dan in omschrijving vermelden.
|
||
DECODE(po_nr,
|
||
NULL, '',
|
||
po_nr||' ')
|
||
||vakgroep||' / '||melding omschrijving,
|
||
melder perslid
|
||
FROM nour_v_logistiek_doorbel l,
|
||
nour_v_kostenplaats k,
|
||
(SELECT * FROM prs_kenmerklink
|
||
WHERE prs_kenmerk_key = 1380
|
||
AND prs_kenmerklink_verwijder IS NULL) kl,
|
||
nour_v_afdelingcompany ac
|
||
WHERE totaal_kosten != 0
|
||
AND k.prs_kostenplaats_key = l.kostenplaats_key
|
||
AND kl.prs_kenmerklink_waarde = k.debiteurnr
|
||
AND ac.prs_afdeling_key = kl.prs_link_key
|
||
AND ( (xmlnode = 'melding' AND status = 5) -- afgemelde meldingen
|
||
OR (xmlnode = 'opdracht' AND status = 6) -- afgemelde opdrachten
|
||
OR ( xmlnode = 'reservering' -- afgeleverde cateringartikelen
|
||
AND datum BETWEEN (SELECT COALESCE(MAX(fac_tracking_datum),
|
||
TO_DATE('08-10-2012', 'DD-MM-YYYY') )
|
||
FROM fac_tracking t,
|
||
(SELECT key FROM nour_v_logistiek_doorbel
|
||
WHERE xmlnode = 'melding' AND status = 6) d
|
||
WHERE t.fac_srtnotificatie_key = 24 -- MLDVER
|
||
AND d.key = t.fac_tracking_refkey)
|
||
AND SYSDATE ) );
|
||
|
||
|
||
-- stdmelding:
|
||
-- Postale diensten/Vaste kosten 1101
|
||
-- Kenmerken:
|
||
-- Kostenplaats 564
|
||
-- Postrondes 561
|
||
-- Dagbladen 563
|
||
-- Opslag containers 621
|
||
c_stdmelding_key NUMBER := 1101;
|
||
c_flex_kostenplaats NUMBER := 564;
|
||
c_flex_postrondes NUMBER := 561;
|
||
c_flex_dagbladen NUMBER := 563;
|
||
c_flex_containers NUMBER := 621;
|
||
v_melding_key NUMBER;
|
||
|
||
BEGIN
|
||
v_aanduiding := 'init';
|
||
v_errormsg := 'init';
|
||
v_errorhint := 'init';
|
||
|
||
DELETE nour_exp_sap
|
||
WHERE soort IN ('logistiek');
|
||
|
||
DELETE imp_log
|
||
WHERE imp_log_applicatie = p_applname
|
||
AND imp_log_datum < SYSDATE - 185;
|
||
|
||
-- Meldingen voor vaste kosten toevoegen (o.b.v. flexkenmerken bij afdelingen)
|
||
IF (p_doUpdate)
|
||
THEN
|
||
FOR r IN c_vast
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := r.prs_kostenplaats_omschrijving;
|
||
|
||
v_errormsg := 'Meldingen vaste kosten toevoegen';
|
||
v_errorhint := 'Fout bij toevoegen melding';
|
||
-- Einddatum wordt expliciet gezet, omdat er geen tracking toegevoegd
|
||
-- wordt en we eigenlijk de MLDAFM-datum willen gebruiken.
|
||
INSERT INTO mld_melding
|
||
(mld_melding_module,
|
||
mld_meldbron_key,
|
||
mld_melding_datum,
|
||
mld_melding_einddatum,
|
||
mld_stdmelding_key,
|
||
prs_perslid_key,
|
||
mld_melding_status,
|
||
mld_melding_spoed,
|
||
prs_kostenplaats_key)
|
||
VALUES
|
||
('MLD',
|
||
45, -- System
|
||
SYSDATE,
|
||
SYSDATE,
|
||
c_stdmelding_key,
|
||
7520, -- Facilitor
|
||
5, -- Afgemeld
|
||
3,
|
||
r.prs_kostenplaats_key)
|
||
RETURNING mld_melding_key
|
||
INTO v_melding_key;
|
||
|
||
v_errorhint := 'Fout bij toevoegen kenmerk';
|
||
mld.upsertmeldingkenmerk(c_flex_kostenplaats,
|
||
v_melding_key,
|
||
TO_CHAR(r.prs_kostenplaats_key) );
|
||
mld.upsertmeldingkenmerk(c_flex_postrondes,
|
||
v_melding_key,
|
||
TO_CHAR(r.postrondes) );
|
||
mld.upsertmeldingkenmerk(c_flex_dagbladen,
|
||
v_melding_key,
|
||
TO_CHAR(r.dagbladen) );
|
||
mld.upsertmeldingkenmerk(c_flex_containers,
|
||
v_melding_key,
|
||
TO_CHAR(r.containers) );
|
||
|
||
fac.writelog(p_applname, 'I',
|
||
'Melding '||v_melding_key||' toegevoegd',
|
||
'Kostenplaats '||v_aanduiding);
|
||
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Geen gegevens gevonden (' || SUBSTR (SQLERRM, 1, 9) || ')'
|
||
);
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100)
|
||
); -- tbv logging
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
END IF;
|
||
|
||
v_errormsg := 'Insert record';
|
||
v_errorhint := 'Invoegen record mislukt!';
|
||
|
||
-- Logistieke acties voor externe klanten aan doorbelastingstabel toevoegen
|
||
FOR r IN c_insert
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := r.refnr;
|
||
|
||
INSERT INTO nour_exp_sap
|
||
(soort,
|
||
crediteurnr,
|
||
debiteurnr,
|
||
companycode,
|
||
costcentre,
|
||
ordernr,
|
||
postingkey,
|
||
kostensoort,
|
||
key,
|
||
refnr,
|
||
einddatum,
|
||
bedrag_ex,
|
||
bedrag_inc,
|
||
btwcode,
|
||
omschrijving,
|
||
perslid)
|
||
VALUES
|
||
('logistiek',
|
||
r.crediteurnr,
|
||
r.debiteurnr,
|
||
r.companycode,
|
||
r.costcentre,
|
||
r.ordernr,
|
||
r.postingkey,
|
||
r.kostensoort,
|
||
r.key,
|
||
r.refnr,
|
||
COALESCE((SELECT MAX(fac_tracking_datum)
|
||
FROM fac_tracking
|
||
WHERE fac_tracking_refkey = r.key
|
||
AND fac_srtnotificatie_key = DECODE(r.xmlnode,
|
||
'opdracht', 26, -- ORDAFM
|
||
'melding', 18, -- MLDAFM
|
||
32 -- RESAFM
|
||
) ),
|
||
r.einddatum),
|
||
r.bedrag_ex,
|
||
r.bedrag_inc,
|
||
r.btwcode,
|
||
r.omschrijving,
|
||
r.perslid);
|
||
|
||
fac.writelog(p_applname, 'I',
|
||
v_aanduiding,
|
||
r.bedrag_ex);
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Geen gegevens gevonden (' || SUBSTR (SQLERRM, 1, 9) || ')'
|
||
);
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100)
|
||
); -- tbv logging
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100)
|
||
);
|
||
END exp_logistiek;
|
||
|
||
END;
|
||
/
|
||
|
||
--- EXPORT DEELOPDRACHTEN ------------------------------------------------------
|
||
|
||
-- Export MLD_SAP bepaalt doorbelastingsgegevens voor deelopdrachten. Gegevens worden later gebruikt
|
||
-- gebruikt door de specificatie- en verkoopfactuur-exports (SAP_SPEC resp SAP_FACTUREN)
|
||
CREATE OR REPLACE PROCEDURE nour_select_mld_sap (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
nour_p_sap.exp_mld(p_applname, TRUE); -- p_doUpdate TODO
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW nour_v_export_mld_sap
|
||
(RESULT, RESULT_ORDER)
|
||
AS
|
||
SELECT 'soort;crediteurnr;debiteurnr;companycode;costcentre;ordernr;postingkey;kostensoort;key;refnr;bedrag_ex;bedrag_inc;btwcode;omschrijving;perslid',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT soort||';'||
|
||
crediteurnr||';'||
|
||
debiteurnr||';'||
|
||
companycode||';'||
|
||
costcentre||';'||
|
||
ordernr||';'||
|
||
postingkey||';'||
|
||
kostensoort||';'||
|
||
key||';'||
|
||
refnr||';'||
|
||
bedrag_ex||';'||
|
||
bedrag_inc||';'||
|
||
btwcode||';'||
|
||
omschrijving||';'||
|
||
perslid,
|
||
key
|
||
FROM nour_exp_sap
|
||
WHERE soort = 'opdracht';
|
||
|
||
CREATE OR REPLACE PROCEDURE nour_export_mld_sap (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2
|
||
)
|
||
AS
|
||
BEGIN
|
||
-- Het laatste tenslotte heeft weinig met de export te maken
|
||
-- Maar moet hier wel gebeuren: Alle meldingen die TV zijn en geen
|
||
-- opdrachten hebben, worden AV verklaard, zonder verdere extra acties.
|
||
--lgn('Tenslotte nog AV verklaren van lege (zonder opdrachten) TV meldingen');
|
||
-- AKZA#23427: Meldingen Logistieke dienst (srtdisc 121) vallen hierbuiten; die dus
|
||
-- nooit aanpassen met deze export!
|
||
-- AKZA#37464: ook KPI-meldingen vallen hierbuiten
|
||
FOR rec IN (SELECT mld_melding_key
|
||
FROM mld_melding m,
|
||
mld_stdmelding s,
|
||
mld_discipline d
|
||
WHERE NOT EXISTS (SELECT 1
|
||
FROM mld_opdr o
|
||
WHERE o.mld_melding_key = m.mld_melding_key)
|
||
AND m.mld_melding_status = 5 -- TV
|
||
AND m.mld_stdmelding_key = s.mld_stdmelding_key
|
||
AND s.mld_ins_discipline_key = d.ins_discipline_key
|
||
AND d.ins_srtdiscipline_key NOT IN (121, 161) ) -- Logistiek, KPI
|
||
LOOP
|
||
mld.setmeldingstatus (rec.mld_melding_key, 6, NULL);
|
||
fac.writelog(p_applname,
|
||
'I',
|
||
'Melding '||rec.mld_melding_key||' verwerkt',
|
||
'');
|
||
END LOOP;
|
||
|
||
END;
|
||
/
|
||
|
||
--- EXPORT RESERVERINGEN -------------------------------------------------------
|
||
|
||
CREATE OR REPLACE PROCEDURE nour_select_res_sap (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
nour_p_sap.exp_res (p_applname, TRUE); -- doUpdate
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW nour_v_export_res_sap
|
||
(RESULT, RESULT_ORDER)
|
||
AS
|
||
SELECT 'soort;crediteurnr;debiteurnr;companycode;costcentre;ordernr;postingkey;kostensoort;key;refnr;bedrag_ex;bedrag_inc;btwcode;omschrijving;perslid',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT soort||';'||
|
||
crediteurnr||';'||
|
||
debiteurnr||';'||
|
||
companycode||';'||
|
||
costcentre||';'||
|
||
ordernr||';'||
|
||
postingkey||';'||
|
||
kostensoort||';'||
|
||
key||';'||
|
||
refnr||';'||
|
||
bedrag_ex||';'||
|
||
bedrag_inc||';'||
|
||
btwcode||';'||
|
||
omschrijving||';'||
|
||
perslid,
|
||
key
|
||
FROM nour_exp_sap
|
||
WHERE soort IN ('artikel', 'deel', 'ruimte', 'rit');
|
||
|
||
--- EXPORT LOGISTIEK -----------------------------------------------------------
|
||
|
||
-- Voorbereiden export naar SAP; meldingen aanmaken voor vaste kosten vastgelegd in afdelingskenmerken
|
||
CREATE OR REPLACE PROCEDURE nour_select_logistiek (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
nour_p_sap.exp_logistiek(p_applname, TRUE); --doUpdate
|
||
END nour_select_logistiek;
|
||
/
|
||
|
||
-- Exportview naar Foxpro (voor doorbelasting naar SAP)
|
||
CREATE OR REPLACE VIEW nour_v_export_logistiek
|
||
AS
|
||
WITH tmp
|
||
AS
|
||
(SELECT *
|
||
FROM nour_v_logistiek_doorbel l
|
||
WHERE totaal_kosten != 0
|
||
AND ( (xmlnode = 'melding' AND status = 5) -- afgemelde meldingen
|
||
OR (xmlnode = 'opdracht' AND status = 6) -- afgemelde opdrachten
|
||
OR ( xmlnode = 'reservering' -- afgeleverde cateringartikelen
|
||
AND datum BETWEEN (SELECT COALESCE(MAX(fac_tracking_datum),
|
||
TO_DATE('08-10-2012', 'DD-MM-YYYY') )
|
||
FROM fac_tracking t,
|
||
(SELECT key FROM nour_v_logistiek_doorbel
|
||
WHERE xmlnode = 'melding' AND status = 6) d
|
||
WHERE t.fac_srtnotificatie_key = 24 -- MLDVER
|
||
AND d.key = t.fac_tracking_refkey)
|
||
AND SYSDATE ) ) )
|
||
SELECT '<html><head><style>' result, 1 result_order FROM DUAL
|
||
UNION ALL
|
||
SELECT '.num0dec {mso-number-format:0;} .num2dec {mso-number-format:Fixed;} .tekst {mso-number-format:"\@";}' result, 2 result_order FROM DUAL
|
||
UNION ALL
|
||
SELECT '</style></head><body><table>' result, 3 result_order FROM DUAL
|
||
UNION ALL
|
||
SELECT '<tr><td>INT_FACT</td>'||
|
||
'<td>CMPCODE</td>'||
|
||
'<td>KPLCODE</td>'||
|
||
'<td>PK</td>'||
|
||
'<td>VAL</td>'||
|
||
'<td>FAKT.DA</td>'||
|
||
'<td>REFERENTIE</td>'||
|
||
'<td>GRP</td>'||
|
||
'<td>BEDRAG</td>'||
|
||
'<td>AANTAL</td>'||
|
||
'<td>ARTIKEL</td>'||
|
||
'<td>DT</td>'||
|
||
'<td>ARTIKELCODE</td>'||
|
||
'<td>PRIJS</td>'||
|
||
'<td>REFERENTIE 1</td>'||
|
||
'<td>BTW</td></tr>' result, 4 result_order FROM DUAL
|
||
UNION ALL
|
||
SELECT '<tr><td>' ||
|
||
nummer ||
|
||
'</td><td>' ||
|
||
SUBSTR(kostenplaats_nr,
|
||
INSTR(kostenplaats_nr, '(')+1,
|
||
INSTR(kostenplaats_nr, ')') - INSTR(kostenplaats_nr, '(')-1) ||
|
||
'</td><td>' ||
|
||
SUBSTR(kostenplaats_nr,
|
||
1,
|
||
INSTR(kostenplaats_nr, '(')-2) ||
|
||
'</td><td>' ||
|
||
CASE
|
||
WHEN (totaal_kosten < 0) THEN 50
|
||
ELSE 40
|
||
END ||
|
||
'</td><td>' ||
|
||
'EUR'||
|
||
'</td><td>' ||
|
||
TO_CHAR (TRUNC(datum), 'dd-mm-yyyy') ||
|
||
'</td><td>' ||
|
||
melder ||
|
||
'</td><td>' ||
|
||
kostensoort ||
|
||
'</td><td class="num2dec">' ||
|
||
REPLACE(TO_CHAR(COALESCE(totaal_kosten, 0)),'.',',') ||
|
||
'</td><td class="num0dec">' ||
|
||
'1' ||
|
||
'</td><td>' ||
|
||
melding ||
|
||
'</td><td>' ||
|
||
DECODE (SUBSTR(kostenplaats_nr,
|
||
INSTR(kostenplaats_nr, '(')+1,
|
||
INSTR(kostenplaats_nr, ')') - INSTR(kostenplaats_nr, '(')-1),
|
||
'0801', 'NY',
|
||
'MY') ||
|
||
'</td><td>' ||
|
||
'FCLT' ||
|
||
'</td><td class="num2dec">' ||
|
||
REPLACE(TO_CHAR(COALESCE(totaal_kosten, 0)),'.',',') ||
|
||
'</td><td>' ||
|
||
'</td><td>' ||
|
||
'2' ||
|
||
'</td></tr>' result,
|
||
5 result_order
|
||
FROM tmp
|
||
UNION ALL
|
||
SELECT '<tr><td class="num2dec">' || REPLACE(TO_CHAR( SUM(totaal_kosten) ),'.',',') || '</td>' ||
|
||
'<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>' result,
|
||
6 result_order
|
||
FROM tmp
|
||
UNION ALL
|
||
SELECT '<tr><td class="num0dec">1</td>' ||
|
||
'<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>' result,
|
||
7 result_order
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT '</table></body></html>' result, 8 result_order FROM DUAL;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_export_logistiek
|
||
(RESULT, RESULT_ORDER)
|
||
AS
|
||
SELECT 'soort;crediteurnr;debiteurnr;companycode;costcentre;ordernr;postingkey;kostensoort;key;refnr;bedrag_ex;bedrag_inc;btwcode;omschrijving;perslid',
|
||
0
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT soort||';'||
|
||
crediteurnr||';'||
|
||
debiteurnr||';'||
|
||
companycode||';'||
|
||
costcentre||';'||
|
||
ordernr||';'||
|
||
postingkey||';'||
|
||
kostensoort||';'||
|
||
key||';'||
|
||
refnr||';'||
|
||
bedrag_ex||';'||
|
||
bedrag_inc||';'||
|
||
btwcode||';'||
|
||
omschrijving||';'||
|
||
perslid,
|
||
key
|
||
FROM nour_exp_sap
|
||
WHERE soort = 'logistiek';
|
||
|
||
-- Afronden export naar SAP;
|
||
-- meldingen/opdrachten/reserveringen op status Verwerkt zetten
|
||
CREATE OR REPLACE PROCEDURE nour_export_logistiek (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
v_aanduiding VARCHAR(100);
|
||
v_errormsg VARCHAR(200);
|
||
v_errorhint VARCHAR(100);
|
||
v_count NUMBER;
|
||
|
||
-- Alle te-verwerken meldingen en opdrachten.
|
||
-- Doorbelaste logistieke meldingen hebben geen opdrachten, m.u.v. Verzending expeditie.
|
||
-- Bij doorbelaste opdrachten (Verzending expeditie) moet ook de melding op Verwerkt worden gezet
|
||
-- (Reserveringen zijn al op Verwerkt gezet door de RES-exports)
|
||
CURSOR c
|
||
IS
|
||
SELECT key,
|
||
xmlnode,
|
||
nummer,
|
||
melding,
|
||
datum,
|
||
totaal_kosten
|
||
FROM nour_v_logistiek_doorbel l
|
||
WHERE (xmlnode = 'melding' AND status = 5) -- afgemelde meldingen
|
||
OR (xmlnode = 'opdracht' AND status = 6) -- afgemelde opdrachten
|
||
ORDER BY nummer;
|
||
|
||
c_flex_mld_doorbelast NUMBER := 562;
|
||
|
||
c_typeopdr_NL NUMBER := 1052;
|
||
c_typeopdr_EU NUMBER := 1053;
|
||
c_typeopdr_WW NUMBER := 1054;
|
||
c_flex_opdr_NL_doorbelast NUMBER := 566;
|
||
c_flex_opdr_EU_doorbelast NUMBER := 565;
|
||
c_flex_opdr_WW_doorbelast NUMBER := 567;
|
||
|
||
v_melding_key NUMBER;
|
||
v_flex_key NUMBER;
|
||
|
||
BEGIN
|
||
v_aanduiding := 'init';
|
||
v_errormsg := 'init';
|
||
v_errorhint := 'init';
|
||
|
||
-- Meldingen en opdrachten op Verwerkt zetten
|
||
-- (Reserveringen zijn bij de RES-exports al op Verwerkt gezet)
|
||
FOR r IN c
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := r.xmlnode||' '||r.nummer||' (#'||r.key||')';
|
||
|
||
-- Melding zonder opdrachten
|
||
IF (r.xmlnode = 'melding')
|
||
THEN
|
||
v_errormsg := 'Verwerken';
|
||
|
||
-- Melding op Verwerkt zetten (zorgt ook voor tracking)
|
||
v_errorhint := 'Fout bij verwerken melding';
|
||
mld.setmeldingstatus(r.key, 6, NULL);
|
||
fac.writelog(p_applname, 'I',
|
||
v_aanduiding||' verwerkt',
|
||
'');
|
||
-- Voor historie: bewaar doorbelaste bedrag
|
||
v_errorhint := 'Fout bij zetten meldingkenmerk';
|
||
mld.upsertmeldingkenmerk(c_flex_mld_doorbelast,
|
||
r.key,
|
||
TO_CHAR(r.totaal_kosten) );
|
||
|
||
ELSIF (r.xmlnode = 'opdracht')
|
||
THEN
|
||
-- Zet op Verwerkt (zorgt ook voor tracking)
|
||
v_errorhint := 'Fout bij verwerken opdracht';
|
||
mld.setopdrachtstatus (r.key, 7, NULL);
|
||
fac.writelog(p_applname, 'I',
|
||
v_aanduiding||' verwerkt',
|
||
'');
|
||
-- Voor historie: bewaar doorbelaste bedrag
|
||
v_errorhint := 'Fout bij zetten opdrachtkenmerk';
|
||
SELECT DECODE(mld_typeopdr_key,
|
||
c_typeopdr_NL, c_flex_opdr_NL_doorbelast,
|
||
c_typeopdr_EU, c_flex_opdr_EU_doorbelast,
|
||
c_typeopdr_WW, c_flex_opdr_WW_doorbelast)
|
||
INTO v_flex_key
|
||
FROM mld_opdr
|
||
WHERE mld_opdr_key = r.key;
|
||
|
||
mld.upsertopdrachtkenmerk(v_flex_key,
|
||
r.key,
|
||
TO_CHAR(r.totaal_kosten) );
|
||
|
||
v_errormsg := 'Zoeken overige opdrachten';
|
||
|
||
-- Achterhaal melding bij opdracht; zijn nu alle opdrachten bij deze
|
||
-- melding verwerkt?
|
||
v_errorhint := 'Fout bij bepalen melding';
|
||
SELECT mld_melding_key
|
||
INTO v_melding_key
|
||
FROM mld_opdr
|
||
WHERE mld_opdr_key = r.key;
|
||
|
||
-- Zijn er andere te-Verwerken opdrachten bij deze melding?
|
||
-- (te-Verwerken is dan: niet Verwerkt (7), niet Afgewezen (1), niet Niet akkoord (2)
|
||
v_errorhint := 'Fout bij tellen opdrachten';
|
||
SELECT COUNT(*)
|
||
INTO v_count
|
||
FROM mld_opdr
|
||
WHERE mld_melding_key = v_melding_key
|
||
AND mld_opdr_key != r.key
|
||
AND mld_statusopdr_key NOT IN (1,2,7);
|
||
|
||
IF (v_count > 0)
|
||
THEN
|
||
-- Er zijn nog opdrachten; melding kan niet Verwerkt worden
|
||
fac.writelog(p_applname, 'I',
|
||
'Melding L'||v_melding_key||' bij '||v_aanduiding||' wordt (nog) niet verwerkt',
|
||
'Er zijn nog andere openstaande/te verwerken opdrachten');
|
||
|
||
ELSE
|
||
-- Geen andere opdrachten; melding op Verwerkt zetten (zorgt ook voor tracking)
|
||
v_errorhint := 'Fout bij verwerken melding';
|
||
mld.setmeldingstatus(v_melding_key, 6, NULL);
|
||
fac.writelog(p_applname,
|
||
'I',
|
||
'Melding L'||v_melding_key||' bij '||v_aanduiding||' verwerkt',
|
||
'');
|
||
END IF;
|
||
END IF;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100)
|
||
);
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.writelog (p_applname, 'E',
|
||
v_aanduiding||': '||v_errorhint||' ('||v_errormsg||')',
|
||
'Error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100)
|
||
);
|
||
END nour_export_logistiek;
|
||
/
|
||
|
||
|
||
--- SPECIFICATIEREGELS ---------------------------------------------------------
|
||
|
||
-- AKZA#27345: Export verkoopfacturen naar SAP.
|
||
-- Genereert exportbestand met specificatieregels; deze wordt later in een batch-script
|
||
-- gesplitst in bestanden per betalende company(code)
|
||
CREATE OR REPLACE VIEW nour_v_export_sap_spec
|
||
(RESULT, RESULT_ORDER)
|
||
AS
|
||
SELECT 'Seq;CoCd;Doc. Type;Crcy;PK;G/L Acct;Cost Ctr;Network;Ordnr;Text;Pstng Date;Amount;Crcy' result,
|
||
0 result_order
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT seq||';'||cocd||';'||doctype||';'||crcy||';'||pk||';'||glacct||';'||
|
||
costctr||';'||network||';'||ordnr||';'||text||';'||pstngdate||';'||amount||';'||crcy1 result,
|
||
ROWNUM result_order
|
||
FROM (
|
||
SELECT ROW_NUMBER() OVER (PARTITION BY companycode ORDER BY companycode, kostensoort, costcentre) AS seq,
|
||
companycode cocd,
|
||
'MY' doctype,
|
||
'EUR' crcy,
|
||
postingkey pk,
|
||
kostensoort glacct,
|
||
costcentre costctr,
|
||
NULL network,
|
||
TRIM(ordernr) ordnr,
|
||
-- Melder in omschrijving vermelden, maar alleen als dat niet _FACILITOR is.
|
||
refnr||' '
|
||
|| omschrijving
|
||
|| DECODE(perslid,
|
||
'Facilitor', '',
|
||
' ('||perslid||')' ) text,
|
||
TO_CHAR(einddatum, 'DD-MM-YYYY') pstngdate,
|
||
bedrag_ex amount,
|
||
NULL crcy1
|
||
FROM nour_exp_sap );
|
||
|
||
--- VERKOOPFACTUREN ------------------------------------------------------------
|
||
|
||
-- AKZA#27345: Export verkoopfacturen naar SAP.
|
||
-- Facturen worden getotaliseerd per klantbedrijf (company), met daarbij een specificatieregel
|
||
-- per opdracht/melding/reservering en aparte BTW-regels voor hoog/laag
|
||
CREATE OR REPLACE PROCEDURE nour_select_sap_facturen (p_applname IN VARCHAR2, p_applrun IN VARCHAR2)
|
||
AS
|
||
CURSOR c_facturen
|
||
IS
|
||
SELECT TO_CHAR(SYSDATE+2, 'DDMMYYYY') docdate,
|
||
'DA' doctype,
|
||
crediteurnr companycode,
|
||
TO_CHAR(SYSDATE+2, 'DDMMYYYY') postingdate,
|
||
'EUR' currency,
|
||
NULL documentnr,
|
||
DECODE(soort,
|
||
'opdracht', 'Service Orders',
|
||
'artikel', 'Catering',
|
||
'ruimte', 'Bookable rooms',
|
||
'deel', 'Bookable equipment',
|
||
'logistiek', 'Logistic Services',
|
||
soort)
|
||
||TO_CHAR(ADD_MONTHS(SYSDATE,-1), ' YYYY.MM') description,
|
||
companycode||TO_CHAR(ADD_MONTHS(SYSDATE,-1), '-YYYY.MM') referencenr,
|
||
CASE
|
||
WHEN SUM(bedrag_inc) >= 0 THEN '01'
|
||
WHEN SUM(bedrag_inc) < 0 THEN '11'
|
||
END
|
||
postingkey,
|
||
debiteurnr account,
|
||
TRIM( TO_CHAR( SUM(bedrag_inc),
|
||
'99999999D99',
|
||
'NLS_NUMERIC_CHARACTERS=,.') ) amount,
|
||
'**' taxcode,
|
||
NULL network,
|
||
--TODO: Deventer verwacht hier wel een waarde in(?)
|
||
'' assignment,
|
||
'' costcenter,
|
||
DECODE(soort,
|
||
'opdracht', 'Service Orders',
|
||
'artikel', 'Catering',
|
||
'ruimte', 'Bookable rooms',
|
||
'deel', 'Bookable equipment',
|
||
'logistiek', 'Logistic Services',
|
||
soort)
|
||
||TO_CHAR(ADD_MONTHS(SYSDATE,-1), ' YYYY.MM ')
|
||
||COALESCE(aa.prs_afdeling_naam6, 'LEEG') lineitemtext,
|
||
NULL tradingpartner,
|
||
'' ordernr,
|
||
NULL partnerbanktype,
|
||
NULL xref1,
|
||
NULL xref2,
|
||
-- de verschillende company's hebben andere contactpersonen per dienst
|
||
DECODE( crediteurnr1,
|
||
'1435', DECODE( soort,
|
||
'opdracht', 'VONKT',
|
||
'artikel', 'VONKT',
|
||
'ruimte', 'VONKT',
|
||
'deel', 'VONKT',
|
||
'logistiek', 'VONKT',
|
||
NULL),
|
||
DECODE( soort,
|
||
'opdracht', 'BONGERSH',
|
||
'artikel', 'ERMERSJ',
|
||
'ruimte', 'ERMERSJ',
|
||
'deel', 'ERMERSJ',
|
||
'logistiek', 'BOSW',
|
||
NULL) )
|
||
xref3,
|
||
NULL companycodecross,
|
||
NULL profitcenter,
|
||
soort
|
||
-- Diverse HQ-company's hebben dezelfde administratie (0801, 0804, 0806, 0810),
|
||
-- dus daar niet onderling factureren.
|
||
-- Bij incomplete inrichting kan de companycode leeg zijn, daar expliciet op checken
|
||
FROM (SELECT DECODE(companycode, '0804', '0801',
|
||
'0806', '0801',
|
||
'0810', '0801',
|
||
NULL, 'apekool',
|
||
companycode) companycode1,
|
||
DECODE(crediteurnr, '0804', '0801',
|
||
'0806', '0801',
|
||
'0810', '0801',
|
||
NULL, 'quequeleque',
|
||
crediteurnr) crediteurnr1,
|
||
es.*
|
||
FROM nour_exp_sap es),
|
||
prs_v_aanwezigafdeling aa
|
||
WHERE companycode1 != crediteurnr1
|
||
AND aa.prs_afdeling_naam(+) = companycode
|
||
GROUP BY companycode, companycode1, debiteurnr, crediteurnr, crediteurnr1, soort, aa.prs_afdeling_naam6;
|
||
|
||
-- AKZA#32881 factuurregels sommeren per GLaccount (kostensoort) en kostenplaats
|
||
CURSOR c_regels (p_crediteurnr VARCHAR2,
|
||
p_debiteurnr VARCHAR2,
|
||
p_soort VARCHAR2)
|
||
IS
|
||
SELECT CASE
|
||
WHEN SUM(bedrag_ex) >= 0 THEN '50'
|
||
WHEN SUM(bedrag_ex) < 0 THEN '40'
|
||
END
|
||
postingkey,
|
||
kostensoort account,
|
||
TRIM( TO_CHAR( SUM(bedrag_ex),
|
||
'99999999D99',
|
||
'NLS_NUMERIC_CHARACTERS=,.') ) amount,
|
||
'NC' taxcode,
|
||
NULL network,
|
||
NULL assignment,
|
||
costcentre costcenter,
|
||
DECODE(soort,
|
||
'opdracht', 'Service Orders',
|
||
'artikel', 'Catering',
|
||
'ruimte', 'Bookable rooms',
|
||
'deel', 'Bookable equipment',
|
||
'logistiek', 'Logistic Services',
|
||
soort)
|
||
|| TO_CHAR(ADD_MONTHS(SYSDATE,-1), ' YYYY.MM ') lineitemtext,
|
||
NULL tradingpartner,
|
||
'' ordernr
|
||
-- Diverse HQ-company's hebben dezelfde administratie (0801, 0804, 0806, 0810),
|
||
-- dus daar niet onderling factureren.
|
||
-- Bij incomplete inrichting kan de companycode leeg zijn, daar expliciet op checken
|
||
FROM (SELECT DECODE(companycode, '0804', '0801',
|
||
'0806', '0801',
|
||
'0810', '0801',
|
||
NULL, 'apekool',
|
||
companycode) companycode1,
|
||
DECODE(crediteurnr, '0804', '0801',
|
||
'0806', '0801',
|
||
'0810', '0801',
|
||
NULL, 'quequeleque',
|
||
crediteurnr) crediteurnr1,
|
||
es.*
|
||
FROM nour_exp_sap es)
|
||
WHERE companycode1 != crediteurnr1
|
||
AND crediteurnr = p_crediteurnr
|
||
AND debiteurnr = p_debiteurnr
|
||
AND soort = p_soort
|
||
GROUP BY kostensoort, costcentre, soort
|
||
ORDER BY kostensoort, costcentre;
|
||
|
||
CURSOR c_btw (p_crediteurnr VARCHAR2,
|
||
p_debiteurnr VARCHAR2,
|
||
p_soort VARCHAR2)
|
||
IS
|
||
SELECT CASE
|
||
WHEN SUM(bedrag_inc) - SUM(bedrag_ex) >= 0 THEN '50'
|
||
WHEN SUM(bedrag_inc) - SUM(bedrag_ex) < 0 THEN '40'
|
||
END
|
||
postingkey,
|
||
'3571039' account,
|
||
TRIM( TO_CHAR( SUM(bedrag_inc) - SUM(bedrag_ex),
|
||
'99999999D99',
|
||
'NLS_NUMERIC_CHARACTERS=,.') ) amount,
|
||
DECODE(btwcode,
|
||
'21', 'N3',
|
||
'6', 'N1',
|
||
'0', 'N5',
|
||
'NC')
|
||
taxcode,
|
||
NULL network,
|
||
NULL assignment,
|
||
NULL costcenter,
|
||
'BTW '
|
||
|| DECODE(btwcode,
|
||
'21', '21%',
|
||
'6', '6%',
|
||
'onbekend: '||btwcode)
|
||
lineitemtext
|
||
-- Diverse HQ-company's hebben dezelfde administratie (0801, 0804, 0806, 0810),
|
||
-- dus daar niet onderling factureren.
|
||
-- Bij incomplete inrichting kan de companycode leeg zijn, daar expliciet op checken
|
||
FROM (SELECT DECODE(companycode, '0804', '0801',
|
||
'0806', '0801',
|
||
'0810', '0801',
|
||
NULL, 'apekool',
|
||
companycode) companycode1,
|
||
DECODE(crediteurnr, '0804', '0801',
|
||
'0806', '0801',
|
||
'0810', '0801',
|
||
NULL, 'quequeleque',
|
||
crediteurnr) crediteurnr1,
|
||
es.*
|
||
FROM nour_exp_sap es)
|
||
WHERE companycode1 != crediteurnr1
|
||
AND crediteurnr = p_crediteurnr
|
||
AND debiteurnr = p_debiteurnr
|
||
AND soort = p_soort
|
||
GROUP BY postingkey, btwcode;
|
||
|
||
v_aanduiding VARCHAR2(100);
|
||
v_volgnr NUMBER;
|
||
v_errormsg VARCHAR(255);
|
||
v_errorhint VARCHAR(255);
|
||
BEGIN
|
||
v_aanduiding := 'init';
|
||
v_errormsg := 'init';
|
||
v_errorhint := 'init';
|
||
v_volgnr := 1;
|
||
|
||
DELETE fac_rapport
|
||
WHERE fac_rapport_node = p_applname;
|
||
|
||
DELETE imp_log
|
||
WHERE imp_log_applicatie = p_applname
|
||
AND imp_log_datum > SYSDATE - 185;
|
||
|
||
v_errorhint := 'Headerregel';
|
||
|
||
INSERT INTO fac_rapport
|
||
(fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel,
|
||
fac_rapport_soort)
|
||
SELECT p_applname,
|
||
0,
|
||
'<html><head><style>.num0dec {mso-number-format:0;} .num2dec {mso-number-format:Fixed;} .tekst {mso-number-format:"\@"; white-space:nowrap;}</style></head><body><table>',
|
||
1
|
||
FROM DUAL
|
||
UNION ALL
|
||
SELECT p_applname,
|
||
1,
|
||
'<tr><td>DOCDATE</td>'||
|
||
'<td>DOCTYPE</td>'||
|
||
'<td>COMPANYCODE</td>'||
|
||
'<td>POSTINGDATE</td>'||
|
||
'<td>CURRENCY</td>'||
|
||
'<td>DOCUMENTNR</td>'||
|
||
'<td>DESCRIPTION</td>'||
|
||
'<td>REFERENCENR</td>'||
|
||
'<td>POSTINGKEY</td>'||
|
||
'<td>ACCOUNT</td>'||
|
||
'<td>AMOUNT</td>'||
|
||
'<td>TAXCODE</td>'||
|
||
'<td>NETWORK</td>'||
|
||
'<td>ASSIGNMENT</td>'||
|
||
'<td>COSTCENTER</td>'||
|
||
'<td>LINEITEMTEXT</td>'||
|
||
'<td>TRADINGPARTNER</td>'||
|
||
'<td>ORDERNR</td>'||
|
||
'<td>PARTNERBANKTYPE</td>'||
|
||
'<td>XREF1</td>'||
|
||
'<td>XREF2</td>'||
|
||
'<td>XREF3</td>'||
|
||
'<td>COMPANYCODECROSS</td>'||
|
||
'<td>PROFITCENTER</td></tr>',
|
||
1
|
||
FROM DUAL;
|
||
|
||
v_errorhint := 'Sommatieregel';
|
||
|
||
FOR rec_f IN c_facturen
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := rec_f.companycode||' --> '||rec_f.account||' ('||rec_f.soort||')';
|
||
v_volgnr := v_volgnr + 1;
|
||
|
||
v_errormsg := 'Sommatieregel aanmaken';
|
||
|
||
INSERT INTO fac_rapport
|
||
(fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel,
|
||
fac_rapport_soort)
|
||
VALUES
|
||
(p_applname,
|
||
v_volgnr,
|
||
'<tr>'||
|
||
'<td class="tekst">'||rec_f.docdate||'</td>'||
|
||
'<td class="tekst">'||rec_f.doctype||'</td>'||
|
||
'<td class="tekst">'||rec_f.companycode||'</td>'||
|
||
'<td class="tekst">'||rec_f.postingdate||'</td>'||
|
||
'<td class="tekst">'||rec_f.currency||'</td>'||
|
||
'<td class="tekst">'||rec_f.documentnr||'</td>'||
|
||
'<td class="tekst">'||rec_f.description||'</td>'||
|
||
'<td class="tekst">'||rec_f.referencenr||'</td>'||
|
||
'<td class="tekst">'||rec_f.postingkey||'</td>'||
|
||
'<td class="tekst">'||rec_f.account||'</td>'||
|
||
'<td class="num2dec">'||rec_f.amount||'</td>'||
|
||
'<td class="tekst">'||rec_f.taxcode||'</td>'||
|
||
'<td class="tekst">'||rec_f.network||'</td>'||
|
||
'<td class="tekst">'||rec_f.assignment||'</td>'||
|
||
'<td class="tekst">'||rec_f.costcenter||'</td>'||
|
||
'<td class="tekst">'||rec_f.lineitemtext||'</td>'||
|
||
'<td class="tekst">'||rec_f.tradingpartner||'</td>'||
|
||
'<td class="tekst">'||rec_f.ordernr||'</td>'||
|
||
'<td class="tekst">'||rec_f.partnerbanktype||'</td>'||
|
||
'<td class="tekst">'||rec_f.xref1||'</td>'||
|
||
'<td class="tekst">'||rec_f.xref2||'</td>'||
|
||
'<td class="tekst">'||rec_f.xref3||'</td>'||
|
||
'<td class="tekst">'||rec_f.companycodecross||'</td>'||
|
||
'<td class="tekst">'||rec_f.profitcenter||'</td></tr>',
|
||
1);
|
||
|
||
v_errorhint := 'Specificatieregels';
|
||
|
||
FOR rec IN c_regels (rec_f.companycode,
|
||
rec_f.account,
|
||
rec_f.soort)
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := rec_f.companycode||' --> '||rec_f.account||' ('||rec_f.soort||')'
|
||
||' - '||rec.lineitemtext;
|
||
v_volgnr := v_volgnr + 1;
|
||
|
||
v_errormsg := 'Specificatieregel aanmaken';
|
||
|
||
INSERT INTO fac_rapport
|
||
(fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel,
|
||
fac_rapport_soort)
|
||
VALUES
|
||
(p_applname,
|
||
v_volgnr,
|
||
'<tr><td/><td/><td/><td/><td/><td/><td/><td/>'||
|
||
'<td class="tekst">'||rec.postingkey||'</td>'||
|
||
'<td class="tekst">'||rec.account||'</td>'||
|
||
'<td class="num2dec">'||rec.amount||'</td>'||
|
||
'<td class="tekst">'||rec.taxcode||'</td>'||
|
||
'<td class="tekst">'||rec.network||'</td>'||
|
||
'<td class="tekst">'||rec.assignment||'</td>'||
|
||
'<td class="tekst">'||rec.costcenter||'</td>'||
|
||
'<td class="tekst">'||rec.lineitemtext||'</td>'||
|
||
'<td class="tekst">'||rec.tradingpartner||'</td>'||
|
||
'<td class="tekst">'||rec.ordernr||'</td>'||
|
||
'<td/><td/><td/><td/><td/></tr>',
|
||
1);
|
||
EXCEPTION
|
||
WHEN OTHERS THEN fac.writelog(p_applname, 'E',
|
||
v_errormsg||' ('||v_errorhint||')',
|
||
v_aanduiding);
|
||
END;
|
||
END LOOP;
|
||
|
||
v_errorhint := 'BTW-regels';
|
||
|
||
FOR rec_btw IN c_btw (rec_f.companycode,
|
||
rec_f.account,
|
||
rec_f.soort)
|
||
LOOP
|
||
BEGIN
|
||
v_aanduiding := rec_f.companycode||' --> '||rec_f.account||' ('||rec_f.soort||')'
|
||
||' - '||rec_btw.lineitemtext;
|
||
v_volgnr := v_volgnr + 1;
|
||
|
||
v_errormsg := 'BTW-regel aanmaken';
|
||
|
||
INSERT INTO fac_rapport
|
||
(fac_rapport_node,
|
||
fac_rapport_volgnr,
|
||
fac_rapport_regel,
|
||
fac_rapport_soort)
|
||
VALUES
|
||
(p_applname,
|
||
v_volgnr,
|
||
'<tr><td/><td/><td/><td/><td/><td/><td/><td/>'||
|
||
'<td class="tekst">'||rec_btw.postingkey||'</td>'||
|
||
'<td class="tekst">'||rec_btw.account||'</td>'||
|
||
'<td class="num2dec">'||rec_btw.amount||'</td>'||
|
||
'<td class="tekst">'||rec_btw.taxcode||'</td>'||
|
||
'<td class="tekst">'||rec_btw.network||'</td>'||
|
||
'<td class="tekst">'||rec_btw.assignment||'</td>'||
|
||
'<td class="tekst">'||rec_btw.costcenter||'</td>'||
|
||
'<td class="tekst">'||rec_btw.lineitemtext||'</td>'||
|
||
'<td/><td/><td/><td/><td/><td/><td/></tr>',
|
||
1);
|
||
EXCEPTION
|
||
WHEN OTHERS THEN fac.writelog(p_applname, 'E',
|
||
v_errormsg||' ('||v_errorhint||')',
|
||
v_aanduiding);
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.writelog(p_applname, 'S',
|
||
'Verkoopfactuur '||rec_f.companycode||' --> '||rec_f.account||' ('||rec_f.soort||')'||' ge<67>xporteerd',
|
||
'<27> '||rec_f.amount);
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS THEN fac.writelog(p_applname, 'E',
|
||
v_errormsg||' ('||v_errorhint||')',
|
||
v_aanduiding);
|
||
END;
|
||
END LOOP;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS THEN fac.writelog(p_applname, 'E',
|
||
v_errormsg||' ('||v_errorhint||')',
|
||
v_aanduiding);
|
||
END nour_select_sap_facturen;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW nour_v_export_sap_facturen
|
||
(RESULT, RESULT_ORDER)
|
||
AS
|
||
SELECT fac_rapport_regel, fac_rapport_volgnr
|
||
FROM fac_rapport
|
||
WHERE fac_rapport_node = 'SAP_FACTUREN';
|
||
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
------------------------------- RAPPORTAGES EN NOTIFICATIEJOBS -----------------------------------
|
||
--------------------------------------------------------------------------------------------------
|
||
|
||
--- LOGISTIEK ------------------------------------------------------------------
|
||
|
||
-- Toont o.a. soort en prijs van alle door-te-belasten en al doorbelaste handelingen in een bepaalde periode
|
||
-- mld_srtkenmerk PO-nummer 362
|
||
-- mld_srtkenmerk Pakketnummer 561
|
||
CREATE OR REPLACE VIEW nour_v_rap_logistiek_doorbel
|
||
AS
|
||
SELECT TO_CHAR (datum, 'yyyymmdd')||REPLACE(nummer,'L','') hide_f_sort,
|
||
DECODE (xmlnode,
|
||
'melding', '<a class="details" onclick=''FcltMgr.openDetail("appl/mld/mld_melding.asp?urole=bo&'||'mld_key='
|
||
|| key || '")''>'
|
||
|| nummer
|
||
|| '</a>',
|
||
'opdracht', '<a class="details" onclick=''FcltMgr.openDetail("appl/mld/mld_opdr.asp?urole=bo&'||'opdr_key='
|
||
|| key || '")''>'
|
||
|| nummer
|
||
|| '</a>',
|
||
'reservering', '<a class="details" onclick=''FcltMgr.openDetail("appl/res/res_reservering.asp?urole=bo&'||'rsv_ruimte_key='
|
||
|| key || '")''>'
|
||
|| nummer
|
||
|| '</a>',
|
||
nummer)
|
||
html_nummer,
|
||
datum,
|
||
melding fclt_f_melding,
|
||
vakgroep fclt_f_vakgroep,
|
||
kostenplaats_nr||' '||kostenplaats_oms fclt_x_kostenplaats,
|
||
kostenplaats_oms||'<br/>'||kostenplaats_nr html_kostenplaats,
|
||
ordernr,
|
||
ponr.mld_kenmerkmelding_waarde po_nummer,
|
||
pakket.mld_kenmerkmelding_waarde pakketnummer,
|
||
melder aanvrager,
|
||
COALESCE (doorbelast_bedrag, totaal_kosten) kosten
|
||
FROM nour_v_logistiek_doorbel ld,
|
||
(SELECT km.* FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL
|
||
AND k.mld_srtkenmerk_key = 362) ponr,
|
||
(SELECT km.* FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND km.mld_kenmerkmelding_verwijder IS NULL
|
||
AND k.mld_srtkenmerk_key = 561) pakket
|
||
WHERE ponr.mld_melding_key(+) = ld.key
|
||
AND pakket.mld_melding_key(+) = ld.key;
|
||
|
||
-- Doorbelaste handelingen per meldingsoort/opdrachttype
|
||
CREATE OR REPLACE PROCEDURE nour_rap_logistiek_samenv (
|
||
user_key IN NUMBER,
|
||
p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006'
|
||
p_datum_tot IN VARCHAR2,
|
||
p_cursor OUT SYS_REFCURSOR
|
||
)
|
||
AS
|
||
v_datum_van DATE;
|
||
v_datum_tot DATE;
|
||
BEGIN
|
||
v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy');
|
||
v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy');
|
||
|
||
OPEN p_cursor FOR
|
||
SELECT vakgroep,
|
||
melding,
|
||
COUNT (nummer) aantal_meldingen,
|
||
SUM (totaal_kosten) totaal_kosten
|
||
FROM nour_v_logistiek_doorbel
|
||
WHERE datum BETWEEN TO_DATE ('1-10-2012', 'DD-MM-YYYY')
|
||
AND SYSDATE
|
||
AND datum BETWEEN v_datum_van
|
||
AND v_datum_tot
|
||
GROUP BY melding, vakgroep
|
||
ORDER BY vakgroep, melding;
|
||
END nour_rap_logistiek_samenv;
|
||
/
|
||
|
||
-- Actueel overzicht van vaste kosten (flexkenmerken bij afdelingen)
|
||
-- usrdata:
|
||
-- Looprondes (p/maand) 2176
|
||
-- Dagblad bezorgen (p/maand) 2177
|
||
-- Opslag containers 2197
|
||
-- Kenmerken
|
||
-- Postrondes:
|
||
-- Ophaalplaats 1 1295
|
||
-- Ophaalplaats 2 1296
|
||
-- Ophaalplaats 3 1297
|
||
-- Dagbladen:
|
||
-- Bezorgplaats 1 1301
|
||
-- Dagblad 1 1299
|
||
-- Abonnee 1 1300
|
||
-- Bezorgplaats 2 1305
|
||
-- Dagblad 2 1304
|
||
-- Abonnee 2 1303
|
||
-- Bezorgplaats 3 1308
|
||
-- Dagblad 3 1307
|
||
-- Abonnee 3 1309
|
||
-- Containers:
|
||
-- Aantal containers 1321
|
||
CREATE OR REPLACE VIEW nour_v_rap_logistiek_vastkost
|
||
AS
|
||
SELECT prs_afdeling_omschrijving||oms hide_f_sort,
|
||
prs_afdeling_omschrijving fclt_x_afdeling,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("appl/prs/prs_afdeling.asp?afd_niveau=2&'||'key='
|
||
|| prs_afdeling_key || '")''>'
|
||
|| htf.escape_sc(prs_afdeling_omschrijving)
|
||
|| '</a>' html_afdeling,
|
||
ruimte "ruimte/persoon",
|
||
oms,
|
||
prs_kostenplaats_nr||' '||prs_kostenplaats_omschrijving fclt_x_kostenplaats,
|
||
prs_kostenplaats_omschrijving||'<br/>'||prs_kostenplaats_nr html_kostenplaats,
|
||
aantal * fac_usrdata_prijs bedrag,
|
||
soort fclt_x_soort
|
||
FROM (
|
||
SELECT a.prs_afdeling_key,
|
||
a.prs_afdeling_omschrijving prs_afdeling_omschrijving,
|
||
a.prs_kostenplaats_key,
|
||
'Looprondes' soort,
|
||
'Postronde' oms,
|
||
ra.alg_ruimte_aanduiding ruimte,
|
||
1 aantal,
|
||
2176 fac_usrdata_key
|
||
FROM prs_afdeling a,
|
||
prs_kenmerklink kl,
|
||
alg_v_ruimte_gegevens ra
|
||
WHERE kl.prs_kenmerk_key IN (1295, 1296, 1297)
|
||
AND kl.prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_link_key = a.prs_afdeling_key
|
||
AND ra.alg_ruimte_key = fac.safe_to_number(kl.prs_kenmerklink_waarde)
|
||
UNION ALL
|
||
SELECT a.prs_afdeling_key,
|
||
a.prs_afdeling_omschrijving,
|
||
a.prs_kostenplaats_key,
|
||
'Dagbladen' soort,
|
||
dbl.prs_kenmerklink_waarde oms,
|
||
abo.prs_kenmerklink_waarde ruimte,
|
||
1 aantal,
|
||
2177 fac_usrdata_key
|
||
FROM prs_afdeling a,
|
||
prs_kenmerklink kl,
|
||
alg_v_ruimte_gegevens ra,
|
||
(SELECT * FROM prs_kenmerklink WHERE prs_kenmerk_key = 1299
|
||
AND prs_kenmerklink_verwijder IS NULL) dbl,
|
||
(SELECT * FROM prs_kenmerklink WHERE prs_kenmerk_key = 1300
|
||
AND prs_kenmerklink_verwijder IS NULL) abo
|
||
WHERE kl.prs_kenmerk_key = 1301
|
||
AND kl.prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_link_key = a.prs_afdeling_key
|
||
AND ra.alg_ruimte_key = fac.safe_to_number(kl.prs_kenmerklink_waarde)
|
||
AND dbl.prs_link_key(+) = a.prs_afdeling_key
|
||
AND abo.prs_link_key(+) = a.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT a.prs_afdeling_key,
|
||
a.prs_afdeling_omschrijving,
|
||
a.prs_kostenplaats_key,
|
||
'Dagbladen' soort,
|
||
dbl.prs_kenmerklink_waarde oms,
|
||
abo.prs_kenmerklink_waarde ruimte,
|
||
1 aantal,
|
||
2177 fac_usrdata_key
|
||
FROM prs_afdeling a,
|
||
prs_kenmerklink kl,
|
||
alg_v_ruimte_gegevens ra,
|
||
(SELECT * FROM prs_kenmerklink WHERE prs_kenmerk_key = 1304
|
||
AND prs_kenmerklink_verwijder IS NULL) dbl,
|
||
(SELECT * FROM prs_kenmerklink WHERE prs_kenmerk_key = 1303
|
||
AND prs_kenmerklink_verwijder IS NULL) abo
|
||
WHERE kl.prs_kenmerk_key = 1305
|
||
AND kl.prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_link_key = a.prs_afdeling_key
|
||
AND ra.alg_ruimte_key = fac.safe_to_number(kl.prs_kenmerklink_waarde)
|
||
AND dbl.prs_link_key(+) = a.prs_afdeling_key
|
||
AND abo.prs_link_key(+) = a.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT a.prs_afdeling_key,
|
||
a.prs_afdeling_omschrijving,
|
||
a.prs_kostenplaats_key,
|
||
'Dagbladen' soort,
|
||
dbl.prs_kenmerklink_waarde oms,
|
||
abo.prs_kenmerklink_waarde ruimte,
|
||
1 aantal,
|
||
2177 fac_usrdata_key
|
||
FROM prs_afdeling a,
|
||
prs_kenmerklink kl,
|
||
alg_v_ruimte_gegevens ra,
|
||
(SELECT * FROM prs_kenmerklink WHERE prs_kenmerk_key = 1307
|
||
AND prs_kenmerklink_verwijder IS NULL) dbl,
|
||
(SELECT * FROM prs_kenmerklink WHERE prs_kenmerk_key = 1309
|
||
AND prs_kenmerklink_verwijder IS NULL) abo
|
||
WHERE kl.prs_kenmerk_key = 1308
|
||
AND kl.prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_link_key = a.prs_afdeling_key
|
||
AND ra.alg_ruimte_key = fac.safe_to_number(kl.prs_kenmerklink_waarde)
|
||
AND dbl.prs_link_key(+) = a.prs_afdeling_key
|
||
AND abo.prs_link_key(+) = a.prs_afdeling_key
|
||
UNION ALL
|
||
SELECT a.prs_afdeling_key,
|
||
a.prs_afdeling_omschrijving prs_afdeling_omschrijving,
|
||
a.prs_kostenplaats_key,
|
||
'Opslag containers' soort,
|
||
'Container ('
|
||
|| fac.safe_to_number(kl.prs_kenmerklink_waarde)
|
||
|| 'x)'
|
||
oms,
|
||
NULL ruimte,
|
||
fac.safe_to_number(kl.prs_kenmerklink_waarde) aantal,
|
||
2197 fac_usrdata_key
|
||
FROM prs_afdeling a,
|
||
prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerk_key = 1321
|
||
AND kl.prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_link_key = a.prs_afdeling_key) a,
|
||
fac_usrdata ud,
|
||
prs_kostenplaats k
|
||
WHERE ud.fac_usrdata_key = a.fac_usrdata_key
|
||
AND k.prs_kostenplaats_key = a.prs_kostenplaats_key;
|
||
|
||
--- RUIMTEGEGEVENS, PERSOONSGEGEVENS, INFORMATIEGIDS ---------------------------
|
||
|
||
-- AKZA12084: ruimtebeheerders inclusief afdeling als bron voor flexkenmerk bij ruimte (en van belang voor werkvergunning)
|
||
CREATE OR REPLACE VIEW nour_v_ruimtebeheerders
|
||
(prs_perslid_key, persoonafdeling)
|
||
AS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_naam || ' / ' || a.prs_afdeling_naam
|
||
FROM prs_perslid p, prs_afdeling a
|
||
WHERE p.prs_perslid_verwijder IS NULL
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
ORDER BY p.prs_perslid_naam;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_extraphone (fclt_f_groep,
|
||
fclt_f_omschrijving,
|
||
fclt_f_plaats,
|
||
fclt_f_bereiken,
|
||
nummer_email,
|
||
fclt_3d_locatie_key,
|
||
fclt_3d_gebouw_key
|
||
)
|
||
AS
|
||
SELECT ins_srtdeel_omschrijving, idd.ins_deel_omschrijving,
|
||
alg_plaatsaanduiding, ins_srtkenmerk_omschrijving,
|
||
ins_kenmerkdeel_waarde, alg_locatie_key, alg_gebouw_key
|
||
FROM INS_DEEL idd,
|
||
INS_KENMERKDEEL ikd,
|
||
INS_KENMERK ik,
|
||
INS_SRTKENMERK isk,
|
||
INS_SRTDEEL isd,
|
||
ins_v_alg_overzicht o
|
||
WHERE idd.ins_deel_verwijder IS NULL
|
||
AND idd.ins_srtdeel_key = isd.ins_srtdeel_key
|
||
AND idd.ins_deel_key = ikd.ins_deel_key
|
||
AND ikd.ins_kenmerk_key = ik.ins_kenmerk_key
|
||
AND isk.ins_srtkenmerk_key = ik.ins_srtkenmerk_key
|
||
AND ins_kenmerkdeel_verwijder IS NULL
|
||
AND isk.ins_srtkenmerk_kenmerktype NOT IN ('L', 'Q', 'M', 'F')
|
||
AND idd.ins_discipline_key = 825 -- Additieve Bereikbaarheid
|
||
AND isk.ins_srtkenmerk_key IN (3082, 3083, 3084) -- Tel/Fax/Email
|
||
AND o.alg_ruimte_key = idd.ins_alg_ruimte_key
|
||
AND o.alg_onroerendgoed_type = idd.ins_alg_ruimte_type
|
||
ORDER BY idd.ins_deel_omschrijving, ins_kenmerk_volgnummer;
|
||
|
||
-- Ongeacht of een BHV-kenmerk is ingevuld
|
||
CREATE OR REPLACE VIEW nour_v_rap_bhv_all
|
||
AS
|
||
SELECT pf.prs_perslid_key hide_f_key,
|
||
pf.prs_perslid_naam_full fclt_f_naam,
|
||
p.prs_perslid_telefoonnr telefoon,
|
||
d.prs_afdeling_naam fclt_f_afdeling,
|
||
w.alg_gebouw_code fclt_f_gebouw,
|
||
w.alg_verdieping_code verdieping,
|
||
w.alg_ruimte_nr ruimte,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1166),
|
||
'Nooit') fclt_f_laatste_instructie_kb,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1165),
|
||
'Nooit') fclt_f_laatste_instructie_ehbo,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1168),
|
||
'Nooit') fclt_f_ehbo_tot,
|
||
NVL((SELECT fac_usrdata_omschr
|
||
FROM prs_kenmerklink kl, fac_usrdata
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1161
|
||
AND prs_kenmerklink_waarde = fac_usrdata_key),
|
||
'Onbekend') fclt_f_actief_ehbo,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1164),
|
||
'Nooit') fclt_f_laatste_instructie_aed,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1200),
|
||
'Nooit') fclt_f_aed_tot,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1180),
|
||
'Nooit') fclt_f_nibhv_aed_per,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1201),
|
||
'Nooit') fclt_f_nibhv_aed_tot,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1167),
|
||
'Nooit') fclt_f_laatste_instructie_ocp,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1202),
|
||
'Nooit') fclt_f_ocp_tot,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1203),
|
||
'Nooit') fclt_f_nibhv_ocp_per,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1204),
|
||
'Nooit') fclt_f_nibhv_ocp_tot,
|
||
NVL((SELECT kl.prs_kenmerklink_waarde
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1204),
|
||
'Nooit') fclt_f_laatste_instructie_evac,
|
||
NVL((SELECT fac_usrdata_omschr
|
||
FROM prs_kenmerklink kl, fac_usrdata
|
||
WHERE kl.prs_link_key = p.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1160
|
||
AND prs_kenmerklink_waarde = fac_usrdata_key),
|
||
'Onbekend') fclt_f_actief_bhv
|
||
FROM prs_perslid p,
|
||
prs_v_perslid_fullnames pf,
|
||
prs_v_werkplek_gegevens w,
|
||
prs_perslidwerkplek pw,
|
||
prs_afdeling d
|
||
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
||
AND p.prs_perslid_key = pf.prs_perslid_key
|
||
AND w.prs_werkplek_key = pw.prs_werkplek_key
|
||
AND p.prs_perslid_key = pw.prs_perslid_key
|
||
AND prs_perslid_upper NOT LIKE '[%'
|
||
AND prs_perslid_upper NOT LIKE 'LEEG [%'
|
||
ORDER BY 1;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_rap_bhv
|
||
AS
|
||
SELECT *
|
||
FROM nour_v_rap_bhv_all
|
||
WHERE EXISTS (
|
||
SELECT *
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_link_key = hide_f_key
|
||
AND kl.prs_kenmerk_key IN
|
||
-- Zie AKZA_V_RAP_BHV_ALL voor betekenis
|
||
(1166,
|
||
1165,
|
||
1168,
|
||
1161,
|
||
1164,
|
||
1200,
|
||
1180,
|
||
1201,
|
||
1167,
|
||
1202,
|
||
1203,
|
||
1204,
|
||
1205,
|
||
1160
|
||
))
|
||
ORDER BY 1;
|
||
|
||
-- Kentekenoverzicht (nu met flexvelden ipv persoonsgebonden objecten)
|
||
-- AKZA#30421: nu met fullnames en aanklikbare namen
|
||
CREATE OR REPLACE VIEW nour_v_rap_kentekens
|
||
AS
|
||
SELECT * FROM
|
||
(SELECT prs_perslid_naam_full||'1' hide_f_sort
|
||
,prs_perslid_naam_full fclt_x_naam
|
||
, '<a class="details" onclick=''FcltMgr.openDetail("'
|
||
|| 'appl/prs/prs_perslid.asp?key='||pf.prs_perslid_key
|
||
|| '")''>'
|
||
|| htf.escape_sc(prs_perslid_naam_full)
|
||
|| '</a>'
|
||
html_naam
|
||
,knt.prs_kenmerklink_waarde fclt_f_kenteken
|
||
,ud.fac_usrdata_omschr soort
|
||
,mrk.prs_kenmerklink_waarde merk
|
||
,typ.prs_kenmerklink_waarde type
|
||
,klr.prs_kenmerklink_waarde kleur
|
||
FROM prs_v_perslid_fullnames pf
|
||
,prs_v_aanwezigkenmerklink knt
|
||
,prs_v_aanwezigkenmerklink srt
|
||
,fac_usrdata ud
|
||
,prs_v_aanwezigkenmerklink mrk
|
||
,prs_v_aanwezigkenmerklink typ
|
||
,prs_v_aanwezigkenmerklink klr
|
||
WHERE knt.prs_link_key = pf.prs_perslid_key
|
||
AND knt.prs_kenmerk_key = 1260
|
||
AND srt.prs_link_key(+) = pf.prs_perslid_key
|
||
AND srt.prs_kenmerk_key(+) = 1280
|
||
AND srt.prs_kenmerklink_waarde = ud.fac_usrdata_key(+)
|
||
AND mrk.prs_link_key(+) = pf.prs_perslid_key
|
||
AND mrk.prs_kenmerk_key(+) = 1281
|
||
AND typ.prs_link_key(+) = pf.prs_perslid_key
|
||
AND typ.prs_kenmerk_key(+) = 1282
|
||
AND klr.prs_link_key(+) = pf.prs_perslid_key
|
||
AND klr.prs_kenmerk_key(+) = 1283)
|
||
UNION
|
||
(SELECT prs_perslid_naam_full||'2' hide_f_sort
|
||
,prs_perslid_naam_full fclt_x_naam
|
||
, '<a class="details" onclick=''FcltMgr.openDetail("'
|
||
|| 'appl/prs/prs_perslid.asp?key='||pf.prs_perslid_key
|
||
|| '")''>'
|
||
|| htf.escape_sc(prs_perslid_naam_full)
|
||
|| '</a>'
|
||
html_naam
|
||
,knt.prs_kenmerklink_waarde fclt_f_kenteken
|
||
,ud.fac_usrdata_omschr soort
|
||
,mrk.prs_kenmerklink_waarde merk
|
||
,typ.prs_kenmerklink_waarde type
|
||
,klr.prs_kenmerklink_waarde kleur
|
||
FROM prs_v_perslid_fullnames pf
|
||
,prs_v_aanwezigkenmerklink knt
|
||
,prs_v_aanwezigkenmerklink srt
|
||
,fac_usrdata ud
|
||
,prs_v_aanwezigkenmerklink mrk
|
||
,prs_v_aanwezigkenmerklink typ
|
||
,prs_v_aanwezigkenmerklink klr
|
||
WHERE knt.prs_link_key = pf.prs_perslid_key
|
||
AND knt.prs_kenmerk_key = 1284
|
||
AND srt.prs_link_key(+) = pf.prs_perslid_key
|
||
AND srt.prs_kenmerk_key(+) = 1285
|
||
AND srt.prs_kenmerklink_waarde = ud.fac_usrdata_key(+)
|
||
AND mrk.prs_link_key(+) = pf.prs_perslid_key
|
||
AND mrk.prs_kenmerk_key(+) = 1286
|
||
AND typ.prs_link_key(+) = pf.prs_perslid_key
|
||
AND typ.prs_kenmerk_key(+) = 1287
|
||
AND klr.prs_link_key(+) = pf.prs_perslid_key
|
||
AND klr.prs_kenmerk_key(+) = 1288)
|
||
UNION
|
||
(SELECT prs_perslid_naam_full||'3' hide_f_sort
|
||
,prs_perslid_naam_full fclt_x_naam
|
||
, '<a class="details" onclick=''FcltMgr.openDetail("'
|
||
|| 'appl/prs/prs_perslid.asp?key='||pf.prs_perslid_key
|
||
|| '")''>'
|
||
|| htf.escape_sc(prs_perslid_naam_full)
|
||
|| '</a>'
|
||
html_naam
|
||
,knt.prs_kenmerklink_waarde fclt_f_kenteken
|
||
,ud.fac_usrdata_omschr soort
|
||
,mrk.prs_kenmerklink_waarde merk
|
||
,typ.prs_kenmerklink_waarde type
|
||
,klr.prs_kenmerklink_waarde kleur
|
||
FROM prs_v_perslid_fullnames pf
|
||
,prs_v_aanwezigkenmerklink knt
|
||
,prs_v_aanwezigkenmerklink srt
|
||
,fac_usrdata ud
|
||
,prs_v_aanwezigkenmerklink mrk
|
||
,prs_v_aanwezigkenmerklink typ
|
||
,prs_v_aanwezigkenmerklink klr
|
||
WHERE knt.prs_link_key = pf.prs_perslid_key
|
||
AND knt.prs_kenmerk_key = 1289
|
||
AND srt.prs_link_key(+) = pf.prs_perslid_key
|
||
AND srt.prs_kenmerk_key(+) = 1290
|
||
AND srt.prs_kenmerklink_waarde = ud.fac_usrdata_key(+)
|
||
AND mrk.prs_link_key(+) = pf.prs_perslid_key
|
||
AND mrk.prs_kenmerk_key(+) = 1291
|
||
AND typ.prs_link_key(+) = pf.prs_perslid_key
|
||
AND typ.prs_kenmerk_key(+) = 1292
|
||
AND klr.prs_link_key(+) = pf.prs_perslid_key
|
||
AND klr.prs_kenmerk_key(+) = 1293)
|
||
ORDER BY hide_f_sort;
|
||
|
||
-- AKZA#30584: Rapportage ruimte- en gebouwbeheerders (delegates) voor eindgebruikers
|
||
-- alg_kenmerk 1160 Areadelegate
|
||
-- alg_kenmerk 1180 Reserve Area delegate
|
||
-- alg_kenmerk 1181 Reserve Building delegate
|
||
-- alg_kenmerk 1182 Supervisor
|
||
-- alg_kenmerk 1183 Building delegate
|
||
-- alg_kenmerk 1184 Evacuation
|
||
-- alg_kenmerk 1185 Reserve Area delegate (res)
|
||
-- alg_kenmerk 1200 Reserve Ontruimingsfuctionaris
|
||
CREATE OR REPLACE VIEW nour_v_rap_areadelegates
|
||
AS
|
||
SELECT al.alg_locatie_code||'-'||og.alg_gebouw_code||'-'||og.alg_verdieping_code||'-'||og.alg_ruimte_nr hide_f_sort,
|
||
al.alg_locatie_code fclt_f_locatie,
|
||
og.alg_gebouw_code fclt_f_gebouw,
|
||
og.alg_verdieping_code fclt_f_verdieping,
|
||
og.alg_ruimte_nr||' ('||og.alg_ruimte_omschrijving||')' fclt_f_ruimte,
|
||
areadel.prs_perslid_naam_full areagedelegeerde,
|
||
areares.prs_perslid_naam_full reserve_areagedelegeerde,
|
||
arearesres.prs_perslid_naam_full res_reserve_areagedelegeerde,
|
||
builddel.prs_perslid_naam_full gebouwgedelegeerde,
|
||
buildres.prs_perslid_naam_full reserve_gebouwgedelegeerde,
|
||
superv.prs_perslid_naam_full supervisor,
|
||
evac.prs_perslid_naam_full ontruimingsfunctionaris,
|
||
evacres.prs_perslid_naam_full res_ontruimingsfunctionaris
|
||
FROM alg_v_aanweziglocatie al,
|
||
alg_v_onroerendgoed_gegevens og,
|
||
alg_ruimte r,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R' AND ok.alg_kenmerk_key = 1160
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = pf.prs_perslid_key) areadel,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R' AND ok.alg_kenmerk_key = 1180
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = pf.prs_perslid_key) areares,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R' AND ok.alg_kenmerk_key = 1185
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = pf.prs_perslid_key) arearesres,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R' AND ok.alg_kenmerk_key = 1183
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = pf.prs_perslid_key) builddel,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R' AND ok.alg_kenmerk_key = 1181
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = pf.prs_perslid_key) buildres,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R' AND ok.alg_kenmerk_key = 1182
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = pf.prs_perslid_key) superv,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R' AND ok.alg_kenmerk_key = 1184
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = pf.prs_perslid_key) evac,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R' AND ok.alg_kenmerk_key = 1200
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number(ok.alg_onrgoedkenmerk_waarde) = pf.prs_perslid_key) evacres
|
||
WHERE og.alg_locatie_key = al.alg_locatie_key
|
||
AND og.alg_ruimte_key IS NOT NULL
|
||
AND r.alg_ruimte_key = og.alg_ruimte_key
|
||
AND r.alg_ruimte_verwijder IS NULL
|
||
AND areadel.alg_ruimte_key(+) = og.alg_ruimte_key
|
||
AND areares.alg_ruimte_key(+) = og.alg_ruimte_key
|
||
AND arearesres.alg_ruimte_key(+) = og.alg_ruimte_key
|
||
AND builddel.alg_ruimte_key(+) = og.alg_ruimte_key
|
||
AND buildres.alg_ruimte_key(+) = og.alg_ruimte_key
|
||
AND superv.alg_ruimte_key(+) = og.alg_ruimte_key
|
||
AND evac.alg_ruimte_key(+) = og.alg_ruimte_key
|
||
AND evacres.alg_ruimte_key(+) = og.alg_ruimte_key
|
||
AND ( areadel.alg_ruimte_key IS NOT NULL
|
||
OR areares.alg_ruimte_key IS NOT NULL
|
||
OR arearesres.alg_ruimte_key IS NOT NULL
|
||
OR builddel.alg_ruimte_key IS NOT NULL
|
||
OR buildres.alg_ruimte_key IS NOT NULL
|
||
OR superv.alg_ruimte_key IS NOT NULL
|
||
OR evac.alg_ruimte_key IS NOT NULL
|
||
OR evacres.alg_ruimte_key IS NOT NULL);
|
||
|
||
--- OBJECTBEHEER ---------------------------------------------------------------
|
||
|
||
-- AKZA#29494: Labels met QR-code voor objecten
|
||
CREATE OR REPLACE VIEW nour_v_ins_qrc
|
||
AS
|
||
SELECT i.ins_deel_omschrijving hide_f_sort,
|
||
b.fac_bookmark_naam fclt_f_bookmark,
|
||
i.ins_discipline_key fclt_3d_discipline_key,
|
||
l.alg_locatie_key fclt_3d_locatie_key,
|
||
l.alg_locatie_omschrijving fclt_f_locatie,
|
||
o.alg_gebouw_omschrijving fclt_f_gebouw,
|
||
o.alg_plaatsaanduiding plaats,
|
||
s.ins_srtdeel_omschrijving fclt_f_objectsoort,
|
||
i.ins_deel_omschrijving fclt_f_identificatie,
|
||
i.ins_deel_key,
|
||
(SELECT r.alg_ruimte_omschrijving
|
||
FROM alg_ruimte r
|
||
WHERE r.alg_ruimte_key = i.ins_alg_ruimte_key)
|
||
soortruimte,
|
||
s.ins_srtdeel_code,
|
||
s.ins_srtdeel_key,
|
||
i.ins_alg_ruimte_type,
|
||
o.alg_gebouw_code,
|
||
o.alg_verdieping_code,
|
||
l.alg_district_key,
|
||
i.ins_alg_ruimte_key,
|
||
b.fac_bookmark_id hide_f_bookmark_id
|
||
FROM ins_deel i,
|
||
ins_v_alg_overzicht o,
|
||
ins_srtdeel s,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
fac_bookmark b
|
||
WHERE b.fac_bookmark_path IN ('appl/pda/ins_deel.asp',
|
||
'appl/ins/ins_deel.asp')
|
||
AND ins_deel_verwijder IS NULL
|
||
AND COALESCE(i.ins_deel_vervaldatum, SYSDATE+1) > SYSDATE
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
|
||
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
|
||
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||
AND o.alg_locatie_key = i.ins_alg_locatie_key
|
||
AND i.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND s.ins_srtdeel_key = i.ins_srtdeel_key
|
||
AND o.alg_locatie_key = 121
|
||
UNION ALL
|
||
SELECT i.ins_deel_omschrijving hide_f_sort,
|
||
b.fac_bookmark_naam fclt_f_bookmark,
|
||
i.ins_discipline_key fclt_3d_discipline_key,
|
||
l.alg_locatie_key fclt_3d_locatie_key,
|
||
l.alg_locatie_omschrijving fclt_f_locatie,
|
||
o.alg_gebouw_omschrijving fclt_f_gebouw,
|
||
o.alg_plaatsaanduiding plaats,
|
||
s.ins_srtdeel_omschrijving fclt_f_objectsoort,
|
||
i.ins_deel_omschrijving fclt_f_identificatie,
|
||
i.ins_deel_key,
|
||
(SELECT r.alg_ruimte_omschrijving
|
||
FROM alg_ruimte r
|
||
WHERE r.alg_ruimte_key = i.ins_alg_ruimte_key)
|
||
soortruimte,
|
||
s.ins_srtdeel_code,
|
||
s.ins_srtdeel_key,
|
||
i.ins_alg_ruimte_type,
|
||
o.alg_gebouw_code,
|
||
o.alg_verdieping_code,
|
||
l.alg_district_key,
|
||
i.ins_alg_ruimte_key,
|
||
b.fac_bookmark_id hide_f_bookmark_id
|
||
FROM ins_deel i,
|
||
ins_v_alg_overzicht o,
|
||
ins_srtdeel s,
|
||
ins_srtgroep g,
|
||
alg_locatie l,
|
||
alg_district di,
|
||
fac_bookmark b,
|
||
mld_stdmelding sm,
|
||
mld_stdmelding_srtinst si
|
||
WHERE b.fac_bookmark_path IN ('appl/pda/melding.asp',
|
||
'appl/mld/melding.asp')
|
||
-- AND b.fac_bookmark_query LIKE '%stdm_key='||sm.mld_stdmelding_key||'%'
|
||
AND (b.fac_bookmark_expire IS NULL OR b.fac_bookmark_expire > SYSDATE)
|
||
AND ins_deel_verwijder IS NULL
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND s.ins_srtdeel_key = i.ins_srtdeel_key
|
||
AND g.ins_srtgroep_key = s.ins_srtgroep_key
|
||
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
|
||
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
|
||
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||
AND o.alg_locatie_key = i.ins_alg_locatie_key
|
||
AND i.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND l.alg_district_key = di.alg_district_key
|
||
AND sm.mld_stdmelding_key = si.mld_stdmelding_key
|
||
AND o.alg_locatie_key = 121
|
||
AND si.ins_srtinstallatie_key = DECODE(si.ins_srtinstallatie_niveau,
|
||
'S', i.ins_srtdeel_key,
|
||
'G', s.ins_srtgroep_key,
|
||
'D', g.ins_discipline_key);
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ins_qrc_single
|
||
AS
|
||
SELECT *
|
||
FROM nour_v_ins_qrc;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_ins_qrc_mld
|
||
AS
|
||
SELECT i.ins_deel_omschrijving hide_f_sort,
|
||
l.alg_locatie_code||' '||l.alg_locatie_omschrijving fclt_f_locatie,
|
||
o.alg_gebouw_omschrijving fclt_f_gebouw,
|
||
o.alg_plaatsaanduiding fclt_f_plaats,
|
||
d.ins_discipline_omschrijving fclt_f_discipline,
|
||
g.ins_srtgroep_omschrijving fclt_f_objectgroep,
|
||
s.ins_srtdeel_omschrijving fclt_f_objectsoort,
|
||
i.ins_deel_omschrijving fclt_f_identificatie,
|
||
d.ins_discipline_omschrijving||' / '||sm.mld_stdmelding_omschrijving fclt_f_melding,
|
||
i.ins_deel_key,
|
||
s.ins_srtdeel_key,
|
||
o.alg_gebouw_code,
|
||
o.alg_verdieping_code,
|
||
i.ins_discipline_key fclt_3d_discipline_key,
|
||
l.alg_locatie_key fclt_3d_locatie_key,
|
||
i.ins_alg_ruimte_type,
|
||
i.ins_alg_ruimte_key,
|
||
b.fac_bookmark_id hide_f_bookmark_id
|
||
FROM ins_deel i,
|
||
ins_v_alg_overzicht o,
|
||
ins_srtdeel s,
|
||
ins_srtgroep g,
|
||
ins_discipline d,
|
||
alg_locatie l,
|
||
fac_bookmark b,
|
||
mld_stdmelding sm,
|
||
mld_stdmelding_srtinst si
|
||
WHERE b.fac_bookmark_naam = 'QRC_MELDING'
|
||
AND (b.fac_bookmark_expire IS NULL OR b.fac_bookmark_expire > SYSDATE)
|
||
AND ins_deel_verwijder IS NULL
|
||
AND i.ins_deel_module = 'INS'
|
||
AND i.ins_deel_parent_key IS NULL
|
||
AND s.ins_srtdeel_key = i.ins_srtdeel_key
|
||
AND g.ins_srtgroep_key = s.ins_srtgroep_key
|
||
AND d.ins_discipline_key = g.ins_discipline_key
|
||
AND o.alg_onroerendgoed_keys = i.ins_alg_ruimte_key
|
||
AND o.alg_onroerendgoed_type = i.ins_alg_ruimte_type
|
||
AND i.ins_alg_ruimte_type IN ('T', 'R', 'W')
|
||
AND o.alg_locatie_key = i.ins_alg_locatie_key
|
||
AND i.ins_alg_locatie_key = l.alg_locatie_key
|
||
AND sm.mld_stdmelding_key = si.mld_stdmelding_key
|
||
AND si.ins_srtinstallatie_key = DECODE(si.ins_srtinstallatie_niveau,
|
||
'S', i.ins_srtdeel_key,
|
||
'G', s.ins_srtgroep_key,
|
||
'D', g.ins_discipline_key);
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_NOTI_OBJBEH
|
||
(
|
||
METHODE,
|
||
TO_KEY,
|
||
TO_OMSCHR,
|
||
REF_KEY,
|
||
REF_OMSCHR,
|
||
KPN_KEY,
|
||
AANTAL,
|
||
BETREFT
|
||
)
|
||
AS
|
||
WITH
|
||
taken
|
||
AS
|
||
(SELECT fac.nextcyclusdatedeel (d.ins_deel_key,
|
||
d.ins_srtcontrole_key,
|
||
1) volgende_cyclus,
|
||
p.ins_deelsrtcontrole_plandatum datum_gepland,
|
||
COALESCE (
|
||
p.ins_deelsrtcontrole_plandatum,
|
||
fac.nextcyclusdatedeel (d.ins_deel_key,
|
||
d.ins_srtcontrole_key,
|
||
1)) volgende_ctr,
|
||
d.*,
|
||
xcp.ins_srtcontroledl_xcp_periode
|
||
FROM (SELECT sc.ins_srtcontrole_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
sc.ins_srtcontrole_periode,
|
||
sd.ins_srtdeel_omschrijving,
|
||
a.prs_kostenplaats_key,
|
||
pfa.prs_perslid_key,
|
||
pfa.prs_perslid_naam_full,
|
||
CASE
|
||
WHEN UPPER (ud.fac_usrdata_omschr) LIKE
|
||
'TS-DISCIPLINE%'
|
||
THEN
|
||
4404 --- op deze manier mappen we alle TS-DISCIPLINE opties terug naar 1
|
||
ELSE
|
||
ud.fac_usrdata_key
|
||
END AS fac_usrdata_key,
|
||
ud.fac_usrdata_omschr
|
||
FROM ins_srtcontrole sc,
|
||
ins_discipline di,
|
||
ins_v_aanwezigsrtgroep sg,
|
||
ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigdeel d,
|
||
prs_perslid p,
|
||
prs_afdeling a,
|
||
prs_v_perslid_fullnames_all pfa,
|
||
(SELECT *
|
||
FROM ins_kenmerkdeel kd, ins_kenmerk k
|
||
WHERE kd.ins_kenmerkdeel_verwijder IS NULL
|
||
AND kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND k.ins_srtkenmerk_key = 3742) kd, -- Uitvoerder regime
|
||
fac_usrdata ud
|
||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
|
||
AND di.ins_discipline_key = sg.ins_discipline_key
|
||
AND COALESCE (d.ins_deel_vervaldatum,
|
||
SYSDATE + 1) >
|
||
SYSDATE
|
||
AND p.prs_perslid_key = d.prs_perslid_key_beh
|
||
AND a.prs_afdeling_key(+) = p.prs_afdeling_key
|
||
AND pfa.prs_perslid_key = d.prs_perslid_key_beh
|
||
AND kd.ins_deel_key = d.ins_deel_key
|
||
AND NOT EXISTS
|
||
(SELECT sk.ins_srtkenmerk_omschrijving,
|
||
kd.ins_deel_key
|
||
FROM ins_srtkenmerk sk,
|
||
ins_kenmerk k,
|
||
ins_kenmerkdeel kd
|
||
WHERE sk.ins_srtkenmerk_key = 3922
|
||
AND k.ins_srtkenmerk_key =
|
||
sk.ins_srtkenmerk_key
|
||
AND kd.ins_kenmerk_key =
|
||
k.ins_kenmerk_key
|
||
AND kd.ins_deel_key =
|
||
d.ins_deel_key)
|
||
AND ( sc.ins_srtcontrole_eind IS NULL
|
||
OR sc.ins_srtcontrole_eind > SYSDATE)
|
||
AND kd.ins_kenmerkdeel_waarde != '4321' -- 'N.v.t.'
|
||
AND ud.fac_usrdata_key =
|
||
fac.safe_to_number (
|
||
kd.ins_kenmerkdeel_waarde)
|
||
AND sc.ins_srtinstallatie_key =
|
||
DECODE (ins_srtcontrole_niveau,
|
||
'D', di.ins_discipline_key,
|
||
'G', sg.ins_srtgroep_key,
|
||
'S', sd.ins_srtdeel_key)) d,
|
||
ins_srtcontroledl_xcp xcp,
|
||
(SELECT *
|
||
FROM ins_v_udr_deelinspect ins
|
||
WHERE deelsrtcontrole_status = 'Gepland'
|
||
AND ins_deelsrtcontrole_plandatum IS NOT NULL) p
|
||
WHERE xcp.ins_deel_key(+) = d.ins_deel_key
|
||
AND xcp.ins_srtcontrole_key(+) = d.ins_srtcontrole_key
|
||
AND p.deel_key(+) = d.ins_deel_key
|
||
AND p.ins_srtcontrole_key(+) = d.ins_srtcontrole_key
|
||
AND COALESCE (xcp.ins_srtcontroledl_xcp_periode,
|
||
d.ins_srtcontrole_periode) >
|
||
0
|
||
-- De eerste paar dagen van volgende maand ook vast meepakken, dat scheelt verrassingen
|
||
AND COALESCE (
|
||
p.ins_deelsrtcontrole_plandatum,
|
||
fac.nextcyclusdatedeel (d.ins_deel_key,
|
||
d.ins_srtcontrole_key,
|
||
1)) <
|
||
ADD_MONTHS (SYSDATE, 1) + 3)
|
||
SELECT 'mail' methode,
|
||
prs_perslid_key to_key,
|
||
prs_perslid_naam_full to_omschr,
|
||
NULL ref_key,
|
||
NULL ref_omschr,
|
||
NULL kpn_key,
|
||
COUNT (*) aantal,
|
||
LISTAGG (ins_deel_omschrijving, ', ')
|
||
WITHIN GROUP (ORDER BY ins_deel_omschrijving) AS betreft
|
||
FROM taken
|
||
WHERE fac_usrdata_key = 4318 -- Objectbeheerder
|
||
GROUP BY prs_perslid_key, prs_perslid_naam_full
|
||
UNION ALL
|
||
SELECT 'melding' methode,
|
||
fac_usrdata_key to_key,
|
||
fac_usrdata_omschr to_omschr,
|
||
prs_perslid_key ref_key,
|
||
prs_perslid_naam_full ref_omschr,
|
||
prs_kostenplaats_key kpn_key,
|
||
COUNT (*) aantal,
|
||
LISTAGG (ins_deel_omschrijving, ', ')
|
||
WITHIN GROUP (ORDER BY ins_deel_omschrijving) AS betreft
|
||
FROM taken
|
||
WHERE fac_usrdata_key NOT IN (4321, 4318) -- alles behalve nvt en beheerder
|
||
GROUP BY fac_usrdata_key,
|
||
fac_usrdata_omschr,
|
||
prs_kostenplaats_key,
|
||
prs_perslid_key,
|
||
prs_perslid_naam_full
|
||
ORDER BY methode, to_omschr, ref_omschr;
|
||
|
||
CREATE OR REPLACE FORCE VIEW nour_V_TAKEN_STOPLICHT
|
||
(
|
||
ALG_LOCATIE_CODE,
|
||
ALG_GEBOUW_CODE,
|
||
ALG_GEBOUW_KEY,
|
||
ALG_VERDIEPING_CODE,
|
||
ALG_VERDIEPING_KEY,
|
||
ALG_RUIMTE_NR,
|
||
ALG_RUIMTE_KEY,
|
||
STATUS
|
||
)
|
||
AS
|
||
WITH taken
|
||
AS (SELECT d.*,
|
||
fac.nextcyclusdatedeel (d.ins_deel_key,
|
||
d.ins_srtcontrole_key,
|
||
1)
|
||
datum,
|
||
ins_deelsrtcontrole_plandatum,
|
||
CASE
|
||
WHEN ins_deelsrtcontrole_plandatum IS NOT NULL
|
||
THEN
|
||
ins_deelsrtcontrole_plandatum
|
||
ELSE
|
||
fac.nextcyclusdatedeel (d.ins_deel_key,
|
||
d.ins_srtcontrole_key,
|
||
1)
|
||
END
|
||
AS next_date
|
||
FROM (SELECT d.ins_alg_ruimte_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
sd.ins_srtdeel_omschrijving,
|
||
sc.ins_srtcontrole_key,
|
||
sc.ins_srtcontrole_periode
|
||
FROM ins_srtcontrole sc,
|
||
ins_discipline di,
|
||
ins_v_aanwezigsrtgroep sg,
|
||
ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigdeel d,
|
||
prs_perslid p
|
||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
|
||
AND di.ins_discipline_key =
|
||
sg.ins_discipline_key
|
||
AND COALESCE (d.ins_deel_vervaldatum,
|
||
SYSDATE + 1) > SYSDATE
|
||
AND p.prs_perslid_key = d.prs_perslid_key_beh
|
||
AND d.ins_alg_ruimte_type = 'R'
|
||
AND sc.ins_srtinstallatie_key =
|
||
DECODE (ins_srtcontrole_niveau,
|
||
'D', di.ins_discipline_key,
|
||
'G', sg.ins_srtgroep_key,
|
||
'S', sd.ins_srtdeel_key)) d
|
||
LEFT OUTER JOIN ins_srtcontroledl_xcp xcp
|
||
ON xcp.ins_deel_key = d.ins_deel_key
|
||
AND xcp.ins_srtcontrole_key =
|
||
d.ins_srtcontrole_key
|
||
LEFT OUTER JOIN (SELECT d.ins_alg_ruimte_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
sd.ins_srtdeel_omschrijving,
|
||
c.ins_srtcontrole_key,
|
||
sc.ins_srtcontrole_periode,
|
||
c.ins_deelsrtcontrole_plandatum
|
||
FROM ins_deelsrtcontrole c,
|
||
ins_v_aanwezigdeel d,
|
||
ins_srtdeel sd,
|
||
ins_srtcontrole sc
|
||
WHERE c.ins_deelsrtcontrole_plandatum IS NOT NULL
|
||
AND c.ins_deelsrtcontrole_datum IS NULL
|
||
AND d.ins_deel_key =
|
||
c.ins_deel_key
|
||
AND sd.ins_srtdeel_key =
|
||
d.ins_srtdeel_key
|
||
AND sc.ins_srtcontrole_key =
|
||
c.ins_srtcontrole_key)
|
||
respijt
|
||
ON respijt.ins_deel_key = d.ins_deel_key
|
||
AND respijt.ins_srtcontrole_key =
|
||
d.ins_srtcontrole_key
|
||
WHERE COALESCE (xcp.ins_srtcontroledl_xcp_periode,
|
||
d.ins_srtcontrole_periode) > 0)
|
||
SELECT r."ALG_LOCATIE_CODE",
|
||
r."ALG_GEBOUW_CODE",
|
||
r."ALG_GEBOUW_KEY",
|
||
r."ALG_VERDIEPING_CODE",
|
||
r."ALG_VERDIEPING_KEY",
|
||
r."ALG_RUIMTE_NR",
|
||
r."ALG_RUIMTE_KEY",
|
||
t.status
|
||
FROM (SELECT l.alg_locatie_code,
|
||
g.alg_gebouw_code,
|
||
g.alg_gebouw_key,
|
||
v.alg_verdieping_code,
|
||
v.alg_verdieping_key,
|
||
r.alg_ruimte_nr,
|
||
r.alg_ruimte_key
|
||
FROM alg_v_aanwezigruimte r,
|
||
alg_v_aanwezigverdieping v,
|
||
alg_v_aanweziggebouw g,
|
||
alg_v_aanweziglocatie l
|
||
WHERE v.alg_verdieping_key = r.alg_verdieping_key
|
||
AND g.alg_gebouw_key = v.alg_gebouw_key
|
||
AND l.alg_locatie_key = g.alg_locatie_key) r
|
||
LEFT OUTER JOIN
|
||
( SELECT ins_alg_ruimte_key alg_ruimte_key,
|
||
CASE
|
||
WHEN MIN(next_date) < SYSDATE THEN 1 -- 'rood'
|
||
WHEN MIN (next_date) < ADD_MONTHS (SYSDATE, 1) THEN 2 -- 'geel'
|
||
ELSE 3 -- 'groen'
|
||
END
|
||
status
|
||
FROM taken
|
||
GROUP BY ins_alg_ruimte_key) t
|
||
ON r.alg_ruimte_key = t.alg_ruimte_key;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_cad_taken_stoplicht
|
||
AS
|
||
SELECT alg_ruimte_key,
|
||
DECODE(status,
|
||
1, 'rood',
|
||
2, 'geel',
|
||
3, 'groen') waarde
|
||
FROM nour_v_taken_stoplicht;
|
||
|
||
--- SLEUTELBEHEER --------------------------------------------------------------
|
||
|
||
CREATE OR REPLACE VIEW nour_v_rap_sleutelplan
|
||
(
|
||
EXTRA_KEY,
|
||
FCLT_F_BEZITTER,
|
||
PERSONEELSNR,
|
||
AFDELING,
|
||
TELEFOONNR,
|
||
FCLT_F_SLUITPLAN,
|
||
SOORT,
|
||
SLEUTELNR,
|
||
DATUM,
|
||
OPMERKING
|
||
)
|
||
AS
|
||
SELECT p1.prs_perslid_key,
|
||
p.prs_perslid_naam_full,
|
||
p1.prs_perslid_nr,
|
||
a.prs_afdeling_naam1,
|
||
p1.prs_perslid_telefoonnr,
|
||
ins_srtdeel_code Sluitplan,
|
||
s.ins_srtdeel_omschrijving Soort,
|
||
dl.ins_deel_omschrijving Sleutelnr,
|
||
TO_CHAR (
|
||
(SELECT MAX (tr.fac_tracking_datum)
|
||
FROM fac_tracking tr, fac_srtnotificatie str
|
||
WHERE tr.fac_srtnotificatie_key =
|
||
str.fac_srtnotificatie_key
|
||
AND (str.fac_srtnotificatie_xmlnode IN ('deel'))
|
||
AND FAC_SRTNOTIFICATIE_CODE = 'INSOUT'
|
||
AND dl.ins_deel_key = tr.fac_tracking_refkey),
|
||
'DD-MM-YYYY'
|
||
)
|
||
Datum,
|
||
pa.alg_plaatsaanduiding
|
||
|| ' ('
|
||
|| r.alg_ruimte_omschrijving
|
||
|| ')'
|
||
Opmerking
|
||
FROM ins_v_aanwezigdeel dl,
|
||
ins_v_aanwezigsrtdeel s,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_v_aanwezigperslid p1,
|
||
alg_ruimte r,
|
||
ins_v_alg_overzicht pa,
|
||
prs_v_afdeling a
|
||
WHERE s.ins_srtdeel_key = dl.ins_srtdeel_key
|
||
AND s.ins_srtgroep_key = 925
|
||
AND dl.ins_alg_ruimte_type_org = 'R'
|
||
AND dl.ins_alg_ruimte_key = p.prs_perslid_key
|
||
AND p.prs_perslid_key = p1.prs_perslid_key
|
||
AND dl.ins_alg_ruimte_key_org IS NOT NULL
|
||
AND dl.ins_alg_ruimte_key_org = r.alg_ruimte_key
|
||
AND r.alg_ruimte_key = pa.alg_onroerendgoed_keys
|
||
AND a.prs_afdeling_key = p1.prs_afdeling_key
|
||
ORDER BY prs_perslid_naam_full, sluitplan;
|
||
|
||
CREATE OR REPLACE VIEW nour_v_noti_sleutelplan
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT 'CUST01',
|
||
NULL,
|
||
fac.safe_to_number (prs_perslid_key_voor),
|
||
'Overzicht sleutels',
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE fac_usrrap_omschrijving = 'NOUR_V_RAP_SLEUTELPLAN'),
|
||
fac.safe_to_number (prs_perslid_key_voor)
|
||
FROM mld_melding,
|
||
fac_tracking tr,
|
||
fac_srtnotificatie str
|
||
WHERE mld_stdmelding_key = 1061
|
||
AND mld_melding_status IN (5, 6)
|
||
AND tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key
|
||
AND ( (tr.fac_tracking_refkey = mld_melding_key
|
||
AND str.fac_srtnotificatie_xmlnode IN ('melding')))
|
||
AND fac_srtnotificatie_code = 'MLDAFM'
|
||
AND tr.fac_tracking_datum >
|
||
(SELECT fac_notificatie_job_nextrun
|
||
- fac_notificatie_job_interval / 24
|
||
FROM fac_notificatie_job
|
||
WHERE fac_notificatie_job_view = 'NOUR_V_NOTI_SLEUTELPLAN');
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_NOTI_MLD_EINDTMPBADGE
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT 'CUST03',
|
||
NULL,
|
||
b.aanvrager_key,
|
||
'Tijdelijke badge verloopt: '
|
||
|| einddat_badge.blokkade_datum
|
||
|| ' (badgenummer: '
|
||
|| badge_nr.badge_nr
|
||
|| ')',
|
||
p.prs_perslid_key,
|
||
NULL
|
||
FROM prs_perslid p, -- badgehouder
|
||
nour_v_rap_tbadges b,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde blokkade_datum
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerklink_niveau = 'P' AND kl.prs_kenmerk_key = 1360)
|
||
einddat_badge,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde badge_nr
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerklink_niveau = 'P' AND kl.prs_kenmerk_key = 1000)
|
||
badge_nr
|
||
WHERE p.prs_perslid_key = einddat_badge.prs_link_key
|
||
AND p.prs_perslid_key = badge_nr.prs_link_key
|
||
AND b.badgehouder_key = p.prs_perslid_key
|
||
AND fac.safe_to_date (einddat_badge.blokkade_datum, 'DD-MM-YYYY') = TRUNC (SYSDATE + 7);
|
||
|
||
--- de notificatie moet een rapport opleveren
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_NOT_AANVR_TBADGE
|
||
(
|
||
BLOKKADE_DATUM,
|
||
BADGEHOUDER_KEY,
|
||
BADGEHOUDER,
|
||
BADGE_NR,
|
||
FCLT_3D_USER_KEY,
|
||
AANVRAGER,
|
||
MELDING_KEY,
|
||
HTML_MELDINGNR
|
||
)
|
||
AS
|
||
SELECT b.blokkade_datum,
|
||
b.badgehouder_key,
|
||
b.badgehouder,
|
||
b.badge_nr,
|
||
b.aanvrager_key,
|
||
b.aanvrager,
|
||
b.melding_key,
|
||
b.html_meldingnr
|
||
FROM nour_v_rap_tbadges b
|
||
WHERE soort_badge = 'Tijdelijke badge'
|
||
AND blokkade_datum > TRUNC (SYSDATE - 1);
|
||
|
||
--- EXPORTS --------------------------------------------------------------------
|
||
|
||
-- FACILITOR beoordeelt maandelijks welke taken in de komende periode moeten worden uitgevoerd,
|
||
-- of al uitgevoerd hadden moeten zijn. De beheerders van de objecten van deze taken worden
|
||
-- hiervan op de hoogte gesteld.
|
||
-- * Is de beheerder tevens de eigenaar (owner), dan krijgt deze hierover een e-mail, met een
|
||
-- link naar een overzicht van taken op zijn objecten
|
||
-- * Ligt het beheer bij TS (EIA of WTB), dan wordt per objectbeheerder een melding aangemaakt,
|
||
-- die vanzelf in de actielijst van de juiste backoffice terecht komen. Melder = objectbeheerder
|
||
-- (plus kostenplaats).
|
||
-- NB: een owner ontvangt maximaal <20><>n e-mail per maand; men ontvangt niet over ieder object
|
||
-- een e-mail en er wordt alleen een e-mail verzonden als er in de komende periode taken op
|
||
-- objecten van de owner uitgevoerd moeten worden (of taken te laat zijn).
|
||
|
||
CREATE OR REPLACE PROCEDURE NOUR_INSERT_OBJECTEN (
|
||
p_to_key IN NUMBER,
|
||
p_ref_key IN NUMBER,
|
||
p_mld_melding_key IN VARCHAR2)
|
||
IS
|
||
CURSOR c_objecten IS
|
||
SELECT splt.methode,
|
||
splt.to_key,
|
||
splt.ref_key,
|
||
obj.ins_deel_key
|
||
FROM (SELECT DISTINCT methode,
|
||
to_key,
|
||
ref_key,
|
||
REGEXP_SUBSTR (betreft,
|
||
'[^,]+',
|
||
1,
|
||
COLUMN_VALUE) item
|
||
FROM nour_v_noti_objbeh spl,
|
||
TABLE (
|
||
CAST (
|
||
MULTISET (
|
||
SELECT LEVEL
|
||
FROM DUAL
|
||
CONNECT BY LEVEL <=
|
||
LENGTH (
|
||
REGEXP_REPLACE (betreft,
|
||
'[^,]'))
|
||
+ 1) AS SYS.OdciNumberList)))
|
||
splt,
|
||
ins_deel obj
|
||
WHERE splt.methode = 'melding'
|
||
AND TRIM (splt.item) = obj.ins_deel_omschrijving
|
||
AND splt.to_key = p_to_key
|
||
AND splt.ref_key = p_ref_key;
|
||
BEGIN
|
||
FOR rec IN c_objecten
|
||
LOOP
|
||
BEGIN
|
||
INSERT INTO mld_melding_object (mld_melding_key, ins_deel_key)
|
||
VALUES (p_mld_melding_key, rec.ins_deel_key);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
fac.imp_writelog (
|
||
'Monthly Task',
|
||
'W',
|
||
'Aanvullen object: '
|
||
|| rec.ins_deel_key
|
||
|| ' is niet uitgevoerd',
|
||
'Melding: ' || p_mld_melding_key);
|
||
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
END NOUR_INSERT_OBJECTEN;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE nour_export_task_monthly(p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2(200);
|
||
v_errorhint VARCHAR2(100);
|
||
|
||
v_aanduiding VARCHAR2(100);
|
||
v_melding_key NUMBER(10);
|
||
|
||
CURSOR c
|
||
IS
|
||
SELECT * FROM nour_v_noti_objbeh;
|
||
|
||
|
||
BEGIN
|
||
v_errorhint := 'init';
|
||
|
||
DELETE imp_log WHERE imp_log_applicatie = p_applname;
|
||
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
IF (rec.methode = 'mail')
|
||
THEN
|
||
v_aanduiding := rec.ref_omschr || ' ('||rec.methode||') ';
|
||
ELSE
|
||
v_aanduiding := rec.to_omschr||'/'||rec.ref_omschr || ' ('||rec.methode||') ';
|
||
END IF;
|
||
|
||
IF (rec.methode = 'mail')
|
||
THEN
|
||
v_errorhint := 'Add mail';
|
||
|
||
INSERT INTO fac_notificatie (
|
||
fac_srtnotificatie_key,
|
||
fac_notificatie_status,
|
||
prs_perslid_key_receiver,
|
||
fac_notificatie_receiver_email,
|
||
fac_notificatie_oms,
|
||
fac_notificatie_refkey,
|
||
prs_perslid_key_sender,
|
||
fac_notificatie_prioriteit,
|
||
fac_notificatie_lang)
|
||
SELECT fac_srtnotificatie_key,
|
||
2,
|
||
rec.to_key,
|
||
prs_perslid_email,
|
||
rec.aantal||' uit te voeren taken deze maand',
|
||
rec.to_key,
|
||
7520,
|
||
2,
|
||
'NL'
|
||
FROM fac_srtnotificatie,
|
||
prs_perslid
|
||
WHERE fac_srtnotificatie_code = 'CUST05'
|
||
AND prs_perslid_key = rec.to_key;
|
||
|
||
fac.writelog (p_applname, 'I',
|
||
'Mail naar '||rec.to_omschr,
|
||
rec.aantal||' objecten');
|
||
ELSE
|
||
v_errorhint := 'Add melding';
|
||
|
||
INSERT INTO mld_melding (
|
||
mld_melding_onderwerp,
|
||
mld_melding_omschrijving,
|
||
mld_kosten_klant,
|
||
prs_perslid_key,
|
||
prs_perslid_key_voor,
|
||
prs_kostenplaats_key,
|
||
mld_stdmelding_key,
|
||
mld_alg_locatie_key,
|
||
mld_melding_datum,
|
||
mld_meldbron_key,
|
||
mld_melding_status,
|
||
mld_melding_module,
|
||
mld_melding_spoed)
|
||
VALUES (
|
||
'Taken voor '||rec.ref_omschr,
|
||
'Uit te voeren taken deze maand voor objectbeheerder '||rec.ref_omschr
|
||
||CHR(13)||CHR(10)||'Betreft object(en): '||rec.betreft,
|
||
1,
|
||
rec.ref_key,
|
||
rec.ref_key,
|
||
rec.kpn_key,
|
||
DECODE(rec.to_key,
|
||
4320, 1481, -- EIA / Uitvoering regime
|
||
4319, 1482, -- WTB / Uitvoering regime
|
||
4347, 1581, -- LDW/ Uitvoering regime
|
||
4388, 1610, -- S/Park / Uitvoering regime
|
||
4404, 1821), -- TS-Disciplines / Uitvoering regime
|
||
121, -- DEV
|
||
SYSDATE,
|
||
45, -- System
|
||
NULL, -- Nieuw
|
||
'MLD',
|
||
3)
|
||
RETURNING mld_melding_key
|
||
INTO v_melding_key;
|
||
|
||
v_errorhint := 'Set status';
|
||
mld.setmeldingstatus (v_melding_key, 2, 7520);
|
||
|
||
fac.writelog (p_applname, 'I',
|
||
'Melding voor '||rec.to_omschr||', namens '||rec.ref_omschr,
|
||
rec.aantal||' objecten');
|
||
|
||
NOUR_INSERT_OBJECTEN (rec.to_key, rec.ref_key, v_melding_key);
|
||
|
||
END IF;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
fac.writelog (p_applname, 'E',
|
||
'Error ' || v_aanduiding || oracle_err_num || '/' || oracle_err_mes,
|
||
v_errorhint);
|
||
END;
|
||
END LOOP;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
fac.writelog (p_applname, 'E',
|
||
'Error ' || oracle_err_num || '/' || oracle_err_mes,
|
||
v_errorhint);
|
||
END nour_export_task_monthly;
|
||
/
|
||
|
||
-- Rapport om te check of alle kostenplaats- en companygegevens volledig zijn ingevuld.
|
||
CREATE OR REPLACE VIEW nour_v_rap_kpn_check
|
||
AS
|
||
SELECT DISTINCT k.prs_kostenplaats_nr||'-'||k.debiteurnr hide_f_sort,
|
||
k.fclt_kostenplaats_nr fclt_f_kostenplaats_nr,
|
||
k.prs_kostenplaats_omschrijving fclt_x_kostenplaats_naam,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("'
|
||
|| 'appl/prs/kpn_kpn.asp?mode=viewUpdate&'||'key='||k.prs_kostenplaats_key
|
||
|| '")''>'
|
||
|| htf.escape_sc(k.prs_kostenplaats_omschrijving)
|
||
|| '</a>'
|
||
html_kostenplaats_naam,
|
||
k.debiteurnr fclt_f_debiteurnr,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("'
|
||
|| 'appl/prs/kpn_kpngroep.asp?mode=viewUpdate&'||'key='||k.prs_kostenplaatsgrp_key
|
||
|| '")''>'
|
||
|| htf.escape_sc(k.prs_kostenplaatsgrp_oms)
|
||
|| '</a>'
|
||
html_kostenplaatsgroep,
|
||
ac.companycode fclt_f_companycode,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("'
|
||
|| 'appl/prs/prs_afdeling.asp?afd_niveau=1&'||'afd_key='||ac.company_key
|
||
|| '")''>'
|
||
|| htf.escape_sc(ac.company_oms)
|
||
|| '</a>'
|
||
html_company_omschrijving,
|
||
DECODE( ac.companycode,
|
||
NULL, 'Nee',
|
||
'Ja') fclt_f_ok
|
||
FROM nour_v_kostenplaats k,
|
||
(SELECT * FROM prs_kenmerklink
|
||
WHERE prs_kenmerk_key = 1380
|
||
AND prs_kenmerklink_verwijder IS NULL) kl,
|
||
nour_v_afdelingcompany ac
|
||
WHERE k.prs_kostenplaats_verwijder IS NULL
|
||
AND kl.prs_kenmerklink_waarde(+) = k.debiteurnr
|
||
AND ac.prs_afdeling_key(+) = kl.prs_link_key;
|
||
|
||
-- AKZA#37566 Rapport met ruimte gegevens.
|
||
create or replace view nour_v_rap_ruimte_gegevens
|
||
(
|
||
alg_locatie_omschrijving,
|
||
alg_locatie_code,
|
||
alg_gebouw_omschrijving,
|
||
alg_verdieping_omschrijving,
|
||
alg_verdieping_volgnr,
|
||
alg_verdieping_code,
|
||
alg_ruimte_nr,
|
||
alg_ruimte_omschrijving,
|
||
alg_srtruimte_omschrijving,
|
||
alg_ruimte_vloer_omschrijving,
|
||
alg_ruimte_bruto_vloeropp,
|
||
alg_ruimte_opp_gevelglas,
|
||
alg_ruimte_opp_separatieglas,
|
||
alg_ruimte_opp_gevelbekleding,
|
||
alg_ruimte_aanduiding,
|
||
alg_ruimte_omtrek,
|
||
alg_ruimte_inhoud,
|
||
alg_ruimte_getekend,
|
||
alg_ruimte_opmerking,
|
||
alg_ruimte_opp_alt1,
|
||
alg_ruimte_opp_alt2
|
||
)
|
||
as
|
||
select alg_locatie_omschrijving,
|
||
alg_locatie_code,
|
||
alg_gebouw_omschrijving,
|
||
alg_verdieping_omschrijving,
|
||
alg_verdieping_volgnr,
|
||
alg_verdieping_code,
|
||
alg_ruimte_nr,
|
||
alg_ruimte_omschrijving,
|
||
alg_srtruimte_omschrijving,
|
||
alg_ruimte_vloer_omschrijving,
|
||
alg_ruimte_bruto_vloeropp,
|
||
alg_ruimte_opp_gevelglas,
|
||
alg_ruimte_opp_separatieglas,
|
||
alg_ruimte_opp_gevelbekleding,
|
||
alg_ruimte_aanduiding,
|
||
alg_ruimte_omtrek,
|
||
alg_ruimte_inhoud,
|
||
alg_ruimte_getekend,
|
||
alg_ruimte_opmerking,
|
||
alg_ruimte_opp_alt1,
|
||
alg_ruimte_opp_alt2
|
||
from alg_v_ruimte_gegevens;
|
||
|
||
--------------------------------------------------------------------------------------------------
|
||
------------------------------- IMPORTS ----------------------------------------------------------
|
||
--------------------------------------------------------------------------------------------------
|
||
|
||
|
||
|
||
--- OPDRACHTKOSTEN -------------------------------------------------------------
|
||
|
||
-- AKZA#27387: Import opdrachtkosten (MB)
|
||
CREATE OR REPLACE PROCEDURE nour_import_opdrkosten (
|
||
p_import_key IN NUMBER
|
||
)
|
||
IS
|
||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (1000); -- Input line
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER := 0;
|
||
v_ongeldig NUMBER (1);
|
||
v_count_tot NUMBER (10);
|
||
v_count_import NUMBER (10);
|
||
v_count NUMBER;
|
||
-- De importvelden:
|
||
|
||
v_mld_opdr_nr VARCHAR2 (256);
|
||
v_mld_opdr_uren VARCHAR2 (256);
|
||
v_mld_opdr_uurloon VARCHAR2 (256);
|
||
v_mld_opdr_materiaal VARCHAR2 (256);
|
||
-- !!Let op: dit is geen veld in de database, maar wordt via opdrachtkosten teruggerekend!!
|
||
v_correctie_bedrag VARCHAR2 (256);
|
||
v_mld_opdr_opmerking VARCHAR2 (4000);
|
||
|
||
CURSOR c
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
DELETE FROM nour_imp_opdrkosten;
|
||
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec.fac_imp_file_line;
|
||
v_aanduiding := '';
|
||
v_errorhint := 'Fout bij opvragen te importeren rij';
|
||
v_ongeldig := 0;
|
||
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_mld_opdr_nr);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 2, v_mld_opdr_uren);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 3, v_mld_opdr_uurloon);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 4, v_mld_opdr_materiaal);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 5, v_correctie_bedrag);
|
||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 6, v_mld_opdr_opmerking);
|
||
|
||
v_aanduiding := '[' || v_mld_opdr_nr || '(' || v_mld_opdr_uren || ',' || v_mld_opdr_uurloon || ',' || v_mld_opdr_materiaal || ',' || v_correctie_bedrag || '): ' || '] ';
|
||
|
||
-- 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(v_mld_opdr_nr) = 'OPDRACHTNUMMER'
|
||
AND UPPER(v_mld_opdr_uren) = 'UREN'
|
||
AND UPPER(v_mld_opdr_uurloon) = 'UURTARIEF'
|
||
AND UPPER(v_mld_opdr_materiaal) = 'MATERIAALKOSTEN'
|
||
AND UPPER(v_correctie_bedrag) = 'CORRECTIEBEDRAG'
|
||
AND UPPER(v_mld_opdr_opmerking) = 'OPMERKINGEN'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
|
||
-- Controleer alle veldwaarden
|
||
v_errorhint := 'Ongeldig/onbekend opdrachtnummer';
|
||
v_mld_opdr_nr := TRIM(v_mld_opdr_nr);
|
||
|
||
-- opdrachtnummer is maximaal <prefix> + <meldingkey> + '/' + <volgnr> = 3 + 10 + 1 + 10 = 24 karakters
|
||
IF (v_mld_opdr_nr IS NOT NULL)
|
||
THEN
|
||
IF LENGTH (v_mld_opdr_nr) > 24
|
||
THEN
|
||
v_mld_opdr_nr := SUBSTR (v_mld_opdr_nr, 1, 24);
|
||
fac.imp_writelog (p_import_key, 'W',
|
||
v_aanduiding || 'Opdrachtnummer te lang',
|
||
'Wordt afgebroken tot [' || v_mld_opdr_nr || ']' );
|
||
END IF;
|
||
ELSE
|
||
v_ongeldig := 1;
|
||
EXIT;
|
||
END IF;
|
||
|
||
|
||
-- opdracht uren is N(7,2), dus maximaal 8 karakters (b.v. 12345.67)
|
||
IF (v_mld_opdr_uren IS NOT NULL)
|
||
THEN
|
||
IF LENGTH (v_mld_opdr_uren) > 8
|
||
THEN
|
||
v_mld_opdr_uren := SUBSTR (v_mld_opdr_uren, 1, 8);
|
||
fac.imp_writelog (p_import_key, 'W',
|
||
v_aanduiding || 'Uren te lang',
|
||
'Wordt afgebroken tot [' || v_mld_opdr_uren || ']' );
|
||
END IF;
|
||
END IF;
|
||
|
||
|
||
-- uurtarief is N(6,2), dus maximaal 7 karakters (b.v. 1234.56)
|
||
IF (v_mld_opdr_uurloon IS NOT NULL)
|
||
THEN
|
||
IF LENGTH (v_mld_opdr_uurloon) > 8
|
||
THEN
|
||
v_mld_opdr_uurloon := SUBSTR (v_mld_opdr_uurloon, 1, 7);
|
||
fac.imp_writelog (p_import_key, 'W',
|
||
v_aanduiding || 'Uurtarief te lang',
|
||
'Wordt afgebroken tot [' || v_mld_opdr_uurloon || ']' );
|
||
END IF;
|
||
END IF;
|
||
|
||
-- materiaalkosten is N(8,2), dus maximaal 9 karakters (b.v. 123456.78)
|
||
IF (v_mld_opdr_materiaal IS NOT NULL)
|
||
THEN
|
||
IF LENGTH (v_mld_opdr_materiaal) > 9
|
||
THEN
|
||
v_mld_opdr_materiaal := SUBSTR (v_mld_opdr_materiaal, 1, 7);
|
||
fac.imp_writelog (p_import_key, 'W',
|
||
v_aanduiding || 'Materiaalkosten te lang',
|
||
'Wordt afgebroken tot [' || v_mld_opdr_materiaal || ']' );
|
||
END IF;
|
||
END IF;
|
||
|
||
-- correctiebedrag is geen DB-veld, maar wordt logischerwijs gelijkgetrokken aan materiaalkosten.
|
||
IF (v_correctie_bedrag IS NOT NULL)
|
||
THEN
|
||
IF LENGTH (v_correctie_bedrag) > 9
|
||
THEN
|
||
v_correctie_bedrag := SUBSTR (v_correctie_bedrag, 1, 7);
|
||
fac.imp_writelog (p_import_key, 'W',
|
||
v_aanduiding || 'Correctiebedrag te lang',
|
||
'Wordt afgebroken tot [' || v_correctie_bedrag || ']' );
|
||
END IF;
|
||
END IF;
|
||
|
||
-- opmerking is maximaal 4000 karakters
|
||
IF (v_mld_opdr_opmerking IS NOT NULL)
|
||
THEN
|
||
IF LENGTH (v_mld_opdr_opmerking) > 4000
|
||
THEN
|
||
v_mld_opdr_opmerking := SUBSTR (v_mld_opdr_opmerking, 1, 4000);
|
||
fac.imp_writelog (p_import_key, 'W',
|
||
v_aanduiding || 'Opmerking te lang',
|
||
'Wordt afgebroken tot [' || v_mld_opdr_opmerking || ']' );
|
||
END IF;
|
||
END IF;
|
||
|
||
|
||
IF ( v_mld_opdr_uren IS NULL
|
||
AND v_mld_opdr_uurloon IS NULL
|
||
AND v_mld_opdr_materiaal IS NULL
|
||
AND v_correctie_bedrag IS NULL
|
||
AND v_mld_opdr_opmerking IS NULL
|
||
)
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'W',
|
||
v_aanduiding || 'Alle velden zijn leeg, regel wordt niet verwerkt.',
|
||
'Ingelezen regel kan niet worden weggeschreven!' );
|
||
v_ongeldig := 1;
|
||
EXIT;
|
||
END IF;
|
||
|
||
|
||
IF ( (v_mld_opdr_uren IS NOT NULL AND v_mld_opdr_uurloon IS NULL) OR
|
||
(v_mld_opdr_uren IS NULL AND v_mld_opdr_uurloon IS NOT NULL)
|
||
)
|
||
THEN
|
||
fac.imp_writelog (p_import_key, 'W',
|
||
v_aanduiding || 'Resultaat van uren x uurtarief is 0 omdat niet beide velden gevuld zijn.',
|
||
'Wordt derhlave genegeerd' );
|
||
END IF;
|
||
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errorhint :=
|
||
'Fout bij toevoegen regel aan importtabel';
|
||
|
||
INSERT INTO nour_imp_opdrkosten( mld_opdr_nr, mld_opdr_uren, mld_opdr_uurloon, mld_opdr_materiaal, correctie_bedrag, mld_opdr_opmerking)
|
||
VALUES (v_mld_opdr_nr, v_mld_opdr_uren, v_mld_opdr_uurloon, v_mld_opdr_materiaal, v_correctie_bedrag, v_mld_opdr_opmerking);
|
||
|
||
v_count_import := v_count_import + 1;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
v_errorhint
|
||
|| ' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog
|
||
(p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
'Ingelezen regel kan niet worden weggeschreven!'
|
||
);
|
||
COMMIT;
|
||
END;
|
||
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!'
|
||
);
|
||
ELSIF (v_ongeldig = 1)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
'Ongeldige regel(s)',
|
||
'Regel '||v_aanduiding||' is ongeldig! (Mogelijk zijn er nog meer ongeldige regels.)'
|
||
);
|
||
ELSE
|
||
fac.imp_writelog (p_import_key,
|
||
'S',
|
||
'OPDRACHT KOSTEN: aantal ingelezen regels: '
|
||
|| TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
END IF;
|
||
|
||
COMMIT;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg :=
|
||
'OTHERS (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
v_errorhint
|
||
);
|
||
COMMIT;
|
||
END nour_import_opdrkosten;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE nour_update_opdrkosten (
|
||
p_import_key IN NUMBER
|
||
)
|
||
IS
|
||
v_aanduiding VARCHAR2 (200);
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count_tot NUMBER (10);
|
||
v_count_error NUMBER (10);
|
||
v_count NUMBER (10);
|
||
|
||
-- Alle kostenplaatsen in het importbestand
|
||
CURSOR c
|
||
IS
|
||
SELECT mld_opdr_nr,
|
||
ROUND(COALESCE(fac.safe_to_number(REPLACE(mld_opdr_uren, ',','.')),0),2) mld_opdr_uren,
|
||
ROUND(COALESCE(fac.safe_to_number(REPLACE(mld_opdr_uurloon, ',','.')),0),2) mld_opdr_uurloon,
|
||
ROUND(COALESCE(fac.safe_to_number(REPLACE(mld_opdr_materiaal,',','.')),0),2) mld_opdr_materiaal,
|
||
ROUND(COALESCE(fac.safe_to_number(REPLACE(correctie_bedrag, ',','.')),0),2) correctie_bedrag,
|
||
mld_opdr_opmerking
|
||
FROM nour_imp_opdrkosten
|
||
ORDER BY mld_opdr_nr;
|
||
|
||
|
||
v_mld_opdr_key NUMBER (10);
|
||
l_mld_opdr_uurloon MLD_OPDR.mld_opdr_uurloon%TYPE;
|
||
|
||
|
||
|
||
FUNCTION try_getopdracht_id (p_broc_nr IN VARCHAR2, p_leverancier_nr IN VARCHAR2)
|
||
RETURN NUMBER
|
||
AS
|
||
c_prefix1 VARCHAR2 (1);
|
||
-- Ter bepaling van de positie van de slash in bron-nr
|
||
c_index NUMBER;
|
||
c_slash_index NUMBER;
|
||
-- Opdrachtnr voor de slash
|
||
c_broc_s1 VARCHAR2 (20);
|
||
-- Opdrachtnr na de slash
|
||
c_broc_s2 VARCHAR2 (20);
|
||
p_broc_key NUMBER(10);
|
||
BEGIN
|
||
p_broc_key := NULL;
|
||
c_index := 1;
|
||
c_prefix1 := SUBSTR (p_broc_nr, c_index, 1);
|
||
|
||
IF ( ( (ASCII (c_prefix1) >= 65 AND ASCII (c_prefix1) <= 90)
|
||
OR (ASCII (c_prefix1) >= 97 AND ASCII(c_prefix1) <= 122))
|
||
AND ASCII (c_prefix1) != 67
|
||
AND ASCII (c_prefix1) != 99)
|
||
THEN
|
||
-- Eerste karakter is een letter
|
||
-- Heeft opdrachtnr nog meer aan prefix?
|
||
c_index := 2;
|
||
c_prefix1 := SUBSTR (p_broc_nr, c_index, 1);
|
||
|
||
IF ( (ASCII (c_prefix1) >= 65 AND ASCII (c_prefix1) <= 90)
|
||
OR (ASCII (c_prefix1) >= 97 AND ASCII(c_prefix1) <= 122))
|
||
THEN
|
||
-- Eerste 2 karakter zijn letters
|
||
-- Heeft opdrachtnr nog meer aan prefix?
|
||
c_index := 3;
|
||
c_prefix1 := SUBSTR (p_broc_nr, c_index, 1);
|
||
IF ( (ASCII (c_prefix1) >= 65 AND ASCII (c_prefix1) <= 90)
|
||
OR (ASCII (c_prefix1) >= 97 AND ASCII(c_prefix1) <= 122))
|
||
THEN
|
||
-- Opdracht heeft prefix van 3 letters.
|
||
c_index := 4;
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
c_slash_index := INSTR (p_broc_nr, '/');
|
||
IF c_slash_index = 0
|
||
THEN
|
||
c_broc_s1 := SUBSTR (p_broc_nr, c_index);
|
||
c_broc_s2 := '';
|
||
ELSE
|
||
c_broc_s1 := SUBSTR (p_broc_nr, c_index, c_slash_index - c_index);
|
||
c_broc_s2 := SUBSTR (p_broc_nr, c_slash_index + 1);
|
||
END IF;
|
||
BEGIN
|
||
SELECT o.mld_opdr_key
|
||
INTO p_broc_key
|
||
FROM mld_opdr o
|
||
WHERE o.mld_melding_key = fac.safe_to_number (c_broc_s1)
|
||
AND mld_opdr_bedrijfopdr_volgnr = fac.safe_to_number (c_broc_s2);
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
p_broc_key := NULL;
|
||
END;
|
||
RETURN p_broc_key;
|
||
END;
|
||
|
||
|
||
BEGIN
|
||
v_count_tot := 0;
|
||
v_count_error := 0;
|
||
v_aanduiding := '';
|
||
|
||
FOR rec IN c
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := 'Opdrachtnr ' || rec.mld_opdr_nr || '(' || rec.mld_opdr_uren || ',' || rec.mld_opdr_uurloon || ',' || rec.mld_opdr_materiaal || ',' || rec.correctie_bedrag || '): ';
|
||
|
||
v_mld_opdr_key := try_getopdracht_id(rec.mld_opdr_nr, NULL);
|
||
IF (v_mld_opdr_key IS NULL)
|
||
THEN
|
||
v_count_error := v_count_error + 1;
|
||
v_errormsg := 'Opdrachtnummer onbekend / is niet gevonden';
|
||
v_errorhint := 'Fout bij bepalen opdrachtnummer';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
v_errorhint
|
||
);
|
||
COMMIT;
|
||
ELSE
|
||
|
||
-- Opdrachtnummer is gevonden, mld_opdr record is gevonden.
|
||
|
||
-- Stap 1) Uren x tarief
|
||
|
||
-- Als uurtarief bij opdracht niet is ingevuld, of als die wel is ingevuld en gelijk is aan uurtarief uit import regel, dan de uren aanvullen/optellen (en uurtarief invullen)
|
||
IF (rec.mld_opdr_uurloon != 0 AND rec.mld_opdr_uurloon !=0)
|
||
THEN
|
||
v_errorhint := 'Fout bij bepalen/zetten uurloon';
|
||
-- We gaan eerst ff het uurtarief ophalen, misschien is ie wel gelijk aan het importrecord?
|
||
SELECT mld_opdr_uurloon
|
||
INTO l_mld_opdr_uurloon
|
||
FROM mld_opdr
|
||
WHERE mld_opdr_key = v_mld_opdr_key;
|
||
|
||
IF (l_mld_opdr_uurloon IS NULL OR l_mld_opdr_uurloon = rec.mld_opdr_uurloon)
|
||
THEN
|
||
-- Inderdaad is tarief gelijk aan import-record, of er was nog geen tarief ingevuld, dan ook goed...
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_uren = COALESCE(mld_opdr_uren, 0) + rec.mld_opdr_uren,
|
||
mld_opdr_uurloon = rec.mld_opdr_uurloon,
|
||
mld_opdr_kosten = mld_opdr_kosten + ROUND(rec.mld_opdr_uurloon * rec.mld_opdr_uren, 2)
|
||
WHERE mld_opdr_key = v_mld_opdr_key;
|
||
ELSE
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_kosten = mld_opdr_kosten + ROUND(rec.mld_opdr_uurloon * rec.mld_opdr_uren, 2)
|
||
WHERE mld_opdr_key = v_mld_opdr_key;
|
||
END IF;
|
||
END IF;
|
||
|
||
-- Stap 2) Materiaal kosten
|
||
|
||
IF (rec.mld_opdr_materiaal != 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij zetten materiaalkosten';
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_materiaal = COALESCE(mld_opdr_materiaal,0) + rec.mld_opdr_materiaal,
|
||
mld_opdr_kosten = mld_opdr_kosten + rec.mld_opdr_materiaal
|
||
WHERE mld_opdr_key = v_mld_opdr_key;
|
||
END IF;
|
||
|
||
-- Stap 3) Correctie bedrag
|
||
|
||
IF (rec.correctie_bedrag != 0)
|
||
THEN
|
||
v_errorhint := 'Fout bij zetten correctiebedrag';
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_kosten = mld_opdr_kosten + rec.correctie_bedrag
|
||
WHERE mld_opdr_key = v_mld_opdr_key;
|
||
END IF;
|
||
|
||
-- Stap 4) Aanvullen van opmerking
|
||
|
||
IF (rec.mld_opdr_opmerking IS NOT NULL)
|
||
THEN
|
||
v_errorhint := 'Fout bij zetten opmerking';
|
||
UPDATE mld_opdr
|
||
SET mld_opdr_opmerking = SUBSTR(mld_opdr_opmerking || CHR(10) || rec.mld_opdr_opmerking,1,4000)
|
||
WHERE mld_opdr_key = v_mld_opdr_key;
|
||
END IF;
|
||
|
||
-- Informatieve logging
|
||
SELECT TO_CHAR(mld_opdr_kosten, '99G9999D99MI')
|
||
INTO v_errorhint
|
||
FROM mld_opdr
|
||
WHERE mld_opdr_key = v_mld_opdr_key;
|
||
fac.imp_writelog (p_import_key,
|
||
'I',
|
||
'Bijgewerkt: '||v_aanduiding,
|
||
'Totaalbedrag: '||v_errorhint
|
||
);
|
||
|
||
END IF;
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
v_count_error := v_count_error + 1;
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'OTHERS (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_aanduiding || v_errormsg,
|
||
v_errorhint
|
||
);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog(p_import_key,
|
||
'S',
|
||
'OPDRACHT KOSTEN: verwerkte regels zonder foutmelding: '
|
||
|| TO_CHAR (v_count_tot - v_count_error),
|
||
''
|
||
);
|
||
fac.imp_writelog(p_import_key,
|
||
'S',
|
||
'OPDRACHT KOSTEN: verwerkte regels met foutmelding: '
|
||
|| TO_CHAR (v_count_error),
|
||
''
|
||
);
|
||
|
||
COMMIT;
|
||
|
||
END nour_update_opdrkosten;
|
||
/
|
||
|
||
--- INSPECTIERESULTATEN -------------------------------------------------------------
|
||
|
||
-- AKZA#31258: Import inspectieresultaten
|
||
CREATE OR REPLACE PROCEDURE nour_import_inspectieobj (
|
||
p_import_key IN NUMBER
|
||
)
|
||
IS
|
||
c_delim VARCHAR2 (1) := ';';
|
||
v_newline VARCHAR2 (1000); -- Input line
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
header_is_valid NUMBER;
|
||
v_count_tot NUMBER (10);
|
||
v_count_import NUMBER (10);
|
||
v_ongeldig NUMBER (1);
|
||
v_aanduiding VARCHAR (200);
|
||
-- De importvelden:
|
||
v_alg_locatie_code VARCHAR2 (255); -- C10
|
||
v_ins_deel_omschrijving VARCHAR2 (255); -- C60
|
||
v_ins_srtcontrole_omschrijving VARCHAR2 (255); -- C60
|
||
v_ins_controle_datum VARCHAR2 (255); -- DATE
|
||
v_ins_controle_opm VARCHAR2 (1024); -- C500
|
||
v_afgekeurd VARCHAR2 (255); -- C60
|
||
v_bestand VARCHAR2 (255); -- C200
|
||
-- Overig:
|
||
v_ins_controle_datum_d DATE; -- DATE
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT *
|
||
FROM fac_imp_file
|
||
WHERE fac_import_key = p_import_key
|
||
ORDER BY fac_imp_file_index;
|
||
BEGIN
|
||
DELETE FROM nour_imp_inspectieobj;
|
||
|
||
COMMIT;
|
||
|
||
v_count_tot := 0;
|
||
v_count_import := 0;
|
||
header_is_valid := 0;
|
||
|
||
FOR rec1 IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_newline := rec1.fac_imp_file_line;
|
||
v_errormsg := 'Fout bij opvragen importregel';
|
||
v_aanduiding := '';
|
||
v_ongeldig := 0;
|
||
-- Lees alle veldwaarden
|
||
fac.imp_getfield (v_newline, c_delim, v_alg_locatie_code);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_deel_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_srtcontrole_omschrijving);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_controle_datum);
|
||
fac.imp_getfield (v_newline, c_delim, v_ins_controle_opm);
|
||
fac.imp_getfield (v_newline, c_delim, v_afgekeurd);
|
||
fac.imp_getfield (v_newline, c_delim, v_bestand);
|
||
|
||
v_aanduiding := '[' || v_ins_deel_omschrijving || ' (' || v_alg_locatie_code || ')] ';
|
||
|
||
-- 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 (v_alg_locatie_code) = 'LOCATIECODE'
|
||
AND UPPER (v_ins_deel_omschrijving) = 'OBJECT_ID'
|
||
AND UPPER (v_ins_srtcontrole_omschrijving) = 'SOORTCONTROLE'
|
||
AND UPPER (v_ins_controle_datum) = 'CONTROLEDATUM'
|
||
AND UPPER (v_ins_controle_opm) = 'CONTROLEOPMERKING'
|
||
AND UPPER (v_afgekeurd) = 'AFGEKEURD'
|
||
THEN
|
||
header_is_valid := 1;
|
||
END IF;
|
||
ELSE
|
||
v_count_tot := v_count_tot + 1;
|
||
-- Controleer alle veldwaarden
|
||
v_errormsg := 'Locatiecode ongeldig';
|
||
v_alg_locatie_code := TRIM (v_alg_locatie_code);
|
||
|
||
IF LENGTH (v_alg_locatie_code) > 10
|
||
THEN
|
||
v_alg_locatie_code := SUBSTR (v_alg_locatie_code, 1, 10);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Locatiecode wordt afgebroken tot ['
|
||
|| v_alg_locatie_code
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Objectomschrijving ongeldig';
|
||
v_ins_deel_omschrijving := TRIM (v_ins_deel_omschrijving);
|
||
|
||
IF LENGTH (v_ins_deel_omschrijving) > 60
|
||
THEN
|
||
v_ins_deel_omschrijving :=
|
||
SUBSTR (TRIM (v_ins_deel_omschrijving), 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Objectomschrijving wordt afgebroken tot ['
|
||
|| v_ins_deel_omschrijving
|
||
|| ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Soortcontrole ongeldig';
|
||
v_ins_srtcontrole_omschrijving := TRIM (v_ins_srtcontrole_omschrijving);
|
||
|
||
IF LENGTH (v_ins_srtcontrole_omschrijving) > 60
|
||
THEN
|
||
v_ins_srtcontrole_omschrijving := SUBSTR (v_ins_srtcontrole_omschrijving, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Soortcontrole wordt afgebroken tot [' || v_ins_srtcontrole_omschrijving || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Controledatum ongeldig';
|
||
v_ins_controle_datum := TRIM (v_ins_controle_datum);
|
||
v_ins_controle_datum_d := NULL;
|
||
|
||
IF (v_ins_controle_datum IS NOT NULL)
|
||
THEN
|
||
IF (fac.safe_to_date (v_ins_controle_datum, 'dd-mm-yyyy') IS NULL)
|
||
THEN
|
||
fac.imp_writelog (p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Controledatum wordt genegeerd');
|
||
ELSE
|
||
v_ins_controle_datum_d :=
|
||
fac.safe_to_date (v_ins_controle_datum, 'dd-mm-yyyy');
|
||
END IF;
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Controleopmerking ongeldig';
|
||
v_ins_controle_opm := TRIM (v_ins_controle_opm);
|
||
|
||
IF LENGTH (v_ins_controle_opm) > 500
|
||
THEN
|
||
v_ins_controle_opm := SUBSTR (v_ins_controle_opm, 1, 500);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Controleopmerking wordt afgekapt op 500 posities'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Afgekeurd ongeldig';
|
||
v_afgekeurd := TRIM (v_afgekeurd);
|
||
|
||
IF LENGTH (v_afgekeurd) > 60
|
||
THEN
|
||
v_afgekeurd := SUBSTR (v_afgekeurd, 1, 60);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Afgekeurd wordt afgebroken tot [' || v_afgekeurd || ']'
|
||
);
|
||
END IF;
|
||
|
||
--
|
||
v_errormsg := 'Bestandsnaam ongeldig';
|
||
v_bestand := TRIM (v_bestand);
|
||
|
||
IF (v_bestand IS NOT NULL AND LENGTH (v_bestand) > 200 )
|
||
THEN
|
||
v_bestand := SUBSTR (v_bestand, 1, 200);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'Bestandsnaam wordt afgekapt op 200 posities'
|
||
);
|
||
END IF;
|
||
|
||
-- Insert geformatteerde import record
|
||
IF v_ongeldig = 0
|
||
THEN
|
||
BEGIN
|
||
v_errormsg := 'Fout bij wegschrijven importregel';
|
||
|
||
INSERT INTO nour_imp_inspectieobj (
|
||
alg_locatie_code,
|
||
ins_deel_omschrijving,
|
||
ins_srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_deelsrtcontrole_opmerking,
|
||
afgekeurd,
|
||
bestand
|
||
)
|
||
VALUES (v_alg_locatie_code,
|
||
v_ins_deel_omschrijving,
|
||
v_ins_srtcontrole_omschrijving,
|
||
v_ins_controle_datum_d,
|
||
v_ins_controle_opm,
|
||
v_afgekeurd,
|
||
v_bestand);
|
||
|
||
COMMIT;
|
||
v_count_import := v_count_import + 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,
|
||
'W',
|
||
v_aanduiding || v_errormsg,
|
||
'');
|
||
|
||
COMMIT;
|
||
END;
|
||
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',
|
||
'Inspectieobjecten/aantal ingelezen importregels: '
|
||
|| TO_CHAR (v_count_tot),
|
||
''
|
||
);
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'S',
|
||
'Inspectieobjecten/aantal ongeldige niet ingelezen importregels: '
|
||
|| TO_CHAR (v_count_tot - v_count_import),
|
||
''
|
||
);
|
||
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 inspectieobjecten afgebroken!');
|
||
END nour_import_inspectieobj;
|
||
/
|
||
|
||
-- Leest voor objecten (locatie+object-id) het resultaat van specifieke taken in,
|
||
-- uitgevoerd op bepaalde datums. Met ruimte voor een opmerking en een link naar een
|
||
-- bestandsnaam. Voor de bestandsnaam wordt het bestandsnaam-kenmerk met de laagste key
|
||
-- bij de betreffende taak (controle) gezocht en gebruikt.
|
||
CREATE OR REPLACE PROCEDURE nour_update_inspectieobj (
|
||
p_import_key IN NUMBER
|
||
)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_count NUMBER (10);
|
||
v_count_tot NUMBER (10);
|
||
v_count_cupdate NUMBER (10);
|
||
v_aanduiding VARCHAR (200);
|
||
|
||
CURSOR c1
|
||
IS
|
||
SELECT i.alg_locatie_code,
|
||
i.ins_deel_omschrijving,
|
||
sc.ins_srtcontrole_key,
|
||
sc.ins_srtcontrole_omschrijving,
|
||
i.ins_deelsrtcontrole_datum,
|
||
i.ins_deelsrtcontrole_opmerking,
|
||
i.bestand bestandsnaam,
|
||
i.afgekeurd,
|
||
ad.ins_deel_key,
|
||
ad.ins_srtdeel_key,
|
||
g.ins_srtgroep_key,
|
||
ad.ins_discipline_key,
|
||
al.alg_locatie_key
|
||
FROM nour_imp_inspectieobj i,
|
||
ins_srtcontrole sc,
|
||
ins_v_aanwezigdeel ad,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep g,
|
||
alg_v_aanweziglocatie al
|
||
WHERE ad.ins_deel_omschrijving(+) = i.ins_deel_omschrijving
|
||
AND UPPER(sc.ins_srtcontrole_omschrijving(+)) = UPPER(i.ins_srtcontrole_omschrijving)
|
||
AND sd.ins_srtdeel_key(+) = ad.ins_srtdeel_key
|
||
AND g.ins_srtgroep_key(+) = sd.ins_srtgroep_key
|
||
AND al.alg_locatie_key(+) = ad.ins_alg_locatie_key;
|
||
|
||
v_deel_key NUMBER (10);
|
||
v_kenmerk_key NUMBER (10);
|
||
v_kenmerkdeel_key NUMBER (10);
|
||
v_srtcontrole_id VARCHAR2 (20);
|
||
v_controlemode_succes_key NUMBER (10);
|
||
v_controlemode_afkeur_key NUMBER (10);
|
||
v_deelsrtcontrole_key NUMBER(10);
|
||
BEGIN
|
||
v_count := 0;
|
||
v_count_tot := 0;
|
||
v_count_cupdate := 0;
|
||
v_aanduiding := '';
|
||
|
||
FOR rec IN c1
|
||
LOOP
|
||
BEGIN
|
||
v_count_tot := v_count_tot + 1;
|
||
v_aanduiding := '['||rec.ins_deel_omschrijving
|
||
||'|'||rec.alg_locatie_code
|
||
||'|'||rec.ins_srtcontrole_omschrijving
|
||
||'|'||rec.ins_deelsrtcontrole_datum
|
||
|| '] ';
|
||
|
||
-- We kunnen alleen iets met objecten die we kennen!
|
||
IF (rec.ins_deel_key IS NULL OR rec.alg_locatie_key IS NULL)
|
||
THEN
|
||
fac.imp_writelog(p_import_key, 'E',
|
||
'Objectcode onbekend (binnen locatie); regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
|
||
-- Zonder datum doen we niks
|
||
IF (rec.ins_deelsrtcontrole_datum IS NULL)
|
||
THEN
|
||
fac.imp_writelog(p_import_key, 'E',
|
||
'Geen datum ingevuld; regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
|
||
-- Kennen we de srtcontrole uberhaupt?
|
||
IF (rec.ins_srtcontrole_key IS NULL)
|
||
THEN
|
||
fac.imp_writelog(p_import_key, 'E',
|
||
'Soort taak onbekend; regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
|
||
-- En hoort die srtcontrole ook bij deze objectsoort/-groep/discipline?
|
||
v_errormsg := 'srtcontrole bij objectsoort';
|
||
SELECT COUNT(*)
|
||
INTO v_count
|
||
FROM ins_srtcontrole sc
|
||
WHERE sc.ins_srtcontrole_key = rec.ins_srtcontrole_key
|
||
AND sc.ins_srtinstallatie_key =
|
||
DECODE( sc.ins_srtcontrole_niveau,
|
||
'S', rec.ins_srtdeel_key,
|
||
'G', rec.ins_srtgroep_key,
|
||
'D', rec.ins_discipline_key);
|
||
|
||
-- Nee --> overslaan
|
||
IF (v_count = 0)
|
||
THEN
|
||
fac.imp_writelog(p_import_key, 'E',
|
||
'Soort taak hoort niet bij object; regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
-- TODO: kan een srtcontrole meerdere malen aan een object gekoppeld zijn? Dan dat nog specifieker bepalen?
|
||
|
||
IF (rec.ins_deelsrtcontrole_datum IS NULL)
|
||
THEN
|
||
fac.imp_writelog(p_import_key, 'E',
|
||
'Geen datum opgegeven; regel wordt overgeslagen',
|
||
v_aanduiding);
|
||
CONTINUE;
|
||
END IF;
|
||
|
||
v_errormsg := 'Fout bij bepalen controlemethode succes';
|
||
SELECT MIN(cm.ins_controlemode_key)
|
||
INTO v_controlemode_succes_key
|
||
FROM ins_controlemode cm,
|
||
ctr_disc_params dp,
|
||
ins_srtcontrole sc
|
||
WHERE cm.ins_controlemode_success = 1
|
||
AND cm.ins_srtcontrole_type = dp.ctr_disc_params_controle_type
|
||
AND dp.ctr_ins_discipline_key = sc.ctr_discipline_key
|
||
AND sc.ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||
|
||
v_errormsg := 'Fout bij bepalen controlemethode afgekeurd';
|
||
SELECT MIN(cm.ins_controlemode_key)
|
||
INTO v_controlemode_afkeur_key
|
||
FROM ins_controlemode cm,
|
||
ctr_disc_params dp,
|
||
ins_srtcontrole sc
|
||
WHERE cm.ins_controlemode_success IS NULL
|
||
AND cm.ins_srtcontrole_type = dp.ctr_disc_params_controle_type
|
||
AND dp.ctr_ins_discipline_key = sc.ctr_discipline_key
|
||
AND sc.ins_srtcontrole_key = rec.ins_srtcontrole_key;
|
||
|
||
-- TODO: ins_deelsrtcontrole_datum_org is de datum waarop de taak eigenlijk gedaan had
|
||
-- moeten worden. Die staat bij taken met standaardperiode 0 in ins_srtcontroledl_xcp en
|
||
-- zal doorgaans afwijken van de datum in het importbestand.
|
||
v_errormsg := 'Fout bij toevoegen controle';
|
||
INSERT INTO ins_deelsrtcontrole (
|
||
ins_deel_key,
|
||
ins_srtcontrole_key,
|
||
ins_deelsrtcontrole_datum,
|
||
ins_deelsrtcontrole_datum_org,
|
||
ins_controlemode_key,
|
||
ins_deelsrtcontrole_opmerking)
|
||
VALUES (
|
||
rec.ins_deel_key,
|
||
rec.ins_srtcontrole_key,
|
||
rec.ins_deelsrtcontrole_datum,
|
||
rec.ins_deelsrtcontrole_datum,
|
||
DECODE(rec.afgekeurd,
|
||
NULL, v_controlemode_succes_key,
|
||
v_controlemode_afkeur_key),
|
||
rec.ins_deelsrtcontrole_opmerking)
|
||
RETURNING ins_deelsrtcontrole_key INTO v_deelsrtcontrole_key;
|
||
|
||
IF (rec.bestandsnaam IS NOT NULL)
|
||
THEN
|
||
v_errormsg := 'Fout bij bepalen bestandskenmerk';
|
||
SELECT MIN(ins_kenmerk_key)
|
||
INTO v_kenmerk_key
|
||
FROM ins_kenmerk k,
|
||
ins_srtkenmerk sk,
|
||
ins_srtcontrole rec
|
||
WHERE k.ins_kenmerk_niveau = 'C'
|
||
AND k.ins_srtinstallatie_key = rec.ins_srtcontrole_key
|
||
AND k.ins_kenmerk_verwijder IS NULL
|
||
AND sk.ins_srtkenmerk_key = k.ins_srtkenmerk_key
|
||
AND sk.ins_srtkenmerk_kenmerktype = 'X';
|
||
|
||
v_errormsg := 'Bestandsnaam vastleggen';
|
||
INSERT INTO ins_kmdeelsrtcontr (
|
||
ins_deelsrtcontrole_key,
|
||
ins_kenmerk_key,
|
||
ins_kmdeelsrtcontr_waarde)
|
||
VALUES (
|
||
v_deelsrtcontrole_key,
|
||
v_kenmerk_key,
|
||
REPLACE(
|
||
CASE
|
||
WHEN UPPER(rec.bestandsnaam) LIKE 'R:\TD-EXTERN\ITA-3\REPORTS\RTC%'
|
||
THEN '/RTC'||SUBSTR(rec.bestandsnaam, 31)
|
||
WHEN UPPER(rec.bestandsnaam) LIKE 'R:/TD-EXTERN/ITA-3/REPORTS/RTC%'
|
||
THEN '/RTC'||SUBSTR(rec.bestandsnaam, 31)
|
||
ELSE
|
||
rec.bestandsnaam
|
||
END,
|
||
'\',
|
||
'/')
|
||
);
|
||
END IF;
|
||
|
||
v_count_cupdate := v_count_cupdate + 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_errormsg,
|
||
v_aanduiding);
|
||
END;
|
||
END LOOP;
|
||
|
||
fac.imp_writelog (p_import_key, 'S',
|
||
'Aantal ingelezen taken: ' || TO_CHAR (v_count_tot),
|
||
'');
|
||
fac.imp_writelog (p_import_key, 'S',
|
||
'Aantal verwerkte taken: ' || TO_CHAR (v_count_cupdate),
|
||
'');
|
||
COMMIT;
|
||
|
||
END nour_update_inspectieobj;
|
||
/
|
||
|
||
--- view om de locatie van nieuwe apparatuur aan te kunnen geven
|
||
CREATE OR REPLACE VIEW NOUR_V_RUIMTES_DEVENTER
|
||
(
|
||
RUIMTE_KEY,
|
||
RUIMTE,
|
||
VERVALDATUM
|
||
)
|
||
AS
|
||
SELECT ALG_RUIMTE_KEY,
|
||
ALG_GEBOUW_UPPER
|
||
|| '/'
|
||
|| ALG_VERDIEPING_CODE
|
||
|| '/'
|
||
|| ALG_RUIMTE_UPPER_NR
|
||
|| '-'
|
||
|| ALG_RUIMTE_OMSCHRIJVING
|
||
AS RUIMTE,
|
||
ALG_RUIMTE_VERWIJDER
|
||
FROM ALG_V_RUIMTE_GEGEVENS_ALL R
|
||
WHERE ALG_LOCATIE_KEY = 121;
|
||
|
||
--- Overzicht met alle werkvergunningen
|
||
CREATE OR REPLACE VIEW NOUR_V_WERKVERGUNNINGEN
|
||
(
|
||
HIDE_F_MELDING_KEY,
|
||
HTML_AANVRAAG_NR,
|
||
MELDING,
|
||
ONDERWERP,
|
||
STATUS,
|
||
DATUM,
|
||
AANVRAGER,
|
||
AFDELING,
|
||
AFDELING_OMSCHR,
|
||
HTML_BESTAND,
|
||
AANVRAAG_AFGEROND,
|
||
FCLT_3D_LOCATIE_KEY
|
||
)
|
||
AS
|
||
SELECT (1 - s.mld_melding_key) AS sort_desc,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("'
|
||
|| 'appl/mld/mld_melding.asp?urole=fe&'
|
||
|| 'mld_key='
|
||
|| s.mld_melding_key
|
||
|| '")''>'
|
||
|| HTF.escape_sc (s.mld_melding_key)
|
||
|| '</a>',
|
||
t.mld_stdmelding_omschrijving,
|
||
s.mld_melding_onderwerp,
|
||
--- s.mld_melding_status,
|
||
u.mld_statuses_omschrijving,
|
||
s.mld_melding_datum,
|
||
p.prs_perslid_naam_full,
|
||
a.prs_afdeling_naam,
|
||
a.prs_afdeling_omschrijving,
|
||
( '<a target ="_blank" href="'
|
||
|| bestand.mld_kenmerkmelding_waarde
|
||
|| '">'
|
||
|| HTF.escape_sc ('PTW-' || s.mld_melding_key)
|
||
|| '</a>'),
|
||
--- bestand.mld_kenmerkmelding_waarde,
|
||
CASE
|
||
WHEN ptw_volledig.mld_kenmerkmelding_waarde IS NOT NULL
|
||
THEN
|
||
'Ja'
|
||
WHEN ptw_volledig.mld_kenmerkmelding_waarde IS NULL
|
||
THEN
|
||
'Nee'
|
||
END
|
||
AS Ptw_Volledig,
|
||
s.mld_alg_locatie_key
|
||
FROM mld_melding s,
|
||
mld_stdmelding t,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_perslid pl,
|
||
prs_afdeling a,
|
||
mld_statuses u,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_srtkenmerk_key = 961) bestand,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_srtkenmerk_key = 962) ptw_volledig
|
||
WHERE p.prs_perslid_key = s.prs_perslid_key_voor
|
||
AND s.mld_stdmelding_key = t.mld_stdmelding_key
|
||
AND s.mld_melding_key = bestand.mld_melding_key
|
||
AND s.mld_melding_key = ptw_volledig.mld_melding_key(+)
|
||
AND s.mld_melding_status = u.mld_statuses_key
|
||
AND p.prs_perslid_key=pl.prs_perslid_key
|
||
AND pl.prs_afdeling_key=a.prs_afdeling_key
|
||
AND s.mld_melding_status NOT IN (1, 5, 6, 99);
|
||
|
||
--- Rapportage tbv ombouwwerkzaamheden Eurest
|
||
CREATE OR REPLACE VIEW NOUR_V_WERKZAAMH_EUREST
|
||
(
|
||
LOCATIECODE,
|
||
LOCATIE,
|
||
RUIMTE,
|
||
DATUM,
|
||
VAN,
|
||
TOT,
|
||
VERW_DAT,
|
||
RESNR,
|
||
AANT_PERS,
|
||
AANT_WERK,
|
||
NO_SHOW,
|
||
WIJZIGINGEN,
|
||
AANT_VOORZ,
|
||
LEV_VOORZ,
|
||
VOORZIENING,
|
||
GASTHEER,
|
||
AANVRAGER,
|
||
TEL_AANVRAGER,
|
||
KOSTENPLAATS,
|
||
ORDERNNR,
|
||
OMSCHRIJVING,
|
||
OPMERKING,
|
||
G_VORPAS,
|
||
VOORZ_AANMAAK,
|
||
VOORZ_VERW,
|
||
VOORZ_MUT,
|
||
WIJZ_LAST_MINUTE,
|
||
DEL_LAST_MINUTE
|
||
)
|
||
AS
|
||
SELECT rg.alg_locatie_code,
|
||
rg.alg_locatie_omschrijving,
|
||
r.res_ruimte_nr,
|
||
TRUNC (
|
||
COALESCE (rr.res_rsv_ruimte_van, ra.res_rsv_artikel_levering))
|
||
datum,
|
||
TO_CHAR (rr.res_rsv_ruimte_van, 'HH24:MI') van,
|
||
TO_CHAR (rr.res_rsv_ruimte_tot, 'HH24:MI') tot,
|
||
TRUNC (rr.res_rsv_ruimte_verwijder),
|
||
res.res_reservering_key || '/' || rr.res_rsv_ruimte_volgnr resnr,
|
||
rr.res_rsv_ruimte_bezoekers aant_pers,
|
||
'' aant_werk,
|
||
'' no_show,
|
||
'' wijzigingen,
|
||
ra.res_rsv_artikel_aantal,
|
||
TO_CHAR (ra.res_rsv_artikel_levering, 'HH24:MI') levering,
|
||
a.res_artikel_omschrijving,
|
||
h.prs_perslid_naam_full HOST,
|
||
g.prs_perslid_naam_full aanvr,
|
||
gt.prs_perslid_telefoonnr telnr_aanvr,
|
||
k.prs_kostenplaats_nr,
|
||
rr.res_rsv_ruimte_ordernr,
|
||
rr.res_rsv_ruimte_omschrijving,
|
||
rr.res_rsv_ruimte_opmerking,
|
||
g_vorpas.res_kenmerkreservering_waarde g_vorpas,
|
||
ra.res_rsv_artikel_aanmaak,
|
||
ra.res_rsv_artikel_verwijder,
|
||
ra.res_rsv_artikel_mutatie,
|
||
CASE
|
||
WHEN ( (TRUNC (SYSDATE) = TRUNC (ra.res_rsv_artikel_aanmaak))
|
||
OR (TRUNC (SYSDATE) = TRUNC (ra.res_rsv_artikel_mutatie)))
|
||
THEN
|
||
'Ja'
|
||
ELSE
|
||
'Nee'
|
||
END
|
||
LM_MUT,
|
||
CASE
|
||
WHEN TRUNC (SYSDATE) = TRUNC (ra.res_rsv_artikel_verwijder)
|
||
THEN
|
||
'Ja'
|
||
ELSE
|
||
'Nee'
|
||
END
|
||
LM_DEL
|
||
FROM res_rsv_ruimte rr,
|
||
res_reservering res,
|
||
res_rsv_artikel ra,
|
||
res_artikel a,
|
||
res_ruimte_opstelling ro,
|
||
res_ruimte r,
|
||
res_alg_ruimte ar,
|
||
alg_v_ruimte_gegevens_all rg,
|
||
prs_v_perslid_fullnames_all h,
|
||
prs_v_perslid_fullnames_all g,
|
||
prs_perslid gt,
|
||
prs_kostenplaats k,
|
||
(SELECT kw.res_kenmerkreservering_waarde, kw.res_rsv_ruimte_key
|
||
FROM res_kenmerk k, res_kenmerkwaarde kw
|
||
WHERE kw.res_kenmerk_key = k.res_kenmerk_key
|
||
AND k.res_srtkenmerk_key = 181) g_vorpas
|
||
WHERE ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||
AND rr.res_reservering_key = res.res_reservering_key
|
||
AND r.res_ruimte_key=ar.res_ruimte_key
|
||
AND ar.alg_ruimte_key=rg.alg_ruimte_key
|
||
AND a.res_artikel_key = ra.res_artikel_key
|
||
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
|
||
AND ro.res_ruimte_key = r.res_ruimte_key
|
||
AND rr.res_rsv_ruimte_host_key = h.prs_perslid_key
|
||
AND rr.res_rsv_ruimte_contact_key = g.prs_perslid_key
|
||
AND g.prs_perslid_key = gt.prs_perslid_key
|
||
AND rr.prs_kostenplaats_key = k.prs_kostenplaats_key
|
||
AND rr.res_rsv_ruimte_key = g_vorpas.res_rsv_ruimte_key(+)
|
||
AND (rr.res_rsv_ruimte_verwijder IS NULL
|
||
OR TRUNC (SYSDATE) = TRUNC (rr.res_rsv_ruimte_verwijder));
|
||
|
||
-- Notificatie naar areagedelegeerde AKZA#41201
|
||
-- Voor alle nieuwe meldingen waarbij het vinkje werkvergunning aanstaat (km441) en een waarbij een werkvergunning is aangemaakt (km961)
|
||
-- En waarbij aangegeven is dat de areagedelegeerde geinformeerd moet worden (km1021), AKZA#57881 direct of op een later moment
|
||
-- hierbij de areagedelegeerde ophalen die bij de ruimte is vastgelegd (km 1160)
|
||
CREATE OR REPLACE VIEW NOUR_V_NOTI_PTW_AREAGD
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE,
|
||
XSENDER
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
NULL,
|
||
p.prs_perslid_key,
|
||
REPLACE (n.fac_srtnotificatie_oms, '##mldnr##', m.mld_melding_key),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL
|
||
xkey,
|
||
p.prs_perslid_email
|
||
xemail,
|
||
NULL
|
||
xmobile,
|
||
'no_reply@nour.facilitor.nl'
|
||
FROM fac_tracking t,
|
||
fac_srtnotificatie n,
|
||
mld_melding m,
|
||
alg_v_allonrgoed_gegevens r,
|
||
alg_onrgoedkenmerk ad,
|
||
prs_perslid p,
|
||
(SELECT km.mld_melding_key
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE k.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 441) ptw_nodig,
|
||
(SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE k.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 961) ptw,
|
||
(SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE k.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1021) areaged
|
||
WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY
|
||
AND T.FAC_SRTNOTIFICATIE_KEY = 21 --- nieuwe melding
|
||
AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST06'
|
||
AND m.mld_melding_key = ptw_nodig.mld_melding_key
|
||
AND m.mld_melding_key = ptw.mld_melding_key
|
||
AND m.mld_melding_key = areaged.mld_melding_key
|
||
AND m.mld_alg_onroerendgoed_keys = r.alg_onroerendgoed_keys
|
||
AND r.alg_ruimte_key = ad.alg_onrgoed_key
|
||
AND ad.alg_kenmerk_key = 1160
|
||
AND ad.alg_onrgoedkenmerk_waarde = p.prs_perslid_key
|
||
AND t.fac_tracking_datum >
|
||
(SELECT fac_notificatie_job_nextrun
|
||
- fac_notificatie_job_interval / 24
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'NOUR_V_NOTI_PTW_AREAGD')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'NOUR_V_NOTI_PTW_AREAGD')
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
NULL,
|
||
p.prs_perslid_key,
|
||
REPLACE (n.fac_srtnotificatie_oms, '##mldnr##', m.mld_melding_key),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL
|
||
xkey,
|
||
p.prs_perslid_email
|
||
xemail,
|
||
NULL
|
||
xmobile,
|
||
'no_reply@nour.facilitor.nl'
|
||
FROM fac_tracking t,
|
||
fac_srtnotificatie n,
|
||
mld_melding m,
|
||
alg_v_allonrgoed_gegevens r,
|
||
alg_onrgoedkenmerk ad,
|
||
prs_perslid p,
|
||
(SELECT km.mld_melding_key
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE k.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 441) ptw_nodig,
|
||
(SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE k.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 961) ptw,
|
||
(SELECT km.mld_melding_key, km.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE k.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 1021) areaged
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND t.fac_tracking_oms LIKE
|
||
'%Areagedelegeerde informeren?: (leeg) --> 1%' --- of als in een later stadium nog het kenmerk gevuld wordt
|
||
AND n.fac_srtnotificatie_code = 'CUST06'
|
||
AND m.mld_melding_key = ptw_nodig.mld_melding_key
|
||
AND m.mld_melding_key = ptw.mld_melding_key
|
||
AND m.mld_melding_key = areaged.mld_melding_key
|
||
AND m.mld_alg_onroerendgoed_keys = r.alg_onroerendgoed_keys
|
||
AND r.alg_ruimte_key = ad.alg_onrgoed_key
|
||
AND ad.alg_kenmerk_key = 1160
|
||
AND ad.alg_onrgoedkenmerk_waarde = p.prs_perslid_key
|
||
AND t.fac_tracking_datum >
|
||
(SELECT fac_notificatie_job_nextrun
|
||
- fac_notificatie_job_interval / 24
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'NOUR_V_NOTI_PTW_AREAGD')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'NOUR_V_NOTI_PTW_AREAGD');
|
||
|
||
--- NOUR_HUUR_VERHUURB_RUIMTE_PERSL
|
||
CREATE OR REPLACE VIEW NOUR_HUUR_VERH_RUIMTE_PERSL
|
||
(
|
||
FCLT_F_COMPANYCODE,
|
||
HIDE_F_COMPANYNAAM,
|
||
FCLT_F_KOSTENPLAATS,
|
||
AFDELING,
|
||
PERSLID_NAAM,
|
||
PERSLID_KOSTENPLAATS,
|
||
FCLT_X_LOCATIE,
|
||
FCLT_F_GEBOUW,
|
||
VERDIEPING,
|
||
RUIMTENR,
|
||
RUIMTESOORT,
|
||
FCLT_3D_GEBOUW_KEY,
|
||
FCLT_3D_AFDELING_KEY,
|
||
BVO
|
||
)
|
||
AS
|
||
SELECT e.prs_afdeling_naam companycode,
|
||
e.prs_afdeling_omschrijving companynaam,
|
||
kp.prs_kostenplaats_nr,
|
||
a.prs_afdeling_omschrijving,
|
||
perslid_wp.prs_perslid_naam_full,
|
||
perslid_wp.prs_kostenplaats_nr,
|
||
rg.alg_locatie_omschrijving || ' (' || rg.alg_locatie_code || ')',
|
||
rg.alg_gebouw_omschrijving,
|
||
rg.alg_verdieping_code,
|
||
rg.alg_ruimte_nr,
|
||
sr.alg_srtruimte_omschrijving,
|
||
rg.alg_gebouw_key,
|
||
a.prs_afdeling_key,
|
||
ROUND (
|
||
SUM(COALESCE (
|
||
rg.alg_ruimte_bruto_vloeropp
|
||
* ra.prs_ruimteafdeling_bezetting
|
||
/ 100,
|
||
0)),
|
||
1)
|
||
bvo
|
||
FROM prs_v_aanwezigafdeling a,
|
||
prs_v_aanwezigafdeling e,
|
||
prs_v_aanwezigruimteafdeling ra,
|
||
alg_v_ruimte_gegevens rg,
|
||
alg_srtruimte sr,
|
||
nour_v_kostenplaats kp,
|
||
(SELECT wp.prs_alg_ruimte_key,
|
||
wp.prs_werkplek_key,
|
||
pwp.prs_perslidwerkplek_bezetting,
|
||
pl.prs_perslid_naam_full,
|
||
a.prs_afdeling_omschrijving,
|
||
kpl.prs_kostenplaats_nr
|
||
FROM prs_werkplek wp,
|
||
prs_perslidwerkplek pwp,
|
||
prs_v_perslid_fullnames_all pl,
|
||
prs_perslid p,
|
||
prs_v_aanwezigafdeling a,
|
||
prs_v_aanwezigafdeling e,
|
||
prs_kostenplaats kpl
|
||
WHERE pwp.prs_werkplek_key = wp.prs_werkplek_key
|
||
AND pl.prs_perslid_key = pwp.prs_perslid_key
|
||
AND a.prs_afdeling_parentkey = e.prs_afdeling_key(+)
|
||
AND e.prs_afdeling_parentkey IS NULL
|
||
AND pl.prs_perslid_key = p.prs_perslid_key
|
||
AND a.prs_afdeling_key = p.prs_afdeling_key
|
||
AND kpl.prs_kostenplaats_key = a.prs_kostenplaats_key)
|
||
perslid_wp
|
||
WHERE a.prs_afdeling_parentkey = e.prs_afdeling_key(+)
|
||
AND e.prs_afdeling_parentkey IS NULL
|
||
AND kp.prs_kostenplaats_key(+) = a.prs_kostenplaats_key
|
||
AND ra.prs_afdeling_key = a.prs_afdeling_key(+)
|
||
AND rg.alg_ruimte_key = ra.alg_ruimte_key(+)
|
||
AND sr.alg_srtruimte_key = rg.alg_srtruimte_key
|
||
AND perslid_wp.prs_alg_ruimte_key(+) = rg.alg_ruimte_key
|
||
GROUP BY e.prs_afdeling_naam,
|
||
e.prs_afdeling_omschrijving,
|
||
kp.prs_kostenplaats_nr,
|
||
a.prs_afdeling_omschrijving,
|
||
rg.alg_locatie_code,
|
||
rg.alg_locatie_omschrijving,
|
||
rg.alg_gebouw_omschrijving,
|
||
rg.alg_gebouw_key,
|
||
rg.alg_verdieping_volgnr,
|
||
rg.alg_verdieping_code,
|
||
rg.alg_ruimte_nr,
|
||
sr.alg_srtruimte_omschrijving,
|
||
a.prs_afdeling_key,
|
||
perslid_wp.prs_perslid_naam_full,
|
||
perslid_wp.prs_afdeling_omschrijving,
|
||
perslid_wp.prs_kostenplaats_nr;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_CTR_LOD
|
||
(
|
||
INS_DEEL_KEY,
|
||
ALG_PLAATSAANDUIDING,
|
||
INS_DEEL_OMSCHRIJVING,
|
||
INS_DEEL_OPMERKING,
|
||
FAC_USRDATA_OMSCHR,
|
||
LAATSTE_INSPECTIEDATUM,
|
||
RESULT_LAATSTE_INSPECTIE,
|
||
INS_DEELSRTCONTROLE_DATUM,
|
||
PERSLID,
|
||
DEELSRTCONTROLE_STATUS
|
||
)
|
||
AS
|
||
SELECT cl.ins_deel_key,
|
||
cl.alg_plaatsaanduiding,
|
||
cl.ins_deel_omschrijving,
|
||
cl.ins_deel_opmerking,
|
||
cl.fac_usrdata_omschr,
|
||
TRUNC(last_insp.ins_deelsrtcontrole_datum) laatste_insp,
|
||
insp_result.ins_controlemode_oms result_laatste_insp,
|
||
TRUNC(cl.ins_deelsrtcontrole_datum),
|
||
cl.perslid,
|
||
cl.deelsrtcontrole_status
|
||
FROM (SELECT lod.ins_deel_key,
|
||
og.alg_plaatsaanduiding,
|
||
ins_deel_omschrijving,
|
||
ins_deel_opmerking,
|
||
fac_usrdata_omschr,
|
||
dc.ins_deelsrtcontrole_datum,
|
||
(SELECT icm.ins_controlemode_oms
|
||
FROM ins_controlemode icm
|
||
WHERE icm.ins_controlemode_key = dc.ins_controlemode_key)
|
||
controlemode_omschrijving,
|
||
(SELECT prs_perslid_naam_full
|
||
FROM prs_v_perslid_fullnames_all pf
|
||
WHERE pf.prs_perslid_key = dc.prs_perslid_key)
|
||
perslid,
|
||
(SELECT lcl.x ('fc2l.fac_code2label_label',
|
||
fc2l.fac_code2label_key,
|
||
fc2l.fac_code2label_label)
|
||
FROM fac_code2label fc2l
|
||
WHERE fc2l.fac_code2label_domein = 'controle'
|
||
AND fc2l.fac_code2label_code =
|
||
dc.ins_deelsrtcontrole_status)
|
||
deelsrtcontrole_status
|
||
FROM ins_deel lod,
|
||
ins_deelsrtcontrole dc,
|
||
alg_v_allonrgoed_gegevens og,
|
||
(SELECT fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
km.ins_deel_key
|
||
FROM ins_kenmerkdeel km, fac_usrdata ud
|
||
WHERE km.ins_kenmerk_key = 7025
|
||
AND km.ins_kenmerkdeel_waarde = ud.fac_usrdata_key
|
||
AND fac_usrtab_key = 526) criticaliteit
|
||
WHERE ins_srtdeel_key IN (7765, 7685)
|
||
AND ins_deel_verwijder IS NULL
|
||
AND criticaliteit.ins_deel_key = dc.ins_deel_key
|
||
AND ins_deel_actief = 1
|
||
AND dc.ins_deel_key = lod.ins_deel_key
|
||
-- AND fac_usrdata_code IN ('A', 'B') NOUR#72498 Naast de criticaliteit A en B wil men nu ook criticaliteit C, D en N.v.t. toegevoegd hebben
|
||
AND lod.ins_alg_ruimte_key = og.alg_ruimte_key
|
||
AND dc.ins_deelsrtcontrole_status = 6 -- alle voltooide taken
|
||
AND ins_deelsrtcontrole_datum >= ADD_MONTHS (SYSDATE, -1)
|
||
AND ins_deelsrtcontrole_datum <= SYSDATE
|
||
-- 9457 P2, 9458 P3A, 14260 B, 9459 P4, 9460 P5A, 14269 P5C, 9456 P12
|
||
AND ( ( og.alg_gebouw_key IN (9457,
|
||
9458,
|
||
14260,
|
||
9459,
|
||
9460)
|
||
AND og.alg_verdieping_code IN ('0', '1'))
|
||
OR ( og.alg_gebouw_key = 14269
|
||
AND og.alg_ruimte_key = 14277)
|
||
OR ( og.alg_gebouw_key = 9456
|
||
AND og.alg_ruimte_key = 13895)
|
||
OR og.alg_gebouw_key = 9539 )
|
||
UNION ALL
|
||
SELECT d.ins_deel_key,
|
||
d.alg_plaatsaanduiding,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
fac_usrdata_omschr,
|
||
fac.nextcyclusdatedeel (d.ins_deel_key,
|
||
d.ins_srtcontrole_key,
|
||
1),
|
||
''
|
||
AS ctrmode,
|
||
prs_perslid_naam_full,
|
||
''
|
||
AS status
|
||
FROM (SELECT sc.ins_srtcontrole_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
sc.ins_srtcontrole_periode,
|
||
sd.ins_srtdeel_omschrijving,
|
||
pfa.prs_perslid_key,
|
||
pfa.prs_perslid_naam_full,
|
||
criticaliteit.fac_usrdata_omschr,
|
||
og.alg_plaatsaanduiding
|
||
FROM ins_srtcontrole sc,
|
||
ins_discipline di,
|
||
ins_v_aanwezigsrtgroep sg,
|
||
ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigdeel d,
|
||
alg_v_allonrgoed_gegevens og,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pfa,
|
||
(SELECT fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
km.ins_deel_key
|
||
FROM ins_kenmerkdeel km, fac_usrdata ud
|
||
WHERE km.ins_kenmerk_key = 7025
|
||
AND km.ins_kenmerkdeel_waarde =
|
||
ud.fac_usrdata_key
|
||
AND fac_usrtab_key = 526) criticaliteit
|
||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
|
||
AND di.ins_discipline_key = sg.ins_discipline_key
|
||
AND COALESCE (d.ins_deel_vervaldatum, SYSDATE + 1) >=
|
||
SYSDATE
|
||
AND p.prs_perslid_key = d.prs_perslid_key_beh
|
||
AND d.ins_alg_ruimte_key = og.alg_ruimte_key
|
||
AND ( ( og.alg_gebouw_key IN (9457,
|
||
9458,
|
||
14260,
|
||
9459,
|
||
9460)
|
||
AND og.alg_verdieping_code IN ('0', '1'))
|
||
OR ( og.alg_gebouw_key = 14269
|
||
AND og.alg_ruimte_key = 14277)
|
||
OR ( og.alg_gebouw_key = 9456
|
||
AND og.alg_ruimte_key = 13895)
|
||
OR og.alg_gebouw_key = 9539 )
|
||
AND pfa.prs_perslid_key = d.prs_perslid_key_beh
|
||
AND criticaliteit.ins_deel_key = d.ins_deel_key
|
||
-- AND criticaliteit.fac_usrdata_code IN ('A', 'B') NOUR#72498 Naast de criticaliteit A en B wil men nu ook criticaliteit C, D en N.v.t. toegevoegd hebben
|
||
AND d.ins_srtdeel_key IN (7765, 7685)) d
|
||
LEFT OUTER JOIN ins_srtcontroledl_xcp xcp
|
||
ON xcp.ins_deel_key = d.ins_deel_key
|
||
AND xcp.ins_srtcontrole_key = d.ins_srtcontrole_key
|
||
WHERE COALESCE (xcp.ins_srtcontroledl_xcp_periode,
|
||
d.ins_srtcontrole_periode) >
|
||
0
|
||
AND fac.nextcyclusdatedeel (d.ins_deel_key,
|
||
d.ins_srtcontrole_key,
|
||
1) <=
|
||
ADD_MONTHS (SYSDATE, 1)
|
||
--- AND fac.nextcyclusdatedeel (d.ins_deel_key,d.ins_srtcontrole_key, 1) >= SYSDATE
|
||
AND d.ins_deel_key NOT IN --- als een inspectie al is ingepland weegt dat zwaarder dan de oorspronkelijke datum, object komt op de lijst als plandatum komende maand is
|
||
(SELECT ins_deel_key
|
||
FROM ins_v_udr_deelinspect ins, ins_deel lod
|
||
WHERE ins_deelsrtcontrole_plandatum
|
||
IS NOT NULL
|
||
AND ins_deelsrtcontrole_datum IS NULL
|
||
AND lod.ins_deel_key = ins.deel_key
|
||
AND lod.ins_srtdeel_key IN (7765, 7685)
|
||
AND lod.ins_deel_verwijder IS NULL)
|
||
UNION ALL
|
||
SELECT lod.ins_deel_key,
|
||
og.alg_plaatsaanduiding,
|
||
lod.ins_deel_omschrijving,
|
||
lod.ins_deel_opmerking,
|
||
fac_usrdata_omschr,
|
||
ins_deelsrtcontrole_plandatum,
|
||
'' ctrmode,
|
||
perslid,
|
||
deelsrtcontrole_status
|
||
FROM ins_v_udr_deelinspect ins,
|
||
ins_deel lod,
|
||
alg_v_allonrgoed_gegevens og,
|
||
(SELECT fac_usrdata_code,
|
||
fac_usrdata_omschr,
|
||
km.ins_deel_key
|
||
FROM ins_kenmerkdeel km, fac_usrdata ud
|
||
WHERE km.ins_kenmerk_key = 7025
|
||
AND km.ins_kenmerkdeel_waarde = ud.fac_usrdata_key
|
||
AND fac_usrtab_key = 526) criticaliteit
|
||
WHERE ins_deelsrtcontrole_plandatum IS NOT NULL
|
||
AND ins_deelsrtcontrole_datum IS NULL
|
||
AND lod.ins_alg_ruimte_key = og.alg_ruimte_key
|
||
AND criticaliteit.ins_deel_key = lod.ins_deel_key
|
||
-- AND fac_usrdata_code IN ('A', 'B') NOUR#72498 Naast de criticaliteit A en B wil men nu ook criticaliteit C, D en N.v.t. toegevoegd hebben
|
||
AND lod.ins_deel_key = ins.deel_key
|
||
AND lod.ins_srtdeel_key IN (7765, 7685) --- LOD's
|
||
AND lod.ins_deel_verwijder IS NULL
|
||
AND actief = 'ja'
|
||
AND ( ( og.alg_gebouw_key IN (9457,
|
||
9458,
|
||
14260,
|
||
9459,
|
||
9460)
|
||
AND og.alg_verdieping_code IN ('0', '1'))
|
||
OR ( og.alg_gebouw_key = 14269
|
||
AND og.alg_ruimte_key = 14277)
|
||
OR ( og.alg_gebouw_key = 9456
|
||
AND og.alg_ruimte_key = 13895)
|
||
OR og.alg_gebouw_key = 9539 )
|
||
AND ins_deelsrtcontrole_plandatum <=
|
||
ADD_MONTHS (SYSDATE, 1)-- AND ins_deelsrtcontrole_plandatum >= SYSDATE
|
||
) cl,
|
||
( SELECT MAX (sc.ins_deelsrtcontrole_datum)
|
||
ins_deelsrtcontrole_datum,
|
||
sc.ins_deel_key,
|
||
MAX (sc.ins_deelsrtcontrole_key)
|
||
ins_deelsrtcontrole_key
|
||
FROM ins_deelsrtcontrole sc
|
||
WHERE sc.ins_deelsrtcontrole_status = 6
|
||
GROUP BY sc.ins_deel_key) last_insp,
|
||
(SELECT sc.ins_deelsrtcontrole_key, cm.ins_controlemode_oms
|
||
FROM ins_deelsrtcontrole sc, ins_controlemode cm
|
||
WHERE sc.ins_controlemode_key = cm.ins_controlemode_key)
|
||
insp_result
|
||
WHERE cl.ins_deel_key = last_insp.ins_deel_key(+)
|
||
AND last_insp.ins_deelsrtcontrole_key =
|
||
insp_result.ins_deelsrtcontrole_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RUIMTES
|
||
(
|
||
ruimte_key,
|
||
ruimte_omschrijving,
|
||
ruimte_verwijder
|
||
)
|
||
AS
|
||
SELECT alg_ruimte_key,
|
||
alg_ruimte_aanduiding || ' - ' || alg_ruimte_omschrijving,
|
||
alg_ruimte_verwijder
|
||
FROM alg_v_ruimte_gegevens_all
|
||
WHERE alg_locatie_code IN ('SSCA', 'AMB')
|
||
AND (alg_srtruimte_key IN (1021, 962, 963, 1029, 464, 1041, 1028)
|
||
OR alg_srtruimte_key IS NULL);
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_TRAINING
|
||
(
|
||
TRAINING,
|
||
MEDEWERKER,
|
||
AFDELING,
|
||
VERANTW_COORDINATOR,
|
||
OMSCHR_TRAINING,
|
||
REULTAAT,
|
||
TOELICHTING_RESULTAAT,
|
||
DATUM_CERTIFICERING,
|
||
GEPL_DATUM_CERTIFICERING,
|
||
STATUS_CERTIFICERING
|
||
)
|
||
AS
|
||
(SELECT ins_srtdeel_upper training,
|
||
alg_plaatsaanduiding medewerker,
|
||
prs_afdeling_omschrijving afdeling,
|
||
beheerder verantw_coordinator,
|
||
srtcontrole_omschrijving omschr_training,
|
||
controlemode_omschrijving reultaat,
|
||
ins_deelsrtcontrole_opmerking toelichting_resultaat,
|
||
ins_deelsrtcontrole_datum datum_certificering,
|
||
ins_deelsrtcontrole_plandatum gepl_datum_certificering,
|
||
deelsrtcontrole_status status_certificering
|
||
FROM ins_v_deel_gegevens o, ins_v_udr_deelinspect c
|
||
WHERE ins_srtgroep_upper = 'TRAINING EN OPLEIDING'
|
||
AND o.ins_deel_key = c.deel_key(+));
|
||
|
||
-- Tbv van de aanvraag van (tijdelijke) badges is het nodig om een onderscheid te kunnen maken tussen medewerkers intern (incl. Teijin) en contractors
|
||
CREATE OR REPLACE VIEW NOUR_V_CONTRACTORS
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
NAAM,
|
||
PRS_PERSLID_VERWIJDER
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_string || ' / ' || fac_usrdata_code,
|
||
p.prs_perslid_verwijder
|
||
FROM NOUR_V_PERSLID p, PRS_KENMERKLINK kl, FAC_USRDATA ud
|
||
WHERE prs_link_key = prs_perslid_key
|
||
AND prs_kenmerk_key = 1544
|
||
AND fac_usrtab_key = 529
|
||
AND prs_kenmerklink_waarde = fac_usrdata_key
|
||
AND ud.fac_usrdata_verwijder is null
|
||
AND (fac_usrdata_vervaldatum > sysdate or fac_usrdata_vervaldatum is null);
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_PERSLID_INTERN
|
||
(
|
||
prs_perslid_key,
|
||
naam,
|
||
prs_perslid_verwijder
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_string || ' / ' || fac_usrdata_code,
|
||
p.prs_perslid_verwijder
|
||
FROM NOUR_V_PERSLID p, PRS_KENMERKLINK kl, FAC_USRDATA ud
|
||
WHERE prs_link_key = prs_perslid_key
|
||
AND prs_kenmerk_key = 1520
|
||
AND fac_usrtab_key = 527
|
||
AND prs_kenmerklink_waarde = fac_usrdata_key
|
||
AND ud.fac_usrdata_verwijder is null
|
||
AND (fac_usrdata_vervaldatum > sysdate or fac_usrdata_vervaldatum is null);
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_AANVR_TBADGE
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
NAAM,
|
||
PRS_PERSLID_VERWIJDER
|
||
)
|
||
AS
|
||
(SELECT "PRS_PERSLID_KEY", "NAAM", "PRS_PERSLID_VERWIJDER"
|
||
FROM NOUR_V_PERSLID_INTERN
|
||
UNION ALL
|
||
SELECT "PRS_PERSLID_KEY", "NAAM", "PRS_PERSLID_VERWIJDER"
|
||
FROM NOUR_V_CONTRACTORS);
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_TBADGES
|
||
(
|
||
LOCATIE,
|
||
BADGEHOUDER_KEY,
|
||
BADGEHOUDER,
|
||
INT_EXT,
|
||
COMPANY,
|
||
PROJECT,
|
||
WERKZAAM_VOOR,
|
||
BADGE_NR,
|
||
SOORT_BADGE,
|
||
BLOKKADE_DATUM,
|
||
AANVRAGER,
|
||
AANVRAGER_KEY,
|
||
MELDING_KEY,
|
||
HTML_MELDINGNR,
|
||
MELDING,
|
||
STATUS_MELDING,
|
||
AANVRAAGDATUM,
|
||
AANVRAAG_GEREED,
|
||
GEVRAAGDE_EINDDAT
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
DECODE (SUBSTR (mdw.badge_nr, 1, 2),
|
||
'30', 'Amsterdam',
|
||
'13', 'Arnhem',
|
||
'Locatie onbekend')
|
||
locatie,
|
||
mdw.badgehouder_prskey,
|
||
mdw.badgehouder,
|
||
mdw.int_ext,
|
||
mdw.comp,
|
||
mdw.project,
|
||
mdw.werkzaam_voor,
|
||
mdw.badge_nr,
|
||
soort_badge,
|
||
mdw.blokkade_datum,
|
||
badges.aanvrager,
|
||
badges.aanvrager_key,
|
||
badges.mld_melding_key,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("'
|
||
|| 'appl/mld/mld_melding.asp?mld_key='
|
||
|| badges.mld_melding_key
|
||
|| '")''>'
|
||
|| HTF.escape_sc (badges.mld_melding_key)
|
||
|| '</a>',
|
||
badges.mld_stdmelding_omschrijving,
|
||
badges.mld_statuses_omschrijving,
|
||
badges.mld_melding_datum,
|
||
badges.mld_melding_einddatum,
|
||
badges.nieuwe_einddatum
|
||
FROM (SELECT prs.prs_perslid_key
|
||
badgehouder_prskey,
|
||
prs.prs_perslid_naam_full
|
||
badgehouder,
|
||
int_ext.int_ext,
|
||
COALESCE (company_contr.company, company_intern.company)
|
||
comp,
|
||
COALESCE (proj.project, proj_cntr.project)
|
||
project,
|
||
werkz.werkzaam_voor,
|
||
badge.soort_badge,
|
||
badge_nr.badge_nr,
|
||
FAC.SAFE_TO_DATE (blokkade_datum.blokkade_datum,
|
||
'dd-mm-yyyy')
|
||
blokkade_datum
|
||
FROM prs_v_perslid_fullnames_all prs,
|
||
(SELECT prs_link_key, ud.fac_usrdata_omschr int_ext
|
||
FROM prs_kenmerklink kl, fac_usrdata ud, fac_usrtab ut
|
||
WHERE kl.prs_kenmerklink_niveau = 'P'
|
||
AND kl.prs_kenmerklink_waarde = ud.fac_usrdata_key
|
||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||
AND ut.fac_usrtab_key = 471
|
||
AND kl.prs_kenmerk_key = 1560) int_ext,
|
||
(SELECT prs_link_key, ud.fac_usrdata_omschr soort_badge
|
||
FROM prs_kenmerklink kl, fac_usrdata ud, fac_usrtab ut
|
||
WHERE kl.prs_kenmerklink_niveau = 'P'
|
||
AND kl.prs_kenmerklink_waarde = ud.fac_usrdata_key
|
||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||
AND ut.fac_usrtab_key = 61
|
||
AND kl.prs_kenmerk_key = 1001) badge,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde badge_nr
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerklink_niveau = 'P'
|
||
AND kl.prs_kenmerk_key = 1000) badge_nr,
|
||
(SELECT prs_link_key,
|
||
prs_kenmerklink_waarde blokkade_datum
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerklink_niveau = 'P'
|
||
AND kl.prs_kenmerk_key = 1360) blokkade_datum,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde company
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerklink_niveau = 'P'
|
||
AND kl.prs_kenmerk_key = 1543) company_contr,
|
||
(SELECT prs_link_key, ud.fac_usrdata_code company
|
||
FROM prs_kenmerklink kl, fac_usrdata ud
|
||
WHERE kl.prs_kenmerklink_niveau = 'P'
|
||
AND kl.prs_kenmerk_key = 1520
|
||
AND ud.fac_usrtab_key = 527
|
||
AND ud.fac_usrdata_key = prs_kenmerklink_waarde)
|
||
company_intern,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde project
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerklink_niveau = 'P'
|
||
AND kl.prs_kenmerk_key = 1562) proj,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde project
|
||
FROM prs_kenmerklink kl
|
||
WHERE kl.prs_kenmerklink_niveau = 'P'
|
||
AND kl.prs_kenmerk_key = 1580) proj_cntr,
|
||
(SELECT prs_link_key, ud.fac_usrdata_code werkzaam_voor
|
||
FROM prs_kenmerklink kl, fac_usrdata ud
|
||
WHERE kl.prs_kenmerklink_niveau = 'P'
|
||
AND kl.prs_kenmerk_key = 1544
|
||
AND ud.fac_usrtab_key = 529
|
||
AND ud.fac_usrdata_key = prs_kenmerklink_waarde)
|
||
werkz
|
||
WHERE prs.prs_perslid_key = company_intern.prs_link_key(+)
|
||
AND prs.prs_perslid_key = company_contr.prs_link_key(+)
|
||
AND prs.prs_perslid_key = blokkade_datum.prs_link_key(+)
|
||
AND prs.prs_perslid_key = badge.prs_link_key(+)
|
||
AND prs.prs_perslid_key = werkz.prs_link_key(+)
|
||
AND prs.prs_perslid_key = int_ext.prs_link_key(+)
|
||
AND prs.prs_perslid_key = badge_nr.prs_link_key(+)
|
||
AND prs.prs_perslid_key = proj.prs_link_key(+)
|
||
AND prs.prs_perslid_key = proj_cntr.prs_link_key(+)
|
||
AND prs.PRS_PERSLID_VERWIJDER IS NULL) mdw,
|
||
( SELECT DISTINCT melding_voor,
|
||
mld_melding_key,
|
||
mld_stdmelding_omschrijving,
|
||
mld_statuses_omschrijving,
|
||
mld_melding_datum,
|
||
mld_melding_einddatum,
|
||
aanvrager,
|
||
aanvrager_key,
|
||
nieuwe_einddatum
|
||
FROM ( SELECT melding_voor,
|
||
MAX (mld_melding_key) max_mld_melding_key
|
||
FROM ((SELECT m.mld_melding_key,
|
||
COALESCE (
|
||
contractor.contractor_perslid_key,
|
||
mdw_intern.int_mdw_perslid_key) melding_voor
|
||
FROM mld_melding m,
|
||
(SELECT mld_melding_key
|
||
contractor_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
contractor_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1566 -- contractor
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) contractor,
|
||
(SELECT mld_melding_key
|
||
int_mdw_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
int_mdw_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1564 -- interne medewerker
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) mdw_intern
|
||
WHERE m.mld_stdmelding_key = 1761 -- badges >> aanvraag badge
|
||
AND m.mld_melding_key =
|
||
contractor_melding_key(+)
|
||
AND m.mld_melding_key =
|
||
int_mdw_melding_key(+))
|
||
UNION ALL
|
||
(SELECT m.mld_melding_key,
|
||
medewerker.mdw_perslid_key melding_voor
|
||
FROM mld_melding m,
|
||
(SELECT mld_melding_key
|
||
mdw_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
mdw_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1581 -- medewerker
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) medewerker
|
||
WHERE m.mld_stdmelding_key = 1765 -- badges >> verlengen badge
|
||
AND m.mld_melding_key =
|
||
mdw_melding_key(+))
|
||
UNION ALL
|
||
(SELECT m.mld_melding_key,
|
||
COALESCE (medewerker.mdw_perslid_key,
|
||
contractor.contr_perslid_key) melding_voor
|
||
FROM mld_melding m,
|
||
(SELECT mld_melding_key
|
||
mdw_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
mdw_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1521 -- medewerker
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) medewerker,
|
||
(SELECT mld_melding_key
|
||
contr_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
contr_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1481 -- contractor
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) contractor
|
||
WHERE m.mld_stdmelding_key = 1003 -- indienst met tijdelijke badge
|
||
AND m.mld_melding_key =
|
||
mdw_melding_key(+)
|
||
AND m.mld_melding_key =
|
||
contr_melding_key(+))
|
||
UNION ALL
|
||
(SELECT m.mld_melding_key,
|
||
COALESCE (contractor.contr_perslid_key,
|
||
medewerker.mdw_perslid_key) melding_voor
|
||
FROM mld_melding m,
|
||
(SELECT mld_melding_key
|
||
mdw_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
mdw_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 313 -- medewerker
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) medewerker,
|
||
(SELECT mld_melding_key
|
||
contr_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
contr_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1441 -- contractor
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) contractor
|
||
WHERE m.mld_stdmelding_key = 981 -- tijdelijke badge - aanvraag tijdelijke badge
|
||
AND m.mld_melding_key =
|
||
mdw_melding_key(+)
|
||
AND m.mld_melding_key =
|
||
contr_melding_key(+))
|
||
UNION ALL
|
||
(SELECT m.mld_melding_key,
|
||
COALESCE (contractor.contr_perslid_key,
|
||
medewerker.mdw_perslid_key) melding_voor
|
||
FROM mld_melding m,
|
||
(SELECT mld_melding_key
|
||
mdw_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
mdw_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 313 -- medewerker
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) medewerker,
|
||
(SELECT mld_melding_key
|
||
contr_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
contr_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1441 -- contractor
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) contractor
|
||
WHERE m.mld_stdmelding_key = 981 -- tijdelijke badge - aanvraag tijdelijke badge
|
||
AND m.mld_melding_key =
|
||
mdw_melding_key(+)
|
||
AND m.mld_melding_key =
|
||
contr_melding_key(+))
|
||
UNION ALL
|
||
(SELECT m.mld_melding_key,
|
||
COALESCE (contractor.contr_perslid_key,
|
||
medewerker.mdw_perslid_key) melding_voor
|
||
FROM mld_melding m,
|
||
(SELECT mld_melding_key
|
||
mdw_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
mdw_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 313 -- medewerker
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) medewerker,
|
||
(SELECT mld_melding_key
|
||
contr_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
contr_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1441 -- contractor
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) contractor
|
||
WHERE m.mld_stdmelding_key = 984 -- tijdelijke badge - verlengen tijdelijke badge
|
||
AND m.mld_melding_key =
|
||
mdw_melding_key(+)
|
||
AND m.mld_melding_key =
|
||
contr_melding_key(+))
|
||
UNION ALL
|
||
(SELECT m.mld_melding_key,
|
||
medewerker.mdw_perslid_key melding_voor
|
||
FROM mld_melding m,
|
||
(SELECT mld_melding_key
|
||
mdw_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
mdw_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 341 -- medewerker
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) medewerker
|
||
WHERE m.mld_stdmelding_key = 1006 -- uit dienst met tijdelijke badge
|
||
AND m.mld_melding_key =
|
||
mdw_melding_key(+))
|
||
UNION ALL
|
||
(SELECT m.mld_melding_key,
|
||
medewerker.mdw_perslid_key melding_voor
|
||
FROM mld_melding m,
|
||
(SELECT mld_melding_key
|
||
mdw_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
mdw_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1621 -- medewerker
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) medewerker
|
||
WHERE m.mld_stdmelding_key = 1764 -- uit dienst met tijdelijke badge
|
||
AND m.mld_melding_key =
|
||
mdw_melding_key(+))
|
||
UNION ALL
|
||
(SELECT m.mld_melding_key,
|
||
COALESCE (contractor.contr_perslid_key,
|
||
medewerker.mdw_perslid_key) melding_voor
|
||
FROM mld_melding m,
|
||
(SELECT mld_melding_key
|
||
mdw_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
mdw_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 313 -- medewerker
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) medewerker,
|
||
(SELECT mld_melding_key
|
||
contr_melding_key,
|
||
mld_kenmerkmelding_waarde
|
||
contr_perslid_key
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1441 -- contractor
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL) contractor
|
||
WHERE m.mld_stdmelding_key = 1021 -- tijdelijke badge - innemen tijdelijke badge
|
||
AND m.mld_melding_key =
|
||
mdw_melding_key(+)
|
||
AND m.mld_melding_key =
|
||
contr_melding_key(+)))
|
||
laatste_aanvraag
|
||
GROUP BY melding_voor
|
||
ORDER BY melding_voor) max_aanvraag,
|
||
(SELECT sm.MLD_STDMELDING_OMSCHRIJVING,
|
||
m.mld_melding_key,
|
||
s.mld_statuses_omschrijving,
|
||
m.mld_melding_datum,
|
||
mld_melding_einddatum,
|
||
aanvr.prs_perslid_naam_full aanvrager,
|
||
aanvr.prs_perslid_key aanvrager_key,
|
||
einddatum.nieuwe_einddat nieuwe_einddatum
|
||
FROM mld_melding m,
|
||
mld_statuses s,
|
||
prs_v_perslid_fullnames_all aanvr,
|
||
mld_stdmelding sm,
|
||
((SELECT mld_melding_key einddat_melding_key,
|
||
mld_kenmerkmelding_waarde nieuwe_einddat
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1561 -- nieuwe einddatum
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL)
|
||
UNION ALL
|
||
(SELECT mld_melding_key einddat_melding_key,
|
||
mld_kenmerkmelding_waarde einddat
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 305 -- einddatum
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL)
|
||
UNION ALL
|
||
(SELECT mld_melding_key einddat_melding_key,
|
||
mld_kenmerkmelding_waarde einddat
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 304 -- einddatum
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL)
|
||
UNION ALL
|
||
(SELECT mld_melding_key einddat_melding_key,
|
||
mld_kenmerkmelding_waarde einddat
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 304 -- einddatum
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL)
|
||
UNION ALL
|
||
(SELECT mld_melding_key einddat_melding_key,
|
||
mld_kenmerkmelding_waarde einddat
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 320 -- einddatum
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL)
|
||
UNION ALL
|
||
(SELECT mld_melding_key einddat_melding_key,
|
||
mld_kenmerkmelding_waarde einddat
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 361 -- einddatum
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL)
|
||
UNION ALL
|
||
(SELECT mld_melding_key einddat_melding_key,
|
||
mld_kenmerkmelding_waarde einddat
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 1562 -- einddatum
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL)
|
||
UNION ALL
|
||
(SELECT mld_melding_key einddat_melding_key,
|
||
mld_kenmerkmelding_waarde einddat
|
||
FROM mld_kenmerkmelding km
|
||
WHERE km.mld_kenmerk_key = 364 -- einddatum
|
||
AND km.mld_kenmerkmelding_verwijder
|
||
IS NULL)) einddatum
|
||
WHERE m.mld_melding_status = s.mld_statuses_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND m.MLD_MELDING_KEY =
|
||
einddatum.einddat_melding_key(+)
|
||
AND m.prs_perslid_key_voor = aanvr.prs_perslid_key)
|
||
details
|
||
WHERE max_aanvraag.max_mld_melding_key = details.mld_melding_key
|
||
ORDER BY max_aanvraag.melding_voor) badges
|
||
WHERE badgehouder_prskey = badges.melding_voor(+)
|
||
AND UPPER (soort_badge) = 'TIJDELIJKE BADGE'
|
||
ORDER BY mdw.badge_nr, mdw.badgehouder_prskey;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_NOTI_CTR_LOD
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY,
|
||
xemail,
|
||
xmobile
|
||
)
|
||
AS
|
||
SELECT fac_srtnotificatie_code
|
||
CODE,
|
||
7520
|
||
SENDER, --- 7520 Facilitor
|
||
NULL
|
||
RECEIVER,
|
||
'Informatie cLODs'
|
||
text,
|
||
(SELECT fac_usrrap_key
|
||
FROM fac_usrrap
|
||
WHERE UPPER (fac_usrrap_view_name) = 'NOUR_V_RAP_CTR_LOD') ---- refkey: is het rapport
|
||
key,
|
||
NULL
|
||
xkey,
|
||
'ANDRE.MIDDELBOS@NOURYON.COM;ASTRID.KRAMER@NOURYON.COM;BERT.EMMING@NOURYON.COM;THEO.VONK@NOURYON.COM;DAAN.JACOBS@NOURYON.COM'
|
||
xemail,
|
||
NULL
|
||
xmobile
|
||
FROM fac_srtnotificatie sn
|
||
WHERE sn.fac_srtnotificatie_code = 'CUST07'
|
||
AND TO_CHAR (SYSDATE, 'dd') = '01' -- Elke 1e dag van de maand
|
||
AND TO_CHAR (SYSDATE, 'mm') IN ('01',
|
||
'02',
|
||
'03',
|
||
'04',
|
||
'05',
|
||
'06',
|
||
'07',
|
||
'08',
|
||
'09',
|
||
'10',
|
||
'11',
|
||
'12');
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_PERSLID_BADGE_INT
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
NAAM,
|
||
PRS_PERSLID_VERWIJDER
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_string || ' / ' || fac_usrdata_code,
|
||
p.prs_perslid_verwijder
|
||
FROM NOUR_V_PERSLID p, PRS_KENMERKLINK kl, FAC_USRDATA ud
|
||
WHERE prs_link_key = prs_perslid_key
|
||
AND prs_kenmerk_key = 1560
|
||
AND fac_usrtab_key = 471
|
||
AND ud.FAC_USRDATA_KEY in (4381, 1747,4382,4377)
|
||
AND prs_kenmerklink_waarde = fac_usrdata_key
|
||
AND ( fac_usrdata_vervaldatum > SYSDATE
|
||
OR fac_usrdata_vervaldatum IS NULL);
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_PERSLID_BADGE_EXT
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
NAAM,
|
||
PRS_PERSLID_VERWIJDER
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_string || ' / ' || fac_usrdata_code,
|
||
p.prs_perslid_verwijder
|
||
FROM NOUR_V_PERSLID p, PRS_KENMERKLINK kl, FAC_USRDATA ud
|
||
WHERE prs_link_key = prs_perslid_key
|
||
AND prs_kenmerk_key = 1560
|
||
AND fac_usrtab_key = 471
|
||
AND ud.FAC_USRDATA_KEY = 1746
|
||
AND prs_kenmerklink_waarde = fac_usrdata_key
|
||
AND ( fac_usrdata_vervaldatum > SYSDATE
|
||
OR fac_usrdata_vervaldatum IS NULL);
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_CONTACTPERSONEN
|
||
(
|
||
HIDE_F_SORT,
|
||
FCLT_X_NAAM,
|
||
HTML_NAAM,
|
||
FCLT_F_BEDRIJF,
|
||
FCLT_F_SOORT,
|
||
KENTEKEN,
|
||
LEGITIMATIE,
|
||
DVD_DATUM,
|
||
TAALTEST_DATUM,
|
||
TAALTEST_RESULTAAT
|
||
)
|
||
AS
|
||
SELECT naam || prs_bedrijf_naam hide_f_sort,
|
||
naam fclt_x_naam,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("appl/prs/prs_contactpersoon.asp?mode=viewUpdate&'
|
||
|| 'key='
|
||
|| prs_contactpersoon_key
|
||
|| '")''>'
|
||
|| HTF.escape_sc (naam)
|
||
|| '</a>' html_naam,
|
||
prs_bedrijf_naam fclt_f_bedrijf,
|
||
soort fclt_f_soort,
|
||
kenteken,
|
||
legitimatie,
|
||
dvd_datum,
|
||
taaltest_datum,
|
||
taaltest_resultaat
|
||
FROM (SELECT prs_contactpersoon_key,
|
||
prs_contactpersoon_naam
|
||
|| DECODE (
|
||
prs_contactpersoon_voorletters
|
||
|| prs_contactpersoon_tussenv
|
||
|| prs_contactpersoon_voornaam,
|
||
NULL, '',
|
||
', '
|
||
|| DECODE (prs_contactpersoon_voorletters,
|
||
NULL, '',
|
||
prs_contactpersoon_voorletters)
|
||
|| DECODE (prs_contactpersoon_tussenv,
|
||
NULL, '',
|
||
' ' || prs_contactpersoon_tussenv)
|
||
|| DECODE (
|
||
prs_contactpersoon_voornaam,
|
||
NULL, '',
|
||
' (' || prs_contactpersoon_voornaam || ')'))
|
||
naam,
|
||
b.prs_bedrijf_key
|
||
prs_bedrijf_key,
|
||
prs_bedrijf_naam,
|
||
soort.fac_usrdata_omschr
|
||
soort,
|
||
kenteken.prs_kenmerklink_waarde
|
||
kenteken,
|
||
legitimatie.prs_kenmerklink_waarde
|
||
legitimatie,
|
||
dvd.prs_kenmerklink_waarde
|
||
dvd_datum,
|
||
taaldatum.prs_kenmerklink_waarde
|
||
taaltest_datum,
|
||
taalres.fac_usrdata_omschr
|
||
taaltest_resultaat
|
||
FROM prs_contactpersoon cp,
|
||
prs_v_aanwezigbedrijf b,
|
||
(SELECT prs_link_key, ud.fac_usrdata_omschr
|
||
FROM prs_kenmerk k, prs_kenmerklink kl, fac_usrdata ud
|
||
WHERE prs_kenmerk_niveau = 'C'
|
||
AND prs_kenmerk_verwijder IS NULL
|
||
AND prs_kenmerk_upper = 'SOORT BEZOEKER'
|
||
AND prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_kenmerk_key = k.prs_kenmerk_key
|
||
AND ud.fac_usrdata_key =
|
||
fac.safe_to_number (prs_kenmerklink_waarde))
|
||
soort,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerk k, prs_kenmerklink kl
|
||
WHERE prs_kenmerk_niveau = 'C'
|
||
AND prs_kenmerk_verwijder IS NULL
|
||
AND prs_kenmerk_upper = 'KENTEKEN'
|
||
AND prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_kenmerk_key = k.prs_kenmerk_key)
|
||
kenteken,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerk k, prs_kenmerklink kl
|
||
WHERE prs_kenmerk_niveau = 'C'
|
||
AND prs_kenmerk_verwijder IS NULL
|
||
AND prs_kenmerk_upper = 'LEGITIMATIE NR'
|
||
AND prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_kenmerk_key = k.prs_kenmerk_key)
|
||
legitimatie,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerk k, prs_kenmerklink kl
|
||
WHERE prs_kenmerk_niveau = 'C'
|
||
AND prs_kenmerk_verwijder IS NULL
|
||
AND prs_kenmerk_upper = 'VEILIGHEIDS-DVD'
|
||
AND prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_kenmerk_key = k.prs_kenmerk_key) dvd,
|
||
(SELECT prs_link_key, prs_kenmerklink_waarde
|
||
FROM prs_kenmerk k, prs_kenmerklink kl
|
||
WHERE prs_kenmerk_niveau = 'C'
|
||
AND prs_kenmerk_verwijder IS NULL
|
||
AND prs_kenmerk_upper = 'TAALTEST DATUM'
|
||
AND prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_kenmerk_key = k.prs_kenmerk_key)
|
||
taaldatum,
|
||
(SELECT prs_link_key,
|
||
ud.fac_usrdata_omschr,
|
||
ud.fac_usrtab_key
|
||
FROM prs_kenmerk k, prs_kenmerklink kl, fac_usrdata ud
|
||
WHERE prs_kenmerk_niveau = 'C'
|
||
AND prs_kenmerk_verwijder IS NULL
|
||
AND prs_kenmerk_upper = 'TAALTEST RESULTAAT'
|
||
AND prs_kenmerklink_verwijder IS NULL
|
||
AND kl.prs_kenmerk_key = k.prs_kenmerk_key
|
||
AND ud.fac_usrdata_key =
|
||
fac.safe_to_number (prs_kenmerklink_waarde))
|
||
taalres
|
||
WHERE cp.prs_contactpersoon_verwijder IS NULL
|
||
AND b.prs_bedrijf_key = cp.prs_bedrijf_key
|
||
AND soort.prs_link_key(+) = cp.prs_contactpersoon_key
|
||
AND kenteken.prs_link_key(+) = cp.prs_contactpersoon_key
|
||
AND legitimatie.prs_link_key(+) =
|
||
cp.prs_contactpersoon_key
|
||
AND dvd.prs_link_key(+) = cp.prs_contactpersoon_key
|
||
AND taaldatum.prs_link_key(+) = cp.prs_contactpersoon_key
|
||
AND taalres.prs_link_key(+) = cp.prs_contactpersoon_key);
|
||
|
||
CREATE OR REPLACE PROCEDURE nour_import_perslid (p_import_key IN NUMBER)
|
||
AS
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_errormsg VARCHAR2 (400);
|
||
v_errorhint VARCHAR2 (400);
|
||
v_aantal_in_FCLT NUMBER;
|
||
BEGIN
|
||
v_errorhint := 'Generieke update';
|
||
-- de sequence array staat beschreven in PRS_PAC.SRC bij de prs.import_perslid proc
|
||
prs.import_perslid (
|
||
p_import_key,
|
||
'1;2;3;4;5;6;7;8;9;11;'
|
||
|| '10;0;0;0;0;13;14;15;0;17;'
|
||
|| '16;18;0;12;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0',
|
||
'LOCATIECODE;GEBOUWCODE;BOUWLAAGVOLGNUMMER;RUIMTENUMMER;WERKPLEKVOLGNUMMER;OMSCHRIJVING;AFDELINGSCODE;PERSOONACHTERNAAM;TUSSENVOEGSEL;VOORLETTERS;VOORNAAM;TITEL_AANHEF;TELEFOONNUMMER;MOBIEL;EMAIL;FUNCTIE;PERSONEELSNUMMER;LOGINNAAM%');
|
||
|
||
|
||
COMMIT;
|
||
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
|
||
v_errormsg := 'Error ' || oracle_err_num || '/' || oracle_err_mes;
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg,
|
||
v_errorhint);
|
||
END nour_import_perslid;
|
||
/
|
||
|
||
CREATE OR REPLACE PROCEDURE nour_update_perslid (p_import_key IN NUMBER)
|
||
IS
|
||
-- Alle personen verwijderen die niet meer in import bestand voorkomen.
|
||
-- Match bij STAM is personeelnummer, hieronder de query om alle personen te verwijderen die:
|
||
-- a) niet meer in het importbestand staan, wel in Facilitor, en
|
||
-- b) waarvan de persoon in Facilitor een gevulde personeelsnummer heeft (leeg personeelsnummer van af blijven, dit handmatig ingevoerde persleden)
|
||
-- c) waarvan de persoon in Facilitor niet begint met een _ in de loginnaam (ook van af blijven)
|
||
|
||
|
||
|
||
CURSOR c_del IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
|
||
FROM fac_imp_perslid i,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf
|
||
WHERE UPPER (p.prs_perslid_nr) = UPPER (i.prs_perslid_nr(+))
|
||
AND p.prs_perslid_verwijder IS NULL
|
||
AND SUBSTR (p.prs_perslid_oslogin, 1, 1) <> '_'
|
||
AND p.prs_perslid_nr IS NOT NULL
|
||
AND pf.prs_perslid_key = p.prs_perslid_key
|
||
AND i.prs_perslid_nr IS NULL
|
||
ORDER BY 2;
|
||
|
||
v_count NUMBER;
|
||
|
||
|
||
BEGIN
|
||
-- generic update
|
||
-- NR - personeelsnummer
|
||
-- EMAIL - emailadres
|
||
-- LOGIN - logincode
|
||
prs.update_perslid (p_import_key, 'EMAIL', NULL);
|
||
|
||
-- Verwijder personen die niet meer in de import voorkomen.
|
||
FOR rec IN c_del
|
||
LOOP
|
||
BEGIN
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
-- mailadressen corrigeren, omzetten naar Nouryon
|
||
UPDATE prs_perslid
|
||
SET prs_perslid_email =
|
||
REPLACE (UPPER (prs_perslid_email),
|
||
'@AKZONOBEL.COM',
|
||
'@NOURYON.COM')
|
||
WHERE UPPER (prs_perslid_email) LIKE '%@AKZONOBEL.COM'
|
||
AND prs_perslid_verwijder IS NULL
|
||
AND UPPER (prs_perslid_naam) NOT LIKE '%INACTIEF%';
|
||
|
||
COMMIT;
|
||
END nour_update_perslid;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_FE_VS_KEYDATA_LOC
|
||
(
|
||
last_login,
|
||
naam,
|
||
oslogin,
|
||
key_user,
|
||
xd_user,
|
||
werklocatie
|
||
)
|
||
AS
|
||
SELECT lc.last_login,
|
||
lc.naam,
|
||
lc.oslogin,
|
||
lc.key_user,
|
||
lc.xd_user,
|
||
COALESCE (wp.alg_locatie_omschrijving, 'Werklocatie onbekend') werklocatie
|
||
FROM fac_v_lcrap_fe_vs_key_data lc,
|
||
(SELECT pw.prs_perslid_key, l.alg_locatie_omschrijving
|
||
FROM prs_v_werkplekperslid_gegevens pw, alg_locatie l
|
||
WHERE pw.alg_locatie_key = l.alg_locatie_key) wp
|
||
WHERE lc.prs_perslid_key = wp.prs_perslid_key(+);
|
||
|
||
-- Trainingen die al gevolgd hadden moeten worden of die de komende maand gevolgd moeten worden
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_HERCERTIFICERING
|
||
(
|
||
INS_DEEL_KEY,
|
||
INS_DEEL_OMSCHRIJVING,
|
||
SRT_TRAINING,
|
||
NEXT_TRAINING,
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_NAAM_FULL,
|
||
STATUS,
|
||
INS_DEEL_BEHEERDER
|
||
)
|
||
AS
|
||
SELECT d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_srtcontrole_omschrijving,
|
||
fac.nextcyclusdatedeel (d.ins_deel_key, d.ins_srtcontrole_key, 1),
|
||
d.prs_perslid_key,
|
||
d.prs_perslid_naam_full,
|
||
'Nog in te plannen' AS status,
|
||
d.beheerder
|
||
FROM (SELECT sc.ins_srtcontrole_key,
|
||
d.ins_deel_key,
|
||
d.ins_deel_omschrijving,
|
||
d.ins_deel_opmerking,
|
||
sc.ins_srtcontrole_omschrijving,
|
||
sc.ins_srtcontrole_periode,
|
||
sd.ins_srtdeel_omschrijving,
|
||
pfa.prs_perslid_key,
|
||
pfa.prs_perslid_naam_full,
|
||
pfab.prs_perslid_naam_full beheerder
|
||
FROM ins_srtcontrole sc,
|
||
ins_discipline di,
|
||
ins_v_aanwezigsrtgroep sg,
|
||
ins_v_aanwezigsrtdeel sd,
|
||
ins_v_aanwezigdeel d,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pfa,
|
||
prs_v_perslid_fullnames_all pfab
|
||
WHERE sd.ins_srtdeel_key = d.ins_srtdeel_key
|
||
AND sg.ins_srtgroep_key = sd.ins_srtgroep_key
|
||
AND sc.ins_srtinstallatie_key = sd.ins_srtdeel_key --- taken op trainingen zijn op srtdeel niveau vastgeleged
|
||
AND di.ins_discipline_key = sg.ins_discipline_key
|
||
AND d.prs_perslid_key_beh = pfab.prs_perslid_key (+)
|
||
AND COALESCE (d.ins_deel_vervaldatum, SYSDATE + 1) >= SYSDATE
|
||
AND p.prs_perslid_key = d.ins_alg_ruimte_key -- de trainingen zijn allen persoonsgebonden
|
||
AND pfa.prs_perslid_key = d.ins_alg_ruimte_key
|
||
AND sg.ins_srtgroep_key = 1) d
|
||
LEFT OUTER JOIN ins_srtcontroledl_xcp xcp
|
||
ON xcp.ins_deel_key = d.ins_deel_key
|
||
AND xcp.ins_srtcontrole_key = d.ins_srtcontrole_key
|
||
WHERE COALESCE (xcp.ins_srtcontroledl_xcp_periode,
|
||
d.ins_srtcontrole_periode) >
|
||
0
|
||
AND fac.nextcyclusdatedeel (d.ins_deel_key, d.ins_srtcontrole_key, 1) <=
|
||
ADD_MONTHS (SYSDATE, 1)
|
||
AND d.ins_deel_key NOT IN --- als een inspectie al is ingepland weegt dat zwaarder dan de oorspronkelijke datum, object komt op de lijst als plandatum komende maand is
|
||
(SELECT ins_deel_key
|
||
FROM ins_v_udr_deelinspect ins,
|
||
ins_deel opl,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg
|
||
WHERE ins_deelsrtcontrole_plandatum IS NOT NULL
|
||
AND ins_deelsrtcontrole_datum IS NULL
|
||
AND opl.ins_deel_key = ins.deel_key
|
||
AND opl.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND opl.ins_alg_ruimte_type = 'P'
|
||
AND sg.ins_srtgroep_key = 1
|
||
AND opl.ins_deel_verwijder IS NULL)
|
||
UNION ALL
|
||
SELECT opl.ins_deel_key,
|
||
opl.ins_deel_omschrijving,
|
||
ins.srtcontrole_omschrijving,
|
||
ins_deelsrtcontrole_plandatum,
|
||
pfa.prs_perslid_key,
|
||
pfa.prs_perslid_naam_full,
|
||
deelsrtcontrole_status,
|
||
pfab.prs_perslid_naam_full beheerder
|
||
FROM ins_v_udr_deelinspect ins,
|
||
ins_deel opl,
|
||
ins_srtdeel sd,
|
||
ins_srtgroep sg,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pfa,
|
||
prs_v_perslid_fullnames_all pfab
|
||
WHERE ins_deelsrtcontrole_plandatum IS NOT NULL
|
||
AND opl.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||
AND sg.ins_srtgroep_key = 1
|
||
AND opl.prs_perslid_key_beh = pfab.prs_perslid_key (+)
|
||
AND p.prs_perslid_key = opl.ins_alg_ruimte_key -- de trainingen zijn allen persoonsgebonden
|
||
AND pfa.prs_perslid_key = opl.ins_alg_ruimte_key
|
||
AND ins_deelsrtcontrole_datum IS NULL
|
||
AND opl.ins_alg_ruimte_type = 'P'
|
||
AND opl.ins_deel_key = ins.deel_key
|
||
AND opl.ins_deel_verwijder IS NULL
|
||
AND actief = 'ja'
|
||
AND ins_deelsrtcontrole_plandatum <= ADD_MONTHS (SYSDATE, 1);
|
||
|
||
-- notificatie voor hercertificeren
|
||
CREATE OR REPLACE FORCE VIEW NOUR_V_NOTI_TRAINING
|
||
(
|
||
CODE,
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
KEY,
|
||
XKEY
|
||
)
|
||
AS
|
||
SELECT sn.fac_srtnotificatie_code,
|
||
'',
|
||
cert.prs_perslid_key,
|
||
REPLACE (sn.fac_srtnotificatie_oms,
|
||
'##naam training##',
|
||
cert.ins_deel_omschrijving),
|
||
cert.ins_deel_key,
|
||
NULL
|
||
FROM nour_v_rap_hercertificering cert,
|
||
ins_deel sd,
|
||
ins_srtdeel srt,
|
||
fac_notificatie_job nj,
|
||
fac_srtnotificatie sn
|
||
WHERE cert.ins_deel_key = sd.ins_deel_key
|
||
AND srt.ins_srtdeel_key = sd.ins_srtdeel_key
|
||
AND srt.ins_srtgroep_key = 1
|
||
AND sn.fac_srtnotificatie_code = 'CUST08'
|
||
AND nj.fac_notificatie_job_view = 'NOUR_V_NOTI_TRAINING'
|
||
AND TO_CHAR (SYSDATE, 'dd') = '01' -- Elke 1e dag van de maand
|
||
AND TO_CHAR (SYSDATE, 'mm') IN ('01',
|
||
'02',
|
||
'03',
|
||
'04',
|
||
'05',
|
||
'06',
|
||
'07',
|
||
'08',
|
||
'09',
|
||
'10',
|
||
'11',
|
||
'12');
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_MELDING_TASKNR
|
||
(
|
||
locatie,
|
||
vakgroeptype,
|
||
vakgroep,
|
||
standaardmelding,
|
||
meldingnummer,
|
||
order_tasknr,
|
||
status,
|
||
datum,
|
||
datum_afgemeld,
|
||
onderwerp,
|
||
omschrijving,
|
||
kostenplaats
|
||
)
|
||
AS
|
||
SELECT l.alg_locatie_omschrijving,
|
||
vt.ins_srtdiscipline_omschrijving
|
||
vakgroeptype,
|
||
vk.ins_discipline_omschrijving
|
||
vakgroep,
|
||
sm.mld_stdmelding_omschrijving
|
||
standaardmelding,
|
||
m.mld_melding_key
|
||
meldingnr,
|
||
m.mld_melding_ordernr
|
||
ordernr,
|
||
st.mld_statuses_omschrijving
|
||
status,
|
||
m.mld_melding_datum
|
||
datum,
|
||
mld.getmeldingstatusdate (m.mld_melding_key, 5)
|
||
afgemeld,
|
||
m.mld_melding_onderwerp
|
||
melding_onderwerp,
|
||
m.mld_melding_omschrijving
|
||
melding_omschr,
|
||
kp.prs_kostenplaats_nr
|
||
kostenplaats
|
||
FROM mld_melding m,
|
||
alg_locatie l,
|
||
mld_stdmelding sm,
|
||
ins_tab_discipline vk,
|
||
ins_srtdiscipline vt,
|
||
prs_kostenplaats kp,
|
||
mld_statuses st
|
||
WHERE m.mld_alg_locatie_key = l.alg_locatie_key
|
||
AND sm.mld_stdmelding_key = m.mld_stdmelding_key
|
||
AND vk.ins_discipline_key = m.mld_ins_discipline_key
|
||
AND vt.ins_srtdiscipline_key = vk.ins_srtdiscipline_key
|
||
AND kp.prs_kostenplaats_key = m.prs_kostenplaats_key
|
||
AND st.mld_statuses_key = m.mld_melding_status;
|
||
|
||
CREATE OR REPLACE FORCE VIEW NOUR_V_RAP_OPLEIDINGEN
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_NAAM,
|
||
LOCATIE,
|
||
ATEX,
|
||
BBS,
|
||
BHV,
|
||
KBP,
|
||
KBT,
|
||
BRZO,
|
||
VIN,
|
||
EHBO,
|
||
LSR,
|
||
ONTR,
|
||
VCA,
|
||
VDG,
|
||
COMPEX,
|
||
HACCP,
|
||
NEN3140,
|
||
PERSL,
|
||
TVM,
|
||
PTW,
|
||
LOTOTO,
|
||
MGW,
|
||
LIFT,
|
||
HS_LS,
|
||
PBM,
|
||
VWH
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key,
|
||
p.prs_perslid_naam_full,
|
||
wp.alg_locatie_omschrijving,
|
||
DECODE (atex.ins_deel_upper, NULL, 'Nee', 'Ja') ATEX,
|
||
DECODE (bbs.ins_deel_upper, NULL, 'Nee', 'Ja') BBS,
|
||
DECODE (bhv.ins_deel_upper, NULL, 'Nee', 'Ja') BHV,
|
||
DECODE (kbp.ins_deel_upper, NULL, 'Nee', 'Ja') KBP,
|
||
DECODE (kbt.ins_deel_upper, NULL, 'Nee', 'Ja') KBT,
|
||
DECODE (brzo.ins_deel_upper, NULL, 'Nee', 'Ja') BRZO,
|
||
DECODE (vin.ins_deel_upper, NULL, 'Nee', 'Ja') VIN,
|
||
DECODE (ehbo.ins_deel_upper, NULL, 'Nee', 'Ja') EHBO,
|
||
DECODE (lsr.ins_deel_upper, NULL, 'Nee', 'Ja') LSR,
|
||
DECODE (ontr.ins_deel_upper, NULL, 'Nee', 'Ja') ONTR,
|
||
DECODE (vca.ins_deel_upper, NULL, 'Nee', 'Ja') VCA,
|
||
DECODE (vdg.ins_deel_upper, NULL, 'Nee', 'Ja') VDG,
|
||
DECODE (compex.ins_deel_upper, NULL, 'Nee', 'Ja') COMPEX,
|
||
DECODE (haccp.ins_deel_upper, NULL, 'Nee', 'Ja') HACCP,
|
||
DECODE (nen3140.ins_deel_upper, NULL, 'Nee', 'Ja') NEN3140,
|
||
DECODE (persl.ins_deel_upper, NULL, 'Nee', 'Ja') PERSL,
|
||
DECODE (tvm.ins_deel_upper, NULL, 'Nee', 'Ja') TVM,
|
||
DECODE (ptw.ins_deel_upper, NULL, 'Nee', 'Ja') PTW,
|
||
DECODE (lototo.ins_deel_upper, NULL, 'Nee', 'Ja') LOTOTO,
|
||
DECODE (mgw.ins_deel_upper, NULL, 'Nee', 'Ja') MGW,
|
||
DECODE (lift.ins_deel_upper, NULL, 'Nee', 'Ja') LIFT,
|
||
DECODE (hs_ls.ins_deel_upper, NULL, 'Nee', 'Ja') HS_LS,
|
||
DECODE (pbm.ins_deel_upper, NULL, 'Nee', 'Ja') PBM,
|
||
DECODE (vwh.ins_deel_upper, NULL, 'Nee', 'Ja') VWH
|
||
FROM prs_v_perslid_fullnames_all p,
|
||
( select w.prs_perslid_key , l.alg_locatie_code, l.alg_locatie_omschrijving from prs_v_perslidwerkplek_gegevens w, alg_locatie l
|
||
where w.alg_locatie_key = l.alg_locatie_key ) wp,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7845
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) ATEX,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7846
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) BBS,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7848
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) BHV,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8285
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) KBP,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8225
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) BRZO,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8265
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) VIN,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7850
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) EHBO,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7852
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) KBT,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7853
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) LSR,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7856
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) ONTR,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7859
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) VCA,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7860
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) VDG,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7860
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) COMPEX,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7860
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) HACCP,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7854
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) NEN3140,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7857
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) PERSL,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 7858
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) TVM,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8045
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) PTW,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8065
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) LOTOTO,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8005
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) MGW,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8025
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) LIFT,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8026
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) HS_LS,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8245
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) PBM,
|
||
(SELECT d.ins_srtdeel_key,
|
||
d.ins_deel_upper,
|
||
d.ins_alg_ruimte_key prs_perslid_key
|
||
FROM ins_deel d
|
||
WHERE d.ins_srtdeel_key = 8305
|
||
AND d.ins_alg_ruimte_type = 'P'
|
||
AND d.ins_deel_verwijder IS NULL) VWH
|
||
WHERE atex.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND wp.prs_perslid_key (+)= p.prs_perslid_key
|
||
AND bbs.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND bhv.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND kbp.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND brzo.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND vin.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND ehbo.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND kbt.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND lsr.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND ontr.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND vca.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND vdg.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND compex.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND haccp.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND nen3140.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND persl.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND tvm.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND ptw.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND lototo.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND mgw.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND lift.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND hs_ls.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND pbm.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND vwh.prs_perslid_key(+) = p.prs_perslid_key
|
||
AND p.prs_perslid_verwijder IS NULL;
|
||
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_CONTR_AREAGED
|
||
(
|
||
ruimte_nr,
|
||
ruimte_omschrijving,
|
||
areagedelegeerde,
|
||
vinkje_aan
|
||
)
|
||
AS
|
||
SELECT r.alg_ruimte_nr,
|
||
r.alg_ruimte_omschrijving,
|
||
'areagedelegeerde: ' || areadel.prs_perslid_naam_full,
|
||
DECODE (areadel_vink.vinkje, 'Ja', 'Ja', 'Nee') Areagedelegeerde
|
||
FROM alg_ruimte r,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_kenmerk_key = 1160
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) =
|
||
pf.prs_perslid_key) areadel,
|
||
(SELECT prs_perslid_key, 'Ja' vinkje
|
||
FROM prs_perslid p, prs_kenmerklink kl, prs_kenmerk k
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND k.prs_kenmerk_key = kl.prs_kenmerk_key
|
||
AND k.prs_kenmerk_key = 1464
|
||
AND p.prs_perslid_verwijder IS NULL) areadel_vink
|
||
WHERE r.alg_ruimte_key = areadel.alg_ruimte_key
|
||
AND areadel.prs_perslid_key = areadel_vink.prs_perslid_key(+)
|
||
AND r.alg_ruimte_verwijder IS NULL
|
||
UNION ALL
|
||
SELECT r.alg_ruimte_nr,
|
||
r.alg_ruimte_omschrijving,
|
||
'res areagedelegeerde: ' || areares.prs_perslid_naam_full,
|
||
DECODE (areares_vink.vinkje, 'Ja', 'Ja', 'Nee') Areagedelegeerde
|
||
FROM alg_ruimte r,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_kenmerk_key = 1180
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) =
|
||
pf.prs_perslid_key) areares,
|
||
(SELECT prs_perslid_key, 'Ja' vinkje
|
||
FROM prs_perslid p, prs_kenmerklink kl, prs_kenmerk k
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND k.prs_kenmerk_key = kl.prs_kenmerk_key
|
||
AND k.prs_kenmerk_key = 1464
|
||
AND p.prs_perslid_verwijder IS NULL) areares_vink
|
||
WHERE r.alg_ruimte_key = areares.alg_ruimte_key
|
||
AND areares.prs_perslid_key = areares_vink.prs_perslid_key(+)
|
||
AND r.alg_ruimte_verwijder IS NULL
|
||
UNION ALL
|
||
SELECT r.alg_ruimte_nr,
|
||
r.alg_ruimte_omschrijving,
|
||
'res areagedelegeerde (res): ' || arearesres.prs_perslid_naam_full,
|
||
DECODE (arearesres_vink.vinkje, 'Ja', 'Ja', 'Nee')
|
||
Areagedelegeerde
|
||
FROM alg_ruimte r,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_naam_full
|
||
FROM alg_onrgoedkenmerk ok, prs_v_perslid_fullnames pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_kenmerk_key = 1185
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) =
|
||
pf.prs_perslid_key) arearesres,
|
||
(SELECT prs_perslid_key, 'Ja' vinkje
|
||
FROM prs_perslid p, prs_kenmerklink kl, prs_kenmerk k
|
||
WHERE p.prs_perslid_key = kl.prs_link_key
|
||
AND k.prs_kenmerk_key = kl.prs_kenmerk_key
|
||
AND k.prs_kenmerk_key = 1464
|
||
AND p.prs_perslid_verwijder IS NULL) arearesres_vink
|
||
WHERE r.alg_ruimte_key = arearesres.alg_ruimte_key
|
||
AND arearesres.prs_perslid_key =
|
||
arearesres_vink.prs_perslid_key(+)
|
||
AND r.alg_ruimte_verwijder IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_MAILING_AREAGED
|
||
(
|
||
gebouw_code,
|
||
gebouwe_naam,
|
||
verdieping,
|
||
mailing_list
|
||
)
|
||
AS
|
||
SELECT alg_gebouw_code,
|
||
alg_gebouw_naam,
|
||
alg_verdieping_code,
|
||
LISTAGG (LOWER (prs_perslid_email), ';')
|
||
WITHIN GROUP (ORDER BY alg_gebouw_code, alg_verdieping_code) mailing_ad
|
||
FROM ( SELECT og.alg_gebouw_code,
|
||
og.alg_gebouw_naam,
|
||
og.alg_verdieping_code,
|
||
areadel.prs_perslid_email,
|
||
ROW_NUMBER ()
|
||
OVER (
|
||
PARTITION BY og.alg_gebouw_code,
|
||
og.alg_gebouw_naam,
|
||
og.alg_verdieping_code,
|
||
areadel.prs_perslid_email
|
||
ORDER BY
|
||
og.alg_gebouw_code, og.alg_verdieping_code) AS rn
|
||
FROM alg_ruimte r,
|
||
alg_v_onroerendgoed_gegevens og,
|
||
(SELECT ok.alg_onrgoed_key alg_ruimte_key,
|
||
pf.prs_perslid_key,
|
||
pf.prs_perslid_email
|
||
FROM alg_onrgoedkenmerk ok, prs_perslid pf
|
||
WHERE ok.alg_onrgoed_niveau = 'R'
|
||
AND ok.alg_kenmerk_key = 1160
|
||
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
||
AND fac.safe_to_number (
|
||
ok.alg_onrgoedkenmerk_waarde) =
|
||
pf.prs_perslid_key) areadel
|
||
WHERE og.alg_ruimte_key = r.alg_ruimte_key
|
||
AND r.alg_ruimte_key = areadel.alg_ruimte_key
|
||
AND r.alg_ruimte_verwijder IS NULL
|
||
AND og.alg_locatie_key = 121
|
||
ORDER BY og.alg_gebouw_code,
|
||
og.alg_gebouw_naam,
|
||
og.alg_verdieping_code,
|
||
areadel.prs_perslid_email) ad
|
||
WHERE rn = 1
|
||
GROUP BY alg_gebouw_code, alg_gebouw_naam, alg_verdieping_code;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_MDW_DEVENTER
|
||
(
|
||
prs_perslid_key,
|
||
prs_perslid_naam,
|
||
prs_perslid_verwijder
|
||
)
|
||
AS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_naam, p.prs_perslid_verwijder
|
||
FROM nour_v_perslid p,
|
||
(SELECT pw.prs_perslid_key,
|
||
l.alg_locatie_key,
|
||
l.alg_locatie_omschrijving
|
||
FROM prs_perslidwerkplek pw,
|
||
prs_werkplek w,
|
||
alg_ruimte r,
|
||
alg_verdieping v,
|
||
alg_gebouw g,
|
||
alg_locatie l
|
||
WHERE pw.prs_werkplek_key = w.prs_werkplek_key
|
||
AND w.prs_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_locatie_key = l.alg_locatie_key
|
||
AND l.alg_locatie_key = 121) wp_dev -- alleen locatie Deventer
|
||
WHERE p.prs_perslid_key = wp_dev.prs_perslid_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_STANDAARD_WVG
|
||
(
|
||
HTML_BESTAND
|
||
)
|
||
AS
|
||
SELECT ( '<a target ="_blank" href="ms-excel:ofe%7Cu%7Chttps:/d60c.sharepoint.com/sites/SC00025T12361/Shared%20Documents/PTW/standaard%20ptw/'
|
||
|| ud.fac_usrdata_code
|
||
|| '">'
|
||
|| HTF.escape_sc (ud.fac_usrdata_omschr)
|
||
|| '</a>') HTML
|
||
FROM fac_usrtab ut, fac_usrdata ud
|
||
WHERE ud.fac_usrtab_key = ut.fac_usrtab_key
|
||
AND UPPER (ut.fac_usrtab_naam) LIKE '%STANDAARD WVG%'
|
||
AND ud.fac_usrdata_vervaldatum IS NULL
|
||
AND ( ud.fac_usrdata_verwijder > SYSDATE
|
||
OR ud.fac_usrdata_verwijder IS NULL);
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_ALG_GEBOUW_DEVENTER
|
||
AS
|
||
SELECT alg_gebouw_key, alg_gebouw_omschrijving, alg_gebouw_verwijder
|
||
FROM alg_gebouw g
|
||
WHERE g.alg_locatie_key = 121;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_BT_AFDELINGSMANAGER
|
||
AS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_naam_friendly, p.prs_perslid_verwijder
|
||
FROM fac_groep g, fac_gebruikersgroep gg, prs_v_perslid_fullnames_all p
|
||
WHERE g.fac_groep_upper LIKE '%AFDELINGSMAN%'
|
||
AND gg.fac_groep_key = g.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key;
|
||
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_BT_HSE_MANAGER
|
||
AS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_naam_friendly, p.prs_perslid_verwijder
|
||
FROM fac_groep g, fac_gebruikersgroep gg, prs_v_perslid_fullnames_all p
|
||
WHERE g.fac_groep_upper LIKE '%HSE MAN%'
|
||
AND gg.fac_groep_key = g.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_BT_PROCESS_ENGINEER
|
||
AS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_naam_friendly, p.prs_perslid_verwijder
|
||
FROM fac_groep g, fac_gebruikersgroep gg, prs_v_perslid_fullnames_all p
|
||
WHERE g.fac_groep_upper LIKE '%PROCESS ENG%'
|
||
AND gg.fac_groep_key = g.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_BT_SHIFT_SUPERVISOR
|
||
AS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_naam_friendly, p.prs_perslid_verwijder
|
||
FROM fac_groep g, fac_gebruikersgroep gg, prs_v_perslid_fullnames_all p
|
||
WHERE g.fac_groep_upper LIKE '%SHIFT SUPERV%'
|
||
AND gg.fac_groep_key = g.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_BT_SRE_OFFICER
|
||
AS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_naam_friendly, p.prs_perslid_verwijder
|
||
FROM fac_groep g, fac_gebruikersgroep gg, prs_v_perslid_fullnames_all p
|
||
WHERE g.fac_groep_upper LIKE '%SRE OFF%'
|
||
AND gg.fac_groep_key = g.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_SELECTIE_WVG
|
||
(
|
||
mld_melding_key,
|
||
mld_omschrijving
|
||
)
|
||
AS
|
||
SELECT s.mld_melding_key,
|
||
s.mld_melding_key
|
||
|| '-'
|
||
|| t.mld_stdmelding_omschrijving
|
||
|| ' ('
|
||
|| s.mld_melding_onderwerp
|
||
|| ')'
|
||
FROM mld_melding s,
|
||
mld_stdmelding t,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_perslid pl,
|
||
prs_afdeling a,
|
||
mld_statuses u,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_srtkenmerk_key = 961) bestand
|
||
WHERE p.prs_perslid_key = s.prs_perslid_key_voor
|
||
AND s.mld_stdmelding_key = t.mld_stdmelding_key
|
||
AND s.mld_melding_key = bestand.mld_melding_key
|
||
AND s.mld_melding_status = u.mld_statuses_key
|
||
AND p.prs_perslid_key = pl.prs_perslid_key
|
||
AND pl.prs_afdeling_key = a.prs_afdeling_key
|
||
AND s.mld_melding_status NOT IN (1, 99);
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_OVERBRUGGING
|
||
(
|
||
HIDE_F_MELDING_KEY,
|
||
HTML_AANVRAAG_NR,
|
||
MELDING_OMSCHRIJVING,
|
||
STATUS,
|
||
REGISTRATIE_DATUM,
|
||
AANVRAGER,
|
||
AFDELING,
|
||
AFDELING_OMSCHR,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
OVERBR_AFDELING,
|
||
TAGNR,
|
||
ACTIE,
|
||
REDEN,
|
||
RISICO,
|
||
MAATREGELEN,
|
||
STARTDATUM_OVERBRUGGING,
|
||
AANVANGSTIJD,
|
||
DATUM_TIJD_VAN,
|
||
EINDDATUM_OVERBRUGGING,
|
||
EINDTIJD,
|
||
DATUM_TIJD_TOT,
|
||
GEPLAATST_DOOR,
|
||
WAAR_GEPLAATST,
|
||
DATUM_TIJD_GEPLAATST,
|
||
VERWIJDERD_DOOR,
|
||
DATUM_TIJD_VERWIJDERD,
|
||
CONTROLE_DOOR,
|
||
DATUM_TIJD_CONTROLE,
|
||
INGEBRUIKNAME_DOOR,
|
||
DATUM_TIJD_INGEBRUIKNAME
|
||
)
|
||
AS
|
||
SELECT s.mld_melding_key,
|
||
'<a class="details" onclick=''FcltMgr.openDetail("'
|
||
|| 'appl/mld/mld_melding.asp?urole=fe&'
|
||
|| 'mld_key='
|
||
|| s.mld_melding_key
|
||
|| '")''>'
|
||
|| HTF.escape_sc (s.mld_melding_key)
|
||
|| '</a>'
|
||
melding_key,
|
||
t.mld_stdmelding_omschrijving,
|
||
u.mld_statuses_omschrijving,
|
||
s.mld_melding_datum,
|
||
p.prs_perslid_naam_full,
|
||
a.prs_afdeling_naam,
|
||
a.prs_afdeling_omschrijving,
|
||
s.mld_alg_locatie_key,
|
||
afdeling.prs_afdeling_omschrijving
|
||
afdeling,
|
||
tagnummer.mld_kenmerkmelding_waarde
|
||
tagnummer,
|
||
actie.mld_kenmerkmelding_waarde
|
||
actie,
|
||
reden.mld_kenmerkmelding_waarde
|
||
reden,
|
||
risico.mld_kenmerkmelding_waarde
|
||
risico,
|
||
maatregelen.mld_kenmerkmelding_waarde
|
||
maatregelen,
|
||
fac.safe_to_date (startdatum.mld_kenmerkmelding_waarde,
|
||
'DD-MM-YYYY')
|
||
startdatum,
|
||
aanvangstijd.mld_kenmerkmelding_waarde
|
||
aanvangstijd,
|
||
TO_CHAR (
|
||
startdatum.mld_kenmerkmelding_waarde
|
||
|| ' '
|
||
|| aanvangstijd.mld_kenmerkmelding_waarde)
|
||
datum_tijd_van,
|
||
fac.safe_to_date (einddatum.mld_kenmerkmelding_waarde,
|
||
'DD-MM-YYYY')
|
||
einddatum,
|
||
eindtijd.mld_kenmerkmelding_waarde
|
||
eindtijd,
|
||
einddatum.mld_kenmerkmelding_waarde
|
||
|| ' '
|
||
|| eindtijd.mld_kenmerkmelding_waarde
|
||
datumtijd_tot,
|
||
geplaatst_door.prs_perslid_naam_friendly
|
||
geplaatst_door,
|
||
waar_gepl.mld_kenmerkmelding_waarde
|
||
waar_geplaatst,
|
||
tijd_gepl.mld_kenmerkmelding_waarde
|
||
datum_tijd_geplaatst,
|
||
verwijderd_door.prs_perslid_naam_friendly
|
||
verwijderd_door,
|
||
tijd_verwdr.mld_kenmerkmelding_waarde
|
||
datum_tijd_verwijderd,
|
||
controle_door.prs_perslid_naam_friendly
|
||
controle_door,
|
||
tijd_controle.mld_kenmerkmelding_waarde
|
||
datum_tijd_controle,
|
||
ingebruikname_door.prs_perslid_naam_friendly
|
||
ingebruikname_door,
|
||
tijd_ingebruikname.mld_kenmerkmelding_waarde
|
||
datum_tijd_ingebruikname
|
||
FROM mld_melding s,
|
||
mld_stdmelding t,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_perslid pl,
|
||
prs_afdeling a,
|
||
mld_statuses u,
|
||
(SELECT k.mld_melding_key, a.prs_afdeling_omschrijving
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n, prs_afdeling a
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2461
|
||
AND k.mld_kenmerkmelding_waarde = a.mld_adres_key) afdeling,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2183) tagnummer,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2184) actie,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2185) reden,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2186) risico,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2187) maatregelen,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2202) startdatum,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2203) aanvangstijd,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2204) einddatum,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2205) eindtijd,
|
||
(SELECT k.mld_melding_key, p.prs_perslid_naam_friendly
|
||
FROM mld_kenmerkmelding k,
|
||
mld_kenmerk n,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_kenmerkmelding_waarde = p.prs_perslid_key
|
||
AND n.mld_kenmerk_key = 2310) geplaatst_door,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2313) waar_gepl,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2318) tijd_gepl,
|
||
(SELECT k.mld_melding_key, p.prs_perslid_naam_friendly
|
||
FROM mld_kenmerkmelding k,
|
||
mld_kenmerk n,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_kenmerkmelding_waarde = p.prs_perslid_key
|
||
AND n.mld_kenmerk_key = 2312) verwijderd_door,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2323) tijd_verwdr,
|
||
(SELECT k.mld_melding_key, p.prs_perslid_naam_friendly
|
||
FROM mld_kenmerkmelding k,
|
||
mld_kenmerk n,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_kenmerkmelding_waarde = p.prs_perslid_key
|
||
AND n.mld_kenmerk_key = 2326) controle_door,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2330) tijd_controle,
|
||
(SELECT k.mld_melding_key, p.prs_perslid_naam_friendly
|
||
FROM mld_kenmerkmelding k,
|
||
mld_kenmerk n,
|
||
prs_v_perslid_fullnames_all p
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_kenmerkmelding_waarde = p.prs_perslid_key
|
||
AND n.mld_kenmerk_key = 2327) ingebruikname_door,
|
||
(SELECT k.mld_melding_key, k.mld_kenmerkmelding_waarde
|
||
FROM mld_kenmerkmelding k, mld_kenmerk n
|
||
WHERE n.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND n.mld_kenmerk_key = 2331) tijd_ingebruikname
|
||
WHERE p.prs_perslid_key = s.prs_perslid_key_voor
|
||
AND s.mld_stdmelding_key = t.mld_stdmelding_key
|
||
AND s.mld_melding_status = u.mld_statuses_key
|
||
AND p.prs_perslid_key = pl.prs_perslid_key
|
||
AND pl.prs_afdeling_key = a.prs_afdeling_key
|
||
AND t.mld_stdmelding_key = 1881
|
||
AND s.mld_melding_key = afdeling.mld_melding_key(+)
|
||
AND s.mld_melding_key = tagnummer.mld_melding_key(+)
|
||
AND s.mld_melding_key = actie.mld_melding_key(+)
|
||
AND s.mld_melding_key = reden.mld_melding_key(+)
|
||
AND s.mld_melding_key = risico.mld_melding_key(+)
|
||
AND s.mld_melding_key = maatregelen.mld_melding_key(+)
|
||
AND s.mld_melding_key = startdatum.mld_melding_key(+)
|
||
AND s.mld_melding_key = aanvangstijd.mld_melding_key(+)
|
||
AND s.mld_melding_key = einddatum.mld_melding_key(+)
|
||
AND s.mld_melding_key = eindtijd.mld_melding_key(+)
|
||
AND s.mld_melding_key = geplaatst_door.mld_melding_key(+)
|
||
AND s.mld_melding_key = waar_gepl.mld_melding_key(+)
|
||
AND s.mld_melding_key = tijd_gepl.mld_melding_key(+)
|
||
AND s.mld_melding_key = verwijderd_door.mld_melding_key(+)
|
||
AND s.mld_melding_key = tijd_verwdr.mld_melding_key(+)
|
||
AND s.mld_melding_key = controle_door.mld_melding_key(+)
|
||
AND s.mld_melding_key = tijd_controle.mld_melding_key(+)
|
||
AND s.mld_melding_key = ingebruikname_door.mld_melding_key(+)
|
||
AND s.mld_melding_key = tijd_ingebruikname.mld_melding_key(+);
|
||
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_IN_OVERBRUGGING
|
||
(
|
||
MELDING_KEY,
|
||
HTML_AANVRAAG_NR,
|
||
MELDING_OMSCHRIJVING,
|
||
STATUS,
|
||
REGISTRATIE_DATUM,
|
||
AANVRAGER,
|
||
AFDELING,
|
||
AFDELING_OMSCHR,
|
||
FCLT_3D_LOCATIE_KEY,
|
||
OVERBR_AFDELING,
|
||
TAGNR,
|
||
ACTIE,
|
||
REDEN,
|
||
RISICO,
|
||
MAATREGELEN,
|
||
STARTDATUM_OVERBRUGGING,
|
||
AANVANGSTIJD,
|
||
DATUM_TIJD_VAN,
|
||
EINDDATUM_OVERBRUGGING,
|
||
EINDTIJD,
|
||
DATUM_TIJD_TOT,
|
||
GEPLAATST_DOOR,
|
||
WAAR_GEPLAATST,
|
||
DATUM_TIJD_GEPLAATST,
|
||
VERWIJDERD_DOOR,
|
||
DATUM_TIJD_VERWIJDERD,
|
||
CONTROLE_DOOR,
|
||
DATUM_TIJD_CONTROLE,
|
||
INGEBRUIKNAME_DOOR,
|
||
DATUM_TIJD_INGEBRUIKNAME,
|
||
VERLOPEN
|
||
)
|
||
AS
|
||
SELECT hide_f_melding_key,
|
||
html_aanvraag_nr,
|
||
melding_omschrijving,
|
||
status,
|
||
registratie_datum,
|
||
aanvrager,
|
||
afdeling,
|
||
afdeling_omschr,
|
||
fclt_3d_locatie_key,
|
||
overbr_afdeling,
|
||
tagnr,
|
||
actie,
|
||
reden,
|
||
risico,
|
||
maatregelen,
|
||
startdatum_overbrugging,
|
||
aanvangstijd,
|
||
datum_tijd_van,
|
||
einddatum_overbrugging,
|
||
eindtijd,
|
||
datum_tijd_tot,
|
||
geplaatst_door,
|
||
waar_geplaatst,
|
||
datum_tijd_geplaatst,
|
||
verwijderd_door,
|
||
datum_tijd_verwijderd,
|
||
controle_door,
|
||
datum_tijd_controle,
|
||
ingebruikname_door,
|
||
datum_tijd_ingebruikname,
|
||
CASE
|
||
WHEN fac.safe_to_date (datum_tijd_tot, 'DD-MM-YYYY HH24:MI') <
|
||
SYSDATE
|
||
THEN
|
||
'Ja'
|
||
ELSE
|
||
'Nee'
|
||
END AS verlopen
|
||
FROM nour_v_overbrugging o
|
||
WHERE fac.safe_to_date (datum_tijd_geplaatst, 'DD-MM-YYYY HH24:MI') <=
|
||
SYSDATE
|
||
AND o.datum_tijd_verwijderd IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_MLD_BUDGETHDR
|
||
(
|
||
fclt_3d_user_key,
|
||
budgethouder_naam,
|
||
datum,
|
||
melding,
|
||
omschrijving,
|
||
richtbedrag,
|
||
aanvrager,
|
||
kostenplaats,
|
||
kostenplaats_omschrijving
|
||
)
|
||
AS
|
||
SELECT b.prs_perslid_key budgethouder_key,
|
||
b.prs_perslid_naam_friendly budgethouder_naam,
|
||
m.mld_melding_datum datum,
|
||
m.mld_melding_key melding,
|
||
m.mld_melding_omschrijving onderwerp,
|
||
stfl.richtbedrag richtbedrag,
|
||
p.prs_perslid_naam_friendly aanvrager,
|
||
kpl.prs_kostenplaats_upper kostenplaats,
|
||
kpl.prs_kostenplaats_omschrijving kostenplaats_omschrijving
|
||
FROM mld_melding m,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_kostenplaats kpl,
|
||
prs_v_perslid_fullnames_all b,
|
||
(SELECT km.mld_melding_key, ud.fac_usrdata_omschr richtbedrag
|
||
FROM mld_kenmerkmelding km,
|
||
mld_kenmerk k,
|
||
mld_srtkenmerk sk,
|
||
fac_usrdata ud,
|
||
fac_usrtab ut
|
||
WHERE k.mld_kenmerk_key = km.mld_kenmerk_key
|
||
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
|
||
AND sk.mld_srtkenmerk_key = 1182
|
||
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
|
||
ud.fac_usrdata_key
|
||
AND ut.fac_usrtab_key = ud.fac_usrtab_key
|
||
AND ut.fac_usrtab_key = 531) stfl
|
||
WHERE m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND kpl.prs_kostenplaats_key = m.prs_kostenplaats_key
|
||
AND kpl.prs_perslid_key = b.prs_perslid_key
|
||
AND stfl.mld_melding_key = m.mld_melding_key;
|
||
|
||
-------------------------------------------------------------------------------
|
||
--- NOUR#80194 (inzage) planning periodieke taken en workorders ---------------
|
||
-------------------------------------------------------------------------------
|
||
|
||
-- stap 0 we hebben een set aan datums terug/vooruit nodig
|
||
-- Genereer een reeks met datums vanaf de vorige maand tot en met laatste datum volgende kwartaal
|
||
CREATE OR REPLACE VIEW NOUR_V_PLAN_VOORUIT
|
||
AS
|
||
SELECT TRUNC(TRUNC(SYSDATE , 'Month')-1 , 'Month') + ROWNUM datum
|
||
FROM DUAL
|
||
CONNECT BY ROWNUM < (LAST_DAY(ADD_MONTHS(TRUNC(SYSDATE , 'Q'),5)) - TRUNC(TRUNC(SYSDATE , 'Month')-1 , 'Month'))
|
||
ORDER BY ROWNUM;
|
||
|
||
--- stap 1: een view met alle weekdagen
|
||
CREATE OR REPLACE VIEW NOUR_V_PLANDAG
|
||
AS
|
||
SELECT datum, TRIM(TO_CHAR (datum, 'DAY')) dag FROM NOUR_V_PLAN_VOORUIT;
|
||
|
||
-- stap 2: alle intern uitvoerenden
|
||
CREATE OR REPLACE VIEW NOUR_V_INTERN_UITV
|
||
AS
|
||
SELECT DISTINCT -- GROEPEN MET DISCIPLINES
|
||
p.prs_perslid_key,
|
||
p.prs_perslid_naam_friendly,
|
||
p.prs_perslid_naam_full
|
||
FROM fac_groeprechten g,
|
||
fac_gebruikersgroep gg,
|
||
prs_v_perslid_fullnames p,
|
||
fac_functie f,
|
||
ins_srtdiscipline isd,
|
||
ins_tab_discipline a,
|
||
fac_groep gr,
|
||
fac_locale_xsl flx
|
||
WHERE g.ins_discipline_key = a.ins_discipline_key
|
||
AND g.fac_groep_key = gr.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND gg.fac_groep_key = gr.fac_groep_key
|
||
AND isd.ins_srtdiscipline_key(+) = a.ins_srtdiscipline_key
|
||
AND f.fac_functie_key = g.fac_functie_key
|
||
AND f.fac_functie_discipline = 1
|
||
AND ins_discipline_verwijder IS NULL
|
||
AND f.fac_functie_code = 'WEB_MLDORD'
|
||
AND flx.fac_locale_xsl_label(+) = f.fac_functie_omschrijving
|
||
AND flx.fac_locale_xsl_lang(+) = 'NL'
|
||
AND flx.fac_locale_xsl_module(+) = 'ASP'
|
||
UNION ALL -- GROEPEN ZONDER DISCIPLINES
|
||
SELECT DISTINCT
|
||
p.prs_perslid_key,
|
||
p.prs_perslid_naam_friendly,
|
||
p.prs_perslid_naam_full
|
||
FROM fac_groeprechten g,
|
||
fac_functie f,
|
||
fac_gebruikersgroep gg,
|
||
prs_v_perslid_fullnames p,
|
||
fac_groep gr,
|
||
fac_locale_xsl flx -- lcl.l gebruik was extreem traag dus maar hardcoded
|
||
WHERE fac_functie_discipline = 0
|
||
AND g.fac_functie_key = f.fac_functie_key
|
||
AND g.fac_groep_key = gg.fac_groep_key
|
||
AND gg.fac_groep_key = gr.fac_groep_key
|
||
AND p.prs_perslid_key = gg.prs_perslid_key
|
||
AND flx.fac_locale_xsl_label(+) = f.fac_functie_omschrijving
|
||
AND f.fac_functie_code = 'WEB_MLDORD'
|
||
AND flx.fac_locale_xsl_lang(+) = 'NL'
|
||
AND flx.fac_locale_xsl_module(+) = 'ASP';
|
||
|
||
-- Stap 3: de beschikbaarheid per medewerker per dag
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_BESCHIKKING_UITV
|
||
AS
|
||
SELECT dat.datum,
|
||
dat.dag,
|
||
uitv.prs_perslid_key,
|
||
uitv.prs_perslid_naam_friendly,
|
||
uitv.prs_perslid_naam_full,
|
||
NVL (b.beschikbare_tijd_uren, 0) beschikbare_uren
|
||
FROM nour_v_intern_uitv uitv, nour_v_plandag dat, nour_v_beschikking b
|
||
WHERE b.prs_perslid_key(+) = uitv.prs_perslid_key
|
||
AND b.plandag(+) = dat.dag
|
||
ORDER BY dat.datum;
|
||
|
||
-- Stap 4: een view voor een kalender rapport met opdrachten waar een planning en raming op zit
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_KALENDER_OPDR
|
||
(
|
||
USER_KEY,
|
||
TITLE,
|
||
VAN,
|
||
TOT,
|
||
ITEM_KEY,
|
||
COLOR,
|
||
TEXTCOLOR,
|
||
URL,
|
||
UITVOERENDE
|
||
)
|
||
AS
|
||
SELECT NULL user_key,
|
||
TO_CHAR (o.mld_melding_key)
|
||
|| '/'
|
||
|| o.mld_opdr_bedrijfopdr_volgnr
|
||
|| CHR (10)|| 'Uitvoerende: ' || p.prs_perslid_naam_full
|
||
|| CHR (10)|| 'Raming uren: ' || o.mld_opdr_uren title,
|
||
fac.safe_to_date (TO_CHAR (o.mld_opdr_plandatum, 'DD-MM-YYYY'),
|
||
'DD-MM-YY') plandatum,
|
||
fac.safe_to_date (TO_CHAR (o.mld_opdr_plandatum, 'DD-MM-YYYY'),
|
||
'DD-MM-YY') plandatum,
|
||
o.mld_opdr_key item_key,
|
||
'#d3d3d3' -- groen
|
||
color,
|
||
'#000' textcolor,
|
||
'?u=opdracht'
|
||
|| CHR (38)
|
||
|| 'internal=1'
|
||
|| CHR (38)
|
||
|| 'k='
|
||
|| o.mld_opdr_key url,
|
||
p.prs_perslid_naam_full
|
||
FROM mld_opdr o, prs_v_perslid_fullnames p
|
||
WHERE o.mld_uitvoerende_keys = p.prs_perslid_key
|
||
AND o.mld_opdr_plandatum IS NOT NULL
|
||
AND o.mld_opdr_uren IS NOT NULL;
|
||
|
||
-- Stap 5: Beschikbare uren per uitvoerende per dag
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_BESCH_UREN_DAG
|
||
AS
|
||
SELECT bu.dag,
|
||
bu.datum,
|
||
bu.prs_perslid_key,
|
||
bu.prs_perslid_naam_friendly,
|
||
bu.prs_perslid_naam_full,
|
||
bu.beschikbare_uren,
|
||
nvl(opdr.tot_uren_gepland, 0) tot_uren_gepland,
|
||
bu.beschikbare_uren -
|
||
nvl(opdr.tot_uren_gepland, 0) uren_over
|
||
FROM nour_v_rap_beschikking_uitv bu,
|
||
( SELECT fac.safe_to_date (
|
||
TO_CHAR (o.mld_opdr_plandatum, 'DD-MM-YYYY'),
|
||
'DD-MM-YY') plandatum,
|
||
o.mld_uitvoerende_keys uitvoerende,
|
||
SUM (o.mld_opdr_uren) tot_uren_gepland
|
||
FROM mld_opdr o
|
||
WHERE o.mld_opdr_plandatum IS NOT NULL
|
||
AND o.mld_opdr_uren IS NOT NULL
|
||
GROUP BY fac.safe_to_date (
|
||
TO_CHAR (o.mld_opdr_plandatum, 'DD-MM-YYYY'),
|
||
'DD-MM-YY'),
|
||
o.mld_uitvoerende_keys) opdr
|
||
WHERE bu.datum = opdr.plandatum(+)
|
||
AND bu.prs_perslid_key = opdr.uitvoerende(+);
|
||
|
||
SELECT fac.safe_to_date (TO_CHAR (o.mld_opdr_plandatum, 'DD-MM-YYYY'),
|
||
'DD-MM-YY') plandatum,
|
||
o.mld_uitvoerende_keys uitvoerende,
|
||
(o.mld_opdr_uren)
|
||
FROM mld_opdr o, nour_v_plan_vooruit d
|
||
WHERE o.mld_opdr_plandatum IS NOT NULL
|
||
AND o.mld_opdr_uren IS NOT NULL;
|
||
|
||
-- Stap 6: een view voor een kalender rapport met de beschikbare uren per uitvoerende
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_KALENDER_UREN
|
||
(
|
||
USER_KEY,
|
||
TITLE,
|
||
VAN,
|
||
TOT,
|
||
ITEM_KEY,
|
||
COLOR,
|
||
TEXTCOLOR,
|
||
URL,
|
||
UITVOERENDE
|
||
)
|
||
AS
|
||
SELECT NULL user_key,
|
||
'Totaal beschikbare uren: ' || u.beschikbare_uren
|
||
|| CHR (10)
|
||
|| 'Uren gepland: ' || u.tot_uren_gepland
|
||
|| CHR (10)
|
||
|| 'Uren over: ' || u.uren_over title,
|
||
u.datum ,
|
||
u.datum,
|
||
u.prs_perslid_key item_key,
|
||
CASE
|
||
WHEN u.uren_over > 4 THEN '#02A528' -- groen
|
||
WHEN u.uren_over > 2 AND u.uren_over < 5 THEN '#ffa500' -- oranje
|
||
WHEN u.uren_over <3 THEN '#ff0000' -- rood
|
||
|
||
END
|
||
AS color,
|
||
'#FFFFFF' textcolor,
|
||
NULL url,
|
||
u.prs_perslid_naam_full
|
||
FROM NOUR_V_RAP_BESCH_UREN_DAG u;
|
||
|
||
-- Stap 7: de laatste stap, we halen alles bij elkaar om per uitvoerende een rapport te kunnen maken
|
||
CREATE OR REPLACE VIEW NOUR_V_RAP_KALENDER_TOTAL
|
||
(
|
||
USER_KEY,
|
||
TITLE,
|
||
VAN,
|
||
TOT,
|
||
ITEM_KEY,
|
||
COLOR,
|
||
TEXTCOLOR,
|
||
URL,
|
||
UITVOERENDE
|
||
)
|
||
AS
|
||
SELECT * FROM NOUR_V_RAP_KALENDER_UREN
|
||
UNION ALL
|
||
SELECT * FROM NOUR_V_RAP_KALENDER_OPDR;
|
||
|
||
------ 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 |