BLCC#59242 PWRBI-export/Toevoegen 2 kolommen (Goedkeuring en Fiattering)

svn path=/Customer/trunk/; revision=44435
This commit is contained in:
Maarten van der Heide
2019-10-03 14:02:11 +00:00
parent 25e5881bff
commit 00668b61fd

View File

@@ -4187,11 +4187,12 @@ CREATE OR REPLACE VIEW blcc_v_rap_opdrachten
opdracht_uren,
opdracht_correctie,
opdracht_materiaal,
opdracht_uurtarief,
opdracht_uurtarief,
opdracht_offerte,
opdracht_goedkeuring, -- BLCC#59243: Toevoegen goedkeuring
opdracht_fiattering -- BLCC#59243: Toevoegen fiattering
)
AS
SELECT DISTINCT
AS
SELECT DECODE (mld_melding_spoed,
3, lcl.l ('lcl_mld_urg_normaal'),
1, lcl.l ('lcl_mld_urg_kritiek'),
@@ -4221,34 +4222,144 @@ AS
TO_CHAR (o.mld_opdr_uren, 'fm999999999999999990.00'),
TO_CHAR (o.mld_opdr_kosten - o.mld_opdr_materiaal - (o.mld_opdr_uren * o.mld_opdr_uurloon), 'fm999999999999999990.00'),
TO_CHAR (o.mld_opdr_materiaal, 'fm999999999999999990.00'),
TO_CHAR (o.mld_opdr_uurloon, 'fm999999999999999990.00'),
TO_CHAR (o.mld_opdr_uurloon, 'fm999999999999999990.00'),
sub.opdrachtnummer,
--DECODE (o.mld_statusopdr_key, 10, o2g.goedkeurders, NULL) opdracht_goedkeuring,
o2g.goedkeurders opdracht_goedkeuring,
DECODE (o.mld_statusopdr_key, 3, pfia.prs_perslid_naam_full, NULL) opdracht_fiattering
FROM mld_opdr o,
mld_typeopdr ot,
mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd,
ins_srtdiscipline sd,
mld_disc_params mdp,
prs_kostenplaats kp,
prs_kostenplaatsgrp kpg,
(SELECT sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdrachtnummer,
mld_opdr_key
FROM mld_melding m,
mld_opdr o,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key) sub
prs_kostenplaatsgrp kpg,
(SELECT o.mld_opdr_key, sd.ins_srtdiscipline_prefix || TO_CHAR (m.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdrachtnummer
FROM mld_opdr o,
mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline sd
WHERE o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key) sub,
--(SELECT t.fac_tracking_refkey, SUBSTR (t.fac_tracking_oms, INSTR (t.fac_tracking_oms, 'verstuurd aan ') + 14) goedkeurders -- Bah!
-- FROM fac_tracking t
-- WHERE t.fac_srtnotificatie_key = 135 -- ORDMAI
-- AND UPPER (t.fac_tracking_oms) LIKE '%UW GOEDKEURING IS VEREIST VOOR OPDRACHT%'
-- AND NOT EXISTS
-- (SELECT 1
-- FROM fac_tracking
-- WHERE fac_srtnotificatie_key = 135 -- ORDMAI
-- AND UPPER (fac_tracking_oms) LIKE '%UW GOEDKEURING IS VEREIST VOOR OPDRACHT%'
-- AND fac_tracking_refkey = t.fac_tracking_refkey
-- AND fac_tracking_key > t.fac_tracking_key)) o2g,
( SELECT o.mld_opdr_key,
LISTAGG (pgoe.prs_perslid_naam_full, ', ') WITHIN GROUP (ORDER BY pgoe.prs_perslid_naam_full)
goedkeurders
FROM mld_opdr o,
mld_typeopdr ot,
mld_melding m,
mld_stdmelding sm,
mld_disc_params mdp,
alg_v_allonroerendgoed onrg,
fac_v_webgebruiker wg,
fac_functie f,
prs_perslid p,
prs_v_perslid_fullnames pgoe
WHERE o.mld_statusopdr_key = 10
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = mdp.mld_ins_discipline_key
AND m.mld_alg_onroerendgoed_keys = onrg.alg_onroerendgoed_keys(+)
AND sm.mld_ins_discipline_key = wg.ins_discipline_key
AND wg.fac_functie_key = f.fac_functie_key
AND wg.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_key = pgoe.prs_perslid_key
AND p.prs_perslid_key != 4 -- Ignore _FACILITOR!
AND (wg.fac_gebruiker_prs_level_write = -1
OR (wg.fac_gebruiker_prs_level_write < 9
AND p.prs_afdeling_key IN
(SELECT prs_afdeling_key
FROM prs_v_afdeling_familie
WHERE prs_afdeling_elder_key IN
(SELECT prs_afdeling_elder_key
FROM prs_v_afdeling_familie
WHERE prs_afdeling_key = p.prs_afdeling_key
AND niveau = wg.fac_gebruiker_prs_level_write))))
AND (wg.fac_gebruiker_alg_level_write = -1
OR (wg.fac_gebruiker_alg_level_write < 9
AND (CASE
WHEN m.mld_alg_onroerendgoed_keys IS NULL
AND m.mld_alg_locatie_key IN
(SELECT alg_locatie_key
FROM fac_v_my_locations
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = wg.fac_gebruiker_alg_level_write)
THEN
1
WHEN onrg.alg_type = 'G'
AND m.mld_alg_onroerendgoed_keys IN
(SELECT alg_gebouw_key
FROM fac_v_my_buildings
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = wg.fac_gebruiker_alg_level_write)
THEN
1
WHEN onrg.alg_type = 'V'
AND m.mld_alg_onroerendgoed_keys IN
(SELECT alg_verdieping_key
FROM fac_v_my_floors
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = wg.fac_gebruiker_alg_level_write)
THEN
1
WHEN onrg.alg_type = 'R'
AND m.mld_alg_onroerendgoed_keys IN
(SELECT alg_ruimte_key
FROM fac_v_my_rooms
WHERE prs_perslid_key = p.prs_perslid_key
AND niveau = wg.fac_gebruiker_alg_level_write)
THEN
1
ELSE
0
END) = 1))
AND ((f.fac_functie_code = 'WEB_ORDGOE'
AND ((o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet
AND COALESCE (o.mld_opdr_approved, 0) <= mdp.mld_disc_params_bestellimiet)
OR (o.mld_opdr_kosten >= ot.mld_typeopdr_gvs
AND COALESCE (o.mld_opdr_approved, -1) < 0)))
OR (f.fac_functie_code = 'WEB_ORDGO2'
AND o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet2
AND COALESCE (o.mld_opdr_approved, 0) = mdp.mld_disc_params_bestellimiet2)
OR (f.fac_functie_code = 'WEB_ORDGO3'
AND o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet3
AND COALESCE (o.mld_opdr_approved, 0) = mdp.mld_disc_params_bestellimiet3)
OR (f.fac_functie_code = 'WEB_ORDGO4'
AND o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet4
AND COALESCE (o.mld_opdr_approved, 0) = mdp.mld_disc_params_bestellimiet4)
OR (f.fac_functie_code = 'WEB_ORDGO5'
AND o.mld_opdr_kosten >= mdp.mld_disc_params_bestellimiet5
AND COALESCE (o.mld_opdr_approved, 0) >= mdp.mld_disc_params_bestellimiet5))
GROUP BY o.mld_opdr_key) o2g,
prs_v_perslid_fullnames_all pfia
WHERE o.mld_typeopdr_key = ot.mld_typeopdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND md.ins_discipline_key = mdp.mld_ins_discipline_key
AND o.prs_kostenplaats_key = kp.prs_kostenplaats_key(+)
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
AND kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)
AND o.mld_opdr_parent_key = sub.mld_opdr_key(+)
--AND o.mld_opdr_key = o2g.fac_tracking_refkey(+)
AND o.mld_opdr_key = o2g.mld_opdr_key(+)
--AND prs.getfiatteur (o.prs_kostenplaats_key, -1, o.mld_opdr_kosten, md.ins_discipline_key) = pfia.prs_perslid_key(+)
AND prs.nextfiatteur (o.mld_opdr_key, 'MLD') = pfia.prs_perslid_key(+);
-- BLCC#38512
@@ -4928,7 +5039,9 @@ AS
|| ';"opdracht_uren"'
|| ';"opdracht_correctie"'
|| ';"opdracht_materiaal"'
|| ';"opdracht_uurtarief"'
|| ';"opdracht_uurtarief"'
|| ';"opdracht_offerte"'
|| ';"opdracht_goedkeurder"'
|| ';"opdracht_fiatteur"',
0
FROM DUAL
@@ -4974,6 +5087,10 @@ AS
|| '";"'
|| opdracht_uurtarief
|| '";"'
|| opdracht_offerte
|| '";"'
|| opdracht_goedkeurder
|| '";"'
|| opdracht_fiatteur
|| '"',
1