AADS#32133: Vervolgvraag AADS#32035 over dienstniveaus.

svn path=/Website/trunk/; revision=31382
This commit is contained in:
Maykel Geerdink
2016-11-08 10:13:45 +00:00
parent 3dc0c190e0
commit a0a05f65cb
5 changed files with 69 additions and 24 deletions

View File

@@ -683,7 +683,9 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
var urlAdd; var urlAdd;
if ((S("mld_edit_layout") == 1)) // Plaats gegevens worden voor de discipline/stdmelding gegevens getoond. Stdmelding afhankelijk van dienstlocatie maken. Daarom locatie en gebouw meegeven. if ((S("mld_edit_layout") == 1)) // Plaats gegevens worden voor de discipline/stdmelding gegevens getoond. Stdmelding afhankelijk van dienstlocatie maken. Daarom locatie en gebouw meegeven.
urlAdd = [{urlParam: "lockey", field: "locatiekey", init: mld_melding.loc_key}, urlAdd = [{urlParam: "lockey", field: "locatiekey", init: mld_melding.loc_key},
{urlParam: "bldkey", field: "gebouwkey", init: mld_melding.bld_key}]; {urlParam: "bldkey", field: "gebouwkey", init: mld_melding.bld_key},
{urlParam: "flrkey", field: "verdiepingkey", init: mld_melding.flr_key},
{urlParam: "roomkey", field: "ruimtekey", init: mld_melding.room_key}];
FCLTdisciplineselector("disc", FCLTdisciplineselector("disc",
"sgDisc", "sgDisc",
{ label: L("lcl_vakgroup"), { label: L("lcl_vakgroup"),
@@ -714,6 +716,8 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
{ {
urlAdd.push({urlParam: "lockey", field: "locatiekey", init: mld_melding.loc_key}); urlAdd.push({urlParam: "lockey", field: "locatiekey", init: mld_melding.loc_key});
urlAdd.push({urlParam: "bldkey", field: "gebouwkey", init: mld_melding.bld_key}); urlAdd.push({urlParam: "bldkey", field: "gebouwkey", init: mld_melding.bld_key});
urlAdd.push({urlParam: "flrkey", field: "verdiepingkey", init: mld_melding.flr_key});
urlAdd.push({urlParam: "foomkey", field: "ruimtekey", init: mld_melding.room_key});
} }
var res = var res =

View File

@@ -36,6 +36,8 @@ var module = getQParam("module");
var ins_key = getQParamInt("ins_key", -1); var ins_key = getQParamInt("ins_key", -1);
var loc_key = getQParamInt("lockey", -1); var loc_key = getQParamInt("lockey", -1);
var bld_key = getQParamInt("bldkey", -1); var bld_key = getQParamInt("bldkey", -1);
var flr_key = getQParamInt("flrkey", -1);
var room_key = getQParamInt("roomkey", -1);
var extracode = getQParam("extracode", ""); var extracode = getQParam("extracode", "");
var perslidKey = getQParamInt("perslidKey"); // Voor wie is de melding var perslidKey = getQParamInt("perslidKey"); // Voor wie is de melding
var filtcode = getQParam("filtcode", ""); var filtcode = getQParam("filtcode", "");
@@ -75,6 +77,8 @@ var params = { autfunctionKey: autfunctionKey,
ins_key: ins_key, ins_key: ins_key,
loc_key: loc_key, loc_key: loc_key,
bld_key: bld_key, bld_key: bld_key,
flr_key: flr_key,
room_key: room_key,
perslidKey: perslidKey }; perslidKey: perslidKey };
var sql = ""; var sql = "";

View File

@@ -32,6 +32,8 @@ var disc_key = getQParamInt("disc_key", -1);
var ins_key = getQParamInt("ins_key", -1); var ins_key = getQParamInt("ins_key", -1);
var loc_key = getQParamInt("lockey", -1); var loc_key = getQParamInt("lockey", -1);
var bld_key = getQParamInt("bldkey", -1); var bld_key = getQParamInt("bldkey", -1);
var flr_key = getQParamInt("flrkey", -1);
var room_key = getQParamInt("roomkey", -1);
var extracode = getQParam("extracode", ""); var extracode = getQParam("extracode", "");
var perslidKey = getQParamInt("perslidKey", user_key); // Voor wie is de melding var perslidKey = getQParamInt("perslidKey", user_key); // Voor wie is de melding
var show_expired = (getQParamInt("show_expired", 0) == 1); // Vervallen stdmeldingen ook tonen var show_expired = (getQParamInt("show_expired", 0) == 1); // Vervallen stdmeldingen ook tonen
@@ -44,6 +46,8 @@ var filt_params = { disc_key: disc_key,
ins_key: ins_key, ins_key: ins_key,
loc_key: loc_key, loc_key: loc_key,
bld_key: bld_key, bld_key: bld_key,
flr_key: flr_key,
room_key: room_key,
perslidKey: perslidKey, perslidKey: perslidKey,
autfunctionKey: autfunctionKey, autfunctionKey: autfunctionKey,
show_expired: show_expired show_expired: show_expired

View File

@@ -131,20 +131,35 @@ function getFiltClauseDiscipline(pfiltcode, params)
} }
if (S("mld_edit_layout") == 1 && params.loc_key > 0 && params.bld_key > 0) if (S("mld_edit_layout") == 1 && params.loc_key > 0) // Als de bld_key, flr_key of room_key is meegegeven is ook de loc_key meegegeven.
{ // Plaats gegevens worden voor de discipline/stdmelding gegevens getoond. Discipline en stdmelding afhankelijk van dienstlocatie maken. { // Plaats gegevens worden voor de discipline/stdmelding gegevens getoond. Discipline en stdmelding afhankelijk van dienstlocatie maken.
lfiltClause.where += " AND (sm.mld_stdmelding_vereisdienst = 0" lfiltClause.where += " AND EXISTS (SELECT COALESCE (NULL"
+ " OR" + (params.room_key > 0? " , ar.mld_dienstniveau_key" : "")
+ " (sm.mld_stdmelding_vereisdienst = 1 AND" + (params.flr_key > 0? " , av.mld_dienstniveau_key" : "")
+ " EXISTS (SELECT bdl.prs_bedrijf_key" + (params.bld_key > 0? " , ag.mld_dienstniveau_key" : "")
+ " FROM prs_bedrijfdienstlocatie bdl" + " , al.mld_dienstniveau_key"
+ " , prs_v_aanwezigbedrijf b" + " ) mld_dienstniveau_key"
+ " WHERE bdl.prs_bedrijf_key = b.prs_bedrijf_key" + " FROM"
+ " AND bdl.prs_dienst_key = sm.prs_dienst_key" + (params.room_key > 0? " alg_ruimte ar," : "")
+ " AND ( (bdl.alg_gebouw_key = " + params.bld_key + (params.flr_key > 0? " alg_verdieping av," : "")
+ " OR bdl.alg_gebouw_key IS NULL)" + (params.bld_key > 0? " alg_gebouw ag," : "")
+ " AND (bdl.alg_locatie_key = " + params.loc_key + " alg_locatie al,"
+ " OR bdl.alg_locatie_key IS NULL)))))"; + " mld_dienstpakket dp"
+ " WHERE"
+ (params.room_key > 0? " ar.alg_ruimte_key = " + params.room_key
+ " AND ar.alg_verdieping_key = av.alg_verdieping_key AND" : "")
+ (params.flr_key > 0? " av.alg_verdieping_key = " + params.flr_key
+ " AND av.alg_gebouw_key = ag.alg_gebouw_key AND" : "")
+ (params.bld_key > 0? " ag.alg_gebouw_key = " + params.bld_key
+ " AND ag.alg_locatie_key = al.alg_locatie_key AND" : "")
+ " al.alg_locatie_key = " + params.loc_key
+ " AND COALESCE (NULL"
+ (params.room_key > 0? " , ar.mld_dienstniveau_key" : "")
+ (params.flr_key > 0? " , av.mld_dienstniveau_key" : "")
+ (params.bld_key > 0? " , ag.mld_dienstniveau_key" : "")
+ " , al.mld_dienstniveau_key"
+ " ) = dp.mld_dienstniveau_key"
+ " )"
} }
return lfiltClause; return lfiltClause;
} }

