KFNS#32266 KFNS1

svn path=/Customer/trunk/; revision=25558
This commit is contained in:
Maarten van der Heide
2015-06-30 17:38:16 +00:00
parent 8dddc240e8
commit 0ca8407b0d

View File

@@ -522,170 +522,255 @@ END;
/
/*
CREATE OR REPLACE VIEW kfns_v_rap_broc_actual
/* Formatted on 30-6-2015 19:35:25 (QP5 v5.136.908.31019) */
CREATE OR REPLACE VIEW kfns_v_rap_cost_actual
(
maand,
sla,
fclt_f_prefix,
opdr,
fclt_f_kdrager,
fclt_f_kdrager_oms,
fclt_f_ksoort,
fclt_f_ksoort_oms,
locatie,
fclt_f_gebouw_terrein,
verdieping,
ruimte,
fclt_f_vakgroep,
fclt_f_melding,
melder,
omschrijving,
opmerking,
aanmaak,
gepland,
gereed,
fclt_f_uitvoerende,
contactpersoon,
kosten,
fclt_3d_afdeling_key
bedrijf_key,
bedrijf,
contract_key,
contractnr,
ponr,
beschrijving,
aantal,
kosten
--fclt_3d_afdeling_key
)
AS -- Variabele kosten op basis van (variabele) contracten
AS -- Variabele kosten uit opdrachten op variabele contracten
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
o.prs_bedrijf_key,
o.prs_bedrijf_naam bedrijf,
o.cnt_contract_key,
o.cnt_contract_nummer_intern,
--kc.cnt_kenmerkcontract_waarde ponr,
o.cnt_contract_nummer ponr,
o.cnt_contract_omschrijving,
COUNT ( * ) aantal,
SUM (o.mld_opdr_kosten) kosten
FROM (SELECT o.mld_opdr_key,
b.prs_bedrijf_key,
b.prs_bedrijf_naam,
cordafr.cnt_contract_key,
cordafr.cnt_contract_nummer_intern,
cordafr.cnt_contract_nummer,
cordafr.cnt_contract_omschrijving,
o.mld_opdr_kosten
FROM mld_opdr o,
fac_tracking t,
prs_bedrijf b,
cnt_contract cordnew,
cnt_contract cordafr
--mld_melding m,
--prs_v_perslid_fullnames_all pf,
--alg_v_allonrgoed_gegevens og,
--mld_stdmelding sm,
--ins_tab_discipline td,
--ins_srtdiscipline sd,
--prs_kostensoort ksm,
--prs_kostensoort ksv,
--prs_kostenplaats kp
WHERE o.mld_statusopdr_key = 9
AND o.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = 70 -- ORDAFR
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND o.cnt_contract_key = cordnew.cnt_contract_key
AND cordnew.ins_discipline_key = 143 -- Vatiabele contracten
AND cordnew.cnt_contract_nummer_intern =
cordafr.cnt_contract_nummer_intern
AND t.fac_tracking_datum BETWEEN cordafr.cnt_contract_looptijd_van
AND cordafr.cnt_contract_looptijd_tot
AND t.fac_tracking_datum < TRUNC (SYSDATE, 'mm')
--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 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 1 = 1) o
--LEFT JOIN (SELECT DISTINCT o.mld_opdr_key, 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) o2a
-- ON x.mld_opdr_key = o2a.mld_opdr_key
GROUP BY TO_CHAR (SYSDATE, 'yyyy-mm'),
o.prs_bedrijf_key,
o.prs_bedrijf_naam,
o.cnt_contract_key,
o.cnt_contract_nummer_intern,
o.cnt_contract_nummer,
o.cnt_contract_omschrijving
UNION ALL -- Vaste kosten uit vaste contracten
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
a.sla,
a.prefix,
a.opdracht,
a.kdrager,
a.kdrager_oms,
a.ksoort,
a.ksoort_oms,
NULL locatie,
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.bedrijf,
a.cp,
a.kosten,
b.afdeling
FROM (SELECT o.mld_opdr_key,
COALESCE (og.alg_gebouw_key, og.alg_terreinsector_key)
gebter_key,
TO_CHAR (m.mld_melding_uitvoertijd) sla,
sd.ins_srtdiscipline_prefix prefix,
o.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
opdracht,
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,
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,
TO_CHAR (o.mld_opdr_datumbegin, 'dd-mm-yyyy') datum_aanmaak, -- Of verzonden?
TO_CHAR (
fac.datumtijdplusuitvoertijd (o.mld_opdr_datumbegin,
m.mld_melding_t_uitvoertijd.tijdsduur,
m.mld_melding_t_uitvoertijd.eenheid),
'dd-mm-yyyy')
datum_gepland,
TO_CHAR (fac.gettrackingdate ('ORDAFM', o.mld_opdr_key),
'dd-mm-yyyy')
datum_gereed,
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,
mld_stdmelding sm,
ins_tab_discipline td,
ins_srtdiscipline sd,
prs_kostensoort ksm,
prs_kostensoort ksv,
prs_kostenplaats kp
WHERE o.mld_statusopdr_key = 9
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 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_kostenplaats_upper = 'WTC'
AND fac.gettrackingdate ('ORDAFR', o.mld_opdr_key) <
TO_DATE (TO_CHAR (SYSDATE, 'yyyymm') || '01',
'yyyymmdd')) a
LEFT JOIN (SELECT DISTINCT
o.mld_opdr_key, p.prs_afdeling_key afdeling
FROM mld_opdr o,
prs_bedrijf b,
prs_contactpersoon cp,
prs_perslid p
WHERE b.prs_bedrijf_key = cp.prs_bedrijf_key
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND cp.prs_perslid_key = p.prs_perslid_key) b
ON a.mld_opdr_key = b.mld_opdr_key
UNION ALL -- Vaste kosten op basis van (vaste) contracten
SELECT c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_omschrijving,
kc.cnt_kenmerkcontract_waarde inkoopordernr,
c.prs_bedrijf_naam,
--DECODE ( -- Wat als looptijd < jaar of veelvoud periode?
-- COALESCE (c.cnt_contract_termijnkosten, 0),
-- 0,
-- c.cnt_contract_kosten / 12,
-- DECODE (1,
-- NULL, TO_NUMBER (NULL),
-- c.cnt_contract_termijnkosten / 1))
-- bedrag,
c.cnt_contract_kosten jaarkosten,
c.cnt_contract_termijnkosten maandkosten
FROM (SELECT c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_omschrijving,
b.prs_bedrijf_naam,
c.cnt_contract_kosten,
c.cnt_contract_termijnkosten
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
WHERE c.cnt_contract_looptijd_tot >= LAST_DAY (ADD_MONTHS (SYSDATE, -1))
AND c.ins_discipline_key = 141 -- Vaste contracten
AND c.cnt_contract_status = 0 -- NIET Gesloten!
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
(SELECT 1
FROM cnt_v_aanwezigcontract
WHERE cnt_contract_nummer_intern = c.cnt_contract_nummer_intern
AND cnt_contract_versie > c.cnt_contract_versie)
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
LEFT JOIN -- Inkoopordernummer NS (4)
cnt_kenmerkcontract kc
ON c.cnt_contract_key = kc.cnt_contract_key AND kc.cnt_kenmerk_key = 4;
c.prs_bedrijf_key,
c.prs_bedrijf_naam bedrijf,
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
--kc.cnt_kenmerkcontract_waarde ponr,
c.cnt_contract_nummer ponr,
c.cnt_contract_omschrijving,
0 aantal,
DECODE (COALESCE (c.cnt_contract_termijnkosten, 0),
0, c.cnt_contract_kosten / 12,
c.cnt_contract_termijnkosten)
kosten -- Wat als looptijd < jaar?
FROM (SELECT b.prs_bedrijf_key,
b.prs_bedrijf_naam,
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_nummer,
c.cnt_contract_omschrijving,
c.cnt_contract_kosten,
c.cnt_contract_termijnkosten
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
WHERE c.cnt_contract_looptijd_tot >=
LAST_DAY (ADD_MONTHS (SYSDATE, -1))
AND c.ins_discipline_key = 141 -- Vaste contracten
AND c.cnt_contract_status = 0 -- NIET Gesloten!
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
(SELECT 1
FROM cnt_v_aanwezigcontract
WHERE cnt_contract_nummer_intern =
c.cnt_contract_nummer_intern
AND cnt_contract_versie >
c.cnt_contract_versie)
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
LEFT JOIN
cnt_kenmerkcontract kc
ON kc.cnt_kenmerk_key = 4 -- Inkoopordernummer NS
AND c.cnt_contract_key = kc.cnt_contract_key;
CREATE OR REPLACE PROCEDURE kfns_export_broc (p_applname IN VARCHAR2,
CREATE OR REPLACE VIEW kfns_v_rap_cost_frozen
(
maand,
bedrijf_key,
bedrijf,
contract_key,
contractnr,
ponr,
beschrijving,
aantal,
kosten
--fclt_3d_afdeling_key
)
AS -- Variabele kosten uit opdrachten op variabele contracten
SELECT o.datum_frozen,
o.prs_bedrijf_key,
o.prs_bedrijf_naam bedrijf,
o.cnt_contract_key,
o.cnt_contract_nummer_intern,
--kc.cnt_kenmerkcontract_waarde ponr,
o.cnt_contract_nummer ponr,
o.cnt_contract_omschrijving,
COUNT ( * ) aantal,
SUM (o.mld_opdr_kosten) kosten
FROM (SELECT TO_CHAR (t.fac_tracking_datum, 'yyyy-mm-dd') datum_frozen,
o.mld_opdr_key,
b.prs_bedrijf_key,
b.prs_bedrijf_naam,
cordver.cnt_contract_key,
cordver.cnt_contract_nummer_intern,
cordver.cnt_contract_nummer,
cordver.cnt_contract_omschrijving,
o.mld_opdr_kosten
FROM mld_opdr o,
fac_tracking t,
prs_bedrijf b,
cnt_contract cordnew,
cnt_contract cordver
--mld_melding m,
--prs_v_perslid_fullnames_all pf,
--alg_v_allonrgoed_gegevens og,
--mld_stdmelding sm,
--ins_tab_discipline td,
--ins_srtdiscipline sd,
--prs_kostensoort ksm,
--prs_kostensoort ksv,
--prs_kostenplaats kp
WHERE o.mld_statusopdr_key = 7
AND o.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = 66 -- ORDVER
AND o.mld_uitvoerende_keys = b.prs_bedrijf_key
AND o.cnt_contract_key = cordnew.cnt_contract_key
AND cordnew.ins_discipline_key = 143 -- Vatiabele contracten
AND cordnew.cnt_contract_nummer_intern =
cordver.cnt_contract_nummer_intern
AND t.fac_tracking_datum BETWEEN cordver.cnt_contract_looptijd_van
AND cordver.cnt_contract_looptijd_tot
--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 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 1 = 1) o
--LEFT JOIN (SELECT DISTINCT o.mld_opdr_key, 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) o2a
-- ON x.mld_opdr_key = o2a.mld_opdr_key
GROUP BY o.datum_frozen,
o.prs_bedrijf_key,
o.prs_bedrijf_naam,
o.cnt_contract_key,
o.cnt_contract_nummer_intern,
o.cnt_contract_nummer,
o.cnt_contract_omschrijving
UNION ALL -- Vaste kosten uit vaste contracten
SELECT TO_CHAR (SYSDATE, 'yyyy-mm'),
c.prs_bedrijf_key,
c.prs_bedrijf_naam bedrijf,
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
--kc.cnt_kenmerkcontract_waarde ponr,
c.cnt_contract_nummer ponr,
c.cnt_contract_omschrijving,
0 aantal,
DECODE (COALESCE (c.cnt_contract_termijnkosten, 0),
0, c.cnt_contract_kosten / 12,
c.cnt_contract_termijnkosten)
kosten -- Wat als looptijd < jaar?
FROM (SELECT b.prs_bedrijf_key,
b.prs_bedrijf_naam,
c.cnt_contract_key,
c.cnt_contract_nummer_intern,
c.cnt_contract_nummer,
c.cnt_contract_omschrijving,
c.cnt_contract_kosten,
c.cnt_contract_termijnkosten
FROM cnt_v_aanwezigcontract c, prs_bedrijf b
WHERE c.cnt_contract_looptijd_tot >=
LAST_DAY (ADD_MONTHS (SYSDATE, -1))
AND c.ins_discipline_key = 141 -- Vaste contracten
AND c.cnt_contract_status = 0 -- NIET Gesloten!
AND NOT EXISTS -- Beschouw alleen laatste versie van contracten
(SELECT 1
FROM cnt_v_aanwezigcontract
WHERE cnt_contract_nummer_intern =
c.cnt_contract_nummer_intern
AND cnt_contract_versie >
c.cnt_contract_versie)
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key) c
LEFT JOIN
cnt_kenmerkcontract kc
ON kc.cnt_kenmerk_key = 4 -- Inkoopordernummer NS
AND c.cnt_contract_key = kc.cnt_contract_key;
/*
CREATE OR REPLACE PROCEDURE kfns_export_cost (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2)
AS
-- Cursor loopt over een view met daarin opgebouwd alle BROC-regels die op
@@ -1502,7 +1587,7 @@ AS
BEGIN adm.systrackscriptId('$Id$', 0); END;
/
BEGIN fac.registercustversion('KFNS', 0); END;
BEGIN fac.registercustversion('KFNS', 1); END;
/
commit;
spool off