FCLT#53547: MJOB: MJOB aanvullingen.

svn path=/Website/trunk/; revision=38402
This commit is contained in:
Maykel Geerdink
2018-07-05 14:50:19 +00:00
parent ffea24f885
commit 6cc3627ce0
4 changed files with 79 additions and 38 deletions

View File

@@ -211,7 +211,10 @@ else
}
ROFIELDTR("image_button", L("lcl_obj_image_upload"), L("lcl_fg_upload"), params);
if (S("mjb_enabled") == 1)
ROFIELDTR("fld", L("ins_srtdeel_mjb_grensscore1"), srtdeel.srtdeel_mjb_grensscore1, {suppressEmpty: true});
RWFIELDTR("srtdeel_grensscore1", "fldnum", L("ins_srtdeel_mjb_grensscore1"), srtdeel.srtdeel_mjb_grensscore1,
{ datatype: "number",
maxlength: 10
});
BLOCK_END();
BLOCK_START("insBind", L("lcl_obj_bind"));

View File

@@ -29,20 +29,21 @@ var binding = (getFParam("bindR", "off") == "on" ? BIND_RUIMTE : 0) +
(getFParam("bindP", "off") == "on" ? BIND_PERSOO : 0) +
(getFParam("bindI", "off") == "on" ? BIND_INSDEE : 0);
var fields = [ { dbs: "ins_srtgroep_key", typ: "key", frm: "srtgroep", track: L("lcl_obj_group"), foreign: "ins_srtgroep" },
{ dbs: "ins_srtdeel_code", typ: "varchar", frm: "srtcode", track: L("lcl_obj_srtdeel_code") },
{ dbs: "ins_srtdeel_omschrijving", typ: "varchar", frm: "srtomschr", track: L("lcl_descr") },
{ dbs: "ins_srtdeel_volgnr", typ: "number", frm: "srtdeel_volgnr", track: L("lcl_ins_volgnr") },
{ dbs: "ins_srtdeel_eenheid", typ: "varchar", frm: "srtdeel_eenheid", track: L("lcl_obj_unit") },
//{ dbs: "ins_srtdeel_dimensie", typ: "varchar", frm: "srtdeel_dimensie", track: L("lcl_ins_dimensie") },
{ dbs: "ins_srtdeel_acadsymbol", typ: "varchar", frm: "srtdeel_acadsymbol", track: L("lcl_obj_symbol") },
{ dbs: "ins_srtdeel_uitleenbaar", typ: "check", frm: "srtdeel_uitleenbaar", track: L("lcl_ins_uitleenbaar") },
{ dbs: "ins_srtdeel_nr", typ: "varchar", frm: "srtdeel_nr", track: L("lcl_ins_srtartikelnr") },
{ dbs: "prs_bedrijf_key", typ: "key", frm: "prs_bedrijf_key", track: L("lcl_ins_leverancier"), foreign: "prs_bedrijf" },
{ dbs: "ins_srtdeel_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_ins_vervaldatum") },
{ dbs: "ins_srtdeel_image", typ: "varchar", frm: "srtdeel_image", track: L("lcl_ins_image") },
{ dbs: "ins_srtdeel_module", typ: "varchar", val: "INS" },
{ dbs: "ins_srtdeel_binding", typ: "number", val: binding, track: L("lcl_obj_bind") }];
var fields = [ { dbs: "ins_srtgroep_key", typ: "key", frm: "srtgroep", track: L("lcl_obj_group"), foreign: "ins_srtgroep" },
{ dbs: "ins_srtdeel_code", typ: "varchar", frm: "srtcode", track: L("lcl_obj_srtdeel_code") },
{ dbs: "ins_srtdeel_omschrijving", typ: "varchar", frm: "srtomschr", track: L("lcl_descr") },
{ dbs: "ins_srtdeel_volgnr", typ: "number", frm: "srtdeel_volgnr", track: L("lcl_ins_volgnr") },
{ dbs: "ins_srtdeel_eenheid", typ: "varchar", frm: "srtdeel_eenheid", track: L("lcl_obj_unit") },
//{ dbs: "ins_srtdeel_dimensie", typ: "varchar", frm: "srtdeel_dimensie", track: L("lcl_ins_dimensie") },
{ dbs: "ins_srtdeel_acadsymbol", typ: "varchar", frm: "srtdeel_acadsymbol", track: L("lcl_obj_symbol") },
{ dbs: "ins_srtdeel_uitleenbaar", typ: "check", frm: "srtdeel_uitleenbaar", track: L("lcl_ins_uitleenbaar") },
{ dbs: "ins_srtdeel_nr", typ: "varchar", frm: "srtdeel_nr", track: L("lcl_ins_srtartikelnr") },
{ dbs: "prs_bedrijf_key", typ: "key", frm: "prs_bedrijf_key", track: L("lcl_ins_leverancier"), foreign: "prs_bedrijf" },
{ dbs: "ins_srtdeel_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_ins_vervaldatum") },
{ dbs: "ins_srtdeel_image", typ: "varchar", frm: "srtdeel_image", track: L("lcl_ins_image") },
{ dbs: "ins_srtdeel_mjb_grensscore1", typ: "float", frm: "srtdeel_grensscore1", track: L("ins_srtdeel_mjb_grensscore1") },
{ dbs: "ins_srtdeel_module", typ: "varchar", val: "INS" },
{ dbs: "ins_srtdeel_binding", typ: "number", val: binding, track: L("lcl_obj_bind") }];
var warning = "";

