169 lines
6.8 KiB
SQL
169 lines
6.8 KiB
SQL
--
|
|
-- $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
|