HSLE#33677 Er kan nu geavanceerd gezocht worden op kenmerken die te bewerken zijn op objectsoort niveau

svn path=/Website/trunk/; revision=32903
This commit is contained in:
2017-02-22 14:33:57 +00:00
parent 77ab684c0b
commit 071d4f2ab4

View File

@@ -80,7 +80,9 @@ function getKenmerkSql(pmodule, pkeyColumn, prequestForm)
var where1 = kwaarde; var where1 = kwaarde;
var where2 = ko; var where2 = ko;
var where3 = ""; var where3 = "";
var where4 = "";
var add_b = true; var add_b = true;
var add_c = pmodule == "INS" && tablekey == "ins_deel_key"
where = ""; where = "";
var tablekey2 = tablekey; var tablekey2 = tablekey;
@@ -181,8 +183,15 @@ function getKenmerkSql(pmodule, pkeyColumn, prequestForm)
+ (pmodule == "INS"? " ik.ins_srtkenmerk_key = " + kk + " AND ik.ins_kenmerk_key = ins_kenmerkdeel.ins_kenmerk_key":"") + (pmodule == "INS"? " ik.ins_srtkenmerk_key = " + kk + " AND ik.ins_kenmerk_key = ins_kenmerkdeel.ins_kenmerk_key":"")
+ (pmodule == "MLD"? " mk.mld_srtkenmerk_key = " + kk + " AND mk.mld_kenmerk_key = "+ktable+".mld_kenmerk_key":"") + (pmodule == "MLD"? " mk.mld_srtkenmerk_key = " + kk + " AND mk.mld_kenmerk_key = "+ktable+".mld_kenmerk_key":"")
+ (pmodule != "INS" && pmodule != "MLD" ? pmodule.toLowerCase() + "_kenmerk_key = " + kk:"") + (pmodule != "INS" && pmodule != "MLD" ? pmodule.toLowerCase() + "_kenmerk_key = " + kk:"")
+ " AND " + tablekey2 + " = " + tableref + "." + tablekey + " AND " + (add_c ? "((" : "") + tablekey2 + " = " + tableref + "." + tablekey;
+ " AND " + where1 + " IS NOT NULL "
if (add_c)
{
where += " AND ins_kenmerk_bewerkniveau <> 'S')"
+ " OR (" + tablekey2 + " = " + tableref + ".ins_srtdeel_key"
+ " AND ins_kenmerk_bewerkniveau = 'S'))";
}
where += " AND " + where1 + " IS NOT NULL "
+ andALG + andPRS + andALG + andPRS
+ where3 + where3
+ " AND " + kverwijder + " IS NULL) "; + " AND " + kverwijder + " IS NULL) ";
@@ -190,12 +199,10 @@ function getKenmerkSql(pmodule, pkeyColumn, prequestForm)
// Ik zeg: een wat gekke constructie zo // Ik zeg: een wat gekke constructie zo
sql_k += " AND " + where; sql_k += " AND " + where;
// voor filter Geen Waarde zou ook nog: Wel een record maar met een NULL waarde kunnen gelden if (add_c)
// die nemen we ook nog mee. Alleen bij "Gevuld" (verwerkt in 'where') hoeven we niet verder naar de waarden te kijken {
// in alle andere gevallen komt hier de conditie 'kenmerk=waarde' erbij
if (ko != "IS NOT NULL") {
sql_k +=(add_b ? " OR " : "") sql_k +=(add_b ? " OR " : "")
+ " " + tableref + "." + tablekey + " IN (SELECT " + tablekey2 + " (" + tableref + ".ins_srtdeel_key" + " IN (SELECT " + tablekey2
+ " FROM " + ktable + " FROM " + ktable
+ (pmodule == "INS"? ", ins_kenmerk ik":"") + (pmodule == "INS"? ", ins_kenmerk ik":"")
+ (pmodule == "MLD"? ", mld_kenmerk mk":"") + (pmodule == "MLD"? ", mld_kenmerk mk":"")
@@ -206,9 +213,31 @@ function getKenmerkSql(pmodule, pkeyColumn, prequestForm)
+ " AND " + where1 + " " + where2 + " AND " + where1 + " " + where2
+ andALG + andPRS + andALG + andPRS
+ where3 + where3
+ " AND ins_kenmerk_bewerkniveau = 'S'"
+ " AND " + kverwijder + " IS NULL)";
where4 = " AND ins_kenmerk_bewerkniveau <> 'S'";
}
// voor filter Geen Waarde zou ook nog: Wel een record maar met een NULL waarde kunnen gelden
// die nemen we ook nog mee. Alleen bij "Gevuld" (verwerkt in 'where') hoeven we niet verder naar de waarden te kijken
// in alle andere gevallen komt hier de conditie 'kenmerk=waarde' erbij
if (ko != "IS NOT NULL") {
sql_k +=((add_b || add_c) ? " OR " : "")
+ " " + tableref + "." + tablekey + " IN (SELECT " + tablekey2
+ " FROM " + ktable
+ (pmodule == "INS"? ", ins_kenmerk ik":"")
+ (pmodule == "MLD"? ", mld_kenmerk mk":"")
+ " WHERE "
+ (pmodule == "INS"? " ik.ins_srtkenmerk_key = " + kk + " AND ik.ins_kenmerk_key = ins_kenmerkdeel.ins_kenmerk_key":"")
+ (pmodule == "MLD"? " mk.mld_srtkenmerk_key = " + kk + " AND mk.mld_kenmerk_key = "+ktable+".mld_kenmerk_key":"")
+ (pmodule != "INS" && pmodule != "MLD" ? pmodule.toLowerCase() + "_kenmerk_key = " + kk:"")
+ " AND " + where1 + " " + where2
+ andALG + andPRS
+ where3 + where4
+ " AND " + kverwijder + " IS NULL)"; + " AND " + kverwijder + " IS NULL)";
} }
sql_k += (add_b ? ")" : ""); sql_k += (add_b ? ")" : "");
sql_k += (add_c ? ")" : "");
} }
} }
} }