3896 lines
164 KiB
SQL
3896 lines
164 KiB
SQL
--
|
|
-- $Id$
|
|
--
|
|
-- Script containing customer specific sql statements for the FACILITOR database
|
|
DEFINE thisfile = 'HPJI.SQL'
|
|
DEFINE dbuser = '^HPJI'
|
|
|
|
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 ------
|
|
|
|
CREATE OR REPLACE PACKAGE HPJI
|
|
AS
|
|
-- PACKAGES voor de HPJI specifieke ondersteuning
|
|
TYPE t_cursor IS REF CURSOR;
|
|
|
|
PROCEDURE hpji_noti_per_controle;
|
|
|
|
PROCEDURE rap_it_inventaris_jaar (user_key IN NUMBER,
|
|
p_datum_van IN VARCHAR2,
|
|
p_datum_tot IN VARCHAR2,
|
|
p_cursor OUT t_cursor);
|
|
|
|
PROCEDURE hpji_acties_verkoopcontracten;
|
|
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PACKAGE BODY HPJI
|
|
AS
|
|
PROCEDURE hpji_noti_per_controle
|
|
AS
|
|
p_applname VARCHAR2 (50) := 'NOTIFICATIE_PLANNEN_TAAK';
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errorhint VARCHAR2 (100);
|
|
v_aanduiding VARCHAR2 (100);
|
|
|
|
CURSOR c IS SELECT * FROM HPJI_V_NOTI_TAKEN;
|
|
BEGIN
|
|
v_errorhint := 'init';
|
|
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding :=
|
|
rec.taak_omschr || ' betreffende; ' || rec.betreft;
|
|
|
|
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,
|
|
rec.to_email,
|
|
rec.taak_omschr
|
|
|| ' betreffende; '
|
|
|| rec.betreft
|
|
|| ' in te plannen',
|
|
rec.ins_deel_key,
|
|
4,
|
|
2,
|
|
'NL'
|
|
FROM fac_srtnotificatie
|
|
WHERE fac_srtnotificatie_code = 'CUST03';
|
|
|
|
fac.writelog (p_applname,
|
|
'I',
|
|
'Mail naar ' || rec.to_omschr,
|
|
rec.betreft);
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
v_errorhint :=
|
|
'Toevoegen notificatie periodieke controle '
|
|
|| rec.betreft;
|
|
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
|
|
v_errorhint := 'Notificaties in te plannen periodieke taken';
|
|
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 hpji_noti_per_controle;
|
|
|
|
PROCEDURE rap_it_inventaris_jaar (user_key IN NUMBER,
|
|
p_datum_van IN VARCHAR2, -- Let wel: formaat '24-06-1965'
|
|
p_datum_tot IN VARCHAR2,
|
|
p_cursor OUT t_cursor)
|
|
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 grid.onderdeel || '-' || grid.rubriek
|
|
hide_f_regel,
|
|
grid.onderdeel
|
|
fclt_f_onderdeel,
|
|
grid.rubriek
|
|
fclt_f_rubriek,
|
|
grid.jaar
|
|
fclt_f_aanschafjaar,
|
|
COALESCE (x.aantal, 0)
|
|
aantal
|
|
FROM (SELECT a.prs_afdeling_key onderdeel_key,
|
|
sd.ins_srtdeel_key rubriek_key,
|
|
j.jaar jaar,
|
|
a.prs_afdeling_omschrijving onderdeel,
|
|
sd.ins_srtdeel_omschrijving rubriek
|
|
FROM (SELECT prs_afdeling_key,
|
|
prs_afdeling_omschrijving
|
|
FROM prs_v_aanwezigafdeling
|
|
WHERE prs_afdeling_parentkey IS NULL
|
|
UNION ALL
|
|
SELECT -1 prs_afdeling_key,
|
|
'Onbekend' prs_afdeling_omschrijving
|
|
FROM DUAL) a,
|
|
ins_v_aanwezigsrtdeel sd,
|
|
ins_v_aanwezigsrtgroep sg,
|
|
(SELECT DISTINCT
|
|
TO_CHAR (
|
|
fac.safe_to_date (
|
|
ins_kenmerkdeel_waarde,
|
|
'dd-mm-yyyy'),
|
|
'yyyy') jaar
|
|
FROM ins_v_aanwezigkenmerkdeel
|
|
WHERE ins_kenmerk_key = 101 -- Aanschafdatum
|
|
AND fac.safe_to_date (
|
|
ins_kenmerkdeel_waarde,
|
|
'dd-mm-yyyy') BETWEEN v_datum_van
|
|
AND v_datum_tot)
|
|
j
|
|
WHERE sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND sg.ins_discipline_key = 401) grid -- Hardware
|
|
LEFT JOIN
|
|
( SELECT asd.prs_afdeling_key1 onderdeel_key,
|
|
asd.ins_srtdeel_key rubriek_key,
|
|
j.jaar jaar,
|
|
COUNT (*) aantal
|
|
FROM (SELECT DECODE (ra.aantal,
|
|
1, ab.prs_afdeling_key1,
|
|
-1) prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d,
|
|
alg_v_allonrgoed_gegevens aog,
|
|
( SELECT alg_ruimte_key,
|
|
MAX (prs_afdeling_key)
|
|
prs_afdeling_key,
|
|
COUNT (*)
|
|
aantal
|
|
FROM prs_ruimteafdeling
|
|
GROUP BY alg_ruimte_key) ra,
|
|
prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type NOT IN
|
|
('A', 'P', 'W')
|
|
AND d.ins_alg_ruimte_key =
|
|
aog.alg_onroerendgoed_keys
|
|
AND aog.alg_ruimte_key = ra.alg_ruimte_key
|
|
AND ra.prs_afdeling_key =
|
|
ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT -1 prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d,
|
|
alg_v_allonrgoed_gegevens aog
|
|
WHERE d.ins_alg_ruimte_type NOT IN
|
|
('A', 'P', 'W')
|
|
AND d.ins_alg_ruimte_key =
|
|
aog.alg_onroerendgoed_keys
|
|
AND ( aog.alg_ruimte_key IS NULL
|
|
OR NOT EXISTS
|
|
(SELECT 1
|
|
FROM prs_ruimteafdeling ra
|
|
WHERE ra.alg_ruimte_key =
|
|
aog.alg_ruimte_key))
|
|
UNION ALL
|
|
SELECT ab.prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d,
|
|
prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type = 'A'
|
|
AND d.ins_alg_ruimte_key =
|
|
ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT ab.prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d,
|
|
prs_perslid p,
|
|
prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type = 'P'
|
|
AND d.ins_alg_ruimte_key =
|
|
p.prs_perslid_key
|
|
AND p.prs_afdeling_key =
|
|
ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT DECODE (ra.aantal,
|
|
1, ab.prs_afdeling_key1,
|
|
-1) prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d,
|
|
prs_werkplek w,
|
|
( SELECT alg_ruimte_key,
|
|
MAX (prs_afdeling_key)
|
|
prs_afdeling_key,
|
|
COUNT (*)
|
|
aantal
|
|
FROM prs_ruimteafdeling
|
|
GROUP BY alg_ruimte_key) ra,
|
|
prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type = 'W'
|
|
AND d.ins_alg_ruimte_key =
|
|
w.prs_werkplek_key
|
|
AND w.prs_alg_ruimte_key =
|
|
ra.alg_ruimte_key
|
|
AND ra.prs_afdeling_key =
|
|
ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT -1 prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d, prs_werkplek w
|
|
WHERE d.ins_alg_ruimte_type = 'W'
|
|
AND d.ins_alg_ruimte_key =
|
|
w.prs_werkplek_key
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM prs_ruimteafdeling ra
|
|
WHERE ra.alg_ruimte_key =
|
|
w.prs_alg_ruimte_key)) asd
|
|
LEFT JOIN
|
|
(SELECT ins_deel_key,
|
|
fac.safe_to_date (ins_kenmerkdeel_waarde,
|
|
'dd-mm-yyyy') datum,
|
|
TO_CHAR (
|
|
fac.safe_to_date (
|
|
ins_kenmerkdeel_waarde,
|
|
'dd-mm-yyyy'),
|
|
'yyyy') jaar
|
|
FROM ins_v_aanwezigkenmerkdeel
|
|
WHERE ins_kenmerk_key = 101) j -- Aanschafdatum
|
|
ON asd.ins_deel_key = j.ins_deel_key
|
|
WHERE j.datum BETWEEN v_datum_van AND v_datum_tot
|
|
GROUP BY asd.prs_afdeling_key1,
|
|
asd.ins_srtdeel_key,
|
|
j.jaar) x
|
|
ON grid.onderdeel_key = x.onderdeel_key
|
|
AND grid.rubriek_key = x.rubriek_key
|
|
AND grid.jaar = x.jaar
|
|
ORDER BY 1,
|
|
2,
|
|
3,
|
|
4;
|
|
END rap_it_inventaris_jaar;
|
|
|
|
PROCEDURE hpji_acties_verkoopcontracten
|
|
AS
|
|
p_applname VARCHAR2 (50) := 'ACTIES_VERKOOPCONTRACTEN';
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_errorhint VARCHAR2 (400);
|
|
v_mldkey mld_melding.mld_melding_key%TYPE;
|
|
v_uitvoerder prs_perslid.prs_perslid_key%TYPE;
|
|
v_kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE;
|
|
|
|
v_accm NUMBER;
|
|
v_teaml NUMBER;
|
|
v_buscontr NUMBER;
|
|
|
|
CURSOR c IS
|
|
--bespreek contract (Subsidie en Detachering)
|
|
SELECT c.ins_discipline_key,
|
|
c.cnt_contract_key,
|
|
c.cnt_contract_nummer_intern,
|
|
c.cnt_contract_omschrijving,
|
|
b.prs_bedrijf_naam,
|
|
NULL AS accountmanager,
|
|
c.prs_perslid_key_eig AS teamleider,
|
|
NULL AS business_controller,
|
|
1421 AS stdmelding,
|
|
'Bespreek contract' AS taak
|
|
FROM cnt_contract c,
|
|
cnt_kenmerkcontract d,
|
|
cnt_kenmerk ck,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key IN (1821, 1842)
|
|
AND c.cnt_contract_key = d.cnt_contract_key
|
|
AND d.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND TRUNC (
|
|
ADD_MONTHS (
|
|
fac.safe_to_date (
|
|
d.cnt_kenmerkcontract_waarde,
|
|
'dd-mm-yyyy'),
|
|
-1)) =
|
|
TRUNC (SYSDATE)
|
|
AND ck.cnt_srtkenmerk_key = 570 --bespreek contract
|
|
UNION ALL
|
|
--bespreek contract (Onderaanneming en Raamovereenkomst)
|
|
SELECT c.ins_discipline_key,
|
|
c.cnt_contract_key,
|
|
c.cnt_contract_nummer_intern,
|
|
c.cnt_contract_omschrijving,
|
|
b.prs_bedrijf_naam,
|
|
c.prs_perslid_key_beh AS accountmanager,
|
|
NULL AS teamleider,
|
|
NULL AS business_controller,
|
|
1403 AS stdmelding,
|
|
'Bespreek contract' AS taak
|
|
FROM cnt_contract c,
|
|
cnt_kenmerkcontract d,
|
|
cnt_kenmerk ck,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key IN (1822, 1901)
|
|
AND c.cnt_contract_key = d.cnt_contract_key
|
|
AND d.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND TRUNC (
|
|
ADD_MONTHS (
|
|
fac.safe_to_date (
|
|
d.cnt_kenmerkcontract_waarde,
|
|
'dd-mm-yyyy'),
|
|
-1)) =
|
|
TRUNC (SYSDATE)
|
|
AND ck.cnt_srtkenmerk_key = 570 --bespreek contract
|
|
UNION ALL
|
|
--Indienen aanvraag
|
|
SELECT c.ins_discipline_key,
|
|
c.cnt_contract_key,
|
|
c.cnt_contract_nummer_intern,
|
|
c.cnt_contract_omschrijving,
|
|
b.prs_bedrijf_naam,
|
|
NULL AS accountmanager,
|
|
c.prs_perslid_key_eig AS teamleider,
|
|
109570 AS business_controller,
|
|
1404 AS stdmelding,
|
|
'Indienen aanvraag' AS taak
|
|
FROM cnt_contract c,
|
|
cnt_kenmerkcontract d,
|
|
cnt_kenmerk ck,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key IN (1821)--, --Subsidies
|
|
--1822, --Raamovereenkomst (moet deze ook?)
|
|
--1842, --Detacheringen (moet deze ook?)
|
|
--1901) --Onderaannemers (moet deze ook?)
|
|
AND c.cnt_contract_key = d.cnt_contract_key
|
|
AND d.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND TRUNC (
|
|
ADD_MONTHS (
|
|
fac.safe_to_date (
|
|
d.cnt_kenmerkcontract_waarde,
|
|
'dd-mm-yyyy'),
|
|
-2)) =
|
|
TRUNC (SYSDATE)
|
|
AND ck.cnt_srtkenmerk_key = 571 --Indienen aanvraag
|
|
UNION ALL
|
|
-- Tussentijdse verantwoording (Subsidie)
|
|
SELECT c.ins_discipline_key,
|
|
c.cnt_contract_key,
|
|
c.cnt_contract_nummer_intern,
|
|
c.cnt_contract_omschrijving,
|
|
b.prs_bedrijf_naam,
|
|
NULL AS accountmanager,
|
|
c.prs_perslid_key_eig AS teamleider,
|
|
NULL AS business_controller,
|
|
1406 AS stdmelding,
|
|
'Tussentijdse verantwoording' AS taak
|
|
FROM cnt_contract c,
|
|
cnt_kenmerkcontract d,
|
|
cnt_kenmerk ck,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key IN (1821) --Contractsoort Subsidie
|
|
AND c.cnt_contract_key = d.cnt_contract_key
|
|
AND d.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND TRUNC (
|
|
ADD_MONTHS (
|
|
fac.safe_to_date (
|
|
d.cnt_kenmerkcontract_waarde,
|
|
'dd-mm-yyyy'),
|
|
-2)) =
|
|
TRUNC (SYSDATE)
|
|
AND ck.cnt_srtkenmerk_key = 572 --Tussentijdse verantwoording
|
|
UNION ALL
|
|
-- Tussentijdse verantwoording (Raamovereenkomst)
|
|
SELECT c.ins_discipline_key,
|
|
c.cnt_contract_key,
|
|
c.cnt_contract_nummer_intern,
|
|
c.cnt_contract_omschrijving,
|
|
b.prs_bedrijf_naam,
|
|
c.prs_perslid_key_beh AS accountmanager,
|
|
NULL AS teamleider,
|
|
NULL AS business_controller,
|
|
1601 AS stdmelding,
|
|
'Tussentijdse verantwoording' AS taak
|
|
FROM cnt_contract c,
|
|
cnt_kenmerkcontract d,
|
|
cnt_kenmerk ck,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key IN (1822) --Contractsoort Raamovereenkomst
|
|
AND c.cnt_contract_key = d.cnt_contract_key
|
|
AND d.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND TRUNC (
|
|
ADD_MONTHS (
|
|
fac.safe_to_date (
|
|
d.cnt_kenmerkcontract_waarde,
|
|
'dd-mm-yyyy'),
|
|
-2)) =
|
|
TRUNC (SYSDATE)
|
|
AND ck.cnt_srtkenmerk_key = 572 --Tussentijdse verantwoording
|
|
UNION ALL
|
|
--Indienen vaststelling
|
|
SELECT c.ins_discipline_key,
|
|
c.cnt_contract_key,
|
|
c.cnt_contract_nummer_intern,
|
|
c.cnt_contract_omschrijving,
|
|
b.prs_bedrijf_naam,
|
|
NULL AS accountmanager,
|
|
c.prs_perslid_key_eig AS teamleider,
|
|
109570 AS business_controller,
|
|
1405 AS stdmelding,
|
|
'Indienen vaststelling' AS taak
|
|
FROM cnt_contract c,
|
|
cnt_kenmerkcontract d,
|
|
cnt_kenmerk ck,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key IN (1821)--, --Subsidies
|
|
--1822, --Raamovereenkomst (moet deze ook?)
|
|
--1842, --Detacheringen (moet deze ook?)
|
|
--1901) --Onderaannemers (moet deze ook?)
|
|
AND c.cnt_contract_key = d.cnt_contract_key
|
|
AND d.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND TRUNC (
|
|
ADD_MONTHS (
|
|
fac.safe_to_date (
|
|
d.cnt_kenmerkcontract_waarde,
|
|
'dd-mm-yyyy'),
|
|
-2)) =
|
|
TRUNC (SYSDATE)
|
|
AND ck.cnt_srtkenmerk_key = 567 --Indienen vaststelling
|
|
UNION ALL
|
|
--contract loopt af (Subsidie en Detachering)
|
|
SELECT c.ins_discipline_key,
|
|
c.cnt_contract_key,
|
|
c.cnt_contract_nummer_intern,
|
|
c.cnt_contract_omschrijving,
|
|
b.prs_bedrijf_naam,
|
|
NULL AS accountmanager,
|
|
c.prs_perslid_key_eig AS teamleider,
|
|
NULL AS business_controller,
|
|
1402 AS stdmelding,
|
|
'Contract loopt af' AS taak
|
|
FROM cnt_contract c,
|
|
cnt_kenmerkcontract d,
|
|
cnt_kenmerk ck,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key IN (1821, 1842) --Subsidies & Detacheringen
|
|
AND c.cnt_contract_key = d.cnt_contract_key
|
|
AND d.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND TRUNC (
|
|
ADD_MONTHS (
|
|
fac.safe_to_date (
|
|
d.cnt_kenmerkcontract_waarde,
|
|
'dd-mm-yyyy'),
|
|
-2)) =
|
|
TRUNC (SYSDATE)
|
|
AND ck.cnt_srtkenmerk_key = 569 --contract loopt af
|
|
UNION ALL
|
|
--contract loopt af (Raamovereenkomst & onderaanneming)
|
|
SELECT c.ins_discipline_key,
|
|
c.cnt_contract_key,
|
|
c.cnt_contract_nummer_intern,
|
|
c.cnt_contract_omschrijving,
|
|
b.prs_bedrijf_naam,
|
|
c.prs_perslid_key_beh AS accountmanager,
|
|
NULL AS teamleider,
|
|
NULL AS business_controller,
|
|
1423 AS stdmelding,
|
|
'Contract loopt af' AS taak
|
|
FROM cnt_contract c,
|
|
cnt_kenmerkcontract d,
|
|
cnt_kenmerk ck,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key IN (1822, 1901) -- Raamovereenkomst & Onderaanneming
|
|
AND c.cnt_contract_key = d.cnt_contract_key
|
|
AND d.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND TRUNC (
|
|
ADD_MONTHS (
|
|
fac.safe_to_date (
|
|
d.cnt_kenmerkcontract_waarde,
|
|
'dd-mm-yyyy'),
|
|
-3)) =
|
|
TRUNC (SYSDATE)
|
|
AND ck.cnt_srtkenmerk_key = 569 --contract loopt af
|
|
UNION ALL
|
|
--Accountantsverklaring
|
|
SELECT c.ins_discipline_key,
|
|
c.cnt_contract_key,
|
|
c.cnt_contract_nummer_intern,
|
|
c.cnt_contract_omschrijving,
|
|
b.prs_bedrijf_naam,
|
|
NULL AS accountmanager,
|
|
NULL AS teamleider,
|
|
109570 AS business_controller,
|
|
1401 AS stdmelding,
|
|
'Accountantsverklaring' AS taak
|
|
FROM cnt_contract c,
|
|
cnt_kenmerkcontract d,
|
|
cnt_kenmerk ck,
|
|
prs_bedrijf b
|
|
WHERE c.ins_discipline_key IN (1821)--, --Subsidies
|
|
--1822, --Raamovereenkomst (moet deze ook?)
|
|
--1842, --Detacheringen (moet deze ook?)
|
|
--1901) --Onderaannemers (moet deze ook?)
|
|
AND c.cnt_contract_key = d.cnt_contract_key
|
|
AND d.cnt_kenmerk_key = ck.cnt_kenmerk_key
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
|
|
AND TRUNC (
|
|
ADD_MONTHS (
|
|
fac.safe_to_date (
|
|
d.cnt_kenmerkcontract_waarde,
|
|
'dd-mm-yyyy'),
|
|
-3)) =
|
|
TRUNC (SYSDATE)
|
|
AND ck.cnt_srtkenmerk_key = 568; --Accountantsverklaring
|
|
BEGIN
|
|
v_uitvoerder := 4; --Standaard de persoon Facilitor
|
|
v_kostenplaats := 1910; --Standaard Facilitair
|
|
|
|
FOR rec IN c
|
|
LOOP
|
|
BEGIN
|
|
v_errorhint := 'init';
|
|
|
|
v_accm := NULL;
|
|
v_teaml := NULL;
|
|
v_buscontr := NULL;
|
|
|
|
-- Bepalen uitvoerder en kostenplaats
|
|
v_errorhint := 'Bepalen uitvoerder en kostenplaats';
|
|
|
|
SELECT NVL(MIN (p.prs_perslid_key),4), NVL(MIN (d.prs_kostenplaats_key),1910)
|
|
INTO v_uitvoerder, v_kostenplaats
|
|
FROM prs_perslid p, prs_afdeling d
|
|
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
|
AND p.prs_perslid_verwijder IS NULL
|
|
AND prs_perslid_key =
|
|
DECODE (rec.stdmelding,
|
|
1401, rec.business_controller,
|
|
1402, rec.teamleider,
|
|
1403, rec.accountmanager,
|
|
1404, rec.teamleider,
|
|
1405, rec.teamleider,
|
|
1406, rec.teamleider,
|
|
1421, rec.teamleider,
|
|
1423, rec.accountmanager,
|
|
1601, rec.accountmanager);
|
|
|
|
-- Notificaties aanmaken tbv accountmanagers
|
|
v_errorhint := 'notificatie_accountmanager';
|
|
v_accm := rec.accountmanager;
|
|
|
|
IF v_accm IS NOT NULL
|
|
THEN
|
|
FAC.trackaction (
|
|
'CNTMAI',
|
|
rec.cnt_contract_key,
|
|
NULL,
|
|
NULL,
|
|
'Notificatie naar accountmanager, taak: '
|
|
|| rec.taak
|
|
|| ' bij contract '
|
|
|| rec.cnt_contract_key
|
|
|| '('
|
|
|| rec.prs_bedrijf_naam
|
|
|| ' - '
|
|
|| rec.cnt_contract_omschrijving
|
|
|| ')');
|
|
|
|
INSERT INTO fac_notificatie (
|
|
fac_srtnotificatie_key,
|
|
fac_notificatie_status,
|
|
fac_notificatie_receiver_email,
|
|
prs_perslid_key_receiver,
|
|
fac_notificatie_oms,
|
|
fac_notificatie_refkey,
|
|
fac_notificatie_extrakey,
|
|
fac_notificatie_prioriteit)
|
|
VALUES (
|
|
53, -- CNTMAI
|
|
2, -- mail
|
|
NULL,
|
|
v_accm,
|
|
'Notificatie naar accountmanager, taak: '
|
|
|| rec.taak
|
|
|| ' bij contract '
|
|
|| rec.cnt_contract_key
|
|
|| '('
|
|
|| rec.prs_bedrijf_naam
|
|
|| ' - '
|
|
|| rec.cnt_contract_omschrijving
|
|
|| ')',
|
|
rec.cnt_contract_key,
|
|
NULL,
|
|
2);
|
|
END IF;
|
|
|
|
-- Notificaties aanmaken tbv teamleiders
|
|
v_errorhint := 'notificatie_teamleider';
|
|
v_teaml := rec.teamleider;
|
|
|
|
IF v_teaml IS NOT NULL
|
|
THEN
|
|
FAC.trackaction (
|
|
'CNTMAI',
|
|
rec.cnt_contract_key,
|
|
NULL,
|
|
NULL,
|
|
'Notificatie naar teamleider/clustermanager, taak: '
|
|
|| rec.taak
|
|
|| ' bij contract '
|
|
|| rec.cnt_contract_key
|
|
|| '('
|
|
|| rec.prs_bedrijf_naam
|
|
|| ' - '
|
|
|| rec.cnt_contract_omschrijving
|
|
|| ')');
|
|
|
|
INSERT INTO fac_notificatie (
|
|
fac_srtnotificatie_key,
|
|
fac_notificatie_status,
|
|
fac_notificatie_receiver_email,
|
|
prs_perslid_key_receiver,
|
|
fac_notificatie_oms,
|
|
fac_notificatie_refkey,
|
|
fac_notificatie_extrakey,
|
|
fac_notificatie_prioriteit)
|
|
VALUES (
|
|
53, -- CNTMAI
|
|
2, -- mail
|
|
NULL,
|
|
v_teaml,
|
|
'Notificatie naar teamleider/clustermanager, taak: '
|
|
|| rec.taak
|
|
|| ' bij contract '
|
|
|| rec.cnt_contract_key
|
|
|| '('
|
|
|| rec.prs_bedrijf_naam
|
|
|| ' - '
|
|
|| rec.cnt_contract_omschrijving
|
|
|| ')',
|
|
rec.cnt_contract_key,
|
|
NULL,
|
|
2);
|
|
END IF;
|
|
|
|
-- Notificaties aanmaken tbv de business controller
|
|
v_errorhint := 'notificatie_businesscontrol';
|
|
v_buscontr := rec.business_controller;
|
|
|
|
IF v_buscontr IS NOT NULL
|
|
THEN
|
|
FAC.trackaction (
|
|
'CNTMAI',
|
|
rec.cnt_contract_key,
|
|
NULL,
|
|
NULL,
|
|
'Notificatie naar Business Controller, taak: '
|
|
|| rec.taak
|
|
|| ' bij contract '
|
|
|| rec.cnt_contract_key
|
|
|| '('
|
|
|| rec.prs_bedrijf_naam
|
|
|| ' - '
|
|
|| rec.cnt_contract_omschrijving
|
|
|| ')');
|
|
|
|
INSERT INTO fac_notificatie (
|
|
fac_srtnotificatie_key,
|
|
fac_notificatie_status,
|
|
fac_notificatie_receiver_email,
|
|
prs_perslid_key_receiver,
|
|
fac_notificatie_oms,
|
|
fac_notificatie_refkey,
|
|
fac_notificatie_extrakey,
|
|
fac_notificatie_prioriteit)
|
|
VALUES (
|
|
53, -- CNTMAI
|
|
2, -- mail
|
|
NULL,
|
|
v_buscontr,
|
|
'Notificatie naar Business Controller, taak: '
|
|
|| rec.taak
|
|
|| ' bij contract '
|
|
|| rec.cnt_contract_key
|
|
|| '('
|
|
|| rec.prs_bedrijf_naam
|
|
|| ' - '
|
|
|| rec.cnt_contract_omschrijving
|
|
|| ')',
|
|
rec.cnt_contract_key,
|
|
NULL,
|
|
2);
|
|
END IF;
|
|
|
|
-- Melding aanmaken
|
|
v_errorhint :=
|
|
'Melding aanmaken vanuit contract '
|
|
|| rec.cnt_contract_key
|
|
|| ' met taak '
|
|
|| rec.taak;
|
|
|
|
INSERT INTO mld_melding (mld_melding_module,
|
|
mld_meldbron_key,
|
|
mld_melding_datum,
|
|
mld_melding_onderwerp,
|
|
mld_melding_omschrijving,
|
|
mld_melding_status,
|
|
mld_melding_t_uitvoertijd,
|
|
mld_stdmelding_key,
|
|
mld_alg_locatie_key,
|
|
mld_melding_externnr,
|
|
prs_perslid_key,
|
|
prs_perslid_key_voor,
|
|
prs_kostenplaats_key,
|
|
mld_melding_behandelaar_key,
|
|
mld_melding_spoed,
|
|
mld_melding_kto_type,
|
|
mld_melding_kto_key)
|
|
VALUES (
|
|
'MLD',
|
|
6, -- system
|
|
SYSDATE,
|
|
SUBSTR (
|
|
'Contract '
|
|
|| rec.cnt_contract_key
|
|
|| ': '
|
|
|| rec.prs_bedrijf_naam
|
|
|| ' - '
|
|
|| rec.cnt_contract_omschrijving,
|
|
1,
|
|
80),
|
|
NULL,
|
|
2, -- Nieuw
|
|
NULL, -- stduitvoer
|
|
rec.stdmelding,
|
|
NULL, -- Locatie onbekend
|
|
NULL,
|
|
v_uitvoerder,
|
|
v_uitvoerder,
|
|
v_kostenplaats,
|
|
v_uitvoerder,
|
|
3,
|
|
'C',
|
|
rec.cnt_contract_key)
|
|
RETURNING mld_melding_key
|
|
INTO v_mldkey;
|
|
END;
|
|
END LOOP;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
v_errorhint :=
|
|
'ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.writelog (p_applname,
|
|
'E',
|
|
'Proces afgebroken!',
|
|
v_errorhint);
|
|
END hpji_acties_verkoopcontracten;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_import_log
|
|
AS
|
|
SELECT imp_log_status fclt_f_status,
|
|
imp_log_omschrijving omschrijving,
|
|
imp_log_hint opmerking
|
|
FROM imp_log l
|
|
WHERE l.fac_import_key = (SELECT MAX (fac_import_key)
|
|
FROM fac_import
|
|
WHERE fac_import_app_key = 41);
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_ruimtekaartjes
|
|
(
|
|
fclt_f_opmaak,
|
|
fclt_f_loc_code,
|
|
fclt_f_geb_code,
|
|
fclt_f_ver_code,
|
|
fclt_f_ruimte_nr,
|
|
hide_f_ruimte_key,
|
|
ruimtesoort,
|
|
opp,
|
|
titel,
|
|
naam,
|
|
tussenvoegsel,
|
|
voorletters,
|
|
voornaam,
|
|
functie,
|
|
aantal
|
|
)
|
|
AS
|
|
(SELECT e.opmaak,
|
|
a.alg_locatie_code,
|
|
a.alg_gebouw_code,
|
|
a.alg_verdieping_code,
|
|
a.alg_ruimte_nr,
|
|
TO_CHAR (a.alg_ruimte_key) || e.opmaak,
|
|
b.ruimtesoort,
|
|
a.opp,
|
|
c.prs_perslid_titel,
|
|
c.prs_perslid_naam,
|
|
c.prs_perslid_tussenvoegsel,
|
|
c.prs_perslid_voorletters,
|
|
c.prs_perslid_voornaam,
|
|
c.prs_srtperslid_omschrijving,
|
|
d.aantal
|
|
FROM (SELECT r.alg_ruimte_key,
|
|
r.alg_ruimte_nr,
|
|
v.alg_verdieping_code,
|
|
g.alg_gebouw_code,
|
|
l.alg_locatie_code,
|
|
d.alg_district_omschrijving,
|
|
r.alg_ruimte_bruto_vloeropp opp
|
|
FROM alg_v_aanwezigruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g,
|
|
alg_locatie l,
|
|
alg_district d
|
|
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 l.alg_district_key = d.alg_district_key) a
|
|
LEFT JOIN
|
|
(SELECT r.alg_ruimte_key,
|
|
COALESCE (sr.alg_srtruimte_omschrijving, '-') ruimtesoort
|
|
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
|
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key) b
|
|
ON a.alg_ruimte_key = b.alg_ruimte_key
|
|
LEFT JOIN -- personen op ruimte
|
|
(SELECT DISTINCT wp.prs_alg_ruimte_key,
|
|
p.prs_perslid_titel,
|
|
p.prs_perslid_naam,
|
|
p.prs_perslid_voorletters,
|
|
p.prs_perslid_tussenvoegsel,
|
|
p.prs_perslid_voornaam,
|
|
sp.prs_srtperslid_omschrijving
|
|
FROM prs_werkplek wp,
|
|
prs_perslidwerkplek pw,
|
|
prs_v_aanwezigperslid p,
|
|
prs_srtperslid sp
|
|
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
|
|
AND pw.prs_perslid_key = p.prs_perslid_key
|
|
AND p.prs_srtperslid_key = sp.prs_srtperslid_key) c
|
|
ON a.alg_ruimte_key = c.prs_alg_ruimte_key
|
|
LEFT JOIN -- aantal personen op ruimte
|
|
( SELECT wp.prs_alg_ruimte_key, COUNT (pw.prs_perslid_key) aantal
|
|
FROM prs_werkplek wp, prs_perslidwerkplek pw
|
|
WHERE wp.prs_werkplek_key = pw.prs_werkplek_key
|
|
GROUP BY wp.prs_alg_ruimte_key) d
|
|
ON a.alg_ruimte_key = d.prs_alg_ruimte_key,
|
|
(SELECT 'Wilster' opmaak FROM DUAL
|
|
UNION ALL
|
|
SELECT 'Portalis' opmaak FROM DUAL
|
|
UNION ALL
|
|
SELECT 'Juvaid' opmaak FROM DUAL
|
|
UNION ALL
|
|
SELECT 'Het Poortje' opmaak FROM DUAL
|
|
UNION ALL
|
|
SELECT 'DOK3' opmaak FROM DUAL) e);
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_ruimtekaartjes2
|
|
(
|
|
fclt_f_opmaak,
|
|
fclt_f_loc_code,
|
|
fclt_f_geb_code,
|
|
fclt_f_ver_code,
|
|
fclt_f_ruimte_nr,
|
|
hide_f_ruimte_key,
|
|
ruimtesoort
|
|
)
|
|
AS
|
|
SELECT DISTINCT fclt_f_opmaak,
|
|
fclt_f_loc_code,
|
|
fclt_f_geb_code,
|
|
fclt_f_ver_code,
|
|
fclt_f_ruimte_nr,
|
|
hide_f_ruimte_key,
|
|
ruimtesoort
|
|
FROM hpji_v_ruimtekaartjes
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_label_ruimteafd
|
|
(
|
|
alg_ruimte_key,
|
|
waarde
|
|
)
|
|
AS
|
|
SELECT DISTINCT ra.alg_ruimte_key, a.prs_afdeling_naam1
|
|
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
|
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
|
UNION
|
|
SELECT DISTINCT r.alg_ruimte_key, '[Onbekend]' -- ruimten zonder afd.
|
|
FROM alg_v_aanwezigruimte r
|
|
WHERE NOT EXISTS
|
|
( -- waar geen afd. binnen bestaat
|
|
SELECT ra.alg_ruimte_key
|
|
FROM prs_v_aanwezigruimteafdeling ra
|
|
WHERE ra.alg_ruimte_key = r.alg_ruimte_key)
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_label_ruimteafd_nr
|
|
(
|
|
alg_ruimte_key,
|
|
waarde
|
|
)
|
|
AS
|
|
SELECT DISTINCT ra.alg_ruimte_key, a.prs_afdeling_naam
|
|
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
|
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
|
UNION
|
|
SELECT DISTINCT r.alg_ruimte_key, '[Onbekend]' -- ruimten zonder afd.
|
|
FROM alg_v_aanwezigruimte r
|
|
WHERE NOT EXISTS
|
|
( -- waar geen afd. binnen bestaat
|
|
SELECT ra.alg_ruimte_key
|
|
FROM prs_v_aanwezigruimteafdeling ra
|
|
WHERE ra.alg_ruimte_key = r.alg_ruimte_key)
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_label_ruimteafd_oms
|
|
(
|
|
alg_ruimte_key,
|
|
waarde
|
|
)
|
|
AS
|
|
SELECT DISTINCT ra.alg_ruimte_key, a.prs_afdeling_omschrijving
|
|
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
|
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
|
|
UNION
|
|
SELECT DISTINCT r.alg_ruimte_key, '[Onbekend]' -- ruimten zonder afd.
|
|
FROM alg_v_aanwezigruimte r
|
|
WHERE NOT EXISTS
|
|
( -- waar geen afd. binnen bestaat
|
|
SELECT ra.alg_ruimte_key
|
|
FROM prs_v_aanwezigruimteafdeling ra
|
|
WHERE ra.alg_ruimte_key = r.alg_ruimte_key)
|
|
/
|
|
|
|
CREATE OR REPLACE FORCE VIEW hpji_v_thema_ruimteafd
|
|
(
|
|
alg_ruimte_key,
|
|
waarde,
|
|
waarde_key
|
|
)
|
|
AS
|
|
SELECT x.alg_ruimte_key,
|
|
DECODE (y.aantal,
|
|
NULL, '[Onbekend]',
|
|
1, SUBSTR (y.afd, 1, 60),
|
|
'Meer dan 1 afdeling!'),
|
|
DECODE (y.aantal, NULL, -1, 1, y.afd_key, NULL)
|
|
FROM (SELECT r.alg_ruimte_key
|
|
FROM alg_v_aanwezigruimte r) x
|
|
LEFT JOIN
|
|
( SELECT ra.alg_ruimte_key,
|
|
MIN (a.prs_afdeling_naam1) afd,
|
|
MIN (a.prs_afdeling_key) afd_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, a.prs_afdeling_naam1, 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)
|
|
/
|
|
|
|
CREATE OR REPLACE TRIGGER hpji_t_thema_ruimteafd_i_iu
|
|
INSTEAD OF INSERT OR UPDATE
|
|
ON hpji_v_thema_ruimteafd
|
|
BEGIN
|
|
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
|
|
THEN
|
|
DELETE FROM prs_ruimteafdeling
|
|
WHERE alg_ruimte_key = :new.alg_ruimte_key
|
|
AND prs_afdeling_key <> :new.waarde_key;
|
|
END IF;
|
|
|
|
BEGIN
|
|
IF :new.waarde_key <> -1
|
|
THEN
|
|
INSERT INTO prs_ruimteafdeling (alg_ruimte_key, prs_afdeling_key)
|
|
VALUES (:new.alg_ruimte_key, :new.waarde_key);
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
|
THEN
|
|
NULL;
|
|
END;
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE FORCE VIEW hpji_v_thema_ruimteafd1
|
|
(
|
|
alg_ruimte_key,
|
|
waarde,
|
|
waarde_key
|
|
)
|
|
AS
|
|
SELECT x.alg_ruimte_key,
|
|
DECODE (y.aantal,
|
|
NULL, '[Onbekend]',
|
|
1, SUBSTR (y.afd, 1, 60),
|
|
'Meer dan 1 afdeling!'),
|
|
DECODE (y.aantal, 1, y.afd_key, NULL)
|
|
FROM (SELECT r.alg_ruimte_key
|
|
FROM alg_v_aanwezigruimte r) x
|
|
LEFT JOIN
|
|
( SELECT ra.alg_ruimte_key,
|
|
MIN (a.prs_afdeling_naam1) afd,
|
|
MIN (a.prs_afdeling_key) afd_key,
|
|
COUNT (ra.prs_afdeling_key) aantal
|
|
FROM prs_v_aanwezigruimteafdeling ra,
|
|
prs_v_afdeling_boom b,
|
|
prs_v_aanwezigafdeling a
|
|
WHERE ra.prs_afdeling_key = b.prs_afdeling_key
|
|
AND b.prs_afdeling_key1 = a.prs_afdeling_key
|
|
GROUP BY ra.alg_ruimte_key) y
|
|
ON x.alg_ruimte_key = y.alg_ruimte_key
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_thema_vloerafw
|
|
(
|
|
alg_ruimte_key,
|
|
waarde,
|
|
waarde_key
|
|
)
|
|
AS
|
|
SELECT a.alg_ruimte_key,
|
|
COALESCE (b.vloerafw, '[Onbekend]'),
|
|
COALESCE (b.vloerafw_key, -1)
|
|
FROM (SELECT r.alg_ruimte_key
|
|
FROM alg_v_aanwezigruimte r) a
|
|
LEFT JOIN
|
|
(SELECT ok.alg_onrgoed_key,
|
|
ud.fac_usrdata_omschr vloerafw,
|
|
ud.fac_usrdata_key vloerafw_key
|
|
FROM alg_onrgoedkenmerk ok, fac_usrdata ud
|
|
WHERE ok.alg_kenmerk_key = 1020 -- vloerafwerking
|
|
AND ok.alg_onrgoed_niveau = 'R'
|
|
AND ok.alg_onrgoedkenmerk_verwijder IS NULL
|
|
AND ok.alg_onrgoedkenmerk_waarde = ud.fac_usrdata_key) b
|
|
ON a.alg_ruimte_key = b.alg_onrgoed_key
|
|
UNION ALL
|
|
SELECT NULL,
|
|
ud.fac_usrdata_omschr vloerafw,
|
|
ud.fac_usrdata_key vloerafw_key
|
|
FROM fac_usrdata ud
|
|
WHERE ud.fac_usrtab_key = 21
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM alg_onrgoedkenmerk ok
|
|
WHERE ok.alg_kenmerk_key = 1020 -- vloerafwerking
|
|
AND ok.alg_onrgoedkenmerk_waarde =
|
|
ud.fac_usrdata_key)
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE TRIGGER hpji_t_thema_vloerafw_i_iu
|
|
INSTEAD OF INSERT OR UPDATE
|
|
ON hpji_v_thema_vloerafw
|
|
BEGIN
|
|
IF UPDATING -- oude hard weggooien; dus DELETE (lekker opruimen)!
|
|
THEN
|
|
DELETE FROM alg_onrgoedkenmerk
|
|
WHERE alg_onrgoed_key = :new.alg_ruimte_key
|
|
AND alg_onrgoed_niveau = 'R'
|
|
AND alg_kenmerk_key = 1020
|
|
AND (alg_onrgoedkenmerk_waarde IS NULL -- IVET#73753/73776: Zou nooit NULL mogen zijn, maar was dat ergens wel!?
|
|
OR fac.safe_to_number (alg_onrgoedkenmerk_waarde) <> :new.waarde_key);
|
|
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',
|
|
1020,
|
|
:new.waarde_key);
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN DUP_VAL_ON_INDEX -- was al aanwezig
|
|
THEN
|
|
NULL;
|
|
END;
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_thema_ruimtefunc
|
|
(
|
|
alg_ruimte_key,
|
|
waarde,
|
|
waarde_key
|
|
)
|
|
AS
|
|
SELECT r.alg_ruimte_key ruimte_key,
|
|
COALESCE (sr.alg_srtruimte_omschrijving, '[Onbekend]') waarde,
|
|
COALESCE (sr.alg_srtruimte_key, -1) waarde_key
|
|
FROM alg_v_aanwezigruimte r, alg_srtruimte sr
|
|
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
|
|
UNION ALL
|
|
SELECT NULL ruimte_key,
|
|
sr.alg_srtruimte_omschrijving waarde,
|
|
sr.alg_srtruimte_key waarde_key
|
|
FROM alg_srtruimte sr
|
|
WHERE NOT EXISTS
|
|
(SELECT 1
|
|
FROM alg_v_aanwezigruimte r
|
|
WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key)
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE TRIGGER hpji_t_thema_ruimtefunc_i_iu
|
|
INSTEAD OF UPDATE
|
|
ON hpji_v_thema_ruimtefunc
|
|
FOR EACH ROW
|
|
BEGIN
|
|
UPDATE alg_ruimte
|
|
SET alg_srtruimte_key = :new.waarde_key
|
|
WHERE alg_ruimte_key = :new.alg_ruimte_key
|
|
AND alg_srtruimte_key <> :new.waarde_key;
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE FORCE VIEW hpji_v_thema_legewp
|
|
(
|
|
alg_ruimte_key,
|
|
waarde
|
|
)
|
|
AS
|
|
SELECT x.prs_alg_ruimte_key, (100 - ROUND (wp_bez / wp_tot * 100)) leeg_p
|
|
FROM ( SELECT wp.prs_alg_ruimte_key, COUNT (*) wp_tot
|
|
FROM prs_werkplek wp
|
|
GROUP BY wp.prs_alg_ruimte_key) x
|
|
LEFT JOIN
|
|
( SELECT wp.prs_alg_ruimte_key, COUNT (*) wp_bez
|
|
FROM prs_werkplek wp
|
|
WHERE EXISTS
|
|
(SELECT 1
|
|
FROM prs_perslidwerkplek pw
|
|
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key)
|
|
GROUP BY wp.prs_alg_ruimte_key) y
|
|
ON x.prs_alg_ruimte_key = y.prs_alg_ruimte_key;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE FORCE VIEW hpji_v_thema_objecten
|
|
(
|
|
alg_ruimte_key,
|
|
waarde
|
|
)
|
|
AS
|
|
SELECT d.ins_alg_ruimte_key, COUNT (*) aantal
|
|
FROM ins_deel d
|
|
WHERE d.ins_alg_ruimte_type = 'R'
|
|
GROUP BY d.ins_alg_ruimte_key
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE VIEW HPJI_V_RAP_OPROGNOSEACTIVITEIT
|
|
(
|
|
FCLT_F_SOORTACTIVITEIT,
|
|
FCLT_F_JAAR,
|
|
ACTIVITEITEN,
|
|
BUDGET
|
|
)
|
|
AS
|
|
SELECT mld_stdmelding_omschrijving,
|
|
TO_CHAR (mld_melding_datum, 'yyyy') fclt_f_jaar,
|
|
COUNT (mld_melding_key),
|
|
SUM (fac.safe_to_number (prijs)) budget
|
|
FROM fac_v_oprognosegegevens
|
|
GROUP BY mld_stdmelding_omschrijving, TO_CHAR (mld_melding_datum, 'yyyy');
|
|
|
|
|
|
CREATE OR REPLACE VIEW HPJI_V_RAP_OPROGNOSEGEBOUW
|
|
(
|
|
FCLT_F_GEBOUW,
|
|
FCLT_F_JAAR,
|
|
ACTIVITEITEN,
|
|
BUDGET
|
|
)
|
|
AS
|
|
SELECT op.alg_locatie_code
|
|
|| ' - '
|
|
|| g.alg_gebouw_code
|
|
|| ' / '
|
|
|| g.alg_gebouw_naam gebouw,
|
|
TO_CHAR (op.mld_melding_datum, 'yyyy') fclt_f_jaar,
|
|
COUNT (op.mld_melding_key),
|
|
SUM (fac.safe_to_number (op.prijs)) budget
|
|
FROM fac_v_oprognosegegevens op, alg_gebouw g
|
|
WHERE op.alg_gebouw_key = g.alg_gebouw_key
|
|
GROUP BY op.alg_locatie_code
|
|
|| ' - '
|
|
|| g.alg_gebouw_code
|
|
|| ' / '
|
|
|| g.alg_gebouw_naam,
|
|
TO_CHAR (op.mld_melding_datum, 'yyyy');
|
|
|
|
|
|
CREATE OR REPLACE FORCE VIEW HPJI_V_RAP_OPROGNOSEVOORTGANG
|
|
(
|
|
FCLT_F_GEBOUW,
|
|
FCLT_F_JAAR,
|
|
MELDINGNR,
|
|
SOORTACTIVITEIT,
|
|
ACTIVITEIT,
|
|
STATUS,
|
|
BUDGET
|
|
)
|
|
AS
|
|
SELECT alg_locatie_gebouw_naam gebouw,
|
|
TO_CHAR (mld_melding_datum, 'yyyy') fclt_f_jaar,
|
|
TO_CHAR (mld_melding_key) meldingnr,
|
|
mld_stdmelding_omschrijving,
|
|
mld_melding_omschrijving melding,
|
|
mld_statuses_omschrijving status,
|
|
fac.safe_to_number (prijs) budget
|
|
FROM fac_v_oprognosegegevens;
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_inkoopdata
|
|
(
|
|
maand,
|
|
afgemeld_op,
|
|
soort_bestelling,
|
|
bestel_id,
|
|
status,
|
|
besteld_op,
|
|
besteld_bij,
|
|
commentaar,
|
|
kosten
|
|
)
|
|
AS
|
|
SELECT DISTINCT
|
|
DECODE (b.bes_bestelling_status,
|
|
6, TO_CHAR (bo.bes_bestelopdr_leverdatum, 'yyyy-mm'),
|
|
-- TO_CHAR (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key),
|
|
-- 'yyyy-mm'),
|
|
'Lopend')
|
|
maand,
|
|
-- TO_CHAR (fac.gettrackingdate ('BESOTV', b.bes_bestelling_key),
|
|
-- 'dd-mm-yyyy')
|
|
TO_CHAR (bo.bes_bestelopdr_leverdatum, 'dd-mm-yyyy')
|
|
afgemeld_op,
|
|
'Catalogus',
|
|
TO_CHAR (b.bes_bestelling_key)
|
|
bestel_id,
|
|
s.bes_bestellingstatuses_omschr
|
|
status,
|
|
TO_CHAR (b.bes_bestelling_datum, 'dd-mm-yyyy')
|
|
besteld_op,
|
|
l.prs_bedrijf_naam,
|
|
bo.bes_bestelopdr_delivery_opmerk,
|
|
0
|
|
kosten
|
|
FROM bes_bestelling b,
|
|
bes_bestellingstatuses s,
|
|
bes_bestelling_item bi,
|
|
bes_bestelopdr_item boi,
|
|
bes_bestelopdr bo,
|
|
prs_bedrijf l
|
|
WHERE b.bes_bestelling_status = s.bes_bestellingstatuses_key
|
|
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
|
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key(+)
|
|
AND boi.bes_bestelopdr_key = bo.bes_bestelopdr_key(+)
|
|
AND bo.prs_bedrijf_key = l.prs_bedrijf_key
|
|
UNION ALL
|
|
SELECT DECODE (
|
|
a.mld_statusopdr_key,
|
|
6, TO_CHAR (fac.gettrackingdate ('ORDAFM', a.mld_opdr_key),
|
|
'yyyy-mm'),
|
|
'Lopend')
|
|
maand,
|
|
TO_CHAR (fac.gettrackingdate ('ORDAFM', a.mld_opdr_key),
|
|
'dd-mm-yyyy')
|
|
afgemeld_op,
|
|
'Incidenteel',
|
|
a.bestel_id,
|
|
a.status,
|
|
TO_CHAR (a.besteld_op, 'dd-mm-yyyy'),
|
|
a.prs_bedrijf_naam,
|
|
DECODE (b.fac_usrdata_key,
|
|
41, b.ontvangststatus || CHR (13) || CHR (10),
|
|
42, b.ontvangststatus || CHR (13) || CHR (10),
|
|
43, b.ontvangststatus || CHR (13) || CHR (10),
|
|
'')
|
|
|| COALESCE (c.commentaar, ''),
|
|
a.kosten
|
|
FROM (SELECT o.mld_opdr_key,
|
|
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
|
bestel_id,
|
|
o.mld_statusopdr_key,
|
|
s.mld_statusopdr_omschrijving
|
|
status,
|
|
o.mld_opdr_datumbegin
|
|
besteld_op,
|
|
o.mld_opdr_verzonden,
|
|
u.prs_bedrijf_naam,
|
|
o.mld_opdr_kosten
|
|
kosten
|
|
FROM mld_opdr o, mld_statusopdr s, prs_bedrijf u
|
|
WHERE o.mld_typeopdr_key = 182
|
|
AND o.mld_statusopdr_key = s.mld_statusopdr_key
|
|
AND o.mld_uitvoerende_keys = u.prs_bedrijf_key) a
|
|
LEFT JOIN
|
|
(SELECT ko.mld_opdr_key,
|
|
ud.fac_usrdata_key,
|
|
ud.fac_usrdata_omschr ontvangststatus
|
|
FROM mld_v_aanwezigkenmerkopdr ko, fac_usrdata ud
|
|
WHERE ko.mld_kenmerk_key = 1
|
|
AND fac.safe_to_number (ko.mld_kenmerkopdr_waarde) =
|
|
ud.fac_usrdata_key) b
|
|
ON a.mld_opdr_key = b.mld_opdr_key
|
|
LEFT JOIN
|
|
(SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde commentaar
|
|
FROM mld_v_aanwezigkenmerkopdr ko
|
|
WHERE ko.mld_kenmerk_key = 2) c
|
|
ON a.mld_opdr_key = c.mld_opdr_key;
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_rap_inkoop_opm
|
|
(
|
|
fclt_f_maand,
|
|
hide_f_afgemeld_op,
|
|
fclt_f_soort_bestelling,
|
|
bestel_id,
|
|
status,
|
|
besteld_op,
|
|
fclt_f_leverancier,
|
|
klacht
|
|
)
|
|
AS
|
|
SELECT v.maand,
|
|
v.afgemeld_op,
|
|
v.soort_bestelling,
|
|
v.bestel_id,
|
|
v.status,
|
|
v.besteld_op,
|
|
v.besteld_bij,
|
|
v.commentaar
|
|
FROM hpji_v_inkoopdata v
|
|
WHERE v.maand = 'Lopend' OR v.commentaar IS NOT NULL;
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_rap_inkoop_ppi
|
|
(
|
|
fclt_f_maand,
|
|
fclt_f_leverancier,
|
|
totaal_aantal,
|
|
klacht_aantal,
|
|
percentage
|
|
)
|
|
AS
|
|
SELECT sums.maand,
|
|
sums.besteld_bij,
|
|
sums.totaal_aant,
|
|
sums.klacht_aant,
|
|
REPLACE (
|
|
TO_CHAR (sums.klacht_aant / sums.totaal_aant * 100,
|
|
'999990D9'),
|
|
'.',
|
|
',')
|
|
|| '%'
|
|
FROM ( SELECT x.maand,
|
|
x.besteld_bij,
|
|
SUM (x.totaal_aant) totaal_aant,
|
|
SUM (x.klacht_aant) klacht_aant
|
|
FROM ( SELECT v.maand,
|
|
v.besteld_bij,
|
|
COUNT (*) totaal_aant,
|
|
0 klacht_aant
|
|
FROM hpji_v_inkoopdata v
|
|
WHERE v.maand <> 'Lopend'
|
|
GROUP BY v.maand, v.besteld_bij
|
|
UNION ALL
|
|
SELECT v.maand,
|
|
v.besteld_bij,
|
|
0 totaal_aant,
|
|
COUNT (*) klacht_aant
|
|
FROM hpji_v_inkoopdata v
|
|
WHERE v.maand <> 'Lopend' AND v.commentaar IS NOT NULL
|
|
GROUP BY v.maand, v.besteld_bij) x
|
|
GROUP BY x.maand, x.besteld_bij) sums
|
|
WHERE sums.totaal_aant > 0;
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_noti_goederenontvangst
|
|
(
|
|
code,
|
|
sender,
|
|
receiver,
|
|
text,
|
|
KEY,
|
|
par1,
|
|
par2,
|
|
xkey
|
|
)
|
|
AS
|
|
SELECT sn.fac_srtnotificatie_code,
|
|
NULL,
|
|
gg.prs_perslid_key,
|
|
REPLACE (
|
|
sn.fac_srtnotificatie_oms,
|
|
'##OPDR##',
|
|
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr),
|
|
o.mld_opdr_key,
|
|
NULL,
|
|
NULL,
|
|
NULL
|
|
FROM mld_opdr o,
|
|
mld_kenmerkopdr ko,
|
|
fac_srtnotificatie sn,
|
|
fac_gebruikersgroep gg
|
|
WHERE o.mld_statusopdr_key IN (4, 5, 8) -- Gefiat./Uitgeg./Geaccept.
|
|
AND o.mld_typeopdr_key = 182
|
|
AND TRUNC (ko.mld_kenmerkopdr_aanmaak) = TRUNC (SYSDATE)
|
|
AND TO_NUMBER (TO_CHAR (ko.mld_kenmerkopdr_aanmaak, 'HH24')) + 1 =
|
|
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
|
AND o.mld_opdr_key = ko.mld_opdr_key
|
|
AND ko.mld_kenmerk_key = 1 -- Ontvangststatus
|
|
AND ko.mld_kenmerkopdr_waarde IN ('41') -- Onjuist
|
|
AND sn.fac_srtnotificatie_code = 'CUST01'
|
|
AND gg.fac_groep_key = 81
|
|
UNION ALL
|
|
SELECT sn.fac_srtnotificatie_code,
|
|
NULL,
|
|
gg.prs_perslid_key,
|
|
REPLACE (
|
|
sn.fac_srtnotificatie_oms,
|
|
'##OPDR##',
|
|
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr),
|
|
o.mld_opdr_key,
|
|
NULL,
|
|
NULL,
|
|
NULL
|
|
FROM mld_opdr o,
|
|
mld_v_aanwezigkenmerkopdr ko1,
|
|
mld_v_aanwezigkenmerkopdr ko2,
|
|
fac_srtnotificatie sn,
|
|
fac_gebruikersgroep gg
|
|
WHERE o.mld_statusopdr_key IN (4, 5, 8) -- Gefiat./Uitgeg./Geaccept.
|
|
AND o.mld_typeopdr_key = 182
|
|
AND TRUNC (fac.gettrackingdate ('ORDUPD', o.mld_opdr_key)) =
|
|
TRUNC (SYSDATE)
|
|
AND TO_NUMBER (
|
|
TO_CHAR (fac.gettrackingdate ('ORDUPD', o.mld_opdr_key),
|
|
'HH24'))
|
|
+ 1 =
|
|
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
|
AND o.mld_opdr_key = ko1.mld_opdr_key
|
|
AND ko1.mld_kenmerk_key = 1 -- Ontvangststatus
|
|
AND ko1.mld_kenmerkopdr_waarde IN ('42', '43') -- Retour/Goedgek.
|
|
AND o.mld_opdr_key = ko2.mld_opdr_key
|
|
AND ko2.mld_kenmerk_key = 101 -- Afleveradres
|
|
AND sn.fac_srtnotificatie_code = 'CUST01'
|
|
AND gg.fac_groep_key = 86
|
|
AND gg.prs_perslid_key IN
|
|
(SELECT pw.prs_perslid_key
|
|
FROM prs_perslidwerkplek pw,
|
|
prs_werkplek wp,
|
|
alg_ruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g
|
|
WHERE pw.prs_werkplek_key = wp.prs_werkplek_key
|
|
AND wp.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 =
|
|
DECODE (ko2.mld_kenmerkopdr_waarde,
|
|
'121', 2, -- Afleveradres GR
|
|
'122', 1, -- Afleveradres VH
|
|
NULL));
|
|
|
|
-- Bevat CUST02-reminders naar groepen bij aanmaken specifieke WF-meldingen:
|
|
-- Nieuwe Medewerker (NM), Vertrek Medewerker (VM) en Kleine Verhuizing (KV).
|
|
-- Periodiciteit: elk uur (mbt. in het voorgaande uur aangemaakte meldingen)!
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_noti_wf_reminder
|
|
(
|
|
code,
|
|
sender,
|
|
receiver,
|
|
text,
|
|
KEY,
|
|
par1,
|
|
par2,
|
|
xkey
|
|
)
|
|
AS -- Systeembeheer=89
|
|
SELECT sn.fac_srtnotificatie_code,
|
|
NULL,
|
|
gg.prs_perslid_key,
|
|
REPLACE (sn.fac_srtnotificatie_oms,
|
|
'##STDM##',
|
|
sm.mld_stdmelding_omschrijving),
|
|
m.mld_melding_key,
|
|
sm.mld_stdmelding_omschrijving,
|
|
NULL,
|
|
NULL
|
|
FROM mld_melding m,
|
|
mld_stdmelding sm,
|
|
fac_srtnotificatie sn,
|
|
fac_gebruikersgroep gg
|
|
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
|
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
|
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
|
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
|
AND m.mld_stdmelding_key IN (281, -- verzorgen netwerkacc.+appl.
|
|
288, -- toewijzen telefoonnr.
|
|
292, -- plaatsen PC+randapp.
|
|
300, -- deact. acc.+appl.
|
|
306 -- patchen netw.
|
|
)
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sn.fac_srtnotificatie_code = 'CUST02'
|
|
AND gg.fac_groep_key = 89
|
|
UNION ALL -- PZ=93
|
|
SELECT sn.fac_srtnotificatie_code,
|
|
NULL,
|
|
gg.prs_perslid_key,
|
|
REPLACE (sn.fac_srtnotificatie_oms,
|
|
'##STDM##',
|
|
sm.mld_stdmelding_omschrijving),
|
|
m.mld_melding_key,
|
|
sm.mld_stdmelding_omschrijving,
|
|
NULL,
|
|
NULL
|
|
FROM mld_melding m,
|
|
mld_stdmelding sm,
|
|
fac_srtnotificatie sn,
|
|
fac_gebruikersgroep gg
|
|
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
|
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
|
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
|
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
|
AND m.mld_stdmelding_key IN (282, -- opvoeren Persmaster
|
|
293, -- wijzigen Persmaster
|
|
297 -- innemen vervoersbewijs
|
|
)
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sn.fac_srtnotificatie_code = 'CUST02'
|
|
AND gg.fac_groep_key = 93
|
|
UNION ALL -- Huisvesting=82
|
|
SELECT sn.fac_srtnotificatie_code,
|
|
NULL,
|
|
gg.prs_perslid_key,
|
|
REPLACE (sn.fac_srtnotificatie_oms,
|
|
'##STDM##',
|
|
sm.mld_stdmelding_omschrijving),
|
|
m.mld_melding_key,
|
|
sm.mld_stdmelding_omschrijving,
|
|
NULL,
|
|
NULL
|
|
FROM mld_melding m,
|
|
mld_stdmelding sm,
|
|
fac_srtnotificatie sn,
|
|
fac_gebruikersgroep gg
|
|
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
|
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
|
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
|
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
|
AND m.mld_stdmelding_key IN (283, -- toewijzen werkplek
|
|
302 -- plannen kleine verhuzing
|
|
)
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sn.fac_srtnotificatie_code = 'CUST02'
|
|
AND gg.fac_groep_key = 82
|
|
UNION ALL -- Applicatiebeheer=21
|
|
SELECT sn.fac_srtnotificatie_code,
|
|
NULL,
|
|
gg.prs_perslid_key,
|
|
REPLACE (sn.fac_srtnotificatie_oms,
|
|
'##STDM##',
|
|
sm.mld_stdmelding_omschrijving),
|
|
m.mld_melding_key,
|
|
sm.mld_stdmelding_omschrijving,
|
|
NULL,
|
|
NULL
|
|
FROM mld_melding m,
|
|
mld_stdmelding sm,
|
|
fac_srtnotificatie sn,
|
|
fac_gebruikersgroep gg
|
|
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
|
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
|
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
|
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
|
AND m.mld_stdmelding_key IN (287, -- verzorgen spec. appl.
|
|
299 -- deactiveren spec. appl.
|
|
)
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sn.fac_srtnotificatie_code = 'CUST02'
|
|
AND gg.fac_groep_key = 21
|
|
UNION ALL -- Managementassistentes=121
|
|
SELECT sn.fac_srtnotificatie_code,
|
|
NULL,
|
|
gg.prs_perslid_key,
|
|
REPLACE (sn.fac_srtnotificatie_oms,
|
|
'##STDM##',
|
|
sm.mld_stdmelding_omschrijving),
|
|
m.mld_melding_key,
|
|
sm.mld_stdmelding_omschrijving,
|
|
NULL,
|
|
NULL
|
|
FROM mld_melding m,
|
|
mld_stdmelding sm,
|
|
fac_srtnotificatie sn,
|
|
fac_gebruikersgroep gg
|
|
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
|
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
|
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
|
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
|
AND m.mld_stdmelding_key IN (289, -- bestellen visitekaartjes
|
|
298 -- aankondigen vertrek
|
|
)
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sn.fac_srtnotificatie_code = 'CUST02'
|
|
AND gg.fac_groep_key = 121
|
|
UNION ALL -- AD ontvangst en veiligheid=122
|
|
SELECT sn.fac_srtnotificatie_code,
|
|
NULL,
|
|
gg.prs_perslid_key,
|
|
REPLACE (sn.fac_srtnotificatie_oms,
|
|
'##STDM##',
|
|
sm.mld_stdmelding_omschrijving),
|
|
m.mld_melding_key,
|
|
sm.mld_stdmelding_omschrijving,
|
|
NULL,
|
|
NULL
|
|
FROM mld_melding m,
|
|
mld_stdmelding sm,
|
|
fac_srtnotificatie sn,
|
|
fac_gebruikersgroep gg
|
|
WHERE m.mld_melding_status IN (2, 3) -- Te behandelen!
|
|
AND TRUNC (m.mld_melding_datum) = TRUNC (SYSDATE)
|
|
AND TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'HH24')) + 1 =
|
|
TO_NUMBER (TO_CHAR (SYSDATE, 'HH24'))
|
|
AND m.mld_stdmelding_key IN (285, -- verzorgen toegang+pieper
|
|
295 -- innemen toegang+pieper
|
|
)
|
|
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
|
AND sn.fac_srtnotificatie_code = 'CUST02'
|
|
AND gg.fac_groep_key = 122;
|
|
|
|
|
|
-- HPJI#88711 - CUST04 notificatie nadat de einddatum (7 dagen) is gepasseerd van een contract voor contracten van het type subsidies. Notificatie moet naar medewerkers in autorisatiegroep contractbeheer.
|
|
-- Klant reden: voor subsidies moet namelijk nog een eindverantwoording gemaakt worden nadat contract is verlopen.
|
|
CREATE OR REPLACE VIEW hpji_v_noti_subsidie_eindverantwoording
|
|
(
|
|
CODE,
|
|
SENDER,
|
|
RECEIVER,
|
|
TEXT,
|
|
KEY,
|
|
XKEY,
|
|
XSENDER,
|
|
XEMAIL,
|
|
XMOBILE,
|
|
ATTACHMENTS
|
|
)
|
|
AS
|
|
SELECT
|
|
'CUST04' code,
|
|
NULL AS sender,
|
|
gg.prs_perslid_key AS receiver,
|
|
REPLACE(sn.fac_srtnotificatie_oms, '##KEY##', TO_CHAR(c.cnt_contract_nummer_intern)) AS text,
|
|
c.cnt_contract_key AS key,
|
|
NULL AS xkey,
|
|
NULL AS xsender,
|
|
NULL AS xemail,
|
|
NULL AS xmobile,
|
|
NULL AS attachments
|
|
FROM
|
|
cnt_contract c,
|
|
fac_gebruikersgroep gg,
|
|
fac_srtnotificatie sn
|
|
WHERE
|
|
c.ins_discipline_key = 1821 -- 1821 = contractsoort subsidie
|
|
AND c.cnt_contract_looptijd_tot = TRUNC(SYSDATE) - 7
|
|
AND gg.fac_groep_key = 1401 -- 1401 = autorisatiegroep Contractbeheer-business
|
|
AND sn.fac_srtnotificatie_code = 'CUST04';
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_ruimteaanduiding
|
|
(
|
|
ruimtekey,
|
|
ruimteaanduiding
|
|
)
|
|
AS
|
|
SELECT pa.alg_onroerendgoed_keys, pa.alg_plaatsaanduiding
|
|
FROM alg_v_plaatsaanduiding pa
|
|
WHERE pa.alg_onroerendgoed_type = 'R'
|
|
UNION ALL
|
|
SELECT -1, 'GR-000 (Onbekend)' FROM DUAL
|
|
UNION ALL
|
|
SELECT -1, 'VH-000 (Onbekend)' FROM DUAL;
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_rap_ruimteoverzicht
|
|
(
|
|
fclt_f_locatie,
|
|
fclt_f_gebouw,
|
|
fclt_f_verdieping,
|
|
ruimtenr,
|
|
fclt_f_ruimtefunctie,
|
|
fclt_f_vloerafwerking,
|
|
fclt_f_specialisatie,
|
|
fclt_f_afdeling,
|
|
teken_opp
|
|
)
|
|
AS
|
|
(SELECT a.alg_locatie_code,
|
|
a.alg_gebouw_code,
|
|
a.alg_verdieping_code,
|
|
a.alg_ruimte_nr,
|
|
a.ruimtefunctie,
|
|
b.vloerafw,
|
|
c.specialisatie,
|
|
d.afdeling,
|
|
a.opp
|
|
FROM (SELECT r.alg_ruimte_key,
|
|
r.alg_ruimte_nr,
|
|
r.alg_ruimte_omschrijving,
|
|
v.alg_verdieping_code,
|
|
g.alg_gebouw_code,
|
|
l.alg_locatie_code,
|
|
sr.alg_srtruimte_omschrijving ruimtefunctie,
|
|
r.alg_ruimte_bruto_vloeropp opp
|
|
FROM alg_v_aanwezigruimte r,
|
|
alg_verdieping v,
|
|
alg_gebouw g,
|
|
alg_locatie l,
|
|
alg_srtruimte sr
|
|
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 r.alg_srtruimte_key = sr.alg_srtruimte_key(+)) a
|
|
LEFT JOIN
|
|
(SELECT ok.alg_onrgoed_key, ud.fac_usrdata_omschr vloerafw
|
|
FROM alg_onrgoedkenmerk ok, fac_usrdata ud
|
|
WHERE ok.alg_kenmerk_key = 1020 -- vloerafwerking
|
|
AND ok.alg_onrgoed_niveau = 'R'
|
|
AND ok.alg_onrgoedkenmerk_waarde = ud.fac_usrdata_key) b
|
|
ON a.alg_ruimte_key = b.alg_onrgoed_key
|
|
LEFT JOIN
|
|
(SELECT ra.alg_ruimte_key, a.prs_afdeling_naam1 specialisatie
|
|
FROM prs_v_aanwezigruimteafdeling ra,
|
|
prs_v_afdeling_boom b,
|
|
prs_v_aanwezigafdeling a
|
|
WHERE ra.prs_afdeling_key = b.prs_afdeling_key
|
|
AND b.prs_afdeling_key1 = a.prs_afdeling_key) c
|
|
ON a.alg_ruimte_key = c.alg_ruimte_key
|
|
LEFT JOIN
|
|
(SELECT ra.alg_ruimte_key, a.prs_afdeling_naam1 afdeling
|
|
FROM prs_v_aanwezigruimteafdeling ra, prs_v_aanwezigafdeling a
|
|
WHERE ra.prs_afdeling_key = a.prs_afdeling_key) d
|
|
ON a.alg_ruimte_key = d.alg_ruimte_key);
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_rap_verplichtingen
|
|
(
|
|
bestel_id,
|
|
status,
|
|
omschrijving,
|
|
besteld_op,
|
|
fclt_f_leverancier,
|
|
ontvangststatus,
|
|
kosten
|
|
)
|
|
AS
|
|
SELECT a.bestel_id,
|
|
a.status,
|
|
a.mld_opdr_omschrijving,
|
|
TO_CHAR (a.besteld_op, 'dd-mm-yyyy'),
|
|
a.prs_bedrijf_naam,
|
|
DECODE (b.fac_usrdata_key,
|
|
41, b.ontvangststatus || CHR (13) || CHR (10),
|
|
42, b.ontvangststatus || CHR (13) || CHR (10),
|
|
43, b.ontvangststatus || CHR (13) || CHR (10),
|
|
'')
|
|
|| COALESCE (c.commentaar, ''),
|
|
a.kosten
|
|
FROM (SELECT o.mld_opdr_key,
|
|
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
|
|
bestel_id,
|
|
o.mld_statusopdr_key,
|
|
s.mld_statusopdr_omschrijving
|
|
status,
|
|
o.mld_opdr_omschrijving,
|
|
o.mld_opdr_datumbegin
|
|
besteld_op,
|
|
o.mld_opdr_verzonden,
|
|
u.prs_bedrijf_naam,
|
|
o.mld_opdr_kosten
|
|
kosten
|
|
FROM mld_opdr o, mld_statusopdr s, prs_bedrijf u
|
|
WHERE o.mld_typeopdr_key = 182
|
|
AND o.mld_statusopdr_key <> 6
|
|
AND o.mld_statusopdr_key = s.mld_statusopdr_key
|
|
AND o.mld_uitvoerende_keys = u.prs_bedrijf_key) a
|
|
LEFT JOIN
|
|
(SELECT ko.mld_opdr_key,
|
|
ud.fac_usrdata_key,
|
|
ud.fac_usrdata_omschr ontvangststatus
|
|
FROM mld_v_aanwezigkenmerkopdr ko, fac_usrdata ud
|
|
WHERE ko.mld_kenmerk_key = 1
|
|
AND fac.safe_to_number (ko.mld_kenmerkopdr_waarde) =
|
|
ud.fac_usrdata_key) b
|
|
ON a.mld_opdr_key = b.mld_opdr_key
|
|
LEFT JOIN
|
|
(SELECT ko.mld_opdr_key, ko.mld_kenmerkopdr_waarde commentaar
|
|
FROM mld_v_aanwezigkenmerkopdr ko
|
|
WHERE ko.mld_kenmerk_key = 2) c
|
|
ON a.mld_opdr_key = c.mld_opdr_key;
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION hpji_res_deel_maandbez (p_reskey IN NUMBER,
|
|
yyyymm IN VARCHAR2)
|
|
RETURN NUMBER
|
|
IS
|
|
v_bez NUMBER;
|
|
v_van_date DATE;
|
|
v_van_uur NUMBER;
|
|
v_tot_date DATE;
|
|
v_tot_uur NUMBER;
|
|
v_loop_date DATE;
|
|
v_count NUMBER;
|
|
BEGIN
|
|
v_bez := 0;
|
|
|
|
SELECT TRUNC (res_rsv_deel_van),
|
|
DECODE (
|
|
SIGN (
|
|
((res_rsv_deel_van - TRUNC (res_rsv_deel_van)) * 24) - 8),
|
|
-1, 8,
|
|
DECODE (
|
|
SIGN (
|
|
((res_rsv_deel_van - TRUNC (res_rsv_deel_van)) * 24)
|
|
- 18),
|
|
-1, ((res_rsv_deel_van - TRUNC (res_rsv_deel_van)) * 24),
|
|
18)),
|
|
TRUNC (res_rsv_deel_tot),
|
|
DECODE (
|
|
SIGN (
|
|
((res_rsv_deel_tot - TRUNC (res_rsv_deel_tot)) * 24) - 8),
|
|
-1, 8,
|
|
DECODE (
|
|
SIGN (
|
|
((res_rsv_deel_tot - TRUNC (res_rsv_deel_tot)) * 24)
|
|
- 18),
|
|
-1, ((res_rsv_deel_tot - TRUNC (res_rsv_deel_tot)) * 24),
|
|
18))
|
|
INTO v_van_date,
|
|
v_van_uur,
|
|
v_tot_date,
|
|
v_tot_uur
|
|
FROM res_rsv_deel
|
|
WHERE res_rsv_deel_key = p_reskey;
|
|
|
|
IF (TO_CHAR (v_van_date, 'yyyy-mm') = yyyymm)
|
|
THEN
|
|
v_loop_date := v_van_date;
|
|
ELSE
|
|
v_loop_date := TO_DATE (yyyymm || '01', 'yyyy-mmdd');
|
|
END IF;
|
|
|
|
WHILE ( v_loop_date <= v_tot_date
|
|
AND TO_CHAR (v_loop_date, 'yyyy-mm') = yyyymm)
|
|
LOOP
|
|
SELECT COUNT (*)
|
|
INTO v_count
|
|
FROM mld_vrije_dagen
|
|
WHERE mld_vrije_dagen_datum = v_loop_date;
|
|
|
|
IF (v_count = 0 AND TO_CHAR (v_loop_date, 'd') NOT IN ('1', '7'))
|
|
THEN
|
|
CASE
|
|
WHEN v_van_date = v_tot_date
|
|
THEN
|
|
v_bez := v_bez + (v_tot_uur - v_van_uur);
|
|
WHEN v_loop_date = v_van_date
|
|
THEN
|
|
v_bez := v_bez + v_van_uur - 8;
|
|
WHEN v_loop_date = v_tot_date
|
|
THEN
|
|
v_bez := v_bez + v_tot_uur - 8;
|
|
ELSE
|
|
v_bez := v_bez + 10;
|
|
END CASE;
|
|
END IF;
|
|
|
|
v_loop_date := v_loop_date + 1;
|
|
END LOOP;
|
|
|
|
RETURN v_bez;
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_rap_res_deel_maandbez
|
|
(
|
|
fclt_f_maand,
|
|
fclt_f_catalogus,
|
|
fclt_f_voorziening,
|
|
gebruik,
|
|
beschikbaar,
|
|
bezetting
|
|
)
|
|
AS
|
|
SELECT a.maand,
|
|
a.catalogus,
|
|
a.voorziening,
|
|
a.gebruik,
|
|
b.beschikbaar,
|
|
REPLACE (TO_CHAR (a.gebruik / b.beschikbaar * 100, '990D9'),
|
|
'.',
|
|
',')
|
|
|| '%'
|
|
FROM ( SELECT hist.maand,
|
|
td.ins_discipline_omschrijving catalogus,
|
|
ins_d.ins_deel_omschrijving voorziening,
|
|
rd.res_deel_key,
|
|
SUM (
|
|
hpji_res_deel_maandbez (rd.res_rsv_deel_key,
|
|
hist.maand)) gebruik
|
|
FROM res_v_aanwezigrsv_deel rd,
|
|
res_deel res_d,
|
|
ins_deel ins_d,
|
|
ins_tab_discipline td,
|
|
(SELECT DISTINCT
|
|
TO_CHAR (res_rsv_deel_van, 'yyyy-mm') maand
|
|
FROM res_rsv_deel
|
|
WHERE TO_CHAR (res_rsv_deel_van, 'yyyymmdd') <
|
|
TO_CHAR (SYSDATE, 'yyyymm') || '01') hist
|
|
WHERE rd.res_deel_key = res_d.res_deel_key
|
|
AND res_d.res_ins_deel_key = ins_d.ins_deel_key
|
|
AND res_d.res_discipline_key = td.ins_discipline_key
|
|
AND TO_CHAR (rd.res_rsv_deel_van, 'yyyy-mm') <= hist.maand
|
|
AND TO_CHAR (rd.res_rsv_deel_tot, 'yyyy-mm') >= hist.maand
|
|
GROUP BY hist.maand,
|
|
td.ins_discipline_omschrijving,
|
|
ins_d.ins_deel_omschrijving,
|
|
rd.res_deel_key) a
|
|
LEFT JOIN
|
|
(SELECT hist.maand,
|
|
fac.count_work_days (
|
|
TO_DATE (hist.maand || '01', 'yyyy-mmdd'),
|
|
LAST_DAY (
|
|
TO_DATE (hist.maand || '01', 'yyyy-mmdd'))
|
|
+ 1)
|
|
* 10 beschikbaar
|
|
FROM (SELECT DISTINCT
|
|
TO_CHAR (res_rsv_deel_van, 'yyyy-mm') maand
|
|
FROM res_rsv_deel
|
|
WHERE TO_CHAR (res_rsv_deel_van, 'yyyymmdd') <
|
|
TO_CHAR (SYSDATE, 'yyyymm') || '01') hist) b
|
|
ON a.maand = b.maand;
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_rap_it_inventaris_jaar
|
|
(
|
|
hide_f_regel,
|
|
fclt_f_onderdeel,
|
|
fclt_f_rubriek,
|
|
fclt_f_aanschafjaar,
|
|
aantal
|
|
)
|
|
AS
|
|
SELECT grid.onderdeel || '-' || grid.rubriek regel,
|
|
grid.onderdeel,
|
|
grid.rubriek,
|
|
grid.jaar,
|
|
COALESCE (x.aantal, 0)
|
|
FROM (SELECT a.prs_afdeling_key onderdeel_key,
|
|
sd.ins_srtdeel_key rubriek_key,
|
|
j.jaar jaar,
|
|
a.prs_afdeling_omschrijving onderdeel,
|
|
sd.ins_srtdeel_omschrijving rubriek
|
|
FROM (SELECT prs_afdeling_key, prs_afdeling_omschrijving
|
|
FROM prs_v_aanwezigafdeling
|
|
WHERE prs_afdeling_parentkey IS NULL
|
|
UNION ALL
|
|
SELECT -1 prs_afdeling_key,
|
|
'Onbekend' prs_afdeling_omschrijving
|
|
FROM DUAL) a,
|
|
ins_v_aanwezigsrtdeel sd,
|
|
ins_v_aanwezigsrtgroep sg,
|
|
(SELECT DISTINCT
|
|
TO_CHAR (
|
|
fac.safe_to_date (ins_kenmerkdeel_waarde,
|
|
'dd-mm-yyyy'),
|
|
'yyyy') jaar
|
|
FROM ins_v_aanwezigkenmerkdeel
|
|
WHERE ins_kenmerk_key = 101) j -- Aanschafdatum
|
|
WHERE sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND sg.ins_discipline_key = 401) grid -- Hardware
|
|
LEFT JOIN
|
|
( SELECT asd.prs_afdeling_key1 onderdeel_key,
|
|
asd.ins_srtdeel_key rubriek_key,
|
|
j.jaar jaar,
|
|
COUNT (*) aantal
|
|
FROM (SELECT DECODE (ra.aantal, 1, ab.prs_afdeling_key1, -1)
|
|
prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d,
|
|
alg_v_allonrgoed_gegevens aog,
|
|
( SELECT alg_ruimte_key,
|
|
MAX (prs_afdeling_key)
|
|
prs_afdeling_key,
|
|
COUNT (*)
|
|
aantal
|
|
FROM prs_ruimteafdeling
|
|
GROUP BY alg_ruimte_key) ra,
|
|
prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type NOT IN ('A', 'P', 'W')
|
|
AND d.ins_alg_ruimte_key =
|
|
aog.alg_onroerendgoed_keys
|
|
AND aog.alg_ruimte_key = ra.alg_ruimte_key
|
|
AND ra.prs_afdeling_key = ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT -1 prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d,
|
|
alg_v_allonrgoed_gegevens aog
|
|
WHERE d.ins_alg_ruimte_type NOT IN ('A', 'P', 'W')
|
|
AND d.ins_alg_ruimte_key =
|
|
aog.alg_onroerendgoed_keys
|
|
AND ( aog.alg_ruimte_key IS NULL
|
|
OR NOT EXISTS
|
|
(SELECT 1
|
|
FROM prs_ruimteafdeling ra
|
|
WHERE ra.alg_ruimte_key =
|
|
aog.alg_ruimte_key))
|
|
UNION ALL
|
|
SELECT ab.prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d, prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type = 'A'
|
|
AND d.ins_alg_ruimte_key = ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT ab.prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d,
|
|
prs_perslid p,
|
|
prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type = 'P'
|
|
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
|
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT DECODE (ra.aantal, 1, ab.prs_afdeling_key1, -1)
|
|
prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d,
|
|
prs_werkplek w,
|
|
( SELECT alg_ruimte_key,
|
|
MAX (prs_afdeling_key)
|
|
prs_afdeling_key,
|
|
COUNT (*)
|
|
aantal
|
|
FROM prs_ruimteafdeling
|
|
GROUP BY alg_ruimte_key) ra,
|
|
prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type = 'W'
|
|
AND d.ins_alg_ruimte_key = w.prs_werkplek_key
|
|
AND w.prs_alg_ruimte_key = ra.alg_ruimte_key
|
|
AND ra.prs_afdeling_key = ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT -1 prs_afdeling_key1,
|
|
d.ins_srtdeel_key,
|
|
d.ins_deel_key
|
|
FROM ins_v_aanwezigdeel d, prs_werkplek w
|
|
WHERE d.ins_alg_ruimte_type = 'W'
|
|
AND d.ins_alg_ruimte_key = w.prs_werkplek_key
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM prs_ruimteafdeling ra
|
|
WHERE ra.alg_ruimte_key =
|
|
w.prs_alg_ruimte_key)) asd
|
|
LEFT JOIN
|
|
(SELECT ins_deel_key,
|
|
TO_CHAR (
|
|
fac.safe_to_date (ins_kenmerkdeel_waarde,
|
|
'dd-mm-yyyy'),
|
|
'yyyy') jaar
|
|
FROM ins_v_aanwezigkenmerkdeel
|
|
WHERE ins_kenmerk_key = 101) j -- Aanschafdatum
|
|
ON asd.ins_deel_key = j.ins_deel_key
|
|
GROUP BY asd.prs_afdeling_key1, asd.ins_srtdeel_key, j.jaar) x
|
|
ON grid.onderdeel_key = x.onderdeel_key
|
|
AND grid.rubriek_key = x.rubriek_key
|
|
AND grid.jaar = x.jaar;
|
|
|
|
CREATE OR REPLACE VIEW HPJI_V_RAP_CNT_HUURCONTRACT
|
|
(
|
|
CNT_CONTRACT_KEY,
|
|
CNT_CONTRACT_NUMMER,
|
|
CNT_CONTRACT_NUMMER_INTERN,
|
|
CNT_CONTRACT_VERSIE,
|
|
ALG_LOCATIE_KEY,
|
|
ALG_LOCATIE_OMSCHRIJVING,
|
|
ALG_LOCATIE_ADRES,
|
|
ALG_LOCATIE_POSTCODE,
|
|
ALG_LOCATIE_PLAATS,
|
|
ALG_GEBOUW_KEY,
|
|
ALG_GEBOUW_CODE,
|
|
ALG_GEBOUW_NAAM,
|
|
PRS_KOSTENPLAATS_NR_GEB,
|
|
PRS_KOSTENPLAATS_OMS_GEB,
|
|
CNT_CONTRACT_OPMERKING,
|
|
CONTRACTPARTIJ,
|
|
CNT_CONTRACT_LOOPTIJD_VAN,
|
|
CNT_RAPPELDATUM,
|
|
CNT_OPZEGDATUM,
|
|
CNT_CONTRACT_LOOPTIJD_TOT,
|
|
FASE_ACTIEF,
|
|
CNT_CONTRACT_STATUS,
|
|
KOSTEN,
|
|
CNT_CONTRACT_TERMIJNKOSTEN,
|
|
FACTUURTERMIJN,
|
|
JAARKOSTEN,
|
|
CNT_CONTRACT_KORTING,
|
|
BEDDEN,
|
|
ZORGSOORT,
|
|
BEHEERDER,
|
|
KALE_HUUR_MAAND,
|
|
NAAM_HUURDER_GEB_DAT,
|
|
TUIN,
|
|
MAINENERGIE,
|
|
WATERBEDRIJF,
|
|
ZIGGO,
|
|
TOTALGAS
|
|
)
|
|
AS
|
|
SELECT c.cnt_contract_key,
|
|
cnt_contract_nummer,
|
|
cnt_contract_nummer_intern,
|
|
cnt_contract_versie,
|
|
alg_locatie_key,
|
|
cp.alg_locatie_omschrijving,
|
|
alg_locatie_adres,
|
|
alg_locatie_postcode,
|
|
alg_locatie_plaats,
|
|
alg_gebouw_key,
|
|
alg_gebouw_code,
|
|
alg_gebouw_naam,
|
|
pk.prs_kostenplaats_nr,
|
|
pk.prs_kostenplaats_omschrijving,
|
|
cnt_contract_opmerking,
|
|
COALESCE (prs_bedrijf_naam, pf1.prs_perslid_naam_full)
|
|
contractpartij,
|
|
cnt_contract_looptijd_van,
|
|
cnt.cnt_getrappeldatum (c.cnt_contract_key)
|
|
cnt_rappeldatum,
|
|
cnt.cnt_getopzegdatum (c.cnt_contract_key)
|
|
cnt_opzegdatum,
|
|
cnt_contract_looptijd_tot,
|
|
DECODE (cnt.cnt_contract_status (
|
|
c.cnt_contract_looptijd_van,
|
|
cnt.cnt_getrappeldatum (c.cnt_contract_key),
|
|
cnt.cnt_getopzegdatum (c.cnt_contract_key),
|
|
c.cnt_contract_looptijd_tot),
|
|
0, lcl.l ('lcl_cnt_future'),
|
|
1, lcl.l ('lcl_cnt_topical'),
|
|
2, lcl.l ('lcl_cnt_warn'),
|
|
3, lcl.l ('lcl_cnt_cancel'),
|
|
4, lcl.l ('lcl_cnt_past'))
|
|
fase_actief,
|
|
DECODE (
|
|
c.cnt_contract_status,
|
|
0, DECODE (fac.getsetting ('cnt_contract_approval'),
|
|
1, lcl.l ('lcl_cnt_active_approval'),
|
|
lcl.l ('lcl_cnt_active')),
|
|
1, lcl.l ('lcl_cnt_inactive'),
|
|
2, lcl.l ('lcl_cnt_new'),
|
|
3, lcl.l ('lcl_cnt_forapproval'))
|
|
cnt_contract_status,
|
|
ROUND (
|
|
DECODE (
|
|
fac.getsetting ('cnt_scopeverdeling'),
|
|
1, cp.cnt_contract_plaats_gewicht,
|
|
0, COALESCE (cp.cnt_contract_plaats_gewicht, 1)
|
|
* c.cnt_contract_kosten
|
|
/ (SELECT DECODE (
|
|
SUM (
|
|
COALESCE (
|
|
cnt_contract_plaats_gewicht,
|
|
0)),
|
|
0, 1,
|
|
SUM (cnt_contract_plaats_gewicht))
|
|
FROM cnt_contract_plaats ccp
|
|
WHERE ccp.cnt_contract_key = cnt_contract_key),
|
|
c.cnt_contract_kosten),
|
|
2)
|
|
kosten,
|
|
c.cnt_contract_termijnkosten,
|
|
(SELECT lcl.x ('cnt_termijn_omschrijving',
|
|
cnt_termijn_key,
|
|
cnt_termijn_omschrijving)
|
|
FROM cnt_termijn
|
|
WHERE cnt_termijn_key = c.cnt_contract_termijntermijn)
|
|
factuurtermijn,
|
|
DECODE (
|
|
cnt.termijnjaarfactor (c.cnt_contract_termijntermijn),
|
|
-1, TO_NUMBER (NULL),
|
|
cnt.termijnjaarfactor (c.cnt_contract_termijntermijn)
|
|
* cnt_contract_termijnkosten)
|
|
jaarkosten,
|
|
c.cnt_contract_korting,
|
|
(SELECT cnt_kenmerkcontract_waarde
|
|
FROM cnt_kenmerkcontract ck
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 281)
|
|
bedden,
|
|
(SELECT fac_usrdata_omschr
|
|
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 241
|
|
AND ud.fac_usrtab_key = 385
|
|
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
|
zorgsoort,
|
|
(SELECT fac_usrdata_omschr
|
|
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 301
|
|
AND ud.fac_usrtab_key = 541
|
|
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
|
beheerder,
|
|
(SELECT cnt_kenmerkcontract_waarde
|
|
FROM cnt_kenmerkcontract ck
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 341)
|
|
kale_huur_maand,
|
|
(SELECT cnt_kenmerkcontract_waarde
|
|
FROM cnt_kenmerkcontract ck
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 342)
|
|
naam_huurder_geb_dat,
|
|
(SELECT fac_usrdata_omschr
|
|
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 423
|
|
AND ud.fac_usrtab_key = 643
|
|
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
|
tuin,
|
|
(SELECT fac_usrdata_omschr
|
|
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 421
|
|
AND ud.fac_usrtab_key = 641
|
|
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
|
mainenergie,
|
|
(SELECT fac_usrdata_omschr
|
|
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 422
|
|
AND ud.fac_usrtab_key = 642
|
|
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
|
waterbedrijf,
|
|
(SELECT fac_usrdata_omschr
|
|
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 561
|
|
AND ud.fac_usrtab_key = 681
|
|
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
|
ziggo,
|
|
(SELECT fac_usrdata_omschr
|
|
FROM cnt_kenmerkcontract ck, fac_usrdata ud
|
|
WHERE cnt_contract_key = c.cnt_contract_key
|
|
AND cnt_kenmerk_key = 581
|
|
AND ud.fac_usrtab_key = 81
|
|
AND cnt_kenmerkcontract_waarde = fac_usrdata_key)
|
|
totalgas
|
|
FROM cnt_contract c,
|
|
(SELECT cp_1.cnt_contract_key,
|
|
l.alg_locatie_key,
|
|
l.alg_locatie_omschrijving,
|
|
l.alg_locatie_code,
|
|
l.alg_locatie_adres,
|
|
l.alg_locatie_postcode,
|
|
l.alg_locatie_plaats,
|
|
g.alg_gebouw_key,
|
|
g.alg_gebouw_code,
|
|
g.alg_gebouw_naam,
|
|
g.prs_kostenplaats_key,
|
|
cp_1.cnt_contract_plaats_gewicht
|
|
FROM cnt_contract_plaats cp_1, alg_gebouw g, alg_locatie l
|
|
WHERE cp_1.cnt_contract_plaats_verwijder IS NULL
|
|
AND cp_1.cnt_alg_plaats_key = g.alg_gebouw_key
|
|
AND g.alg_locatie_key = l.alg_locatie_key
|
|
AND cp_1.cnt_alg_plaats_code = 'G'
|
|
UNION ALL
|
|
SELECT cp_2.cnt_contract_key,
|
|
l.alg_locatie_key,
|
|
l.alg_locatie_omschrijving,
|
|
l.alg_locatie_code,
|
|
l.alg_locatie_adres,
|
|
l.alg_locatie_postcode,
|
|
l.alg_locatie_plaats,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
cp_2.cnt_contract_plaats_gewicht
|
|
FROM cnt_contract_plaats cp_2, alg_locatie l
|
|
WHERE cp_2.cnt_contract_plaats_verwijder IS NULL
|
|
AND cp_2.cnt_alg_plaats_key = l.alg_locatie_key
|
|
AND cp_2.cnt_alg_plaats_code = 'L') cp,
|
|
prs_bedrijf b,
|
|
prs_v_perslid_fullnames_all pf1,
|
|
prs_kostenplaats pk
|
|
WHERE c.ins_discipline_key = 1101
|
|
AND c.cnt_contract_verwijder IS NULL
|
|
AND c.cnt_contract_key = cp.cnt_contract_key(+)
|
|
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
|
|
AND c.cnt_prs_perslid_key = pf1.prs_perslid_key(+)
|
|
AND cp.prs_kostenplaats_key = pk.prs_kostenplaats_key(+);
|
|
|
|
|
|
CREATE OR REPLACE VIEW hpji_v_rap_it_inventaris_stuk
|
|
(
|
|
fclt_f_onderdeel,
|
|
fclt_f_rubriek,
|
|
obj_id,
|
|
fclt_f_merk,
|
|
fclt_f_model,
|
|
fclt_d_aanschafdatum,
|
|
fclt_f_vestiging,
|
|
ruimte_nr,
|
|
ruimte_oms
|
|
)
|
|
AS
|
|
SELECT a.prs_afdeling_omschrijving,
|
|
sd.ins_srtdeel_omschrijving,
|
|
asd.ins_deel_omschrijving,
|
|
x.merk,
|
|
y.model,
|
|
TO_CHAR (z.datum, 'dd-mm-yyyy'),
|
|
asd.vestiging,
|
|
asd.ruimte_nr,
|
|
asd.ruimte_oms
|
|
FROM (SELECT d.ins_srtdeel_key,
|
|
d.ins_deel_key,
|
|
d.ins_deel_omschrijving,
|
|
DECODE (rv.aantal, 1, rv.prs_afdeling_key1, -1)
|
|
prs_afdeling_key1,
|
|
aog.alg_gebouw_code || ' - ' || aog.alg_gebouw_naam
|
|
vestiging,
|
|
aog.alg_ruimte_nr
|
|
ruimte_nr,
|
|
aog.alg_ruimte_omschrijving
|
|
ruimte_oms
|
|
FROM ins_v_aanwezigdeel d,
|
|
alg_v_allonrgoed_gegevens aog,
|
|
( SELECT alg_ruimte_key,
|
|
MAX (prs_afdeling_key1) prs_afdeling_key1,
|
|
COUNT (*) aantal
|
|
FROM prs_ruimteafdeling ra, prs_v_afdeling_boom ab
|
|
WHERE ra.prs_afdeling_key = ab.prs_afdeling_key
|
|
GROUP BY ra.alg_ruimte_key) rv
|
|
WHERE d.ins_alg_ruimte_type NOT IN ('A', 'P', 'W')
|
|
AND d.ins_alg_ruimte_key = aog.alg_onroerendgoed_keys
|
|
AND aog.alg_ruimte_key = rv.alg_ruimte_key
|
|
UNION ALL
|
|
SELECT d.ins_srtdeel_key,
|
|
d.ins_deel_key,
|
|
d.ins_deel_omschrijving,
|
|
-1
|
|
prs_afdeling_key1,
|
|
aog.alg_gebouw_code || ' - ' || aog.alg_gebouw_naam
|
|
vestiging,
|
|
aog.alg_ruimte_nr
|
|
ruimte_nr,
|
|
aog.alg_ruimte_omschrijving
|
|
ruimte_oms
|
|
FROM ins_v_aanwezigdeel d, alg_v_allonrgoed_gegevens aog
|
|
WHERE d.ins_alg_ruimte_type NOT IN ('A', 'P', 'W')
|
|
AND d.ins_alg_ruimte_key = aog.alg_onroerendgoed_keys
|
|
AND ( aog.alg_ruimte_key IS NULL
|
|
OR NOT EXISTS
|
|
(SELECT 1
|
|
FROM prs_ruimteafdeling ra
|
|
WHERE ra.alg_ruimte_key = aog.alg_ruimte_key))
|
|
UNION ALL
|
|
SELECT d.ins_srtdeel_key,
|
|
d.ins_deel_key,
|
|
d.ins_deel_omschrijving,
|
|
ab.prs_afdeling_key1,
|
|
'Onbekend',
|
|
NULL ruimte_nr,
|
|
NULL ruimte_oms
|
|
FROM ins_v_aanwezigdeel d, prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type = 'A'
|
|
AND d.ins_alg_ruimte_key = ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT d.ins_srtdeel_key,
|
|
d.ins_deel_key,
|
|
d.ins_deel_omschrijving,
|
|
ab.prs_afdeling_key1,
|
|
'Onbekend',
|
|
NULL ruimte_nr,
|
|
NULL ruimte_oms
|
|
FROM ins_v_aanwezigdeel d,
|
|
prs_perslid p,
|
|
prs_v_afdeling_boom ab
|
|
WHERE d.ins_alg_ruimte_type = 'P'
|
|
AND d.ins_alg_ruimte_key = p.prs_perslid_key
|
|
AND p.prs_afdeling_key = ab.prs_afdeling_key
|
|
UNION ALL
|
|
SELECT d.ins_srtdeel_key,
|
|
d.ins_deel_key,
|
|
d.ins_deel_omschrijving,
|
|
DECODE (rv.aantal, 1, rv.prs_afdeling_key1, -1)
|
|
prs_afdeling_key1,
|
|
aog.alg_gebouw_code || ' - ' || aog.alg_gebouw_naam
|
|
vestiging,
|
|
aog.alg_ruimte_nr
|
|
ruimte_nr,
|
|
aog.alg_ruimte_omschrijving
|
|
ruimte_oms
|
|
FROM ins_v_aanwezigdeel d,
|
|
prs_werkplek w,
|
|
( SELECT alg_ruimte_key,
|
|
MAX (prs_afdeling_key1) prs_afdeling_key1,
|
|
COUNT (*) aantal
|
|
FROM prs_ruimteafdeling ra, prs_v_afdeling_boom ab
|
|
WHERE ra.prs_afdeling_key = ab.prs_afdeling_key
|
|
GROUP BY ra.alg_ruimte_key) rv,
|
|
alg_v_allonrgoed_gegevens aog
|
|
WHERE d.ins_alg_ruimte_type = 'W'
|
|
AND d.ins_alg_ruimte_key = w.prs_werkplek_key
|
|
AND w.prs_alg_ruimte_key = rv.alg_ruimte_key
|
|
AND rv.alg_ruimte_key = aog.alg_ruimte_key
|
|
UNION ALL
|
|
SELECT d.ins_srtdeel_key,
|
|
d.ins_deel_key,
|
|
d.ins_deel_omschrijving,
|
|
-1
|
|
prs_afdeling_key1,
|
|
aog.alg_gebouw_code || ' - ' || aog.alg_gebouw_naam
|
|
vestiging,
|
|
aog.alg_ruimte_nr
|
|
ruimte_nr,
|
|
aog.alg_ruimte_omschrijving
|
|
ruimte_oms
|
|
FROM ins_v_aanwezigdeel d,
|
|
prs_werkplek w,
|
|
alg_v_allonrgoed_gegevens aog
|
|
WHERE d.ins_alg_ruimte_type = 'W'
|
|
AND d.ins_alg_ruimte_key = w.prs_werkplek_key
|
|
AND NOT EXISTS
|
|
(SELECT 1
|
|
FROM prs_ruimteafdeling ra
|
|
WHERE ra.alg_ruimte_key = w.prs_alg_ruimte_key)
|
|
AND w.prs_alg_ruimte_key = aog.alg_ruimte_key) asd,
|
|
ins_srtdeel sd,
|
|
ins_srtgroep sg,
|
|
(SELECT prs_afdeling_key, prs_afdeling_omschrijving
|
|
FROM prs_v_aanwezigafdeling
|
|
WHERE prs_afdeling_parentkey IS NULL
|
|
UNION ALL
|
|
SELECT -1 prs_afdeling_key, 'Onbekend' prs_afdeling_omschrijving
|
|
FROM DUAL) a,
|
|
(SELECT ins_deel_key, ins_kenmerkdeel_waarde merk
|
|
FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k
|
|
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
|
AND k.ins_srtkenmerk_key = 21) x, -- Merk
|
|
(SELECT ins_deel_key, ins_kenmerkdeel_waarde model
|
|
FROM ins_v_aanwezigkenmerkdeel kd, ins_kenmerk k
|
|
WHERE kd.ins_kenmerk_key = k.ins_kenmerk_key
|
|
AND k.ins_srtkenmerk_key = 22) y, -- Model
|
|
(SELECT ins_deel_key,
|
|
fac.safe_to_date (ins_kenmerkdeel_waarde, 'dd-mm-yyyy') datum
|
|
FROM ins_v_aanwezigkenmerkdeel
|
|
WHERE ins_kenmerk_key = 101) z -- Aanschafdatum
|
|
WHERE asd.ins_srtdeel_key = sd.ins_srtdeel_key
|
|
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
|
AND sg.ins_discipline_key = 401 -- Hardware
|
|
AND asd.prs_afdeling_key1 = a.prs_afdeling_key
|
|
AND asd.ins_deel_key = x.ins_deel_key(+)
|
|
AND asd.ins_deel_key = y.ins_deel_key(+)
|
|
AND asd.ins_deel_key = z.ins_deel_key(+);
|
|
|
|
|
|
-- HPJI#28971 Geleverde bestellingen bloemen automatisch afmelden
|
|
|
|
CREATE OR REPLACE PROCEDURE hpji_export_bes_afmeld (p_applname IN VARCHAR2,
|
|
p_applrun IN VARCHAR2,
|
|
p_filedir IN VARCHAR2,
|
|
p_filename IN VARCHAR2)
|
|
AS
|
|
-- De bestelopdrachten die ik als compleet geleverd veronderstel,
|
|
-- die zouden in principe meer werkdagen geleden geleverd zijn dan
|
|
-- de 'notidagen' van de catalogus aangeeft.
|
|
-- bes_discipline 201 Bloemen Groningen
|
|
-- bes_discipline 202 Bloemen Veenhuizen
|
|
CURSOR cbopi IS
|
|
SELECT boi.bes_bestelopdr_item_key,
|
|
bo.bes_bestelopdr_key,
|
|
b.bes_bestelling_key
|
|
FROM bes_bestelopdr bo,
|
|
bes_bestelopdr_item boi,
|
|
bes_bestelling_item bi,
|
|
bes_bestelling b,
|
|
bes_srtdeel sd,
|
|
bes_srtgroep sg,
|
|
bes_disc_params bdp
|
|
WHERE bo.bes_bestelopdr_status = 4 -- In bestelling
|
|
AND bo.bes_bestelopdr_key = boi.bes_bestelopdr_key
|
|
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
|
|
AND bi.bes_bestelling_key = b.bes_bestelling_key
|
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
|
AND sg.ins_discipline_key = bdp.bes_ins_discipline_key
|
|
AND sg.ins_discipline_key IN (201, 202)
|
|
AND bdp.bes_disc_params_noti_dagen IS NOT NULL
|
|
AND ( b.bes_bestelling_leverdatum IS NULL
|
|
OR fac.datumtijdplusuitvoertijd (
|
|
b.bes_bestelling_leverdatum,
|
|
bdp.bes_disc_params_noti_dagen,
|
|
'DAGEN') <
|
|
SYSDATE);
|
|
|
|
-- Alle bestelaanvragen die (nu) geheel geleverd zijn sluiten we af.
|
|
CURSOR cbesi IS
|
|
SELECT bi.bes_bestelling_item_key, b.bes_bestelling_key
|
|
FROM bes_bestelling b,
|
|
bes_bestelling_item bi,
|
|
bes_bestelopdr_item boi,
|
|
bes_srtdeel sd,
|
|
bes_srtgroep sg
|
|
WHERE b.bes_bestelling_status = 5 -- Besteld
|
|
AND b.bes_bestelling_key = bi.bes_bestelling_key
|
|
AND bi.bes_bestelopdr_item_key = boi.bes_bestelopdr_item_key
|
|
AND boi.bes_bestelopdr_item_aantal =
|
|
boi.bes_bestelopdr_item_aantalontv
|
|
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
|
|
AND sd.bes_srtgroep_key = sg.bes_srtgroep_key
|
|
AND sg.ins_discipline_key IN (201, 202);
|
|
|
|
v_errorhint VARCHAR2 (1000);
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
BEGIN
|
|
FOR r IN cbopi
|
|
LOOP
|
|
-- Zeg dat alles geleverd is wat besteld is.
|
|
UPDATE bes_bestelopdr_item
|
|
SET bes_bestelopdr_item_aantalontv = bes_bestelopdr_item_aantal
|
|
WHERE bes_bestelopdr_item_key = r.bes_bestelopdr_item_key;
|
|
|
|
bes.updatebestelopdrstatus (r.bes_bestelopdr_key, NULL);
|
|
END LOOP;
|
|
|
|
FOR r IN cbesi
|
|
LOOP
|
|
-- Sluit alle aanvraagregels af die nu geheel geleverd zijn.
|
|
UPDATE bes_bestelling_item
|
|
SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal
|
|
WHERE bes_bestelling_item_key = r.bes_bestelling_item_key;
|
|
|
|
bes.updatebestellingstatus (r.bes_bestelling_key, NULL);
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
ROLLBACK;
|
|
v_errormsg :=
|
|
'ORACLE (error '
|
|
|| oracle_err_num
|
|
|| '/'
|
|
|| oracle_err_mes
|
|
|| ')';
|
|
fac.writelog (p_applname,
|
|
'E',
|
|
'Proces afmelden bestellingen afgebroken!',
|
|
v_errormsg);
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE hpji_import_prs (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,
|
|
'0;0;0;0;0;0;7;2;3;5;'
|
|
|| '4;0;0;0;0;11;12;13;0;6;'
|
|
|| '8;1;0;0;0;0;14;15;16;0;'
|
|
|| '0;0;0;0;0;0;0;0;0;0;'
|
|
|| '0;0;0;0;0;0',
|
|
'Loginnaam;Naam;Tussenvoegsel;Voorletters;Voornaam;Personeelsnummer;Afdelingscode;Functie;Locatie;Ruimte;Telefoon;Mobiel;Email;Datum in dienst;Datum uit dienst;Domain%');
|
|
|
|
-- op basis van het bedrijf wordt straks de autorisatie groep bepaald
|
|
-- het bedrijf dus maar vast bepalen
|
|
UPDATE fac_imp_perslid i
|
|
SET prs_kenmerk5 =
|
|
(SELECT DISTINCT b.prs_bedrijf_key
|
|
FROM prs_v_afdeling a, prs_bedrijf b
|
|
WHERE UPPER (i.prs_afdeling_naam) = a.prs_afdeling_upper
|
|
AND a.prs_bedrijf_key = b.prs_bedrijf_key);
|
|
|
|
-- Zie #55445: personen met een alternatieve inlogcode moeten worden uitgesloten van bijwerken
|
|
-- Deze worden dus uit de importtabel verwijderd, tenzij ze een einddatum hebben in het verleden, dan moeten ze wel netjes be indigd worden
|
|
DELETE fac_imp_perslid
|
|
WHERE fac.safe_to_date (prs_kenmerk2, 'dd-mm-yyyy') > SYSDATE
|
|
AND UPPER (prs_perslid_oslogin) IN
|
|
(SELECT UPPER (prs_perslid_oslogin)
|
|
FROM prs_perslid p
|
|
WHERE p.prs_perslid_oslogin2 IS NOT NULL);
|
|
|
|
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 hpji_import_prs;
|
|
/
|
|
|
|
|
|
CREATE OR REPLACE PROCEDURE hpji_update_prs (p_import_key IN NUMBER)
|
|
IS
|
|
-- Alle personen verwijderen die in het import import bestand voorkomen met een einddatum < vandaag
|
|
-- Personen in de juiste autorisatiegroep zetten.
|
|
-- Match bij HPJI is oslogin, hieronder de query om alle personen te verwijderen die:
|
|
|
|
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_oslogin) =
|
|
UPPER (i.prs_perslid_oslogin)
|
|
AND pf.prs_perslid_key = p.prs_perslid_key
|
|
AND i.prs_kenmerk2 IS NOT NULL
|
|
AND fac.safe_to_date (i.prs_kenmerk2, 'dd-mm-yyyy') < SYSDATE;
|
|
|
|
|
|
v_count NUMBER;
|
|
BEGIN
|
|
-- generic update
|
|
-- 'LOGIN' betekent dat op basis van Login wordt gematched.
|
|
-- 'NR' betekent dat op basis van Personeelsnummer wordt gematched.
|
|
-- 'A' betekent altijd alle (andere/overige) werkplekken verwijderen
|
|
prs.update_perslid (p_import_key, 'LOGIN', NULL);
|
|
|
|
hpji_post_update_perslid (p_import_key);
|
|
|
|
-- 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;
|
|
END hpji_update_prs;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE hpji_post_update_perslid (p_import_key IN NUMBER)
|
|
AS
|
|
--- #72210 alle persleden moeten in de autorisatiegroep Basis Elker (1) als ze daar nog niet in zitten
|
|
--- Alle medewerkers moeten het Default profiel krijgen
|
|
--- #73431 medewerkers met kostenplaats 960101, 960201, 960301 of 960401 moeten alleen in Basis Portalis komen
|
|
--- Dus die sluiten we hier uit (kostenplaats = afdelingscode)
|
|
CURSOR c_auth_default IS
|
|
SELECT DISTINCT prs_perslid_key
|
|
FROM fac_imp_perslid
|
|
WHERE fac_import_key = p_import_key
|
|
AND prs_afdeling_naam NOT IN ('960101', '960201', '960301', '960401')
|
|
AND prs_perslid_key IS NOT NULL
|
|
AND prs_perslid_key NOT IN (SELECT prs_perslid_key
|
|
FROM fac_gebruikersgroep
|
|
WHERE fac_groep_key = 1);
|
|
|
|
--- #73431 medewerkers met kostenplaats 960101, 960201, 960301 of 960401 moeten in Basis Portalis (1541) komen
|
|
--- en eventueel verwijderd worden uit de groep Basis Elker
|
|
CURSOR c_auth_portalis IS
|
|
SELECT DISTINCT prs_perslid_key
|
|
FROM fac_imp_perslid
|
|
WHERE fac_import_key = p_import_key
|
|
AND prs_afdeling_naam IN ('960101', '960201', '960301', '960401')
|
|
AND prs_perslid_key IS NOT NULL
|
|
AND prs_perslid_key NOT IN (SELECT prs_perslid_key
|
|
FROM fac_gebruikersgroep
|
|
WHERE fac_groep_key = 1541);
|
|
|
|
|
|
--- #72210 alle persleden het Default profiel krijgen als ze dat nog niet hebben
|
|
CURSOR c_fin_default IS
|
|
SELECT DISTINCT prs_perslid_key
|
|
FROM fac_imp_perslid
|
|
WHERE fac_import_key = p_import_key
|
|
AND prs_perslid_key IS NOT NULL
|
|
AND prs_perslid_key NOT IN (SELECT prs_perslid_key
|
|
FROM prs_perslid );
|
|
v_portalis NUMBER;
|
|
|
|
BEGIN
|
|
|
|
SELECT fac_groep_key
|
|
INTO v_portalis
|
|
FROM fac_groep
|
|
WHERE fac_groep_upper = 'BASIS PORTALIS';
|
|
|
|
-- plaats personen in de juiste autorisatie groepen
|
|
FOR rec IN c_auth_default
|
|
LOOP
|
|
BEGIN
|
|
INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key)
|
|
VALUES (rec.prs_perslid_key, 1);
|
|
END;
|
|
END LOOP;
|
|
|
|
IF v_portalis IS NOT NULL
|
|
THEN
|
|
FOR rec IN c_auth_portalis
|
|
LOOP
|
|
BEGIN
|
|
INSERT INTO FAC_GEBRUIKERSGROEP (prs_perslid_key, fac_groep_key)
|
|
VALUES (rec.prs_perslid_key, v_portalis);
|
|
|
|
DELETE FAC_GEBRUIKERSGROEP
|
|
WHERE prs_perslid_key = rec.prs_perslid_key
|
|
AND fac_groep_key = 1;
|
|
|
|
END;
|
|
END LOOP;
|
|
END IF;
|
|
|
|
FOR rec IN c_fin_default
|
|
LOOP
|
|
BEGIN
|
|
UPDATE prs_perslid p
|
|
SET p.fac_profiel_key = 1
|
|
WHERE p.prs_perslid_key = rec.prs_perslid_key;
|
|
END;
|
|
END LOOP;
|
|
|
|
COMMIT;
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE hpji_import_organisatie (p_import_key IN NUMBER)
|
|
AS
|
|
BEGIN
|
|
FAC_IMPORT_ORGANISATIE (p_import_key);
|
|
END hpji_import_organisatie;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE hpji_update_organisatie (p_import_key IN NUMBER)
|
|
IS
|
|
c_fielddelimitor VARCHAR2 (1) := ';';
|
|
|
|
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
|
|
v_errormsg VARCHAR2 (1000);
|
|
v_errorhint VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
v_aanduiding VARCHAR2 (200);
|
|
|
|
v_count NUMBER (10);
|
|
v_ongeldig NUMBER (1);
|
|
v_count_update NUMBER (10);
|
|
v_count_error NUMBER (10);
|
|
v_count_tot NUMBER (10);
|
|
|
|
--
|
|
v_bedrijf_key NUMBER (10);
|
|
v_kostenplaats_key NUMBER (10);
|
|
v_prs_afdeling_parentkey NUMBER (10);
|
|
|
|
CURSOR cBedrijf IS
|
|
SELECT MIN (prs_bedrijf_naam) prs_bedrijf_naam
|
|
FROM fac_imp_organisatie
|
|
WHERE prs_bedrijf_naam IS NOT NULL
|
|
GROUP BY UPPER (prs_bedrijf_naam);
|
|
|
|
recBedrijf cBedrijf%ROWTYPE;
|
|
|
|
-- Bij 1-op-1 relatie tussen kostenplaats en afdeling de kostenplaatsomschrijving zetten op
|
|
-- de afdelingsomschrijving, ander de kostenplaatsomschrijving leeg laten.
|
|
CURSOR cKPN IS
|
|
SELECT MIN (prs_kostenplaats_nr)
|
|
prs_kostenplaats_nr,
|
|
DECODE (COUNT (*), 1, MAX (prs_afdeling_omschrijving), '')
|
|
prs_kostenplaats_omschrijving,
|
|
'PRS'
|
|
prs_kostenplaats_module
|
|
FROM FAC_IMP_ORGANISATIE
|
|
WHERE prs_kostenplaats_nr IS NOT NULL
|
|
GROUP BY UPPER (prs_kostenplaats_nr);
|
|
|
|
recKPN cKpn%ROWTYPE;
|
|
|
|
CURSOR cAfdeling1 IS
|
|
SELECT MIN (prs_bedrijf_naam)
|
|
prs_bedrijf_naam,
|
|
UPPER (prs_bedrijf_naam)
|
|
prs_bedrijf_naam_upper,
|
|
MIN (prs_afdeling_naam)
|
|
prs_afdeling_naam,
|
|
UPPER (prs_afdeling_naam)
|
|
prs_afdeling_upper,
|
|
MAX (prs_afdeling_omschrijving)
|
|
prs_afdeling_omschrijving,
|
|
MIN (prs_afdeling_naam_parent)
|
|
prs_afdeling_naam_parent,
|
|
MIN (UPPER (prs_afdeling_naam_parent))
|
|
prs_afdeling_naam_parent_upper,
|
|
MAX (prs_kostenplaats_nr)
|
|
prs_kostenplaats_nr,
|
|
MAX (UPPER (prs_kostenplaats_nr))
|
|
prs_kostenplaats_upper,
|
|
NIVEAU
|
|
FROM (SELECT 1 NIVEAU,
|
|
a1.prs_bedrijf_naam,
|
|
a1.prs_afdeling_naam,
|
|
a1.prs_afdeling_omschrijving,
|
|
a1.prs_kostenplaats_nr,
|
|
'' PRS_AFDELING_NAAM_PARENT
|
|
FROM FAC_IMP_ORGANISATIE a1
|
|
WHERE a1.prs_afdeling_naam_parent IS NULL
|
|
UNION ALL
|
|
SELECT 2,
|
|
a2.prs_bedrijf_naam,
|
|
a2.prs_afdeling_naam,
|
|
a2.prs_afdeling_omschrijving,
|
|
a2.prs_kostenplaats_nr,
|
|
a1.prs_afdeling_naam
|
|
FROM FAC_IMP_ORGANISATIE a1, FAC_IMP_ORGANISATIE a2
|
|
WHERE a2.prs_afdeling_naam_parent = a1.prs_afdeling_naam
|
|
AND a1.prs_afdeling_naam_parent IS NULL
|
|
UNION ALL
|
|
SELECT 3,
|
|
a3.prs_bedrijf_naam,
|
|
a3.prs_afdeling_naam,
|
|
a3.prs_afdeling_omschrijving,
|
|
a3.prs_kostenplaats_nr,
|
|
a2.prs_afdeling_naam
|
|
FROM FAC_IMP_ORGANISATIE a1,
|
|
FAC_IMP_ORGANISATIE a2,
|
|
FAC_IMP_ORGANISATIE a3
|
|
WHERE a3.prs_afdeling_naam_parent = a2.prs_afdeling_naam
|
|
AND a2.prs_afdeling_naam_parent = a1.prs_afdeling_naam
|
|
AND a1.prs_afdeling_naam_parent IS NULL
|
|
UNION ALL
|
|
SELECT 4,
|
|
a4.prs_bedrijf_naam,
|
|
a4.prs_afdeling_naam,
|
|
a4.prs_afdeling_omschrijving,
|
|
a4.prs_kostenplaats_nr,
|
|
a3.prs_afdeling_naam
|
|
FROM FAC_IMP_ORGANISATIE a1,
|
|
FAC_IMP_ORGANISATIE a2,
|
|
FAC_IMP_ORGANISATIE a3,
|
|
FAC_IMP_ORGANISATIE a4
|
|
WHERE a4.prs_afdeling_naam_parent = a3.prs_afdeling_naam
|
|
AND a3.prs_afdeling_naam_parent = a2.prs_afdeling_naam
|
|
AND a2.prs_afdeling_naam_parent = a1.prs_afdeling_naam
|
|
AND a1.prs_afdeling_naam_parent IS NULL
|
|
UNION ALL
|
|
SELECT 5,
|
|
a5.prs_bedrijf_naam,
|
|
a5.prs_afdeling_naam,
|
|
a5.prs_afdeling_omschrijving,
|
|
a5.prs_kostenplaats_nr,
|
|
a4.prs_afdeling_naam
|
|
FROM FAC_IMP_ORGANISATIE a1,
|
|
FAC_IMP_ORGANISATIE a2,
|
|
FAC_IMP_ORGANISATIE a3,
|
|
FAC_IMP_ORGANISATIE a4,
|
|
FAC_IMP_ORGANISATIE a5
|
|
WHERE a5.prs_afdeling_naam_parent = a4.prs_afdeling_naam
|
|
AND a4.prs_afdeling_naam_parent = a3.prs_afdeling_naam
|
|
AND a3.prs_afdeling_naam_parent = a2.prs_afdeling_naam
|
|
AND a2.prs_afdeling_naam_parent = a1.prs_afdeling_naam
|
|
AND a1.prs_afdeling_naam_parent IS NULL)
|
|
WHERE ( (prs_bedrijf_naam IS NOT NULL)
|
|
AND (prs_afdeling_naam IS NOT NULL)) -- geen lege regels
|
|
GROUP BY UPPER (prs_bedrijf_naam), UPPER (prs_afdeling_naam), NIVEAU
|
|
ORDER BY NIVEAU;
|
|
|
|
recAfdeling1 cAfdeling1%ROWTYPE;
|
|
BEGIN
|
|
OPEN cBedrijf;
|
|
|
|
v_count_update := 0;
|
|
v_count_tot := 0;
|
|
v_count_error := 0;
|
|
|
|
IF cBedrijf%ISOPEN
|
|
THEN
|
|
LOOP
|
|
BEGIN
|
|
FETCH cBedrijf INTO recBedrijf;
|
|
|
|
EXIT WHEN cBedrijf%NOTFOUND;
|
|
v_count_tot := v_count_tot + 1;
|
|
|
|
v_aanduiding := recBedrijf.PRS_BEDRIJF_NAAM || '| ';
|
|
v_errormsg := '';
|
|
v_errorhint := '';
|
|
|
|
v_errorhint := 'Kijken of bedrijf al bestaat';
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_count
|
|
FROM prs_bedrijf
|
|
WHERE UPPER (prs_bedrijf_naam_upper) =
|
|
UPPER (recBedrijf.prs_bedrijf_naam)
|
|
AND prs_bedrijf_verwijder IS NULL;
|
|
|
|
IF (v_count = 0)
|
|
THEN
|
|
v_errorhint := 'Fout bij toevoegen bedrijf';
|
|
|
|
INSERT INTO PRS_BEDRIJF (prs_bedrijf_naam,
|
|
prs_bedrijf_intern)
|
|
VALUES (recBedrijf.prs_bedrijf_naam, 1);
|
|
|
|
COMMIT;
|
|
v_count_update := v_count_update + 1;
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
v_count_error := v_count_error + 1;
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
|
|
IF (v_errormsg = '')
|
|
THEN
|
|
v_errormsg :=
|
|
'Fout tijdens verwerken van bedrijf ['
|
|
|| recBedrijf.PRS_BEDRIJF_NAAM
|
|
|| ']';
|
|
END IF;
|
|
|
|
v_errorhint := v_errorhint || ': ' || oracle_err_mes;
|
|
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
v_errorhint);
|
|
|
|
COMMIT; -- tbv logging
|
|
END;
|
|
END LOOP;
|
|
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'S',
|
|
'Bedrijf: verwerkte regels zonder foutmelding: '
|
|
|| TO_CHAR (v_count_tot - v_count_error),
|
|
'');
|
|
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'S',
|
|
'Bedrijf: verwerkte regels met foutmelding: <b>'
|
|
|| TO_CHAR (v_count_error),
|
|
'');
|
|
END IF;
|
|
|
|
OPEN cKPN;
|
|
|
|
v_count_update := 0;
|
|
v_count_tot := 0;
|
|
v_count_error := 0;
|
|
|
|
IF cKPN%ISOPEN
|
|
THEN
|
|
LOOP
|
|
BEGIN
|
|
v_aanduiding := recKPN.PRS_KOSTENPLAATS_NR || '| ';
|
|
v_errormsg := '';
|
|
v_errorhint := '';
|
|
|
|
FETCH cKPN INTO recKPN;
|
|
|
|
EXIT WHEN cKPN%NOTFOUND;
|
|
v_count_tot := v_count_tot + 1;
|
|
|
|
v_aanduiding := recBedrijf.PRS_BEDRIJF_NAAM || '| ';
|
|
v_errormsg := '';
|
|
v_errorhint := '';
|
|
|
|
v_errorhint := 'Kijken of de kostenplaats al bestaat';
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_count
|
|
FROM prs_kostenplaats
|
|
WHERE prs_kostenplaats_verwijder IS NULL
|
|
AND UPPER (prs_kostenplaats_upper) =
|
|
UPPER (recKPN.prs_kostenplaats_nr);
|
|
|
|
IF (v_count = 0)
|
|
THEN
|
|
v_errorhint := 'Fout bij toevoegen kostenplaats';
|
|
|
|
INSERT INTO PRS_KOSTENPLAATS (
|
|
PRS_KOSTENPLAATS_NR,
|
|
PRS_KOSTENPLAATS_OMSCHRIJVING,
|
|
PRS_KOSTENPLAATS_MODULE)
|
|
VALUES (recKPN.prs_kostenplaats_nr,
|
|
recKPN.prs_kostenplaats_omschrijving,
|
|
recKPN.prs_kostenplaats_module);
|
|
|
|
COMMIT;
|
|
v_count_update := v_count_update + 1;
|
|
END IF;
|
|
|
|
IF (v_count = 1)
|
|
THEN
|
|
v_errorhint := 'Fout bij updaten kostenplaats';
|
|
|
|
UPDATE PRS_KOSTENPLAATS
|
|
SET prs_kostenplaats_omschrijving =
|
|
recKPN.prs_kostenplaats_omschrijving
|
|
WHERE prs_kostenplaats_upper =
|
|
recKPN.prs_kostenplaats_nr;
|
|
|
|
COMMIT;
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
v_count_error := v_count_error + 1;
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
|
|
IF (v_errormsg = '')
|
|
THEN
|
|
v_errormsg :=
|
|
'Fout tijdens verwerken van kostenplaats ['
|
|
|| recKPN.PRS_KOSTENPLAATS_NR
|
|
|| ']';
|
|
END IF;
|
|
|
|
v_errorhint := v_errorhint || ': ' || oracle_err_mes;
|
|
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
v_errorhint);
|
|
|
|
COMMIT; -- tbv logging
|
|
END;
|
|
END LOOP;
|
|
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'S',
|
|
'Kostenplaats: verwerkte regels zonder foutmelding: '
|
|
|| TO_CHAR (v_count_tot - v_count_error),
|
|
'');
|
|
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'S',
|
|
'Kostenplaats: verwerkte regels met foutmelding: <b>'
|
|
|| TO_CHAR (v_count_error),
|
|
'');
|
|
END IF;
|
|
|
|
|
|
OPEN cAfdeling1;
|
|
|
|
v_count_update := 0;
|
|
v_count_tot := 0;
|
|
v_count_error := 0;
|
|
|
|
IF cAfdeling1%ISOPEN
|
|
THEN
|
|
LOOP
|
|
BEGIN
|
|
FETCH cAfdeling1 INTO recAfdeling1;
|
|
|
|
EXIT WHEN cAfdeling1%NOTFOUND;
|
|
v_count_tot := v_count_tot + 1;
|
|
|
|
v_aanduiding :=
|
|
recAfdeling1.prs_bedrijf_naam
|
|
|| '|'
|
|
|| recAfdeling1.prs_afdeling_naam
|
|
|| '|'
|
|
|| recAfdeling1.prs_afdeling_naam_parent
|
|
|| '| ';
|
|
v_errormsg := '';
|
|
v_errorhint := '';
|
|
|
|
IF (recAfdeling1.niveau = 1)
|
|
THEN
|
|
v_errorhint := 'Bedrijf niet gevonden bij afdeling';
|
|
v_prs_afdeling_parentkey := TO_NUMBER (NULL);
|
|
|
|
SELECT prs_bedrijf_key
|
|
INTO v_bedrijf_key
|
|
FROM prs_bedrijf
|
|
WHERE prs_bedrijf_verwijder IS NULL
|
|
AND prs_bedrijf_naam_upper =
|
|
recAfdeling1.prs_bedrijf_naam_upper;
|
|
ELSE
|
|
v_errorhint := 'Parent van de afdeling niet gevonden';
|
|
v_bedrijf_key := TO_NUMBER (NULL);
|
|
|
|
SELECT prs_afdeling_key
|
|
INTO v_prs_afdeling_parentkey
|
|
FROM prs_afdeling
|
|
WHERE prs_afdeling_verwijder IS NULL
|
|
AND prs_afdeling_upper =
|
|
recAfdeling1.prs_afdeling_naam_parent_upper;
|
|
END IF;
|
|
|
|
|
|
--- Let op dat het bepalen of de afdeling bestaat gebeurt op basis van de afdelingscode en niet de 'lange' omschrijving
|
|
v_errorhint := 'Bepalen of afdeling bestaat';
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_count
|
|
FROM prs_afdeling
|
|
WHERE UPPER (RTRIM (prs_afdeling_omschrijving)) =
|
|
UPPER (
|
|
RTRIM (recAfdeling1.prs_afdeling_omschrijving))
|
|
AND prs_afdeling_verwijder IS NULL;
|
|
|
|
v_errorhint := 'Kostenplaats bij afdeling bepalen';
|
|
|
|
SELECT COUNT (*),
|
|
NVL (MAX (prs_kostenplaats_key), TO_NUMBER (NULL))
|
|
INTO v_count, v_kostenplaats_key
|
|
FROM PRS_KOSTENPLAATS
|
|
WHERE prs_kostenplaats_verwijder IS NULL
|
|
AND prs_kostenplaats_upper =
|
|
UPPER (TRIM (recAfdeling1.prs_kostenplaats_upper))
|
|
AND UPPER (prs_kostenplaats_module) = 'PRS';
|
|
|
|
--- Let op dat het bepalen of de afdeling bestaat gebeurt op basis van de afdelingscode en niet de 'lange' omschrijving
|
|
v_errorhint := 'Kostenplaats bij afdeling bepalen';
|
|
|
|
SELECT COUNT (*)
|
|
INTO v_count
|
|
FROM PRS_AFDELING
|
|
WHERE prs_afdeling_verwijder IS NULL
|
|
AND prs_afdeling_upper =
|
|
UPPER (TRIM (recAfdeling1.prs_afdeling_upper));
|
|
|
|
v_errorhint := 'Fout bij toevoegen afdeling';
|
|
|
|
IF (v_count = 0)
|
|
THEN
|
|
INSERT INTO PRS_AFDELING (prs_afdeling_naam,
|
|
prs_afdeling_omschrijving,
|
|
prs_bedrijf_key,
|
|
prs_afdeling_parentkey,
|
|
prs_kostenplaats_key)
|
|
VALUES (recAfdeling1.prs_afdeling_naam,
|
|
recAfdeling1.prs_afdeling_omschrijving,
|
|
v_bedrijf_key,
|
|
v_prs_afdeling_parentkey,
|
|
v_kostenplaats_key);
|
|
|
|
COMMIT;
|
|
v_count_update := v_count_update + 1;
|
|
ELSE
|
|
--- als v_count=1 dan bestaat de afdeling al en doen we een update
|
|
UPDATE PRS_AFDELING a
|
|
SET a.prs_afdeling_omschrijving =
|
|
recAfdeling1.prs_afdeling_omschrijving,
|
|
a.prs_bedrijf_key = v_bedrijf_key,
|
|
a.prs_afdeling_parentkey =
|
|
v_prs_afdeling_parentkey,
|
|
a.prs_kostenplaats_key = v_kostenplaats_key
|
|
WHERE a.PRS_AFDELING_UPPER =
|
|
UPPER (TRIM (recAfdeling1.prs_afdeling_upper));
|
|
END IF;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
v_count_error := v_count_error + 1;
|
|
oracle_err_num := SQLCODE;
|
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
|
|
|
IF (v_errormsg = '')
|
|
THEN
|
|
v_errormsg :=
|
|
'Fout tijdens verwerken van afdeling ['
|
|
|| recAfdeling1.PRS_AFDELING_NAAM
|
|
|| ']';
|
|
END IF;
|
|
|
|
v_errorhint := v_errorhint || ': ' || oracle_err_mes;
|
|
|
|
fac.imp_writelog (p_import_key,
|
|
'E',
|
|
v_aanduiding || v_errormsg,
|
|
v_errorhint);
|
|
|
|
COMMIT; -- tbv logging
|
|
END;
|
|
END LOOP;
|
|
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'S',
|
|
'Afdeling: verwerkte regels zonder foutmelding: '
|
|
|| TO_CHAR (v_count_tot - v_count_error),
|
|
'');
|
|
|
|
fac.imp_writelog (
|
|
p_import_key,
|
|
'S',
|
|
'Afdeling: verwerkte regels met foutmelding: <b>'
|
|
|| TO_CHAR (v_count_error),
|
|
'');
|
|
END IF;
|
|
|
|
CLOSE cAfdeling1;
|
|
END hpji_update_organisatie;
|
|
/
|
|
|
|
-- HPJI#67097 Inrichting module periodieke taken, notificatie op de 1e van de maand
|
|
CREATE OR REPLACE VIEW HPJI_V_NOTI_TAKEN
|
|
(
|
|
TO_KEY,
|
|
TO_EMAIL,
|
|
TO_OMSCHR,
|
|
TAAK_OMSCHR,
|
|
INS_DEEL_KEY,
|
|
BETREFT
|
|
)
|
|
AS
|
|
WITH
|
|
taken
|
|
AS
|
|
(SELECT deel.ins_srtdeel_omschrijving,
|
|
deel.ins_deel_key,
|
|
deel.ins_deel_omschrijving,
|
|
deel.ins_deel_opmerking,
|
|
deel.ins_srtcontrole_omschrijving,
|
|
TRUNC (last_insp.ins_deelsrtcontrole_datum)
|
|
laatste_insp,
|
|
insp_result.ins_controlemode_oms
|
|
result_laatste_insp,
|
|
TRUNC (deel.ins_deelsrtcontrole_datum),
|
|
deel.deelsrtcontrole_status
|
|
FROM (SELECT sd.ins_srtdeel_omschrijving,
|
|
obj.ins_deel_key,
|
|
ins_deel_omschrijving,
|
|
ins_deel_opmerking,
|
|
sc.ins_srtcontrole_omschrijving,
|
|
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 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 obj,
|
|
ins_deelsrtcontrole dc,
|
|
ins_srtdeel sd,
|
|
ins_srtcontrole sc
|
|
WHERE ins_deel_verwijder IS NULL
|
|
AND sc.ins_srtcontrole_key =
|
|
dc.ins_srtcontrole_key
|
|
AND sd.ins_srtdeel_key = obj.ins_srtdeel_key
|
|
AND ins_deel_actief = 1
|
|
AND dc.ins_deel_key = obj.ins_deel_key
|
|
AND dc.ins_deelsrtcontrole_status = 6 -- alle voltooide taken
|
|
AND ins_deelsrtcontrole_datum >=
|
|
ADD_MONTHS (SYSDATE, -1)
|
|
AND ins_deelsrtcontrole_datum <= SYSDATE
|
|
UNION ALL
|
|
SELECT d.ins_srtdeel_omschrijving,
|
|
d.ins_deel_key,
|
|
d.ins_deel_omschrijving,
|
|
d.ins_deel_opmerking,
|
|
d.ins_srtcontrole_omschrijving,
|
|
fac.nextcyclusdatedeel (d.ins_deel_key,
|
|
d.ins_srtcontrole_key,
|
|
1),
|
|
''
|
|
AS ctrmode,
|
|
''
|
|
AS status
|
|
FROM (SELECT sc.ins_srtcontrole_key,
|
|
sc.ins_srtcontrole_omschrijving,
|
|
d.ins_deel_key,
|
|
d.ins_deel_omschrijving,
|
|
d.ins_deel_opmerking,
|
|
sc.ins_srtcontrole_periode,
|
|
sd.ins_srtdeel_omschrijving
|
|
FROM ins_srtcontrole sc,
|
|
ins_discipline di,
|
|
ins_v_aanwezigsrtgroep sg,
|
|
ins_v_aanwezigsrtdeel sd,
|
|
ins_v_aanwezigdeel d
|
|
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 + 2) >=
|
|
SYSDATE
|
|
OR d.ins_deel_vervaldatum IS NULL))
|
|
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, 2)
|
|
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 obj
|
|
WHERE ins_deelsrtcontrole_plandatum
|
|
IS NOT NULL
|
|
AND ins_deelsrtcontrole_datum
|
|
IS NULL
|
|
AND obj.ins_deel_key =
|
|
ins.deel_key
|
|
AND obj.ins_deel_verwijder
|
|
IS NULL)
|
|
UNION ALL
|
|
SELECT sd.ins_srtdeel_omschrijving,
|
|
obj.ins_deel_key,
|
|
obj.ins_deel_omschrijving,
|
|
obj.ins_deel_opmerking,
|
|
ins.srtcontrole_omschrijving,
|
|
ins_deelsrtcontrole_plandatum,
|
|
'' ctrmode,
|
|
deelsrtcontrole_status
|
|
FROM ins_v_udr_deelinspect ins,
|
|
ins_deel obj,
|
|
ins_srtdeel sd
|
|
WHERE ins_deelsrtcontrole_plandatum IS NOT NULL
|
|
AND sd.ins_srtdeel_key = obj.ins_srtdeel_key
|
|
AND ins_deelsrtcontrole_datum IS NULL
|
|
AND obj.ins_deel_key = ins.deel_key
|
|
AND obj.ins_deel_verwijder IS NULL
|
|
AND actief = 'ja'
|
|
AND ins_deelsrtcontrole_plandatum <=
|
|
ADD_MONTHS (SYSDATE, 2)) deel,
|
|
( 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 deel.ins_deel_key = last_insp.ins_deel_key(+)
|
|
AND last_insp.ins_deelsrtcontrole_key =
|
|
insp_result.ins_deelsrtcontrole_key(+))
|
|
SELECT p.prs_perslid_key to_key,
|
|
p.prs_perslid_email to_email,
|
|
DECODE (p.prs_perslid_voornaam,
|
|
NULL, '',
|
|
p.prs_perslid_voornaam || ' ')
|
|
|| DECODE (p.prs_perslid_tussenvoegsel,
|
|
NULL, '',
|
|
p.prs_perslid_tussenvoegsel || ' ')
|
|
|| prs_perslid_naam to_omschr,
|
|
ins_srtcontrole_omschrijving,
|
|
ins_deel_key,
|
|
ins_srtdeel_omschrijving || ' - ' || ins_deel_omschrijving betreft
|
|
FROM taken, prs_perslid p
|
|
WHERE p.prs_perslid_key = 34541
|
|
ORDER BY ins_srtcontrole_omschrijving;
|
|
|
|
CREATE OR REPLACE PROCEDURE hpji_monthly
|
|
AS
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
BEGIN
|
|
|
|
hpji.hpji_noti_per_controle;
|
|
|
|
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 ('Monthly', 'E', 'Proces afgebroken!', v_errormsg);
|
|
|
|
END hpji_monthly;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE hpji_daily
|
|
AS
|
|
v_errormsg VARCHAR2 (1000);
|
|
oracle_err_num NUMBER;
|
|
oracle_err_mes VARCHAR2 (200);
|
|
BEGIN
|
|
|
|
hpji.hpji_acties_verkoopcontracten;
|
|
|
|
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 ('DAILY', 'E', 'Proces afgebroken!', v_errormsg);
|
|
|
|
END hpji_daily;
|
|
/
|
|
|
|
CREATE OR REPLACE PROCEDURE hpji_processemail (pfrom IN VARCHAR2,
|
|
pto IN VARCHAR2,
|
|
psubject IN VARCHAR2,
|
|
pbody IN VARCHAR2,
|
|
psessionid IN VARCHAR2,
|
|
pemailkey IN NUMBER)
|
|
AS
|
|
v_sender prs_perslid.prs_perslid_key%TYPE;
|
|
v_senderdefault prs_perslid.prs_perslid_key%TYPE;
|
|
v_kostenplaats prs_afdeling.prs_kostenplaats_key%TYPE;
|
|
v_kstnpldefault prs_afdeling.prs_kostenplaats_key%TYPE;
|
|
v_mldstat mld_melding.mld_melding_status%TYPE;
|
|
v_stdmelding mld_stdmelding.mld_stdmelding_key%TYPE;
|
|
v_stduitvoer mld_stdmelding.mld_stdmelding_t_uitvoertijd%TYPE;
|
|
v_errormsg fac_result.fac_result_waarde%TYPE;
|
|
v_from VARCHAR2 (4000);
|
|
v_fromaddr VARCHAR2 (4000);
|
|
v_body VARCHAR2 (4000);
|
|
m_body VARCHAR2 (4000);
|
|
v_mldkey mld_melding.mld_melding_key%TYPE;
|
|
v_mailorigin mld_kenmerk.mld_kenmerk_key%TYPE;
|
|
v_attachorigin mld_kenmerk.mld_kenmerk_key%TYPE;
|
|
BEGIN
|
|
v_senderdefault := 4; --Standaard de persoon Facilitor
|
|
v_kstnpldefault := 1910; --Standaard kostenplaats Facilitair (persoon Facilitor)
|
|
v_stdmelding := fac.safe_to_number (fac.getsetting ('defaultstdmelding'));
|
|
v_mailorigin := 2081; --Kenmerk_key originele mail-bijlage
|
|
v_attachorigin := 2101; --Kenmerk_key bijlage uit email
|
|
|
|
-- Verwijder de Bounce Address Tag Validation
|
|
|
|
v_errormsg := '(0x101)';
|
|
|
|
IF pfrom LIKE 'prvs=%'
|
|
THEN
|
|
v_from := SUBSTR (pfrom, INSTR (pfrom, '=', -1) + 1);
|
|
ELSE
|
|
v_from := pfrom;
|
|
END IF;
|
|
|
|
v_errormsg := '(0x102)';
|
|
|
|
-- Indien een mail is doorgestuurd, dan moet er teruggevallen worden op de v_fromaddr.
|
|
SELECT fac_result_waarde
|
|
INTO v_fromaddr
|
|
FROM fac_result
|
|
WHERE fac_result_sessionid = psessionid AND fac_result_naam = 'fromaddr';
|
|
|
|
v_fromaddr := REPLACE (REPLACE (v_fromaddr, '>', ''), '<', '');
|
|
|
|
v_body := pbody;
|
|
m_body := pbody;
|
|
|
|
-- Valideer de sender in pfrom: kennen we deze?
|
|
v_errormsg := '(0x111)';
|
|
|
|
SELECT MIN (p.prs_perslid_key), MIN (d.prs_kostenplaats_key)
|
|
INTO v_sender, v_kostenplaats
|
|
FROM prs_perslid p, prs_afdeling d
|
|
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
|
AND p.prs_perslid_verwijder IS NULL
|
|
AND UPPER (prs_perslid_email) = UPPER (v_from);
|
|
|
|
CASE
|
|
WHEN UPPER (pto) LIKE 'ICT@%'
|
|
THEN
|
|
BEGIN
|
|
v_errormsg :=
|
|
SUBSTR (('(0x201)' || psessionid || pfrom || m_body),
|
|
0,
|
|
4000);
|
|
|
|
-- Valideer de sender in pfromaddr: kennen we deze?
|
|
-- Bij ict@hpji.facilitor.nl worden de mails via ict@elker.nl doorgestuurd.
|
|
-- In fromaddr zit dan het mailadres van de oorspronkelijke melder.
|
|
-- Bij ict meldingen mag de fromaddr de v_sender uit v_from overschrijven.
|
|
|
|
-- Maar niet altijd is v_fromaddr gevuld (HPJI#76724)
|
|
IF v_fromaddr IS NOT NULL
|
|
THEN
|
|
SELECT MIN (p.prs_perslid_key), MIN (d.prs_kostenplaats_key)
|
|
INTO v_sender, v_kostenplaats
|
|
FROM prs_perslid p, prs_afdeling d
|
|
WHERE p.prs_afdeling_key = d.prs_afdeling_key
|
|
AND p.prs_perslid_verwijder IS NULL
|
|
AND UPPER (prs_perslid_email) = UPPER (v_fromaddr);
|
|
END IF;
|
|
|
|
-- v_errormsg :=
|
|
-- SUBSTR (('(0x202)' || psessionid || pfrom || m_body),
|
|
-- 0,
|
|
-- 4000);
|
|
--
|
|
-- -- pas de omschrijving van de melding aan. Verwijder onnodige html ballast.
|
|
-- v_body := REPLACE (v_body, ' ', ' '); -- spatie
|
|
-- v_body := REPLACE (v_body, '!', '!');
|
|
-- v_body := REPLACE (v_body, '"', CHR (34)); -- double quote
|
|
-- v_body := REPLACE (v_body, '#', '#');
|
|
-- v_body := REPLACE (v_body, '$', '$');
|
|
-- v_body := REPLACE (v_body, '%', '%');
|
|
-- v_body := REPLACE (v_body, '&', '&');
|
|
-- v_body := REPLACE (v_body, ''', CHR (39)); -- single quote
|
|
-- v_body := REPLACE (v_body, '(', '(');
|
|
-- v_body := REPLACE (v_body, ')', ')');
|
|
-- v_body := REPLACE (v_body, '*', '*');
|
|
-- v_body := REPLACE (v_body, '+', '+');
|
|
-- v_body := REPLACE (v_body, ',', ','); -- komma
|
|
-- v_body := REPLACE (v_body, '-', '-'); -- min teken
|
|
-- v_body := REPLACE (v_body, '.', '.'); -- punt
|
|
-- v_body := REPLACE (v_body, '/', '/');
|
|
-- v_body := REPLACE (v_body, ':', ':'); -- dubbele punt
|
|
-- v_body := REPLACE (v_body, ';', ';'); -- punt komma
|
|
-- v_body := REPLACE (v_body, '<', '<');
|
|
-- v_body := REPLACE (v_body, '=', '=');
|
|
-- v_body := REPLACE (v_body, '>', '>');
|
|
-- v_body := REPLACE (v_body, '?', '?');
|
|
-- v_body := REPLACE (v_body, '@', '@');
|
|
-- v_body :=
|
|
-- REPLACE (v_body,
|
|
-- ' ' || CHR (10) || CHR (13),
|
|
-- CHR (10) || CHR (13)); -- soms komt er ineens een een spatie achter de tag.
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'W',
|
|
'Mail kon niet geformateerd worden afzender:'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
END;
|
|
|
|
|
|
--Hieronder de acties die gedaan moeten worden.
|
|
BEGIN
|
|
v_errormsg := '(0x211)' || pfrom || psubject;
|
|
v_stdmelding := 641; -- Standaardmelding 'ICT vraag/melding' in vakgroeptype ICT
|
|
v_mldstat := 2; -- Standaard de status in Nieuw (2).
|
|
v_stduitvoer :=
|
|
mld.getstduitvoer (v_stdmelding,
|
|
NULL,
|
|
NULL,
|
|
NULL);
|
|
v_errormsg := '(0x212)' || pfrom || v_mldkey || psubject;
|
|
|
|
INSERT INTO mld_melding (mld_melding_module,
|
|
mld_meldbron_key,
|
|
mld_melding_datum,
|
|
mld_melding_onderwerp,
|
|
mld_melding_omschrijving,
|
|
mld_melding_status,
|
|
mld_melding_t_uitvoertijd,
|
|
mld_stdmelding_key,
|
|
mld_alg_locatie_key,
|
|
mld_melding_externnr,
|
|
prs_perslid_key,
|
|
prs_perslid_key_voor,
|
|
prs_kostenplaats_key,
|
|
mld_melding_spoed)
|
|
VALUES (
|
|
'MLD',
|
|
4, -- email
|
|
SYSDATE,
|
|
SUBSTR (psubject, 1, 80),
|
|
SUBSTR (
|
|
REPLACE (
|
|
SUBSTR (v_body, 1, 4000),
|
|
CHR (13)
|
|
|| CHR (10)
|
|
|| CHR (13)
|
|
|| CHR (10),
|
|
CHR (13) || CHR (10)),
|
|
1,
|
|
4000), -- verwijder onnodige witregels
|
|
v_mldstat,
|
|
NULL, -- v_stduitvoer
|
|
v_stdmelding,
|
|
NULL, -- Locatie onbekend
|
|
NULL,
|
|
COALESCE (v_sender, v_senderdefault),
|
|
COALESCE (v_sender, v_senderdefault),
|
|
COALESCE (v_kostenplaats, v_kstnpldefault),
|
|
3)
|
|
RETURNING mld_melding_key
|
|
INTO v_mldkey;
|
|
|
|
v_errormsg := '(0x221)';
|
|
mld.setmeldingstatus (v_mldkey, v_mldstat, v_sender);
|
|
|
|
INSERT INTO fac_result (fac_result_sessionid,
|
|
fac_result_naam,
|
|
fac_result_waarde)
|
|
VALUES (psessionid,
|
|
'maillog',
|
|
'Geregistreerd onder melding ' || v_mldkey);
|
|
END;
|
|
|
|
IF v_mldkey IS NOT NULL
|
|
THEN
|
|
BEGIN
|
|
-- Bijlagen toevoegen uit email
|
|
v_errormsg := '(0x231)' || v_mldkey || psubject;
|
|
|
|
INSERT INTO fac_result (fac_result_sessionid,
|
|
fac_result_naam,
|
|
fac_result_waarde)
|
|
VALUES (
|
|
psessionid,
|
|
'kenmerkpath',
|
|
'MLD\M'
|
|
|| TO_CHAR (TRUNC (v_mldkey / 1000),
|
|
'FM0000')
|
|
|| '___\M'
|
|
|| v_mldkey
|
|
|| '\'
|
|
|| v_attachorigin
|
|
|| '\');
|
|
|
|
-- Notificatie MLDNEW versturen
|
|
v_errormsg := '(0x232)' || v_mldkey || psubject;
|
|
IF v_sender <> 4
|
|
THEN
|
|
FAC.trackaction ('MLDNEW',
|
|
v_mldkey,
|
|
NULL,
|
|
NULL,
|
|
NULL);
|
|
|
|
INSERT INTO fac_notificatie (
|
|
fac_srtnotificatie_key,
|
|
fac_notificatie_status,
|
|
fac_notificatie_receiver_email,
|
|
prs_perslid_key_receiver,
|
|
fac_notificatie_oms,
|
|
fac_notificatie_refkey,
|
|
fac_notificatie_extrakey,
|
|
fac_notificatie_prioriteit)
|
|
VALUES (
|
|
26, -- MLDNEW
|
|
2, -- mail
|
|
NULL,
|
|
v_sender,
|
|
'Uw melding '
|
|
|| v_mldkey
|
|
|| '(ICT/ICT-vraag/melding) is geregistreerd',
|
|
v_mldkey,
|
|
NULL,
|
|
2);
|
|
END IF;
|
|
END;
|
|
END IF;
|
|
ELSE
|
|
v_errormsg :=
|
|
'(0x900)' || v_mldkey || psubject || ' - geen pto herkend';
|
|
|
|
INSERT INTO fac_result (fac_result_sessionid,
|
|
fac_result_naam,
|
|
fac_result_waarde)
|
|
VALUES (psessionid, 'maillog', v_errormsg);
|
|
END CASE;
|
|
EXCEPTION
|
|
WHEN OTHERS
|
|
THEN
|
|
INSERT INTO fac_result (fac_result_sessionid,
|
|
fac_result_naam,
|
|
fac_result_waarde)
|
|
VALUES (psessionid, 'maillog', v_errormsg);
|
|
|
|
fac.writelog (
|
|
'PROCESSEMAIL',
|
|
'E',
|
|
'Mail kon niet ingelezen worden afzender:'
|
|
|| pfrom
|
|
|| '['
|
|
|| v_errormsg
|
|
|| v_mldkey
|
|
|| psubject
|
|
|| ']',
|
|
'OTHERS (error '
|
|
|| SQLCODE
|
|
|| '/'
|
|
|| SUBSTR (SQLERRM, 1, 100)
|
|
|| ')');
|
|
END;
|
|
/
|
|
|
|
CREATE OR REPLACE VIEW HPJI_V_RUIMTE_QRC_ALG
|
|
(
|
|
OMGEVING,
|
|
ALG_LOCATIE_KEY,
|
|
ALG_LOCATIE_OMSCHRIJVING,
|
|
ALG_GEBOUW_KEY,
|
|
ALG_GEBOUW_OMSCHRIJVING,
|
|
FAC_BOOKMARK_ID,
|
|
FAC_BOOKMARK_PATH,
|
|
FAC_BOOKMARK_QUERY
|
|
)
|
|
AS
|
|
SELECT DISTINCT USER omgeving,
|
|
r.alg_locatie_key,
|
|
r.alg_locatie_omschrijving,
|
|
r.alg_gebouw_key,
|
|
r.alg_gebouw_omschrijving,
|
|
b.fac_bookmark_id,
|
|
b.fac_bookmark_path,
|
|
b.fac_bookmark_query
|
|
FROM fac_bookmark b, alg_v_ruimte_gegevens r
|
|
WHERE b.fac_bookmark_id = 'XhGDSbzKhi4DfEvo';
|
|
|
|
CREATE OR REPLACE VIEW HPJI_V_LEVERANCIERS
|
|
(
|
|
bedrijf_key,
|
|
bedrijf_naam,
|
|
leveranciersnr
|
|
)
|
|
AS
|
|
SELECT b.prs_bedrijf_key, b.prs_bedrijf_naam, kl.prs_kenmerklink_waarde
|
|
FROM prs_bedrijf b, prs_kenmerk k, prs_kenmerklink kl
|
|
WHERE b.prs_bedrijf_leverancier = 1
|
|
AND b.prs_bedrijf_verwijder IS NULL
|
|
AND kl.prs_kenmerk_key = k.prs_kenmerk_key
|
|
AND kl.prs_link_key = b.prs_bedrijf_key
|
|
AND k.prs_kenmerk_key = 1040;
|
|
|
|
CREATE OR REPLACE VIEW HPJI_V_AFLEVERADRES
|
|
(
|
|
adres_key,
|
|
adres_omschrijving,
|
|
adres,
|
|
adres_verwijder
|
|
)
|
|
AS
|
|
SELECT a.mld_adres_key,
|
|
a.mld_adres_naam,
|
|
a.mld_adres_bezoek_adres
|
|
|| ' '
|
|
|| a.mld_adres_bezoek_postcode
|
|
|| ' '
|
|
|| a.mld_adres_bezoek_plaats adres,
|
|
a.mld_adres_verwijder
|
|
FROM mld_adres a
|
|
WHERE a.mld_adres_afleveradres = 1;
|
|
|
|
------ 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
|