RWSN#40827 Contractmodule geavanceerd zoeken uitbreiden
svn path=/Website/trunk/; revision=41164
This commit is contained in:
@@ -78,7 +78,7 @@ function generateFlexKenmerkCode(params)
|
||||
var disc_key = loRs("ins_discipline_key").value;
|
||||
}
|
||||
|
||||
sql = "SELECT k.cnt_kenmerk_key kenmerk_key, "
|
||||
sql = "SELECT DISTINCT " + (advanced?"k.cnt_srtkenmerk_key":"k.cnt_kenmerk_key") + " kenmerk_key, "
|
||||
+ lcl.xsql('t.cnt_srtkenmerk_omschrijving', 't.cnt_srtkenmerk_key') +" kenmerk_omschrijving, "
|
||||
+ " t.cnt_srtkenmerk_kenmerktype kenmerk_kenmerktype, "
|
||||
+ " t.fac_kenmerkdomein_key kenmerkdomein_key, "
|
||||
@@ -108,15 +108,49 @@ function generateFlexKenmerkCode(params)
|
||||
+ " FROM cnt_srtkenmerk t"
|
||||
+ ", cnt_kenmerk k"
|
||||
+ ", cnt_discipline s"
|
||||
+ " WHERE s.ins_discipline_key = " + disc_key
|
||||
+ " AND k.cnt_srtcontract_key = s.ins_discipline_key"
|
||||
+ " AND k.cnt_kenmerk_verwijder IS NULL"
|
||||
+ " AND k.cnt_srtkenmerk_key = t.cnt_srtkenmerk_key"
|
||||
+ " AND t.cnt_srtkenmerk_verwijder IS NULL"
|
||||
+ " WHERE k.cnt_srtcontract_key = s.ins_discipline_key"
|
||||
+ " AND k.cnt_kenmerk_verwijder IS NULL"
|
||||
+ " AND k.cnt_srtkenmerk_key = t.cnt_srtkenmerk_key"
|
||||
+ " AND t.cnt_srtkenmerk_verwijder IS NULL"
|
||||
+ (disc_key > 0
|
||||
? " AND s.ins_discipline_key = " + disc_key
|
||||
: "")
|
||||
+ (!this_cnt.canMANread? " AND cnt_kenmerk_volgnummer >= 100" : "")
|
||||
+ (!this_cnt.canUSEread? " AND cnt_kenmerk_volgnummer <= 100" : "")
|
||||
+ " ORDER BY k.cnt_kenmerk_volgnummer"
|
||||
+ ", UPPER("+lcl.xsql('t.cnt_srtkenmerk_omschrijving', 't.cnt_srtkenmerk_key')+")";
|
||||
+ (!this_cnt.canUSEread? " AND cnt_kenmerk_volgnummer <= 100" : "");
|
||||
|
||||
if (advanced) // Nog harder de dubbelen er uit filteren. Een kenmerk kan bijvoorbeeld bij verschillende
|
||||
{ // objectsoorten een ander volgnummer hebben en dat interesseert ons echt niet.
|
||||
sql = "SELECT kenmerk_key, "
|
||||
+ " MIN(kenmerk_omschrijving) kenmerk_omschrijving, "
|
||||
+ " MIN(kenmerk_kenmerktype ) kenmerk_kenmerktype, "
|
||||
+ " MIN(kenmerkdomein_key ) kenmerkdomein_key, "
|
||||
+ " MIN(kenmerk_lengte ) kenmerk_lengte, "
|
||||
+ " MIN(kenmerk_dec ) kenmerk_dec, "
|
||||
+ " MIN(kenmerk_nmin ) kenmerk_nmin, "
|
||||
+ " MIN(kenmerk_nmax ) kenmerk_nmax, "
|
||||
+ " MIN(kenmerk_systeem ) kenmerk_systeem, "
|
||||
+ " MIN(kenmerk_waarde ) kenmerk_waarde, "
|
||||
+ " MIN(kenmerk_volgnr ) kenmerk_volgnr, "
|
||||
+ " MIN(kenmerk_dimensie ) kenmerk_dimensie, "
|
||||
+ " MIN(kenmerk_hint ) kenmerk_hint, "
|
||||
+ " MIN(kenmerk_default ) kenmerk_default, "
|
||||
+ " MIN(otherpath ) otherpath, "
|
||||
+ " MIN(kenmerk_verplicht ) kenmerk_verplicht, "
|
||||
+ " MIN(kenmerk_groep ) kenmerk_groep, "
|
||||
+ " MIN(kenmerk_toonbaar ) kenmerk_toonbaar, "
|
||||
+ " MIN(kenmerk_uniek ) kenmerk_uniek,"
|
||||
+ " MIN(kenmerk_regexp ) kenmerk_regexp"
|
||||
+ " FROM (" + sql + ")"
|
||||
+ " GROUP BY kenmerk_key"
|
||||
+ " ORDER BY kenmerk_volgnr"
|
||||
+ " , UPPER (kenmerk_omschrijving)"
|
||||
}
|
||||
else
|
||||
{
|
||||
sql += " ORDER BY k.cnt_kenmerk_volgnummer"
|
||||
+ ", UPPER(" + lcl.xsql("t.cnt_srtkenmerk_omschrijving", "t.cnt_srtkenmerk_key") + ")";
|
||||
}
|
||||
|
||||
|
||||
var trn = 0;
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
<!-- #include file="../Shared/xd.inc" -->
|
||||
<!-- #include file="../Shared/kostensoortselector.inc" -->
|
||||
|
||||
@@ -159,12 +160,6 @@ var authparams = user.checkAutorisation(autfunction, true) || {};
|
||||
{ %>
|
||||
function myModal(init)
|
||||
{
|
||||
if ($('#disc').val() == -1)
|
||||
{
|
||||
FcltMgr.alert(L("lcl_cnt_nosrttype_selected"));
|
||||
return;
|
||||
}
|
||||
|
||||
var key = $('#disc').val();
|
||||
var url = "load_kenmerk.asp?disc=" + $('#disc').val()
|
||||
+ "&advanced=1";
|
||||
|
||||
@@ -183,20 +183,22 @@ function getKenmerkSql(pmodule, pkeyColumn, prequestForm)
|
||||
{
|
||||
// add_b blijft true trouwens
|
||||
|
||||
// Bij INS bevat kk een ins_srtkenmerk_key, niet een ins_kenmerk_key zoals de rest.
|
||||
// Dat is zo geregeld in INS/ins_flexkenmerk.inc
|
||||
// We moeten nu wel de tabel ins_kenmerk er bij slepen
|
||||
// Zelfde truc ook voor MLD
|
||||
// Bij INS bevat kk een ins_srtkenmerk_key, niet een ins_kenmerk_key zoals de rest.
|
||||
// Dat is zo geregeld in INS/ins_flexkenmerk.inc
|
||||
// We moeten nu wel de tabel ins_kenmerk er bij slepen
|
||||
// Zelfde truc ook voor MLD
|
||||
|
||||
where = "(" + ((ko == "IS NULL") ? " NOT " : "")
|
||||
where = "(" + ((ko == "IS NULL") ? " NOT " : "")
|
||||
+ " EXISTS (SELECT 'x'"
|
||||
+ " FROM " + ktable
|
||||
+ (pmodule == "INS"? ", ins_kenmerk ik":"")
|
||||
+ (pmodule == "MLD"? ", mld_kenmerk mk":"")
|
||||
+ (pmodule == "CNT"? ", cnt_kenmerk ck":"")
|
||||
+ " 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:"")
|
||||
+ (pmodule == "CNT"? " ck.cnt_srtkenmerk_key = " + kk + " AND ck.cnt_kenmerk_key = "+ktable+".cnt_kenmerk_key":"")
|
||||
+ (pmodule != "INS" && pmodule != "MLD" && pmodule != "CNT" ? pmodule.toLowerCase() + "_kenmerk_key = " + kk:"")
|
||||
+ " AND " + (add_c ? "((" : "") + tablekey2 + " = " + tableref + "." + tablekey;
|
||||
|
||||
if (add_c)
|
||||
@@ -220,9 +222,11 @@ function getKenmerkSql(pmodule, pkeyColumn, prequestForm)
|
||||
+ " FROM " + ktable
|
||||
+ (pmodule == "INS"? ", ins_kenmerk ik":"")
|
||||
+ (pmodule == "MLD"? ", mld_kenmerk mk":"")
|
||||
+ (pmodule == "CNT"? ", cnt_kenmerk ck":"")
|
||||
+ " 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 == "CNT"? " ck.cnt_srtkenmerk_key = " + kk + " AND ck.mld_kenmerk_key = "+ktable+".cnt_kenmerk_key":"")
|
||||
+ (pmodule != "INS" && pmodule != "MLD" ? pmodule.toLowerCase() + "_kenmerk_key = " + kk:"")
|
||||
+ " AND " + where1 + " " + where2
|
||||
+ andALG + andPRS
|
||||
@@ -235,16 +239,19 @@ function getKenmerkSql(pmodule, pkeyColumn, prequestForm)
|
||||
// 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") {
|
||||
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":"")
|
||||
+ (pmodule == "CNT"? ", cnt_kenmerk ck":"")
|
||||
+ " 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:"")
|
||||
+ (pmodule == "CNT"? " ck.cnt_srtkenmerk_key = " + kk + " AND ck.cnt_kenmerk_key = "+ktable+".cnt_kenmerk_key":"")
|
||||
+ (pmodule != "INS" && pmodule != "MLD" && pmodule != "CNT" ? pmodule.toLowerCase() + "_kenmerk_key = " + kk:"")
|
||||
+ " AND " + where1 + " " + where2
|
||||
+ andALG + andPRS
|
||||
+ where3 + where4
|
||||
|
||||
Reference in New Issue
Block a user