FCLT#84511 Kenmerken overzicht voor 'alle' niveaus

- verbeteren voor api-endpoint

svn path=/Website/trunk/; revision=70005
This commit is contained in:
Erik Groener
2025-08-14 09:54:11 +00:00
parent e32c3a6ebb
commit 052b27b708

View File

@@ -606,9 +606,30 @@ function model_mld_kenmerk(niveau, params)
if ("filter" in params && params.filter.level == "N" && params.filter.mld_issuetype > 0)
{ // mld_stdmelding_key is bekend en men wil ALLE kenmerken zien die hierbij horen, dus ook van de bovenliggende niveau's.
sql_kenmerk += " AND ( (s.mld_stdmelding_key = " + params.filter.mld_issuetype + ")"
+ " OR (s.ins_discipline_key = " + params.filter.discipline + " AND s.mld_stdmelding_key IS NULL)"
+ " OR (s.ins_srtdiscipline_key = " + params.filter.disciplinetype + " AND s.ins_discipline_key IS NULL)"
var v_srtd_key = params.filter.disciplinetype;
var v_disc_key = params.filter.discipline;
var v_stdm_key = params.filter.mld_issuetype;
if (!v_srtd_key || !v_disc_key)
{ // Via API-endpoint alleen mld_issuetype meegegeven: de overige parameters dan maar zelf ophalen.
var sql = "SELECT m.mld_stdmelding_key"
+ " , d.ins_discipline_key"
+ " , d.ins_srtdiscipline_key"
+ " FROM mld_stdmelding m"
+ " , mld_discipline d"
+ " WHERE m.mld_ins_discipline_key = d.ins_discipline_key"
+ " AND m.mld_stdmelding_key = " + v_stdm_key;
var oRs = Oracle.Execute(sql);
if (!oRs.EOF)
{
v_stdm_key = oRs("mld_stdmelding_key").Value;
v_disc_key = oRs("ins_discipline_key").Value;
v_srtd_key = oRs("ins_srtdiscipline_key").Value;
}
oRs.Close();
}
sql_kenmerk += " AND ( (s.mld_stdmelding_key = " + v_stdm_key + ")"
+ " OR (s.ins_discipline_key = " + v_disc_key + " AND s.mld_stdmelding_key IS NULL)"
+ " OR (s.ins_srtdiscipline_key = " + v_srtd_key + " AND s.ins_discipline_key IS NULL)"
+ " OR (s.ins_srtdiscipline_key IS NULL)"
+ " )";
// Op deze key's niet meer filteren in de buitenste where-clause.