PROR#74299 -- Inrichten Prorail omgeving, NSecure notificatie

svn path=/Customer/trunk/; revision=61891
This commit is contained in:
Norbert Wassink
2023-09-26 07:13:32 +00:00
parent 3bc9952f6d
commit 250ed303b7

View File

@@ -485,9 +485,21 @@ AS
AND p.prs_perslid_key NOT IN (SELECT DISTINCT prs_perslid_key
FROM prs_perslidkostenplaats pk);
CURSOR p_autgroep -- welke afas accounts hebben nog geen autgroep
IS
SELECT p.prs_perslid_key
FROM prs_perslid p, prs_kenmerklink kl, prs_kenmerk pk
WHERE p.prs_perslid_verwijder is null
AND pk.prs_kenmerk_upper='AFAS ACCOUNT'
AND kl.prs_kenmerk_key = pk.prs_kenmerk_key
AND kl.prs_link_key=p.prs_perslid_key
AND kl.prs_kenmerklink_waarde=1
AND NOT EXISTS (SELECT 'x'
FROM fac_gebruikersgroep f
WHERE f.prs_perslid_key=p.prs_perslid_key);
v_date DATE;
v_defaultgroep NUMBER:=1;
BEGIN
prs.update_perslid (p_import_key, 'NR', 'A', 1);
@@ -502,6 +514,15 @@ BEGIN
pror.mandateer_prs(rec_man.prs_perslid_key);
END LOOP;
FOR rec2 IN p_autgroep
LOOP
INSERT INTO fac_gebruikersgroep(FAC_GROEP_KEY, prs_perslid_key)
VALUES(v_defaultgroep, rec2.prs_perslid_key);
END LOOP;
COMMIT;
END;
/
@@ -558,6 +579,84 @@ END;
-- NOTIFICATIE VIEWS
-- Notificatie VIEW tbv opdracht updates die met NSecure zijn uitgewisseld
CREATE OR REPLACE VIEW pror_v_Nsecure_update
(
sender,
receiver,
code,
text,
key,
xkey,
xemail,
xmobile
)
AS
SELECT NULL sender,
NULL receiver,
'CUST03' code,
'Opdracht '||o.mld_melding_key||'/'||o.mld_opdr_bedrijfopdr_volgnr||' met NSecureNr '||ko.mld_kenmerkopdr_waarde||' is gewijzigd' text,
o.mld_opdr_key,
null xkey,
(SELECT b.prs_bedrijf_email
FROM prs_bedrijf b
WHERE b.prs_leverancier_nr ='313341'
AND b.prs_bedrijf_uitvoerende='1'
AND b.prs_bedrijf_verwijder IS NULL) xemail,
NULL xmobile
FROM mld_opdr o, mld_kenmerkopdr ko, mld_kenmerk km
WHERE o.mld_statusopdr_key IN (5,8) -- toegekend, geaccpeteerd
AND o.mld_uitvoerende_keys=(SELECT b.prs_bedrijf_key
FROM prs_bedrijf b
WHERE b.prs_leverancier_nr ='313341'
AND b.prs_bedrijf_uitvoerende='1'
AND b.prs_bedrijf_verwijder IS NULL)
AND ko.mld_opdr_key = o.MLD_OPDR_KEY
AND ko.mld_kenmerk_key = km.mld_kenmerk_key
AND km.mld_kenmerk_omschrijving='NSecure Nr'
AND LENGTH(ko.mld_kenmerkopdr_waarde)>2
AND (
( o.mld_opdr_verzonden < (SELECT MAX(ft.fac_tracking_datum)
FROM fac_tracking ft
WHERE ft.fac_tracking_refkey=o.mld_opdr_key -- Alleen een update
AND ft.fac_srtnotificatie_key=80
AND lower(ft.fac_tracking_oms) like '%gewijzigd%omschrijving%veranderd%'
AND ft.prs_perslid_key != 621)
AND (SELECT MAX(ft.fac_tracking_datum)
FROM fac_tracking ft
WHERE ft.fac_tracking_refkey=o.mld_opdr_key -- Alleen een update
AND ft.fac_srtnotificatie_key=80
AND lower(ft.fac_tracking_oms) like '%gewijzigd%omschrijving%veranderd%'
AND ft.prs_perslid_key != 621)
>
COALESCE((SELECT MAX(ft.fac_tracking_datum)
FROM fac_tracking ft
WHERE ft.fac_tracking_refkey=o.mld_opdr_key -- Alleen een update
AND ft.fac_srtnotificatie_key=220 -- ORDTRL
AND LOWER(ft.fac_tracking_oms) like '%cust03%'
AND ft.prs_perslid_key != 621), o.mld_opdr_verzonden)
)
OR
( o.mld_opdr_verzonden < (SELECT MAX(mld_opdr_note_aanmaak)
FROM mld_opdr_note
WHERE mld_opdr_key=o.mld_opdr_key
AND mld_opdr_note_flag in (4,5))
AND (SELECT MAX(mld_opdr_note_aanmaak)
FROM mld_opdr_note
WHERE mld_opdr_key=o.mld_opdr_key
AND mld_opdr_note_flag in (4,5))
>
COALESCE((SELECT MAX(ft.fac_tracking_datum)
FROM fac_tracking ft
WHERE ft.fac_tracking_refkey=o.mld_opdr_key -- Alleen een update
AND ft.fac_srtnotificatie_key=220 -- ORDTRL
AND LOWER(ft.fac_tracking_oms) like '%cust03%'
AND ft.prs_perslid_key != 621), o.mld_opdr_verzonden)
)
);
-- Noifictaie View tbv te late annulering outlook reservereing inc catering
CREATE OR REPLACE VIEW pror_v_outl_cat_annu
(
@@ -573,29 +672,45 @@ CREATE OR REPLACE VIEW pror_v_outl_cat_annu
xkey
)
AS
SELECT DISTINCT rrr.res_reservering_key||'/'||rrr.RES_RSV_RUIMTE_VOLGNR reserveringNr,
rrr.res_reservering_key key,
SELECT DISTINCT res_reservering_key||'/'||RES_RSV_RUIMTE_VOLGNR reserveringNr,
res_reservering_key key,
'CUST02' cust_code,
'Reservering '||rrr.res_reservering_key||'/'||rrr.RES_RSV_RUIMTE_VOLGNR||' op '|| TO_CHAR(rrr.res_rsv_ruimte_van,'DD-MM-YYYY HH24:MI')||' is verwijderd buiten anullerings horizon.' text,
'Reservering '||res_reservering_key||'/'||RES_RSV_RUIMTE_VOLGNR||' op '|| TO_CHAR(leverdatum,'DD-MM-YYYY HH24:MI')||' is verwijderd buiten anullerings horizon.' text,
(SElECT p.prs_perslid_naam_friendly
FROM prs_v_perslid_fullnames_all p
WHERE p.prs_perslid_key= rrr.RES_RSV_RUIMTE_HOST_KEY) gastheer,
null receiver,
WHERE p.prs_perslid_key= gastheer_key) gastheer,
NULL receiver,
NULL sender,
--'norbert.wassink@facilitor.nl' xemail,
'cateringmanagerprorail@prorail.nl' xemail,
NULL xmobile,
rrr.res_rsv_ruimte_key xkey
FROM res_rsv_ruimte rrr, res_rsv_artikel rra
WHERE rrr.res_rsv_ruimte_verwijder IS NOT NULL
AND rrr.res_rsv_ruimte_externnr IS NOT NULL
AND rrr.res_status_fo_key=4
AND rra.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
res_rsv_ruimte_key xkey
FROM (SElECT r.*,
(SELECT MAX(rdp.res_disc_params_cancel_dagen) annuleer_dagen
FROM res_rsv_artikel rra, res_artikel ra, res_discipline rd, res_disc_params rdp
WHERE res_rsv_ruimte_key = r.res_rsv_ruimte_key
AND ra.RES_ARTIKEL_KEY = rra.RES_ARTIKEL_KEY
AND ra.RES_DISCIPLINE_KEY = rd.INS_DISCIPLINE_KEY
AND rdp.res_INS_DISCIPLINE_KEY=rd.INS_DISCIPLINE_KEY) annuleer_dagen
FROM (SELECT DISTINCT
res.res_rsv_ruimte_key res_rsv_ruimte_key,
res.res_reservering_key res_reservering_key,
res.res_rsv_ruimte_volgnr res_rsv_ruimte_volgnr,
res.RES_RSV_RUIMTE_HOST_KEY gastheer_key,
res.res_rsv_ruimte_verwijder datum_verwijder,
fac.safe_to_date (
TO_CHAR (res.res_rsv_ruimte_van, 'DD-MM-YYYY')||' 12:00',
'DD-MM-YYYY HH24:MI') leverdatum
FROM res_rsv_ruimte res, res_rsv_artikel rra
WHERE res.res_rsv_ruimte_verwijder IS NOT NULL
AND res.res_rsv_ruimte_externnr IS NOT NULL
AND res.res_status_fo_key=4
AND rra.RES_RSV_RUIMTE_KEY=res.RES_RSV_RUIMTE_KEY) r)
WHERE datum_verwijder> leverdatum - annuleer_dagen
AND NOT EXISTS (SElECT *
FROM fac_tracking ft
WHERE fac_tracking_refkey=rrr.res_rsv_ruimte_key
WHERE fac_tracking_refkey=res_rsv_ruimte_key
AND ft.fac_srtnotificatie_key=223
AND ft.fac_tracking_oms LIKE '%CUST02%');
AND ft.fac_tracking_oms LIKE '%CUST02%')
-- Noifictaie View tbv reservereing gedaan door contact<>host
@@ -1358,9 +1473,21 @@ AS
k.prs_kostenplaats_key,
k.prs_kostenplaats_nr kostenplaats,
k.prs_kostenplaats_omschrijving,
COALESCE (
(SELECT alg_locatie_code||'-'||alg_gebouw_upper||'-'||alg_verdieping_code||'-'||alg_ruimte_nr
FROM alg_v_ruimte_gegevens alg
WHERE alg.alg_ruimte_key=rrr.alg_ruimte_key),
(SELECT alg_locatie_code||'-'||alg_gebouw_upper||'-'||alg_verdieping_code||'-'||MIN(alg.alg_ruimte_nr)
FROM res_ruimte_opstelling rro, res_ruimte rr, res_alg_ruimte rarm, alg_v_ruimte_gegevens_all alg
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rr.res_ruimte_key = rro.res_ruimte_key
AND rarm.res_ruimte_key = rr.res_ruimte_key
AND rarm.res_alg_ruimte_verwijder IS NULL
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
GROUP BY alg_locatie_code,alg_gebouw_upper,alg_verdieping_code)) loc_gb_ruimtenr,
COALESCE (
(SELECT alg_ruimte_nr
FROM alg_v_allonrgoed_gegevens alg
FROM alg_v_ruimte_gegevens alg
WHERE alg.alg_ruimte_key=rrr.alg_ruimte_key),
(SELECT MIN(alg.alg_ruimte_nr)
FROM res_ruimte_opstelling rro, res_ruimte rr, res_alg_ruimte rarm, alg_v_ruimte_gegevens_all alg
@@ -1369,7 +1496,8 @@ AS
AND rarm.res_ruimte_key = rr.res_ruimte_key
AND rarm.res_alg_ruimte_verwijder IS NULL
AND alg.alg_ruimte_key = rarm.alg_ruimte_key)) ruimtenr,
ra.res_artikel_groep soort_locatie
ra.res_artikel_groep soort_locatie,
rrr.res_activiteit_key activiteit_key
FROM res_rsv_artikel rra,
res_artikel ra,
res_rsv_ruimte rrr,
@@ -1384,7 +1512,11 @@ AS
AND p.prs_perslid_key=rrr.res_rsv_ruimte_contact_key
AND rra.res_rsv_artikel_verwijder IS NULL
AND rrr.res_rsv_ruimte_verwijder IS NULL
AND rrr.res_rsv_ruimte_externsyncdate IS NULL
AND rrr.res_rsv_ruimte_key NOT IN (SELECT rkw.RES_RSV_RUIMTE_KEY FROM res_kenmerkwaarde rkw, res_kenmerk rk
WHERE rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
AND rk.RES_KENMERK_KEY = rkw.RES_KENMERK_KEY
AND rk.RES_KENMERK_OMSCHRIJVING='ExternSyncDatum')
-- AND rrr.res_rsv_ruimte_externsyncdate IS NULL KUNNEN WE NIET GEBRUIKEN AANGEZIEN DE OUTLOOK KOPPELING DEZE GEBRUIKT
UNION -- alle bezrogde reserveringn
SELECT distinct rra.res_rsv_ruimte_key rrr_key,
rrr.res_reservering_key||'/'||rrr.res_rsv_ruimte_volgnr reservering,
@@ -1402,9 +1534,21 @@ AS
k.prs_kostenplaats_omschrijving,
-- b.prs_bedrijf_key,
-- b.prs_overeenkomst_nr,
COALESCE (
(SELECT alg_locatie_code||'-'||alg_gebouw_upper||'-'||alg_verdieping_code||'-'||alg_ruimte_nr
FROM alg_v_ruimte_gegevens alg
WHERE alg.alg_ruimte_key=rrr.alg_ruimte_key),
(SELECT alg_locatie_code||'-'||alg_gebouw_upper||'-'||alg_verdieping_code||'-'||MIN(alg.alg_ruimte_nr)
FROM res_ruimte_opstelling rro, res_ruimte rr, res_alg_ruimte rarm, alg_v_ruimte_gegevens_all alg
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rr.res_ruimte_key = rro.res_ruimte_key
AND rarm.res_ruimte_key = rr.res_ruimte_key
AND rarm.res_alg_ruimte_verwijder IS NULL
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
GROUP BY alg_locatie_code,alg_gebouw_upper,alg_verdieping_code)) loc_gb_ruimtenr,
COALESCE (
(SELECT alg_ruimte_nr
FROM alg_v_allonrgoed_gegevens alg
FROM alg_v_ruimte_gegevens alg
WHERE alg.alg_ruimte_key=rrr.alg_ruimte_key),
(SELECT MIN(alg.alg_ruimte_nr)
FROM res_ruimte_opstelling rro, res_ruimte rr, res_alg_ruimte rarm, alg_v_ruimte_gegevens_all alg
@@ -1413,7 +1557,8 @@ AS
AND rarm.res_ruimte_key = rr.res_ruimte_key
AND rarm.res_alg_ruimte_verwijder IS NULL
AND alg.alg_ruimte_key = rarm.alg_ruimte_key)) ruimtenr,
ra.res_artikel_groep soort_locatie
ra.res_artikel_groep soort_locatie,
rrr.res_activiteit_key activiteit_key
FROM res_rsv_artikel rra,
res_artikel ra,
res_rsv_ruimte rrr,
@@ -1426,7 +1571,11 @@ AS
AND rrr.res_status_fo_key = 2 -- vervallen en te laat uit outllok afgemeld
AND rrr.res_rsv_ruimte_cvab_mode IS NOT NULL -- vervallen en te laat uit outllok afgemeld
AND p.prs_perslid_key=rrr.res_rsv_ruimte_contact_key
AND rrr.res_rsv_ruimte_externsyncdate IS NULL
AND rrr.res_rsv_ruimte_key NOT IN (SELECT rkw.RES_RSV_RUIMTE_KEY FROM res_kenmerkwaarde rkw, res_kenmerk rk
WHERE rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
AND rk.RES_KENMERK_KEY = rkw.RES_KENMERK_KEY
AND rk.RES_KENMERK_OMSCHRIJVING='ExternSyncDatum')
-- AND rrr.res_rsv_ruimte_externsyncdate IS NULL
UNION -- alle te laat verwijderde outlook reservereingen met catering
SELECT distinct rra.res_rsv_ruimte_key rrr_key,
rrr.res_reservering_key||'/'||rrr.res_rsv_ruimte_volgnr reservering,
@@ -1440,9 +1589,21 @@ AS
k.prs_kostenplaats_key,
k.prs_kostenplaats_nr kostenplaats,
k.prs_kostenplaats_omschrijving,
COALESCE (
(SELECT alg_locatie_code||'-'||alg_gebouw_upper||'-'||alg_verdieping_code||'-'||alg_ruimte_nr
FROM alg_v_ruimte_gegevens alg
WHERE alg.alg_ruimte_key=rrr.alg_ruimte_key),
(SELECT alg_locatie_code||'-'||alg_gebouw_upper||'-'||alg_verdieping_code||'-'||MIN(alg.alg_ruimte_nr)
FROM res_ruimte_opstelling rro, res_ruimte rr, res_alg_ruimte rarm, alg_v_ruimte_gegevens_all alg
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rr.res_ruimte_key = rro.res_ruimte_key
AND rarm.res_ruimte_key = rr.res_ruimte_key
AND rarm.res_alg_ruimte_verwijder IS NULL
AND alg.alg_ruimte_key = rarm.alg_ruimte_key
GROUP BY alg_locatie_code,alg_gebouw_upper,alg_verdieping_code)) loc_gb_ruimtenr,
COALESCE (
(SELECT alg_ruimte_nr
FROM alg_v_allonrgoed_gegevens alg
FROM alg_v_ruimte_gegevens alg
WHERE alg.alg_ruimte_key=rrr.alg_ruimte_key),
(SELECT MIN(alg.alg_ruimte_nr)
FROM res_ruimte_opstelling rro, res_ruimte rr, res_alg_ruimte rarm, alg_v_ruimte_gegevens_all alg
@@ -1451,7 +1612,8 @@ AS
AND rarm.res_ruimte_key = rr.res_ruimte_key
AND rarm.res_alg_ruimte_verwijder IS NULL
AND alg.alg_ruimte_key = rarm.alg_ruimte_key)) ruimtenr,
ra.res_artikel_groep soort_locatie
ra.res_artikel_groep soort_locatie,
rrr.res_activiteit_key activiteit_key
FROM res_rsv_artikel rra,
res_artikel ra,
res_rsv_ruimte rrr,
@@ -1465,7 +1627,11 @@ AS
AND rrr.res_status_bo_key = 2 -- vervallen en te laat uit outllok afgemeld
AND p.prs_perslid_key=rrr.res_rsv_ruimte_contact_key
AND rrr.res_rsv_ruimte_externnr IS NOT NULL
AND rrr.res_rsv_ruimte_externsyncdate IS NULL
-- AND rrr.res_rsv_ruimte_externsyncdate IS NULL
AND rrr.res_rsv_ruimte_key NOT IN (SELECT rkw.RES_RSV_RUIMTE_KEY FROM res_kenmerkwaarde rkw, res_kenmerk rk
WHERE rkw.RES_RSV_RUIMTE_KEY = rrr.RES_RSV_RUIMTE_KEY
AND rk.RES_KENMERK_KEY = rkw.RES_KENMERK_KEY
AND rk.RES_KENMERK_OMSCHRIJVING='ExternSyncDatum')
AND rrr.res_rsv_ruimte_key NOT IN (SELECT rkw.res_rsv_ruimte_key -- deze zijn door kenmerk uitgesloten van facturatie (aangegeven door cateraar)
FROM res_kenmerkwaarde rkw, res_kenmerk rk
WHERE rkw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key
@@ -1483,7 +1649,10 @@ AS
SELECT p.*,
(SELECT alg.alg_gebouw_code
FROM alg_v_allonrgoed_gegevens alg
WHERE alg.alg_ruimte_nr=p.ruimtenr) gebouw_code
WHERE alg.alg_ruimte_nr=p.ruimtenr) gebouw_code,
(SELECT k.res_kenmerk_key from res_kenmerk k
WHERE k.res_kenmerk_omschrijving='ExternSyncDatum'
AND k.res_activiteit_key = p.activiteit_key) kenmerk_sync_key
FROM PROR_V_SELECT_EUREST_CAT p
WHERE TO_CHAR(p.van,'MM')=TO_CHAR(ADD_MONTHS(SYSDATE,-1),'MM');
@@ -1567,7 +1736,7 @@ BEGIN
pror.add_xml_row(v_bestand, '<Location>');
pror.add_xml_element (v_bestand, 'Reference', rec.gebouw_code);
pror.add_xml_row(v_bestand, '<Room>');
pror.add_xml_element (v_bestand, 'Description',rec.ruimteNr);
pror.add_xml_element (v_bestand, 'Description',rec.loc_gb_ruimtenr);
pror.add_xml_row(v_bestand, '</Room>');
pror.add_xml_row(v_bestand, '</Location>');
pror.add_xml_element (v_bestand, 'RequestedDeliveryDateTime',to_char(rec.van,'YYYYMMDD')||'T'||to_char(rec.van,'HH24:MI:SS'));
@@ -1609,7 +1778,10 @@ BEGIN
END LOOP;
pror.add_xml_row(v_bestand, '</OrderLines>');
pror.add_xml_row(v_bestand, '</Order>');
UPDATE res_rsv_ruimte SET res_rsv_ruimte_externsyncdate=SYSDATE WHERE res_rsv_ruimte_key=rec.rrr_key;
flx.setflex('RES',rec.kenmerk_sync_key,rec.rrr_key,TO_CHAR(TRUNC(SYSDATE),'DD-MM-YYYY'));
-- UPDATE res_rsv_ruimte SET res_rsv_ruimte_externsyncdate=SYSDATE WHERE res_rsv_ruimte_key=rec.rrr_key;
END LOOP;
pror.add_xml_row (v_bestand, '</Orders>');
pror.add_xml_row (v_bestand, '</Content>');