View File

@@ -91,17 +91,35 @@ function getFiltClauseStdmelding(pfiltcode, params, init)
} }
if (S("mld_edit_layout") == 1 && params.loc_key > 0 && params.bld_key > 0) if (S("mld_edit_layout") == 1 && params.loc_key > 0) // Als de bld_key, flr_key of room_key is meegegeven is ook de loc_key meegegeven.
{ // Plaats gegevens worden voor de discipline/stdmelding gegevens getoond. Discipline en stdmelding afhankelijk van dienstlocatie maken. { // Plaats gegevens worden voor de discipline/stdmelding gegevens getoond. Discipline en stdmelding afhankelijk van dienstlocatie maken.
lfiltClause.where += " AND EXISTS (SELECT bdl.prs_bedrijf_key" lfiltClause.where += " AND EXISTS (SELECT COALESCE (NULL"
+ " FROM prs_bedrijfdienstlocatie bdl" + (params.room_key > 0? " , ar.mld_dienstniveau_key" : "")
+ " , prs_v_aanwezigbedrijf b" + (params.flr_key > 0? " , av.mld_dienstniveau_key" : "")
+ " WHERE bdl.prs_bedrijf_key = b.prs_bedrijf_key" + (params.bld_key > 0? " , ag.mld_dienstniveau_key" : "")
+ " AND bdl.prs_dienst_key = sm.prs_dienst_key" + " , al.mld_dienstniveau_key"
+ " AND ( (bdl.alg_gebouw_key = " + params.bld_key + " ) mld_dienstniveau_key"
+ " OR bdl.alg_gebouw_key IS NULL)" + " FROM"
+ " AND (bdl.alg_locatie_key = " + params.loc_key + (params.room_key > 0? " alg_ruimte ar," : "")
+ " OR bdl.alg_locatie_key IS NULL)))"; + (params.flr_key > 0? " alg_verdieping av," : "")
+ (params.bld_key > 0? " alg_gebouw ag," : "")
+ " alg_locatie al,"
+ " mld_dienstpakket dp"
+ " WHERE"
+ (params.room_key > 0? " ar.alg_ruimte_key = " + params.room_key
+ " AND ar.alg_verdieping_key = av.alg_verdieping_key AND" : "")
+ (params.flr_key > 0? " av.alg_verdieping_key = " + params.flr_key
+ " AND av.alg_gebouw_key = ag.alg_gebouw_key AND" : "")
+ (params.bld_key > 0? " ag.alg_gebouw_key = " + params.bld_key
+ " AND ag.alg_locatie_key = al.alg_locatie_key AND" : "")
+ " al.alg_locatie_key = " + params.loc_key
+ " AND COALESCE (NULL"
+ (params.room_key > 0? " , ar.mld_dienstniveau_key" : "")
+ (params.flr_key > 0? " , av.mld_dienstniveau_key" : "")
+ (params.bld_key > 0? " , ag.mld_dienstniveau_key" : "")
+ " , al.mld_dienstniveau_key"
+ " ) = dp.mld_dienstniveau_key"
+ " )"
} }
return lfiltClause; return lfiltClause;