View File

@@ -194,11 +194,13 @@ for (var i = 0; i < ingesloten.length; i++)
{ // Er is in de Active Situatie (AS) geen lopende inspectie.
if (plandatum)
{
var nextdate = ins.func_get_nextdate(ingesloten[i].ins_key, ingesloten[i].srtcont_key, 1);
var fields = [ { 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_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_plandatum", typ: "datetime", val: plandatum },
{ dbs: "ins_deelsrtcontrole_datum_org", typ: "datetime", val: nextdate}
];
var insIns = buildInsert("ins_deelsrtcontrole", fields);
dlsrtcont_key = insIns.sequences["ins_deelsrtcontrole_key"];

View File

@@ -56,7 +56,7 @@ var mjb_freeze_year = S("mjb_freeze_year");
var groupby = getQParamInt("groupby");
var fulldetails = (groupby == 8); // Geen aggregate, dan kun je van alles manipuleren
var fromyear = getQParamInt("fromyear", mjb_freeze_year);
var fromyear = getQParamInt("fromyear", new Date().getFullYear());
var toyear = getQParamInt("toyear");
var deel = getQParam("deel", ""); // Identieficatie
@@ -71,11 +71,11 @@ var disc_key = getQParamInt("disc", -1);
var srtgroep_key = getQParamInt("srtgroep", -1);
var srtdeel_key = getQParamInt("srtdeel", -1);
var srtcontrole = getQParamIntArray("srtcontrole", []); // Taak
var inflatiepct = S("mjb_inflation");
var inflatiefactor = 1 + (inflatiepct / 100);
var frequentie = getQParamIntArray("frequentie", []); // Array met frequenties.
var kp_key = getQParamInt("account", -1); // Kostenplaats.
var incbtw = getQParamInt("incbtw", 0) == 1; // Lijst inclusief BTW weergeven.
var inflatiepct = S("mjb_inflation");
var inflatiefactor = 1 + (inflatiepct / 100);
var scenario = getQParamInt("scenario", 1); // Scenario
var actsit = getQParamInt("actsit", 0) == 1; // Ook actuele situatie.
@@ -109,16 +109,23 @@ var filterParams = { deel: (deel != ""? deel : null),
disc_key: disc_key,
insgroup_key: srtgroep_key,
objsrt_key_arr: srtdeel_key,
kp_key: kp_key,
mjbgroup: groupby,
mjbtoyear: toyear,
mjbsrtcontr: srtcontrole.join(","),
mjbinfl_pct: inflatiepct,
mjbfreq: frequentie.join(","),
mjbincbtw: incbtw
mjbincbtw: incbtw,
mjbscenario: scenario,
mjbactsit: actsit,
mjbshowempty: mjbshowempty
};
var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrole", "inflatie",
"frequentie", "incbtw", "toyear", "alg_startlevel", "alg_endlevel",
"deel", "groep", "categorie_key", "scenario", "actsit",
var transitParam = buildTransitParam(["deel", "groep", "categorie_key", "districtkey", "locatiekey", "gebouwkey",
"disc", "srtgroep", "srtdeel", "srtcontrole",
"frequentie", "account", "incbtw", "toyear",
"scenario", "actsit", "mjbshowempty", "ctrdisc_key",
"fitness_score1_from", "fitness_score1_through", "fitness_score1_from_neg", "fitness_score1_through_neg",
"fitness_score1_from_pos", "fitness_score1_through_pos", "priority_score2_from", "priority_score2_through",
"mjbMoved", "mjbFreezed", "mjbXcped"]);
%>
<html>
@@ -144,9 +151,11 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
var categorie_key = <%=categorie_key%>;
var srtcontrole = "<%=srtcontrole.join(",")%>";
var frequentie = "<%=frequentie.join(",")%>";
var account = <%=kp_key%>;
var incbtw = <%=incbtw? 1 : 0%>;
var groupby = <%=groupby%>;
var deel = "<%=deel%>";
var actsit = <%=actsit? 1 : 0%>;
var mjbMoved = <%=mjbMoved? 1 : 0%>;
var mjbFreezed = <%=mjbFreezed? 1 : 0%>;
var mjbXcped = <%=mjbXcped? 1 : 0%>;
@@ -184,10 +193,10 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
function moveplan(evt, ins_key, srtcont_key, scen_key, dlsrtcont_key, startdatum, hascontrole, jaar)
{
FcltMgr.stopPropagation(evt);
// Als er al een inspectie is geweest dan niet meer naar startdatum kijken.
// Als er al een succesvol uitgevoerde inspectie is geweest dan niet meer naar startdatum kijken.
// Situatie als het jaar gelijk is aan de startdatum:
// Geplande inspectie record aanwezig: Nee: (dlsrtcont_key < 0) Niets doen => refresh en return.
// Ja: (dlsrtcont_key < 0) Door naar ins_inspect_save.asp op record te verwijderen.
// Ja: (dlsrtcont_key < 0) Door naar ins_inspect_save.asp om record te verwijderen.
if (!jaar || (!hascontrole && (startdatum > 0 && ((dlsrtcont_key < 0 && jaar <= new Date(startdatum).getFullYear()) || (dlsrtcont_key > 0 && jaar < new Date(startdatum).getFullYear())))))
{
FcltCallbackRefresh({success: true});
@@ -725,7 +734,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
var org_v = Math.round(oRs(jaar + "_ORGBEDRAG").Value);
if (v == 0) // (jaar >= vervaljaar) of (startjaar >= jaar)
{
var startjaar = oRs("startjaar").Value;
var startjaar = oRs("startjaar").Value; // Startjaar heeft altijd een waarde.
var starttype = oRs("starttype").Value;
var ctr_controle_type = oRs("ctr_controle_type").Value;
var planjaar = oRs("planjaar").Value;
@@ -740,8 +749,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
// a) Als registratiedatum het verst in de toekomst ligt: Eerste inspectie tonen op 1 periode verder dan de registratiedatum.
// b) Als de startdatum het verst in de toekomst ligt: Eerste inspectie tonen op de startdatum.
if ((vervaljaar != null && jaar > vervaljaar - afbouwtijd) || // Als 2022 vervaljaar is en afbouwtijd is 2 jaar, dan 2020 nog 0 tonen.
(startjaar != null && startjaar >= jaar && (starttype == "S" || (starttype == "A" && ctr_controle_type == 1))) || // In startjaar komt een bedrag te staan.
(startjaar != null && (startjaar + ins_srtcontrole_periode) > jaar && starttype == "A" && ctr_controle_type != 1 && ((planjaar == null) || (planjaar != null && planjaar > jaar)))) // In startjaar + periode komt een bedrag te staan, tenzij verschoven.
(startjaar > jaar) || // In startjaar komt een bedrag te staan.
((startjaar + ins_srtcontrole_periode) > jaar && starttype == "A" && ctr_controle_type != 1 && ((planjaar == null) || (planjaar != null && planjaar > jaar)))) // In startjaar + periode komt een bedrag te staan, tenzij verschoven.
{
return "";
}
@@ -749,25 +758,35 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
if (outputmode != 0)
return safe.curr(v, true);
if (v != org_v) {
if (outputmode == 0) {
v = "<span class='mjborgbedrag' title='{1}'>{0}</span>".format(safe.curr(v, true), L('lcl_valutasign') + safe.curr(org_v, true));
} else {
v = "{0}".format(safe.curr(v, true));
}
if (v != org_v)
{
if (outputmode == 0)
v = "<span class='mjborgbedrag' title='{1}'>{0}</span>".format(safe.curr(v, true), L('lcl_valutasign') + safe.curr(org_v, true));
else
v = "{0}".format(safe.curr(v, true));
}
var deel_key = oRs("ins_deel_key").Value;
var srtcont_key = oRs("ins_srtcontrole_key").Value;
if ((deel_key + ":" + srtcont_key) in doneclik )
return safe.curr(v, true);
if ((jaar < mjb_freeze_year && (oRs(jaar + "_completed") == 1 || oRs(jaar + "_rejected") == 1 || oRs(jaar + "_freezed") == 1)) || // inspecties voor het freeze jaar (completed, rejected, freezed) niet sleepbaar, behalve ingeplande die nog niet zijn gedaan.
// Als in het freeze jaar of daarvoor een geaccordeerde/bevroren inspectie is dan moet volgende bedrag sleepbaar zijn.
// Er kan naast een geaccordeerde/bevroren(2) inspectie ook nog een ingeplande(0) inspectie als laatste melding zijn (2 lopende records, vandaar (status < 5)).
(jaar <= mjb_freeze_year && oRs(jaar + "_freezed").Value == 1 && oRs("ins_deelsrtcontrole_status").Value < 5) ||
(oRs(jaar + "_completed").Value == 1) ||
(deel_key + ":" + srtcont_key) in doneclik)
{
if (oRs("ins_deelsrtcontrole_status").Value == 2 && jaar == mjb_freeze_year)
doneclik[deel_key + ":" + srtcont_key] = 1;
return safe.curr(v, true);
}
doneclik[deel_key + ":" + srtcont_key] = 1;
var scen_key = oRs("ins_scenario_key").Value;
// INSUSE read rechten heb je al nodig om dit overzicht te zien.
// Inspecties in de status gestart(2) of gereedgemeld(5) mogen niet drag en drop zijn. Planningsdatum is daarvan niet aan te passen.
return "<span" + (hasWriteCTRUSE? " class='" + (oRs("canBePlanned").Value == 1 && (scenario == 1 || scen_key > 1 || oRs("hasscenario2").Value == 1)? "details draggable" : "") + "'" : "") + ">{0}</span>".format(safe.curr(v, true))
return "<span" + (hasWriteCTRUSE? " class='" + ((scenario == 1 || scen_key > 1 || oRs("hasscenario2").Value == 1)? "details draggable" : "") + "'" : "") + ">{0}</span>".format(safe.curr(v, true));
}
}
@@ -791,8 +810,18 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
}
else
{
if (jaar == mjb_freeze_year && oRs("ins_deelsrtcontrole_status").Value == 2)
var bedrag;
if (oRs(jaar).Value == null)
bedrag = -1;
else
bedrag = safe.curr(Math.round(oRs(jaar).Value), true);
// Alleen geaccordeerde taken in of eerder dan het freeze jaar kunnen geaccordeerd/bevroren zijn.
if (oRs(jaar + "_freezed").Value == 1 && bedrag > 0)
freezeclass = " mjbfreezed";
if (oRs(jaar + "_completed").Value == 1)
freezeclass += " mjbcompleted";
if (oRs(jaar + "_rejected").Value == 1)
freezeclass += " mjbrejected";
}
}
return "mjbjaar" + freezeclass;
@@ -958,6 +987,12 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
<tr>
<td class="mjbfreezed" title="<%= L("lcl_mjb_started") %>"><%= L("lcl_mjb_started") %></td>
</tr>
<tr>
<td class="mjbcompleted" title="<%= L("lcl_mjb_completed") %>"><%= "Uitgevoerd" %></td>
</tr>
<tr>
<td class="mjbrejected" title="<%= L("lcl_mjb_rejected") %>"><%= "Afgewezen" %></td>
</tr>
<tr class="mjbafbouw">
<td title="<%= L("lcl_mjb_phasingout") %>"><%= L("lcl_mjb_phasingout") %></td>
</tr>