538 lines
29 KiB
Plaintext
538 lines
29 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% Server.ScriptTimeout=6000; %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: mjb_inspcect_execute.asp
|
|
Description: Invoerscherm voor het uitvoeren van periodieke taken
|
|
Parameters:
|
|
ins_keys Array van object keys.
|
|
deelsrtcontrkeyArray Array van inspectie keys
|
|
|
|
Context:
|
|
Note:
|
|
|
|
*/ %>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/iface.inc" -->
|
|
<!-- #include file="../Shared/selector.inc" -->
|
|
<!-- #include file="../Shared/discxalg3d.inc" -->
|
|
<!-- #include file="../Shared/referentieselector.inc" -->
|
|
<!-- #include file="../Shared/disciplineselector.inc" -->
|
|
<!-- #include file="../Shared/stdmeldingselector.inc" -->
|
|
<!-- #include file="../INS/ins.inc" -->
|
|
<%
|
|
FCLTHeader.Requires({ plugins: ["jQuery"],
|
|
js: [] })
|
|
%>
|
|
<html>
|
|
<head>
|
|
<% FCLTHeader.Generate(); %>
|
|
<%
|
|
var posting = getQParamInt("post", 0) == 1;
|
|
var groupby = getQParamInt("groupby", 9);
|
|
if (!posting)
|
|
{ %>
|
|
<script type="text/javascript">
|
|
$(function()
|
|
{
|
|
var insKeyString = FcltMgr.dialogArguments().insKeyString;
|
|
var srtcontrolekeyArray = FcltMgr.dialogArguments().srtcontrolekeyArray;
|
|
var deelsrtcontrkeyArray = FcltMgr.dialogArguments().deelsrtcontrkeyArray;
|
|
var ctrdisciplinekeyArray = FcltMgr.dialogArguments().ctrdisciplinekeyArray;
|
|
$("#ins_keys").val(insKeyString);
|
|
$("#srtcont_keys").val(srtcontrolekeyArray);
|
|
$("#deelsrtcontrkeys").val(deelsrtcontrkeyArray);
|
|
$("#ctrdisc_keys").val(ctrdisciplinekeyArray);
|
|
var groupby = FcltMgr.dialogArguments().groupby;
|
|
if (groupby < 9)
|
|
{
|
|
var scenario = FcltMgr.dialogArguments().scenario;
|
|
var actsit = FcltMgr.dialogArguments().actsit;
|
|
var dist_key_arr = FcltMgr.dialogArguments().dist_key_arr;
|
|
var loc_key_arr = FcltMgr.dialogArguments().loc_key_arr;
|
|
var bld_key_arr = FcltMgr.dialogArguments().bld_key_arr;
|
|
var disc_key_arr = FcltMgr.dialogArguments().disc_key_arr;
|
|
var srtgroep_key_arr = FcltMgr.dialogArguments().srtgroep_key_arr;
|
|
var srtdeel_key_arr = FcltMgr.dialogArguments().srtdeel_key_arr;
|
|
var moredetail = FcltMgr.dialogArguments().moredetail;
|
|
var srtgebouw_key_arr = FcltMgr.dialogArguments().srtgebouw_key_arr;
|
|
var groep_str_arr = FcltMgr.dialogArguments().groep_str_arr;
|
|
var categorie_key_arr = FcltMgr.dialogArguments().categorie_key_arr;
|
|
var srtcontrole_key_arr = FcltMgr.dialogArguments().srtcontrole_key_arr;
|
|
var frequentie_arr = FcltMgr.dialogArguments().frequentie_arr;
|
|
var kp_key_arr = FcltMgr.dialogArguments().kp_key_arr;
|
|
var incbtw = FcltMgr.dialogArguments().incbtw;
|
|
var showunfin = FcltMgr.dialogArguments().showunfin;
|
|
var toyear = FcltMgr.dialogArguments().toyear;
|
|
var groupby = FcltMgr.dialogArguments().groupby;
|
|
var deel = FcltMgr.dialogArguments().deel;
|
|
var fitness_score1_from = FcltMgr.dialogArguments().fitness_score1_from;
|
|
var fitness_score1_through = FcltMgr.dialogArguments().fitness_score1_through;
|
|
var fitness_score1_from_neg = FcltMgr.dialogArguments().fitness_score1_from_neg;
|
|
var fitness_score1_through_neg = FcltMgr.dialogArguments().fitness_score1_through_neg;
|
|
var fitness_score1_from_pos = FcltMgr.dialogArguments().fitness_score1_from_pos;
|
|
var fitness_score1_through_pos = FcltMgr.dialogArguments().fitness_score1_through_pos;
|
|
var priority_score2_from = FcltMgr.dialogArguments().priority_score2_from;
|
|
var priority_score2_through = FcltMgr.dialogArguments().priority_score2_through;
|
|
var mjbMoved = FcltMgr.dialogArguments().mjbMoved;
|
|
var mjbFreezed = FcltMgr.dialogArguments().mjbFreezed;
|
|
var mjbXcped = FcltMgr.dialogArguments().mjbXcped;
|
|
var mjbStatus2 = FcltMgr.dialogArguments().mjbStatus2;
|
|
var mjbStatus3 = FcltMgr.dialogArguments().mjbStatus3;
|
|
var jaren = FcltMgr.dialogArguments().jaren;
|
|
$("#scenario").val(scenario);
|
|
$("#actsit").val(actsit);
|
|
$("#dist_key_arr").val(dist_key_arr);
|
|
$("#loc_key_arr").val(loc_key_arr);
|
|
$("#bld_key_arr").val(bld_key_arr);
|
|
$("#disc_key_arr").val(disc_key_arr);
|
|
$("#srtgroep_key_arr").val(srtgroep_key_arr);
|
|
$("#srtdeel_key_arr").val(srtdeel_key_arr);
|
|
$("#moredetail").val(moredetail);
|
|
$("#srtgebouw_key_arr").val(srtgebouw_key_arr);
|
|
$("#groep_str_arr").val(groep_str_arr);
|
|
$("#categorie_key_arr").val(categorie_key_arr);
|
|
$("#srtcontrole_key_arr").val(srtcontrole_key_arr);
|
|
$("#frequentie_arr").val(frequentie_arr);
|
|
$("#kp_key_arr").val(kp_key_arr);
|
|
$("#incbtw").val(incbtw);
|
|
$("#showunfin").val(showunfin);
|
|
$("#toyear").val(toyear);
|
|
$("#groupby").val(groupby);
|
|
$("#deel").val(deel);
|
|
$("#fitness_score1_from").val(fitness_score1_from);
|
|
$("#fitness_score1_through").val(fitness_score1_through);
|
|
$("#fitness_score1_from_neg").val(fitness_score1_from_neg);
|
|
$("#fitness_score1_through_neg").val(fitness_score1_through_neg);
|
|
$("#fitness_score1_from_pos").val(fitness_score1_from_pos);
|
|
$("#fitness_score1_through_pos").val(fitness_score1_through_pos);
|
|
$("#priority_score2_from").val(priority_score2_from);
|
|
$("#priority_score2_through").val(priority_score2_through);
|
|
$("#mjbMoved").val(mjbMoved);
|
|
$("#mjbFreezed").val(mjbFreezed);
|
|
$("#mjbXcped").val(mjbXcped);
|
|
$("#mjbStatus2").val(mjbStatus2);
|
|
$("#mjbStatus3").val(mjbStatus3);
|
|
$("#jaren").val(jaren);
|
|
}
|
|
document.forms.u2.submit();
|
|
});
|
|
</script>
|
|
</head>
|
|
|
|
<body class="modal"
|
|
id="mod_mjbexecute">
|
|
<% MODAL_START(); %>
|
|
<div class="busyloading" style="width:100%;position: top"><span><%=I("fa-fclt-spinner fa-4x")%></span></div>
|
|
<form name="u2" id="u2" action="mjb_inspect_execute.asp?post=1&groupby=<%=groupby%>" method="post">
|
|
<input type="hidden" name="ins_keys" id="ins_keys" value="">
|
|
<input type="hidden" name="srtcont_keys" id="srtcont_keys" value="">
|
|
<input type="hidden" name="deelsrtcontrkeys" id="deelsrtcontrkeys" value="">
|
|
<input type="hidden" name="ctrdisc_keys" id="ctrdisc_keys" value="">
|
|
<input type="hidden" name="groupby" id="groupby" value="">
|
|
<% if (groupby < 9)
|
|
{ %>
|
|
<input type="hidden" name="scenario" id="scenario" value="">
|
|
<input type="hidden" name="actsit" id="actsit" value="">
|
|
<input type="hidden" name="dist_key_arr" id="dist_key_arr" value="">
|
|
<input type="hidden" name="loc_key_arr" id="loc_key_arr" value="">
|
|
<input type="hidden" name="bld_key_arr" id="bld_key_arr" value="">
|
|
<input type="hidden" name="disc_key_arr" id="disc_key_arr" value="">
|
|
<input type="hidden" name="srtgroep_key_arr" id="srtgroep_key_arr" value="">
|
|
<input type="hidden" name="srtdeel_key_arr" id="srtdeel_key_arr" value="">
|
|
<input type="hidden" name="moredetail" id="moredetail" value="">
|
|
<input type="hidden" name="srtgebouw_key_arr" id="srtgebouw_key_arr" value="">
|
|
<input type="hidden" name="groep_str_arr" id="groep_str_arr" value="">
|
|
<input type="hidden" name="categorie_key_arr" id="categorie_key_arr" value="">
|
|
<input type="hidden" name="srtcontrole_key_arr" id="srtcontrole_key_arr" value="">
|
|
<input type="hidden" name="frequentie_arr" id="frequentie_arr" value="">
|
|
<input type="hidden" name="kp_key_arr" id="kp_key_arr" value="">
|
|
<input type="hidden" name="incbtw" id="incbtw" value="">
|
|
<input type="hidden" name="showunfin" id="showunfin" value="">
|
|
<input type="hidden" name="toyear" id="toyear" value="">
|
|
<input type="hidden" name="deel" id="deel" value="">
|
|
<input type="hidden" name="fitness_score1_from" id="fitness_score1_from" value="">
|
|
<input type="hidden" name="fitness_score1_through" id="fitness_score1_through" value="">
|
|
<input type="hidden" name="fitness_score1_from_neg" id="fitness_score1_from_neg" value="">
|
|
<input type="hidden" name="fitness_score1_through_neg" id="fitness_score1_through_neg" value="">
|
|
<input type="hidden" name="fitness_score1_from_pos" id="fitness_score1_from_pos" value="">
|
|
<input type="hidden" name="fitness_score1_through_pos" id="fitness_score1_through_pos" value="">
|
|
<input type="hidden" name="priority_score2_from" id="priority_score2_from" value="">
|
|
<input type="hidden" name="priority_score2_through" id="priority_score2_through" value="">
|
|
<input type="hidden" name="mjbMoved" id="mjbMoved" value="">
|
|
<input type="hidden" name="mjbFreezed" id="mjbFreezed" value="">
|
|
<input type="hidden" name="mjbXcped" id="mjbXcped" value="">
|
|
<input type="hidden" name="mjbStatus2" id="mjbStatus2" value="">
|
|
<input type="hidden" name="mjbStatus3" id="mjbStatus3" value="">
|
|
<input type="hidden" name="jaren" id="jaren" value="">
|
|
<% }
|
|
protectRequest.inputToken();
|
|
%>
|
|
</form>
|
|
<% MODAL_END(); %>
|
|
</body>
|
|
<% }
|
|
else
|
|
{
|
|
protectRequest.validateToken();
|
|
|
|
var ins_key_arr = getFParamKeyArray("ins_keys");
|
|
var srtcont_key_arr = getFParamKeyArray("srtcont_keys", []);
|
|
var deelsrtcontrkey_arr = getFParamKeyArray("deelsrtcontrkeys", []);
|
|
var ctrdisc_key_arr = getFParamKeyArray("ctrdisc_keys", []);
|
|
|
|
var multi = ins_key_arr.length > 1;
|
|
|
|
if (groupby < 9)
|
|
{
|
|
var scenario = getFParamInt("scenario", 1);
|
|
var actsit = getFParamInt("actsit", 0) == 1;
|
|
var dist_key_arr = getFParamKeyArray("dist_key_arr", []); // District array
|
|
var loc_key_arr = getFParamKeyArray("loc_key_arr", []); // Locatie array
|
|
var bld_key_arr = getFParamKeyArray("bld_key_arr", []); // Gebouw array
|
|
|
|
var disc_key_arr = getFParamKeyArray("disc_key_arr", []);
|
|
var srtgroep_key_arr = getFParamKeyArray("srtgroep_key_arr", []);
|
|
var srtdeel_key_arr = getFParamKeyArray("srtdeel_key_arr", []);
|
|
var moredetail = getFParamKeyArray("moredetail", []);
|
|
var srtgebouw_key_arr = getFParamKeyArray("srtgebouw_key_arr", []);
|
|
var groep_str_arr = getFParamArray("groep_str_arr", []); // Groep
|
|
var categorie_key_arr = getFParamKeyArray("categorie_key_arr", []); // Categorie
|
|
var srtcontrole_key_arr = getFParamKeyArray("srtcontrole_key_arr", []); // Taak
|
|
var frequentie_arr = getFParamIntArray("frequentie_arr", []); // Array met frequenties.
|
|
var kp_key_arr = getFParamKeyArray("kp_key_arr", []); // Kostenplaats.
|
|
var incbtw = getFParamInt("incbtw", 0) == 1; // Lijst inclusief BTW weergeven.
|
|
var showunfin = getFParamInt("showunfin", 0) == 1; // Alleen onvoltooide regels.
|
|
var toyear = getFParamInt("toyear"); // Tot aan jaar.
|
|
var deel = getFParam("deel", ""); // Identieficatie
|
|
var jaren = getFParamIntArray("jaren", []); // Jaren
|
|
|
|
// FORM score velden.
|
|
var fitness_score1_from = getFParamInt("fitness_score1_from", -1); // Conditie score van.
|
|
var fitness_score1_through = getFParamInt("fitness_score1_through", -1); // Conditie score t/m.
|
|
var fitness_score1_from_neg = getFParamInt("fitness_score1_from_neg", -1); // Negatieve afwijking conditie score van.
|
|
var fitness_score1_through_neg = getFParamInt("fitness_score1_through_neg", -1); // Negatieve afwijking conditie score t/m.
|
|
var fitness_score1_from_pos = getFParamInt("fitness_score1_from_pos", -1); // Positieve afwijking conditie score van.
|
|
var fitness_score1_through_pos = getFParamInt("fitness_score1_through_pos", -1); // Positieve afwijking conditie score t/m.
|
|
var priority_score2_from = getFParamInt("priority_score2_from", -1); // Prioriteitsscore van.
|
|
var priority_score2_through = getFParamInt("priority_score2_through", -1); // Prioriteitsscore t/m.
|
|
|
|
// FORM status checkboxes.
|
|
var mjbMoved = getFParamInt("mjbMoved", 0) == 1; // Verschoven.
|
|
var mjbFreezed = getFParamInt("mjbFreezed", 0) == 1; // In behandeling.
|
|
var mjbXcped = getFParamInt("mjbXcped", 0) == 1; // Aangepast.
|
|
var mjbStatus2 = getFParamInt("mjbStatus2", 0) == 1; // Geaccordeerd.
|
|
var mjbStatus3 = getFParamInt("mjbStatus3", 0) == 1; // Ter uitvoering.
|
|
|
|
// Start building the query to fetch all objects satisfying
|
|
var mjbparams = { execute: true,
|
|
niveau: groupby, // Het niveau (betekenis) van de keys (district(1), locatie(2), gebouw(3), discipline(4), groep(5), objectsoort(6), object(7))
|
|
keys: ins_key_arr,
|
|
scenario: 1,
|
|
fulldetails: true,
|
|
actsit: actsit, // Parameter actsit alleen van invloed op scenario_key > 1.
|
|
dist_key_arr: dist_key_arr,
|
|
loc_key_arr: loc_key_arr,
|
|
bld_key_arr: bld_key_arr,
|
|
disc_key_arr: disc_key_arr,
|
|
srtgroep_key_arr: srtgroep_key_arr,
|
|
srtdeel_key_arr: srtdeel_key_arr,
|
|
moredetail: moredetail,
|
|
srtgebouw_key_arr: srtgebouw_key_arr,
|
|
groep_str_arr: groep_str_arr,
|
|
categorie_key_arr: categorie_key_arr,
|
|
srtcontrole_key_arr: srtcontrole_key_arr,
|
|
frequentie_arr: frequentie_arr,
|
|
kp_key_arr: kp_key_arr,
|
|
incbtw: incbtw,
|
|
showunfin: showunfin,
|
|
//inflatiefactor: inflatiefactor,
|
|
toyear: toyear,
|
|
groupby: 9, // Ik wil alle objecten opvragen.
|
|
deel: deel,
|
|
fitness_score1_from : fitness_score1_from,
|
|
fitness_score1_through : fitness_score1_through,
|
|
fitness_score1_from_neg : fitness_score1_from_neg,
|
|
fitness_score1_through_neg : fitness_score1_through_neg,
|
|
fitness_score1_from_pos : fitness_score1_from_pos,
|
|
fitness_score1_through_pos : fitness_score1_through_pos,
|
|
priority_score2_from : priority_score2_from,
|
|
priority_score2_through : priority_score2_through,
|
|
mjbMoved: mjbMoved,
|
|
mjbFreezed: mjbFreezed,
|
|
mjbXcped: mjbXcped,
|
|
mjbStatus2: mjbStatus2,
|
|
mjbStatus3: mjbStatus3,
|
|
jaren: jaren,
|
|
addToScenario: true
|
|
};
|
|
var mjblist_sql = ins.getmjblist_sql(mjbparams);
|
|
// De mjblist_sql bevat nu alle objecten (ins_deel_key) van de aangevinkte regels uit het mjb overzicht en levert voor elk object ook de ins_srtcontrole waarde op.
|
|
|
|
var result = {key: "", success: true, multi: multi, start: true };
|
|
|
|
var oRs = Oracle.Execute(mjblist_sql);
|
|
user.anything_todo_or_abort(!oRs.eof); // We klagen niet over enkele wel en enkele niet
|
|
|
|
ins_key_arr = [];
|
|
srtcont_key_arr = [];
|
|
deelsrtcontrkey_arr = [];
|
|
ctrdisc_key_arr = [];
|
|
while (!oRs.eof)
|
|
{
|
|
ins_key_arr[ins_key_arr.length] = oRs("ins_deel_key").Value;
|
|
srtcont_key_arr[srtcont_key_arr.length] = oRs("ins_srtcontrole_key").Value;
|
|
deelsrtcontrkey_arr[deelsrtcontrkey_arr.length] = oRs("ins_deelsrtcontrole_key").Value == null? -1 : oRs("ins_deelsrtcontrole_key").Value;
|
|
ctrdisc_key_arr[ctrdisc_key_arr.length] = oRs("ctr_discipline_key").Value;
|
|
oRs.MoveNext();
|
|
}
|
|
oRs.Close();
|
|
}
|
|
|
|
var tobeexecuted = 0;
|
|
var ingesloten = [];
|
|
var ingeslotensrtc = [];
|
|
var ingeslotendeelsc = [];
|
|
var ingeslotenctrd = [];
|
|
// Bepaal de objecten in de selectie die
|
|
// ook echt uitgevoerd kunnen of mogen worden.
|
|
for (var i = 0; i < ins_key_arr.length; i++)
|
|
{
|
|
// Elke taak wordt gecontroleerd of deze uitgevoerd mag worden. Dit gebeurt door de functie "func_enabled_deel" aan te roepen die het in de "canInspExecute" parameter stopt.
|
|
// Bij het toevoegen van taken aan scenario s wordt het ter plekke bepaald. Voor "canInspExecute" is het veel lastiger. Daarom hier in eerste instantie via de functie "func_enabled_deel"
|
|
/* // De query in die functie om de benodigde gegevens (isScenario, deelsrtcontrole_status, isfreezeyear) op te halen kost veel tijd. Daarom krijgt men vaak een script timeout.
|
|
// De benodigde gegevens kunnen ook al met de query van de functie ins.getmjblist_sql bepaald worden. De rechten kunnen we hier ook zelf bepalen.
|
|
// Dus vanwege zeer veel tijdwinst gaan we zelf canInspExecute bepalen.
|
|
*/
|
|
|
|
var this_ins = ins.func_enabled_deel(ins_key_arr[i], {srtcont_key: srtcont_key_arr[i]}); // Wat heb ik zoal aan rechten op dit object?
|
|
if (this_ins.canInspExecute) // Mag de taak uitvoeren?
|
|
{
|
|
ingesloten.push(ins_key_arr[i]);
|
|
ingeslotensrtc.push(srtcont_key_arr[i]);
|
|
ingeslotendeelsc.push(deelsrtcontrkey_arr[i]);
|
|
ingeslotenctrd.push(ctrdisc_key_arr[i]);
|
|
tobeexecuted++;
|
|
}
|
|
}
|
|
user.anything_todo_or_abort(tobeexecuted > 0); // We klagen niet over enkele wel en enkele niet.
|
|
|
|
lcl.set_dialect(ingeslotenctrd[0], "INS_TAB_DISCIPLINE_KEY");
|
|
|
|
// Zijn er lopende meldingen waar taken aan toegevoegd zijn.
|
|
var sql_scen = "SELECT COUNT(m.mld_melding_key) aantal"
|
|
+ " , MAX(m.mld_melding_key) maxmldkey"
|
|
+ " FROM mld_melding m"
|
|
+ " , mld_melding_object mo"
|
|
+ " WHERE m.mld_melding_key = mo.mld_melding_key"
|
|
+ " AND mo.ins_deelsrtcontrole_key IS NOT NULL"
|
|
+ " AND mld_melding_status IN (2, 4, 7)"
|
|
+ " ORDER BY mld_melding_omschrijving";
|
|
var oRs = Oracle.Execute(sql_scen);
|
|
var aantal = oRs("aantal").Value;
|
|
var maxmld_key = oRs("maxmldkey").Value || -1;
|
|
var hasmeldingen = aantal > 0;
|
|
oRs.Close();
|
|
%>
|
|
<script>
|
|
var hasmeldingen = <%=hasmeldingen? 1 : 0%> == 1;
|
|
|
|
function afsluiten(jdata)
|
|
{ // Sluit onszelf.
|
|
FcltMgr.closeDetail(window, { warning: jdata.warning, success: true });
|
|
}
|
|
|
|
async function mjb_inclmld(pnew)
|
|
{
|
|
if (!pnew)
|
|
{
|
|
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
|
|
if (!await validateForm("u2"))
|
|
return false;
|
|
|
|
$.post($("form[name=u2]")[0].action,
|
|
$("[name=u2]").serialize(),
|
|
FcltCallbackAndThenAlways(afsluiten),
|
|
"json");
|
|
return true; // disable button
|
|
}
|
|
else
|
|
{ // Nieuwe melding. Invoervelden voor nieuwe melding zichtbaar maken en selectbox verbergen.
|
|
$("#mjbexistmld").hide();
|
|
$("#btn_new").hide();
|
|
$("#mjbnewmld").show();
|
|
FcltMgr.resized(window);
|
|
$("#mld_key").val(-1); // Nieuwe melding => mld_key waarde -1 geven.
|
|
$("#mld_key_show").removeClass("required");
|
|
$("#mjbsubject").addClass("required");
|
|
$("#stdm_show").addClass("required");
|
|
return false; // Button niet disablen.
|
|
}
|
|
}
|
|
|
|
$(function()
|
|
{
|
|
if (!hasmeldingen)
|
|
mjb_inclmld(true);
|
|
})
|
|
|
|
function mld_cancel()
|
|
{
|
|
FcltMgr.closeDetail(window, { cancel: true } );
|
|
}
|
|
|
|
function onChangeVakgroep(vakgroep_key)
|
|
{
|
|
//sgStdm.setValue($("#stdm").val(), $("#stdm_show").val(), true, true, null, true);
|
|
// Regel hierboven werkt niet goed omdat CheckExist een get call veroorzaakt om te kijken of waarde bestaat.
|
|
// In de tussentijd verstoort CheckJustOne dit process met een $.getJSON()
|
|
// Dus gewoon Melding leegmaken
|
|
sgStdm.setValue(-1, "", true, false, null, true);
|
|
sgStdm.CheckJustOne();
|
|
}
|
|
|
|
function process_stdm_info(data, textStatus)
|
|
{
|
|
// Zet de discipline indien niet ingevuld
|
|
if ($("#disc").val() <= 0)
|
|
sgDisc.setValue(data.ins_discipline_key, (data.ins_srtdiscipline_prefix != null ? data.ins_srtdiscipline_prefix + "-" : "") + data.discipline_omschrijving, false /*doonChange*/, true /*checkExist*/);
|
|
}
|
|
|
|
function onChangeStdMelding(stdmelding_key)
|
|
{
|
|
if (stdmelding_key > 0)
|
|
{
|
|
$.getJSON("../mld/get_mld_info_ajax.asp",
|
|
{ req_info: "mld_stdmelding",
|
|
mld_stdmelding_key: stdmelding_key,
|
|
mld_key: -1,
|
|
caller_key: -1 },
|
|
process_stdm_info);
|
|
}
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body class="modal" id="mod_mjbinclscen">
|
|
<% MODAL_START(); %>
|
|
<form action="mjb_inspect_execute_save.asp" method="post" name="u2">
|
|
<% MODAL_BLOCK_START("mjbexistmld", L("lcl_mjb_melding"), {hidden: !hasmeldingen, icon: "fa-tasks"}); %>
|
|
<input type="hidden" name="ins_keys" id="ins_keys" value="<%=ingesloten.join(",")%>">
|
|
<input type="hidden" name="srtcont_keys" id="srtcont_keys" value="<%=ingeslotensrtc.join(",")%>">
|
|
<input type="hidden" name="deelsrtcontrkeys" id="deelsrtcontrkeys" value="<%=ingeslotendeelsc.join(",")%>">
|
|
<input type="hidden" name="ctrdisc_keys" id="ctrdisc_keys" value="<% =ingeslotenctrd.join(",")%>">
|
|
<%
|
|
// Nieuwe melding is ook een echte keuze.
|
|
FCLTreferentieselector( "mld_key",
|
|
"sgmldkey",
|
|
{ label: L("lcl_mjb_meldingen"),
|
|
referenceKey: -1,
|
|
omitRefType: true, // Het veld "kto_type" weglaten.
|
|
referenceType: "M", // Referentie meldingen
|
|
filtercode: "MJBU",
|
|
urlAdd: [{ urlParam: "ins_key_arr", field: "ins_keys" }],
|
|
required: true
|
|
});
|
|
MODAL_BLOCK_END();
|
|
|
|
MODAL_BLOCK_START("mjbnewmld", L("lcl_mjb_new_melding"), {hidden: hasmeldingen, icon: "fa-plus"});
|
|
var ins_srtdeel_oms = "";
|
|
var ins_srtcont_oms = "";
|
|
var ins_srtcont_info = "";
|
|
var mld_subject = "";
|
|
if (ins_key_arr.length == 1)
|
|
{
|
|
var sql = "SELECT xcp.ins_srtcontrole_omschrijving"
|
|
+ " , xcp.ins_srtcontrole_info"
|
|
+ " , isd.ins_srtdeel_omschrijving"
|
|
+ " FROM ins_deelsrtcontrole idsc"
|
|
+ " , ins_srtdeel isd"
|
|
+ " , ins_v_defined_inspect_xcp xcp"
|
|
+ " WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)" // Er kan nog voor de eerste keer geinspecteerd moeten worden.
|
|
+ " AND xcp.ins_deel_key = idsc.ins_deel_key(+)"
|
|
+ " AND isd.ins_srtdeel_key = xcp.ins_srtdeel_key"
|
|
+ " AND xcp.ins_deel_key = " + ins_key_arr[0]
|
|
+ " AND xcp.ins_srtcontrole_key = " + srtcont_key_arr[0]
|
|
+ " AND idsc.ins_deelsrtcontrole_key = " + ingeslotendeelsc[0]
|
|
+ " AND idsc.ins_scenario_key(+) = 1"
|
|
+ " AND xcp.ins_scenario_key = 1"
|
|
+ " ORDER BY ins_deelsrtcontrole_datum DESC";
|
|
var oRs = Oracle.Execute(sql);
|
|
// Waarden moeten aanwezig zijn. Mocht dat niet zo zijn dan is er iets fout.
|
|
var ins_srtdeel_oms = oRs("ins_srtdeel_omschrijving").Value;
|
|
var ins_srtcont_oms = oRs("ins_srtcontrole_omschrijving").Value;
|
|
var ins_srtcont_info = oRs("ins_srtcontrole_info").Value;
|
|
oRs.Close();
|
|
|
|
// Wat wordt het onderwerp?
|
|
// mld_melding_onderwerp is 80 lang, ins_srtcontrole_omschrijving is 60 lang, ins_srtdeel_omschrijving is 100 lang
|
|
// optie 3 wordt dus max 163, dat is veel meer dan 80, maar ook de default is met 100 te lang voor 80
|
|
// UPDATE: mld_melding_onderwerp is nu 200 lang
|
|
switch(S("mjb_approvedmelding_description")) {
|
|
case 2: mld_subject = ins_srtcont_oms;
|
|
break;
|
|
case 3: mld_subject = ins_srtcont_oms + " (" + ins_srtdeel_oms + ")";
|
|
if (mld_subject.length > 200) {
|
|
mld_subject = ins_srtcont_oms + " (" + shorten(ins_srtdeel_oms, ins_srtdeel_oms.length-(mld_subject.length-200)) + ")"
|
|
}
|
|
break;
|
|
case 1: // 1 = default
|
|
default: mld_subject = ins_srtdeel_oms;
|
|
break;
|
|
}
|
|
}
|
|
|
|
// Vakgroep
|
|
FCLTdisciplineselector("disc",
|
|
"sgDisc",
|
|
{ label: L("lcl_vakgroup"),
|
|
disc_key: -1,
|
|
module: "MLDP",
|
|
filtercode: "WINS", // Meldingen met objecten.
|
|
perslidKey: user_key,
|
|
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
|
srtdisc_key: null, // alles mag
|
|
urlAdd: [{urlParam: "ins_key_arr", field: "ins_keys"}],
|
|
onChange: "onChangeVakgroep"
|
|
});
|
|
// Discipline
|
|
FCLTstdmeldingselector("stdm",
|
|
"sgStdm",
|
|
{ label: L("lcl_complain"),
|
|
filtercode: "WINS", // Meldingen met objecten.
|
|
perslidKey: user_key,
|
|
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
|
srtdisc_key: null, // alles mag
|
|
urlAdd: [{urlParam: "disc_key", field: "disc"},
|
|
{urlParam: "ins_key_arr", field: "ins_keys"}],
|
|
onChange: "onChangeStdMelding",
|
|
stdmelding_key: -1
|
|
});
|
|
RWFIELDTR("mjbsubject", "fldmjbsubject fld", L("lcl_mld_subject"), mld_subject, {maxlength: 200});
|
|
|
|
RWTEXTAREATR("mlddesc",
|
|
"fldtxt",
|
|
L("lcl_mjb_mld_desc"),
|
|
ins_srtcont_info,
|
|
{html: "rows='8' cols='80'"});
|
|
MODAL_BLOCK_END();
|
|
|
|
var buttons = [];
|
|
buttons.push({title: L("lcl_mjb_new_melding"), action:"mjb_inclmld(true)", singlepress: true, id: "btn_new", icon: "fa-fclt-save"}); // Opnemen in scenario.
|
|
buttons.push({title: L("lcl_ok"), action:"mjb_inclmld(false)", singlepress: true, id: "btn_submit", icon: "fa-fclt-save"}); // Opnemen in scenario.
|
|
buttons.push({title: L("lcl_cancel"), action:"mld_cancel()", icon: "fa-fclt-cancel"});
|
|
SIMPLE_BLOCK_START();
|
|
CreateButtons(buttons);
|
|
SIMPLE_BLOCK_END();
|
|
|
|
IFACE.FORM_END();
|
|
%>
|
|
</form>
|
|
<% MODAL_END(); %>
|
|
</body>
|
|
<% } %>
|
|
</html>
|
|
<% ASPPAGE_END(); %>
|