FSN#40190: Aantal en eenheid overrulen in srtcontroledl_xcp record.

svn path=/Website/branches/v2017.1/; revision=33973
This commit is contained in:
Maykel Geerdink
2017-05-23 12:36:08 +00:00
parent d00afd0830
commit 6e47808cd7
4 changed files with 68 additions and 60 deletions

View File

@@ -39,6 +39,8 @@ var this_ins = ins.func_enabled_deel(ins_key, {srtcont_key: srtcont_key});
user.anything_todo_or_abort((srtcont_key > 0 && this_ins.canShowXcp) || (srtcont_key < 0 && this_ins.hasAnyReadXcp));
var isMJOB = false;
var aantal = 0;
var srtdeel_eenheid;
var xcp_periode;
var xcp_eenheid;
var xcp_bits;
@@ -55,17 +57,6 @@ var xcp_opmerk;
var xcp_aantal;
var xcp_aanteh;
var periodereartext = "";
var periode;
var eenheid;
var bits;
var uren;
var materiaal;;
var kosten;
var kosten2;
var kosten3;
var perc;
var groep;
var vervaldatum = null;
var opmerk;
if (srtcont_key > 0)
{
@@ -120,17 +111,6 @@ if (srtcont_key > 0)
+ " , xcp.ins_srtcontroledl_xcp_aantal"
+ " , xcp.ins_srtcontroledl_xcp_aanteh"
+ " , xcp.ins_scenario_key"
+ " , isc.ins_srtcontrole_periode"
+ " , isc.ins_srtcontrole_eenheid"
+ " , isc.ins_srtcontrole_bits"
+ " , isc.ins_srtcontrole_uren"
+ " , isc.ins_srtcontrole_materiaal"
+ " , isc.ins_srtcontrole_kosten"
+ " , isc.ins_srtcontrole_kosten2"
+ " , isc.ins_srtcontrole_kosten3"
+ " , isc.ins_srtcontrole_percentage"
+ " , isc.ins_srtcontrole_groep"
+ " , isc.ins_srtcontrole_eind"
+ " , isc.ins_srtcontrole_opmerking"
+ " , isc.ins_scenario_key"
+ " FROM ins_srtcontroledl_xcp xcp"
@@ -156,29 +136,6 @@ if (srtcont_key > 0)
xcp_opmerk = oRs("ins_srtcontroledl_xcp_opmerk").Value;
xcp_aantal = oRs("ins_srtcontroledl_xcp_aantal").Value;
xcp_aanteh = oRs("ins_srtcontroledl_xcp_aanteh").Value;
periode = oRs("ins_srtcontrole_periode").Value;
switch (oRs("ins_srtcontrole_eenheid").Value)
{
case 0: eenheid = L("lcl_ins_controle_uurlijks");
break;
case 1: eenheid = L("lcl_ins_controle_dagelijks");
break;
case 2: eenheid = L("lcl_ins_controle_wekelijks");
break;
case 3: eenheid = L("lcl_ins_controle_maandelijks");
break;
case 4: eenheid = L("lcl_ins_controle_jaarlijks");
break;
}
bits = oRs("ins_srtcontrole_bits").Value;
uren = oRs("ins_srtcontrole_uren").Value;
materiaal = oRs("ins_srtcontrole_materiaal").Value;
kosten = oRs("ins_srtcontrole_kosten").Value;
kosten2 = oRs("ins_srtcontrole_kosten2").Value;
kosten3 = oRs("ins_srtcontrole_kosten3").Value;
perc = oRs("ins_srtcontrole_percentage").Value;
groep = oRs("ins_srtcontrole_groep").Value;
vervaldatum = oRs("ins_srtcontrole_eind").Value != null? toDateString(new Date(oRs("ins_srtcontrole_eind").Value)) : null;
opmerk = oRs("ins_srtcontrole_opmerking").Value;
}
oRs.Close();
@@ -465,6 +422,11 @@ if (srtcont_key > 0)
$("#periode").prop("title", getSrtControleValue("periode_std"));
$("#stdperiode").text( getSrtControleValue("periode_std")? " [" + getSrtControleValue("periode_std") + "]" : "");
$("#aantal").val(getSrtControleValue("aantal_xcp"));
$("#stdaantal").text( getSrtControleValue("aantal_std")? " [" + getSrtControleValue("aantal_std") + "]" : "");
$("#aanteh").val(getSrtControleValue("aanteh_xcp"));
$("#stdaanteh").text( getSrtControleValue("aanteh_std")? " [" + getSrtControleValue("aanteh_std") + "]" : "");
isMJOB = getSrtControleValue("ismjob") == 1;
if (!isMJOB)
{
@@ -556,10 +518,14 @@ if (srtcont_key > 0)
if ($("#kosten" + number).val() != '' && !isNaN(kosten))
{
$("#kosten" + number).val(num2currEditable(kosten));
<% if (aantal > 1) { %>
var txt = "* <%=aantal%> = " + num2curr(<%=aantal%> * kosten);
var paantal_std = <%=aantal%>;
var paantal_xcp = $("#aantal").val().replace(',', '.');
var paantal = paantal_xcp? paantal_xcp : paantal_std;
if (paantal > 1)
{
var txt = "* " + paantal + " = " + num2curr(paantal * kosten);
$("#totkosten" + number).text(txt);
<% } %>
}
}
}
@@ -615,6 +581,10 @@ if (srtcont_key > 0)
+ " FROM (SELECT di.ins_srtcontrole_key"
+ " , " + lcl.xsqla('di.ins_srtcontrole_omschrijving', 'di.ins_srtcontrole_key')
+ " , di.ins_srtcontrole_mode modus"
+ " , di.ins_deel_aantal aantal_std"
+ " , xcp.ins_srtcontroledl_xcp_aantal aantal_xcp"
+ " , di.ins_srtdeel_eenheid aanteh_std"
+ " , xcp.ins_srtcontroledl_xcp_aanteh aanteh_xcp"
+ " , di.ins_srtcontrole_eenheid eenheid_std"
+ " , COALESCE(xcp.ins_srtcontroledl_xcp_eenheid, -1) eenheid_xcp"
+ " , di.ins_srtcontrole_periode periode_std"
@@ -694,6 +664,10 @@ if (srtcont_key > 0)
+ " GROUP BY di.ins_srtcontrole_key"
+ " , di.ins_srtcontrole_omschrijving"
+ " , di.ins_srtcontrole_mode"
+ " , di.ins_deel_aantal"
+ " , xcp.ins_srtcontroledl_xcp_aantal"
+ " , di.ins_srtdeel_eenheid"
+ " , xcp.ins_srtcontroledl_xcp_aanteh"
+ " , di.ins_srtcontrole_periode"
+ " , di.ins_srtcontrole_eenheid"
+ " , di.ins_srtcontrole_bits"
@@ -735,7 +709,8 @@ if (srtcont_key > 0)
required: true,
onChange: "onChangeSrtControle()",
trclass: "mod_xcp",
extraParamValue: "modus, eenheid_std, eenheid_xcp, periode_std, periode_xcp, bits_std, bits_xcp"
extraParamValue: "modus, aantal_std, aantal_xcp, aanteh_std, aanteh_xcp, eenheid_std, eenheid_xcp"
+ ", periode_std, periode_xcp, bits_std, bits_xcp"
+ ", kosten_std1, kosten_xcp1, kosten_std2, kosten_xcp2, kosten_std3, kosten_xcp3"
+ ", uren_std, uren_xcp, materiaal_std, materiaal_xcp, perc_std, perc_xcp"
+ ", opmerk_std, opmerk_xcp, xcp_key, groep_std, groep_xcp"
@@ -743,7 +718,8 @@ if (srtcont_key > 0)
+ ", eind_std_dag, eind_xcp_dag, eind_std_maand, eind_xcp_maand, eind_std_jaar, eind_xcp_jaar"
+ ", nextdate_dag, nextdate_maand, nextdate_jaar"
+ ", ismjob, hascontroles",
extraParamValueInit: "1, -1, -1, , , , "
extraParamValueInit: "1, , , , , -1, -1"
+ ", , , , "
+ ", , , , , , "
+ ", , , , , , "
+ ", , , , , "
@@ -762,7 +738,7 @@ if (srtcont_key > 0)
+ " UNION SELECT 4, " + safe.quoted_sql(L("lcl_ins_controle_jaarlijks")) + " FROM DUAL";
FCLTselector("eenheid",
sql,
{ label: L("lcl_ins_controle_eenheid") + "<span id='stdeenheid'></span>",
{ label: L("lcl_ins_controle_eenheid") + " " + L("lcl_ins_controle").toLowerCase() + "<span id='stdeenheid'></span>",
emptyOption: isMJOB? null : "",
initKey: isMJOB? 4 : xcp_eenheid,
required: false,
@@ -871,8 +847,24 @@ if (srtcont_key > 0)
</tr>
<% } %>
<%
if (aantal > 1)
ROFIELDTR("fld", L("lcl_amount") + (srtdeel_eenheid? "&nbsp;(" + srtdeel_eenheid + ")" : ""), aantal);
RWFIELDTR("aantal",
"fldshort",
L("lcl_amount") + "<span id='stdaantal'></span>",
xcp_aantal,
{ datatype: "currency",
html: "onBlur='calcKosten(1);calcKosten(2);calcKosten(3);'",
readonly: !this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp,
suppressEmpty: !this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp
});
RWFIELDTR("aanteh",
"fldaanteh",
L("ins_srtcontrole_eenheid") + " " + L("lcl_amount").toLowerCase() + "<span id='stdaanteh'></span>",
xcp_aanteh,
{ datatype: "text",
readonly: !this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp,
suppressEmpty: !this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp
});
if (ins_xcp_active_cost & 1)
RWFIELDTR("kosten1",
@@ -938,7 +930,7 @@ if (srtcont_key > 0)
//RWFIELDTR("bits", "fldshort trbits3", L("lcl_ins_controle_bits"), "", {trclass: "trbits", datatype: "number" });
RWFIELDTR("groep",
"fldgroep",
L("lcl_ins_controle_groep") + "<span id='stdgroep'>" + (groep != null? " [" + groep + "]" : "") + "</span>",
L("lcl_ins_controle_groep") + "<span id='stdgroep'></span>",
xcp_groep,
{ datatype: "text",
readonly: !this_ins.canChangeXcp && !this_ins.hasAnyWriteXcp,

View File

@@ -25,7 +25,9 @@ var srtcontrole_key = getFParamInt("sel_srtcontrole"); // ins_srtcontrole_key.
var this_ins = ins.func_enabled_deel(ins_key, {srtcont_key: srtcontrole_key});
// Ophalen standaard waarden.
var sql = "SELECT isc.ins_srtcontrole_eenheid"
var sql = "SELECT d.ins_deel_aantal"
+ " , sd.ins_srtdeel_eenheid"
+ " , isc.ins_srtcontrole_eenheid"
+ " , isc.ins_srtcontrole_periode"
+ " , isc.ins_srtcontrole_bits"
+ " , isc.ins_srtcontrole_kosten"
@@ -53,6 +55,8 @@ var sql = "SELECT isc.ins_srtcontrole_eenheid"
var oRs = Oracle.Execute(sql);
lcl.set_dialect(oRs("ctr_discipline_key").Value, "INS_TAB_DISCIPLINE_KEY");
var aantal_std = oRs("ins_deel_aantal").Value;
var aanteh_std = oRs("ins_srtdeel_eenheid").Value;
var eenheid_std = oRs("ins_srtcontrole_eenheid").Value;
var periode_std = oRs("ins_srtcontrole_periode").Value;
var bits_std = oRs("ins_srtcontrole_bits").Value;
@@ -81,6 +85,8 @@ if (!(eenheid >= 0)) // uurlijks is 0
var periode = null;
if (eenheid > -1)
periode = getFParamInt("periode", null); // ins_srtcontroledl_xcp_periode.
var aantal = getFParamFloat("aantal", null); // ins_srtcontroledl_xcp_aantal.
var aanteh = getFParam("aanteh", null); // ins_srtcontroledl_xcp_aanteh.
var kosten1 = getFParamFloat("kosten1", null); // ins_srtcontroledl_xcp_kosten.
var kosten2 = getFParamFloat("kosten2", null); // ins_srtcontroledl_xcp_kosten2.
var kosten3 = getFParamFloat("kosten3", null); // ins_srtcontroledl_xcp_kosten3.
@@ -134,6 +140,8 @@ else
var datumdiffer = vervaldatum != null && (vervaldatum? vervaldatum.getTime() : null) != (vervaldatum_std? vervaldatum_std.getTime() : null)
var paramsdiffer = ((eenheid != -1 && (eenheid != eenheid_std || (periode != null && periode != periode_std) || (bits != null && bits != bits_std))) ||
(aantal != null && aantal != aantal_std) ||
(aanteh != "" && aanteh != aanteh_std) ||
(kosten1 != null && kosten1 != kosten1_std) ||
(kosten2 != null && kosten2 != kosten2_std) ||
(kosten3 != null && kosten3 != kosten3_std) ||
@@ -159,7 +167,9 @@ if (paramsdiffer && !deactivate)
{ dbs: "ins_srtcontroledl_xcp_groep", typ: "varchar", val: (groep == "" || groep == groep_std? null : groep) },
{ dbs: "ins_srtcontroledl_xcp_opmerk", typ: "varchar", val: (opmerk == "" || opmerk == opmerk_std? null : opmerk) },
{ dbs: "ins_srtcontroledl_xcp_startdat", typ: "datetime", frm: "startdatum" },
{ dbs: "ins_srtcontroledl_xcp_eind", typ: "datetime", val: (datumdiffer? vervaldatum : null) }
{ dbs: "ins_srtcontroledl_xcp_eind", typ: "datetime", val: (datumdiffer? vervaldatum : null) },
{ dbs: "ins_srtcontroledl_xcp_aantal", typ: "float", val: (aantal == null || aantal == aantal_std? null : aantal) },
{ dbs: "ins_srtcontroledl_xcp_aanteh", typ: "varchar", val: (aanteh == "" || aanteh == aanteh_std? null : aanteh) }
];
var ins_xcp_active_cost = S("ins_xcp_active_cost");

View File

@@ -282,6 +282,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " ELSE 12 * e.ins_srtcontrole_periode"
+ " END))) vervangingsjaar"
+ " , e.ins_deel_aantal"
+ " , e.ins_srtdeel_eenheid"
+ " , e.ins_srtcontrole_eind"
+ " , e.ins_srtcontrole_afbouwtijd"
+ " , e.fin_btwtabelwaarde_key"
@@ -301,6 +302,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , el.ins_srtcontrole_key"
+ " , el.ins_srtcontrole_level"
+ " , el.ins_deel_aantal"
+ " , el.ins_srtdeel_eenheid"
+ " , el.ins_srtcontrole_eind"
+ " , el.ins_srtcontrole_afbouwtijd"
+ " , el.fin_btwtabelwaarde_key"
@@ -398,6 +400,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , 0) bedrag"
+ " , hierlevel"
+ " , comp.ins_deel_aantal"
+ " , comp.ins_srtdeel_eenheid"
+ " , comp.ins_srtcontrole_eind"
+ " , comp.ins_srtcontrole_afbouwtijd"
+ " , comp.fin_btwtabelwaarde_key"
@@ -418,6 +421,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , vervangingsjaar"
+ " , hierlevel"
+ " , ins_deel_aantal"
+ " , ins_srtdeel_eenheid"
+ " , ins_srtcontrole_eind"
+ " , ins_srtcontrole_afbouwtijd"
+ " , fin_btwtabelwaarde_key"
@@ -438,6 +442,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , vervangingsjaar"
+ " , 1 hierlevel"
+ " , ins_deel_aantal"
+ " , ins_srtdeel_eenheid"
+ " , ins_srtcontrole_eind"
+ " , ins_srtcontrole_afbouwtijd"
+ " , fin_btwtabelwaarde_key"
@@ -461,6 +466,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , m.vervangingsjaar + m.ins_srtcontrole_periode"
+ " , m.hierlevel + 1"
+ " , m.ins_deel_aantal"
+ " , m.ins_srtdeel_eenheid"
+ " , m.ins_srtcontrole_eind"
+ " , m.ins_srtcontrole_afbouwtijd"
+ " , m.fin_btwtabelwaarde_key"
@@ -499,12 +505,12 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , g.alg_gebouw_omschrijving"
+ " , g.alg_gebouw_key"
+ " , dg.ins_deel_omschrijving"
+ " , dg.ins_deel_aantal"
+ " , cy.ins_deel_aantal"
+ " , cy.ins_srtdeel_eenheid"
+ " , dg.ins_deel_opmerking"
+ " , dg.ins_discipline_omschrijving"
+ " , dg.ins_srtgroep_omschrijving"
+ " , dg.ins_srtdeel_omschrijving"
+ " , (SELECT isd.ins_srtdeel_eenheid FROM ins_srtdeel isd WHERE isd.ins_srtdeel_key = dg.ins_srtdeel_key) ins_srtdeel_eenheid"
+ " , cy.ins_srtcontrole_omschrijving"
+ " , cy.ins_deel_key"
+ " , " + keyColumn + " keyColumn"
@@ -553,11 +559,11 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , cv.alg_gebouw_key"
+ " , cv.ins_deel_omschrijving"
+ " , cv.ins_deel_aantal"
+ " , cv.ins_srtdeel_eenheid"
+ " , cv.ins_deel_opmerking"
+ " , cv.ins_discipline_omschrijving"
+ " , cv.ins_srtgroep_omschrijving"
+ " , cv.ins_srtdeel_omschrijving"
+ " , cv.ins_srtdeel_eenheid"
+ " , cv.ins_srtcontrole_omschrijving"
+ " , cv.ins_deel_key"
+ " , cv.keyColumn"

View File

@@ -2589,7 +2589,7 @@ i.productklikker {
.fldscenario, .fldmoverequest, .fldprjstatus, .flddaydate, .fldactivity, .fldplace, .fldstopplace, .fldprincipal, .fldcategorie, .fldonderwerp,
.fldsel_controlemode, .fldartgroep, .fldbesitem, .fldmailto, .fldusrtabkey, .fldmodule, .fldfac_name, .fldfac_path, .fldfac_query,
.fldprsinzetbaardag, .fldmlduitvoerendag, .fldopdr_type_new, .fldcnt_cancel_period, .fldcnt_rappel_period, .fldsrtkenmerk_key, .fldverplicht, .fldstdmelding_key,
.fldsrtgroep, .fldgroep, .fldeenheid, .fldr_objs
.fldsrtgroep, .fldaanteh, .fldgroep, .fldeenheid, .fldr_objs
{
width: 218px;
}