999 lines
43 KiB
Plaintext
999 lines
43 KiB
Plaintext
<%@ language = "JavaScript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: pda/mld_list.asp
|
|
Description: Toont een beknopte meldingenlijst voor mobile, dat zijn de aan mij
|
|
geautoriseerde actieve meldingen op de plaats waar ik ben plus die zonder plaatsgegevens
|
|
Parameters: -
|
|
urole: optioneel om de lijst te beperken obv van die specifieke rol=autorisaties (fo, bo, mi)
|
|
Context: -
|
|
|
|
Note: Gestripte versie van mld/mld_list.inc
|
|
|
|
*/
|
|
%>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/discx3d.inc" -->
|
|
<!-- #include file="../Shared/selector.inc" -->
|
|
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
|
<!-- #include file="./resultset_table.inc" -->
|
|
<!-- #include file="./mobile.inc" -->
|
|
<!-- #include file="./iface.inc" -->
|
|
<!-- #include file="../mld/mld.inc" -->
|
|
|
|
<%
|
|
perform=false; // ???? JGL: MLD.INC gebruikt deze illegaal globaal TODO!
|
|
frontend=false;
|
|
|
|
var mld_key = getQParamInt("mld_key", -1, true); // Meldingnr
|
|
var searchtekst = getQParamUTF8("searchtekst", "", true); // Searchtekst
|
|
var ruimte_key = getQParamInt("ruimte_key", -1);
|
|
var res_ruimte_key = getQParamInt("res_ruimte_key", -1);
|
|
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key", -1); // Lijst tonen van alle meldingen met dezelfde rsv_ruimte_key (reservering).
|
|
var ins_key = getQParamInt("ins_key", -1);
|
|
var self = getQParamInt("self", -1);
|
|
var status = getQParamIntArray("status", []);
|
|
var behandel3_key = getQParamInt("behandel", -1);
|
|
var group_type = getQParamInt("grpby", 1); // 1 = Vakgroep (default), 2 = Behandelteam, 4 = locatie
|
|
var p_cnt_disc = getQParamInt("cnt_disc", 2);
|
|
var p_cnt_mld = getQParamInt("cnt_mld", 10);
|
|
var p_loc_key = getQParamInt("loc_key", -1);
|
|
var bld_key = getQParamInt("bld_key", -1);
|
|
if (bld_key > -1 && group_type & 4) {
|
|
group_type -= 4;
|
|
}
|
|
|
|
// &1 = Pending(0),Ingevoerd(2),Ingezien(3)
|
|
// &2 = Geaccepteerd(4), Uitgegeven(7), Niet opgelost(99)
|
|
// &4 = Afgemeld
|
|
// De submit van deze pagina krijgt de individuele checkboxen mee
|
|
// maar je mag ook direct fase meegeven, defaul 0x011
|
|
var fase1 = getQParamInt("fase1", 0); // 0 of 1
|
|
var fase2 = getQParamInt("fase2", 0); // 0 of 2
|
|
var fase4 = getQParamInt("fase4", 0); // 0 of 4
|
|
if (fase1 == 0 && fase2 == 0 && fase4 == 0) {
|
|
fase1 = 1;
|
|
fase2 = 2;
|
|
// fase4 blijft 0
|
|
}
|
|
var fase = getQParamInt("fase", fase1 + fase2 + fase4);
|
|
|
|
var srtdisc_key = getQParamInt("srtdisc", -1); // Soort melding
|
|
if (srtdisc_key == -1) {
|
|
var sql = "SELECT MAX (ins_srtdiscipline_key) ins_srtdiscipline_key"
|
|
+ " , COUNT (1) aantal_vakgroeptypen"
|
|
+ " FROM ins_srtdiscipline"
|
|
+ " WHERE ins_srtdiscipline_module = 'MLD'"
|
|
+ " AND ins_srtdiscipline_verwijder IS NULL";
|
|
var oRs = Oracle.Execute(sql);
|
|
if (!oRs.EoF && oRs("aantal_vakgroeptypen").Value == 1) {
|
|
srtdisc_key = oRs("ins_srtdiscipline_key").Value;
|
|
}
|
|
oRs.Close();
|
|
}
|
|
|
|
if (srtdisc_key > 0) {
|
|
lcl.set_dialect(srtdisc_key, "MLD_SRTDISCIPLINE_KEY");
|
|
}
|
|
// else mixed srtdisc, terugvallen op de default
|
|
|
|
var show_disciplines = false;
|
|
var show_locatie = ((group_type & 4) == 4);
|
|
|
|
function getDistrictKey()
|
|
{
|
|
var loc_key = user.alg_locatie_key({withcurrent:true});
|
|
if (loc_key == -1)
|
|
return -1;
|
|
var sqlDis = "SELECT alg_district_key FROM alg_locatie WHERE alg_locatie_key = " + loc_key;
|
|
var oRsDis = Oracle.Execute(sqlDis);
|
|
var initDis = oRsDis(0).Value;
|
|
oRsDis.Close();
|
|
return initDis;
|
|
}
|
|
|
|
// bepaal filterlevel voor mobiel. Filterlevel kan afwijken van werklocatie niveau
|
|
var filterLevel = (S("mobile_alg_filterlevel") ? S("mobile_alg_filterlevel") : S("mobile_alg_level"));
|
|
|
|
// cases zonder break om bovenliggende niveaus mee te pakken
|
|
// Als filterlevel=A dan blijven alle keys op default -1 staan.
|
|
var verdieping_key = -1;
|
|
var gebouw_key = -1;
|
|
var locatie_key = -1;
|
|
var district_key = -1;
|
|
|
|
switch(filterLevel) {
|
|
case "V": verdieping_key = getQParamInt("verdieping_key" , user.alg_verdieping_key({withcurrent:true}));
|
|
case "G": gebouw_key = getQParamInt("gebouw_key" , user.alg_gebouw_key({withcurrent:true}));
|
|
case "L": locatie_key = getQParamInt("locatie_key" , user.alg_locatie_key({withcurrent:true}));
|
|
case "D": district_key = getQParamInt("district_key" , getDistrictKey());
|
|
}
|
|
|
|
var qrc = getQParamInt("qrc", 0) != 0;
|
|
var meldbron_key = getQParamInt("meldbronkey", 7);
|
|
var deelsrtcont_key = getQParamInt("deelsrtcont_key", -1); // nieuwe melding vanuit een controletaak
|
|
|
|
var grp_sel = getQParamUTF8("grp", "");
|
|
var disc_sql_prefix = mld_key == -1 && group_type == 2 ? "md2" : "md";
|
|
|
|
var subject = L("lcl_mobile_meldingen");
|
|
var ruimteKeyArr = [];
|
|
|
|
// Locatie: bepaal de omschrijving
|
|
if (p_loc_key > -1 && self <= 0) {
|
|
var sql = "SELECT alg_locatie_omschrijving"
|
|
+ " FROM alg_locatie"
|
|
+ " WHERE alg_locatie_key = " + p_loc_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
if (!oRs.eof)
|
|
{
|
|
subject += " " + oRs("alg_locatie_omschrijving").Value;
|
|
}
|
|
oRs.Close();
|
|
} else if (p_loc_key == -2) {
|
|
subject += " " + L("lcl_mld_without_alg_loc");
|
|
}
|
|
// Reserveerbare ruimte: bepaal de alg_ruimte(s) en omschrijving
|
|
if (res_ruimte_key > -1 && ruimte_key == -1)
|
|
{
|
|
var sql = "SELECT res_ruimte_nr plaats "
|
|
+ " FROM res_ruimte"
|
|
+ " WHERE res_ruimte_key = " + res_ruimte_key
|
|
var oRs = Oracle.Execute(sql);
|
|
subject += " " + oRs("plaats").Value;
|
|
oRs.Close();
|
|
|
|
var sql = "SELECT alg_ruimte_key "
|
|
+ " FROM res_alg_ruimte rag"
|
|
+ " WHERE rag.res_ruimte_key = " + res_ruimte_key
|
|
+ " AND rag.res_alg_ruimte_verwijder IS NULL";
|
|
var oRs = Oracle.Execute(sql);
|
|
while (!oRs.eof) {
|
|
ruimte_key = oRs("alg_ruimte_key").value; // pak er maar eentje, meestal is het er maar een
|
|
ruimteKeyArr.push(oRs("alg_ruimte_key").value);
|
|
oRs.MoveNext();
|
|
}
|
|
oRs.Close();
|
|
}
|
|
// Gewone ruimte: bepaal de omschrijving
|
|
if (ruimte_key > -1 && res_ruimte_key == -1)
|
|
{
|
|
var sql = "SELECT aog.alg_plaatsaanduiding"
|
|
+ " FROM alg_v_onroerendgoed_gegevens aog"
|
|
+ " WHERE aog.alg_ruimte_key = " + ruimte_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
|
|
subject += " " + oRs("alg_plaatsaanduiding").Value;
|
|
oRs.Close();
|
|
}
|
|
// Object: bepaal de omschrijving
|
|
if (ins_key > -1)
|
|
{
|
|
var sql = " SELECT ins_deel_omschrijving"
|
|
+ " FROM ins_deel id"
|
|
+ " WHERE id.ins_deel_key = " + ins_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
subject += " " + oRs("ins_deel_omschrijving").Value;
|
|
oRs.Close();
|
|
}
|
|
|
|
// Wat zijn de criteria voor de meldingslijst?
|
|
// Standaard lopende meldingen (0,2,3,4,7)
|
|
|
|
var givenurole = getQParamSafe("urole", "none");
|
|
if (givenurole == "none")
|
|
urole = "bo"; // om nog even compatible te zijn met wat we deden
|
|
else
|
|
urole = givenurole;
|
|
|
|
var params = { urole: urole };
|
|
|
|
params.srtdisc_key = (srtdisc_key != -1 ? srtdisc_key : null);
|
|
|
|
params.flags = [];
|
|
var checkboxParams = [];
|
|
var hasParamFlag = false;
|
|
|
|
// in tegenstelling tot desktop zijn hier de flags default on
|
|
// en kun je dus expliciet zaken wegfilteren met &flagN=off
|
|
for (flagkey=0; flagkey < S("mld_melding_flags"); flagkey++)
|
|
{
|
|
if (getQParam("flag" + flagkey, "off") == "on")
|
|
{
|
|
hasParamFlag = true;
|
|
checkboxParams[flagkey] = "on";
|
|
|
|
params.flags.push(flagkey);
|
|
}
|
|
else
|
|
{
|
|
checkboxParams[flagkey] = "false";
|
|
}
|
|
}
|
|
var actiecodeATT = getQParam("actiecodeATT", "off");
|
|
params.actiecodeATT = actiecodeATT == "on";
|
|
var has_actiecodeFE = getQParam("has_actiecodeFE", 0);
|
|
var actiecodeFE = getQParam("actiecodeFE", !has_actiecodeFE ? "on" : "off");
|
|
params.actiecodeFE = actiecodeFE == "on";
|
|
has_actiecodeFE = 1;
|
|
params.actiecodeBO = true;
|
|
if (!hasParamFlag)
|
|
{
|
|
for (flagkey=0; flagkey < S("mld_melding_flags"); flagkey++)
|
|
{
|
|
if (getQParam("flag" + flagkey, "on") == "off")
|
|
{
|
|
checkboxParams[flagkey] = "off";
|
|
}
|
|
else
|
|
{
|
|
params.flags.push(flagkey);
|
|
checkboxParams[flagkey] = "on";
|
|
}
|
|
}
|
|
}
|
|
|
|
params.behandel3_key = behandel3_key;
|
|
params.disc_type = group_type & 3;
|
|
|
|
__Log("status length = " + status.length);
|
|
if (status.length > 0)
|
|
{ // Er is/zijn (een) status(sen) meegegeven.
|
|
if (status.join(",").indexOf("0") >= 0) params.mldstpen = true; // Status "Pending(0)".
|
|
if (status.join(",").indexOf("2") >= 0) params.mldstnew = true; // Status "Ingevoerd(2)".
|
|
if (status.join(",").indexOf("4") >= 0) params.mldstacc = true; // Status "Geaccepteerd(4)".
|
|
if (status.join(",").indexOf("7") >= 0) params.mldstuit = true; // Status "Uitgegeven(7)".
|
|
if (status.join(",").indexOf("5") >= 0) params.mldstafm = true; // Status "Afgemeld(5)".
|
|
if (status.join(",").indexOf("99") >= 0) params.mldnieto = true; // Status "Niet opgelost(99)".
|
|
}
|
|
else
|
|
{
|
|
if ((fase & 1) && (S("mld_restrict_mobile_to_me") != 1 || ruimte_key > 0 || ins_key > 0 || rsv_ruimte_key > 0))
|
|
{
|
|
params.mldstpen = true; // Status "Pending(0)".
|
|
params.mldstnew = true; // Status "Ingevoerd(2)".
|
|
}
|
|
|
|
if (fase & 2)
|
|
{
|
|
params.mldstacc = true; // Status "Geaccepteerd(4)".
|
|
params.mldstuit = true; // Status "Uitgegeven(7)".
|
|
params.mldnieto = true; // Status "Niet opgelost(99)".
|
|
}
|
|
|
|
if (fase & 4)
|
|
{
|
|
params.mldstafm = true; // Status "Afgemeld(5)".
|
|
}
|
|
}
|
|
|
|
if ((self > 0 || S("mld_restrict_mobile_to_me") == 1) && ruimte_key == -1 && ins_key == -1 && rsv_ruimte_key == -1)
|
|
{
|
|
params.behandel3_key = user_key;
|
|
}
|
|
|
|
// Hier ook op dezelfde rechten testen als in de desktop mode.
|
|
// Eerst kijken we breed naar MLD-rechten, later doen we er op basis van een optionele urole nog
|
|
// iets mee qua filtering, want je wilt niet altijd alles zien wat je mag zien..
|
|
if (givenurole == "none")
|
|
autfunction = ["WEB_MLDFOF", "WEB_MLDBOF", "WEB_MLDBO2", "WEB_MLDBAC"];
|
|
else
|
|
autfunction = (urole == "fo" ? ["WEB_MLDFOF"] : (urole == "bo" ? ["WEB_MLDBOF", "WEB_MLDBO2"] : ["WEB_MLDBAC"]));
|
|
|
|
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
|
|
var authparams = user.checkAutorisation(autfunction);
|
|
var addparams = user.checkAutorisation((user.has("WEB_MLDFOF") ? "WEB_MLDFOF" : "WEB_MLDUSE"), true);
|
|
var canAdd = addparams && addparams.ALGwritelevel;
|
|
%>
|
|
<html>
|
|
<head>
|
|
<% FCLTMHeader.Generate({}); %>
|
|
</head>
|
|
<body>
|
|
<%
|
|
var sqln = "SELECT /* + OPT_PARAM('_OPTIMIZER_COST_BASED_TRANSFORMATION', 'OFF') */"
|
|
+ " m.mld_melding_key"
|
|
+ " , m.mld_melding_datum"
|
|
+ " , m.mld_melding_parentkey"
|
|
+ " , m.mld_melding_einddatum"
|
|
+ " , CASE WHEN mld_melding_einddatum > SYSDATE"
|
|
+ " THEN 1"
|
|
+ " ELSE 0"
|
|
+ " END optijd"
|
|
+ " , (SELECT COUNT(mld_opdr_key) FROM mld_opdr WHERE mld_melding_key = m.mld_melding_key) nrOrders"
|
|
+ " , (SELECT COUNT(o.mld_statusopdr_key)"
|
|
+ " FROM mld_opdr o"
|
|
+ " WHERE mld_melding_key = m.mld_melding_key"
|
|
+ " AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9)) nrActief"
|
|
+ " , m.mld_melding_acceptdatum_std"
|
|
+ " , std.mld_stdmelding_planbaar"
|
|
+ " , std.mld_stdmelding_image"
|
|
+ " , mld_melding_status"
|
|
+ " , mld_melding_spoed"
|
|
+ " , TO_CHAR(SUBSTR(mld_melding_omschrijving, 1, 4000)) mld_melding_omschrijving"
|
|
+ " , mld_melding_onderwerp"
|
|
+ " , mld_melding_flag"
|
|
+ " , mld_melding_actiecode"
|
|
+ " , (SELECT MAX(fac_tracking_datum)"
|
|
+ " FROM (SELECT t.fac_tracking_datum"
|
|
+ " FROM fac_tracking t"
|
|
+ " , fac_srtnotificatie sn"
|
|
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
|
|
+ " AND t.fac_tracking_refkey = m.mld_melding_key"
|
|
+ " AND sn.fac_srtnotificatie_xmlnode = 'melding'"
|
|
+ " UNION ALL"
|
|
+ " SELECT mld_melding_note_aanmaak recentdatum"
|
|
+ " FROM mld_melding_note"
|
|
+ " WHERE mld_melding_key = m.mld_melding_key)) recentdatum"
|
|
+ " , CASE WHEN (m.mld_melding_start_key IS NOT NULL AND m.mld_workflowstep_key IS NULL)"
|
|
+ " THEN 1 ELSE 0 END isVervolg"
|
|
+ " , COALESCE(l.alg_locatie_key, -2) alg_locatie_key"
|
|
+ " , l.alg_locatie_omschrijving alg_locatie_omschrijving"
|
|
+ " , DECODE(v.alg_plaatsaanduiding, '', DECODE (l.alg_locatie_omschrijving, '','',' ('||l.alg_locatie_omschrijving||')'), v.alg_plaatsaanduiding || DECODE(v.alg_plaatsomschrijving, '','' ,' (' || v.alg_plaatsomschrijving || ')'))"
|
|
+ " plaatsmelding"
|
|
+ " , CASE "
|
|
+ " WHEN COALESCE(sd.ins_srtdiscipline_prefix, '@') = '@'"
|
|
+ " THEN ''"
|
|
+ " ELSE sd.ins_srtdiscipline_prefix END ins_srtdiscipline_prefix"
|
|
+ " , " + lcl.xsqla(disc_sql_prefix+".ins_discipline_omschrijving", disc_sql_prefix+".ins_discipline_key")
|
|
+ " , " + disc_sql_prefix+".ins_discipline_image"
|
|
+ " , " + lcl.xsqla('std.mld_stdmelding_omschrijving', 'std.mld_stdmelding_key')
|
|
+ " , (SELECT prs_perslid_naam_friendly"
|
|
+ " FROM prs_v_perslid_fullnames_all"
|
|
+ " WHERE prs_perslid_key = m.prs_perslid_key) melder"
|
|
+ " , (SELECT prs_perslid_naam_friendly"
|
|
+ " FROM prs_v_perslid_fullnames_all"
|
|
+ " WHERE prs_perslid_key = COALESCE(m.mld_melding_behandelaar2_key,m.mld_melding_behandelaar_key)) behandelaar"
|
|
if (S("mld_num_prefix_mode") == 1) // kostenplaats of afdeling
|
|
{
|
|
sqln += ", COALESCE((SELECT prs_afdeling_naam"
|
|
+ " FROM prs_afdeling d1"
|
|
+ " WHERE m.prs_afdeling_key = d1.prs_afdeling_key),"
|
|
+ " (SELECT prs_kostenplaats_nr"
|
|
+ " FROM prs_kostenplaats k"
|
|
+ " WHERE m.prs_kostenplaats_key = k.prs_kostenplaats_key),"
|
|
+ " (SELECT prs_afdeling_naam"
|
|
+ " FROM prs_afdeling d2"
|
|
+ " WHERE m.prs_afdeling_key = d2.prs_afdeling_key)) mld_prefix";
|
|
}
|
|
|
|
// Kenmerken van de melding
|
|
sqln += ", (SELECT LISTAGG( COALESCE (" + lcl.xsql("k.mld_kenmerk_omschrijving", "k.mld_kenmerk_key")
|
|
+ " ," + lcl.xsql("skm.mld_srtkenmerk_omschrijving", "skm.mld_srtkenmerk_key")
|
|
+ " ) || ':'|| CHR(160) || "
|
|
+ " CASE WHEN skm.mld_srtkenmerk_kenmerktype IN ('R', 'r', 'S')"
|
|
+ " THEN flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.mld_kenmerkmelding_waarde)"
|
|
+ " WHEN ( skm.mld_srtkenmerk_kenmerktype = 'N'"
|
|
+ " AND skm.mld_srtkenmerk_lengte = 1"
|
|
+ " AND skm.mld_srtkenmerk_nmin = 0"
|
|
+ " AND skm.mld_srtkenmerk_nmax = 1"
|
|
+ " AND (skm.mld_srtkenmerk_dec = 0 OR skm.mld_srtkenmerk_dec IS NULL)"
|
|
+ " )"
|
|
+ " THEN DECODE (km.mld_kenmerkmelding_waarde,"
|
|
+ " 0, "+safe.qL("lcl_check_0")+", "
|
|
+ " 1, "+safe.qL("lcl_check_1")+", "
|
|
+ " km.mld_kenmerkmelding_waarde)"
|
|
+ " ELSE km.mld_kenmerkmelding_waarde"
|
|
+ " END"
|
|
+ " , CHR(13)"
|
|
+ " )"
|
|
+ " WITHIN GROUP (ORDER BY mld_kenmerk_volgnummer)"
|
|
+ " FROM mld_srtkenmerk skm, mld_kenmerk k, mld_kenmerkmelding km"
|
|
+ " WHERE km.mld_melding_key = m.mld_melding_key"
|
|
+ " AND k.mld_kenmerk_key = km.mld_kenmerk_key"
|
|
+ " AND BITAND(k.mld_kenmerk_inlijst,1) = 1"
|
|
+ " AND BITAND(skm.mld_srtkenmerk_systeem,4) = 0" // niet als vertrouwelijk
|
|
+ " AND skm.mld_srtkenmerk_key = k.mld_srtkenmerk_key"
|
|
+ " AND skm.mld_srtkenmerk_verwijder IS NULL"
|
|
+ " AND k.mld_kenmerk_verwijder IS NULL"
|
|
+ " AND km.mld_kenmerkmelding_verwijder IS NULL"
|
|
+ " ) flex ";
|
|
|
|
// Voeg aan de sql het FROM en WHERE gedeelte toe
|
|
// Geef alleen het meldingnummer mee indien ingevuld
|
|
params.track_mldnew = false; // fac_tracking op MLDNEW niet gebruiken
|
|
|
|
params.searchtekst = searchtekst;
|
|
if(mld_key > 0)
|
|
params = {urole: urole, mld_key: mld_key}
|
|
|
|
if (mld_key > 0)
|
|
{
|
|
var sqln_arr = mld.getfromwherelist_sql(autfunction, params);
|
|
|
|
sqln_arr[0] += " AND m.mld_melding_key = " + mld_key;
|
|
sqln_arr[1] += " AND m.mld_melding_key = " + mld_key;
|
|
|
|
// apply 3D authorization to the locations and to the organisations (both ALG and PRS)
|
|
sqln = discx3d (sqln + sqln_arr[0],
|
|
["md.ins_discipline_key", "m.mld_ins_discipline_key"], // rechten op vakgroep OF op behandelteam
|
|
"di.alg_regio_key",
|
|
"l.alg_district_key",
|
|
"l.alg_locatie_key",
|
|
"v.alg_gebouw_key",
|
|
"v.alg_verdieping_key",
|
|
"v.alg_ruimte_key",
|
|
"b.prs_bedrijf_key",
|
|
"b.prs_afdeling_key",
|
|
autfunction,
|
|
[],
|
|
2)
|
|
+ " UNION "
|
|
+ sqln + sqln_arr[1];
|
|
}
|
|
else
|
|
{
|
|
var sql_select = sqln;
|
|
var sql_where = " AND mld_melding_parentkey IS NULL"; // child-meldingen hoef ik mobiel niet te zien.
|
|
|
|
if (p_loc_key > -1)
|
|
{
|
|
sql_where += " AND l.alg_locatie_key = " + p_loc_key;
|
|
}
|
|
else if (p_loc_key == -2)
|
|
{
|
|
sql_where += " AND l.alg_locatie_key IS NULL";
|
|
}
|
|
if (ruimte_key > -1 && ruimteKeyArr.length <= 1)
|
|
{
|
|
sql_where += " AND (l.alg_locatie_key IS NULL OR v.alg_ruimte_key = " + ruimte_key + ")"; // PF: ik denk dat plaatsloze meldingen niet getoond hoeven worden als ruimtekey is gegeven, maar het staat er vast niet voor niks
|
|
}
|
|
if (ruimteKeyArr.length > 1)
|
|
{
|
|
sql_where += " AND v.alg_ruimte_key IN (" + ruimteKeyArr.join(',') + ")";
|
|
}
|
|
if (ins_key > -1)
|
|
{
|
|
sql_where += " AND m.mld_melding_key IN"
|
|
+ " (SELECT mld_melding_key FROM mld_melding_object WHERE mld_melding_object_verwijder IS NULL AND ins_deel_key = " + ins_key + ")";
|
|
}
|
|
if (rsv_ruimte_key > -1)
|
|
{
|
|
sql_where += " AND m.mld_melding_key IN"
|
|
+ " (SELECT mld_melding_key FROM mld_melding WHERE res_rsv_ruimte_key = " + rsv_ruimte_key + ")";
|
|
}
|
|
if (ins_key == -1 && rsv_ruimte_key == -1 && ruimte_key == -1 && ruimteKeyArr.length == 0)
|
|
{ // die lagere keys zijn sterker, ook als ik evt niet ter plaatse ben
|
|
if (district_key > -1)
|
|
{
|
|
sql_where += " AND (l.alg_locatie_key IS NULL OR l.alg_district_key = " + district_key + ")";
|
|
}
|
|
if (locatie_key > -1)
|
|
{
|
|
sql_where += " AND (l.alg_locatie_key IS NULL OR l.alg_locatie_key = " + locatie_key + ")";
|
|
}
|
|
if (gebouw_key > -1)
|
|
{
|
|
sql_where += " AND (l.alg_locatie_key IS NULL OR v.alg_gebouw_key = " + gebouw_key + ")";
|
|
}
|
|
if (verdieping_key > -1)
|
|
{
|
|
sql_where += " AND (l.alg_locatie_key IS NULL OR v.alg_verdieping_key = " + verdieping_key + ")";
|
|
}
|
|
}
|
|
if (bld_key > -1)
|
|
{ // In zoekpanel gebouw gekozen.
|
|
sql_where += ( bld_key == 0
|
|
? " AND m.mld_alg_onroerendgoed_keys IS NULL"
|
|
: " AND (v.alg_gebouw_key = " + bld_key + " OR v.alg_terreinsector_key = " + bld_key + ")"
|
|
);
|
|
}
|
|
|
|
if (srtdisc_key != -1 &&
|
|
srtdisc_key == S("cnd_gebreken_srtdisc_key")) {
|
|
params.mldstpen = false; // Status "Pending(0)".
|
|
params.mldstnew = false; // Status "Ingevoerd(2)".
|
|
params.mldstacc = false; // Status "Geaccepteerd(4)".
|
|
params.mldstuit = false; // Status "Uitgegeven(7)".
|
|
params.mldnieto = false; // Status "Niet opgelost(99)".
|
|
// Dit resulteert eigenlijk gewoon in een lijst met alle statussen (want alles false = alles tonen)
|
|
}
|
|
|
|
// Voeg aan de sql het FROM en WHERE gedeelte toe
|
|
var sqln_arr = mld.getfromwherelist_sql(autfunction, params);
|
|
|
|
// apply 3D authorization to the locations and to the organisations (both ALG and PRS)
|
|
sqln = discx3d (sql_select + sqln_arr[0] + sql_where,
|
|
["md.ins_discipline_key", "m.mld_ins_discipline_key"], // rechten op vakgroep OF op behandelteam
|
|
"di.alg_regio_key",
|
|
"l.alg_district_key",
|
|
"l.alg_locatie_key",
|
|
"v.alg_gebouw_key",
|
|
"v.alg_verdieping_key",
|
|
"v.alg_ruimte_key",
|
|
"b.prs_bedrijf_key",
|
|
"b.prs_afdeling_key",
|
|
autfunction,
|
|
[],
|
|
2)
|
|
+ " UNION "
|
|
+ sql_select + sqln_arr[1] + sql_where;
|
|
|
|
// Alleen groepering toepassen indien er 3 of meer vakgroepen zijn en meer dan 10 meldingen.
|
|
// Bepaal aantal vakgroepen en aantal meldingen.
|
|
var cnt_disc = 0; // Aantal vakgroepen.
|
|
var cnt_mld = 0; // Aantal meldingen.
|
|
var discipline = "";
|
|
// PF: Dit is wel een hele dure query (net zo als de echte) die je wilt voorkomen wanneer het kan zeg!
|
|
// Bijvoorbeeld niet als ik specifieke parameters gebruik, maar liever nog minder vaak
|
|
if (show_locatie)
|
|
{
|
|
var disc_oms = (group_type == 2 ? "NVL(ins_discipline_omschrijving, " + safe.qL("lcl_mld_no_team") + ")"
|
|
: "ins_discipline_omschrijving");
|
|
}
|
|
else if (ruimte_key == -1 && ins_key == -1)
|
|
{
|
|
var disc_oms = (group_type == 2 ? "NVL(ins_discipline_omschrijving, " + safe.qL("lcl_mld_no_team") + ")"
|
|
: "ins_discipline_omschrijving");
|
|
|
|
var sqln_count = "SELECT COUNT(1) nr_disc"
|
|
+ " , " + disc_oms + " discipline"
|
|
+ " FROM (" + sqln + ") rec2"
|
|
+ " GROUP BY " + disc_oms;
|
|
|
|
var oRs = Oracle.Execute(sqln_count);
|
|
while (!oRs.eof)
|
|
{
|
|
if (!cnt_disc) // alleen de eerste
|
|
{
|
|
discipline = oRs("discipline").Value;
|
|
}
|
|
cnt_disc++;
|
|
cnt_mld += oRs("nr_disc").Value;
|
|
oRs.MoveNext();
|
|
}
|
|
oRs.Close();
|
|
|
|
if (cnt_disc > p_cnt_disc && cnt_mld > p_cnt_mld)
|
|
show_disciplines = true;
|
|
|
|
if (res_ruimte_key == -1) // Anders zit de plaats al in de titel
|
|
{
|
|
if (group_type == 1)
|
|
{
|
|
if (cnt_disc == 1)
|
|
subject += " " + discipline;
|
|
else if (grp_sel != "")
|
|
subject += " " + grp_sel;
|
|
}
|
|
else if (group_type == 2)
|
|
{
|
|
if (cnt_disc == 1 && !show_disciplines)
|
|
{
|
|
if (discipline == L("lcl_mld_no_team"))
|
|
discipline = L("lcl_mld_without_team");
|
|
subject += " " + discipline;
|
|
}
|
|
else if (grp_sel != "")
|
|
{
|
|
if (grp_sel.toUpperCase() == "NULL")
|
|
subject += " " + L("lcl_mld_without_team");
|
|
else
|
|
subject += " " + grp_sel;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// PF: lijkt me ook niet altijd goed: wat is nou mogelijk zinvol?
|
|
if (S("mld_bo_sort_descending") == 0) var order_by = " mld_melding_einddatum";
|
|
if (S("mld_bo_sort_descending") == 1) var order_by = " mld_melding_key DESC";
|
|
if (S("mld_bo_sort_descending") == 2) var order_by = " recentdatum DESC";
|
|
if (urole == "fo") var order_by = " mld_melding_key DESC";
|
|
sqln = "SELECT * FROM (" + sqln + ") rec2"
|
|
+ (grp_sel == ""
|
|
? ""
|
|
: " WHERE ins_discipline_omschrijving" + (grp_sel.toUpperCase() == "NULL" ? " IS NULL"
|
|
: " = " + safe.quoted_sql(grp_sel)))
|
|
+ " ORDER BY"
|
|
+ ((show_locatie && p_loc_key == -1) ? " alg_locatie_omschrijving," : "")
|
|
+ ((show_disciplines && grp_sel == "") ? " ins_discipline_omschrijving NULLS FIRST," : "") // is dus al vertaald
|
|
+ order_by;
|
|
}
|
|
|
|
/* Grotendeels gekopieerd uit /MLD/mld_list.inc */
|
|
function fnrowClass(oRs)
|
|
{
|
|
if (oRs("mld_melding_parentkey").Value > 0)
|
|
return " child";
|
|
|
|
var mldStatus = oRs("mld_melding_status").Value;
|
|
var class1 = "";
|
|
if (urole != "fe")
|
|
{
|
|
var lnow = new Date();
|
|
// Alles wat al geaccepteerd had moeten zijn wordt expired1
|
|
// in deze statussen zijn geen opdrachten aanwezig dus kan nooit status unsolved optreden
|
|
if ((mldStatus == 2 || mldStatus == 3) && oRs("mld_melding_acceptdatum_std").Value < lnow)
|
|
class1 += ' expired1';
|
|
|
|
// Alles wat al klaar had moeten zijn wordt expired2
|
|
if (oRs("mld_stdmelding_planbaar").Value != 2 && (mldStatus == 4 || mldStatus == 7) && oRs("optijd").Value == 0)
|
|
class1 += ' expired2';
|
|
|
|
// Meldingen met uitgegeven(7) worden unsolved als er 0 lopende opdrachten zijn
|
|
// en meer dan 0 opdrachten so wie so (er zijn dus opdrachten geweest)
|
|
if (urole == "bo" && (mldStatus == 4 || mldStatus == 7)
|
|
&& oRs("nrOrders").Value > 0
|
|
&& oRs("nrActief").Value == 0) class1 += ' unsolved';
|
|
|
|
// Als de melding klaar is, maar nog niet alle opdrachten, of nog loopt
|
|
// met niet alle opdrachten klaar, dan ook extra attentie (UWVA#20684)
|
|
if (((mldStatus == 5 || mldStatus == 6) && oRs("nrActief").Value > 0)
|
|
||(mldStatus == 7 && oRs("nrActief").Value > 0 && oRs("nrActief").Value < oRs("nrOrders").Value))
|
|
class1 += ' unready';
|
|
|
|
// Meldingen waaraan je nog niet hoeft te beginnen tonen we sleepy.
|
|
if (oRs("mld_melding_datum").Value > lnow) class1 += ' sleepy';
|
|
}
|
|
|
|
var recent = new Date();
|
|
recent.setMinutes(recent.getMinutes() - S("mld_melding_recent"));
|
|
var mld_recent = new Date(oRs("recentdatum").Value);
|
|
if (mld_recent > recent)
|
|
{
|
|
class1 += " updated";
|
|
}
|
|
|
|
// Voor een vervolgmelding.
|
|
if (oRs("isVervolg").Value)
|
|
class1 += " vervolg";
|
|
|
|
return safe.htmlattr(class1);
|
|
}
|
|
|
|
function fnUrgentie(oRs)
|
|
{
|
|
var displ = "";
|
|
switch (oRs("mld_melding_spoed").Value)
|
|
{
|
|
case 1 : displ = "<span id='urg_kritiek1'>" + I("fa-exclamation-triangle fa-2x", { fastyle: "fas" }) + " </span>"; break;
|
|
case 2: displ = "<span id='urg_hoog1'>" + I("fa-exclamation-triangle fa-2x", { fastyle: "fas" }) + " </span>"; break;
|
|
//case 3: Normaal heeft geen plaatje.
|
|
case 4: displ = "<span id='urg_laag1'>" + I("fa-arrow-circle-down") + " </span>"; break;
|
|
case 5: displ = "<span id='urg_hold1'>" + I("fa-pause-circle") + " </span>"; break;
|
|
}
|
|
displ = (oRs("mld_melding_status").Value == 2? L("lcl_new") : "") + displ;
|
|
return displ;
|
|
}
|
|
|
|
function fncolLink(oRs)
|
|
{
|
|
var url = "";
|
|
|
|
if ((show_locatie && p_loc_key == -1) || (show_disciplines && grp_sel == ""))
|
|
{
|
|
url = rooturl + "/appl/pda/mld_list.asp"
|
|
+ "?urole="+urole
|
|
+ (self > 0? "&self=" + self : "")
|
|
+ (group_type & 2 ? "&grpby=2" : "")
|
|
+ "&behandel=" + behandel3_key
|
|
+ (status.length > 0? "&status=" + status.join(",") : "")
|
|
+ (ins_key > -1? "&ins_key=" + ins_key : "")
|
|
+ (bld_key > -1? "&bld_key=" + bld_key : "")
|
|
+ (srtdisc_key > -1? "&srtdisc=" + srtdisc_key : "")
|
|
+ "&fase=" + fase
|
|
+ "&actiecodeFE=" + actiecodeFE
|
|
+ (actiecodeATT == "on" ? "&actiecodeATT=on" : "")
|
|
+ "&searchtekst=" + safe.urlUTF8(searchtekst)
|
|
+ "&cnt_disc=" + p_cnt_disc + "&cnt_mld=" + p_cnt_mld;
|
|
|
|
if (show_locatie && p_loc_key == -1)
|
|
{
|
|
url += "&loc_key=" + (oRs("alg_locatie_key").Value || "");
|
|
}
|
|
else if (show_disciplines && grp_sel == "")
|
|
{
|
|
url += "&loc_key=" + p_loc_key
|
|
+ "&grp=" + encodeURIComponent(oRs("ins_discipline_omschrijving").Value || "null");
|
|
}
|
|
|
|
// neem de expliciete flags mee
|
|
for (flagkey=0; flagkey < S("mld_melding_flags"); flagkey++)
|
|
{
|
|
var xflag = getQParam("flag" + flagkey, "x");
|
|
if (xflag == "on")
|
|
url+= "&flag" + flagkey + "=on";
|
|
else if (xflag == "off")
|
|
url += "&flag" + flagkey + "=off";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
url = rooturl + "/appl/pda/melding.asp?mld_key=" + oRs("mld_melding_key").Value;
|
|
}
|
|
|
|
return url;
|
|
};
|
|
|
|
function fncolIcon(oRs) {
|
|
var img = "";
|
|
if (group) {
|
|
if ((group_type & 4) != 4 && show_disciplines) {
|
|
img = oRs("ins_discipline_image").Value;
|
|
}
|
|
} else {
|
|
img = oRs("mld_stdmelding_image").Value;
|
|
}
|
|
if ((img || "").match(/fa-/)) {
|
|
return img;
|
|
}
|
|
}
|
|
|
|
function fncolGroup(oRs)
|
|
{
|
|
var tekst = "";
|
|
if ((group_type & 4) == 4) // groeperen op locatie
|
|
tekst = safe.html(oRs("alg_locatie_omschrijving").Value || L("lcl_mld_no_alg_loc"));
|
|
else if (show_disciplines) {
|
|
if ((group_type & 2) == 2) // groeperen op behandelteam
|
|
tekst = safe.html(oRs("ins_discipline_omschrijving").Value || L("lcl_mld_no_team"));
|
|
else // groeperen op vakgroep
|
|
tekst = safe.html(oRs("ins_discipline_omschrijving").Value);
|
|
}
|
|
return tekst;
|
|
};
|
|
|
|
function fncolHeader(oRs)
|
|
{
|
|
var tekst = (oRs("ins_srtdiscipline_prefix").Value || "") + oRs("mld_melding_key").Value;
|
|
if (S("mld_num_prefix_mode") > 0 && oRs("mld_prefix").Value)
|
|
tekst = oRs("mld_prefix").Value + "#" + tekst;
|
|
return tekst;
|
|
};
|
|
|
|
function fnDetailColumn(oRs)
|
|
{
|
|
var tekst = oRs("mld_stdmelding_omschrijving").Value;
|
|
if (ruimte_key > -1 || ins_key > -1 || (cnt_disc > 1 && grp_sel == ""))
|
|
tekst += " (" + safe.html(oRs("ins_discipline_omschrijving").Value || L("lcl_mld_no_team")) + ")";
|
|
return tekst;
|
|
}
|
|
|
|
function fncolSubHeader(oRs)
|
|
{
|
|
var flagkey = (S("mld_melding_flags") > 0 && urole!="fe" && oRs("mld_melding_flag").Value)||0;
|
|
var actiecode = oRs("mld_melding_actiecode").Value;
|
|
var subheader = "<div class='listbodykop'>"
|
|
+ (oRs("melder").Value != oRs("behandelaar").Value
|
|
? I("fa-user") + " " + safe.html(oRs("melder").Value)
|
|
: ""
|
|
)
|
|
+ (actiecode & 128 ? "<span class='ac128'>" + I("fa-bell", { fastyle: "fas" }) + " " + L("lcl_mld_actiecodeATT") + "</span>" : "")
|
|
+ (actiecode & 2 ? "<span class='ac2'>" + I("fa-user-circle", { fastyle: "fas" }) + " " + L("lcl_mld_actiecodeFE") + "</span>" : "")
|
|
+ (oRs("melder").Value != oRs("behandelaar").Value || actiecode & 128 || actiecode & 2 ? "<br>" : "")
|
|
+ (oRs("plaatsmelding").Value? I("fa-map-marker") + " " + safe.html(oRs("plaatsmelding").Value) + "<br>" : "")
|
|
+ ((oRs("mld_stdmelding_planbaar").Value&2) != 2
|
|
? I("fa-clock") + " " + toDateTimeString(oRs("mld_melding_einddatum").Value, false, false, true) + "<br>"
|
|
: ""
|
|
)
|
|
+ (flagkey ? "<span class='mldflag"+flagkey+"'>" + I("fa-fclt-flag") + "</span> " + L("lcl_mld_flag" + flagkey)+ "<br>" : "")
|
|
+ (oRs("behandelaar").Value
|
|
? I("fa-hand-point-right") + " " + safe.html(oRs("behandelaar").Value)
|
|
: ""
|
|
)
|
|
+ "</div>"
|
|
+ (oRs("mld_melding_onderwerp").Value != null ? "<span class='subject'>" + safe.html(oRs("mld_melding_onderwerp").Value) + "</span><br>" : "")
|
|
+ (oRs("mld_melding_omschrijving").Value? "<div class='listbodytext limit-lines-2'>" + safe.html(shorttxt(shared.stripbbcodes(oRs("mld_melding_omschrijving").Value), S("rs_mobile_maxchar"))) + "</div>" : "");
|
|
var flexkenmerken = LIST_KENMERK_COL(oRs, {kmcol: "flex"});
|
|
|
|
return subheader + flexkenmerken;
|
|
};
|
|
|
|
function fncolStatus(oRs)
|
|
{
|
|
var mldStatus = parseInt(oRs("mld_melding_status").Value);
|
|
var mld_status = mld.getmldstatustext(mldStatus);
|
|
|
|
return mld_status;
|
|
}
|
|
|
|
PAGE_START({ datacache: false });
|
|
|
|
%>
|
|
<script>
|
|
function mld_filter()
|
|
{
|
|
document.forms.mld_filter_list.submit();
|
|
}
|
|
|
|
function mld_close(mld_key_arr) {
|
|
$.post( "<%=rooturl%>/appl/mld/mld_close_save.asp?mld_key=" + mld_key_arr.join(",")
|
|
, McltCallbackRefresh
|
|
, "json");
|
|
}
|
|
|
|
function mld_home()
|
|
{
|
|
window.location.href = rooturl + "/appl/pda/Facilitor.asp";
|
|
}
|
|
|
|
function changeGebouw()
|
|
{
|
|
if ($("#bld_key").val() == -1)
|
|
{
|
|
$("#bld_key option").filter(function()
|
|
{ return $(this).text() == L("lcl_bld_terra");}
|
|
).prop("selected", true);
|
|
}
|
|
}
|
|
|
|
$(function()
|
|
{ changeGebouw();
|
|
}
|
|
);
|
|
|
|
</script>
|
|
|
|
<% FILTER_PANEL_START(); %>
|
|
<form name="u2" id="mld_filter_list" action="<%=rooturl%>/appl/pda/mld_list.asp" method="get" accept-charset="utf-8">
|
|
<input type="hidden" name="grp" id="grp" value="<%=safe.htmlattr(grp_sel)%>">
|
|
<input type="hidden" name="urole" value="<%=urole%>">
|
|
<input type="hidden" name="grpby" id="grpby" value="<%=group_type%>">
|
|
<input type="hidden" name="qrc" id="qrc" value="<%=(qrc ? 1 : 0)%>">
|
|
<input type="hidden" name="deelsrtcont_key" id="deelsrtcont_key" value="<%=deelsrtcont_key%>">
|
|
<input type="hidden" name="meldbron_key" id="meldbron_key" value="<%=meldbron_key%>">
|
|
<input type="hidden" name="srtdisc" id="srtdisc" value="<%=srtdisc_key%>">
|
|
<input type="hidden" name="has_actiecodeFE" id="has_actiecodeFE" value="<%=has_actiecodeFE%>">
|
|
<input type="hidden" name="cnt_disc" id="cnt_disc" value="<%=p_cnt_disc%>">
|
|
<input type="hidden" name="cnt_mld" id="cnt_mld" value="<%=p_cnt_mld%>">
|
|
<%
|
|
if (S("mld_melding_flags") > 1)
|
|
{
|
|
CONTROLGROUP_START();
|
|
for (flagkey=0; flagkey < S("mld_melding_flags"); flagkey++) {
|
|
var label_html = '<span class="mldflag' + flagkey + ' flag">' + I("fa-fclt-flag" + (flagkey == 0 ? "0" : ""))
|
|
+ ' <span>' + L("lcl_mld_flag" + flagkey)
|
|
+ '</span>';
|
|
CHB_FIELD("flag" + flagkey, label_html, checkboxParams[flagkey] == "on", { "inline": true });
|
|
}
|
|
CONTROLGROUP_END();
|
|
}
|
|
|
|
CONTROLGROUP_START();
|
|
|
|
CHB_FIELD("actiecodeFE", I("fa-user-circle", { fastyle: "fas" }) + "<span>" + L("lcl_mld_actiecodeFEchk") + "</span>", (actiecodeFE == "on"), { "inline": true });
|
|
CHB_FIELD("actiecodeATT", I("fa-bell", { fastyle: "fas" }) + "<span>" + L("lcl_mld_actiecodeATTchk") + "</span>", (actiecodeATT == "on"), { "inline": true });
|
|
|
|
CONTROLGROUP_END();
|
|
if (S("mld_restrict_mobile_to_me") == 1 && self <= 0)
|
|
{
|
|
%>
|
|
<input type="hidden" name="self" id="mldbehall" value="-1">
|
|
<% }
|
|
else
|
|
{
|
|
CONTROLGROUP_START();
|
|
|
|
var radios = [
|
|
{ id: "mldbehall", value: "-1", checked: (self <= 0), label: L("lcl_mld_melding_all") },
|
|
{ id: "mldbehown", value: "1", checked: (self > 0), label: L("lcl_mld_melding_own") }
|
|
];
|
|
RADIO_GROUP("self", radios);
|
|
|
|
CONTROLGROUP_END();
|
|
}
|
|
|
|
if (status.length == 0) {
|
|
CONTROLGROUP_START();
|
|
CHB_FIELD("mldtebeh", L("lcl_mld_chk_bo_mldNew"), (fase & 1) == 1, { "inline": true });
|
|
CHB_FIELD("mldinbeh", L("lcl_mld_chk_bo_mldSelf"), (fase & 2) == 1, { "inline": true });
|
|
CHB_FIELD("mldafm", L("lcl_mld_chk_bo_mldAfm"), (fase & 4) == 1, { "inline": true });
|
|
CONTROLGROUP_END();
|
|
}
|
|
|
|
CONTROLGROUP_START();
|
|
if (behandel3_key < 0 && !(S("mld_restrict_mobile_to_me") == 1 && self <= 0))
|
|
{
|
|
%>
|
|
<label for="behandel"><%=safe.html(L("lcl_mld_no_handler"))%></label>
|
|
<select name="behandel" id="behandel" class="<%=MOBILE_UI_CLASSES.select%>">
|
|
<option value="-2" <%=((behandel3_key == -2) ? "selected" : "")%> ><%=safe.html(L("lcl_Yes"))%></option>
|
|
<option value="-1" <%=((behandel3_key == -1) ? "selected" : "")%> ><%=safe.html(L("lcl_No"))%></option>
|
|
</select>
|
|
<% }
|
|
CONTROLGROUP_END();
|
|
|
|
CONTROLGROUP_START();
|
|
%> <input type="text" placeholder="<%=L("lcl_call_number")%>" class="<%=MOBILE_UI_CLASSES.input%>" id="mld_key" name="mld_key" <%=(mld_key > 0) ? "value='" + mld_key + "'" : ""%>>
|
|
<input type="text" placeholder="<%=L("lcl_search_diff_fields")%>" class="<%=MOBILE_UI_CLASSES.input%>" id="searchtekst" name="searchtekst" <%=(searchtekst != "") ? "value='" + safe.htmlattr(searchtekst) + "'" : ""%>>
|
|
<%
|
|
if (inArray(filterLevel, ["L", "D", "A"])) { // Anders is een gebouwfilter niet relevant
|
|
|
|
// Gebruiken we uberhaupt plaatsen bij meldingen?
|
|
var sql = "SELECT 1 FROM ins_srtdiscipline WHERE ins_srtdiscipline_alg <> 0";
|
|
var oRs = Oracle.Execute(sql);
|
|
var anyPlace = !oRs.eof;
|
|
oRs.close();
|
|
|
|
if (anyPlace) {
|
|
var sqlbld_select = "";
|
|
var sqlbld_where = "";
|
|
switch (filterLevel) {
|
|
case "L": sqlbld_where = "b.alg_locatie_key = " + locatie_key;
|
|
break;
|
|
case "D": sqlbld_select = "l.alg_locatie_code || '-' || ";
|
|
sqlbld_where = "l.alg_district_key = " + district_key;
|
|
break;
|
|
case "A": sqlbld_select = "l.alg_locatie_code || '-' || ";
|
|
sqlbld_where = "1 = 1";
|
|
break;
|
|
}
|
|
|
|
var sqlbld = "SELECT 0, " + safe.quoted_sql(L("lcl_mld_no_bld_ter")) + " FROM DUAL"
|
|
+ " UNION "
|
|
+ "SELECT alg_terreinsector_key, " + sqlbld_select + "alg_terreinsector_naam"
|
|
+ " FROM alg_v_aanwezigterreinsector b, alg_locatie l"
|
|
+ " WHERE b.alg_locatie_key = l.alg_locatie_key"
|
|
+ " AND " + sqlbld_where
|
|
+ " UNION "
|
|
+ "SELECT alg_gebouw_key, " + sqlbld_select + "alg_gebouw_naam"
|
|
+ " FROM alg_v_aanweziggebouw b, alg_locatie l"
|
|
+ " WHERE b.alg_locatie_key = l.alg_locatie_key"
|
|
+ " AND " + sqlbld_where
|
|
+ " ORDER BY 2";
|
|
|
|
FCLTselector( "bld_key"
|
|
, sqlbld
|
|
, { label: L("lcl_bld_terra")
|
|
, initKey: bld_key
|
|
, placeholder: true
|
|
, emptyOption: ""
|
|
, onChange: "changeGebouw()"
|
|
, mobile: true
|
|
});
|
|
}
|
|
}
|
|
|
|
CONTROLGROUP_END();
|
|
|
|
CONTROLGROUP_START();
|
|
BUTTON(L("lcl_mobile_panel_filter"), { id: "search_submit", click: "mld_filter()", icon: "fa-fclt-refresh" });
|
|
CONTROLGROUP_END();
|
|
%>
|
|
</form>
|
|
<% FILTER_PANEL_END();
|
|
var withContext = (ruimte_key > -1 || ins_key > -1 || rsv_ruimte_key > -1);
|
|
var multiactions = [];
|
|
if (user.has("WEB_MLDFOF") || user.has("WEB_MLDBOF")) {
|
|
multiactions.push({ icon: "fa-flag-checkered", action: "mld_close", caption: L("lcl_close") });
|
|
}
|
|
var group = (show_locatie && p_loc_key == -1) || (show_disciplines && grp_sel == "");
|
|
|
|
HEADER({
|
|
title: subject,
|
|
back: (!qrc && withContext),
|
|
filterPanel: !withContext,
|
|
addaction: canAdd? (rooturl + "/appl/pda/melding.asp?mld_key=-1" + (ins_key > -1? "&ins_key=" + ins_key : "") + (ruimte_key > -1? "&ruimte_key=" + ruimte_key : "") + "&meldbronkey=" + meldbron_key + (deelsrtcont_key>-1 ? "&deelsrtcont_key=" + deelsrtcont_key : "")) : false,
|
|
multiactions: !group && multiactions.length
|
|
});
|
|
CONTENT_START();
|
|
|
|
var rst = new ResultsetTable({sql: sqln,
|
|
keyColumn: "mld_melding_key",
|
|
groupColumn: (group ? fncolGroup : null),
|
|
groupSelect: "",
|
|
rowClass: fnrowClass,
|
|
linkColumn: fncolLink,
|
|
iconColumn: fncolIcon,
|
|
headerColumn: fncolHeader,
|
|
detailColumn: fnDetailColumn,
|
|
asideColumn: fnUrgentie,
|
|
subheaderColumn: fncolSubHeader,
|
|
ID: "complainstable",
|
|
multiactions: multiactions,
|
|
showAll: true
|
|
});
|
|
|
|
var cnt = rst.processResultset();
|
|
|
|
CONTENT_END();
|
|
FOOTER();
|
|
PAGE_END();
|
|
PDA_PAGE_END(); %>
|
|
</body>
|
|
</html>
|
|
<% ASPPAGE_END(); %>
|