BLCC#58361 Rap/Voortaan eerste goedkeurder tonen (ipv. propertymanager)

svn path=/Customer/; revision=43243
This commit is contained in:
Maarten van der Heide
2019-07-05 12:44:54 +00:00
parent 8d2b355dea
commit 4563bef976

168
onces/BLCC/BLCC#58361.sql Normal file
View File

@@ -0,0 +1,168 @@
--
-- $Id$
--
-- Customer specific once-script BLCC#58361.SQL.
DEFINE thisfile = 'BLCC#58361.SQL'
DEFINE dbuser = '^BLCC'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF
------ payload begin ------
-- BLCC#58361: Ipv. propertymanager voortaan eerste goedkeurder (en anders de
-- propertymanager)!
CREATE OR REPLACE VIEW blcc_v_rap_maand_ordafm
(
maand,
prefix,
opdr_key,
opdr,
kpn,
kplaats_nr,
kplaats_oms,
--corr_kplaats,
ksoort_code,
ksoort_oms,
--org_ksoort,
propertymanager, -- BLCC#58361: Voortaan eerste goedkeurder!
gebouw_terrein,
verdieping,
ruimte,
vakgroep,
melding,
melder,
omschrijving,
opmerking,
aanmaak,
gepland,
gereed,
uitv_key,
uitvoerende,
contactpersoon,
kosten,
fclt_3d_afdeling_key
)
AS
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
a.prefix,
a.mld_opdr_key,
a.opdracht,
COALESCE (a.prs_kostenplaatsgrp_nr, SUBSTR (a.kdrager, 1, 5)) kpn,
a.kdrager,
a.kdrager_oms,
a.ksoort,
a.ksoort_oms,
--a.propertymanager,
COALESCE ((SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = ordgoe.prs_perslid_key), a.propertymanager) goedkeurder,
a.gebouw_terrein,
a.verdieping,
a.ruimte,
a.vakgroep,
a.melding,
a.melder,
a.oms,
a.opm,
a.datum_aanmaak,
a.datum_gepland,
a.datum_gereed,
a.prs_bedrijf_key,
a.bedrijf,
a.cp,
COALESCE (a.kosten, 0),
b.afdeling
FROM (SELECT o.mld_opdr_key,
COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key) gebter_key,
sd.ins_srtdiscipline_prefix prefix,
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr opdracht,
kpg.prs_kostenplaatsgrp_nr,
kp.prs_kostenplaats_nr kdrager,
kp.prs_kostenplaats_omschrijving kdrager_oms,
COALESCE (ksm.prs_kostensoort_oms, ksv.prs_kostensoort_oms) ksoort,
DECODE (ksm.prs_kostensoort_oms,
NULL, ksv.prs_kostensoort_opmerking,
ksm.prs_kostensoort_opmerking)
ksoort_oms,
pm.prs_perslid_naam_full propertymanager,
COALESCE (og.alg_terreinsector_code, og.alg_gebouw_code) gebouw_terrein,
og.alg_verdieping_code verdieping,
og.alg_ruimte_nr ruimte,
td.ins_discipline_omschrijving vakgroep,
sm.mld_stdmelding_omschrijving melding,
pf.prs_perslid_naam_full melder,
o.mld_opdr_omschrijving oms,
o.mld_opdr_opmerking opm,
o.mld_opdr_datumbegin datum_aanmaak, -- Of verzonden?
--fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin, m.mld_melding_t_uitvoertijd.tijdsduur, m.mld_melding_t_uitvoertijd.eenheid)
o.mld_opdr_einddatum datum_gepland,
fac.gettrackingdate ('ORDAFM', o.mld_opdr_key) datum_gereed,
b.prs_bedrijf_key,
b.prs_bedrijf_naam bedrijf,
o.mld_opdr_contactpersoon cp,
o.mld_opdr_kosten kosten
FROM mld_opdr o,
prs_bedrijf b,
mld_melding m,
prs_v_perslid_fullnames_all pf,
alg_v_allonrgoed_gegevens og,
alg_gebouw g,
prs_v_perslid_fullnames pm,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv,
prs_kostenplaats kp,
prs_kostenplaatsgrp kpg
WHERE o.mld_typeopdr_key = 101 -- Alleen Werkopdrachten???
AND o.mld_statusopdr_key = 6 -- Afgemeld???
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND o.mld_melding_key = m.mld_melding_key
AND m.prs_perslid_key = pf.prs_perslid_key
AND m.mld_alg_onroerendgoed_keys = og.alg_onroerendgoed_keys
AND og.alg_gebouw_key = g.alg_gebouw_key(+)
AND g.prs_perslid_key_verantw = pm.prs_perslid_key(+)
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = td.ins_discipline_key
AND td.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND sm.prs_kostensoort_key = ksm.prs_kostensoort_key(+)
AND td.prs_kostensoort_key = ksv.prs_kostensoort_key(+)
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)) a
LEFT JOIN ( SELECT o.mld_opdr_key, MAX (p.prs_afdeling_key) afdeling
FROM mld_opdr o, prs_bedrijf b, prs_contactpersoon cp, prs_perslid p
WHERE o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND b.prs_bedrijf_key = cp.prs_bedrijf_key
AND cp.prs_perslid_key = p.prs_perslid_key
GROUP BY o.mld_opdr_key) b
ON a.mld_opdr_key = b.mld_opdr_key
LEFT JOIN ( SELECT t.fac_tracking_refkey, t.prs_perslid_key -- Bah!
FROM fac_tracking t
WHERE t.fac_srtnotificatie_key = 60 -- ORDUPD
AND UPPER (t.fac_tracking_oms) LIKE 'OPDRACHT IS GOEDGEKEURD DOOR%'
AND NOT EXISTS
(SELECT 1
FROM fac_tracking
WHERE fac_srtnotificatie_key = 60 -- ORDUPD
AND UPPER (fac_tracking_oms) LIKE 'OPDRACHT IS GOEDGEKEURD DOOR%'
AND fac_tracking_refkey = t.fac_tracking_refkey
AND fac_tracking_key < t.fac_tracking_key)) ordgoe
ON a.mld_opdr_key = ordgoe.fac_tracking_refkey;
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile