NOVA#80968 NOVA0

svn path=/Customer/trunk/; revision=66361
This commit is contained in:
Maarten van der Heide
2024-09-27 19:26:05 +00:00
parent 327bda0716
commit 33e8f8d457

View File

@@ -748,16 +748,17 @@ AS
fac.writelog ('AFD2KPN', 'S', 'Kostenplaatsen/#toegevoegd: ' || TO_CHAR (v_count), ''); fac.writelog ('AFD2KPN', 'S', 'Kostenplaatsen/#toegevoegd: ' || TO_CHAR (v_count), '');
-- Bijwerken einddatum van PRS-kostenplaatsen niet langer in gebruik. -- Bijwerken einddatum van PRS-kostenplaatsen niet langer in gebruik.
v_errormsg := 'Fout deactiveren kostenplaatsen'; --v_errormsg := 'Fout deactiveren kostenplaatsen';
UPDATE prs_kostenplaats kp --UPDATE prs_kostenplaats kp
SET kp.prs_kostenplaats_eind = SYSDATE -- SET kp.prs_kostenplaats_eind = SYSDATE
WHERE kp.prs_kostenplaats_verwijder IS NULL -- WHERE kp.prs_kostenplaats_verwijder IS NULL
AND kp.prs_kostenplaats_module = 'PRS' -- AND COALESCE (kp.prs_kostenplaats_eind, SYSDATE) > TRUNC (SYSDATE)
AND NOT EXISTS -- AND kp.prs_kostenplaats_module = 'PRS'
(SELECT 1 -- AND NOT EXISTS
FROM prs_afdeling -- (SELECT 1
WHERE prs_afdeling_verwijder IS NULL -- FROM prs_afdeling
AND prs_kostenplaats_key = kp.prs_kostenplaats_key); -- WHERE prs_afdeling_verwijder IS NULL
-- AND prs_kostenplaats_key = kp.prs_kostenplaats_key);
EXCEPTION EXCEPTION
WHEN OTHERS WHEN OTHERS
THEN THEN
@@ -948,19 +949,20 @@ AS
v_count NUMBER (10); v_count NUMBER (10);
-- Bepalen automatisch te sluiten meldingen (als '/1'-opdracht doorgezet -- 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 CURSOR c1
IS IS
SELECT o.mld_melding_key SELECT DISTINCT o.mld_melding_key
FROM mld_opdr o, mld_melding m 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_statusopdr_key = 6 -- Afgemeld
--AND o.mld_opdr_bedrijfopdr_volgnr = 1 --AND o.mld_opdr_bedrijfopdr_volgnr = 1
AND fac.gettrackinguserkey ('ORDAFM', o.mld_opdr_key) = 3663 -- API-user tbv. TOPdesk-koppeling AND fac.gettrackinguserkey ('ORDAFM', o.mld_opdr_key) = 3663 -- API-user tbv. TOPdesk-koppeling
AND NOT EXISTS AND NOT EXISTS
(SELECT 1 (SELECT 1
FROM mld_opdr 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 mld_melding_key = o.mld_melding_key)
AND o.mld_melding_key = m.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 AND m.mld_melding_status NOT IN (1, 5, 6) -- Nog niet gesloten
@@ -1182,6 +1184,7 @@ EXCEPTION
END NOVA_IMPORT_KPN; END NOVA_IMPORT_KPN;
/ /
-- TODO: Speciale kostenplaatsgroep voor ALG- en PRJ-kostenplaatsen?
CREATE OR REPLACE PROCEDURE NOVA_UPDATE_KPN (p_import_key IN NUMBER) CREATE OR REPLACE PROCEDURE NOVA_UPDATE_KPN (p_import_key IN NUMBER)
AS AS
v_errormsg VARCHAR2 (1000) := ''; v_errormsg VARCHAR2 (1000) := '';
@@ -1196,12 +1199,13 @@ AS
SELECT '[' || x.prs_kostenplaats_nr || '|' || x.prs_kostenplaats_omschrijving || '|' || x.prs_kostenplaats_module || '] ' aanduiding, SELECT '[' || x.prs_kostenplaats_nr || '|' || x.prs_kostenplaats_omschrijving || '|' || x.prs_kostenplaats_module || '] ' aanduiding,
x.prs_kostenplaats_nr, x.prs_kostenplaats_nr,
x.prs_kostenplaats_omschrijving, x.prs_kostenplaats_omschrijving,
x.prs_kostenplaats_module, 'PRS' prs_kostenplaats_module, -- Negeer 'SOORT CODE' uit import!
x.prs_kostenplaats_externnr, x.prs_kostenplaats_externnr,
kp.prs_kostenplaats_key, kp.prs_kostenplaats_key,
pf.prs_perslid_key pf.prs_perslid_key
FROM fac_imp_kpn x, 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 prs_v_perslid_fullnames pf
WHERE UPPER (x.prs_kostenplaats_nr) = kp.prs_kostenplaats_upper(+) WHERE UPPER (x.prs_kostenplaats_nr) = kp.prs_kostenplaats_upper(+)
AND UPPER (x.prs_kostenplaats_externnr) = UPPER (pf.prs_perslid_naam_friendly(+)) AND UPPER (x.prs_kostenplaats_externnr) = UPPER (pf.prs_perslid_naam_friendly(+))
@@ -1236,36 +1240,50 @@ BEGIN
END LOOP; END LOOP;
fac.imp_writelog (p_import_key, 'S', 'KPN/#bijgewerkt: ' || TO_CHAR (v_count), ''); 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! -- Zet kostenplaatsen op VERVALLEN; de rest handmatig verder maar regelen!
v_errormsg := 'Fout inactiveren kostenplaatsen.'; v_errormsg := 'Fout inactiveren kostenplaatsen.';
SELECT COUNT ( * ) SELECT COUNT ( * )
INTO v_count INTO v_count
FROM prs_kostenplaats kp FROM prs_kostenplaats kp
WHERE kp.prs_kostenplaats_verwijder IS NULL 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 kp.prs_kostenplaats_upper != 'ONB'
AND UPPER (COALESCE (kp.prs_kostenplaats_omschrijving, '-')) NOT LIKE 'VERVALLEN:%' 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 COALESCE (kp.prs_kostenplaats_eind, SYSDATE) > TRUNC (SYSDATE) -- Actief (einddatum leeg of in toekomst)
AND NOT EXISTS AND NOT EXISTS
(SELECT 1 (SELECT 1
FROM fac_imp_kpn 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 UPDATE prs_kostenplaats kp
SET kp.prs_kostenplaats_eind = TRUNC (SYSDATE), -- Per vandaag vervallen SET kp.prs_kostenplaats_eind = TRUNC (SYSDATE), -- Per vandaag vervallen
kp.prs_kostenplaats_omschrijving = SUBSTR ('VERVALLEN: ' || COALESCE (prs_kostenplaats_omschrijving, '-'), 1, 60) kp.prs_kostenplaats_omschrijving = SUBSTR ('VERVALLEN: ' || COALESCE (prs_kostenplaats_omschrijving, '-'), 1, 60)
WHERE kp.prs_kostenplaats_verwijder IS NULL 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 kp.prs_kostenplaats_upper != 'ONB'
AND UPPER (COALESCE (kp.prs_kostenplaats_omschrijving, '-')) NOT LIKE 'VERVALLEN:%' 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 COALESCE (kp.prs_kostenplaats_eind, SYSDATE) > TRUNC (SYSDATE) -- Actief (einddatum leeg of in toekomst)
AND NOT EXISTS AND NOT EXISTS
(SELECT 1 (SELECT 1
FROM fac_imp_kpn 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), ''); fac.imp_writelog (p_import_key, 'S', 'KPN/#vervallen: ' || TO_CHAR (v_count), '');
*/
EXCEPTION EXCEPTION
WHEN OTHERS WHEN OTHERS
THEN THEN
@@ -1474,7 +1492,8 @@ BEGIN
THEN THEN
header_is_valid := 1; header_is_valid := 1;
END IF; 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 THEN
BEGIN BEGIN
v_count_tot := v_count_tot + 1; v_count_tot := v_count_tot + 1;
@@ -2461,7 +2480,7 @@ CREATE OR REPLACE VIEW NOVA_V_NOTI_ITVD
prs_bedrijfadres_key prs_bedrijfadres_key
) )
AS AS
SELECT 'CUST01', SELECT sn.fac_srtnotificatie_code,
NULL, NULL,
NULL, NULL,
REPLACE (REPLACE (sn.fac_srtnotificatie_oms, '##KEY##', TO_CHAR (m.mld_melding_key)), '##DAT##', datum.mld_kenmerkmelding_waarde), 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 nj.fac_notificatie_job_view = 'NOVA_V_NOTI_ITVD'
AND t.fac_tracking_datum > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE)) AND t.fac_tracking_datum > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE))
UNION ALL UNION ALL
SELECT 'CUST02', SELECT x.fac_srtnotificatie_code,
NULL, NULL,
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)), 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 LEFT JOIN alg_locatie altlocvan
ON fac.safe_to_number (altvan.mld_kenmerkmelding_waarde) = altlocvan.alg_locatie_key ON fac.safe_to_number (altvan.mld_kenmerkmelding_waarde) = altlocvan.alg_locatie_key
UNION ALL UNION ALL
SELECT 'CUST02', SELECT x.fac_srtnotificatie_code,
NULL, NULL,
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)), 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 LEFT JOIN alg_locatie altlocnaar
ON fac.safe_to_number (altnaar.mld_kenmerkmelding_waarde) = altlocnaar.alg_locatie_key ON fac.safe_to_number (altnaar.mld_kenmerkmelding_waarde) = altlocnaar.alg_locatie_key
UNION ALL UNION ALL
SELECT 'CUST03', SELECT sn.fac_srtnotificatie_code,
NULL, NULL,
NULL, NULL,
REPLACE (REPLACE (sn.fac_srtnotificatie_oms, '##KEY##', TO_CHAR (m.mld_melding_key)), '##DAT##', datum.mld_kenmerkmelding_waarde), 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 nj.fac_notificatie_job_view = 'NOVA_V_NOTI_ITVD'
AND t.fac_tracking_datum > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE)); 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 ------ ------ payload end ------
SET DEFINE OFF SET DEFINE OFF