FSN#36298: 1. Scenario’s (per complex moeten verschillende scenario’s gemaakt moeten kunnen.
svn path=/Website/trunk/; revision=34520
This commit is contained in:
132
APPL/MJB/mjb_incl_scen.asp
Normal file
132
APPL/MJB/mjb_incl_scen.asp
Normal file
@@ -0,0 +1,132 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: mjb_incl_scen.asp
|
||||
Description: Invoerscherm voor het opnemen van periodieke taken in een scenario
|
||||
Parameters:
|
||||
ins_keys Array van object keys.
|
||||
srtcont_keys Array van soort controlesopdracht keys
|
||||
|
||||
Context:
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins: ["jQuery"],
|
||||
js: [] })
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<%
|
||||
var ins_key_arr = getQParamIntArray("ins_keys");
|
||||
var srtcont_key_arr = getQParamIntArray("srtcont_keys");
|
||||
|
||||
var sql_scen = "SELECT COUNT(ins_scenario_key) aantal"
|
||||
+ " , MAX(ins_scenario_key) maxkey"
|
||||
+ " FROM ins_scenario"
|
||||
+ " WHERE ins_scenario_verwerkt IS NULL";
|
||||
var oRs = Oracle.Execute(sql_scen);
|
||||
var aantal = oRs("aantal").Value;
|
||||
var maxkey = oRs("maxkey").Value;
|
||||
var hassenarios = aantal > 0;
|
||||
%>
|
||||
<script>
|
||||
var hassenarios = <%=hassenarios? 1 : 0%> == 1;
|
||||
|
||||
function mjb_newscen()
|
||||
{
|
||||
$("#mjbexistscen").hide();
|
||||
$("#mjbnewscen").show();
|
||||
FcltMgr.resized(window);
|
||||
$("#btn_new_scen").hide(); // Button "Nieuw scenario" verbergen.
|
||||
$("#scen_key").val(-1); // Nieuw scenario => scen_key waarde -1 geven.
|
||||
$("#scenoms").addClass("required");
|
||||
}
|
||||
|
||||
function afsluiten(jdata)
|
||||
{ // Sluit onszelf.
|
||||
FcltMgr.closeDetail(window, { warning: jdata.warning, success: true });
|
||||
}
|
||||
|
||||
function mjb_inclscen()
|
||||
{
|
||||
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
$("[name=u2]").serialize(),
|
||||
FcltCallbackAndThenAlways(afsluiten),
|
||||
"json");
|
||||
return true; // disable button
|
||||
}
|
||||
|
||||
function mld_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
|
||||
function onChangeScenario()
|
||||
{
|
||||
$("#scen_key").val($("#scenario").val());
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
|
||||
<body class="modal" id="mod_mjbinclscen">
|
||||
<form action="mjb_incl_scen_save.asp" method="post" name="u2">
|
||||
<input type="hidden" name="ins_keys" id="ins_keys" value="<%=ins_key_arr.join(",")%>">
|
||||
<input type="hidden" name="srtcont_keys" id="srtcont_keys" value="<%=srtcont_key_arr.join(",")%>">
|
||||
<input type="hidden" name="scen_key" id="scen_key" value="<%=aantal == 1? maxkey : -1%>">
|
||||
|
||||
<div id="mjbexistscen" <%=!hassenarios? "style='display:none'" : ""%>>
|
||||
<% BLOCK_START("mjbInclScen", L("lcl_mjb_scenario"));
|
||||
|
||||
sql = "SELECT ins_scenario_key"
|
||||
+ " , ins_scenario_omschrijving"
|
||||
+ " FROM ins_scenario";
|
||||
var oRs = Oracle.Execute(sql + " WHERE ins_scenario_verwerkt IS NULL");
|
||||
FCLTselector("scenario",
|
||||
sql,
|
||||
{ label: L("lcl_mjb_scenarios"),
|
||||
initKey: -1,
|
||||
emptyOption: "",
|
||||
onChange: "onChangeScenario()",
|
||||
selectjustone: true
|
||||
});
|
||||
BLOCK_END();
|
||||
%>
|
||||
</div>
|
||||
<div id="mjbnewscen" <%=hassenarios? "style='display:none'" : ""%>>
|
||||
<% BLOCK_START("mjbInclScen", L("lcl_mjb_new_scenario"));
|
||||
RWFIELDTR("scenoms", "fldscenoms", L("lcl_mjb_scenario"), "", {maxlength: 30});
|
||||
|
||||
RWTEXTAREATR("scenopm",
|
||||
"fldtxt",
|
||||
L("lcl_mjb_scen_opm"),
|
||||
"",
|
||||
{html: "rows='8' cols='80'"});
|
||||
|
||||
BLOCK_END();
|
||||
%>
|
||||
</div>
|
||||
<%
|
||||
var buttons = [];
|
||||
if (hassenarios)
|
||||
buttons.push({title: L("lcl_mjb_new_scenario"), action:"mjb_newscen()", singlepress: true, id: "btn_new_scen"}); // Nieuw scenario.
|
||||
buttons.push({title: L("lcl_mjb_incl_scen"), action:"mjb_inclscen()", singlepress: true, id: "btn_submit"}); // Opnemen in scenario.
|
||||
buttons.push({title: L("lcl_cancel"), action:"mld_cancel()"});
|
||||
CreateButtons(buttons);
|
||||
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
146
APPL/MJB/mjb_incl_scen_save.asp
Normal file
146
APPL/MJB/mjb_incl_scen_save.asp
Normal file
@@ -0,0 +1,146 @@
|
||||
<%@ LANGUAGE = JavaScript %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: mjb_incl_scen_save.asp
|
||||
Description: Opnemen van periodieke taken in een scenario
|
||||
Parameters:
|
||||
ins_keys Array van object keys.
|
||||
srtcont_keys Array van soort controlesopdracht keys
|
||||
scenario Scenario key waarin de periodieke taken in opgenomen dienen te worden.
|
||||
Context:
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../ins/ins.inc" -->
|
||||
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
var ins_key_arr = getFParamIntArray("ins_keys");
|
||||
var srtcont_key_arr = getFParamIntArray("srtcont_keys");
|
||||
var scen_key = getFParamInt("scen_key");
|
||||
|
||||
var sql = "SELECT isc.ctr_discipline_key"
|
||||
+ " FROM ins_srtcontrole isc"
|
||||
+ " WHERE isc.ins_srtcontrole_key = " + srtcont_key_arr[0];
|
||||
var oRs = Oracle.Execute(sql);
|
||||
ctrdisc_key = oRs("ctr_discipline_key").Value;
|
||||
|
||||
lcl.set_dialect(ctrdisc_key, "INS_TAB_DISCIPLINE_KEY");
|
||||
|
||||
var tobeincluded = 0;
|
||||
var ingesloten = [];
|
||||
// Bepaal de objecten in de selectie die
|
||||
// ook echt opgenomen kunnen of mogen worden in het scenario.
|
||||
for (var i = 0; i < ins_key_arr.length; i++)
|
||||
{
|
||||
var notexist = true;
|
||||
if (scen_key > 0)
|
||||
{
|
||||
sql = "SELECT ins_srtcontroledl_xcp_key"
|
||||
+ " FROM ins_srtcontroledl_xcp"
|
||||
+ " WHERE ins_deel_key = " + ins_key_arr[i]
|
||||
+ " AND ins_srtcontrole_key = " + srtcont_key_arr[i]
|
||||
+ " AND ins_scenario_key = " + scen_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
notexist = oRs.eof;
|
||||
}
|
||||
|
||||
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i], {srtcont_key: srtcont_key_arr[i]});
|
||||
if (notexist && this_ins.canChangeXcp) // Mag ik nieuwe exceptions (xcp) waarden van de taak voor het nieuwe scenario wijzigen?
|
||||
{
|
||||
ingesloten.push({ins_key: ins_key_arr[i], srtcont_key: srtcont_key_arr[i]});
|
||||
tobeincluded++;
|
||||
}
|
||||
}
|
||||
user.anything_todo_or_abort(tobeincluded > 0); // We klagen niet over enkele wel en enkele niet.
|
||||
|
||||
var result = {success: true, message: "", ins_keys: ins_key_arr.join(","), srtcont_keys: srtcont_key_arr.join(",")};
|
||||
|
||||
// Is er een nieuw scenario opgegeven?
|
||||
if (scen_key < 0)
|
||||
{ // Er is een nieuw scenario opgegeven.
|
||||
var fields = [{ dbs: "ins_scenario_omschrijving", typ: "varchar", frm: "scenoms" },
|
||||
{ dbs: "ins_scenario_opmerking", typ: "varchar", frm: "scenopm" },
|
||||
{ dbs: "ins_scenario_status", typ: "float", val: 0 },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
|
||||
{ dbs: "ins_scenario_key", typ: "key", seq: "ins_s_ins_scenario_key" }
|
||||
];
|
||||
|
||||
var scenIns = buildInsert("ins_scenario", fields);
|
||||
scen_key = scenIns.sequences["ins_scenario_key"];
|
||||
|
||||
var err = Oracle.Execute(scenIns.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
{
|
||||
result.warning = err.friendlyMsg;
|
||||
result.success = false;
|
||||
}
|
||||
}
|
||||
result.scen_key = scen_key;
|
||||
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{ // Toevoegen van de taak voor het object aan het (nieuwe) scenario.
|
||||
sql = "INSERT INTO ins_srtcontroledl_xcp (ins_srtcontroledl_xcp_key"
|
||||
+ " , ins_deel_key"
|
||||
+ " , ins_srtcontrole_key"
|
||||
+ " , ins_srtcontroledl_xcp_periode"
|
||||
+ " , ins_srtcontroledl_xcp_eenheid"
|
||||
+ " , ins_srtcontroledl_xcp_bits"
|
||||
+ " , ins_srtcontroledl_xcp_uren"
|
||||
+ " , ins_srtcontroledl_xcp_materia"
|
||||
+ " , ins_srtcontroledl_xcp_kosten"
|
||||
+ " , ins_srtcontroledl_xcp_kosten2"
|
||||
+ " , ins_srtcontroledl_xcp_kosten3"
|
||||
+ " , ins_srtcontroledl_xcp_perc"
|
||||
+ " , ins_srtcontroledl_xcp_groep"
|
||||
+ " , ins_srtcontroledl_xcp_eind"
|
||||
+ " , ins_srtcontroledl_xcp_opmerk"
|
||||
+ " , ins_srtcontroledl_xcp_startdat"
|
||||
+ " , ins_srtcontroledl_xcp_aantal"
|
||||
+ " , ins_srtcontroledl_xcp_aanteh"
|
||||
+ " , ins_scenario_key)"
|
||||
+ " SELECT ins_s_srtcontroledl_xcp_key.nextval"
|
||||
+ " , " + ingesloten[i].ins_key
|
||||
+ " , " + ingesloten[i].srtcont_key
|
||||
+ " , ins_srtcontroledl_xcp_periode"
|
||||
+ " , ins_srtcontroledl_xcp_eenheid"
|
||||
+ " , ins_srtcontroledl_xcp_bits"
|
||||
+ " , ins_srtcontroledl_xcp_uren"
|
||||
+ " , ins_srtcontroledl_xcp_materia"
|
||||
+ " , ins_srtcontroledl_xcp_kosten"
|
||||
+ " , ins_srtcontroledl_xcp_kosten2"
|
||||
+ " , ins_srtcontroledl_xcp_kosten3"
|
||||
+ " , ins_srtcontroledl_xcp_perc"
|
||||
+ " , ins_srtcontroledl_xcp_groep"
|
||||
+ " , ins_srtcontroledl_xcp_eind"
|
||||
+ " , ins_srtcontroledl_xcp_opmerk"
|
||||
+ " , ins_srtcontroledl_xcp_startdat"
|
||||
+ " , ins_srtcontroledl_xcp_aantal"
|
||||
+ " , ins_srtcontroledl_xcp_aanteh"
|
||||
+ " , " + scen_key
|
||||
+ " FROM ins_v_defined_inspect_xcp"
|
||||
+ " WHERE ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND ins_srtcontrole_key = " + ingesloten[i].srtcont_key
|
||||
+ " AND ins_scenario_key IS NULL";
|
||||
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
{
|
||||
result.warning = err.friendlyMsg;
|
||||
result.success = false;
|
||||
}
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
Reference in New Issue
Block a user