275 lines
12 KiB
Plaintext
275 lines
12 KiB
Plaintext
<%@language = "javascript" %>
|
||
<% /*
|
||
$Revision$
|
||
$Id$
|
||
|
||
File: mld_stdmsrtruimte.asp
|
||
Description: Overrulen per stdmelding of srtruimte van SLA-parameters
|
||
Parameters:
|
||
Context:
|
||
*/ %>
|
||
|
||
<!-- #include file="../Shared/common.inc" -->
|
||
<!-- #include file="../Shared/iface.inc" -->
|
||
<!-- #include file="../Shared/json2.js" -->
|
||
<!-- #include file="../Shared/save2db.inc" -->
|
||
<!-- #include file="../Shared/selector.inc" -->
|
||
<!-- #include file="../Shared/disciplineselector.inc" -->
|
||
<!-- #include file="../Shared/stdmeldingselector.inc" -->
|
||
|
||
<%
|
||
FCLTHeader.Requires({js: ["jquery-ui.js"]});
|
||
|
||
var stdmsrtruimte_key = getQParamInt("mld_stdmsrtruimte_key", -1); // default is nieuwe
|
||
var stdmelding_key = getQParamInt("stdmelding_key", -1);
|
||
var srtruimte_key = getQParamInt("srtruimte_key", -1);
|
||
|
||
var authparams = user.checkAutorisation("WEB_MLDMGT");
|
||
|
||
var ssr_info = {};
|
||
|
||
if (stdmsrtruimte_key > 0)
|
||
{ // bestaande ruimtesoort
|
||
var sql = "SELECT ssr.mld_stdmsrtruimte_key"
|
||
+ " , ssr.mld_stdmelding_key"
|
||
+ " , sm.mld_ins_discipline_key"
|
||
+ " , ssr.alg_srtruimte_key"
|
||
+ " , ssr.mld_stdmsrtruimte_t_accepttijd.tijdsduur acceptatietijd_tijdsduur"
|
||
+ " , ssr.mld_stdmsrtruimte_t_accepttijd.eenheid acceptatietijd_eenheid"
|
||
+ " , ssr.mld_stdmsrtruimte_t_uitvtijd.tijdsduur uitvoertijd_tijdsduur"
|
||
+ " , ssr.mld_stdmsrtruimte_t_uitvtijd.eenheid uitvoertijd_eenheid"
|
||
+ " , ssr.mld_stdmsrtruimte_malusbasis"
|
||
+ " , ssr.mld_stdmsrtruimte_malus"
|
||
+ " FROM mld_stdmsrtruimte ssr"
|
||
+ " , mld_stdmelding sm"
|
||
+ " WHERE ssr.mld_stdmelding_key = sm.mld_stdmelding_key"
|
||
+ " AND ssr.mld_stdmsrtruimte_key = " + stdmsrtruimte_key;
|
||
oRs = Oracle.Execute(sql);
|
||
if (!oRs.eof)
|
||
{
|
||
var ssr_info = { stdmelding_key: oRs("mld_stdmelding_key").Value,
|
||
disc_key: oRs("mld_ins_discipline_key").Value,
|
||
srtruimte_key: oRs("alg_srtruimte_key").Value,
|
||
acceptatietijd_tijdsduur: oRs("acceptatietijd_tijdsduur").Value,
|
||
acceptatietijd_eenheid: oRs("acceptatietijd_eenheid").Value,
|
||
uitvoertijd_tijdsduur: oRs("uitvoertijd_tijdsduur").Value,
|
||
uitvoertijd_eenheid: oRs("uitvoertijd_eenheid").Value,
|
||
malusbasis: oRs("mld_stdmsrtruimte_malusbasis").Value,
|
||
malus: oRs("mld_stdmsrtruimte_malus").Value
|
||
};
|
||
}
|
||
oRs.close();
|
||
}
|
||
else
|
||
{ // Nieuwe overrule.
|
||
// Als melding is meegegeven dan staat de vakgroep (discipline) vast.
|
||
var disc_key = -1;
|
||
if (stdmelding_key > 0)
|
||
{
|
||
var sql = "SELECT sm.mld_ins_discipline_key"
|
||
+ " FROM mld_stdmelding sm"
|
||
+ " WHERE sm.mld_stdmelding_key = " + stdmelding_key;
|
||
oRs = Oracle.Execute(sql);
|
||
disc_key = oRs("mld_ins_discipline_key").Value;
|
||
}
|
||
|
||
var ssr_info = { stdmelding_key: stdmelding_key,
|
||
disc_key: disc_key,
|
||
srtruimte_key: srtruimte_key,
|
||
acceptatietijd_tijdsduur: null,
|
||
acceptatietijd_eenheid: null,
|
||
uitvoertijd_tijdsduur: null,
|
||
uitvoertijd_eenheid: null
|
||
};
|
||
}
|
||
%>
|
||
|
||
<html>
|
||
<head>
|
||
<% FCLTHeader.Generate();
|
||
%>
|
||
<script type="text/javascript" >
|
||
function mld_submit()
|
||
{
|
||
if (!validateForm("u2"))
|
||
return false;
|
||
|
||
// Is <20><>n van de parameters wel ingevuld.
|
||
if ($.trim($("#accepttijd").val()) == "" && $.trim($("#uitvoertijd").val()) == "")
|
||
{
|
||
FcltMgr.alert(L("lcl_mld_no_overrule"));
|
||
return false;
|
||
}
|
||
|
||
var data = $("[name=submitform]").serialize();
|
||
<% protectRequest.dataToken("data"); %>
|
||
$.post($("form[name=submitform]")[0].action,
|
||
data,
|
||
FcltCallbackClose,
|
||
"json");
|
||
return true; // disable button
|
||
}
|
||
|
||
function mld_delete()
|
||
{
|
||
FcltMgr.confirm("<%=safe.jsstring(L("lcl_R_U_sure"))%>", function() {
|
||
var data = {
|
||
stdmsrtruimte_key: <%=stdmsrtruimte_key%>
|
||
};
|
||
<% protectRequest.dataToken("data"); %>
|
||
$.post("mld_stdmsrtruimte_delete.asp",
|
||
data,
|
||
FcltCallbackClose,
|
||
"json");
|
||
});
|
||
}
|
||
|
||
function mld_cancel()
|
||
{
|
||
FcltMgr.closeDetail(window, { cancel: true });
|
||
}
|
||
|
||
function onChangeAccepttijd()
|
||
{
|
||
if (isNaN(parseFloat($("#accepttijd").val())))
|
||
$("#dayshourse").prop("disabled", true);
|
||
else
|
||
$("#dayshourse").prop("disabled", false);
|
||
}
|
||
|
||
function onChangeUitvoertijd()
|
||
{
|
||
if (isNaN(parseFloat($("#uitvoertijd").val())))
|
||
$("#dayshours").prop("disabled", true);
|
||
else
|
||
$("#dayshours").prop("disabled", false);
|
||
}
|
||
|
||
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_key").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("./get_mld_info_ajax.asp",
|
||
{ req_info: "mld_stdmelding",
|
||
mld_stdmelding_key: stdmelding_key,
|
||
caller_key: <%=user_key%> },
|
||
process_stdm_info);
|
||
}
|
||
}
|
||
|
||
|
||
</script>
|
||
</head>
|
||
|
||
<body class="modal" id="mod_mldstdmsrtruimte">
|
||
<%
|
||
var buttons = [];
|
||
|
||
buttons.push( {title: L("lcl_submit"), action:"mld_submit()", icon: "opslaan.png" } );
|
||
buttons.push( {title: L("lcl_cancel"), action:"mld_cancel()", icon: "undo.png" } );
|
||
IFRAMER_HEADER(L("lcl_mld_overrule_details"), buttons, {nocollaps: true});
|
||
|
||
%>
|
||
<div id="submitdiv">
|
||
<form id="submitform"
|
||
name="submitform"
|
||
action="mld_stdmsrtruimte_save.asp"
|
||
method="post">
|
||
<input type="hidden" id="stdmsrtruimte_key" name="stdmsrtruimte_key" value="<%=stdmsrtruimte_key%>">
|
||
<% if (stdmsrtruimte_key > 0 || ssr_info.srtruimte_key > 0)
|
||
{ %>
|
||
<input type="hidden" id="srtruimte_key" name="srtruimte_key" value="<%=ssr_info.srtruimte_key%>">
|
||
<% } %>
|
||
<%
|
||
BLOCK_START("mldMelding", safe.html(L("lcl_mld_overrule_properties")));
|
||
// Vakgroep (discipline)
|
||
FCLTdisciplineselector("disc_key",
|
||
"sgDisc",
|
||
{ label: L("lcl_mld_vakgroep"),
|
||
disc_key: ssr_info.disc_key,
|
||
module: "MLDA", // Module MLD en daarnaast ook de vakgroepen tonen zonder stdmeldingen zodat nieuwe stdmeldingen eraan toegevoegd kunnen worden (MLDA).
|
||
perslidKey: user_key,
|
||
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
||
onChange: "onChangeVakgroep",
|
||
required: true,
|
||
readonly: stdmsrtruimte_key > 0 || ssr_info.stdmelding_key > 0
|
||
});
|
||
// Melding
|
||
FCLTstdmeldingselector("stdmelding_key",
|
||
"sgStdm",
|
||
{ stdmelding_key: ssr_info.stdmelding_key,
|
||
label: L("lcl_complain"),
|
||
perslidKey: user_key,
|
||
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
||
urlAdd: [{urlParam: "disc_key", field: "disc_key"}],
|
||
onChange: "onChangeStdMelding",
|
||
required: true,
|
||
suppressEmpty: true,
|
||
readonly: stdmsrtruimte_key > 0 || ssr_info.stdmelding_key > 0
|
||
});
|
||
sql = "SELECT sr.alg_srtruimte_key"
|
||
+ " , " + lcl.xsqla("sr.alg_srtruimte_omschrijving", "sr.alg_srtruimte_key")
|
||
+ " FROM alg_srtruimte sr"
|
||
+ " WHERE sr.alg_srtruimte_verwijder IS NULL"
|
||
+ " ORDER BY sr.alg_srtruimte_omschrijving";
|
||
FCLTselector("srtruimte_key",
|
||
sql,
|
||
{ initKey: ssr_info.srtruimte_key,
|
||
label: L("lcl_estate_ruimte_man_sort"),
|
||
emptyOption: "",
|
||
readonly: stdmsrtruimte_key > 0 || ssr_info.srtruimte_key > 0,
|
||
required: true,
|
||
suppressEmpty: true
|
||
});
|
||
|
||
sql = "SELECT 'U', " + safe.quoted_sql(L("lcl_mld_hours")) + " FROM DUAL"
|
||
+ " UNION "
|
||
+ "SELECT 'D', " + safe.quoted_sql(L("lcl_mld_days")) + " FROM DUAL"
|
||
+ " ORDER BY 2";
|
||
var selectparams = { fieldName: "dayshourse",
|
||
sql: sql,
|
||
params: { id: "dayshourse",
|
||
initKey: ssr_info.acceptatietijd_eenheid,
|
||
readonly: false,
|
||
disable: !ssr_info.acceptatietijd_tijdsduur
|
||
}
|
||
}
|
||
RWFIELDTR("accepttijd", "fldmld_accpettijd", L("lcl_mld_timetoaccept"), ssr_info.acceptatietijd_tijdsduur? Math.round(ssr_info.acceptatietijd_tijdsduur * 100) / 100 : ""
|
||
, {maxlength: 4, datatype: "float", html: "onChange='onChangeAccepttijd();'", suppressEmpty: true, selector: selectparams});
|
||
var selectparams = { fieldName: "dayshours",
|
||
sql: sql,
|
||
params: { id: "dayshours",
|
||
initKey: ssr_info.uitvoertijd_eenheid,
|
||
readonly: false,
|
||
disable: !ssr_info.uitvoertijd_tijdsduur
|
||
}
|
||
}
|
||
RWFIELDTR("uitvoertijd", "fldmld_uitvtijd", L("lcl_mld_stduitvoertijd"), ssr_info.uitvoertijd_tijdsduur? Math.round(ssr_info.uitvoertijd_tijdsduur * 100) / 100 : ""
|
||
, {maxlength: 4, datatype: "float", html: "onChange='onChangeUitvoertijd();'", suppressEmpty: true, selector: selectparams});
|
||
RWFIELDTR("malusbasis", "fldshort", L("lcl_mld_malusbasis"), ssr_info.malusbasis, {maxlength: 9, datatype: "float", suppressEmpty: true});
|
||
RWFIELDTR("malus", "fldshort", L("lcl_mld_malus"), ssr_info.malus, {maxlength: 9, datatype: "float", suppressEmpty: true});
|
||
BLOCK_END();
|
||
|
||
IFACE.FORM_END();
|
||
%>
|
||
</form>
|
||
</div>
|
||
</body>
|
||
</html>
|