FCLT#83735 Terugbrengen queries in mld.func_enabled_melding()

svn path=/Website/trunk/; revision=64647
This commit is contained in:
Jos Groot Lipman
2024-05-14 14:36:45 +00:00
parent 7c65ffcefb
commit e7fbde7236

View File

@@ -4951,28 +4951,31 @@ mld = {
if (mld_ins_discipline_key > 0)
disc_arr.push(mld_ins_discipline_key);
var iamFinFiatteur = false; // Is verschillend t.o.v. isVerantwoordelijke omdat niet tegen een profiel van een persson wordt getest.
var iamFinFiatteur = false; // Is verschillend t.o.v. isVerantwoordelijke omdat niet tegen een profiel van een persoon wordt getest.
// isVerantwoordelijke kan false zijn als iamFinFiatteur true is.
var iamFinGoedkeurder = false;
// Moet ik 1 van deze facturen fiatteren of goedkeuren? Dan mag ik deze opdracht bekijken.
var fsql = "SELECT f.fin_factuur_statuses_key"
+ " , fin.getfiatteur(f.fin_factuur_key) kpverantwoordelijke"
+ " , prs_perslid_key_goedkeur"
+ " FROM fin_factuur f"
+ " , mld_opdr o"
+ " WHERE f.mld_opdr_key = o.mld_opdr_key"
+ " AND o.mld_melding_key = " + pmld_melding_key
+ " AND f.fin_factuur_verwijder IS NULL";
var foRs = Oracle.Execute(fsql);
var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true);
var hasFINBOFwrite = authparamsFINBOF && authparamsFINBOF.PRSwritelevel < 9 && authparamsFINBOF.ALGwritelevel < 9;
while (!foRs.eof)
if (hasopdrachten)
{
iamFinFiatteur = iamFinFiatteur || hasFINBOFwrite || ((foRs("fin_factuur_statuses_key").Value == 2) && (user.isCollega(foRs("kpverantwoordelijke").Value)));
iamFinGoedkeurder = iamFinGoedkeurder || (foRs("fin_factuur_statuses_key").Value == 5) && (user.isCollega(foRs("prs_perslid_key_goedkeur").Value));
foRs.MoveNext();
// Moet ik 1 van deze facturen fiatteren of goedkeuren? Dan mag ik deze opdracht bekijken.
var fsql = "SELECT f.fin_factuur_statuses_key"
+ " , fin.getfiatteur(f.fin_factuur_key) kpverantwoordelijke"
+ " , prs_perslid_key_goedkeur"
+ " FROM fin_factuur f"
+ " , mld_opdr o"
+ " WHERE f.mld_opdr_key = o.mld_opdr_key"
+ " AND o.mld_melding_key = " + pmld_melding_key
+ " AND f.fin_factuur_verwijder IS NULL";
var foRs = Oracle.Execute(fsql);
var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true);
var hasFINBOFwrite = authparamsFINBOF && authparamsFINBOF.PRSwritelevel < 9 && authparamsFINBOF.ALGwritelevel < 9;
while (!foRs.eof)
{
iamFinFiatteur = iamFinFiatteur || hasFINBOFwrite || ((foRs("fin_factuur_statuses_key").Value == 2) && (user.isCollega(foRs("kpverantwoordelijke").Value)));
iamFinGoedkeurder = iamFinGoedkeurder || (foRs("fin_factuur_statuses_key").Value == 5) && (user.isCollega(foRs("prs_perslid_key_goedkeur").Value));
foRs.MoveNext();
}
foRs.Close();
}
foRs.Close();
var canFEread = public && user.has("WEB_MLDUSE"); // Je moet wel uberhaupt meldingen kunnen zien