YKPN#40474 Extra fiatteringsniveaus boven kostenplaatsgroep

svn path=/Website/trunk/; revision=35123
This commit is contained in:
Jos Groot Lipman
2017-08-28 15:13:28 +00:00
parent 2dfe960b68
commit ab5a816e22
4 changed files with 36 additions and 14 deletions

View File

@@ -195,7 +195,9 @@ fac = { myfunctionssqlstring:
+ " FROM prs_kostenplaats k"
+ " , prs_kostenplaatsgrp kg"
+ " WHERE kg.prs_kostenplaatsgrp_key = k.prs_kostenplaatsgrp_key"
+ " AND kg.prs_perslid_key IN (" + prsKeys + "))";
+ " AND (kg.prs_perslid_key IN (" + prsKeys + "))"
+ " OR prs_kostenplaatsgrp_fiat2_key IN (" + prsKeys + ")"
+ " OR prs_kostenplaatsgrp_fiat3_key IN (" + prsKeys + "))";
return v_sql_verantwoordelijk;
},

View File

@@ -477,9 +477,9 @@ function getSqlFiatMld(fiatstatus, prsKeys, params)
+ " AND fac_tracking_refkey = op.mld_opdr_key"
+ " )"
+ " THEN prs.getfiatteur (op.prs_kostenplaats_key, -1, mld_opdr_kosten, td.ins_discipline_key)" // kp verantwoordelijke
/* A2 */ + " WHEN mld_opdr_fiatbedrag > " + S("mld_opdr_kpg_fin_limit2")
/* A2 */ + " WHEN mld_opdr_fiatbedrag >= " + S("mld_opdr_kpg_fin_limit2")
+ " THEN prs_kostenplaatsgrp_fiat3_key" // de hoogste kpg-veranwoordelijke
+ " WHEN mld_opdr_fiatbedrag > " + S("mld_opdr_kpg_fin_limit1")
+ " WHEN mld_opdr_fiatbedrag >= " + S("mld_opdr_kpg_fin_limit1")
+ " THEN prs_kostenplaatsgrp_fiat2_key" // de de tweede kpg-veranwoordelijke
+ " ELSE ver.prs_perslid_key" // de standaard kpg-veranwoordelijke
+ " END"
@@ -1062,7 +1062,9 @@ function fiattering_sql(params)
+ " WHERE k.prs_perslid_key IN (" + prsKeys + ")";
var sqlkpg = "SELECT COUNT(*) aantal"
+ " FROM prs_kostenplaatsgrp kg"
+ " WHERE kg.prs_perslid_key IN (" + prsKeys + ")";
+ " WHERE kg.prs_perslid_key IN (" + prsKeys + ")"
+ " OR prs_kostenplaatsgrp_fiat2_key IN (" + prsKeys + ")"
+ " OR prs_kostenplaatsgrp_fiat3_key IN (" + prsKeys + ")";
var sqlbud = "SELECT SUM (aantal) aantal"
+ " FROM (" + sqlkp + " UNION " + sqlkpg + ")";
var oRsbud = Oracle.Execute(sqlbud);

View File

