MNNL#51566 Objecten in de App (problematisch als meer dan 1000)

svn path=/Website/trunk/; revision=36789
This commit is contained in:
Jos Groot Lipman
2018-01-31 11:38:53 +00:00
parent 33bc1b546f
commit ab6ba5450b

View File

@@ -3,8 +3,8 @@
$Revision$ $Revision$
$Id$ $Id$
Description: List of objects (Mobile version) Description: List of objects (Mobile version)
Parameters: ins_key (bv via QRC) en nog meer optionele keys om te kunnen filteren binnen een context Parameters: ins_key (bv via QRC, JGL: Echt waar?????) en nog meer optionele keys om te kunnen filteren binnen een context
Resultaat wordt standaard beperkt tot CurrenPosition Resultaat wordt standaard beperkt tot CurrentPosition
maar om flexibel te zijn is dat te overrulen (bv voor een QRC met objecten in Harderwijk?) maar om flexibel te zijn is dat te overrulen (bv voor een QRC met objecten in Harderwijk?)
Je kunt clauses onderdrukken als je weet dat dat kan tbv performance door a|p|t|w = 0 te zetten Je kunt clauses onderdrukken als je weet dat dat kan tbv performance door a|p|t|w = 0 te zetten
@@ -136,17 +136,13 @@ else
// Let op: sortering (en groepering) op eerste 3 kolomen // Let op: sortering (en groepering) op eerste 3 kolomen
// Ruimtegebonden objecten // Ruimtegebonden objecten
var sqlR = " SELECT ins_deel_omschrijving" var sqlR = " SELECT ins_deel_omschrijving"
+ " , " + lcl.xsqla('sd.ins_srtdeel_omschrijving', 'sd.ins_srtdeel_key') + " , ins_srtdeel_key"
+ " , " + lcl.xsqla('sg.ins_srtgroep_omschrijving', 'sg.ins_srtgroep_key')
+ " , ins_srtgroep_omschrijving org_srtgroep_omschrijving"
+ " , aog.alg_gebouw_code || '-' || aog.alg_verdieping_code || '-' || aog.alg_ruimte_nr plaats_eigenaar" + " , aog.alg_gebouw_code || '-' || aog.alg_verdieping_code || '-' || aog.alg_ruimte_nr plaats_eigenaar"
+ " , id.ins_deel_key" + " , id.ins_deel_key"
+ " , (SELECT MAX('R') FROM res_deel rd, res_activiteitdiscipline rad WHERE rd.res_deel_verwijder IS NULL AND rd.res_discipline_key = rad.res_discipline_key AND rd.res_ins_deel_key = id.ins_deel_key AND rad.res_discipline_key != " + S("vis_parking_key") + ") reserveerbaar" + " , (SELECT MAX('R') FROM res_deel rd, res_activiteitdiscipline rad WHERE rd.res_deel_verwijder IS NULL AND rd.res_discipline_key = rad.res_discipline_key AND rd.res_ins_deel_key = id.ins_deel_key AND rad.res_discipline_key != " + S("vis_parking_key") + ") reserveerbaar"
+ " , id.ins_alg_ruimte_type" + " , id.ins_alg_ruimte_type"
+ " FROM alg_v_onroerendgoed_gegevens aog" + " FROM alg_v_onroerendgoed_gegevens aog"
+ " , ins_deel id" + " , ins_deel id"
+ " , ins_srtdeel sd"
+ " , ins_srtgroep sg"
+ " , alg_locatie l" + " , alg_locatie l"
+ " , alg_district di" + " , alg_district di"
+ " WHERE id.ins_alg_ruimte_key = aog.alg_ruimte_key" + " WHERE id.ins_alg_ruimte_key = aog.alg_ruimte_key"
@@ -154,17 +150,12 @@ else
+ " AND l.alg_district_key = di.alg_district_key" + " AND l.alg_district_key = di.alg_district_key"
+ " AND id.ins_alg_ruimte_type = 'R'" + " AND id.ins_alg_ruimte_type = 'R'"
+ " AND id.ins_deel_parent_key " + ((ins_parent_key > -1)? " = " + ins_parent_key : "IS NULL") + " AND id.ins_deel_parent_key " + ((ins_parent_key > -1)? " = " + ins_parent_key : "IS NULL")
+ " AND sd.ins_srtdeel_key = id.ins_srtdeel_key"
+ " AND sd.ins_srtgroep_key = sg.ins_srtgroep_key"
+ " AND id.ins_deel_verwijder IS NULL" + " AND id.ins_deel_verwijder IS NULL"
+ " AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > TRUNC(SYSDATE))" + " AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > TRUNC(SYSDATE))"
+ " AND sd.ins_srtgroep_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + ")"
+ ((locatie_key > -1) ? " AND aog.alg_locatie_key = " + locatie_key : "") + ((locatie_key > -1) ? " AND aog.alg_locatie_key = " + locatie_key : "")
+ ((gebouw_key > -1) ? " AND aog.alg_gebouw_key = " + gebouw_key : "") + ((gebouw_key > -1) ? " AND aog.alg_gebouw_key = " + gebouw_key : "")
+ ((verdieping_key > -1) ? " AND aog.alg_verdieping_key = " + verdieping_key : "") + ((verdieping_key > -1) ? " AND aog.alg_verdieping_key = " + verdieping_key : "")
+ ((ruimte_key > -1) ? " AND aog.alg_ruimte_key = " + ruimte_key : "") + ((ruimte_key > -1) ? " AND aog.alg_ruimte_key = " + ruimte_key : "");
+ ((mld_key > -1) ? " AND ins_deel_key IN (SELECT ins_deel_key FROM mld_melding_object WHERE mld_melding_object_verwijder IS NULL AND mld_melding_key = " + mld_key + ")" : "")
+ ((ins_key > -1) ? " AND id.ins_deel_key = " + ins_key : "");
sqlR = discx3d (sqlR, sqlR = discx3d (sqlR,
"id.ins_discipline_key", "id.ins_discipline_key",
"di.alg_regio_key", "di.alg_regio_key",
@@ -181,17 +172,13 @@ else
// Terreingebonden objecten // Terreingebonden objecten
var sqlT = " SELECT ins_deel_omschrijving" var sqlT = " SELECT ins_deel_omschrijving"
+ " , " + lcl.xsqla('sd.ins_srtdeel_omschrijving', 'sd.ins_srtdeel_key') + " , ins_srtdeel_key"
+ " , " + lcl.xsqla('sg.ins_srtgroep_omschrijving', 'sg.ins_srtgroep_key')
+ " , ins_srtgroep_omschrijving org_srtgroep_omschrijving"
+ " , aog.alg_terreinsector_code || '-' || aog.alg_terreinsector_naam plaats_eigenaar" + " , aog.alg_terreinsector_code || '-' || aog.alg_terreinsector_naam plaats_eigenaar"
+ " , id.ins_deel_key" + " , id.ins_deel_key"
+ " , (SELECT MAX('R') FROM res_deel rd WHERE rd.res_deel_verwijder IS NULL AND rd.res_ins_deel_key = id.ins_deel_key) reserveerbaar" + " , (SELECT MAX('R') FROM res_deel rd WHERE rd.res_deel_verwijder IS NULL AND rd.res_ins_deel_key = id.ins_deel_key) reserveerbaar"
+ " , id.ins_alg_ruimte_type" + " , id.ins_alg_ruimte_type"
+ " FROM alg_v_onroerendgoed_gegevens aog" + " FROM alg_v_onroerendgoed_gegevens aog"
+ " , ins_deel id" + " , ins_deel id"
+ " , ins_srtdeel sd"
+ " , ins_srtgroep sg"
+ " , alg_locatie l" + " , alg_locatie l"
+ " , alg_district di" + " , alg_district di"
+ " WHERE id.ins_alg_ruimte_key = aog.alg_terreinsector_key" + " WHERE id.ins_alg_ruimte_key = aog.alg_terreinsector_key"
@@ -199,15 +186,10 @@ else
+ " AND l.alg_district_key = di.alg_district_key" + " AND l.alg_district_key = di.alg_district_key"
+ " AND id.ins_alg_ruimte_type = 'T'" + " AND id.ins_alg_ruimte_type = 'T'"
+ " AND id.ins_deel_parent_key " + ((ins_parent_key > -1)? " = " + ins_parent_key : "IS NULL") + " AND id.ins_deel_parent_key " + ((ins_parent_key > -1)? " = " + ins_parent_key : "IS NULL")
+ " AND sd.ins_srtdeel_key = id.ins_srtdeel_key"
+ " AND sd.ins_srtgroep_key = sg.ins_srtgroep_key"
+ " AND id.ins_deel_verwijder IS NULL" + " AND id.ins_deel_verwijder IS NULL"
+ " AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > TRUNC(SYSDATE))" + " AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > TRUNC(SYSDATE))"
+ " AND sd.ins_srtgroep_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + ")"
+ ((locatie_key > -1) ? " AND aog.alg_locatie_key = " + locatie_key : "") + ((locatie_key > -1) ? " AND aog.alg_locatie_key = " + locatie_key : "")
+ ((terrein_key > -1) ? " AND aog.alg_terreinsector_key = " + terrein_key : "") + ((terrein_key > -1) ? " AND aog.alg_terreinsector_key = " + terrein_key : "");
+ ((mld_key > -1) ? " AND ins_deel_key IN (SELECT ins_deel_key FROM mld_melding_object WHERE mld_melding_object_verwijder IS NULL AND mld_melding_key = " + mld_key + ")" : "")
+ ((ins_key > -1) ? " AND id.ins_deel_key = " + ins_key : "");
sqlT = discx3d (sqlT, sqlT = discx3d (sqlT,
"id.ins_discipline_key", "id.ins_discipline_key",
"di.alg_regio_key", "di.alg_regio_key",
@@ -224,9 +206,7 @@ else
// Werkplekgebonden objecten // Werkplekgebonden objecten
var sqlW = " SELECT ins_deel_omschrijving" var sqlW = " SELECT ins_deel_omschrijving"
+ " , " + lcl.xsqla('sd.ins_srtdeel_omschrijving', 'sd.ins_srtdeel_key') + " , ins_srtdeel_key"
+ " , " + lcl.xsqla('sg.ins_srtgroep_omschrijving', 'sg.ins_srtgroep_key')
+ " , ins_srtgroep_omschrijving org_srtgroep_omschrijving"
+ " , aog.alg_gebouw_code || '-' || aog.alg_verdieping_code || '-' || aog.alg_ruimte_nr || '/' || w.prs_werkplek_volgnr plaats_eigenaar" + " , aog.alg_gebouw_code || '-' || aog.alg_verdieping_code || '-' || aog.alg_ruimte_nr || '/' || w.prs_werkplek_volgnr plaats_eigenaar"
+ " , id.ins_deel_key" + " , id.ins_deel_key"
+ " , (SELECT MAX('R') FROM res_deel rd WHERE rd.res_deel_verwijder IS NULL AND rd.res_ins_deel_key = id.ins_deel_key) reserveerbaar" + " , (SELECT MAX('R') FROM res_deel rd WHERE rd.res_deel_verwijder IS NULL AND rd.res_ins_deel_key = id.ins_deel_key) reserveerbaar"
@@ -234,8 +214,6 @@ else
+ " FROM alg_v_onroerendgoed_gegevens aog" + " FROM alg_v_onroerendgoed_gegevens aog"
+ " , prs_werkplek w" + " , prs_werkplek w"
+ " , ins_deel id" + " , ins_deel id"
+ " , ins_srtdeel sd"
+ " , ins_srtgroep sg"
+ " , alg_locatie l" + " , alg_locatie l"
+ " , alg_district di" + " , alg_district di"
+ " WHERE id.ins_alg_ruimte_key = w.prs_werkplek_key" + " WHERE id.ins_alg_ruimte_key = w.prs_werkplek_key"
@@ -244,16 +222,11 @@ else
+ " AND l.alg_district_key = di.alg_district_key" + " AND l.alg_district_key = di.alg_district_key"
+ " AND id.ins_alg_ruimte_type = 'W'" + " AND id.ins_alg_ruimte_type = 'W'"
+ " AND id.ins_deel_parent_key " + ((ins_parent_key > -1) ? "="+ins_parent_key : "IS NULL") + " AND id.ins_deel_parent_key " + ((ins_parent_key > -1) ? "="+ins_parent_key : "IS NULL")
+ " AND sd.ins_srtdeel_key = id.ins_srtdeel_key"
+ " AND sd.ins_srtgroep_key = sg.ins_srtgroep_key"
+ " AND id.ins_deel_verwijder IS NULL" + " AND id.ins_deel_verwijder IS NULL"
+ " AND sd.ins_srtgroep_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + ")"
+ ((locatie_key > -1) ? " AND aog.alg_locatie_key = " + locatie_key : "") + ((locatie_key > -1) ? " AND aog.alg_locatie_key = " + locatie_key : "")
+ ((gebouw_key > -1) ? " AND aog.alg_gebouw_key = " + gebouw_key : "") + ((gebouw_key > -1) ? " AND aog.alg_gebouw_key = " + gebouw_key : "")
+ ((verdieping_key > -1) ? " AND aog.alg_verdieping_key = " + verdieping_key : "") + ((verdieping_key > -1) ? " AND aog.alg_verdieping_key = " + verdieping_key : "")
+ ((ruimte_key > -1) ? " AND aog.alg_ruimte_key = " + ruimte_key : "") + ((ruimte_key > -1) ? " AND aog.alg_ruimte_key = " + ruimte_key : "");
+ ((mld_key > -1) ? " AND ins_deel_key IN (SELECT ins_deel_key FROM mld_melding_object WHERE mld_melding_object_verwijder IS NULL AND mld_melding_key = " + mld_key + ")" : "")
+ ((ins_key > -1) ? " AND id.ins_deel_key = " + ins_key : "")
sqlW = discx3d (sqlW, sqlW = discx3d (sqlW,
"id.ins_discipline_key", "id.ins_discipline_key",
@@ -273,16 +246,12 @@ else
// Afdelingsgebonden objecten, niet in alle gevallen meenemen // Afdelingsgebonden objecten, niet in alle gevallen meenemen
// TODO (ooit): beperken tot afdelingen met personen met werkplekken binnen de scope. // TODO (ooit): beperken tot afdelingen met personen met werkplekken binnen de scope.
var sqlA = " SELECT ins_deel_omschrijving" var sqlA = " SELECT ins_deel_omschrijving"
+ " , " + lcl.xsqla('sd.ins_srtdeel_omschrijving', 'sd.ins_srtdeel_key') + " , ins_srtdeel_key"
+ " , " + lcl.xsqla('sg.ins_srtgroep_omschrijving', 'sg.ins_srtgroep_key')
+ " , ins_srtgroep_omschrijving org_srtgroep_omschrijving"
+ " , a.prs_afdeling_omschrijving plaats_eigenaar" + " , a.prs_afdeling_omschrijving plaats_eigenaar"
+ " , id.ins_deel_key" + " , id.ins_deel_key"
+ " , (SELECT MAX('R') FROM res_deel rd WHERE rd.res_deel_verwijder IS NULL AND rd.res_ins_deel_key = id.ins_deel_key) reserveerbaar" + " , (SELECT MAX('R') FROM res_deel rd WHERE rd.res_deel_verwijder IS NULL AND rd.res_ins_deel_key = id.ins_deel_key) reserveerbaar"
+ " , id.ins_alg_ruimte_type" + " , id.ins_alg_ruimte_type"
+ " FROM ins_deel id" + " FROM ins_deel id"
+ " , ins_srtdeel sd"
+ " , ins_srtgroep sg"
+ " , prs_v_afdeling a" + " , prs_v_afdeling a"
+ " , prs_v_afdeling_boom boom" + " , prs_v_afdeling_boom boom"
+ " , prs_bedrijf b" + " , prs_bedrijf b"
@@ -291,13 +260,8 @@ else
+ " AND a.prs_afdeling_key = boom.prs_afdeling_key" + " AND a.prs_afdeling_key = boom.prs_afdeling_key"
+ " AND id.ins_alg_ruimte_type = 'A'" + " AND id.ins_alg_ruimte_type = 'A'"
+ " AND id.ins_deel_parent_key " + ((ins_parent_key > -1)? " = " + ins_parent_key : "IS NULL") + " AND id.ins_deel_parent_key " + ((ins_parent_key > -1)? " = " + ins_parent_key : "IS NULL")
+ " AND sd.ins_srtdeel_key = id.ins_srtdeel_key"
+ " AND sd.ins_srtgroep_key = sg.ins_srtgroep_key"
+ " AND id.ins_deel_verwijder IS NULL" + " AND id.ins_deel_verwijder IS NULL"
+ " AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > TRUNC(SYSDATE))" + " AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > TRUNC(SYSDATE))"
+ " AND sd.ins_srtgroep_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + ")"
+ ((mld_key > -1) ? " AND ins_deel_key IN (SELECT ins_deel_key FROM mld_melding_object WHERE mld_melding_object_verwijder IS NULL AND mld_melding_key = " + mld_key+")" : "")
+ ((ins_key > -1) ? " AND id.ins_deel_key = " + ins_key : "")
+ ((afd_key > -1) ? " AND id.ins_alg_ruimte_key = " + afd_key : ""); + ((afd_key > -1) ? " AND id.ins_alg_ruimte_key = " + afd_key : "");
sqlA = discx3d (sqlA, sqlA = discx3d (sqlA,
"id.ins_discipline_key", "id.ins_discipline_key",
@@ -318,16 +282,12 @@ else
// Neemt de ORG-scope mee, maar ook de plaatscope via de werkplekken: // Neemt de ORG-scope mee, maar ook de plaatscope via de werkplekken:
// als de persoon binnen de scope een wp heeft, dan wordt die getoond // als de persoon binnen de scope een wp heeft, dan wordt die getoond
var sqlP = " SELECT ins_deel_omschrijving" var sqlP = " SELECT ins_deel_omschrijving"
+ " , " + lcl.xsqla('sd.ins_srtdeel_omschrijving', 'sd.ins_srtdeel_key') + " , ins_srtdeel_key"
+ " , " + lcl.xsqla('sg.ins_srtgroep_omschrijving', 'sg.ins_srtgroep_key')
+ " , ins_srtgroep_omschrijving org_srtgroep_omschrijving"
+ " , pf.prs_perslid_naam_friendly plaats_eigenaar" + " , pf.prs_perslid_naam_friendly plaats_eigenaar"
+ " , id.ins_deel_key" + " , id.ins_deel_key"
+ " , (SELECT MAX('R') FROM res_deel rd WHERE rd.res_deel_verwijder IS NULL AND rd.res_ins_deel_key = id.ins_deel_key) reserveerbaar" + " , (SELECT MAX('R') FROM res_deel rd WHERE rd.res_deel_verwijder IS NULL AND rd.res_ins_deel_key = id.ins_deel_key) reserveerbaar"
+ " , id.ins_alg_ruimte_type" + " , id.ins_alg_ruimte_type"
+ " FROM ins_deel id" + " FROM ins_deel id"
+ " , ins_srtdeel sd"
+ " , ins_srtgroep sg"
+ " , prs_v_perslid_fullnames_all pf" + " , prs_v_perslid_fullnames_all pf"
+ " , prs_perslid p" + " , prs_perslid p"
+ " , prs_v_afdeling_boom boom" + " , prs_v_afdeling_boom boom"
@@ -341,8 +301,6 @@ else
+ " AND id.ins_alg_ruimte_type = 'P'" + " AND id.ins_alg_ruimte_type = 'P'"
+ " AND p.prs_afdeling_key = boom.prs_afdeling_key" + " AND p.prs_afdeling_key = boom.prs_afdeling_key"
+ " AND boom.prs_bedrijf_key = b.prs_bedrijf_key" + " AND boom.prs_bedrijf_key = b.prs_bedrijf_key"
+ " AND sd.ins_srtdeel_key = id.ins_srtdeel_key"
+ " AND sd.ins_srtgroep_key = sg.ins_srtgroep_key"
+ " AND p.prs_perslid_key = pf.prs_perslid_key" + " AND p.prs_perslid_key = pf.prs_perslid_key"
+ " AND p.prs_perslid_key = pwp.prs_perslid_key" + " AND p.prs_perslid_key = pwp.prs_perslid_key"
+ " AND pwp.prs_werkplek_key = w.prs_werkplek_key" + " AND pwp.prs_werkplek_key = w.prs_werkplek_key"
@@ -351,10 +309,7 @@ else
+ " AND l.alg_district_key = di.alg_district_key" + " AND l.alg_district_key = di.alg_district_key"
+ " AND id.ins_deel_verwijder IS NULL" + " AND id.ins_deel_verwijder IS NULL"
+ " AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > TRUNC(SYSDATE))" + " AND (id.ins_deel_vervaldatum IS NULL OR id.ins_deel_vervaldatum > TRUNC(SYSDATE))"
+ " AND sd.ins_srtgroep_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + ")"
+ " AND id.ins_deel_parent_key " + ((ins_parent_key > -1)? " = " + ins_parent_key : "IS NULL") + " AND id.ins_deel_parent_key " + ((ins_parent_key > -1)? " = " + ins_parent_key : "IS NULL")
+ ((mld_key > -1) ? " AND ins_deel_key IN (SELECT ins_deel_key FROM mld_melding_object WHERE mld_melding_object_verwijder IS NULL AND mld_melding_key = " + mld_key+")" : "")
+ ((ins_key > -1) ? " AND id.ins_deel_key = " + ins_key : "")
+ ((prs_key > -1) ? " AND id.ins_alg_ruimte_key = " + prs_key : "") + ((prs_key > -1) ? " AND id.ins_alg_ruimte_key = " + prs_key : "")
+ ((locatie_key > -1) ? " AND aog.alg_locatie_key = " + locatie_key : "") + ((locatie_key > -1) ? " AND aog.alg_locatie_key = " + locatie_key : "")
+ ((gebouw_key > -1) ? " AND aog.alg_gebouw_key = " + gebouw_key : "") + ((gebouw_key > -1) ? " AND aog.alg_gebouw_key = " + gebouw_key : "")
@@ -374,30 +329,49 @@ else
"", // disc_key "", // disc_key
1); 1);
sql = "SELECT recs.* "
+ " , " + lcl.xsqla('sd.ins_srtdeel_omschrijving', 'sd.ins_srtdeel_key')
sql = "SELECT * FROM (" + " , " + lcl.xsqla('sg.ins_srtgroep_omschrijving', 'sg.ins_srtgroep_key')
+ " , " + lcl.xsqla('ins_discipline_omschrijving', 'ins_discipline_key')
+ " , sg.ins_discipline_key"
+ " FROM ("
+ sqlR + sqlR
+ (metWerkplekgebonden ? " UNION " + sqlW : "") + (metWerkplekgebonden ? " UNION " + sqlW : "")
+ (metPersoonsgebonden ? " UNION " + sqlP : "") + (metPersoonsgebonden ? " UNION " + sqlP : "")
+ (metAfdelingsgebonden ? " UNION " + sqlA : "") + (metAfdelingsgebonden ? " UNION " + sqlA : "")
+ (metTerreingebonden ? " UNION " + sqlT : "") + (metTerreingebonden ? " UNION " + sqlT : "")
+ ")" + ") recs"
+ (grp_sel=="" + " , ins_srtdeel sd"
? "" + " , ins_srtgroep sg"
: " WHERE org_srtgroep_omschrijving = " + safe.quoted_sql(grp_sel) + " , ins_discipline disc"
); + " WHERE sd.ins_srtdeel_key = recs.ins_srtdeel_key"
sql += " ORDER BY 3, 2, 1"; + " AND sd.ins_srtgroep_key = sg.ins_srtgroep_key"
+ " AND sg.ins_discipline_key = disc.ins_discipline_key"
+ ((mld_key > -1) ? " AND ins_deel_key IN (SELECT ins_deel_key FROM mld_melding_object WHERE mld_melding_object_verwijder IS NULL AND mld_melding_key = " + mld_key + ")" : "")
+ ((ins_key > -1) ? " AND id.ins_deel_key = " + ins_key : "")
if (grp_sel)
{
sql += " AND ins_discipline_omschrijving || ' ' || ins_srtgroep_omschrijving = " + safe.quoted_sql(grp_sel)
+ " ORDER BY 3, 2, 1"
}
else
{
sql = "SELECT COUNT(*) numberInGroup"
+ " , ins_discipline_omschrijving || ' ' || ins_srtgroep_omschrijving ins_srtgroep_omschrijving"
+ " FROM (" + sql + ")"
+ " GROUP BY ins_discipline_omschrijving, ins_srtgroep_omschrijving"
+ " ORDER BY ins_discipline_omschrijving, ins_srtgroep_omschrijving"
}
var rst = new ResultsetTable({sql: sql, var rst = new ResultsetTable({sql: sql,
keyColumn: "ins_deel_key", keyColumn: "ins_deel_key",
linkColumn: fncolLink, linkColumn: fncolLink,
groupColumn: ((ins_parent_key == -1)? fncolGroup : ""), groupColumn: ((ins_parent_key == -1 && !grp_sel)? fncolGroup : ""),
groupSelect: grp_sel, groupSelect: grp_sel,
detailColumn: fncolHeader, numberInGroup: grp_sel?null:"numberInGroup",
headerColumn: "ins_deel_omschrijving", detailColumn: grp_sel?fncolHeader:null,
asideColumn: fnAside, headerColumn: grp_sel?"ins_deel_omschrijving":"",
subheaderColumn: fncolsubHeader, asideColumn: grp_sel?fnAside:null,
subheaderColumn: grp_sel?fncolsubHeader:"",
ID: "deelstable", ID: "deelstable",
showAll: true showAll: true
}); });