FCLT#54239 Opmerking kunnen plaatsen bij verschoven planning in MJOB

svn path=/Website/trunk/; revision=39043
This commit is contained in:
Alex Tiehuis
2018-09-04 12:45:15 +00:00
parent f47cc7afb5
commit d12ccbddc5
4 changed files with 68 additions and 17 deletions

View File

@@ -3888,6 +3888,15 @@ ins = {checkAutLevel:
+ " AND idsc2.ins_srtcontrole_key = cv.ins_srtcontrole_key"
+ " AND (idsc2.ins_scenario_key = cv.ins_scenario_key))"
+ " , -1) ins_deelsrtcontrole_key"
+ " , (SELECT MAX(ins_deelsrtcontrole_plan_opmerking)"
+ " FROM ins_deelsrtcontrole idpo"
+ " WHERE idpo.INS_DEELSRTCONTROLE_KEY = COALESCE((SELECT MAX(idsc3.ins_deelsrtcontrole_key)"
+ " FROM ins_deelsrtcontrole idsc3"
+ " WHERE idsc3.ins_deel_key = cv.ins_deel_key"
+ " AND idsc3.ins_srtcontrole_key = cv.ins_srtcontrole_key"
+ " AND (idsc3.ins_scenario_key = cv.ins_scenario_key))"
+ " , -1)"
+ " ) ins_deelsrtcontrole_plan_opmerking"
+ " , cv.bedrag AS orgbedrag"
// Als er een andere inspectie is met een lagere ins_srtcontrole_level in hetzelfde jaar dan springt ons bedrag op 0
// Dit gebeurt o.a. ook als: 1) het object vervallen is of

View File

@@ -42,6 +42,7 @@ var finish = getFParamInt("finish", 0) == 1; // Inspectie direct afronden.
var groupby = getFParamInt("groupby", 8);
var finishmjob = getFParamInt("finishmjob", 0) == 1;
var catclose = (finishmjob && groupby < 8); // Bulk closen per categorie.
var plan_opm = getFParam("plan_opm", "");
var mjob = getFParamInt("mjob", 0) == 1;
@@ -605,14 +606,15 @@ else
var nextdate = ins.func_get_nextdate(ingesloten[i].ins_key, ingesloten[i].srtcont_key, ingesloten[i].scen_key, {mjob: mjob});
var fields = [{dbs: "ins_deelsrtcontrole_key", typ: "key", seq: "ins_s_ins_deelsrtcontrole_key"},
{dbs: "ins_deel_key", typ: "key", val: ingesloten[i].ins_key},
{dbs: "ins_srtcontrole_key", typ: "key", val: ingesloten[i].srtcont_key},
{dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 4000 },
{dbs: "ins_deelsrtcontrole_status", typ: "key", val: 0},
{dbs: "prs_perslid_key", typ: "key", val: user_key},
{dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", val: plandatum},
{dbs: "ins_deelsrtcontrole_datum_org", typ: "datetime", val: nextdate}
var fields = [{dbs: "ins_deelsrtcontrole_key", typ: "key", seq: "ins_s_ins_deelsrtcontrole_key"},
{dbs: "ins_deel_key", typ: "key", val: ingesloten[i].ins_key},
{dbs: "ins_srtcontrole_key", typ: "key", val: ingesloten[i].srtcont_key},
{dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 4000 },
{dbs: "ins_deelsrtcontrole_status", typ: "key", val: 0},
{dbs: "prs_perslid_key", typ: "key", val: user_key},
{dbs: "ins_deelsrtcontrole_plan_opmerking", typ: "varchar", val: plan_opm, track: L("lcl_mjb_plan_opmerking"), len: 4000 },
{dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", val: plandatum},
{dbs: "ins_deelsrtcontrole_datum_org", typ: "datetime", val: nextdate}
];
if (mjob && ingesloten[i].scen_key > 1)
@@ -761,6 +763,7 @@ else
{
var fields = [ { dbs: "prs_perslid_key", typ: "key", val: user_key, track: L("lcl_name"), foreign: "prs_perslid" },
{ dbs: "ins_deelsrtcontrole_datum", typ: "datetime", val: deelsrtcontrole_datum, track: L("lcl_ins_controle_datum") }, // De controledatum met tijd opslaan.
{ dbs: "ins_deelsrtcontrole_plan_opmerking", typ: "varchar", val: plan_opm, track: L("lcl_mjb_plan_opmerking"), len: 4000 },
{ dbs: "ins_deelsrtcontrole_datum_org", typ: "datetime", val: nextdate } // De orginele controledatum met tijd opslaan. Kan al gevuld zijn met dezelfde waarde.
];
if (!insPresent)
@@ -768,6 +771,7 @@ else
fields.push({ dbs: "ins_deel_key", typ: "key", val: ingesloten[i].ins_key });
fields.push({ dbs: "ins_srtcontrole_key", typ: "key", val: ingesloten[i].srtcont_key });
fields.push({ dbs: "ins_deelsrtcontrole_key", typ: "key", seq: "ins_s_ins_deelsrtcontrole_key" });
fields.push({ dbs: "ins_deelsrtcontrole_plan_opmerking", typ: "varchar", val: plan_opm, track: L("lcl_mjb_plan_opmerking"), len: 4000 });
}
// Kan moeilijk bepalen of dit de laatste inspectie is in de reeks omdat huidige inspectie nog niet opgeslagen is (Veel uitrekenwerk).
@@ -825,6 +829,7 @@ else
{ // De controlemode en de opmerking van de laatste inspectie nog even op de aangegeven waarde zetten (i.p.v. niet succes waarde (controlemode) en lege waarde (opmerking)).
var fields = [ { dbs: "ins_controlemode_key", typ: "key", frm: "sel_controlemode", track: L("lcl_ins_controle_mode"), foreign: "ins_controlemode" },
{ dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 4000 } ];
fields.push({ dbs: "ins_deelsrtcontrole_plan_opmerking", typ: "varchar", val: plan_opm, track: L("lcl_mjb_plan_opmerking"), len: 4000 });
var insUpd = buildTrackingUpdate("ins_deelsrtcontrole", " ins_deelsrtcontrole_key = " + result.deelsrtcontrole_key, fields);
var err = Oracle.Execute(insUpd.sql, true);
}
@@ -833,6 +838,7 @@ else
{ // Interval modus
var fields = [ { dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 4000 },
{ dbs: "prs_perslid_key", typ: "key", val: user_key, track: L("lcl_name"), foreign: "prs_perslid" },
{ dbs: "ins_deelsrtcontrole_plan_opmerking", typ: "varchar", val: plan_opm, track: L("lcl_mjb_plan_opmerking"), len: 4000 },
{ dbs: "ins_deelsrtcontrole_datum", typ: "datetime", val: deelsrtcontrole_datum, track: L("lcl_ins_controle_datum") }, // De controledatum met tijd opslaan.
{ dbs: "ins_controlemode_key", typ: "key", frm: "sel_controlemode", track: L("lcl_ins_controle_mode"), foreign: "ins_controlemode" },
{ dbs: "ins_deelsrtcontrole_datum_org", typ: "datetime", val: nextdate } // De orginele controledatum met tijd opslaan. Kan al gevuld zijn met dezelfde waarde.
@@ -843,6 +849,7 @@ else
fields.push({ dbs: "ins_srtcontrole_key", typ: "key", val: ingesloten[i].srtcont_key });
fields.push({ dbs: "ins_deelsrtcontrole_key", typ: "key", seq: "ins_s_ins_deelsrtcontrole_key" });
fields.push({ dbs: "ins_deelsrtcontrole_status", typ: "key", val: (finish && hasActionFinish? 6: 5) });
fields.push({ dbs: "ins_deelsrtcontrole_plan_opmerking", typ: "varchar", val: plan_opm, track: L("lcl_mjb_plan_opmerking"), len: 4000 });
}
if (insPresent)
@@ -1099,6 +1106,7 @@ else
{
var fields = [ { dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 4000 }
];
fields.push({ dbs: "ins_deelsrtcontrole_plan_opmerking", typ: "varchar", val: plan_opm, track: L("lcl_mjb_plan_opmerking"), len: 4000 });
if (isScenario && mjobdelete)
fields.push( { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", val: "", track: L("lcl_opdr_plandate") } );

View File

@@ -16,6 +16,8 @@
<%
var ctrdisc_key = getQParamInt("ctrdisc_key", -1); // Ctrdiscipline
var ins_key_arr = getQParamIntArray("ins_keys", []);
var jaar = getQParamInt("jaar", -1);
var plan_opm = getQParam("plan_opm", "");
user.anything_todo_or_abort(ins_key_arr.length > 0); // We klagen niet over enkele wel en enkele niet
if (ctrdisc_key > 0)
@@ -36,8 +38,10 @@ if (ctrdisc_key > 0)
{
if (!validateForm("u2"))
return false;
var year = $("#dragdropyear").val();
<% if (jaar == -1) %>
var year = $("#dragdropyear").val();
<% else %>
var year = <%=jaar%>;
var thisyear = (new Date()).getFullYear();
var minyear = <%=S("mjb_freeze_year")%> || thisyear;
var toyear = thisyear + <%=S("mjb_show_years")%>;
@@ -55,7 +59,7 @@ if (ctrdisc_key > 0)
return false;
}
FcltMgr.closeDetail(window, { year: $("#dragdropyear").val() } );
FcltMgr.closeDetail(window, { year: year, plan_opm: $("#remark").val() } );
}
$(function()
@@ -72,7 +76,14 @@ if (ctrdisc_key > 0)
<%
BLOCK_START("mldDragDropYears", L("lcl_shared_needed_info"));
RWFIELDTR("dragdropyear", "fld", L("lcl_mjb_years"), "", { required: true, datatype: "number" })
if (jaar != -1) {
ROFIELDTR("fld", L("lcl_mjb_years"), jaar, { datatype: "number" })
}
else
{
RWFIELDTR("dragdropyear", "fld", L("lcl_mjb_years"), "", { required: true, datatype: "number" })
}
RWTEXTAREATR("remark", "fldtxt", L("lcl_mjb_plan_opmerking"), plan_opm, { maxlength: 4000 });
BLOCK_END();

View File

@@ -191,7 +191,7 @@ var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "distric
FcltMgr.openModalDetail(url, { titel: L("lcl_ins_change_xcp")+" "+ttl, callback: <%=bld_key_arr.length ? "FcltMgr.reload ": "null"%> });
}
function moveplan(evt, ins_key, srtcont_key, scen_key, dlsrtcont_key, startdatum, hascontrole, jaar)
function moveplan(evt, ins_key, srtcont_key, scen_key, dlsrtcont_key, startdatum, hascontrole, jaar, plan_opm)
{
FcltMgr.stopPropagation(evt);
// Als er al een succesvol uitgevoerde inspectie is geweest dan niet meer naar startdatum kijken.
@@ -222,13 +222,14 @@ var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "distric
FcltCallbackRefresh({success: true});
return;
}
// var plan_opm = $("tr[rowkey="+ins_key+"]")[0].getAttribute("ROWDATA") ? eval("(" + $("tr[rowkey="+ins_key+"]")[0].getAttribute("ROWDATA") + ")").insDeelSrtContrPlanOpm : "";
var data = { savemode : savemode,
ins_keys : ins_key,
srtcont_key_arr : srtcont_key,
deelsrtcont_key : dlsrtcont_key,
scen_key_arr : scen_key,
plandatum : plandatum,
plan_opm : plan_opm,
mjob : 1
};
@@ -237,7 +238,7 @@ var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "distric
, data
, FcltCallbackRefresh
, "json"
);
);
}
$(function ()
@@ -255,7 +256,7 @@ var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "distric
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, insData.insDeelSrtContrKey, insData.insStartDatum, insData.insHasControle, $th.text());
mjb_dragdrop_1x(null, insData.insKey, insData.insSrtControleKey, insData.insScenKey, insData.insDeelSrtContrKey, insData.insStartDatum, insData.insHasControle, $th.text(), insData.insDeelSrtContrPlanOpm);
}
});
@@ -284,6 +285,7 @@ var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "distric
// Zoek de TH erbij. Daarin staat het drop-jaartal
var $th = $td.closest('table').find('th').eq($td.index()); // werkt omdat we geen colspan's hebben
var jaar = $th.text();
var insDeelSrtContrPlanOpm;
// Als de inspectie gepland is (tr heeft class "mjbplanned") dan de oorspronkelijke datum tonen.
// Oorspronkelijke datum alleen tonen op het schuifbare bedrag, anders gewoon jaar van de kolom.
@@ -297,6 +299,14 @@ var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "distric
else
// Oorspronkelijke jaar weergeven.
jaar = L("lcl_mjb_original").format(data.org_nextdate);
if (data.insDeelSrtContrPlanOpm)
insDeelSrtContrPlanOpm = data.insDeelSrtContrPlanOpm.replace(/\n/ig, "<br>");
}
if (insDeelSrtContrPlanOpm)
{
jaar += "</br>" + insDeelSrtContrPlanOpm;
}
$("#timetip").html(jaar)
@@ -321,7 +331,7 @@ var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "distric
{
for (var i = 0; i < mjbDeelKeyArray.length; i++)
{
moveplan(null, mjbDeelKeyArray[i], mjbSrtContrKeyArray[i], mjbScenKeyArray[i], mjbDlSrtContKeyArr[i], mjbStartDatumKeyArray[i], mjbHasControleArray[i], json.year);
moveplan(null, mjbDeelKeyArray[i], mjbSrtContrKeyArray[i], mjbScenKeyArray[i], mjbDlSrtContKeyArr[i], mjbStartDatumKeyArray[i], mjbHasControleArray[i], json.year, json.plan_opm);
}
FcltCallbackRefresh(json, textStatus);
}
@@ -348,6 +358,18 @@ var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "distric
FcltMgr.openModalDetail(url, L("lcl_mjb_dragdrop"), {callback: dragDropCallback});
}
function mjb_dragdrop_1x(evt, ins_key, srtcont_key, scen_key, dlsrtcont_key, startdatum, hascontrole, jaar, plan_opm)
{
mjbDeelKeyArray = [ins_key];
mjbSrtContrKeyArray = [srtcont_key];
mjbDlSrtContKeyArr = [dlsrtcont_key];
mjbScenKeyArray = [scen_key];
mjbStartDatumKeyArray = [startdatum];
mjbHasControleArray = [hascontrole];
url = "../mjb/mjb_dragdropyear.asp?ctrdisc_key=<%=ctrdisc_key%>&ins_keys=" + mjbDeelKeyArray.join(",") + "&jaar=" + jaar + "&plan_opm=" + plan_opm;
FcltMgr.openModalDetail(url, L("lcl_mjb_dragdrop"), {callback: dragDropCallback});
}
function mjb_moveYearBack(rowArray, isMulti)
{
var ins_key_arr = [];
@@ -547,6 +569,7 @@ var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "distric
data.insKey = oRs("ins_deel_key").Value;
data.insSrtControleKey = oRs("ins_srtcontrole_key").Value;
data.insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1;
data.insDeelSrtContrPlanOpm = safe.htmlattr(oRs("ins_deelsrtcontrole_plan_opmerking").Value);
data.insXcpKey = oRs("ins_srtcontroledl_xcp_key").Value || -1;
data.insDeelSrtContrStatus = oRs("ins_deelsrtcontrole_status").Value == null? -1 : oRs("ins_deelsrtcontrole_status").Value;
data.org_nextdate = oRs("org_nextdate").Value; // Eerstaankomende inspectie vandaag of in de toekomst.