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), '');
-- 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