MARX#89738 Systeemfout bij rapport 'Premium Staffelkorting'

svn path=/Mareon/trunk/; revision=69686
This commit is contained in:
Marcel Bourseau
2025-07-07 14:36:42 +00:00
parent cae13bbfd8
commit 2b6c392f68

View File

@@ -19139,6 +19139,158 @@ AND t.fac_tracking_datum >= SYSDATE-30;
END prs_bedrijf_planmodules
FROM mar_v_tmp_opdr_woco_x_lev;
-- MARX#89738 Systeemfout bij rapport 'Premium Staffelkorting'
CREATE OR REPLACE VIEW mar_v_basic_premium_lev
AS
SELECT m.mld_melding_key,
o.mld_opdr_key,
so.mld_statusopdr_key,
p.prs_perslid_key,
a.prs_afdeling_key,
b_woco.prs_bedrijf_key
prs_bedrijf_key_opdrachtgever,
b_lev.prs_bedrijf_key
prs_bedrijf_key_opdrachtnemer,
sd.ins_srtdiscipline_prefix || m.mld_melding_key || '/' || o.mld_opdr_bedrijfopdr_volgnr
mld_opdr_nr,
b_woco.prs_leverancier_nr
opdrachtgever_gln,
b_woco.prs_bedrijf_naam
opdrachtgever_naam,
o.mld_opdr_id,
o.mld_opdr_omschrijving,
b_lev.prs_leverancier_nr
opdrachtnemer_gln,
b_lev.prs_bedrijf_naam
opdrachtnemer_naam,
o.mld_opdr_kosten,
fac.gettrackingdate ('ORDNEW', o.mld_opdr_key)
mld_opdr_aanmaak,
o.mld_opdr_verzonden,
o.mld_opdr_datumbegin,
o.mld_opdr_einddatum,
o.mld_opdr_plandatum,
o.mld_opdr_plandatum2,
(SELECT MAX (bb.prs_bedrijf_bedrijf_status)
FROM prs_bedrijf_bedrijf bb
WHERE bb.prs_bedrijf_key2 = b_lev.prs_bedrijf_key)
prs_bedrijf_is_premium,
DECODE ((SELECT MAX (bb.prs_bedrijf_bedrijf_status)
FROM prs_bedrijf_bedrijf bb
WHERE bb.prs_bedrijf_key2 = b_lev.prs_bedrijf_key),
1, 'Ja',
'Nee')
prs_bedrijf_is_premium_janee,
CASE
WHEN bb.prs_bedrijf_bedrijf_startdatum <= TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key))
AND TRUNC(COALESCE (bb.prs_bedrijf_bedrijf_einddatum, o.mld_opdr_verzonden)) >= TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key))
THEN
1
ELSE
0
END
mld_opdr_is_premium,
CASE
WHEN bb.prs_bedrijf_bedrijf_startdt2 <= TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key))
AND TRUNC (COALESCE (bb.prs_bedrijf_bedrijf_einddt2, o.mld_opdr_verzonden)) >= TRUNC (fac.gettrackingdate ('ORDNEW', o.mld_opdr_key))
THEN
1
ELSE
0
END
mld_opdr_is_premium_plan,
COALESCE (bb.prs_bedrijf_bedrijf_fee1, 0) prs_woco_premium_tarief,
COALESCE (bb.prs_bedrijf_bedrijf_fee2, 0) prs_bedrijf_premium_tarief,
COALESCE (bb.prs_bedrijf_bedrijf_fee3, 0) prs_woco_premiumplan_tarief,
COALESCE (bb.prs_bedrijf_bedrijf_fee4, 0) prs_bedrijf_premiumplan_tarief,
bb.prs_bedrijf_bedrijf_startdatum prs_bedrijf_premium_start,
bb.prs_bedrijf_bedrijf_einddatum prs_bedrijf_premium_eind,
bb.prs_bedrijf_bedrijf_startdt2 prs_bedrijf_premiumplan_start,
bb.prs_bedrijf_bedrijf_einddt2 prs_bedrijf_premiumplan_eind,
(SELECT fac.safe_to_number (prs_kenmerklink_waarde)
FROM prs_kenmerklink
WHERE prs_kenmerk_key = 61
AND prs_kenmerklink_niveau = 'B'
AND prs_link_key = b_lev.prs_bedrijf_key) planbord_auth_code
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline d,
ins_srtdiscipline sd,
prs_bedrijf b_woco,
prs_afdeling a,
prs_perslid p,
mld_opdr o,
mld_statusopdr so,
prs_bedrijf b_lev,
prs_bedrijf_bedrijf bb
WHERE sd.ins_srtdiscipline_key = d.ins_srtdiscipline_key
AND d.ins_discipline_key = sm.mld_ins_discipline_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND m.prs_perslid_key = p.prs_perslid_key
AND a.prs_afdeling_key = p.prs_afdeling_key
AND b_woco.prs_bedrijf_key = a.prs_bedrijf_key
AND o.mld_melding_key = m.mld_melding_key
AND so.mld_statusopdr_key = o.mld_statusopdr_key
AND o.mld_uitvoerende_keys = b_lev.prs_bedrijf_key
AND bb.prs_bedrijf_key1 = b_woco.prs_bedrijf_key
AND bb.prs_bedrijf_key2 = b_lev.prs_bedrijf_key;
CREATE OR REPLACE VIEW mar_v_tmp_premium_staffelkorting
AS
SELECT mld_melding_key,
mld_opdr_key,
mld_statusopdr_key,
prs_perslid_key,
prs_afdeling_key,
prs_bedrijf_key_opdrachtgever,
prs_bedrijf_key_opdrachtnemer,
mld_opdr_nr,
opdrachtgever_gln,
opdrachtgever_naam,
mld_opdr_id,
mld_opdr_omschrijving,
opdrachtnemer_gln,
opdrachtnemer_naam,
mld_opdr_kosten,
mld_opdr_aanmaak,
mld_opdr_verzonden,
mld_opdr_datumbegin,
mld_opdr_einddatum,
mld_opdr_plandatum,
mld_opdr_plandatum2,
prs_bedrijf_is_premium,
prs_bedrijf_is_premium_janee,
mld_opdr_is_premium,
mld_opdr_is_premium_plan,
prs_woco_premium_tarief,
prs_bedrijf_premium_tarief,
prs_woco_premiumplan_tarief,
prs_bedrijf_premiumplan_tarief,
prs_bedrijf_premium_start,
prs_bedrijf_premium_eind,
prs_bedrijf_premiumplan_start,
prs_bedrijf_premiumplan_eind,
planbord_auth_code,
prs_bedrijf_premium_tarief * mld_opdr_is_premium mld_opdr_is_premium_bedrag,
prs_woco_premium_tarief * mld_opdr_is_premium mld_opdr_woco_premium_bedrag,
prs_bedrijf_premiumplan_tarief * mld_opdr_is_premium_plan mld_opdr_premiumplan_bedrag,
prs_woco_premiumplan_tarief * mld_opdr_is_premium_plan mld_woco_premiumplan_bedrag,
CASE
WHEN planbord_auth_code IN (1,2) THEN (SELECT fac.safe_to_number (fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 25)
ELSE 0
END prs_bedrijf_planbord_tarief,
CASE
WHEN planbord_auth_code = 2 AND prs_bedrijf_premiumplan_tarief > 0 THEN 'Mareon Planbord + Premium Planning + Groene Planning'
WHEN planbord_auth_code = 1 AND prs_bedrijf_premiumplan_tarief > 0 THEN 'Mareon Planbord + Premium Planning'
WHEN planbord_auth_code = 0 AND prs_bedrijf_premiumplan_tarief > 0 THEN 'Mareon Premium Planning'
WHEN planbord_auth_code = 2 THEN 'Mareon Planbord + Groene Planning'
WHEN planbord_auth_code = 1 THEN 'Mareon Planbord'
ELSE ''
END prs_bedrijf_planmodules
FROM mar_v_basic_premium_lev;
CREATE OR REPLACE VIEW mar_v_premium_staffelkorting
AS
SELECT opdrachtnemer_gln,
@@ -19175,8 +19327,8 @@ AND t.fac_tracking_datum >= SYSDATE-30;
+ (GREATEST (0, LEAST (50000 - 10000, SUM (mld_opdr_is_premium) - 10000)) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 35)))
+ (GREATEST (0, SUM (mld_opdr_is_premium) - 50000) * ((SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 31) - (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrdata_key = 36))))
AS mld_premium_bedrag_incl_kort
FROM mar_v_udr_opdr_woco_x_lev
WHERE mar_v_udr_opdr_woco_x_lev.prs_woco_premium_tarief = 0 AND mar_v_udr_opdr_woco_x_lev.prs_bedrijf_is_premium = 1
FROM mar_v_tmp_premium_staffelkorting prem
WHERE prem.prs_woco_premium_tarief = 0 AND prem.prs_bedrijf_is_premium = 1
GROUP BY opdrachtnemer_gln,
opdrachtnemer_naam,
TO_CHAR (mld_opdr_aanmaak, 'YYYY-Q'),