NOVA#80968 NOVA0
svn path=/Customer/trunk/; revision=66361
This commit is contained in:
139
NOVA/nova.sql
139
NOVA/nova.sql
@@ -748,16 +748,17 @@ AS
|
||||
fac.writelog ('AFD2KPN', 'S', 'Kostenplaatsen/#toegevoegd: ' || TO_CHAR (v_count), '');
|
||||
|
||||
-- Bijwerken einddatum van PRS-kostenplaatsen niet langer in gebruik.
|
||||
v_errormsg := 'Fout deactiveren kostenplaatsen';
|
||||
UPDATE prs_kostenplaats kp
|
||||
SET kp.prs_kostenplaats_eind = SYSDATE
|
||||
WHERE kp.prs_kostenplaats_verwijder IS NULL
|
||||
AND kp.prs_kostenplaats_module = 'PRS'
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_afdeling
|
||||
WHERE prs_afdeling_verwijder IS NULL
|
||||
AND prs_kostenplaats_key = kp.prs_kostenplaats_key);
|
||||
--v_errormsg := 'Fout deactiveren kostenplaatsen';
|
||||
--UPDATE prs_kostenplaats kp
|
||||
-- SET kp.prs_kostenplaats_eind = SYSDATE
|
||||
-- WHERE kp.prs_kostenplaats_verwijder IS NULL
|
||||
-- AND COALESCE (kp.prs_kostenplaats_eind, SYSDATE) > TRUNC (SYSDATE)
|
||||
-- AND kp.prs_kostenplaats_module = 'PRS'
|
||||
-- AND NOT EXISTS
|
||||
-- (SELECT 1
|
||||
-- FROM prs_afdeling
|
||||
-- WHERE prs_afdeling_verwijder IS NULL
|
||||
-- AND prs_kostenplaats_key = kp.prs_kostenplaats_key);
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -948,19 +949,20 @@ AS
|
||||
v_count NUMBER (10);
|
||||
|
||||
-- Bepalen automatisch te sluiten meldingen (als '/1'-opdracht doorgezet
|
||||
-- naar en gesloten door TOPdesk).
|
||||
-- naar en gesloten door API-user tbv. TOPdesk-koppeling).
|
||||
CURSOR c1
|
||||
IS
|
||||
SELECT o.mld_melding_key
|
||||
SELECT DISTINCT o.mld_melding_key
|
||||
FROM mld_opdr o, mld_melding m
|
||||
WHERE o.mld_typeopdr_key = 61 -- TOPdesk (intern)
|
||||
WHERE o.mld_typeopdr_key = 61 -- IVT/TOPdesk (intern)
|
||||
--AND o.mld_statusopdr_key = 6 -- Afgemeld
|
||||
--AND o.mld_opdr_bedrijfopdr_volgnr = 1
|
||||
AND fac.gettrackinguserkey ('ORDAFM', o.mld_opdr_key) = 3663 -- API-user tbv. TOPdesk-koppeling
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM mld_opdr
|
||||
WHERE mld_opdr_key != o.mld_opdr_key
|
||||
WHERE mld_statusopdr_key IN (3, 4, 5, 8, 10) -- Lopend
|
||||
AND mld_opdr_key != o.mld_opdr_key
|
||||
AND mld_melding_key = o.mld_melding_key)
|
||||
AND o.mld_melding_key = m.mld_melding_key
|
||||
AND m.mld_melding_status NOT IN (1, 5, 6) -- Nog niet gesloten
|
||||
@@ -1182,6 +1184,7 @@ EXCEPTION
|
||||
END NOVA_IMPORT_KPN;
|
||||
/
|
||||
|
||||
-- TODO: Speciale kostenplaatsgroep voor ALG- en PRJ-kostenplaatsen?
|
||||
CREATE OR REPLACE PROCEDURE NOVA_UPDATE_KPN (p_import_key IN NUMBER)
|
||||
AS
|
||||
v_errormsg VARCHAR2 (1000) := '';
|
||||
@@ -1196,12 +1199,13 @@ AS
|
||||
SELECT '[' || x.prs_kostenplaats_nr || '|' || x.prs_kostenplaats_omschrijving || '|' || x.prs_kostenplaats_module || '] ' aanduiding,
|
||||
x.prs_kostenplaats_nr,
|
||||
x.prs_kostenplaats_omschrijving,
|
||||
x.prs_kostenplaats_module,
|
||||
'PRS' prs_kostenplaats_module, -- Negeer 'SOORT CODE' uit import!
|
||||
x.prs_kostenplaats_externnr,
|
||||
kp.prs_kostenplaats_key,
|
||||
pf.prs_perslid_key
|
||||
FROM fac_imp_kpn x,
|
||||
(SELECT * FROM prs_v_aanwezigkostenplaats WHERE prs_kostenplaats_module IN ('ALG', 'PRJ')) kp,
|
||||
--(SELECT * FROM prs_v_aanwezigkostenplaats WHERE prs_kostenplaats_module IN ('ALG', 'PRJ')) kp,
|
||||
(SELECT * FROM prs_v_aanwezigkostenplaats WHERE prs_kostenplaats_module IN ('PRS')) kp,
|
||||
prs_v_perslid_fullnames pf
|
||||
WHERE UPPER (x.prs_kostenplaats_nr) = kp.prs_kostenplaats_upper(+)
|
||||
AND UPPER (x.prs_kostenplaats_externnr) = UPPER (pf.prs_perslid_naam_friendly(+))
|
||||
@@ -1236,36 +1240,50 @@ BEGIN
|
||||
END LOOP;
|
||||
|
||||
fac.imp_writelog (p_import_key, 'S', 'KPN/#bijgewerkt: ' || TO_CHAR (v_count), '');
|
||||
|
||||
/*
|
||||
--UPDATE prs_kostenplaats
|
||||
-- SET prs_kostenplaats_module = 'PRS'
|
||||
-- WHERE prs_kostenplaats_module != 'PRS';
|
||||
-- Zet kostenplaatsen op VERVALLEN; de rest handmatig verder maar regelen!
|
||||
v_errormsg := 'Fout inactiveren kostenplaatsen.';
|
||||
SELECT COUNT ( * )
|
||||
INTO v_count
|
||||
FROM prs_kostenplaats kp
|
||||
WHERE kp.prs_kostenplaats_verwijder IS NULL
|
||||
AND kp.prs_kostenplaats_module IN ('ALG', 'PRJ')
|
||||
--AND kp.prs_kostenplaats_module IN ('ALG', 'PRJ')
|
||||
AND kp.prs_kostenplaats_module IN ('PRS')
|
||||
AND kp.prs_kostenplaats_upper != 'ONB'
|
||||
AND UPPER (COALESCE (kp.prs_kostenplaats_omschrijving, '-')) NOT LIKE 'VERVALLEN:%'
|
||||
AND COALESCE (kp.prs_kostenplaats_eind, SYSDATE) > TRUNC (SYSDATE) -- Actief (einddatum leeg of in toekomst)
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM fac_imp_kpn
|
||||
WHERE UPPER (prs_kostenplaats_nr) = kp.prs_kostenplaats_upper);
|
||||
WHERE UPPER (prs_kostenplaats_nr) = kp.prs_kostenplaats_upper)
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_afdeling
|
||||
WHERE prs_kostenplaats_key = kp.prs_kostenplaats_key);
|
||||
|
||||
UPDATE prs_kostenplaats kp
|
||||
SET kp.prs_kostenplaats_eind = TRUNC (SYSDATE), -- Per vandaag vervallen
|
||||
kp.prs_kostenplaats_omschrijving = SUBSTR ('VERVALLEN: ' || COALESCE (prs_kostenplaats_omschrijving, '-'), 1, 60)
|
||||
WHERE kp.prs_kostenplaats_verwijder IS NULL
|
||||
AND kp.prs_kostenplaats_module IN ('ALG', 'PRJ')
|
||||
--AND kp.prs_kostenplaats_module IN ('ALG', 'PRJ')
|
||||
AND kp.prs_kostenplaats_module IN ('PRS')
|
||||
AND kp.prs_kostenplaats_upper != 'ONB'
|
||||
AND UPPER (COALESCE (kp.prs_kostenplaats_omschrijving, '-')) NOT LIKE 'VERVALLEN:%'
|
||||
AND COALESCE (kp.prs_kostenplaats_eind, SYSDATE) > TRUNC (SYSDATE) -- Actief (einddatum leeg of in toekomst)
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM fac_imp_kpn
|
||||
WHERE UPPER (prs_kostenplaats_nr) = kp.prs_kostenplaats_upper);
|
||||
WHERE UPPER (prs_kostenplaats_nr) = kp.prs_kostenplaats_upper)
|
||||
AND NOT EXISTS
|
||||
(SELECT 1
|
||||
FROM prs_afdeling
|
||||
WHERE prs_kostenplaats_key = kp.prs_kostenplaats_key);
|
||||
|
||||
fac.imp_writelog (p_import_key, 'S', 'KPN/#vervallen: ' || TO_CHAR (v_count), '');
|
||||
*/
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -1474,7 +1492,8 @@ BEGIN
|
||||
THEN
|
||||
header_is_valid := 1;
|
||||
END IF;
|
||||
ELSIF (rec.regellengte > 0 AND v_gebouw IS NOT NULL AND v_nrs IS NOT NULL) -- Lege regels overslaan
|
||||
--ELSIF (rec.regellengte > 0 AND v_gebouw IS NOT NULL AND v_nrs IS NOT NULL) -- Lege regels overslaan
|
||||
ELSIF (rec.regellengte > 0 AND v_gebouw IS NOT NULL) -- Lege regels overslaan
|
||||
THEN
|
||||
BEGIN
|
||||
v_count_tot := v_count_tot + 1;
|
||||
@@ -2461,7 +2480,7 @@ CREATE OR REPLACE VIEW NOVA_V_NOTI_ITVD
|
||||
prs_bedrijfadres_key
|
||||
)
|
||||
AS
|
||||
SELECT 'CUST01',
|
||||
SELECT sn.fac_srtnotificatie_code,
|
||||
NULL,
|
||||
NULL,
|
||||
REPLACE (REPLACE (sn.fac_srtnotificatie_oms, '##KEY##', TO_CHAR (m.mld_melding_key)), '##DAT##', datum.mld_kenmerkmelding_waarde),
|
||||
@@ -2492,7 +2511,7 @@ AS
|
||||
AND nj.fac_notificatie_job_view = 'NOVA_V_NOTI_ITVD'
|
||||
AND t.fac_tracking_datum > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE))
|
||||
UNION ALL
|
||||
SELECT 'CUST02',
|
||||
SELECT x.fac_srtnotificatie_code,
|
||||
NULL,
|
||||
NULL,
|
||||
REPLACE (REPLACE (REPLACE (x.fac_srtnotificatie_oms, '##KEY##', TO_CHAR (x.mld_melding_key)), '##DAT##', datum.mld_kenmerkmelding_waarde), '##LOC##', '/uitgaand ' || COALESCE (locvan.alg_locatie_omschrijving, altlocvan.alg_locatie_omschrijving)),
|
||||
@@ -2532,7 +2551,7 @@ AS
|
||||
LEFT JOIN alg_locatie altlocvan
|
||||
ON fac.safe_to_number (altvan.mld_kenmerkmelding_waarde) = altlocvan.alg_locatie_key
|
||||
UNION ALL
|
||||
SELECT 'CUST02',
|
||||
SELECT x.fac_srtnotificatie_code,
|
||||
NULL,
|
||||
NULL,
|
||||
REPLACE (REPLACE (REPLACE (x.fac_srtnotificatie_oms, '##KEY##', TO_CHAR (x.mld_melding_key)), '##DAT##', datum.mld_kenmerkmelding_waarde), '##LOC##', '/inkomend ' || COALESCE (locnaar.alg_locatie_omschrijving, altlocnaar.alg_locatie_omschrijving)),
|
||||
@@ -2571,7 +2590,7 @@ AS
|
||||
LEFT JOIN alg_locatie altlocnaar
|
||||
ON fac.safe_to_number (altnaar.mld_kenmerkmelding_waarde) = altlocnaar.alg_locatie_key
|
||||
UNION ALL
|
||||
SELECT 'CUST03',
|
||||
SELECT sn.fac_srtnotificatie_code,
|
||||
NULL,
|
||||
NULL,
|
||||
REPLACE (REPLACE (sn.fac_srtnotificatie_oms, '##KEY##', TO_CHAR (m.mld_melding_key)), '##DAT##', datum.mld_kenmerkmelding_waarde),
|
||||
@@ -2602,6 +2621,74 @@ AS
|
||||
AND nj.fac_notificatie_job_view = 'NOVA_V_NOTI_ITVD'
|
||||
AND t.fac_tracking_datum > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE));
|
||||
|
||||
-- Klantspecifieke MLD2BO-notificatie naar Roosterbureau-medewerker met WP op
|
||||
-- dezelfde locatie als waarvoor de Aanvraag lesruimte(n) is geregistreerd.
|
||||
CREATE OR REPLACE VIEW NOVA_V_NOTI_ROOSTERBUREAU
|
||||
(
|
||||
code,
|
||||
sender,
|
||||
receiver,
|
||||
text,
|
||||
key,
|
||||
par1,
|
||||
par2,
|
||||
xkey,
|
||||
xemail,
|
||||
xmobile,
|
||||
fac_srtnotificatie_key,
|
||||
attachments,
|
||||
xsender,
|
||||
prs_bedrijfadres_key
|
||||
)
|
||||
AS
|
||||
SELECT sn.fac_srtnotificatie_code,
|
||||
NULL,
|
||||
gg.prs_perslid_key,
|
||||
REPLACE (
|
||||
--REPLACE (
|
||||
--REPLACE (
|
||||
REPLACE (
|
||||
sn.fac_srtnotificatie_oms,
|
||||
'##KEY##',
|
||||
TO_CHAR (m.mld_melding_key)),
|
||||
--'##DISC##',
|
||||
--md.ins_discipline_omschrijving),
|
||||
--'##STDMLD##',
|
||||
--sm.mld_stdmelding_omschrijving),
|
||||
'##GEB##',
|
||||
COALESCE (wpg.alg_gebouw_code, wpg.alg_locatie_code)),
|
||||
m.mld_melding_key,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL xemail,
|
||||
NULL xmobile,
|
||||
NULL fac_srtnotificatie_key,
|
||||
NULL attachments,
|
||||
NULL xsender,
|
||||
NULL prs_bedrijfadres_key
|
||||
FROM mld_melding m,
|
||||
--mld_stdmelding sm,
|
||||
--mld_discipline md,
|
||||
fac_tracking t,
|
||||
fac_gebruikersgroep gg,
|
||||
prs_perslidwerkplek pw,
|
||||
prs_v_werkplek_gegevens wpg,
|
||||
fac_srtnotificatie sn,
|
||||
fac_notificatie_job nj
|
||||
WHERE m.mld_stdmelding_key = 29 -- Aanvraag lesruimte(n)
|
||||
--AND m.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||
--AND sm.mld_ins_discipline_key = md.ins_discipline_key
|
||||
AND m.mld_melding_key = t.fac_tracking_refkey
|
||||
AND t.fac_srtnotificatie_key = 52 -- MLDNEW
|
||||
AND gg.fac_groep_key = 125 -- Roosterbureau
|
||||
AND gg.prs_perslid_key = pw.prs_perslid_key
|
||||
AND pw.prs_werkplek_key = wpg.prs_werkplek_key
|
||||
AND wpg.alg_locatie_key = m.mld_alg_locatie_key -- WP op melding-locatie!
|
||||
AND sn.fac_srtnotificatie_code = 'CUST04'
|
||||
AND nj.fac_notificatie_job_view = 'NOVA_V_NOTI_ROOSTERBUREAU'
|
||||
AND t.fac_tracking_datum > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE));
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
|
||||
Reference in New Issue
Block a user