FCLT#55647: Gebouwkostenplaats selecteren op basis van werkplek.
svn path=/Website/branches/v2018.2/; revision=40160
This commit is contained in:
@@ -510,6 +510,7 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
var fromkb = <%=fromkb? 1 : 0%> == 1;
|
||||
var melddatum = <%=mld_melding.melddatum.getTime()%>;
|
||||
var alg_level = <%=mld_melding.alg_level%>;
|
||||
var mld_kk = <%= mld_melding.mld_kk? 1 : 0 %> == 1;
|
||||
|
||||
// Voor bestaande meldingen
|
||||
var canFlexChange = (<%=this_mld.canFlexChange? 1 : 0%> == 1);
|
||||
@@ -681,11 +682,14 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
{
|
||||
var urlAdd_account = [{ urlParam: "prs_key", field: (frontend && S("mld_allow_for_others") == 1 && S("prs_dep_default_kpn_voor") == 1? "personFor" : "person") },
|
||||
{ urlParam: "showeigenkp", field: "eigenkp" }];
|
||||
if (frontend)
|
||||
{ // Alleen voor de frontend nodig indien de user geen rechten heeft voor de gebouwkostenplaats.
|
||||
// De gebouwkostenplaats kan dan toch geselecteerd/getoond worden.
|
||||
if (frontend && !mld_melding.mld_kk)
|
||||
{ // Indien frontend en kostenklant vinkje is uit, dan moet alleen de kostenplaats van het geselecteerde gebouw gekozen kunnen worden.
|
||||
// LET OP!: Persoon hoeft niet gemandateerd te zijn voor deze kostenplaats.
|
||||
// De kostenplaats van het geselecteerde gebouw wordt meegegeven aan de FCLTkostenplaatsselector
|
||||
// zodat alleen deze kostenplaats als resultaat opgeleverd gaat worden.
|
||||
urlAdd_account.push({ urlParam: "kp_key", field: "account_bld" });
|
||||
}
|
||||
|
||||
FCLTkostenplaatsselector("account",
|
||||
"sgAccount",
|
||||
mld_melding.melder_key,
|
||||
@@ -702,13 +706,19 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
hidden: (urole == "fe") },
|
||||
required: (!(mld_key > 0 && !this_mld.canKostChange)? mld_melding.kpnverplicht : false)
|
||||
});
|
||||
var sqlg = "SELECT g.prs_kostenplaats_key"
|
||||
+ " FROM alg_gebouw g"
|
||||
+ " WHERE g.alg_gebouw_key = " + mld_melding.bld_key;
|
||||
var oRsg = Oracle.Execute(sqlg);
|
||||
if (frontend && !mld_melding.mld_kk)
|
||||
{ // Indien frontend en kostenklant vinkje is uit, dan moet alleen de kostenplaats van het geselecteerde gebouw gekozen kunnen worden.
|
||||
// LET OP!: Persoon hoeft niet gemandateerd te zijn voor deze kostenplaats.
|
||||
// De kostenplaats van het gekozen gebouw wordt in een hidden input veld opgeslagen/bijgehouden.
|
||||
// Deze wordt meegegeven aan de FCLTkostenplaatsselector.
|
||||
var sqlg = "SELECT g.prs_kostenplaats_key"
|
||||
+ " FROM alg_gebouw g"
|
||||
+ " WHERE g.alg_gebouw_key = " + mld_melding.bld_key;
|
||||
var oRsg = Oracle.Execute(sqlg);
|
||||
%>
|
||||
<input type="hidden" id="account_bld" name="account_bld" value="<%=!oRsg.eof? oRsg("prs_kostenplaats_key").Value : -1%>">
|
||||
<% oRsg.Close();
|
||||
<input type="hidden" id="account_bld" name="account_bld" value="<%=!oRsg.eof? oRsg("prs_kostenplaats_key").Value : -1%>">
|
||||
<% oRsg.Close();
|
||||
}
|
||||
|
||||
if (S("show_ordernr") != 0)
|
||||
{
|
||||
|
||||
@@ -227,12 +227,13 @@ function process_gebouw_info(data, textStatus)
|
||||
if (textStatus == "success")
|
||||
{ // Vervang de kostenplaats indien het gebouw er <20><>n heeft anders kostenplaats leegmaken.
|
||||
// setValue(key, txt, doonChange, checkExist, extraParam, lastTry);
|
||||
if (frontend && !mld_kk)
|
||||
$("#account_bld").val(data.alg_kostenplaats_key > 0? data.alg_kostenplaats_key : -1);
|
||||
if (data && data.alg_kostenplaats_key > 0)
|
||||
{
|
||||
// lastTry is true zodat suggestbox wordt leeggemaakt indien waarde niet voorkomt (en niet de laatst waarde wordt getoond)
|
||||
// In de frontend kan er de gebouwkostenplaats ingevuld worden terwijl de user er geen mandaat op heeft.
|
||||
// De kostenplaats in "account_bld" wordt voor de frontend ook mee gequeried. checkExist mag dan ook getest worden.
|
||||
$("#account_bld").val(data.alg_kostenplaats_key);
|
||||
// De kostenplaats in "account_bld" wordt voor de frontend ook mee gequeried indien kostenklan = 0 (Uit). checkExist mag dan ook getest worden.
|
||||
sgAccount.setValue(data.alg_kostenplaats_key, data.kostenplaats_omschrijving, true, true, data.kostenplaats_module, true);
|
||||
}
|
||||
else
|
||||
@@ -600,6 +601,8 @@ function process_melder_info(data)
|
||||
// MNNL#41012: ins_has_loc => is het object een persoonsgebonden object, dan alsnog locatie automatisch selecteren.
|
||||
if (show_alg && typeof sgLoc != "undefined" && (ins_key < 0 || ins_has_loc === false))
|
||||
{
|
||||
if (frontend && !mld_kk)
|
||||
$("#account_bld").val(-1); // Het veld met de kostenplaats van het gekozen gebouw leegmaken.
|
||||
plaatsselector.preferWerkplekken(data.werkplekken); // Selecteert automatisch
|
||||
}
|
||||
};
|
||||
|
||||
@@ -40,7 +40,7 @@ var filtcode = getQParam("filtcode", "M"); // default waarvoor ik gemandateerd b
|
||||
var showeigenkp = getQParamInt("showeigenkp", 0) == 1;
|
||||
var inzage = getQParamInt("inzage", 0) == 1;
|
||||
var mine = getQParamInt("mine", 0) == 1;
|
||||
var kp_key = getQParamInt("kp_key", -1);
|
||||
var kp_key = getQParamInt("kp_key", -2);
|
||||
|
||||
chars = chars.replace(/\*/g,"%");
|
||||
|
||||
|
||||
@@ -55,42 +55,40 @@ function getFiltClauseKostenplaats(pfiltcode, params)
|
||||
default: // waar ik op mag boeken
|
||||
// Geen autorisatie bij kostenplaatsen (prs_kostenplaats)
|
||||
// Niet persoon of plaats afhankelijk
|
||||
lfiltClause.from += " , prs_perslidkostenplaats pk";
|
||||
lfiltClause.where += " AND pk.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ (params.inzage
|
||||
? " AND pk.prs_perslidkostenplaats_inzage = 1"
|
||||
: " AND pk.prs_perslidkostenplaats_boeken = 1")
|
||||
+ " AND pk.prs_perslid_key = " + params.prs_key
|
||||
+ AAfilter
|
||||
// van eigen afdeling erbij (S("prs_dep_default_kpn") is setting en showeigenkp is waarde van database setting mld_disc_params_default_kpn)
|
||||
+ (S("prs_dep_default_kpn") == 1 || params.showeigenkp == 1
|
||||
? " UNION"
|
||||
+ " SELECT k.prs_kostenplaats_key kpkey"
|
||||
+ ", " + S("prs_kpn_string") + " kpstring"
|
||||
+ ", (SELECT kg.prs_kostenplaatsgrp_oms FROM prs_kostenplaatsgrp kg WHERE kg.prs_kostenplaatsgrp_key = k.prs_kostenplaatsgrp_key) descr"
|
||||
+ ", UPPER(" + S("prs_kpn_string") + ") upperkpstring"
|
||||
+ params.extraInf
|
||||
+ " FROM prs_perslid p"
|
||||
+ ", prs_afdeling a"
|
||||
+ ", prs_v_aanwezigkostenplaats k"
|
||||
//+ (reado?", prs_kostenplaats k":", prs_v_aanwezigkostenplaats k")
|
||||
+ " WHERE UPPER(" + S("prs_kpn_string") + ") LIKE " + safe.quoted_sql_wild((params.chars? params.chars : "") + "%")
|
||||
+ " AND p.prs_afdeling_key = a.prs_afdeling_key"
|
||||
+ " AND p.prs_perslid_key = " + params.prs_key
|
||||
+ " AND a.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ AAfilter
|
||||
: "")
|
||||
+ (params.kp_key > 0 // Deze kostenplaats ook opleveren.
|
||||
? " UNION"
|
||||
+ " SELECT k.prs_kostenplaats_key kpkey"
|
||||
+ ", " + S("prs_kpn_string") + " kpstring"
|
||||
+ ", (SELECT kg.prs_kostenplaatsgrp_oms FROM prs_kostenplaatsgrp kg WHERE kg.prs_kostenplaatsgrp_key = k.prs_kostenplaatsgrp_key) descr"
|
||||
+ ", UPPER(" + S("prs_kpn_string") + ") upperkpstring"
|
||||
+ params.extraInf
|
||||
+ " FROM prs_v_aanwezigkostenplaats k"
|
||||
+ " WHERE k.prs_kostenplaats_key = " + params.kp_key
|
||||
+ AAfilter
|
||||
: "");
|
||||
|
||||
// De kp_key is -1 of groter als meegegeven. Dan alleen deze kostenplaats opleveren.
|
||||
// De kp_key is -2 als niet meegegeven.
|
||||
if (params.kp_key > -2)
|
||||
lfiltClause.where += " AND k.prs_kostenplaats_key = " + params.kp_key
|
||||
+ AAfilter;
|
||||
else
|
||||
{
|
||||
lfiltClause.from += " , prs_perslidkostenplaats pk";
|
||||
lfiltClause.where += " AND pk.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ (params.inzage
|
||||
? " AND pk.prs_perslidkostenplaats_inzage = 1"
|
||||
: " AND pk.prs_perslidkostenplaats_boeken = 1")
|
||||
+ " AND pk.prs_perslid_key = " + params.prs_key
|
||||
+ AAfilter
|
||||
// van eigen afdeling erbij (S("prs_dep_default_kpn") is setting en showeigenkp is waarde van database setting mld_disc_params_default_kpn)
|
||||
+ (S("prs_dep_default_kpn") == 1 || params.showeigenkp == 1
|
||||
? " UNION"
|
||||
+ " SELECT k.prs_kostenplaats_key kpkey"
|
||||
+ ", " + S("prs_kpn_string") + " kpstring"
|
||||
+ ", (SELECT kg.prs_kostenplaatsgrp_oms FROM prs_kostenplaatsgrp kg WHERE kg.prs_kostenplaatsgrp_key = k.prs_kostenplaatsgrp_key) descr"
|
||||
+ ", UPPER(" + S("prs_kpn_string") + ") upperkpstring"
|
||||
+ params.extraInf
|
||||
+ " FROM prs_perslid p"
|
||||
+ ", prs_afdeling a"
|
||||
+ ", prs_v_aanwezigkostenplaats k"
|
||||
//+ (reado?", prs_kostenplaats k":", prs_v_aanwezigkostenplaats k")
|
||||
+ " WHERE UPPER(" + S("prs_kpn_string") + ") LIKE " + safe.quoted_sql_wild((params.chars? params.chars : "") + "%")
|
||||
+ " AND p.prs_afdeling_key = a.prs_afdeling_key"
|
||||
+ " AND p.prs_perslid_key = " + params.prs_key
|
||||
+ " AND a.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ AAfilter
|
||||
: "");
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user