1720 lines
68 KiB
SQL
1720 lines
68 KiB
SQL
/* Formatted on 7-11-2016 13:36:27 (QP5 v5.136.908.31019) */
|
||
-- Script containing customer specific db-configuration for SGGR.
|
||
-- (c) 2014 Facilitor bv
|
||
-- $Revision$
|
||
-- $Id$
|
||
--
|
||
-- Support: +31 53 4800710
|
||
|
||
SET DEFINE OFF
|
||
SET ECHO ON
|
||
spool xsggr.lst
|
||
|
||
/* de te factureren contracten */
|
||
|
||
CREATE OR REPLACE VIEW sggr_v_rap_cnt_periode_saas
|
||
AS
|
||
SELECT b.prs_leverancier_nr ax_nr,
|
||
b.prs_bedrijf_naam bedrijf,
|
||
'C'
|
||
|| c.cnt_contract_nummer_intern
|
||
|| '.'
|
||
|| COALESCE (c.cnt_contract_versie, '0')
|
||
nr,
|
||
c.cnt_contract_omschrijving omschrijving,
|
||
COALESCE (c.cnt_contract_nummer, c.cnt_contract_omschrijving)
|
||
referentie,
|
||
c.cnt_contract_looptijd_van ingangsdatum,
|
||
SUM (kc1.cnt_kenmerkcontract_waarde) maandbedrag,
|
||
TO_CHAR (c.cnt_contract_korting) kortingpct,
|
||
3
|
||
* SUM (kc1.cnt_kenmerkcontract_waarde)
|
||
* (1 - COALESCE (c.cnt_contract_korting, 0) / 100)
|
||
kwartaalbedrag,
|
||
c.cnt_contract_document opmerking,
|
||
kc2.cnt_kenmerkcontract_waarde indexdatum,
|
||
c.cnt_contract_looptijd_tot einddatum,
|
||
c.cnt_contract_termijnkosten
|
||
- SUM (kc1.cnt_kenmerkcontract_waarde)
|
||
* (1 - COALESCE (c.cnt_contract_korting, 0) / 100)
|
||
controle
|
||
FROM cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b,
|
||
cnt_kenmerkcontract kc1,
|
||
cnt_kenmerk ck1,
|
||
cnt_srtkenmerk cks1,
|
||
(SELECT kc2.cnt_contract_key, kc2.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kc2, cnt_kenmerk k2
|
||
WHERE kc2.cnt_kenmerk_key = k2.cnt_kenmerk_key
|
||
AND k2.cnt_srtkenmerk_key = 301 -- indexdatum
|
||
AND kc2.cnt_kenmerkcontract_verwijder IS NULL) kc2
|
||
WHERE c.ins_discipline_key IN (481, 501) -- 481 saas; 482 lic; 501 care
|
||
AND c.cnt_contract_status = 0
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.cnt_contract_key = kc1.cnt_contract_key
|
||
AND kc1.cnt_kenmerk_key = ck1.cnt_kenmerk_key
|
||
AND ck1.cnt_kenmerk_verwijder IS NULL
|
||
AND ck1.cnt_srtkenmerk_key = cks1.cnt_srtkenmerk_key
|
||
AND ( cks1.cnt_srtkenmerk_omschrijving LIKE '%rijs%'
|
||
OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Hosting%'
|
||
OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Korting%')
|
||
AND c.cnt_contract_key = kc2.cnt_contract_key(+)
|
||
AND c.cnt_contract_looptijd_van < SYSDATE + 50
|
||
AND c.cnt_contract_looptijd_tot > SYSDATE + 50
|
||
GROUP BY b.prs_leverancier_nr,
|
||
b.prs_bedrijf_naam,
|
||
c.cnt_contract_looptijd_van,
|
||
c.cnt_contract_omschrijving,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_nummer_intern,
|
||
c.cnt_contract_versie,
|
||
c.cnt_contract_document,
|
||
c.cnt_contract_korting,
|
||
kc2.cnt_kenmerkcontract_waarde,
|
||
c.cnt_contract_termijnkosten,
|
||
c.cnt_contract_looptijd_tot
|
||
ORDER BY 1, 4;
|
||
|
||
|
||
CREATE OR REPLACE VIEW sggr_v_rap_cnt_periode_lic
|
||
AS
|
||
SELECT b.prs_leverancier_nr ax_nr,
|
||
b.prs_bedrijf_naam bedrijf,
|
||
'C'
|
||
|| c.cnt_contract_nummer_intern
|
||
|| '.'
|
||
|| COALESCE (c.cnt_contract_versie, '0')
|
||
nr,
|
||
c.cnt_contract_omschrijving omschrijving,
|
||
COALESCE (c.cnt_contract_nummer, c.cnt_contract_omschrijving)
|
||
referentie,
|
||
c.cnt_contract_looptijd_van ingangsdatum,
|
||
DECODE (SUM (kc1.cnt_kenmerkcontract_waarde),
|
||
0, c.cnt_contract_termijnkosten,
|
||
SUM (kc1.cnt_kenmerkcontract_waarde))
|
||
jaarbedrag,
|
||
c.cnt_contract_termijnkosten termijnbedrag,
|
||
(SELECT ct.cnt_termijn_omschrijving
|
||
FROM cnt_termijn ct
|
||
WHERE ct.cnt_termijn_key = c.cnt_contract_termijntermijn)
|
||
termijn,
|
||
c.cnt_contract_document opmerking,
|
||
kc2.cnt_kenmerkcontract_waarde indexdatum,
|
||
c.cnt_contract_looptijd_tot einddatum,
|
||
c.cnt_contract_termijnkosten
|
||
- DECODE (SUM (kc1.cnt_kenmerkcontract_waarde),
|
||
0, c.cnt_contract_termijnkosten,
|
||
SUM (kc1.cnt_kenmerkcontract_waarde))
|
||
controle
|
||
FROM cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b,
|
||
cnt_kenmerkcontract kc1,
|
||
cnt_kenmerk ck1,
|
||
cnt_srtkenmerk cks1,
|
||
(SELECT kc2.cnt_contract_key, kc2.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kc2, cnt_kenmerk k2
|
||
WHERE kc2.cnt_kenmerk_key = k2.cnt_kenmerk_key
|
||
AND k2.cnt_srtkenmerk_key = 301 -- indexdatum
|
||
AND kc2.cnt_kenmerkcontract_verwijder IS NULL) kc2
|
||
WHERE c.ins_discipline_key IN (482) -- 482 lic
|
||
AND c.cnt_contract_status = 0
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.cnt_contract_key = kc1.cnt_contract_key
|
||
AND kc1.cnt_kenmerk_key = ck1.cnt_kenmerk_key
|
||
AND ck1.cnt_kenmerk_verwijder IS NULL
|
||
AND ck1.cnt_srtkenmerk_key = cks1.cnt_srtkenmerk_key
|
||
AND ( cks1.cnt_srtkenmerk_omschrijving LIKE '%rijs%'
|
||
OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Hosting%'
|
||
OR cks1.cnt_srtkenmerk_omschrijving LIKE '%Korting%')
|
||
AND c.cnt_contract_key = kc2.cnt_contract_key(+)
|
||
AND c.cnt_contract_looptijd_van < SYSDATE + 50
|
||
AND c.cnt_contract_looptijd_tot > SYSDATE + 50
|
||
GROUP BY b.prs_leverancier_nr,
|
||
b.prs_bedrijf_naam,
|
||
c.cnt_contract_looptijd_van,
|
||
c.cnt_contract_omschrijving,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_nummer_intern,
|
||
c.cnt_contract_versie,
|
||
c.cnt_contract_document,
|
||
c.cnt_contract_looptijd_tot,
|
||
kc2.cnt_kenmerkcontract_waarde,
|
||
c.cnt_contract_termijnkosten,
|
||
cnt_contract_termijntermijn
|
||
UNION
|
||
SELECT b.prs_leverancier_nr ax_nr,
|
||
b.prs_bedrijf_naam bedrijf,
|
||
'C'
|
||
|| c.cnt_contract_nummer_intern
|
||
|| '.'
|
||
|| COALESCE (c.cnt_contract_versie, '0')
|
||
nr,
|
||
c.cnt_contract_omschrijving omschrijving,
|
||
COALESCE (c.cnt_contract_nummer, c.cnt_contract_omschrijving)
|
||
referentie,
|
||
c.cnt_contract_looptijd_van ingangsdatum,
|
||
c.cnt_contract_kosten jaarbedrag,
|
||
c.cnt_contract_termijnkosten termijnbedrag,
|
||
(SELECT ct.cnt_termijn_omschrijving
|
||
FROM cnt_termijn ct
|
||
WHERE ct.cnt_termijn_key = c.cnt_contract_termijntermijn)
|
||
termijn,
|
||
c.cnt_contract_document opmerking,
|
||
kc2.cnt_kenmerkcontract_waarde indexdatum,
|
||
c.cnt_contract_looptijd_tot einddatum,
|
||
c.cnt_contract_termijnkosten
|
||
FROM cnt_v_aanwezigcontract c,
|
||
prs_bedrijf b,
|
||
cnt_kenmerk ck1,
|
||
cnt_srtkenmerk cks1,
|
||
(SELECT kc2.cnt_contract_key, kc2.cnt_kenmerkcontract_waarde
|
||
FROM cnt_kenmerkcontract kc2, cnt_kenmerk k2
|
||
WHERE kc2.cnt_kenmerk_key = k2.cnt_kenmerk_key
|
||
AND k2.cnt_srtkenmerk_key = 301 -- indexdatum
|
||
AND kc2.cnt_kenmerkcontract_verwijder IS NULL) kc2
|
||
WHERE c.ins_discipline_key IN (661) -- 661 specials
|
||
AND c.cnt_contract_status = 0
|
||
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND c.cnt_contract_key = kc2.cnt_contract_key(+)
|
||
AND c.cnt_contract_looptijd_van < SYSDATE + 50
|
||
AND c.cnt_contract_looptijd_tot > SYSDATE + 50
|
||
GROUP BY b.prs_leverancier_nr,
|
||
b.prs_bedrijf_naam,
|
||
c.cnt_contract_looptijd_van,
|
||
c.cnt_contract_omschrijving,
|
||
c.cnt_contract_nummer,
|
||
c.cnt_contract_nummer_intern,
|
||
c.cnt_contract_versie,
|
||
c.cnt_contract_document,
|
||
c.cnt_contract_looptijd_tot,
|
||
c.cnt_contract_termijnkosten,
|
||
cnt_contract_kosten,
|
||
cnt_kenmerkcontract_waarde,
|
||
cnt_contract_termijntermijn
|
||
ORDER BY 1, 4;
|
||
|
||
CREATE OR REPLACE VIEW SGGR_V_RAP_MLD_VERLOF
|
||
(
|
||
MLD_MELDING_KEY,
|
||
MELDING_DATUM,
|
||
MELDING_OMSCHRIJVING,
|
||
DATUM_VERLOF,
|
||
DATUM_TM,
|
||
STATUS,
|
||
AANVRAGER_KEY,
|
||
AANVRAGER,
|
||
GOEDKEURDER_KEY,
|
||
GOEDKEURDER,
|
||
UREN,
|
||
FASE,
|
||
INCLUDE
|
||
)
|
||
AS
|
||
SELECT *
|
||
FROM (SELECT meld.mld_melding_key,
|
||
meld.mld_melding_datum,
|
||
meld.mld_melding_omschrijving,
|
||
meld.datum_verlof,
|
||
meld.datum_tm,
|
||
meld.mld_statuses_omschrijving,
|
||
meld.prs_perslid_key_voor,
|
||
meld.prs_perslid_naam_full_voor,
|
||
meld.prs_perslid_key,
|
||
meld.prs_perslid_naam_full,
|
||
meld.uren,
|
||
DECODE (mld_melding_status,
|
||
0,
|
||
reden.fac_usrdata_code || ' verlof: Ingediend',
|
||
2,
|
||
reden.fac_usrdata_code || ' verlof: Ingediend',
|
||
3,
|
||
reden.fac_usrdata_code || ' verlof: Ingediend',
|
||
4,
|
||
reden.fac_usrdata_code || ' verlof: Geacepteerd',
|
||
7,
|
||
reden.fac_usrdata_code || ' verlof: Geacepteerd',
|
||
reden.fac_usrdata_code || ' verlof: Verwerkt')
|
||
fase,
|
||
DECODE (mld_melding_status, 0, 2, 2, 2, 3, 2, 3) include
|
||
FROM (SELECT m.mld_melding_key,
|
||
mld_melding_datum,
|
||
mld_melding_omschrijving,
|
||
mld_melding_status,
|
||
datver.kenmerkwaarde datum_verlof,
|
||
datver.mld_kenmerk_groep,
|
||
dattm.kenmerkwaarde datum_tm,
|
||
mld_statuses_omschrijving,
|
||
m.prs_perslid_key_voor,
|
||
pf1.prs_perslid_naam_full
|
||
prs_perslid_naam_full_voor,
|
||
tra.prs_perslid_key,
|
||
pf2.prs_perslid_naam_full,
|
||
uren.kenmerkwaarde uren,
|
||
DECODE (mld_melding_status, 0, 2, 2, 2, 3, 2, 3)
|
||
include
|
||
FROM mld_melding m,
|
||
prs_v_perslid_fullnames_all pf1,
|
||
prs_v_perslid_fullnames_all pf2,
|
||
mld_statuses st,
|
||
(SELECT fac_tracking_refkey, prs_perslid_key
|
||
FROM fac_srtnotificatie srt, fac_tracking tr
|
||
WHERE tr.fac_srtnotificatie_key =
|
||
srt.fac_srtnotificatie_key
|
||
AND srt.fac_srtnotificatie_code =
|
||
'MLDACP') tra,
|
||
(SELECT mld_melding_key,
|
||
mld_kenmerk_groep,
|
||
fac.safe_to_date (
|
||
mld_kenmerkmelding_waarde,
|
||
'DD-MM-YYYY')
|
||
kenmerkwaarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 347
|
||
AND km.mld_kenmerkmelding_waarde IS NOT NULL)
|
||
datver,
|
||
(SELECT mld_melding_key,
|
||
mld_kenmerk_groep,
|
||
fac.safe_to_date (
|
||
mld_kenmerkmelding_waarde,
|
||
'DD-MM-YYYY')
|
||
kenmerkwaarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 346
|
||
AND km.mld_kenmerkmelding_waarde IS NOT NULL)
|
||
dattm,
|
||
(SELECT mld_melding_key,
|
||
mld_kenmerk_groep,
|
||
fac.safe_to_number (
|
||
mld_kenmerkmelding_waarde)
|
||
* -1
|
||
kenmerkwaarde
|
||
FROM mld_kenmerkmelding km, mld_kenmerk k
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND k.mld_srtkenmerk_key = 341
|
||
AND km.mld_kenmerkmelding_waarde IS NOT NULL)
|
||
uren
|
||
WHERE m.mld_stdmelding_key = 241
|
||
AND m.mld_melding_status IN
|
||
(0, 2, 3, 4, 5, 7, 9)
|
||
AND m.prs_perslid_key_voor = pf1.prs_perslid_key
|
||
AND datver.mld_melding_key = m.mld_melding_key
|
||
AND dattm.mld_melding_key = m.mld_melding_key
|
||
AND uren.mld_melding_key = m.mld_melding_key
|
||
AND datver.mld_kenmerk_groep =
|
||
dattm.mld_kenmerk_groep
|
||
AND datver.mld_kenmerk_groep =
|
||
uren.mld_kenmerk_groep
|
||
AND m.mld_melding_status = st.mld_statuses_key
|
||
AND m.mld_melding_key =
|
||
tra.fac_tracking_refkey(+)
|
||
AND tra.prs_perslid_key = pf2.prs_perslid_key(+))
|
||
meld
|
||
LEFT OUTER JOIN
|
||
(SELECT mld_melding_key,
|
||
mld_kenmerk_groep,
|
||
mld_kenmerkmelding_waarde,
|
||
w.fac_usrdata_code
|
||
FROM mld_kenmerkmelding km,
|
||
mld_kenmerk k,
|
||
fac_usrdata w
|
||
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
|
||
AND W.FAC_USRDATA_KEY =
|
||
mld_kenmerkmelding_waarde
|
||
AND k.mld_srtkenmerk_key = 441
|
||
AND km.mld_kenmerkmelding_waarde IS NOT NULL)
|
||
reden
|
||
ON meld.mld_melding_key = reden.mld_melding_key
|
||
AND meld.mld_kenmerk_groep = reden.mld_kenmerk_groep
|
||
WHERE COALESCE (reden.fac_usrdata_code, 'Apekool') NOT IN
|
||
('Compensatie', 'Bijzonder'))
|
||
UNION ALL
|
||
SELECT NULL,
|
||
ADD_MONTHS (TRUNC (SYSDATE, 'YYYY'), 0),
|
||
NULL,
|
||
ADD_MONTHS (TRUNC (SYSDATE, 'YYYY'), 0),
|
||
ADD_MONTHS (TRUNC (SYSDATE, 'YYYY'), 12) - 1,
|
||
'Beginstand',
|
||
prs_perslid_key,
|
||
prs_perslid_naam_full,
|
||
NULL,
|
||
NULL,
|
||
fac.safe_to_number (pk.prs_kenmerklink_waarde),
|
||
'Beginstand',
|
||
1 include
|
||
FROM prs_kenmerklink pk, prs_v_perslid_fullnames_all pf
|
||
WHERE prs_kenmerk_key = 1060 AND pk.prs_link_key = pf.prs_perslid_key;
|
||
|
||
CREATE OR REPLACE VIEW PRS_V_SGF_AFDELING
|
||
(
|
||
prs_afdeling_key,
|
||
prs_afdeling_naam
|
||
)
|
||
AS
|
||
SELECT prs_afdeling_key, prs_afdeling_naam
|
||
FROM prs_v_aanwezigafdeling
|
||
WHERE prs_afdeling_parentkey = 27;
|
||
|
||
CREATE OR REPLACE VIEW PRS_V_BUDGETHOUDER
|
||
(
|
||
PRS_PERSLID_KEY,
|
||
PRS_PERSLID_NAAM
|
||
)
|
||
AS
|
||
SELECT prs_kostenplaats_key, prs_perslid_naam_full
|
||
FROM prs_kostenplaats k, prs_v_perslid_fullnames p
|
||
WHERE prs_kostenplaats_begin < SYSDATE
|
||
AND (prs_kostenplaats_eind < SYSDATE
|
||
OR prs_kostenplaats_eind IS NULL)
|
||
AND prs_kostenplaats_verwijder IS NULL
|
||
AND p.prs_perslid_key = k.prs_perslid_key;
|
||
|
||
-- SGGR#23236 - Inzetten FACILITOR voor administratieve processen SGF!
|
||
|
||
CREATE OR REPLACE PROCEDURE sggr_select_INDEXWERK (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2)
|
||
AS
|
||
BEGIN
|
||
NULL;
|
||
END;
|
||
/
|
||
|
||
CREATE OR REPLACE VIEW sggr_v_export_INDEXWERK (RESULT, result_order)
|
||
AS
|
||
SELECT '', 0
|
||
FROM DUAL
|
||
WHERE 1 = 0;
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE sggr_export_indexwerk (p_applname IN VARCHAR2,
|
||
p_applrun IN VARCHAR2,
|
||
p_filedir IN VARCHAR2,
|
||
p_filename IN VARCHAR2)
|
||
AS
|
||
CURSOR ccnt (
|
||
p_splitsindexdatum DATE)
|
||
IS
|
||
SELECT '['
|
||
|| TO_CHAR (x.cnt_contract_nummer_intern)
|
||
|| '|'
|
||
|| x.cnt_contract_omschrijving
|
||
|| '] '
|
||
aanduiding,
|
||
x.cnt_contract_key,
|
||
x.cnt_contract_nummer_intern,
|
||
x.cnt_contract_versie,
|
||
x.cnt_contract_looptijd_tot einddatum,
|
||
li.index_datum laatste_indexdatum,
|
||
x.cnt_contract_kosten,
|
||
x.cnt_contract_termijnkosten,
|
||
DECODE (x.cnt_prs_bedrijf_key, 1062, 0.2, 1901, 2.0, 2901, 2.0, 2.3) indexpct -- Voor 2017: 2,3%, voor AAFM (1062) 0,2%, voor KIEN (1901) en VEBE (2901) 2.0%
|
||
FROM (SELECT c.*
|
||
FROM cnt_v_aanwezigcontract c
|
||
WHERE c.ins_discipline_key IN (481, 482, 501) -- SaaS/Onderhoud/Care
|
||
AND c.cnt_contract_status = 0 -- NIET Gesloten!
|
||
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
|
||
(SELECT 1
|
||
FROM cnt_v_aanwezigcontract
|
||
WHERE cnt_contract_nummer_intern =
|
||
c.cnt_contract_nummer_intern
|
||
AND cnt_contract_versie >
|
||
COALESCE (c.cnt_contract_versie,
|
||
'0'))) x
|
||
LEFT JOIN
|
||
(SELECT cnt_contract_key,
|
||
fac.safe_to_date (cnt_kenmerkcontract_waarde,
|
||
'dd-mm-yyyy')
|
||
index_datum
|
||
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
|
||
WHERE cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_srtkenmerk_key = 301) li -- Laatste index-datum
|
||
ON x.cnt_contract_key = li.cnt_contract_key
|
||
WHERE x.cnt_contract_looptijd_tot >
|
||
ADD_MONTHS (p_splitsindexdatum, -1)
|
||
AND COALESCE (li.index_datum, SYSDATE) < p_splitsindexdatum
|
||
ORDER BY TO_NUMBER (x.cnt_contract_nummer_intern);
|
||
|
||
c_splitsindexdatum DATE := TO_DATE ('01012017', 'ddmmyyyy');
|
||
v_errorhint VARCHAR2 (1000);
|
||
v_errormsg VARCHAR2 (1000);
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
v_new_contract_key NUMBER;
|
||
termijnkorting cnt_kenmerkcontract.cnt_kenmerkcontract_waarde%TYPE;
|
||
oldtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
|
||
newtermijnkosten cnt_contract.cnt_contract_termijnkosten%TYPE;
|
||
|
||
PROCEDURE upsert_cntkenmerk (p_contract_key IN NUMBER,
|
||
p_srtkenmerk_key IN NUMBER,
|
||
p_waarde IN VARCHAR2)
|
||
AS
|
||
v_kenmerk_key NUMBER;
|
||
v_srtkenmerk_kenmerktype VARCHAR2 (10);
|
||
v_srtkenmerk_lengte NUMBER;
|
||
v_waarde VARCHAR2 (255);
|
||
v_kenmerkcontract_key NUMBER;
|
||
BEGIN
|
||
-- Bepaal kenmerk van meegegeven contract en soort; deze moet bestaan!
|
||
SELECT cnt_kenmerk_key,
|
||
cnt_srtkenmerk_kenmerktype,
|
||
COALESCE (cnt_srtkenmerk_lengte, 255)
|
||
INTO v_kenmerk_key, v_srtkenmerk_kenmerktype, v_srtkenmerk_lengte
|
||
FROM cnt_contract c, cnt_kenmerk k, cnt_srtkenmerk sk
|
||
WHERE c.cnt_contract_key = p_contract_key
|
||
AND c.ins_discipline_key = k.cnt_srtcontract_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||
AND sk.cnt_srtkenmerk_verwijder IS NULL
|
||
AND sk.cnt_srtkenmerk_key = p_srtkenmerk_key;
|
||
|
||
v_waarde := SUBSTR (p_waarde, 1, v_srtkenmerk_lengte);
|
||
|
||
BEGIN
|
||
-- Bepaal bestaan/aanwezigheid huidige kenmerkwaarde?
|
||
SELECT cnt_kenmerkcontract_key
|
||
INTO v_kenmerkcontract_key
|
||
FROM cnt_kenmerkcontract kc
|
||
WHERE kc.cnt_contract_key = p_contract_key
|
||
AND kc.cnt_kenmerk_key = v_kenmerk_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
IF p_waarde IS NULL
|
||
THEN
|
||
RETURN;
|
||
END IF;
|
||
|
||
INSERT INTO cnt_kenmerkcontract (cnt_contract_key,
|
||
cnt_kenmerk_key,
|
||
cnt_kenmerkcontract_waarde)
|
||
VALUES (p_contract_key, v_kenmerk_key, v_waarde);
|
||
|
||
RETURN;
|
||
END;
|
||
|
||
IF p_waarde IS NULL
|
||
THEN
|
||
--DELETE FROM cnt_kenmerkcontract
|
||
-- WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key;
|
||
UPDATE cnt_kenmerkcontract
|
||
SET cnt_kenmerkcontract_verwijder = SYSDATE
|
||
WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key;
|
||
ELSE
|
||
UPDATE cnt_kenmerkcontract
|
||
SET cnt_kenmerkcontract_waarde = v_waarde,
|
||
cnt_kenmerkcontract_wijzig = SYSDATE
|
||
WHERE cnt_kenmerkcontract_key = v_kenmerkcontract_key;
|
||
END IF;
|
||
END;
|
||
BEGIN
|
||
-- Splitsen en indexeren FACILITOR-contracten.
|
||
FOR rc IN ccnt (c_splitsindexdatum)
|
||
LOOP
|
||
BEGIN
|
||
v_errorhint := 'Fout bij splitsen contract.';
|
||
-- Splitsen kun je wel achterwege laten als het contract pas na de splitsdatum begint
|
||
-- of voor de splitsdatum eindigt. Dat komt voor en geeft dan nu de warning
|
||
-- "Fout bij bepalen nieuwe versie" in de volgende stap. dat is niet erg dus.
|
||
cnt.splitscontract (rc.cnt_contract_key,
|
||
c_splitsindexdatum,
|
||
NULL,
|
||
NULL);
|
||
|
||
COMMIT;
|
||
|
||
-- Na splitsen wordt de nieuwe versie ge<67>ndexeerd.
|
||
v_errorhint := 'Fout bij bepalen nieuwe versie.';
|
||
|
||
BEGIN
|
||
SELECT cnt_contract_key
|
||
INTO v_new_contract_key
|
||
FROM cnt_v_aanwezigcontract
|
||
WHERE cnt_contract_nummer_intern = rc.cnt_contract_nummer_intern
|
||
AND cnt_contract_versie >
|
||
COALESCE (rc.cnt_contract_versie, '0');
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
-- Er is blijkbaar niet gesplitst (mogelijk contract begint pas na splitsdatum)
|
||
-- omdat prijspeil volgens laatste index toch oud is, moet die toch geindexdeerd worden
|
||
IF rc.einddatum > c_splitsindexdatum
|
||
THEN
|
||
v_new_contract_key := rc.cnt_contract_key;
|
||
END IF;
|
||
END;
|
||
|
||
v_errorhint := 'Fout bij toevoegen laatste indexdatum.';
|
||
upsert_cntkenmerk (v_new_contract_key,
|
||
301, -- Laatste index-datum
|
||
TO_CHAR (c_splitsindexdatum, 'ddmmyyyy'));
|
||
COMMIT;
|
||
|
||
v_errorhint := 'Fout bij toevoegen laatste indexpercentage.';
|
||
upsert_cntkenmerk (v_new_contract_key, 302, -- Laatste index-percentage
|
||
rc.indexpct);
|
||
COMMIT;
|
||
|
||
FOR rkc
|
||
IN ( SELECT kc.cnt_kenmerkcontract_key,
|
||
kc.cnt_kenmerkcontract_waarde cur_waarde,
|
||
ROUND (
|
||
fac.safe_to_number (kc.cnt_kenmerkcontract_waarde)
|
||
* ( (100 + rc.indexpct) / 100),
|
||
2)
|
||
new_waarde
|
||
FROM cnt_kenmerkcontract kc,
|
||
cnt_kenmerk k,
|
||
cnt_srtkenmerk sk
|
||
WHERE 1 = 1
|
||
AND kc.cnt_contract_key = v_new_contract_key
|
||
AND kc.cnt_kenmerkcontract_verwijder IS NULL
|
||
AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_kenmerk_verwijder IS NULL
|
||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||
AND sk.cnt_srtkenmerk_verwijder IS NULL
|
||
AND sk.cnt_srtkenmerk_kenmerktype = 'N'
|
||
AND (sk.cnt_srtkenmerk_key = 241 -- Hosting
|
||
OR (sk.cnt_srtkenmerk_key = 221 -- Tarief Consultant
|
||
AND rc.cnt_contract_nummer_intern != 42) -- ...behalve voor AAFM/AAIT, KIEN, VEBE=> handmatig
|
||
OR (sk.cnt_srtkenmerk_key = 222 -- Tarief Specialist
|
||
AND rc.cnt_contract_nummer_intern != 42) -- ...behalve voor AAFM/AAIT, KIEN, VEBE=> handmatig
|
||
OR sk.cnt_srtkenmerk_upper LIKE '%PRIJS%')
|
||
ORDER BY k.cnt_kenmerk_volgnummer)
|
||
LOOP
|
||
v_errorhint := 'Fout bij bijwerken prijsveld.';
|
||
|
||
UPDATE cnt_kenmerkcontract
|
||
SET cnt_kenmerkcontract_waarde =
|
||
TO_CHAR (rkc.new_waarde, '999999D99')
|
||
WHERE cnt_kenmerkcontract_key = rkc.cnt_kenmerkcontract_key;
|
||
END LOOP;
|
||
|
||
COMMIT;
|
||
|
||
|
||
-- Aanpassen van de totalen. Let op dat een evt kortingsbedrag (cnt_srtkenmerk_key=85)
|
||
-- niet meegeindexeerd wordt, dus kun je niet zomaar het totaal indexeren
|
||
|
||
v_errorhint := 'Fout bij bijwerken termijnbedrag.';
|
||
|
||
SELECT cnt_contract_termijnkosten
|
||
INTO oldtermijnkosten
|
||
FROM cnt_contract
|
||
WHERE cnt_contract_key = v_new_contract_key;
|
||
|
||
BEGIN
|
||
SELECT COALESCE (
|
||
fac.safe_to_number (kc.cnt_kenmerkcontract_waarde),
|
||
0)
|
||
INTO termijnkorting
|
||
FROM cnt_kenmerkcontract kc, cnt_kenmerk k
|
||
WHERE kc.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||
AND k.cnt_srtkenmerk_key = 85 -- het kortingsbedrag (is negatief bij korting) per termijn
|
||
AND kc.cnt_contract_key = v_new_contract_key;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
termijnkorting := 0;
|
||
END;
|
||
|
||
UPDATE cnt_contract
|
||
SET cnt_contract_termijnkosten =
|
||
ROUND (
|
||
(rc.cnt_contract_termijnkosten
|
||
- fac.safe_to_number (termijnkorting))
|
||
* ( (100 + rc.indexpct) / 100)
|
||
+ fac.safe_to_number (termijnkorting),
|
||
2)
|
||
WHERE cnt_contract_key = v_new_contract_key;
|
||
|
||
SELECT cnt_contract_termijnkosten
|
||
INTO newtermijnkosten
|
||
FROM cnt_contract
|
||
WHERE cnt_contract_key = v_new_contract_key;
|
||
|
||
--c.ins_discipline_key IN (481, 482, 501) -- SaaS/Onderhoud/Care = termijn per maand/jaar/maand
|
||
v_errorhint := 'Fout bij bijwerken jaarbedrag.';
|
||
|
||
UPDATE cnt_contract
|
||
SET cnt_contract_kosten =
|
||
DECODE (ins_discipline_key, 481, 12, 482, 1, 501, 12)
|
||
* cnt_contract_termijnkosten
|
||
WHERE cnt_contract_key = v_new_contract_key;
|
||
|
||
v_errorhint := 'Fout bij bijwerken index-tracking (CNTUPD).';
|
||
|
||
fac.trackaction (
|
||
'CNTUPD',
|
||
v_new_contract_key,
|
||
NULL,
|
||
NULL,
|
||
'Contract ge<67>ndexeerd met '
|
||
|| TO_CHAR (rc.indexpct)
|
||
|| '%; termijnbedrag gewijzigd van <20>'
|
||
|| TO_CHAR (oldtermijnkosten)
|
||
|| ' naar <20>'
|
||
|| TO_CHAR (newtermijnkosten));
|
||
COMMIT;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
' ORACLE (error '
|
||
|| oracle_err_num
|
||
|| '/'
|
||
|| oracle_err_mes
|
||
|| ')';
|
||
fac.writelog (p_applname,
|
||
'W',
|
||
rc.aanduiding || v_errormsg,
|
||
v_errorhint);
|
||
COMMIT;
|
||
END;
|
||
END LOOP;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||
fac.writelog (p_applname,
|
||
'E',
|
||
'Proces INDEXWERK afgebroken!',
|
||
v_errormsg);
|
||
COMMIT;
|
||
END;
|
||
/
|
||
|
||
-- Standaard volgorde van de kolommen in het CSV-formaat)
|
||
-- Variabelelijst
|
||
-- v_alg_locatie_code 1
|
||
-- v_alg_gebouw_code 2
|
||
-- v_alg_verdieping_volgnr 3
|
||
-- v_alg_ruimte_nr 4
|
||
-- v_prs_werkplek_volgnr 5
|
||
-- v_prs_werkplek_omschrijving 6
|
||
-- v_prs_afdeling_naam 7
|
||
-- v_prs_perslid_naam 8
|
||
-- v_prs_perslid_tussenvoegsel 9
|
||
-- v_prs_perslid_voornaam 10
|
||
-- v_prs_perslid_voorletters 11
|
||
-- v_prs_perslid_partner_naam 12
|
||
-- v_prs_perslid_partner_tussenv 13
|
||
-- v_prs_naamgebruik_code 14 0 (default) perslid_naam en perslid_tussenvoegsel worden gebruikt
|
||
-- 1 personen die de geboortenaam van de partner icm de eigen naam willen gebruiken
|
||
-- 2 personen die de geboortenaam van de partner willen gebruiken
|
||
-- 3 personen die de eigen naam icm de geboortenaam van de partner willen gebruiken
|
||
-- v_prs_perslid_geslacht 15 Gebruik 'man', 'm' of 1 voor man en 'vrouw', 'v' of 0 voor vrouw case insensitive geen default
|
||
-- v_prs_perslid_telefoonnr 16
|
||
-- v_prs_perslid_mobiel 17
|
||
-- v_prs_perslid_email 18
|
||
-- v_prs_perslid_dienstverband 19
|
||
-- v_prs_perslid_nr 20
|
||
-- v_prs_srtperslid_omschrijving 21
|
||
-- v_prs_perslid_oslogin 22
|
||
-- v_prs_perslid_wachtwoord 23
|
||
-- v_prs_perslid_titel 24
|
||
-- v_prs_perslid_apikey 25
|
||
-- v_dummy 26
|
||
-- v_prs_kenmerk1 27
|
||
-- v_prs_kenmerk2 28
|
||
-- v_prs_kenmerk3 29
|
||
-- v_prs_kenmerk4 30
|
||
-- v_prs_kenmerk5 31
|
||
-- v_prs_kenmerk6 32
|
||
-- v_prs_kenmerk7 33
|
||
-- v_prs_kenmerk8 34
|
||
-- v_prs_kenmerk9 35
|
||
-- v_prs_kenmerk10 36
|
||
-- v_prs_kenmerk11 37
|
||
-- v_prs_kenmerk12 38
|
||
-- v_prs_kenmerk13 39
|
||
-- v_prs_kenmerk14 40
|
||
-- v_prs_kenmerk15 41
|
||
-- v_prs_kenmerk16 42
|
||
-- v_prs_kenmerk17 43
|
||
-- v_prs_kenmerk18 44
|
||
-- v_prs_kenmerk19 45
|
||
-- v_prs_kenmerk20 46
|
||
|
||
CREATE OR REPLACE PROCEDURE sggr_import_prs (p_import_key IN NUMBER)
|
||
AS
|
||
v_errormsg VARCHAR2 (1000) := '-';
|
||
v_errorhint VARCHAR2 (1000) := '-';
|
||
oracle_err_num NUMBER;
|
||
oracle_err_mes VARCHAR2 (200);
|
||
BEGIN
|
||
v_errorhint := 'Generieke import';
|
||
|
||
-- De sequence array staat beschreven in PRS_PAC.SRC bij de import_perslid-PROCEDURE.
|
||
--"Personeelsnummer;Geslacht;Login;Achternaam;Tussenvoegsel;Voorletters;Voornaam;Telefoonnummer;Mobiel;Email;Afdeling;Datumindienst;Datumuitdienst;Functie"
|
||
prs.import_perslid (
|
||
p_import_key,
|
||
'0;0;0;0;0;0;11;4;5;6;'
|
||
|| '7;0;0;0;2;8;9;10;0;1;'
|
||
|| '14;3;0;0;0;0;12;13;0;0;'
|
||
|| '0;0;0;0;0;0;0;0;0;0;'
|
||
|| '0;0;0;0;0;0',
|
||
'%Personeelsnummer;Geslacht;Login;Achternaam;Tussenvoegsel;Voorletters;Voornaam;Telefoonnummer;Mobiel;Email;Afdeling;Datumindienst;Datumuitdienst;Functie%');
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
oracle_err_num := SQLCODE;
|
||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||
v_errormsg :=
|
||
'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ') ';
|
||
fac.imp_writelog (p_import_key,
|
||
'E',
|
||
v_errormsg || v_errorhint,
|
||
'Inleesproces personen afgebroken!');
|
||
END sggr_import_prs;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE PROCEDURE sggr_update_prs (p_import_key IN NUMBER)
|
||
IS
|
||
-- Maximaal percentage aan nieuwe medewerkers tov. actieve medewerkers met een e-mail
|
||
c_max_delta_percentage NUMBER (10) := 20; -- 20%!
|
||
v_count_prs_import NUMBER (10); -- #actieve personen na import!
|
||
v_count_prs_actual NUMBER (10); -- #actieve personen voor import!
|
||
|
||
-- Let op! Personen die niet meer in dienst zijn -> niet in fac_imp_perslid!
|
||
-- Dubbele oslogins? Dan wordt iemand mogelijk niet verwijderd/INACTIEF!
|
||
CURSOR c_del
|
||
IS
|
||
SELECT p.prs_perslid_key, p.prs_perslid_oslogin
|
||
FROM prs_v_aanwezigperslid p
|
||
WHERE (p.prs_perslid_oslogin IS NULL
|
||
OR p.prs_perslid_oslogin NOT LIKE '\_%' ESCAPE '\') -- ' tbv. opmaak
|
||
AND p.prs_perslid_oslogin2 IS NULL
|
||
AND NOT EXISTS
|
||
(SELECT 1
|
||
FROM fac_imp_perslid i
|
||
WHERE UPPER (i.prs_perslid_oslogin) =
|
||
UPPER (p.prs_perslid_oslogin))
|
||
ORDER BY 2, 1;
|
||
BEGIN
|
||
-- Bepaal oslogin-match tussen Facilitor en RECENT importbestand ofwel het aantal
|
||
-- actieve personen na import.
|
||
-- RECENT betekent niet meer dan een kwartiertje oud (14,4 minuten); dit voorkomt
|
||
-- dat - als er geen nieuw importbestand is aangeleverd - telkens dezelfde fouten
|
||
-- worden gerapporteerd (nl. op basis van een oud bestand in FAC_IMP_PERSLID).
|
||
SELECT COUNT ( * )
|
||
INTO v_count_prs_import
|
||
FROM prs_v_aanwezigperslid p, fac_imp_perslid i
|
||
WHERE p.prs_perslid_oslogin IS NOT NULL
|
||
AND UPPER (p.prs_perslid_oslogin) = UPPER (i.prs_perslid_oslogin);
|
||
|
||
-- Bepaal huidig aantal actieve personen in Facilitor.
|
||
SELECT DECODE (COUNT ( * ), 0, 1, COUNT ( * ))
|
||
INTO v_count_prs_actual
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_oslogin IS NOT NULL;
|
||
|
||
IF (TRUNC ( (v_count_prs_import / v_count_prs_actual) * 100) <
|
||
(100 - c_max_delta_percentage))
|
||
THEN
|
||
fac.imp_writelog (
|
||
p_import_key,
|
||
'E',
|
||
'Verschil tussen huidig aantal en te importeren aantal personen te groot; zie specificatie!',
|
||
'- max. verschilpercentage = ['
|
||
|| TO_CHAR (c_max_delta_percentage)
|
||
|| '%]'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| '- #personen/import = ['
|
||
|| TO_CHAR (v_count_prs_import)
|
||
|| ']'
|
||
|| CHR (13)
|
||
|| CHR (10)
|
||
|| '- #personen/huidig = ['
|
||
|| TO_CHAR (v_count_prs_actual)
|
||
|| ']');
|
||
|
||
RETURN;
|
||
END IF;
|
||
|
||
-- Generieke update.
|
||
prs.update_perslid (p_import_key, 'LOGIN', 'D');
|
||
|
||
-- Verwijder personen die niet meer in de import voorkomen.
|
||
FOR rec IN c_del
|
||
LOOP
|
||
prs.delete_perslid (p_import_key, rec.prs_perslid_key);
|
||
END LOOP;
|
||
|
||
-- Zolang SSO nog niet is ingeregeld, krijgt elke medewerker -met primaire
|
||
-- login en zonder wachtwoord!- een dummy-wachtwoord!
|
||
BEGIN
|
||
EXECUTE IMMEDIATE 'ALTER TRIGGER prs_t_prs_perslid_b_iu DISABLE';
|
||
|
||
BEGIN
|
||
FOR c
|
||
IN (SELECT prs_perslid_key
|
||
FROM prs_v_aanwezigperslid
|
||
WHERE prs_perslid_key > 100
|
||
AND prs_perslid_oslogin IS NOT NULL
|
||
AND prs_perslid_salt IS NULL)
|
||
LOOP
|
||
prs.setpassword (c.prs_perslid_key, 'Ququlequ');
|
||
END LOOP;
|
||
END;
|
||
|
||
EXECUTE IMMEDIATE 'ALTER TRIGGER prs_t_prs_perslid_b_iu ENABLE';
|
||
END;
|
||
END sggr_update_prs;
|
||
/
|
||
|
||
-- View tbv rapportage voor het planbureau in Emmen, nodig voor het verwerken van verlofaanvragen van consultants
|
||
CREATE OR REPLACE VIEW sggr_v_rap_verlofplanbureau
|
||
(
|
||
melding,
|
||
meldingdatum,
|
||
meldingomschrijving,
|
||
status,
|
||
perslid
|
||
)
|
||
AS
|
||
SELECT DISTINCT m.mld_melding_key,
|
||
mld_melding_datum,
|
||
mld_melding_omschrijving,
|
||
mld_statuses_omschrijving,
|
||
pf1.prs_perslid_naam_full
|
||
FROM mld_melding m,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pf1,
|
||
mld_statuses st,
|
||
(SELECT k.*
|
||
FROM prs_kenmerklink k
|
||
WHERE K.prs_KENMERK_KEY = 1100 AND k.PRS_KENMERKLINK_WAARDE = '1')
|
||
planbureau
|
||
WHERE m.mld_stdmelding_key = 241
|
||
AND mld_melding_status IN (0, 2, 3, 4)
|
||
AND m.prs_perslid_key_voor = pf1.prs_perslid_key
|
||
AND m.mld_melding_status = st.mld_statuses_key
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_perslid_key = planbureau.prs_link_key
|
||
--AND p.prs_srtperslid_key IN (31, 2047, 3815, 3816, 4081)
|
||
AND (m.mld_melding_flag <> 3 OR m.mld_melding_flag IS NULL);
|
||
|
||
|
||
--- Notificatie verlofaanvragen consultants voor het planbureau
|
||
CREATE OR REPLACE VIEW SGGR_V_NOTI_PLANBUREAU
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (n.fac_srtnotificatie_oms,
|
||
'##NAAM##',
|
||
pn.prs_perslid_naam_friendly),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
'planbureau@aareon.nl' xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_v_perslid_fullnames_all pn,
|
||
prs_perslid p,
|
||
(SELECT k.*
|
||
FROM prs_kenmerklink k
|
||
WHERE K.prs_KENMERK_KEY = 1100 AND k.PRS_KENMERKLINK_WAARDE = '1')
|
||
planbureau
|
||
WHERE T.FAC_TRACKING_REFKEY = M.MLD_MELDING_KEY
|
||
AND P.PRS_PERSLID_KEY = PN.PRS_PERSLID_KEY
|
||
AND T.FAC_SRTNOTIFICATIE_KEY = 26 --- nieuwe verlofaanvraag
|
||
AND N.FAC_SRTNOTIFICATIE_CODE = 'CUST01'
|
||
AND M.MLD_STDMELDING_KEY = 241 -- verlofaanvragen
|
||
AND M.PRS_PERSLID_KEY_VOOR = P.PRS_PERSLID_KEY
|
||
-- AND P.PRS_SRTPERSLID_KEY IN (31, 2047, 3815, 3816, 4081) -- alleen notificeren indien de aanvaag door een (IT) consultant gedaan is
|
||
AND P.PRS_PERSLID_KEY = PLANBUREAU.PRS_LINK_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) =
|
||
'SGGR_V_NOTI_PLANBUREAU')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'SGGR_V_NOTI_PLANBUREAU');
|
||
|
||
-- overzicht met te accepteren meldingen voor teamleiders/managers
|
||
CREATE OR REPLACE VIEW SGGR_V_RAP_ACC
|
||
(
|
||
MLD_MELDING_KEY,
|
||
MLD_MELDING_NR,
|
||
MELDING,
|
||
DATUM,
|
||
STATUS,
|
||
AANVRAGER,
|
||
LEIDINGGEVENDE,
|
||
FCLT_3D_USER_KEY
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
m.mld_melding_key meldingnr,
|
||
sm.mld_stdmelding_omschrijving melding,
|
||
TO_DATE (m.mld_melding_datum) datum,
|
||
CASE m.mld_melding_status
|
||
WHEN 1 THEN 'Afgewezen'
|
||
WHEN 2 THEN 'Nieuw'
|
||
WHEN 3 THEN 'Te accepteren'
|
||
WHEN 4 THEN 'In behandeling'
|
||
WHEN 5 THEN 'Afgemeld'
|
||
WHEN 6 THEN 'Historie'
|
||
WHEN 7 THEN 'Uitgegeven'
|
||
END
|
||
status,
|
||
p.prs_perslid_naam_friendly aanvrager,
|
||
mg.prs_perslid_naam_friendly leidinggevende,
|
||
mg.prs_perslid_key AS fclt_3d_user_key
|
||
FROM mld_melding m,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all mg,
|
||
mld_stdmelding sm
|
||
WHERE (m.mld_stdmelding_key IN (43, 281, 261, 421, 346)
|
||
OR sm.mld_ins_discipline_key = 721) --- 43=inkoopverplichtingen, 281=aftrekbare kosten leaseauto's, 261=declaraties, 731=vakgroep relatiegeschenken, 421=overurensheet, 346=Aanvraag hotelkamer
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND m.prs_perslid_key_voor = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = 1081
|
||
AND kl.prs_kenmerklink_waarde = mg.prs_perslid_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND m.mld_melding_status IN (2, 3);
|
||
|
||
CREATE OR REPLACE VIEW sggr_v_ICT_leverancier
|
||
(
|
||
BEDRIJF_KEY,
|
||
BEDRIJF_NAAM
|
||
)
|
||
AS
|
||
SELECT L.PRS_BEDRIJF_KEY, L.PRS_BEDRIJF_NAAM
|
||
FROM prs_bedrijf l
|
||
WHERE L.PRS_RELATIETYPE_KEY = 10 -- ICT leverancier
|
||
AND L.PRS_BEDRIJF_LEVERANCIER IS NOT NULL
|
||
AND L.PRS_BEDRIJF_VERWIJDER IS NULL;
|
||
|
||
CREATE OR REPLACE VIEW SGGR_V_NOTI_ICT
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (n.fac_srtnotificatie_oms,
|
||
'##NAAM##',
|
||
pn.prs_perslid_naam_friendly),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
'Ict@aareon.nl' xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pn
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND t.fac_srtnotificatie_key = 26
|
||
AND n.fac_srtnotificatie_code = 'CUST04'
|
||
AND m.mld_stdmelding_key = 321 -- Aanvraag hardware/software
|
||
AND p.prs_perslid_key = pn.prs_perslid_key
|
||
AND m.prs_perslid_key_voor = 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) = 'SGGR_V_NOTI_ICT')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_ICT');
|
||
|
||
CREATE OR REPLACE VIEW SGGR_V_NOTI_DIR
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (n.fac_srtnotificatie_oms,
|
||
'##NAAM##',
|
||
pn.prs_perslid_naam_friendly),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
'martin.holwerda@aareon.com; jeroen.kuiper@aareon.com;johan.deboer@aareon.nl'
|
||
xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pn,
|
||
prs_kenmerklink kl,
|
||
prs_perslid mgr
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND t.fac_srtnotificatie_key = 26
|
||
AND n.fac_srtnotificatie_code = 'CUST05'
|
||
AND m.mld_stdmelding_key = 301 -- Inkoop hardware/software
|
||
AND p.prs_perslid_key = pn.prs_perslid_key
|
||
AND p.prs_perslid_key = kl.prs_link_key
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
|
||
AND prs_kenmerklink_waarde = mgr.prs_perslid_key
|
||
AND mgr.prs_perslid_key <> 281 --- Peter Feij
|
||
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) = 'SGGR_V_NOTI_DIR')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (n.fac_srtnotificatie_oms,
|
||
'##NAAM##',
|
||
pn.prs_perslid_naam_friendly),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
'p.feij@facilitor.nl' xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pn,
|
||
prs_kenmerklink kl,
|
||
prs_perslid mgr
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND t.fac_srtnotificatie_key = 26
|
||
AND n.fac_srtnotificatie_code = 'CUST05'
|
||
AND m.mld_stdmelding_key = 301 -- Inkoop hardware/software
|
||
AND p.prs_perslid_key = pn.prs_perslid_key
|
||
AND p.prs_perslid_key = kl.prs_link_key
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
|
||
AND prs_kenmerklink_waarde = mgr.prs_perslid_key
|
||
AND mgr.prs_perslid_key = 281 --- Peter Feij
|
||
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) = 'SGGR_V_NOTI_DIR')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (
|
||
n.fac_srtnotificatie_oms,
|
||
'##STDMLD## ##KEY##',
|
||
sm.mld_stdmelding_omschrijving || '/' || m.mld_melding_key),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
'p.feij@facilitor.nl' xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pn,
|
||
prs_v_afdeling a
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND t.fac_srtnotificatie_key = 26
|
||
AND n.fac_srtnotificatie_code = 'MLD2B3'
|
||
AND m.mld_stdmelding_key in ( 361, 161, 101, 122, 162, 201) --- 361=Aanvraag opleiding, 161=Nieuw abo, 101=Nieuwe opdr, 122=Uitbreiding opdr, 162=wijzigingen abo, 201=creditering
|
||
AND p.prs_perslid_key = pn.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_bedrijf_key = 1001 --- Facilitor
|
||
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) = 'SGGR_V_NOTI_DIR')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR')
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (
|
||
n.fac_srtnotificatie_oms,
|
||
'##STDMLD## ##KEY##',
|
||
sm.mld_stdmelding_omschrijving || '/' || m.mld_melding_key),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
'martin.holwerda@aareon.com; jeroen.kuiper@aareon.com;johan.deboer@aareon.nl'
|
||
xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
mld_stdmelding sm,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pn,
|
||
prs_v_afdeling a
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND t.fac_srtnotificatie_key = 26
|
||
AND n.fac_srtnotificatie_code = 'MLD2B3'
|
||
AND m.mld_stdmelding_key IN (361, 386) --- 361=Aanvraag opleiding, 386=Productmanagement Aareon
|
||
AND p.prs_perslid_key = pn.prs_perslid_key
|
||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||
AND A.PRS_BEDRIJF_KEY = 21 --- Aareon Nederland
|
||
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) = 'SGGR_V_NOTI_DIR')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_DIR');
|
||
|
||
CREATE OR REPLACE VIEW SGGR_V_RAP_DIR
|
||
(
|
||
MLD_MELDING_KEY,
|
||
MLD_MELDING_NR,
|
||
MELDING,
|
||
DATUM,
|
||
STATUS,
|
||
AANVRAGER,
|
||
BEDRIJF,
|
||
LEIDINGGEVENDE
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
m.mld_melding_key meldingnr,
|
||
sm.mld_stdmelding_omschrijving melding,
|
||
TO_DATE (m.mld_melding_datum) datum,
|
||
CASE m.mld_melding_status
|
||
WHEN 1 THEN 'Afgewezen'
|
||
WHEN 2 THEN 'Nieuw'
|
||
WHEN 3 THEN 'Te accepteren'
|
||
WHEN 4 THEN 'In behandeling'
|
||
WHEN 5 THEN 'Afgemeld'
|
||
WHEN 6 THEN 'Historie'
|
||
WHEN 7 THEN 'Uitgegeven'
|
||
END
|
||
status,
|
||
p.prs_perslid_naam_friendly aanvrager,
|
||
b.prs_bedrijf_naam,
|
||
mg.prs_perslid_naam_friendly leidinggevende
|
||
FROM mld_melding m,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_perslid pl,
|
||
prs_v_afdeling a,
|
||
prs_bedrijf b,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all mg,
|
||
mld_stdmelding sm
|
||
WHERE (m.mld_stdmelding_key IN (261, 281, 43, 421, 346)
|
||
OR sm.mld_ins_discipline_key = 721) --inkoopverplichting, declaratie, aftrekbare kosten lease auto, overurensheet, aanvraag hotelkamer, vakgroep relatiegeschenken
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND m.prs_perslid_key_voor = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = 1081
|
||
AND kl.prs_kenmerklink_waarde = mg.prs_perslid_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND m.mld_melding_status IN (2, 3)
|
||
AND p.prs_perslid_key = pl.prs_perslid_key
|
||
AND pl.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND mg.prs_perslid_key IN (120, 121, 281) -- directie
|
||
UNION ALL
|
||
SELECT DISTINCT m.mld_melding_key,
|
||
m.mld_melding_key meldingnr,
|
||
sm.mld_stdmelding_omschrijving,
|
||
TO_DATE (m.mld_melding_datum) datum,
|
||
CASE m.mld_melding_status
|
||
WHEN 1 THEN 'Afgewezen'
|
||
WHEN 2 THEN 'Nieuw'
|
||
WHEN 3 THEN 'Te accepteren'
|
||
WHEN 4 THEN 'In behandeling'
|
||
WHEN 5 THEN 'Afgemeld'
|
||
WHEN 6 THEN 'Historie'
|
||
WHEN 7 THEN 'Uitgegeven'
|
||
END
|
||
status,
|
||
p.prs_perslid_naam_friendly aanvrager,
|
||
b.prs_bedrijf_naam,
|
||
manager.prs_perslid_naam_friendly leidinggevende
|
||
FROM mld_melding m,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_perslid pl,
|
||
prs_v_afdeling a,
|
||
prs_bedrijf b,
|
||
prs_v_perslid_fullnames_all mg,
|
||
mld_stdmelding sm,
|
||
(SELECT kl.*, mg.*
|
||
FROM prs_kenmerklink kl, prs_v_perslid_fullnames_all mg
|
||
WHERE kl.prs_kenmerklink_waarde = mg.prs_perslid_key
|
||
AND kl.prs_kenmerk_key = 1081) manager
|
||
WHERE m.mld_stdmelding_key IN (301, 361, 386, 161, 101, 122, 162, 201) -- aanvraag hw/sw, opleidingsformulier, aanvraag productmanagement, nieuw abo, nieuwe opdr, uitbreiding opdr, wijziging abo, crediteringen
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND m.mld_melding_status IN (2, 3)
|
||
AND p.prs_perslid_key = pl.prs_perslid_key
|
||
AND pl.prs_afdeling_key = a.prs_afdeling_key
|
||
AND a.prs_bedrijf_key = b.prs_bedrijf_key
|
||
AND m.prs_perslid_key_voor = manager.prs_link_key(+);
|
||
|
||
CREATE OR REPLACE VIEW SGGR_V_NOTI_CRM
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (n.fac_srtnotificatie_oms,
|
||
'##NAAM##',
|
||
pn.prs_perslid_naam_friendly),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
'2elijnKlantenMarkt@aareon.nl' xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pn
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND t.fac_srtnotificatie_key = 22
|
||
AND n.fac_srtnotificatie_code = 'CUST01'
|
||
AND m.mld_stdmelding_key = 241 -- verlofaanvragen
|
||
AND p.prs_perslid_key = pn.prs_perslid_key
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND P.PRS_AFDELING_KEY = 274 ---CRM en Markt
|
||
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) = 'SGGR_V_NOTI_CRM')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) = 'SGGR_V_NOTI_CRM');
|
||
|
||
-- Notificatie aan managers:
|
||
-- Acceptatie van declaratie vereist
|
||
-- Acceptatie van inkoopverplichting vereist
|
||
|
||
CREATE OR REPLACE VIEW SGGR_V_NOTI_MANAGER
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (n.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
mgr.prs_perslid_email xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_kenmerklink kl,
|
||
prs_perslid mgr,
|
||
mld_stdmelding sm
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND t.fac_srtnotificatie_key = 26
|
||
AND n.fac_srtnotificatie_code = 'CUST02'
|
||
AND m.mld_stdmelding_key IN (281, 261) -- declaratie, aftrekbare priv<69>kosten leaseauto,
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_perslid_key = kl.prs_link_key
|
||
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
|
||
AND prs_kenmerklink_waarde = mgr.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) =
|
||
'SGGR_V_NOTI_MANAGER')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'SGGR_V_NOTI_MANAGER')
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (n.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
mgr.prs_perslid_email xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_kenmerklink kl,
|
||
prs_perslid mgr,
|
||
mld_stdmelding sm
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND t.fac_srtnotificatie_key = 26
|
||
AND n.fac_srtnotificatie_code = 'CUST03'
|
||
AND (m.mld_stdmelding_key = 43 OR sm.mld_ins_discipline_key = 721) -- inkoopverplichting of vakgroep relatiegeschenken
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_perslid_key = kl.prs_link_key
|
||
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
|
||
AND prs_kenmerklink_waarde = mgr.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) =
|
||
'SGGR_V_NOTI_MANAGER')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'SGGR_V_NOTI_MANAGER')
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (n.fac_srtnotificatie_oms, '##KEY##', m.mld_melding_key),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
mgr.prs_perslid_email xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_kenmerklink kl,
|
||
prs_perslid mgr,
|
||
mld_stdmelding sm
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND t.fac_srtnotificatie_key = 26
|
||
AND n.fac_srtnotificatie_code = 'CUST07'
|
||
AND m.mld_stdmelding_key = 421 -- overurensheet
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_perslid_key = kl.prs_link_key
|
||
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
|
||
AND prs_kenmerklink_waarde = mgr.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) =
|
||
'SGGR_V_NOTI_MANAGER')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'SGGR_V_NOTI_MANAGER')
|
||
UNION ALL
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
(REPLACE (n.fac_srtnotificatie_oms,
|
||
'##STDMELDINGOMSCHR##',
|
||
sm.mld_stdmelding_omschrijving))
|
||
|| '/'
|
||
|| m.mld_melding_key,
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
mgr.prs_perslid_email xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_kenmerklink kl,
|
||
prs_perslid mgr,
|
||
mld_stdmelding sm
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND t.fac_srtnotificatie_key = 26
|
||
AND n.fac_srtnotificatie_code = 'CUST08'
|
||
AND m.mld_stdmelding_key = 346 -- hotelkamer
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_perslid_key = kl.prs_link_key
|
||
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
|
||
AND prs_kenmerklink_waarde = mgr.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) =
|
||
'SGGR_V_NOTI_MANAGER')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'SGGR_V_NOTI_MANAGER');
|
||
|
||
-- Informeren over verlofaanvragen na afmelden door administratie
|
||
|
||
CREATE OR REPLACE VIEW SGGR_V_NOTI_VERLOF_MGR
|
||
(
|
||
SENDER,
|
||
RECEIVER,
|
||
TEXT,
|
||
CODE,
|
||
FAC_SRTNOTIFICATIE_KEY,
|
||
KEY,
|
||
XKEY,
|
||
XEMAIL,
|
||
XMOBILE
|
||
)
|
||
AS
|
||
SELECT DISTINCT
|
||
NULL sender,
|
||
NULL receiver,
|
||
REPLACE (n.fac_srtnotificatie_oms,
|
||
'##NAAM##',
|
||
pn.prs_perslid_naam_friendly),
|
||
fac_srtnotificatie_code,
|
||
n.fac_srtnotificatie_key,
|
||
m.mld_melding_key,
|
||
NULL xkey,
|
||
mgr.prs_perslid_email xemail,
|
||
NULL xmobile
|
||
FROM fac_tracking t,
|
||
mld_melding m,
|
||
fac_srtnotificatie n,
|
||
prs_perslid p,
|
||
prs_v_perslid_fullnames_all pn,
|
||
prs_kenmerklink kl,
|
||
prs_perslid mgr
|
||
WHERE t.fac_tracking_refkey = m.mld_melding_key
|
||
AND t.fac_srtnotificatie_key = 22 ---mldafm
|
||
AND n.fac_srtnotificatie_code = 'CUST01'
|
||
AND m.mld_stdmelding_key = 241 -- verlofaanvragen
|
||
AND p.prs_perslid_key = pn.prs_perslid_key
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND p.prs_perslid_key = kl.prs_link_key
|
||
AND prs_kenmerk_key = 1081 -- kenmerk waarin de manager staat vermeld
|
||
AND prs_kenmerklink_waarde = mgr.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) =
|
||
'SGGR_V_NOTI_VERLOF_MGR')
|
||
AND t.fac_tracking_datum <
|
||
(SELECT fac_notificatie_job_nextrun
|
||
FROM fac_notificatie_job
|
||
WHERE UPPER (fac_notificatie_job_view) =
|
||
'SGGR_V_NOTI_VERLOF_MGR');
|
||
|
||
CREATE OR REPLACE FORCE VIEW SGGR_V_RAPP_VERLOF
|
||
(
|
||
MLD_MELDING_KEY,
|
||
MLD_MELDING_NR,
|
||
MELDING,
|
||
DATUM,
|
||
STATUS,
|
||
AANVRAGER,
|
||
LEIDINGGEVENDE,
|
||
FCLT_3D_USER_KEY
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
m.mld_melding_key meldingnr,
|
||
sm.mld_stdmelding_omschrijving melding,
|
||
TO_DATE (m.mld_melding_datum) datum,
|
||
CASE m.mld_melding_status
|
||
WHEN 1 THEN 'Afgewezen'
|
||
WHEN 2 THEN 'Nieuw'
|
||
WHEN 3 THEN 'Te accepteren'
|
||
WHEN 4 THEN 'In behandeling'
|
||
WHEN 5 THEN 'Afgemeld'
|
||
WHEN 6 THEN 'Historie'
|
||
WHEN 7 THEN 'Uitgegeven'
|
||
END
|
||
status,
|
||
p.prs_perslid_naam_friendly aanvrager,
|
||
mg.prs_perslid_naam_friendly leidinggevende,
|
||
mg.prs_perslid_key AS fclt_3d_user_key
|
||
FROM mld_melding m,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_kenmerklink kl,
|
||
prs_v_perslid_fullnames_all mg,
|
||
mld_stdmelding sm
|
||
WHERE m.mld_stdmelding_key = 241
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND m.prs_perslid_key_voor = kl.prs_link_key
|
||
AND kl.prs_kenmerk_key = 1081
|
||
AND kl.prs_kenmerklink_waarde = mg.prs_perslid_key
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key;
|
||
|
||
CREATE OR REPLACE FORCE VIEW SGGR_V_RAPP_AANVR_HWSW
|
||
(
|
||
MLD_MELDING_KEY,
|
||
MLD_MELDING_NR,
|
||
MELDING,
|
||
DATUM,
|
||
STATUS,
|
||
AANVRAGER,
|
||
KOSTENPLAATS
|
||
)
|
||
AS
|
||
SELECT m.mld_melding_key,
|
||
m.mld_melding_key meldingnr,
|
||
sm.mld_stdmelding_omschrijving melding,
|
||
TO_DATE (m.mld_melding_datum) datum,
|
||
CASE m.mld_melding_status
|
||
WHEN 1 THEN 'Afgewezen'
|
||
WHEN 2 THEN 'Nieuw'
|
||
WHEN 3 THEN 'Te accepteren'
|
||
WHEN 4 THEN 'In behandeling'
|
||
WHEN 5 THEN 'Afgemeld'
|
||
WHEN 6 THEN 'Historie'
|
||
WHEN 7 THEN 'Uitgegeven'
|
||
END
|
||
status,
|
||
p.prs_perslid_naam_friendly aanvrager,
|
||
K.PRS_KOSTENPLAATS_NR
|
||
FROM mld_melding m,
|
||
prs_v_perslid_fullnames_all p,
|
||
prs_perslid l,
|
||
mld_stdmelding sm,
|
||
prs_afdeling a,
|
||
prs_kostenplaats k
|
||
WHERE m.mld_stdmelding_key = 321
|
||
AND m.prs_perslid_key_voor = p.prs_perslid_key
|
||
AND P.PRS_PERSLID_KEY = L.PRS_PERSLID_KEY
|
||
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||
AND L.PRS_AFDELING_KEY = A.PRS_AFDELING_KEY
|
||
AND A.PRS_KOSTENPLAATS_KEY = K.PRS_KOSTENPLAATS_KEY;
|
||
|
||
|
||
--- overzicht van alle business units en teams:
|
||
---266 treasury/267 Handel en Logistiek/268 ICT services/270 Wonen/271 Consultancy/272 Vastgoed/273 Financi<63>n/274 CRM en Markt/275 Appl. beheer
|
||
|
||
CREATE OR REPLACE VIEW SGGR_V_BUSINESS_UNITS
|
||
(
|
||
AFDELING_KEY,
|
||
AFDELING_OMSCHRIJVING
|
||
)
|
||
AS
|
||
SELECT A.PRS_AFDELING_KEY, A.PRS_AFDELING_OMSCHRIJVING
|
||
FROM PRS_AFDELING A
|
||
WHERE A.PRS_AFDELING_KEY IN (266, 267, 268, 270, 271, 272, 273, 274, 275)
|
||
AND A.PRS_AFDELING_VERWIJDER IS NULL;
|
||
|
||
-- overzicht van alle BU managers. Functies:
|
||
-- teamleider support en ontwikkeling 3803/Teamleider Consultance 2052/Teamleider Treasury 3806/Unitmanagers 2050/Directeur Wonen 3807
|
||
|
||
CREATE OR REPLACE VIEW SGGR_V_MANAGERS_BU
|
||
(
|
||
PERSLID_KEY,
|
||
PERSLID_VOLNAAM
|
||
)
|
||
AS
|
||
SELECT P.PRS_PERSLID_KEY, N.PRS_PERSLID_NAAM_FULL
|
||
FROM PRS_V_PERSLID_FULLNAMES N, PRS_PERSLID P
|
||
WHERE N.PRS_PERSLID_KEY = P.PRS_PERSLID_KEY
|
||
AND P.PRS_SRTPERSLID_KEY IN (3803, 2052, 3806, 2050, 3807)
|
||
ORDER BY N.PRS_PERSLID_NAAM_FULL;
|
||
|
||
COMMIT;
|
||
|
||
BEGIN
|
||
adm.systrackscriptId ('$Id$', 0);
|
||
END;
|
||
/
|
||
|
||
BEGIN
|
||
fac.registercustversion ('SGGR', 12);
|
||
END;
|
||
/
|
||
|
||
COMMIT;
|
||
spool off |