PLAT#39730 MJOB multiedit toegevoegd en de bulkactie 'herplannen taken' werkt nu met een relatief aantal jaren
svn path=/Website/trunk/; revision=35080
This commit is contained in:
@@ -123,6 +123,7 @@ function model_ins_srtcontrole()
|
||||
"typ": "number",
|
||||
"defaultvalue": 10,
|
||||
"required": true,
|
||||
"multiedit": true,
|
||||
"track": true
|
||||
},
|
||||
"period": {
|
||||
@@ -130,6 +131,7 @@ function model_ins_srtcontrole()
|
||||
"label": L("ins_srtcontrole_periode"),
|
||||
"typ": "float",
|
||||
"required": true,
|
||||
"multiedit": true,
|
||||
"track": true
|
||||
},
|
||||
"unit": {
|
||||
@@ -168,6 +170,7 @@ function model_ins_srtcontrole()
|
||||
"label": L("ins_srtcontrole_kosten"),
|
||||
"iscurrency": true,
|
||||
"typ": "float",
|
||||
"multiedit": true,
|
||||
"track": true
|
||||
},
|
||||
"costs2": {
|
||||
@@ -175,6 +178,7 @@ function model_ins_srtcontrole()
|
||||
"label": L("ins_srtcontrole_kosten2"),
|
||||
"iscurrency": true,
|
||||
"typ": "float",
|
||||
"multiedit": true,
|
||||
"track": true
|
||||
},
|
||||
"costs3": {
|
||||
@@ -182,6 +186,7 @@ function model_ins_srtcontrole()
|
||||
"label": L("ins_srtcontrole_kosten3"),
|
||||
"iscurrency": true,
|
||||
"typ": "float",
|
||||
"multiedit": true,
|
||||
"track": true
|
||||
},
|
||||
"material": {
|
||||
@@ -189,24 +194,28 @@ function model_ins_srtcontrole()
|
||||
"label": L("ins_srtcontrole_materiaal"),
|
||||
"iscurrency": true,
|
||||
"typ": "float",
|
||||
"multiedit": true,
|
||||
"track": true
|
||||
},
|
||||
"hours": {
|
||||
"dbs": "ins_srtcontrole_uren",
|
||||
"label": L("ins_srtcontrole_uren"),
|
||||
"typ": "float",
|
||||
"multiedit": true,
|
||||
"track": true
|
||||
},
|
||||
"enddate": {
|
||||
"dbs": "ins_srtcontrole_eind",
|
||||
"label": L("ins_srtcontrole_eind"),
|
||||
"typ": "date",
|
||||
"multiedit": true,
|
||||
"track": true
|
||||
},
|
||||
"phasingouttime": {
|
||||
"dbs": "ins_srtcontrole_afbouwtijd",
|
||||
"label": L("ins_srtcontrole_afbouwtijd"),
|
||||
"typ": "float",
|
||||
"multiedit": true,
|
||||
"track": true
|
||||
},
|
||||
"taskgroup": {
|
||||
|
||||
@@ -44,7 +44,7 @@ var mjob = getFParamInt("mjob", 0) == 1;
|
||||
user.auth_required_or_abort(!multi || (ins_key_arr.length == srtcont_key_arr.length));
|
||||
|
||||
var deelsrtcontrole_datum;
|
||||
var plandatum;
|
||||
var plandatum, moveyears;
|
||||
var nextdate;
|
||||
var deelsrtcont_key = -1;
|
||||
|
||||
@@ -54,7 +54,7 @@ else if (savemode == "C") // Afmelden/Afronden (Close).
|
||||
deelsrtcontrole_datum = getFParamDate("deelsrtcontrole_datum", new Date);
|
||||
else if (savemode == "E")
|
||||
{ // Wijzigen (Edit).
|
||||
// Plandatum wordt bij opmaak velden (fields) wel uit frm gehaald i.p.v. val.
|
||||
plandatum = getFParamDate("plandatum");
|
||||
|
||||
if (multi)
|
||||
abort_with_warning(L("lcl_ins_allow_multi_edit"));
|
||||
@@ -67,6 +67,18 @@ else if (savemode == "D") // Delete (Move back to original year).
|
||||
{
|
||||
var dlsrtcont_key_arr = getFParamIntArray("dlsrtcont_key_arr", []); // Inspecties
|
||||
}
|
||||
else if (savemode == "R")
|
||||
{
|
||||
moveyears = getFParamInt("plandatum");
|
||||
if (multi || isNaN(moveyears) || moveyears % 1 !== 0)
|
||||
{
|
||||
Response.Clear();
|
||||
Response.Write(JSON.stringify({ success: false, savemode: "R", warning: "" }));
|
||||
Response.End();
|
||||
}
|
||||
deelsrtcont_key = getFParamInt("deelsrtcont_key", -1); // Specifieke inspectie die gewijzigd is.
|
||||
var silent = true;
|
||||
}
|
||||
|
||||
var warning = "";
|
||||
var result = {};
|
||||
@@ -88,6 +100,9 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
? " AND idsc2.ins_scenario_key = " + scen_key_arr[i]
|
||||
: " AND idsc2.ins_scenario_key = 1")
|
||||
+ " ) ins_deelsrtcontrole_datum"
|
||||
+ (deelsrtcont_key > 0
|
||||
? " , idsc.ins_deelsrtcontrole_plandatum"
|
||||
: "")
|
||||
+ " , xcp.ins_srtcontrole_eenheid eenheid"
|
||||
+ " , xcp.ins_srtcontrole_mode"
|
||||
+ " , idsc.ins_deelsrtcontrole_status"
|
||||
@@ -126,6 +141,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value;
|
||||
var isc_options = oRs("options").Value;
|
||||
var disc_oms = oRs("ins_discipline_omschrijving").Value;
|
||||
var deelsrtcontrole_plandatum = (deelsrtcont_key > 0 ? oRs("ins_deelsrtcontrole_plandatum").Value : -1);
|
||||
|
||||
var this_ins = ins.func_enabled_deel(ins_key_arr[i],
|
||||
{srtcont_key: srtcont_key_arr[i],
|
||||
@@ -135,6 +151,47 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
canMsuEdit = savemode == "E" && this_ins.canMsuEdit;
|
||||
oRs.Close();
|
||||
|
||||
if (savemode == "R")
|
||||
{
|
||||
var minyear = S("mjb_freeze_year") || (new Date()).getFullYear();
|
||||
if (ins_deelsrtcontrole_status == 0) // Er is nog geen inspectie geweest.
|
||||
{
|
||||
if (deelsrtcontrole_plandatum != -1)
|
||||
plandatum = new Date(deelsrtcontrole_plandatum);
|
||||
else
|
||||
continue;
|
||||
savemode = "E"; // bestaat al dus 'edit'
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "SELECT ins.nextcyclusdate ("+ins_key_arr[i]+", "+srtcont_key_arr[i]+", 1) nextdate FROM DUAL";
|
||||
oRs_nextdate = Oracle.Execute(sql);
|
||||
plandatum = new Date(oRs_nextdate("nextdate").Value);
|
||||
oRs_nextdate.Close();
|
||||
|
||||
if (ins_deelsrtcontrole_status == -1)
|
||||
{
|
||||
var aanmaakyear = ins_deel_aanmaak.getFullYear();
|
||||
minyear = Math.max(minyear, aanmaakyear);
|
||||
}
|
||||
else if (ins_deelsrtcontrole_status == 5 || ins_deelsrtcontrole_status == 6)
|
||||
{
|
||||
var lastinsdate = new Date(ins_deelsrtcontrole_datum_max);
|
||||
var lastinsyear = lastinsdate.getFullYear();
|
||||
minyear = Math.max(minyear, lastinsyear);
|
||||
}
|
||||
else // ins_deelsrtcontrole_status == 2
|
||||
continue;
|
||||
|
||||
savemode = "P"; // moet nog ingepland worden
|
||||
}
|
||||
var newyear = plandatum.getFullYear() + moveyears;
|
||||
if (moveyears === 0 || newyear < minyear)
|
||||
continue;
|
||||
|
||||
plandatum = new Date(newyear, 11, 31);
|
||||
}
|
||||
|
||||
// Inplannen (dlsrtcont_key = -1).
|
||||
// Het is de eerste inspectie of de laatste inspectie moet verwerkt(6) zijn, anders kan de inspectie niet ingepland worden.
|
||||
if (savemode == "P" && !this_ins.canInspPlan) // Inplannen.
|
||||
@@ -292,7 +349,14 @@ for (var i = 0; i < ins_key_arr.length; i++)
|
||||
tobehandled++;
|
||||
}
|
||||
|
||||
user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel en enkele niet
|
||||
if (tobehandled == 0 && silent)
|
||||
{
|
||||
Response.Clear();
|
||||
Response.Write(JSON.stringify({ success: false, savemode: savemode, warning: "" }));
|
||||
Response.End();
|
||||
}
|
||||
else
|
||||
user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
function saveFlexKenmerkenInspection(pdlsrtcont_key, pinsPresent, pdelete)
|
||||
{
|
||||
@@ -726,7 +790,6 @@ else if (savemode == "E")
|
||||
var srtcontrole_type = oRsN("ctr_disc_params_controle_type").Value;
|
||||
|
||||
var thisyear = (new Date()).getFullYear();
|
||||
plandatum = getFParamDate("plandatum");
|
||||
var plandatum_jaar = plandatum.getFullYear();
|
||||
// De inspectiedatum voor taken die nog nooit een inspectie hebben gehad is voor een Vervanging(2) of Certificering(3)
|
||||
// een periode verder dan de registratie/aanmaak datum van het object.
|
||||
@@ -778,7 +841,7 @@ else if (savemode == "E")
|
||||
if (isScenario && mjobdelete)
|
||||
fields.push( { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", val: "", track: L("lcl_opdr_plandate") } );
|
||||
else
|
||||
fields.push( { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", frm: "plandatum", track: L("lcl_opdr_plandate") } );
|
||||
fields.push( { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", val: plandatum, track: L("lcl_opdr_plandate") } );
|
||||
|
||||
if (getDeelsrtcontroleDate)
|
||||
fields.push( { dbs: "ins_deelsrtcontrole_datum", typ: "datetime", val: deelsrtcontrole_datum, track: L("lcl_ins_controle_datum") } );
|
||||
|
||||
@@ -37,34 +37,42 @@ if (ctrdisc_key > 0)
|
||||
return false;
|
||||
|
||||
var year = $("#dragdropyear").val();
|
||||
var today_year = (new Date()).getFullYear();
|
||||
if (year < today_year || year >= (today_year + <%=S("mjb_show_years")%>))
|
||||
var thisyear = (new Date()).getFullYear();
|
||||
var minyear = <%=S("mjb_freeze_year")%> || thisyear;
|
||||
var toyear = thisyear + <%=S("mjb_show_years")%>;
|
||||
var movemaxyears = toyear - minyear;
|
||||
|
||||
// minyear = inclusive
|
||||
// toyear = exclusive -> consistent with mjb_search.asp ('toyear')
|
||||
|
||||
if ( year <= -movemaxyears ||
|
||||
(year >= movemaxyears && year < minyear) ||
|
||||
year >= toyear
|
||||
)
|
||||
{
|
||||
FcltMgr.alert(L("lcl_mjb_not_overyear").format(<%=S("mjb_show_years")%>));
|
||||
FcltMgr.alert(L("lcl_mjb_between_years").format(minyear, toyear-1, movemaxyears-1));
|
||||
return false;
|
||||
}
|
||||
|
||||
FcltMgr.closeDetail(window, { year: $("#dragdropyear").val() } );
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$("#dragdropyear").focus();
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_mjbdragdropyears">
|
||||
|
||||
<form id="dragdropyearsform" name="dragdropyearsform" action="mld_close_save.asp?x=x" method="post">
|
||||
<form id="dragdropyearsform" name="dragdropyearsform" action="javascript:mjb_submit()" method="post">
|
||||
<%
|
||||
BLOCK_START("mldDragDropYears", L("lcl_shared_needed_info"));
|
||||
//RWFIELDTR("dragdropyear", "fld", L("lcl_mjb_years"), "", { required: true, datatype: "number" })
|
||||
var jaar = new Date().getFullYear();
|
||||
var sqljaren = [];
|
||||
for (var i = 0; i < S("mjb_show_years"); i++)
|
||||
sqljaren.push("SELECT {0}, '{0}' FROM DUAL".format(jaar + i));
|
||||
|
||||
FCLTselector("dragdropyear",
|
||||
sqljaren.join(" UNION "),
|
||||
{ initKey: jaar + 5,
|
||||
label: L("lcl_mjb_year")
|
||||
});
|
||||
RWFIELDTR("dragdropyear", "fld", L("lcl_mjb_years"), "", { required: true, datatype: "number" })
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
buttons = [];
|
||||
|
||||
@@ -145,19 +145,37 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
FcltMgr.openModalDetail(url, { titel: L("lcl_ins_change_xcp")+" "+ttl, callback: <%=bld_key > 0? "FcltMgr.reload ": "null"%> });
|
||||
}
|
||||
|
||||
function moveplan(evt, ins_key, srtcont_key, scen_key, jaar)
|
||||
function moveplan(evt, ins_key, srtcont_key, scen_key, dlsrtcont_key, jaar)
|
||||
{
|
||||
FcltMgr.stopPropagation(evt);
|
||||
if (!jaar)
|
||||
return;
|
||||
|
||||
var data = { savemode: "P", // plan-mode
|
||||
ins_keys: ins_key,
|
||||
srtcont_key_arr: srtcont_key,
|
||||
scen_key_arr: scen_key,
|
||||
plandatum: new Date(jaar, 11, 31).getTime(),
|
||||
mjob: 1
|
||||
var minjaar = <%=S("mjb_freeze_year")%> || (new Date()).getFullYear();
|
||||
var savemode, plandatum;
|
||||
|
||||
if (jaar >= minjaar && jaar < (minjaar + <%=S("mjb_show_years")%>))
|
||||
{
|
||||
savemode = "P"; // (absolute) plan-mode
|
||||
plandatum = new Date(jaar, 11, 31).getTime();
|
||||
}
|
||||
else if (jaar > -<%=S("mjb_show_years")%> && jaar < <%=S("mjb_show_years")%>)
|
||||
{
|
||||
savemode = "R" // relative plan-mode
|
||||
plandatum = jaar;
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
var data = { savemode : savemode,
|
||||
ins_keys : ins_key,
|
||||
srtcont_key_arr : srtcont_key,
|
||||
deelsrtcont_key : dlsrtcont_key,
|
||||
scen_key_arr : scen_key,
|
||||
plandatum : plandatum,
|
||||
mjob : 1
|
||||
};
|
||||
|
||||
protectRequest.dataToken(data);
|
||||
$.post("../ins/ins_inspect_save.asp"
|
||||
, data
|
||||
@@ -165,6 +183,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
, "json"
|
||||
);
|
||||
}
|
||||
|
||||
$(function ()
|
||||
{
|
||||
$('td.mjbjaar').droppable(
|
||||
@@ -176,7 +195,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
var $th = $td.closest('table').find('th').eq($td.index()); // werkt omdat we geen colspan's hebben
|
||||
var row = $td.closest('tr')[0];
|
||||
var insData = eval("(" + row.getAttribute("ROWDATA") + ")");
|
||||
moveplan(null, insData.insKey, insData.insSrtControleKey, insData.insScenKey, $th.text());
|
||||
moveplan(null, insData.insKey, insData.insSrtControleKey, insData.insScenKey, null, $th.text());
|
||||
}
|
||||
});
|
||||
|
||||
@@ -234,24 +253,29 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
||||
|
||||
var mjbDeelKeyArray = [];
|
||||
var mjbSrtContrKeyArray = [];
|
||||
var mjbDlSrtContKeyArr = [];
|
||||
var mjbScenKeyArray = [];
|
||||
function dragDropCallback(json, textStatus, tweede)
|
||||
{
|
||||
for (var i = 0; i < mjbDeelKeyArray.length; i++)
|
||||
{
|
||||
moveplan(null, mjbDeelKeyArray[i], mjbSrtContrKeyArray[i], mjbScenKeyArray[i], json.year)
|
||||
moveplan(null, mjbDeelKeyArray[i], mjbSrtContrKeyArray[i], mjbScenKeyArray[i], mjbDlSrtContKeyArr[i], json.year);
|
||||
}
|
||||
FcltCallbackRefresh(json, textStatus);
|
||||
}
|
||||
|
||||
function mjb_dragdrop(rowArray, isMulti)
|
||||
{
|
||||
var key;
|
||||
mjbDeelKeyArray = [];
|
||||
mjbSrtContrKeyArray = [];
|
||||
mjbDlSrtContKeyArr = [];
|
||||
mjbScenKeyArray = [];
|
||||
for (var i = 0; i < rowArray.length; i++)
|
||||
{
|
||||
rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
|
||||
mjbDeelKeyArray.push(rowdata.insKey);
|
||||
mjbSrtContrKeyArray.push(rowdata.insSrtControleKey);
|
||||
mjbDlSrtContKeyArr.push(rowdata.insDeelSrtContrKey);
|
||||
mjbScenKeyArray.push(rowdata.insScenKey)
|
||||
}
|
||||
url = "../mjb/mjb_dragdropyear.asp?ctrdisc_key=<%=ctrdisc_key%>&ins_keys=" + mjbDeelKeyArray.join(",");
|
||||
|
||||
Reference in New Issue
Block a user