652 lines
31 KiB
Plaintext
652 lines
31 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: opdr_search.asp (formerly orders_search.asp;35, ComplainsReportAll.asp;72)
|
|
Description: Toont zoekvelden voor lijst van opdrachten
|
|
Parameters: {NADER UITWERKEN}
|
|
urole gebruikers rol (fe|fo|bo|mi) REQUIRED
|
|
accept = 1 als ik MLDBO3 autorisatie heb, mag ik alleen accepteren
|
|
close = 1 als ik MLDBO2 autorisatie heb, mag ik de melding alleen afsluiten
|
|
mld_key melding key van de melding
|
|
cnt aanroep vanuit een contract
|
|
skey x
|
|
ckey contract key
|
|
pkey melder (key)van de melding
|
|
bes x
|
|
locatie_key initiële locatie key
|
|
gebouw_key initiële gebouw key
|
|
Context: Vanuit portal, melding, of cnt_list, of..
|
|
Note: In principe kan voor elk veld een parameter worden gegeven (conventies hanteren!)
|
|
Note: Toevoegen gaat niet meer hier vandaan, dus er is heel wat verdwenen
|
|
*/ %>
|
|
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/iface.inc" -->
|
|
<!-- #include file="../Shared/calendar.inc" -->
|
|
<!-- #include file="../Shared/selector.inc" -->
|
|
<!-- #include file="../Shared/plaatsselector.inc" -->
|
|
<!-- #include file="../Shared/uitvoerendeselector.inc" -->
|
|
<!-- #include file="../Shared/persoonselector.inc" -->
|
|
<!-- #include file="../Shared/xd.inc" -->
|
|
<!-- #include file="mld.inc" -->
|
|
|
|
<%
|
|
// suggest en jQuery worden door persoonselector.inc, plaatsselector.inc en afdelingselector.inc al als plugin toegevoegd
|
|
// plaatsselector.js wordt door plaatsselector.inc als js script toegevoegt
|
|
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"],
|
|
js: ["../MLD/opdr_search.js"]
|
|
});
|
|
|
|
/***** Get webform parameters *****/
|
|
var urole = getQParamSafe("urole");
|
|
|
|
// FSN#674 Intention: backo may fully handle its orders (including Add), fronto has limited rights
|
|
var fronto = urole == "fo";
|
|
var backo = urole == "bo";
|
|
var minfo = urole == "mi"; // NOT APPLICABLE?
|
|
var frontend = (urole == "fe" || (!fronto & !backo & !minfo));
|
|
|
|
// LET OP: voorheen keken we of MLDBO2 of MLDBO3 wellicht gold als MLDBOF
|
|
// niet geldig was. Nu doen we dat door parameters
|
|
var justClose = (urole == "b2");
|
|
|
|
// PREFILL PARAMETERS:
|
|
var mld_key = getQParamInt("mld_key", -1);
|
|
var autosearch = getQParamInt("autosearch", 0) == 1;
|
|
var opdr_num = getQParam("opdr_key", -1); // unsafe
|
|
var cnt = (getQParamInt("cnt", 0) == 1);
|
|
var bes = (getQParamInt("bes", 0) == 1);
|
|
var offerte = getQParamInt("offerte", -1); // Opdrachttype is een offerteaanvraag. Kan -1:don't care, 0:niet, 1:wel zijn.
|
|
var cnt_key = getQParamInt("ckey", -1);
|
|
var pkey = (frontend ? user_key : -1)
|
|
var behandel_key = getQParamInt("behandel_key", -1); // Behandelaar
|
|
var locatie_key = getQParamInt("locatie_key", -1);
|
|
var gebouw_key = getQParamInt("gebouw_key", -1);
|
|
var opdrtype_key = getQParamInt("opdrtype_key", -1);
|
|
var date_from = getQParamDate("date_from", null);
|
|
var date_to = getQParamDate("date_to", null);
|
|
var handler_key = getQParamInt("handler_key", -1); // Uitvoerende
|
|
var FreezeHandler = getQParamInt("fh", -1) == 1; // FreezeHandler
|
|
var searchtekst = getQParam("searchtekst", ""); // Zoektekst
|
|
|
|
// Voor het praktisch toepassen moet er ook een handler zijn voor initKey
|
|
FreezeHandler = FreezeHandler && (handler_key != -1 || (frontend && !justClose));
|
|
|
|
var alg_startlevel = getQParamInt("alg_startlevel", (bes? 3 : 2)); // Startlevel van plaatsselector (Regio/Locatie). Standaard is locatie (2) of gebouw (3)
|
|
var srtdisc = getQParamInt("srtdisc", -1); // Soort melding
|
|
var disc_key_arr = getQParamIntArray("disc_key_str", []); // Productgroep
|
|
var meldinggrp_key = getQParamInt("meldinggrp_key", -1); // Meldinggroep
|
|
var behandelgrp_key = getQParamInt("behandelgrp_key", -1); // Behandelgroep
|
|
var stdm_arr = getQParamIntArray("stdm_str", []); // Melding (Stdmelding)
|
|
if (stdm_arr.length != 0 && disc_key_arr.length == 0 && srtdisc == -1)
|
|
{
|
|
sql = "SELECT mld_ins_discipline_key"
|
|
+ ", ins_srtdiscipline_key"
|
|
+ " FROM mld_stdmelding s"
|
|
+ ", mld_discipline m"
|
|
+ " WHERE s.mld_ins_discipline_key = m.ins_discipline_key"
|
|
+ " AND mld_stdmelding_key IN (" + stdm_arr.join(",") + ")";
|
|
oRs = Oracle.Execute(sql);
|
|
if (!oRs.eof)
|
|
{
|
|
disc_key_arr = [oRs("mld_ins_discipline_key").value];
|
|
srtdisc = oRs("ins_srtdiscipline_key").value;
|
|
}
|
|
}
|
|
|
|
if (opdrtype_key > 0)
|
|
lcl.set_dialect(opdrtype_key, "MLD_TYPEOPDR_KEY");
|
|
|
|
/***** End get webform parameters *****/
|
|
|
|
// So what authorization must we check?
|
|
var autfunction = {fe: "WEB_MLDORD", bo: "WEB_ORDBOF", b2: "WEB_ORDBO2"}[urole];
|
|
|
|
//@@@ Er stond in 4.81 ook nog: if (func_enabled[cnt? "WEB_CNTMAN" : autfunction]) ...
|
|
// MGE: Je hebt dus WEB_CNTMAN rechten nodig als je wordt aangeroepen vanuit contracten => Ook even checken of je die wel hebt
|
|
if (cnt)
|
|
var authparams = user.checkAutorisation("WEB_CNTUSE"); // Stelling: Als je WEB_CNTMAN rechten hebt moet je ook dezelfde WEB_CNTUSE rechten hebben/krijgen.
|
|
var authparams = user.checkAutorisation(autfunction);
|
|
|
|
// Fast check to see if we have anything to do with geographics
|
|
sql= "SELECT 1 FROM ins_srtdiscipline WHERE (ins_srtdiscipline_alg=1 OR ins_srtdiscipline_ins=1 OR ins_srtdiscipline_bes=1) AND ROWNUM = 1";
|
|
oRs = Oracle.Execute(sql);
|
|
var anygeo = !oRs.eof;
|
|
oRs.close();
|
|
|
|
// Fast check to see if we have anything to do with call groups
|
|
sql= "SELECT 1 FROM mld_stdmeldinggroep WHERE ROWNUM = 1";
|
|
oRs = Oracle.Execute(sql);
|
|
var anymldgroup = !oRs.eof;
|
|
oRs.close();
|
|
|
|
// Fast check to see if we have any delivery adresses
|
|
sql= "SELECT 1 FROM mld_adres WHERE mld_adres_verwijder IS NULL AND mld_adres_afleveradres IS NOT NULL AND ROWNUM = 1";
|
|
oRs = Oracle.Execute(sql);
|
|
var anydeladr = !oRs.eof;
|
|
oRs.close();
|
|
|
|
%>
|
|
|
|
<html>
|
|
<head>
|
|
<% FCLTHeader.Generate(); %>
|
|
|
|
<script type="text/javascript">
|
|
function doSubmit()
|
|
{
|
|
<% if (xd.enabled()) { %>
|
|
if ($("#xd").is(":checked"))
|
|
{
|
|
$("form[name=u2]").attr("action", "opdr_search_list_xd.asp");
|
|
} else {
|
|
$("form[name=u2]").attr("action", "opdr_search_list.asp");
|
|
}
|
|
<% } %>
|
|
doSubmitWithKenmerken();
|
|
}
|
|
<% if (xd.enabled()) { %>
|
|
function xdclicked()
|
|
{
|
|
var doxd = document.getElementById("xd").checked;
|
|
$(".noxd").toggle(!doxd);
|
|
$(".onlyxd").toggle(doxd);
|
|
iface_toggleSecondarySearchblock(false); // altijd uitschakelen
|
|
}
|
|
<% } %>
|
|
function myModal()
|
|
{
|
|
if ($('#opdrtype').val() == -1)
|
|
{
|
|
alert(L("lcl_select_notypeopdr_selected"));
|
|
return;
|
|
}
|
|
|
|
var key = $('#opdrtype').val();
|
|
var url = "load_kenmerk.asp?opdr_type=" + $('#opdrtype').val()
|
|
+ "&urole=<%=urole%>"
|
|
+ "&advanced=1";
|
|
var titel = "<%=L("lcl_mld_ord_kenmerken")%>";
|
|
showKenmerkModal(url, titel)
|
|
}
|
|
<%
|
|
if (autosearch)
|
|
{
|
|
%> $(document).ready(doSubmit);
|
|
<% } %>
|
|
</script>
|
|
</head>
|
|
|
|
<body id="searchbody">
|
|
<div id="search">
|
|
<form action="opdr_search_list.asp" method="get" name="u2" target="workFrame">
|
|
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
|
<tr>
|
|
<td class="searchkolom1">
|
|
<input type="hidden" name="urole" value="<%=urole%>">
|
|
<input type="hidden" name="user_key" value="<%=user_key%>">
|
|
<input type="hidden" name="bes" value="<%=bes? 1 : 0%>">
|
|
<input type="hidden" name="offerte" id="offerte" value="<%=offerte%>">
|
|
<table><!-- x rijen, 2 kolommen: label + veld -->
|
|
<%
|
|
if (xd.enabled())
|
|
RWCHECKBOXTR("xd", "fldxd", L("lcl_xd_crossdomain"), false, {html: "onclick='xdclicked()'"});
|
|
%>
|
|
<tr class="primsearch">
|
|
<!-- Opdrachtnummer -->
|
|
<td class="label"><label for="opdr_key"><%=L("lcl_mld_order_nr")%>:</label></td>
|
|
<td>
|
|
<input type="text" class="fldopdrnr" name="opdr_key" <%=(opdr_num != -1) ? "value='" + safe.htmlattr(opdr_num) + "'" : ""%>>
|
|
</td>
|
|
</tr>
|
|
|
|
<% if (cnt)
|
|
{ // <!-- Extern nummer -->
|
|
sql = "SELECT c.cnt_contract_key"
|
|
+ ", c.cnt_contract_nummer || ' - ' || b.prs_bedrijf_naam"
|
|
+ " FROM cnt_v_aanwezigcontract c"
|
|
+ ", prs_v_aanwezigbedrijf b"
|
|
+ " WHERE c.cnt_prs_bedrijf_key = b.prs_bedrijf_key"
|
|
+ " AND c.cnt_contract_status IN (0, 1)"
|
|
+ " ORDER BY 2";
|
|
|
|
FCLTselector("contract",
|
|
sql,
|
|
{ initKey: cnt_key,
|
|
label: L("lcl_cnt_contractnr"),
|
|
emptyOption: "",
|
|
trclass:"primsearch noxd",
|
|
initEmpty: true, // Altijd lege waarde tonen, ook als er maar 1 waarde is.
|
|
readonly: (cnt_key > 0)
|
|
})
|
|
%>
|
|
<!-- Contractnummer -->
|
|
<tr class="primsearch noxd">
|
|
<td class="label"><label for="cntnr"><%=L("lcl_cnt_intern_nr")%>:</label></td>
|
|
<td>
|
|
<input type="text" class="fldcntnr<%=cnt_key > 0? " readonly" : ""%>" name="cntnr" <%=cnt_key != -1? 'value="' + cnt_key + '"':''%> <%=cnt_key > 0? "readonly" : ""%>>
|
|
</td>
|
|
</tr>
|
|
<% } // cnt
|
|
%>
|
|
<!-- Zoektekst -->
|
|
<tr class="primsearch">
|
|
<td class="label"><label for="searchtekst"><%=L("lcl_search_diff_fields")%>:</label></td>
|
|
<td>
|
|
<input type="text" class="fldsrch wildcard" name="searchtekst" value="<%=safe.htmlattr(searchtekst)%>">
|
|
</td>
|
|
</tr>
|
|
<%
|
|
// <!-- Opdrachttype -->
|
|
%>
|
|
<tr class="primsearch onlyxd hidden">
|
|
<td class="label"><label for="ordertypetekst"><%=L("lcl_mld_typeopdr")%>:</label></td>
|
|
<td>
|
|
<input type="text" class="fldsrch wildcard" name="ordertypetekst" value="">
|
|
</td>
|
|
</tr>
|
|
|
|
<%
|
|
if (opdrtype_key == -1)
|
|
{
|
|
sql = "SELECT t.mld_typeopdr_key"
|
|
+ ", "+ lcl.xsqla('t.mld_typeopdr_omschrijving', 't.mld_typeopdr_key')
|
|
+ " FROM mld_typeopdr t"
|
|
+ (offerte >= 0
|
|
? " WHERE t.mld_typeopdr_isofferte = " + offerte
|
|
: "")
|
|
+ " ORDER BY 2";
|
|
|
|
var sqlcnt = "SELECT COUNT ( * ) nropdrtype"
|
|
+ " FROM (" + sql + ")";
|
|
|
|
var oRs2 = Oracle.Execute(sqlcnt);
|
|
if (oRs2("nropdrtype").Value == 1)
|
|
{
|
|
var oRs = Oracle.Execute(sql);
|
|
opdrtype_key = oRs("mld_typeopdr_key").Value;
|
|
oRs.close();
|
|
}
|
|
oRs2.close();
|
|
|
|
if (opdrtype_key == -1)
|
|
{
|
|
FCLTselector("opdrtype",
|
|
sql,
|
|
{ initKey: opdrtype_key,
|
|
label: L("lcl_mld_typeopdr"),
|
|
trclass:"primsearch noxd",
|
|
emptyOption: ""
|
|
});
|
|
}
|
|
}
|
|
|
|
if (opdrtype_key > -1)
|
|
{
|
|
%><input type='hidden' id='opdrtype' name='opdrtype' value='<%=opdrtype_key%>'><%
|
|
}
|
|
%>
|
|
|
|
<%
|
|
|
|
// <!-- Uitvoerende -->
|
|
// Ben ik toevallig een contactpersoon van een extern bedrijf? Dan mag ik automatisch
|
|
// alleen de opdrachten van mijn bedrijf/bedrijven zien (AADS#)
|
|
var exhandler = mld.iamContact();
|
|
|
|
if (FreezeHandler)
|
|
{ // Uitvoerende is vast
|
|
%><input name="handler" id="handler" type="hidden" value="<%=(handler_key != -1 ? handler_key : user_key)%>"><%
|
|
} else {
|
|
%>
|
|
<tr class="primsearch onlyxd hidden">
|
|
<td class="label"><label for="suppliertekst"><%=L("lcl_handler")%>:</label></td>
|
|
<td>
|
|
<input type="text" class="fldsrch wildcard" name="suppliertekst" value="">
|
|
</td>
|
|
</tr>
|
|
|
|
<% FCLTuitvoerendeselector("handler",
|
|
"sgUitv",
|
|
{ uitvoerendekey: handler_key,
|
|
label: L("lcl_handler"),
|
|
trclass:"primsearch noxd",
|
|
autlevel: authparams.PRSreadlevel,
|
|
whenEmpty: L("lcl_search_generic"), // want filter
|
|
filtercode: "M",
|
|
lutype: "B", // Eeh, filtercode en lutype hebben toch alles met elkaar te maken, lutype wegwerken?
|
|
exhandler: exhandler
|
|
});
|
|
}
|
|
|
|
// Als een srtdisc meegegeven dan geen lege optie
|
|
sql = "SELECT DISTINCT sd.ins_srtdiscipline_key"
|
|
+ ", "+ lcl.xsqla('sd.ins_srtdiscipline_omschrijving', 'sd.ins_srtdiscipline_key')
|
|
+ " FROM ins_srtdiscipline sd"
|
|
+ (offerte >= 0
|
|
? " , mld_typeopdr_srtdiscipline tsd"
|
|
+ " , mld_typeopdr mto"
|
|
+ " WHERE sd.ins_srtdiscipline_key = tsd.ins_srtdiscipline_key"
|
|
+ " AND tsd.mld_typeopdr_key = mto.mld_typeopdr_key"
|
|
+ " AND mto.mld_typeopdr_isofferte = " + offerte
|
|
: " WHERE 1 = 1")
|
|
+ " AND EXISTS (SELECT 'x'"
|
|
+ " FROM mld_stdmelding ms"
|
|
+ ", mld_v_aanwezigdiscipline m1"
|
|
+ " WHERE m1.ins_discipline_key = ms.mld_ins_discipline_key"
|
|
+ " AND ms.mld_stdmelding_verwijder IS NULL)"
|
|
+ " AND EXISTS (SELECT 'y'"
|
|
+ " FROM fac_v_my_disciplines md"
|
|
+ " , mld_v_aanwezigdiscipline m1"
|
|
+ " WHERE fac_functie_code = " + safe.quoted_sql(autfunction) + " "
|
|
+ " AND prs_perslid_key = " + user_key
|
|
+ " AND m1.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
|
+ " AND md.ins_discipline_key = m1.ins_discipline_key"
|
|
+ ") "
|
|
+ (srtdisc != -1
|
|
? " AND ins_srtdiscipline_key IN(" + srtdisc + ") "
|
|
: " ")
|
|
+ " ORDER BY 2"
|
|
FCLTselector("srtdisc",
|
|
sql,
|
|
{ initKey: srtdisc,
|
|
label: L("lcl_vakgroup_type"),
|
|
trclass: "secsearch noxd",
|
|
onChange: 'updateDisc("' + urole + '", "' + autfunction + '");',
|
|
emptyOption: (srtdisc == -1? L("lcl_all") : null) // Als een srtdisc is meegegeven dan geen lege optie
|
|
}) %>
|
|
|
|
<!-- Productgroep -->
|
|
<% // LET OP!!
|
|
// De options van deze selector wordt on-change dynamisch vervangen door ../shared/loadDisc.asp!
|
|
// Wat hier staat is dus alleen de initiele situatue.
|
|
// SQL-queries uit loadDisc:
|
|
var discsql_aut = "SELECT ins_discipline_key"
|
|
+ " FROM fac_v_webgebruiker g"
|
|
+ ", fac_functie f"
|
|
+ " WHERE g.prs_perslid_key = " + user_key
|
|
+ " AND f.fac_functie_key = g.fac_functie_key"
|
|
+ " AND f.fac_functie_code = " + safe.quoted_sql(autfunction)
|
|
+ " AND g.fac_gebruiker_alg_level_read < 9"; // MGE: Als alg_level_read = 9 dan komt waarde niet meer voor in fac_v_webgebruiker. Regel zou dus weg kunnen
|
|
|
|
var discsql = "SELECT DISTINCT m1.ins_discipline_key"
|
|
+ ", CASE "
|
|
+ " WHEN sd.ins_srtdiscipline_prefix IS NULL"
|
|
+ " THEN ''"
|
|
+ " ELSE sd.ins_srtdiscipline_prefix || '-'"
|
|
+ " END"
|
|
+ " || "+lcl.xsqla('m1.ins_discipline_omschrijving', 'm1.ins_discipline_key')
|
|
+ " FROM mld_v_aanwezigdiscipline m1"
|
|
+ ", ins_srtdiscipline sd"
|
|
+ (offerte >= 0
|
|
? " , mld_typeopdr_srtdiscipline tsd"
|
|
+ " , mld_typeopdr mto"
|
|
: "")
|
|
+ " WHERE m1.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)"
|
|
+ (offerte >= 0
|
|
? " AND sd.ins_srtdiscipline_key = tsd.ins_srtdiscipline_key"
|
|
+ " AND tsd.mld_typeopdr_key = mto.mld_typeopdr_key"
|
|
+ " AND (tsd.ins_discipline_key IS NULL OR tsd.ins_discipline_key = m1.ins_discipline_key)"
|
|
+ " AND mto.mld_typeopdr_isofferte = " + offerte
|
|
: "")
|
|
+ " AND EXISTS (SELECT 'x'"
|
|
+ " FROM mld_stdmelding ms"
|
|
+ " WHERE m1.ins_discipline_key = ms.mld_ins_discipline_key"
|
|
+ " AND ms.mld_stdmelding_verwijder IS NULL)"
|
|
+ " AND m1.ins_discipline_key IN (" + discsql_aut + ")"
|
|
+ (srtdisc != -1
|
|
? " AND m1.ins_discipline_key IN (SELECT ins_discipline_key"
|
|
+ " FROM mld_discipline"
|
|
+ " WHERE ins_srtdiscipline_key IN (" + srtdisc + "))"
|
|
: "")
|
|
+ (disc_key_arr.length != 0
|
|
? " AND m1.ins_discipline_key IN (" + disc_key_arr.join(",") + ")"
|
|
: "")
|
|
+ " ORDER BY 2"
|
|
|
|
FCLTselector("discmulti",
|
|
discsql,
|
|
{ initKey: disc_key_arr.join(","),
|
|
label: L("lcl_vakgroup"),
|
|
onChange: 'updateStdm("' + urole + '", "' + autfunction + '");',
|
|
trclass: "secsearch noxd",
|
|
multi: true,
|
|
emptyOption: (disc_key_arr.length == 0? L("lcl_all") : null) // Als een disc_key_arr is meegegeven dan geen lege optie
|
|
}) %>
|
|
|
|
<!-- Melding (Stdmelding) -->
|
|
<% // LET OP!!
|
|
// deze selector wordt on-change dynamisch en totaal vervangen door ../Shared/loadStdmelding.asp!
|
|
// Wat hier staat is dus alleen de initiele situatie.
|
|
// SQL-queries uit loadStdmelding:
|
|
var stdmsql_aut = "SELECT ins_discipline_key"
|
|
+ " FROM fac_v_webgebruiker g"
|
|
+ ", fac_functie f"
|
|
+ " WHERE g.prs_perslid_key = " + user_key
|
|
+ " AND f.fac_functie_key = g.fac_functie_key"
|
|
+ " AND f.fac_functie_code = " + safe.quoted_sql(autfunction)
|
|
+ " AND g.fac_gebruiker_alg_level_read < 9"; // MGE: Als alg_level_read = 9 dan komt waarde niet meer voor in fac_v_webgebruiker. Regel zou dus weg kunnen
|
|
|
|
var stdmsql = "SELECT DISTINCT s.mld_stdmelding_key"
|
|
+ ", " + lcl.xsqla('s.mld_stdmelding_omschrijving','s.mld_stdmelding_key')
|
|
+ ", s.mld_ins_discipline_key"
|
|
+ " FROM mld_stdmelding s"
|
|
+ ", mld_discipline d"
|
|
+ (offerte >= 0
|
|
? ", ins_srtdiscipline sd"
|
|
+ ", mld_typeopdr_srtdiscipline tsd"
|
|
+ ", mld_typeopdr mto"
|
|
: "")
|
|
+ " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
|
|
+ (offerte >= 0
|
|
? " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
|
+ " AND sd.ins_srtdiscipline_key = tsd.ins_srtdiscipline_key"
|
|
+ " AND (tsd.ins_discipline_key IS NULL OR tsd.ins_discipline_key = d.ins_discipline_key)"
|
|
+ " AND tsd.mld_typeopdr_key = mto.mld_typeopdr_key"
|
|
+ " AND mto.mld_typeopdr_isofferte = " + offerte
|
|
: "")
|
|
+ " AND s.mld_stdmelding_verwijder IS NULL"
|
|
+ " AND d.ins_discipline_verwijder IS NULL"
|
|
+ (fronto || backo
|
|
? ""
|
|
: " AND s.mld_stdmelding_notfrontend = 0")
|
|
// srtdisc wordt impliciet afgedwongen via afhankelijkheid
|
|
+ (disc_key_arr.length != 0
|
|
? " AND s.mld_ins_discipline_key IN (" + disc_key_arr.join(",") + ")"
|
|
: "")
|
|
+ " AND s.mld_ins_discipline_key IN (" + stdmsql_aut + ")"
|
|
+ " ORDER BY "+ lcl.xsql('s.mld_stdmelding_omschrijving','s.mld_stdmelding_key');
|
|
|
|
FCLTselector("sm", // heette stdmmulti maar nu korte naam om url kort te houden
|
|
stdmsql,
|
|
{ initKey: stdm_arr.join(","),
|
|
label: L("lcl_complain"),
|
|
trclass: "secsearch noxd",
|
|
multi: true,
|
|
emptyOption: L("lcl_all")
|
|
});
|
|
|
|
// Meldinggroep
|
|
// Laat alle meldinggroepen zien die voorkomen onder de disciplines die ik mag zien.
|
|
var grpsql_aut = "SELECT ins_discipline_key"
|
|
+ " FROM fac_v_webgebruiker g"
|
|
+ ", fac_functie f"
|
|
+ " WHERE g.prs_perslid_key = " + user_key
|
|
+ " AND f.fac_functie_key = g.fac_functie_key"
|
|
+ " AND f.fac_functie_code = " + safe.quoted_sql(autfunction)
|
|
+ " AND g.fac_gebruiker_alg_level_read < 9"; // MGE: Als alg_level_read = 9 dan komt waarde niet meer voor in fac_v_webgebruiker. Regel zou dus weg kunnen
|
|
|
|
var grpsql = "SELECT G.mld_stdmeldinggroep_key akey"
|
|
+ ", " + lcl.xsqla('G.mld_stdmeldinggroep_naam','G.mld_stdmeldinggroep_key')
|
|
+ " FROM mld_stdmelding M"
|
|
+ " , mld_stdmeldinggroep G"
|
|
+ " WHERE M.mld_stdmeldinggroep_key = G.mld_stdmeldinggroep_key"
|
|
+ " AND M.mld_stdmelding_verwijder IS NULL"
|
|
+ " AND M.mld_stdmeldinggroep_key IS NOT NULL"
|
|
+ (srtdisc != -1
|
|
? " AND mld_ins_discipline_key IN (SELECT ins_discipline_key"
|
|
+ " FROM mld_discipline"
|
|
+ " WHERE ins_srtdiscipline_key = " + srtdisc + ")"
|
|
: "")
|
|
+ (disc_key_arr != 0
|
|
? " AND mld_ins_discipline_key IN (" + disc_key_arr.join(",") + ")"
|
|
: "")
|
|
+ " AND mld_ins_discipline_key IN (" + grpsql_aut + ")"
|
|
+ " GROUP BY G.mld_stdmeldinggroep_key, mld_stdmeldinggroep_naam"
|
|
+ " ORDER BY 2";
|
|
|
|
if (anymldgroup)
|
|
{
|
|
FCLTselector("meldinggrp_key",
|
|
grpsql,
|
|
{ initKey: meldinggrp_key,
|
|
label: L("lcl_mld_meldinggroep"),
|
|
trclass: "secsearch noxd",
|
|
emptyOption: ""
|
|
});
|
|
}
|
|
|
|
// Behandelgroep-filter (indien die er zijn)
|
|
var behsql = "SELECT mld_behandelgroep_key,"
|
|
+ lcl.xsqla('mld_behandelgroep_naam', 'mld_behandelgroep_key')+", "
|
|
+ lcl.xsqla('mld_behandelgroep_oms', 'mld_behandelgroep_key')
|
|
+ " FROM mld_behandelgroep";
|
|
oRs = Oracle.Execute(behsql);
|
|
if (!oRs.eof)
|
|
{
|
|
FCLTselector("behandelgrp_key",
|
|
behsql,
|
|
{ initKey: behandelgrp_key,
|
|
label: L("lcl_mld_behandelgroep"),
|
|
trclass: "secsearch noxd",
|
|
emptyOption: ""
|
|
});
|
|
}
|
|
|
|
%>
|
|
</table>
|
|
</td><!-- end column 1 -->
|
|
|
|
<!-- Second column -->
|
|
<td class="searchkolom2">
|
|
<table><!-- x rijen, 2 kolommen: label + veld -->
|
|
<!-- Soort melding -->
|
|
<%
|
|
// <!-- Periode tot -->
|
|
FCLTcalendar("date_from",
|
|
{ label: L("lcl_period_from"),
|
|
trclass: "secsearch",
|
|
initEmpty: (date_from ? false : true),
|
|
date: date_from
|
|
});
|
|
|
|
// <!-- Periode tot -->
|
|
FCLTcalendar("date_to",
|
|
{ label: L("lcl_period_to"), //L("lcl_mld_enddate_to"),
|
|
initEmpty: (date_to ? false : true),
|
|
date: date_to
|
|
});
|
|
|
|
// <!-- Behandelaar -->
|
|
FCLTpersoonselector("behandel_key",
|
|
"sgBehandelaar",
|
|
{ perslidKey: behandel_key,
|
|
label: L("lcl_mld_behandelaar"),
|
|
filtercode: justClose && exhandler? "BEHOC" : "BEHO",
|
|
trclass: "primsearch noxd", /* als wel xd: _self zou leuk zijn */
|
|
autlevel: authparams.PRSreadlevel,
|
|
autlevelALG: authparams.ALGreadlevel,
|
|
whenEmpty: L("lcl_search_generic") // want filter
|
|
});
|
|
|
|
// Melder
|
|
FCLTpersoonselector("sName_key",
|
|
"sgPerson",
|
|
{ label: L("lcl_caller"), // L("lcl_name")
|
|
filtercode: "O",
|
|
trclass: "secsearch noxd",
|
|
autlevel: authparams.PRSreadlevel,
|
|
whenEmpty: L("lcl_search_generic") // want filter
|
|
});
|
|
|
|
if (anygeo)
|
|
{
|
|
// Locatie en gebouw
|
|
FCLTplaatsselector(authparams.ALGreadlevel, { locatiekey: locatie_key,
|
|
gebouwkey: gebouw_key,
|
|
startlevel: alg_startlevel,
|
|
eindlevel: 3, // gebouw
|
|
trclass: "noxd",
|
|
filtercode: "FAC",
|
|
whenEmpty: L("lcl_search_generic") // want filter
|
|
});
|
|
}
|
|
|
|
if (anydeladr)
|
|
{
|
|
// Afleveradres
|
|
FCLTselector("adr_key",
|
|
"SELECT mld_adres_key, mld_adres_naam"
|
|
+ " FROM mld_adres"
|
|
+ " WHERE mld_adres_verwijder IS NULL"
|
|
+ " ORDER BY 2",
|
|
{ emptyOption: "",
|
|
label : L("lcl_bes_del_place"),
|
|
trclass: "secsearch"
|
|
});
|
|
}
|
|
|
|
%>
|
|
</table>
|
|
</td><!-- end column 2 -->
|
|
</tr>
|
|
|
|
<!-- Status checkboxen -->
|
|
<%
|
|
// Alleen lastigvallen met Afgerond vinkje als *iemand* WEB_ORDAFR heeft en dat vinkje ooit heeft kunnen zetten.
|
|
var sql = "SELECT 1"
|
|
+ " FROM fac_v_webgebruiker fw, "
|
|
+ " fac_functie ff"
|
|
+ " WHERE fw.fac_functie_key = ff.fac_functie_key"
|
|
+ " AND fac_functie_code = 'WEB_ORDAFR'";
|
|
var oRs = Oracle.Execute(sql);
|
|
var anyORDAFR = !oRs.Eof;
|
|
oRs.Close();
|
|
%>
|
|
<tr>
|
|
<td colspan="2">
|
|
<div id="statusboxes">
|
|
<label><%=L("lcl_opdr_statusfilters")%></label>
|
|
<input type="checkbox" class="fldopdrnew" name="opdrNew" id="opdrNew" value="1" CHECKED><label for="opdrNew" ><%=L("lcl_opdr_chk_bo_opdrNew")%></label>
|
|
<input type="checkbox" class="fldopdrbusy" name="opdrBusy" id="opdrBusy" value="1" CHECKED><label for="opdrBusy"><%=L("lcl_opdr_chk_bo_opdrBusy")%></label>
|
|
<input type="checkbox" class="fldopdrrej" name="opdrRej" id="opdrRej" value="1" ><label for="opdrRej"><%=L("lcl_opdr_chk_bo_opdrRej")%></label>
|
|
<input type="checkbox" class="fldopdrafm" name="opdrAfm" id="opdrAfm" value="1" ><label for="opdrAfm"><%=L("lcl_opdr_chk_bo_opdrAfm")%></label>
|
|
<% if (anyORDAFR) { %>
|
|
<input type="checkbox" class="fldopdrafr" name="opdrAfr" id="opdrAfr" value="1" ><label for="opdrAfr"><%=L("lcl_opdr_chk_bo_opdrAfr")%></label>
|
|
<% } %>
|
|
<input type="checkbox" class="fldopdrver" name="opdrVer" id="opdrVer" value="1" ><label for="opdrVer"><%=L("lcl_opdr_chk_bo_opdrVer")%></label>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<% BLOCK_END();
|
|
var buttons = [{ title: L("lcl_search"), action: "doSubmit();"}];
|
|
buttons.push ( {title: L("lcl_shared_more"), action:"iface_toggleSecondarySearchblock()", id : "btnMoreLess", xclass: "noxd" } );
|
|
buttons.push({ title: L("lcl_obj_advanced"), action: "myModal()", xclass: "noxd"});
|
|
CreateButtons(buttons, { entersubmit: true });
|
|
%>
|
|
</form>
|
|
</div> <!-- search -->
|
|
|
|
<div id="result">
|
|
<iframe width="100%" height="100%"
|
|
src="../Shared/empty.asp"
|
|
name="workFrame" id="workFrame"
|
|
onload="FcltMgr.iframeLoaded(this)"
|
|
frameborder="0" scrolling="no">
|
|
</iframe>
|
|
</div>
|
|
</body>
|
|
</html>
|