PCHX#75973 -- Herimplementatie PCH

svn path=/Customer/trunk/; revision=62602
This commit is contained in:
Arthur Egberink
2023-11-16 09:29:50 +00:00
parent 06f8c7856f
commit 58013eac32

View File

@@ -1724,6 +1724,32 @@ AS
FROM DUAL
WHERE fac.iswerkdag (SYSDATE) = 1;
-- Notificatie om de besteller te herrinneren dat een bestelling al langer dan het aantal notificatie dagen
-- dat geconfigureerd kan worden bij de catalogus open staat
CREATE OR REPLACE VIEW pchd_v_noti_bes_delivery
AS
SELECT DISTINCT 'CUST15' code,
NULL sender,
b.prs_perslid_key_voor receiver,
'Is jouw bestelling ' || b.bes_bestelling_key || ' al geleverd?' text,
b.bes_bestelling_key key,
NULL xkey
FROM bes_disc_params dp,
bes_bestelling b,
bes_bestelling_item bi,
bes_srtdeel sd,
bes_srtgroep sg
WHERE sg.ins_discipline_key = dp.bes_ins_discipline_key
AND sg.bes_srtgroep_key = sd.bes_srtgroep_key
AND sd.bes_srtdeel_key = bi.bes_srtdeel_key
AND bi.bes_bestelling_key = b.bes_bestelling_key
AND bes_disc_params_deliver_fe = 1
AND b.bes_bestelling_status = 5 -- besteld
AND dp.bes_disc_params_noti_dagen IS NOT NULL
AND b.bes_bestelling_leverdatum + dp.bes_disc_params_noti_dagen = TRUNC (SYSDATE)
GROUP BY b.bes_bestelling_key, b.prs_perslid_key_voor;
CREATE OR REPLACE VIEW pchd_v_rap_schoonm_basis
(
resnr,
@@ -2496,6 +2522,8 @@ AS
alg_locatie_key,
NULL alg_ruimte_key
FROM alg_locatie l
WHERE alg_locatie_verwijder IS NULL
AND COALESCE(alg_locatie_vervaldatum, SYSDATE+1) > SYSDATE
UNION ALL
SELECT 'Projectlocatie',
alg_ruimte_nr,
@@ -2520,6 +2548,108 @@ AS
WHERE alg_srtruimte_key = 241;
-- detailrapportage als je klikt op een regel in bovenstaande rapport.
CREATE OR REPLACE VIEW pchd_v_locatie_gegevens_mldcnt
AS
SELECT mld_melding_key,
ins_srtdiscipline_prefix || mld_melding_key melding_nr,
mld_melding_datum,
ins_srtdiscipline_prefix,
d.ins_discipline_omschrijving,
std.mld_stdmelding_omschrijving,
mld_melding_onderwerp,
mld_alg_locatie_key alg_locatie_key,
mld_alg_onroerendgoed_keys alg_ruimte_key
FROM mld_melding m,
mld_stdmelding std,
ins_tab_discipline d,
ins_srtdiscipline sd,
alg_locatie l,
alg_v_allonroerendgoed aog
WHERE mld_melding_status IN (0,
2,
3,
4,
7,
99) -- Bij Frontoffice, Nieuw, Te accepteren, In behandeling, Uitgegeven, Niet opgelost
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND m.mld_alg_locatie_key = l.alg_locatie_key
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys
UNION ALL
SELECT c.cnt_contract_key,
'C' || cnt_contract_nummer_intern || '.' || COALESCE (cnt_contract_versie, '0') contract_nr,
cnt_contract_looptijd_van,
'C',
d.ins_discipline_omschrijving,
prs_bedrijf_naam,
c.cnt_contract_omschrijving,
l.alg_locatie_key,
r.alg_ruimte_key
FROM cnt_contract c,
ins_tab_discipline d,
alg_locatie l,
alg_ruimte r,
prs_bedrijf b,
(SELECT cnt_contract_key, cnt_alg_plaats_key alg_locatie_key
FROM cnt_contract_plaats cp
WHERE cp.cnt_alg_plaats_code = 'L' AND cp.cnt_contract_plaats_verwijder IS NULL) cpl,
(SELECT cnt_contract_key, cnt_alg_plaats_key alg_ruimte_key
FROM cnt_contract_plaats cp
WHERE cp.cnt_alg_plaats_code = 'R' AND cp.cnt_contract_plaats_verwijder IS NULL) cpr
WHERE cnt_contract_status IN (0, 2, 3) -- /* 0=actief, 1=inactief, 2=nieuw, 3=ter goedkeuring */
AND c.cnt_contract_verwijder IS NULL
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.ins_discipline_key = d.ins_discipline_key
AND c.cnt_contract_key = cpl.cnt_contract_key(+)
AND cpl.alg_locatie_key = l.alg_locatie_key(+)
AND c.cnt_contract_key = cpr.cnt_contract_key(+)
AND cpr.alg_ruimte_key = r.alg_ruimte_key(+);
-- View om de relatie tussen werkmaatschappij en locatie weer te geven. Deze relatie loopt
-- via de kenmerken werkmaatschij(n) bij een locatie. Deze kenmerken wijzen naar een intern
-- bedrijf. Deze interne bedrijven hebben vervolgens een kenmerk dat naar de kostenplaats wijst.
-- De combinatie prs_kostenplaat_nr en locatiecode is uiteindelijke de projectcode die naar
-- Exact gecommuniceerd wordt.
CREATE OR REPLACE VIEW pchd_v_wm_loc
AS
SELECT DISTINCT prs_bedrijf_key,
prs_bedrijf_naam,
wm.prs_kostenplaats_key,
wm.prs_kostenplaats_nr,
b.prs_bedrijf_intern,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
COUNT (*) aantal,
wm.prs_kostenplaats_nr || alg_locatie_code projectcode
FROM alg_kenmerk k,
alg_onrgoedkenmerk aogk,
prs_bedrijf b,
alg_locatie l,
(SELECT prs_link_key, prs_kostenplaats_nr, kp.prs_kostenplaats_key
FROM prs_kostenplaats kp, prs_kenmerklink kl
WHERE fac.safe_to_number (kl.prs_kenmerklink_waarde) = kp.prs_kostenplaats_key AND kl.prs_kenmerk_key = 1260)
wm
WHERE fac.safe_to_number (alg_onrgoedkenmerk_waarde) = b.prs_bedrijf_key
AND aogk.alg_kenmerk_key = k.alg_kenmerk_key
AND alg_kenmerk_omschrijving LIKE 'Werkmaatschappij%'
AND alg_kenmerk_kenmerktype = 'S'
AND alg_onrgoedkenmerk_verwijder IS NULL
AND alg_onrgoed_key = l.alg_locatie_key
AND l.alg_locatie_verwijder IS NULL
AND b.prs_bedrijf_key = wm.prs_link_key(+)
AND b.prs_bedrijf_intern = 1
AND COALESCE (alg_locatie_vervaldatum, SYSDATE + 1) > SYSDATE
GROUP BY prs_bedrijf_key,
prs_bedrijf_naam,
prs_bedrijf_intern,
l.alg_locatie_code,
l.alg_locatie_omschrijving,
wm.prs_kostenplaats_nr,
wm.prs_kostenplaats_key
ORDER BY 2;
------ payload end ------
SET DEFINE OFF