@@ -2080,8 +2080,8 @@ mld = {setmeldingstatus:
+ " , mu.intern"
+ " , prs.getfiatteur (o.prs_kostenplaats_key, -1, mld_opdr_kosten, sm.mld_ins_discipline_key) fiatteur_kp_key"
+ " , kg.prs_perslid_key fiatteur_kpg_key"
+ " , kg.prs_kostenplaatsgrp_fiat2_key fiatteur2_kpg_key"
+ " , kg.prs_kostenplaatsgrp_fiat3_key fiatteur3_kpg_key"
+ " , kg.prs_kostenplaatsgrp_fiat2_key"
+ " , kg.prs_kostenplaatsgrp_fiat3_key"
+ " , d.ins_discipline_key"
+ " , (SELECT COALESCE(ks.prs_kostensoort_btw, 0)"
+ " FROM prs_kostensoort ks"
@@ -2165,7 +2165,7 @@ mld = {setmeldingstatus:
m_cost_refiat: m_cost_refiat,
t_cost: t_cost,
t_cost_refiat: t_cost_refiat,
fiat_bedrag: oRs("mld_opdr_fiatbedrag").Value || 0,
fiatbedrag: oRs("mld_opdr_fiatbedrag").Value || 0,
uitvoerende_key: oRs("mld_uitvoerende_keys").Value,
contract_naam: oRs("cnt_contract_key").Value
? oRs("cnt_name").Value
@@ -2225,8 +2225,8 @@ mld = {setmeldingstatus:
corr_cost_refiat: corr_cost_refiat,
fiatteur_kp_key: oRs("fiatteur_kp_key").Value || -1,
fiatteur_kpg_key: oRs("fiatteur_kpg_key").Value || -1,
fiatteur_kpg2_key: oRs("fiatteur2_kpg_key").Value || -1,
fiatteur_kpg3_key: oRs("fiatteur3_kpg_key").Value || -1,
fiatteur2_kpg_key: oRs("prs_kostenplaatsgrp_fiat2_key").Value || -1,
fiatteur3_kpg_key: oRs("prs_kostenplaatsgrp_fiat3_key").Value || -1,
dis_key: oRs("ins_discipline_key").Value,
inclBTW: oRs("inclBTW").Value,
aanvrager: oRs("ins_discipline_key").Value,
@@ -4937,7 +4937,21 @@ mld = {setmeldingstatus:
+ " , " + lcl.xsqla('md.ins_discipline_omschrijving', 'md.ins_discipline_key')
+ " , (SELECT prs_perslid_naam_full"
+ " FROM prs_v_perslid_fullnames_all"
+ " WHERE prs_perslid_key = prs.getfiatteur(o.prs_kostenplaats_key, -1, mld_opdr_kosten, std.mld_ins_discipline_key)) fiatteur"
+ " WHERE prs_perslid_key = CASE WHEN NOT EXISTS"
+ " (SELECT prs_perslid_key"
+ " FROM fac_tracking t"
+ " , fac_srtnotificatie st"
+ " WHERE t.fac_srtnotificatie_key = st.fac_srtnotificatie_key"
+ " AND st.fac_srtnotificatie_code = 'ORDFOK'" // nog niemand een fiat gedaan?
+ " AND fac_tracking_refkey = o.mld_opdr_key"
+ " )"
+ " THEN prs.getfiatteur (o.prs_kostenplaats_key, -1, mld_opdr_kosten, std.mld_ins_discipline_key)" // kp verantwoordelijke
/* A2 */ + " WHEN mld_opdr_fiatbedrag >= " + S("mld_opdr_kpg_fin_limit2")
+ " THEN prs_kostenplaatsgrp_fiat3_key" // de hoogste kpg-veranwoordelijke
+ " WHEN mld_opdr_fiatbedrag >= " + S("mld_opdr_kpg_fin_limit1")
+ " THEN prs_kostenplaatsgrp_fiat2_key" // de de tweede kpg-veranwoordelijke
+ " ELSE kpg.prs_perslid_key" // de standaard kpg-veranwoordelijke
+ " END) fiatteur"
+ " , (SELECT COUNT (o.mld_opdr_key)"
+ " FROM mld_opdr o "
+ " WHERE o.mld_melding_key = mld_melding_key"
@@ -4980,6 +4994,8 @@ mld = {setmeldingstatus:
+ " , mld_stdmelding std"
+ " , mld_stdmeldinggroep smg"
+ " , mld_melding m"
+ " , prs_kostenplaats kp"
+ " , prs_kostenplaatsgrp kpg"
+ (bld_key || bld_scope || verantw_key
? " , alg_v_allonrgoed_gegevens g"
: "")
@@ -5004,6 +5020,8 @@ mld = {setmeldingstatus:
+ " AND std.mld_ins_discipline_key = md.ins_discipline_key" + (urole == 'bgt' ? '(+)' : '')
+ " AND md.ins_discipline_key = mdp.mld_ins_discipline_key" + (urole == 'bgt' ? '(+)' : '')
+ " AND smg.mld_stdmeldinggroep_key(+) = std.mld_stdmeldinggroep_key"
+ " AND kp.prs_kostenplaats_key(+) = o.prs_kostenplaats_key"
+ " AND kpg.prs_kostenplaatsgrp_key(+) = kp.prs_kostenplaatsgrp_key"
+ " AND o.fac_activiteit_key IS NULL"
+ " AND o.cnt_contract_key = c.cnt_contract_key(+)"
+ " AND m.mld_stdmelding_key = std.mld_stdmelding_key" + (urole == 'bgt' ? '(+)' : '')

View File

@@ -68,11 +68,11 @@ for (var i = 0; i < ingesloten.length; i++)
else // een kpgroep verantwoordelijke moet fiatteren
{ // dat zijn wij of collega daarvan, anders was this_opdr.canApprove false geweest
// || user.isCollega(mld_opdr.nextfiatteur_kpg_key) // wij zijn de groepverantwoordelijke1,2,3 of de vervanger van de groepverantwoordelijke.
if ( mld_opdr.fiatteur_kpg3_key > 0 && user.isCollega(mld_opdr.fiatteur3_kpg_key) )
if ( mld_opdr.fiatteur3_kpg_key > 0 && user.isCollega(mld_opdr.fiatteur3_kpg_key) )
{
bijnaklaar = true
}
else if ( mld_opdr.fiatteur_kpg2_key > 0 && user.isCollega(mld_opdr.fiatteur2_kpg_key) )
else if ( mld_opdr.fiatteur2_kpg_key > 0 && user.isCollega(mld_opdr.fiatteur2_kpg_key) )
{
if (mld_opdr.t_cost <= S("mld_opdr_kpg_fin_limit2"))
bijnaklaar = true;
@@ -130,12 +130,12 @@ for (var i = 0; i < ingesloten.length; i++)
Oracle.Execute(sql);
// notify approver_key by message & mail as configured in fac_srtnotificatie with BESAPx
mld.sendNeedApprovalNotification(ingesloten[i].key, mld_opdr.fiatteur_kpg_key);
mld.sendNeedApprovalNotification(ingesloten[i].key, mld_opdr.nextfiatteur_kpg_key);
}
var sql = "UPDATE mld_opdr"
+ " SET mld_opdr_fiatbedrag = " + fiatbedrag
+ " WHERE mld_opdr_key = " + ingesloten[i].key;
// Oracle.Execute(sql);
Oracle.Execute(sql);
}