FSN#30748: Functionaliteit budgetmutaties.
svn path=/Website/trunk/; revision=23698
This commit is contained in:
@@ -68,7 +68,8 @@ else
|
||||
// Wijzigen van de kostenplaats(groep)? Setting prs_restrict_kpedit {0=volgens autorisatie (default) | 1=alleen eigen kp/kpg wijzigen}.
|
||||
// WEB_FINMSU rechten of budgethouder.
|
||||
var authparams = user.checkAutorisation("WEB_FINMSU", true);
|
||||
var canChange = ((authparams && authparams.ALGwritelevel < 9) ||
|
||||
var canChangeAlg = (authparams && authparams.ALGwritelevel < 9);
|
||||
var canChange = (canChangeAlg ||
|
||||
(S("prs_restrict_kpedit") == 1 && (kpn_prs_key == user_key || kpngrp_prs_key == user_key))) // Alleen eigen kp/kpg wijzigen
|
||||
user.auth_required_or_abort(canChange);
|
||||
|
||||
@@ -137,14 +138,14 @@ user.auth_required_or_abort(canChange);
|
||||
onSubmit="kpn_submit();">
|
||||
<input type="hidden" name="kpg_limperiode" value="<%=kpg_limperiode%>">
|
||||
<% BLOCK_START("kpnMan", "");
|
||||
RWFIELDTR("kpn_oms", "fld", L("lcl_prs_descr"), kpn_oms, {maxlength: 60});
|
||||
RWFIELDTR("kpn_oms", "fld", L("lcl_prs_descr"), kpn_oms, {maxlength: 60, readonly: !canChangeAlg});
|
||||
FCLTpersoonselector("prs_key", // requestor
|
||||
"sgPerson",
|
||||
{ perslidKey: kpn_prs_key,
|
||||
label: L("lcl_prs_budgethouder"),
|
||||
whenEmpty: L("lcl_search_generic"), // want filter
|
||||
readonly: false });
|
||||
RWFIELDTR("kpn_nr", "fld", L("lcl_prs_dept_name"), kpn_nr, {required: true, maxlength: 30});
|
||||
readonly: !canChangeAlg });
|
||||
RWFIELDTR("kpn_nr", "fld", L("lcl_prs_dept_name"), kpn_nr, {required: true, maxlength: 30, readonly: !canChangeAlg});
|
||||
|
||||
sql = "SELECT 'ALG' modulekey, "
|
||||
+ " LCL.L('lcl_prs_kosttype_alg') omschrijving "
|
||||
@@ -162,7 +163,7 @@ user.auth_required_or_abort(canChange);
|
||||
{ label: L("lcl_prs_type"),
|
||||
initKey: kpn_module,
|
||||
emptyOption: "",
|
||||
readonly: false,
|
||||
readonly: !canChangeAlg,
|
||||
required: true });
|
||||
|
||||
sql = "SELECT prs_kostenplaatsgrp_key"
|
||||
@@ -174,15 +175,15 @@ user.auth_required_or_abort(canChange);
|
||||
{ label: L("lcl_prs_kostenpl_group"),
|
||||
initKey: kpn_grpkey,
|
||||
emptyOption: "",
|
||||
readonly: false,
|
||||
readonly: !canChangeAlg,
|
||||
onChange: "onChangeKpngrp()",
|
||||
extraParamValue: "prs_kostenplaatsgrp_limperiode" });
|
||||
RWCHECKBOXTR("kpn_extern", "fldcheck", L("lcl_prs_kpnextern"), kpn_extern);
|
||||
RWCHECKBOXTR("kpn_extern", "fldcheck", L("lcl_prs_kpnextern"), kpn_extern, {readonly: !canChangeAlg});
|
||||
// <!-- Datum -->
|
||||
FCLTcalendar("enddate",
|
||||
{ label: L("lcl_end_date"),
|
||||
datum: kpn_eind,
|
||||
readonly: false,
|
||||
readonly: !canChangeAlg,
|
||||
initEmpty: !kpn_eind || kpn_key <= 0
|
||||
});
|
||||
|
||||
|
||||
@@ -48,7 +48,8 @@ else
|
||||
// Wijzigen van de kostenplaats(groep)? Setting prs_restrict_kpedit {0=volgens autorisatie (default) | 1=alleen eigen kp/kpg wijzigen}.
|
||||
// WEB_FINMSU rechten of budgethouder.
|
||||
var authparams = user.checkAutorisation("WEB_FINMSU", true);
|
||||
var canChange = ((authparams && authparams.ALGwritelevel < 9) ||
|
||||
var canChangeAlg = (authparams && authparams.ALGwritelevel < 9);
|
||||
var canChange = (canChangeAlg ||
|
||||
(S("prs_restrict_kpedit") == 1 && (prs_key == user_key))) // Alleen eigen kp/kpg wijzigen
|
||||
user.auth_required_or_abort(canChange);
|
||||
%>
|
||||
@@ -85,14 +86,14 @@ user.auth_required_or_abort(canChange);
|
||||
target="hidFrameSubmit"
|
||||
onSubmit="kpn_submit();">
|
||||
<% BLOCK_START("kpnMan", "");
|
||||
RWFIELDTR("kpngrp_oms", "fld", L("lcl_prs_descr"), kpngrp_oms, {maxlength: 60});
|
||||
RWFIELDTR("kpngrp_nr", "fld", L("lcl_prs_number"), kpngrp_nr, {maxlength: 10});
|
||||
RWFIELDTR("kpngrp_oms", "fld", L("lcl_prs_descr"), kpngrp_oms, {maxlength: 60, readonly: !canChangeAlg});
|
||||
RWFIELDTR("kpngrp_nr", "fld", L("lcl_prs_number"), kpngrp_nr, {maxlength: 10, readonly: !canChangeAlg});
|
||||
FCLTpersoonselector("prs_key", // requestor
|
||||
"sgPerson",
|
||||
{ perslidKey: prs_key,
|
||||
label: L("lcl_prs_budgethouder"),
|
||||
whenEmpty: L("lcl_search_generic"), // want filter
|
||||
readonly: false });
|
||||
readonly: !canChangeAlg });
|
||||
RWFIELDTR("kpngrp_limiet", "fld", L("lcl_prs_limiet"), kpngrp_limiet, {maxlength: 8});
|
||||
sql = "SELECT 0, " + safe.quoted_sql(L("lcl_prs_none")) + ", 0 FROM DUAL"
|
||||
+ " UNION SELECT 1, " + safe.quoted_sql(L("lcl_prs_month")) + ", 1 FROM DUAL"
|
||||
|
||||
@@ -20,7 +20,7 @@ FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var key = oRs("prs_kostenplaats_key").value;
|
||||
var key = oRs("prs_kostenplaats_key").Value;
|
||||
|
||||
var data = {key:key};
|
||||
|
||||
@@ -96,63 +96,70 @@ function kpn_list(pautfunction, params)
|
||||
+ " prs_perslid p, "
|
||||
+ " prs_kostenplaatsgrp kpg "
|
||||
+ " WHERE p.prs_perslid_key(+) = k.prs_perslid_key "
|
||||
+ " AND kpg.prs_kostenplaatsgrp_key(+) = k.prs_kostenplaatsgrp_key "
|
||||
+ " AND k.prs_kostenplaats_verwijder IS NULL "
|
||||
|
||||
|
||||
|
||||
if (!(authparams && authparams.ALGreadlevel < 9 && authparams.ALGwritelevel < 9)) // Geen WEB_FINMSU. Dan ben ik budgedhouder en mag ik alleen mijn kostenplaatsen zien.
|
||||
sqln += "AND k.prs_perslid_key = " + user_key;
|
||||
|
||||
if ( authparams && authparams.PRSwritelevel== 0 )
|
||||
{ sqln += " AND p.prs_afdeling_key IN "
|
||||
+ "(SELECT a.prs_afdeling_key FROM prs_v_afdeling a "
|
||||
+ "WHERE a.prs_bedrijf_key = " + user.afdeling().prs_bedrijf_key() + ")"
|
||||
if (authparams && authparams.PRSwritelevel == 0)
|
||||
{
|
||||
sqln += " AND p.prs_afdeling_key IN"
|
||||
+ " (SELECT a.prs_afdeling_key FROM prs_v_afdeling a "
|
||||
+ " WHERE a.prs_bedrijf_key = " + user.afdeling().prs_bedrijf_key() + ")"
|
||||
}
|
||||
|
||||
if (descr)
|
||||
{
|
||||
{
|
||||
sqln += " AND UPPER(k.prs_kostenplaats_omschrijving) LIKE " + safe.quoted_sql_wild("%" + descr + "%");
|
||||
}
|
||||
}
|
||||
|
||||
if (name)
|
||||
{
|
||||
{
|
||||
sqln += " AND UPPER(k.prs_kostenplaats_nr) LIKE " + safe.quoted_sql_wild("%" + name + "%");
|
||||
}
|
||||
}
|
||||
|
||||
if (budgeth_key)
|
||||
{
|
||||
{
|
||||
sqln += " AND k.prs_perslid_key = " + budgeth_key;
|
||||
}
|
||||
}
|
||||
|
||||
if (kstplgr_key)
|
||||
{
|
||||
{
|
||||
sqln += " AND k.prs_kostenplaatsgrp_key = " + kstplgr_key;
|
||||
}
|
||||
}
|
||||
|
||||
sqln += "ORDER BY 2, "
|
||||
+ " 3, "
|
||||
+ " 4, "
|
||||
+ " 5 "
|
||||
if (!(authparams && authparams.ALGreadlevel < 9 && authparams.ALGwritelevel < 9)) // Geen WEB_FINMSU. Dan ben ik budgedhouder en mag ik alleen mijn kostenplaatsen zien.
|
||||
// Budgethouder van kostenplaats UNION Budgethouder van kostenplaatsgroep.
|
||||
sqln = sqln
|
||||
+ " AND kpg.prs_kostenplaatsgrp_key(+) = k.prs_kostenplaatsgrp_key"
|
||||
+ " AND k.prs_perslid_key = " + user_key
|
||||
+ " UNION "
|
||||
+ sqln
|
||||
+ " AND kpg.prs_kostenplaatsgrp_key = k.prs_kostenplaatsgrp_key"
|
||||
+ " AND kpg.prs_perslid_key = " + user_key;
|
||||
else
|
||||
sqln += " AND kpg.prs_kostenplaatsgrp_key(+) = k.prs_kostenplaatsgrp_key"
|
||||
|
||||
sqln += " ORDER BY 2"
|
||||
+ " , 3"
|
||||
+ " , 4"
|
||||
+ " , 5"
|
||||
|
||||
var addurl = "appl/prs/kpn_kpn.asp";
|
||||
|
||||
if (canAdd)
|
||||
{
|
||||
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
|
||||
}
|
||||
{
|
||||
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
|
||||
}
|
||||
|
||||
function formatBudgethouder (oRs)
|
||||
{
|
||||
var prefix = ''+oRs("prs_perslid_verwijder").value != 'null' ? '<span class="deleted">' : '';
|
||||
var suffix = ''+oRs("prs_perslid_verwijder").value != 'null' ? '</span>' : '';
|
||||
if (''+oRs("naam").value != 'null')
|
||||
return prefix + safe.html(oRs("naam").value) + suffix;
|
||||
function formatBudgethouder (oRs)
|
||||
{
|
||||
var prefix = '' + oRs("prs_perslid_verwijder").Value != 'null' ? '<span class="deleted">' : '';
|
||||
var suffix = '' + oRs("prs_perslid_verwijder").Value != 'null' ? '</span>' : '';
|
||||
if ('' + oRs("naam").Value != 'null')
|
||||
return prefix + safe.html(oRs("naam").Value) + suffix;
|
||||
}
|
||||
|
||||
function formatType (oRs)
|
||||
{
|
||||
switch(oRs("prs_kostenplaats_module").value)
|
||||
switch(oRs("prs_kostenplaats_module").Value)
|
||||
{
|
||||
case 'PRS':
|
||||
return L("lcl_prs_kosttype_prs");
|
||||
|
||||
@@ -109,14 +109,20 @@ var authparamsFINMSU = user.checkAutorisation("WEB_FINMSU", true);
|
||||
{
|
||||
if (!auth_all)
|
||||
{
|
||||
sql_kpn = " SELECT pk.prs_kostenplaats_key "
|
||||
+ " FROM prs_perslidkostenplaats pk "
|
||||
sql_kpn = " SELECT pk.prs_kostenplaats_key"
|
||||
+ " FROM prs_perslidkostenplaats pk"
|
||||
+ " WHERE pk.prs_perslid_key = " + user_key
|
||||
+ " AND pk.prs_perslidkostenplaats_inzage = 1 "
|
||||
+ " AND pk.prs_perslidkostenplaats_inzage = 1"
|
||||
+ " UNION ALL "
|
||||
+ " SELECT prs_kostenplaats_key "
|
||||
+ " FROM prs_v_aanwezigkostenplaats "
|
||||
+ " WHERE prs_perslid_key = " + user_key;
|
||||
+ " SELECT kp.prs_kostenplaats_key"
|
||||
+ " FROM prs_v_aanwezigkostenplaats kp"
|
||||
+ " WHERE kp.prs_perslid_key = " + user_key
|
||||
+ " UNION ALL "
|
||||
+ " SELECT kp.prs_kostenplaats_key"
|
||||
+ " FROM prs_v_aanwezigkostenplaats kp"
|
||||
+ " , prs_kostenplaatsgrp kpg"
|
||||
+ " WHERE kp.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key"
|
||||
+ " AND kpg.prs_perslid_key = " + user_key;
|
||||
oRs = Oracle.Execute (sql_kpn);
|
||||
kpn_keys = "" // List of my kpn keys
|
||||
while (!oRs.eof)
|
||||
@@ -327,8 +333,9 @@ var authparamsFINMSU = user.checkAutorisation("WEB_FINMSU", true);
|
||||
+ " AND bi.bes_srtdeel_key = isd.bes_srtdeel_key"
|
||||
+ " AND isd.bes_srtgroep_key = isg.bes_srtgroep_key"
|
||||
+ " AND isg.ins_discipline_key = bdis.ins_discipline_key"
|
||||
// Alleen bestellingopdrachten in de behandelings fase (In bestelling (Bevestigd)(4)) en in de gereed fase (Geleverd(6) en Verwerkt(7)).
|
||||
// Afgewezen(1), In behandeling(3), Ter bevestiging(5) en Geannuleerd(8) doen niet mee in de bepaling van geraamde en definitieve kosten.
|
||||
+ " AND bo.bes_bestelopdr_status NOT IN (1, 3, 5, 8)"
|
||||
+ " AND bo.bes_bestelopdr_status IN (4, 6, 7)"
|
||||
+ (uitv_date && !exp_date
|
||||
? " AND bo.bes_bestelopdr_datum BETWEEN " + ora_date1 + " AND " + ora_date2
|
||||
: " AND boi.bes_bestelopdr_item_verwerkt BETWEEN " + ora_date1 + " AND " + ora_date2);
|
||||
@@ -346,7 +353,7 @@ var authparamsFINMSU = user.checkAutorisation("WEB_FINMSU", true);
|
||||
+ " , prs_kostenplaatsgrp_key"
|
||||
+ " , kpgroep"
|
||||
+ " , limietperiode"
|
||||
+ " FROM (SELECT tab.prs_kostenplaats_key"
|
||||
+ " FROM (SELECT k.prs_kostenplaats_key"
|
||||
+ " , " + S("prs_kpn_string") + " kostenplaats"
|
||||
// Alleen de kostenplaatsen met geraamde en definitieve kosten zijn opgeleverd.
|
||||
// BES: Geraamd: Ter bevestiging(2) (verzonden)
|
||||
@@ -359,7 +366,7 @@ var authparamsFINMSU = user.checkAutorisation("WEB_FINMSU", true);
|
||||
+ " WHEN (module = 'BES' AND (status = 6 OR status = 7)) OR"
|
||||
+ " (module = 'MLD' AND (status = 7 OR status = 9)) OR"
|
||||
+ " (module = 'RES' AND (status = 5 OR status = 6))"
|
||||
+ " THEN bedrag"
|
||||
+ " THEN COALESCE(bedrag, 0)"
|
||||
+ " ELSE 0"
|
||||
+ " END bedrag"
|
||||
+ " , CASE"
|
||||
@@ -367,7 +374,7 @@ var authparamsFINMSU = user.checkAutorisation("WEB_FINMSU", true);
|
||||
+ " (module = 'MLD' AND (status = 7 OR status = 9)) OR"
|
||||
+ " (module = 'RES' AND (status = 5 OR status = 6))"
|
||||
+ " THEN 0"
|
||||
+ " ELSE bedrag"
|
||||
+ " ELSE COALESCE(bedrag, 0)"
|
||||
+ " END geraamd"
|
||||
+ " , k.prs_kostenplaats_limiet"
|
||||
+ " , k.prs_kostenplaatsgrp_key"
|
||||
@@ -427,6 +434,7 @@ var authparamsFINMSU = user.checkAutorisation("WEB_FINMSU", true);
|
||||
+ ", k.prs_kostenplaats_limietperiode"
|
||||
+ " ORDER BY 2, 3, 5, 6, 7, 8, 11";
|
||||
}
|
||||
// Kostenplaatsen waar nog geen kosten op zijn geboekt dienen ook meegenomen te worden in het overzicht. Er mag dus gelden dat bedrag 0 is.
|
||||
sql += " FROM ("
|
||||
+ sql_res_rsv_ruimte
|
||||
+ " UNION ALL "
|
||||
@@ -448,14 +456,13 @@ var authparamsFINMSU = user.checkAutorisation("WEB_FINMSU", true);
|
||||
+ ", prs_perslid p"
|
||||
+ ", prs_v_afdeling d"
|
||||
+ ", alg_locatie l"
|
||||
+ " WHERE tab.prs_kostenplaats_key = k.prs_kostenplaats_key(+)"
|
||||
+ " WHERE tab.prs_kostenplaats_key(+) = k.prs_kostenplaats_key"
|
||||
+ " AND tab.prs_kostensoort_key = ks.prs_kostensoort_key(+)"
|
||||
+ " AND k.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key"
|
||||
+ " AND k.prs_kostenplaatsgrp_key = kpg.prs_kostenplaatsgrp_key(+)"
|
||||
+ " AND ks.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key(+)"
|
||||
+ " AND tab.prs_perslid_key = p.prs_perslid_key"
|
||||
+ " AND p.prs_afdeling_key = d.prs_afdeling_key"
|
||||
+ " AND tab.prs_perslid_key = p.prs_perslid_key(+)"
|
||||
+ " AND p.prs_afdeling_key = d.prs_afdeling_key(+)"
|
||||
+ " AND tab.locatie_key = l.alg_locatie_key(+)"
|
||||
+ " AND bedrag <> 0"
|
||||
+ sql_kpn
|
||||
+ sql_kostgrp
|
||||
+ sql_kostsrt
|
||||
|
||||
@@ -40,15 +40,26 @@ FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
<td class="label"><label for="descr"><%=L("lcl_prs_dept_name")%>:</label></td>
|
||||
<td><input type="text" class="fldsrch" name="name"></td>
|
||||
</tr>
|
||||
<% sql = "SELECT DISTINCT p.prs_perslid_key, "
|
||||
+ S("prs_pers_string")
|
||||
+ " FROM prs_kostenplaats pk, "
|
||||
+ " prs_perslid p "
|
||||
+ " WHERE pk.prs_perslid_key = p.prs_perslid_key "
|
||||
<% sql = "SELECT DISTINCT p.prs_perslid_key"
|
||||
+ " , " + S("prs_pers_string")
|
||||
+ " FROM prs_kostenplaats pk"
|
||||
+ " , prs_perslid p"
|
||||
+ " WHERE pk.prs_perslid_key = p.prs_perslid_key"
|
||||
+ (!(authparams && authparams.ALGreadlevel)
|
||||
? " AND pk.prs_perslid_key = " + user_key
|
||||
? " AND pk.prs_perslid_key = " + user_key
|
||||
: "")
|
||||
+ " ORDER BY " + S("prs_pers_string")
|
||||
+ " UNION "
|
||||
+ "SELECT DISTINCT p.prs_perslid_key"
|
||||
+ " , " + S("prs_pers_string")
|
||||
+ " FROM prs_kostenplaats pk"
|
||||
+ " , prs_kostenplaatsgrp pkg"
|
||||
+ " , prs_perslid p"
|
||||
+ " WHERE pk.prs_perslid_key = p.prs_perslid_key"
|
||||
+ " AND pk.prs_kostenplaatsgrp_key = pkg.prs_kostenplaatsgrp_key"
|
||||
+ (!(authparams && authparams.ALGreadlevel)
|
||||
? " AND pkg.prs_perslid_key = " + user_key
|
||||
: "")
|
||||
+ " ORDER BY 2"
|
||||
|
||||
|
||||
FCLTselector("budgeth", sql,
|
||||
|
||||
Reference in New Issue
Block a user