FSN#39567: Van MJOB naar MJOP/R. Zoiets bedoelde ik :-)
svn path=/Website/trunk/; revision=34915
This commit is contained in:
@@ -4,12 +4,13 @@
|
|||||||
$Id$
|
$Id$
|
||||||
|
|
||||||
File: mjb_search_list_curr.asp
|
File: mjb_search_list_curr.asp
|
||||||
Description:
|
Description: Overview of the execution and progression of the approved MJOB tasks
|
||||||
|
Shows all active and frozen budgets until they are closed.
|
||||||
Parameters:
|
Parameters:
|
||||||
|
|
||||||
Context:
|
Context:
|
||||||
|
|
||||||
Note:
|
Note: Vlotte kopie van mjb_search_list. Hier kan tzt nog wel wat opgeruimd worden
|
||||||
|
|
||||||
*/ %>
|
*/ %>
|
||||||
<!-- #include file="../Shared/common.inc" -->
|
<!-- #include file="../Shared/common.inc" -->
|
||||||
@@ -20,9 +21,6 @@
|
|||||||
FCLTHeader.Requires({plugins: ["jQuery"],
|
FCLTHeader.Requires({plugins: ["jQuery"],
|
||||||
js : ["jquery-ui.js", "../ins/ins_list.js"]}); // Voor slepen en acties.
|
js : ["jquery-ui.js", "../ins/ins_list.js"]}); // Voor slepen en acties.
|
||||||
|
|
||||||
var urole = getQParamSafe("urole", ""); // Indien niet meegegeven, veronderstel dan frontend gebruik
|
|
||||||
|
|
||||||
|
|
||||||
// FORM parameters: de waarde indien aanwezig, anders null
|
// FORM parameters: de waarde indien aanwezig, anders null
|
||||||
// Vaak is een lege selectie ook een -1, dus dan is-ie wel aanwezig, maar hoeft niet
|
// Vaak is een lege selectie ook een -1, dus dan is-ie wel aanwezig, maar hoeft niet
|
||||||
// als filter te worden toegepast. Dan is null dus gelijk aan -1, qua betekenis,
|
// als filter te worden toegepast. Dan is null dus gelijk aan -1, qua betekenis,
|
||||||
@@ -51,6 +49,10 @@ var hasReadALGUSE = authparamsALGUSE && authparamsALGUSE.ALGreadlevel < 9 && aut
|
|||||||
var authparamsALGMAN = user.checkAutorisation("WEB_ALGMAN", true);
|
var authparamsALGMAN = user.checkAutorisation("WEB_ALGMAN", true);
|
||||||
var hasReadALGMAN = authparamsALGMAN && authparamsALGMAN.ALGreadlevel < 9 && authparamsALGMAN.PRSreadlevel < 9;
|
var hasReadALGMAN = authparamsALGMAN && authparamsALGMAN.ALGreadlevel < 9 && authparamsALGMAN.PRSreadlevel < 9;
|
||||||
|
|
||||||
|
// Rechten om de realisatie te bekijken
|
||||||
|
var authparamsMLD = user.checkAutorisation("WEB_MLDBOF", true);
|
||||||
|
var hasReadMLD = authparamsMLD && authparamsMLD.ALGreadlevel < 9 && authparamsMLD.PRSreadlevel < 9;
|
||||||
|
|
||||||
var mjb_start_year = S("mjb_start_year");
|
var mjb_start_year = S("mjb_start_year");
|
||||||
var mjb_freeze_year = S("mjb_freeze_year");
|
var mjb_freeze_year = S("mjb_freeze_year");
|
||||||
|
|
||||||
@@ -108,16 +110,12 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
%>
|
%>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<style>
|
|
||||||
div#timetip {position:absolute;border:1px solid #666;background-color:#fff;padding:2px;z-index:999;display:none;}
|
|
||||||
</style>
|
|
||||||
<%
|
<%
|
||||||
FCLTHeader.Generate({ outputmode: outputmode });
|
FCLTHeader.Generate({ outputmode: outputmode });
|
||||||
|
|
||||||
if (outputmode == 0) {
|
if (outputmode == 0) {
|
||||||
%>
|
%>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var urole = "<%=urole%>";
|
|
||||||
var fulldetails = <%=fulldetails? 1 : 0%> == 1;
|
var fulldetails = <%=fulldetails? 1 : 0%> == 1;
|
||||||
|
|
||||||
function naargebouw(bld_key, deze)
|
function naargebouw(bld_key, deze)
|
||||||
@@ -135,6 +133,12 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
FcltMgr.openDetail(url, $(deze).text());
|
FcltMgr.openDetail(url, $(deze).text());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function naarmelding(isdc_key, deze)
|
||||||
|
{
|
||||||
|
var url = "appl/mld/mld_melding.asp?kto_type=T&kto_key="+isdc_key;
|
||||||
|
FcltMgr.openDetail(url, $(deze).text());
|
||||||
|
}
|
||||||
|
|
||||||
function exception(ins_key, srtcont_key, scen_key, ttl)
|
function exception(ins_key, srtcont_key, scen_key, ttl)
|
||||||
{
|
{
|
||||||
var url = "../ins/ins_xcp.asp?ins_key=" + ins_key + "&srtcont_key=" + srtcont_key + "&scen_key=" + scen_key + "&urole=bo";
|
var url = "../ins/ins_xcp.asp?ins_key=" + ins_key + "&srtcont_key=" + srtcont_key + "&scen_key=" + scen_key + "&urole=bo";
|
||||||
@@ -146,17 +150,10 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
%>
|
%>
|
||||||
</head>
|
</head>
|
||||||
<body id="listbody">
|
<body id="listbody">
|
||||||
<div id='timetip'></div>
|
|
||||||
|
|
||||||
<%
|
<%
|
||||||
// De datum (jaar) van de *eerstvolgende* onderhoudsbeurt volgt uit:
|
|
||||||
// Datum laatste (/laatste geplande) inspectie
|
|
||||||
// of anders: ins_deel_aanmaak
|
|
||||||
// waarbij verondersteld wordt dat inspecties in het verleden wel zijn uitgevoerd
|
|
||||||
|
|
||||||
// SQL van soort controles die nog een bevroren nog lopende taak hebben in het freeze jaar en eventuele jaren ervoor.
|
// SQL van soort controles die nog een bevroren nog lopende taak hebben in het freeze jaar en eventuele jaren ervoor.
|
||||||
|
|
||||||
|
|
||||||
var sql_from = " FROM ins_deelsrtcontrole dsc"
|
var sql_from = " FROM ins_deelsrtcontrole dsc"
|
||||||
+ " , ins_v_defined_inspect_xcp xcp"
|
+ " , ins_v_defined_inspect_xcp xcp"
|
||||||
+ " , ins_v_aanwezigdeel dl"
|
+ " , ins_v_aanwezigdeel dl"
|
||||||
@@ -243,7 +240,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ sql_where;
|
+ sql_where;
|
||||||
|
|
||||||
var sql_list_years = "SELECT LISTAGG(freezedate, ',') WITHIN GROUP (ORDER BY freezedate) listfdjaar"
|
var sql_list_years = "SELECT LISTAGG(freezedate, ',') WITHIN GROUP (ORDER BY freezedate) listfdjaar"
|
||||||
+ " FROM (" + sql_years + ")";
|
+ " FROM (" + sql_years + ")";
|
||||||
var oRs = Oracle.Execute(sql_list_years);
|
var oRs = Oracle.Execute(sql_list_years);
|
||||||
var listfdjaar = oRs("listfdjaar").Value || -1;
|
var listfdjaar = oRs("listfdjaar").Value || -1;
|
||||||
if (listfdjaar == -1)
|
if (listfdjaar == -1)
|
||||||
@@ -277,21 +274,26 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
if (ins_xcp_active_cost & 8) costarray.push("COALESCE(xcp.ins_srtcontrole_materiaal, 0)");
|
if (ins_xcp_active_cost & 8) costarray.push("COALESCE(xcp.ins_srtcontrole_materiaal, 0)");
|
||||||
var sqlcost = "";
|
var sqlcost = "";
|
||||||
if (costarray.length > 0)
|
if (costarray.length > 0)
|
||||||
sqlcost = "(" + costarray.join(" + ") + ") *";
|
sqlcost = "(" + costarray.join(" + ") + ") *";
|
||||||
|
|
||||||
|
// vermenigvuldigingsfactor om zo nodig incl BTW te krijgen
|
||||||
var btw = (incbtw
|
var btw = (incbtw
|
||||||
? " (1 + COALESCE((SELECT fbtw.fin_btwtabelwaarde_perc"
|
? " (1 + COALESCE((SELECT fbtw.fin_btwtabelwaarde_perc"
|
||||||
+ " FROM fin_btwtabelwaarde fbtw"
|
+ " FROM fin_btwtabelwaarde fbtw"
|
||||||
+ " WHERE fbtw.fin_btwtabelwaarde_key = xcp.fin_btwtabelwaarde_key) / 100"
|
+ " WHERE fbtw.fin_btwtabelwaarde_key = xcp.fin_btwtabelwaarde_key) / 100"
|
||||||
+ " , 0)) *"
|
+ " , 0)) "
|
||||||
: "")
|
: "1")
|
||||||
|
|
||||||
// om het wat leesbaar te houden
|
// om het wat leesbaar te houden een functietje
|
||||||
function SumTaskOrdersSQL(fase)
|
function SumTaskOrdersSQL(fase)
|
||||||
{
|
{
|
||||||
// fase: 1 klare opdrachten, 0: lopende opdrachten
|
// fase: 1 klare opdrachten, 0: lopende opdrachten
|
||||||
// MLD: Geraamd: Uitgegeven(5), Technisch voltooid(6) en Geaccepteerd(8)
|
// Geraamd: Uitgegeven(5), Technisch voltooid(6) en Geaccepteerd(8)
|
||||||
// Definitief: Verwerkt(7) en Kosten voltooid(9)
|
// Definitief: Verwerkt(7) en Kosten voltooid(9)
|
||||||
|
// TODO: uitwerken hoe dat precies met BTW zit; als de Kostensoort van de melding/opdracht Incl BTW is,
|
||||||
|
// dan is het bedrag van mld_opdr_kosten in principe al met BTW en zou mld_opdr_kosten_btw (nieuw)
|
||||||
|
// het btw-deel daarvan voorstellen. Dan hoef je dat er dus niet meer bij op te tellen. Nu kijken we
|
||||||
|
// hier nog helemaal niet naar de kostensoort, en de precieze werken is tbd. Te zijner tijd.
|
||||||
var osql = "SELECT SUM(mld_opdr_kosten)" + (incbtw ? "+SUM(mld_opdr_kosten_btw)" : "")
|
var osql = "SELECT SUM(mld_opdr_kosten)" + (incbtw ? "+SUM(mld_opdr_kosten_btw)" : "")
|
||||||
+ " FROM mld_opdr o, mld_melding m"
|
+ " FROM mld_opdr o, mld_melding m"
|
||||||
+ " WHERE m.mld_melding_key = o.mld_melding_key"
|
+ " WHERE m.mld_melding_key = o.mld_melding_key"
|
||||||
@@ -343,16 +345,11 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , ins_srtcontroledl_xcp_key"
|
+ " , ins_srtcontroledl_xcp_key"
|
||||||
+ " , COALESCE(dsc.ins_deelsrtcontrole_datum, dsc.ins_deelsrtcontrole_freezedate) freezedatum"
|
+ " , COALESCE(dsc.ins_deelsrtcontrole_datum, dsc.ins_deelsrtcontrole_freezedate) freezedatum"
|
||||||
+ " , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) freezejaar"
|
+ " , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) freezejaar"
|
||||||
+ " , COALESCE (xcp.ins_deel_aantal *"
|
|
||||||
+ " " + sqlcost
|
|
||||||
+ " (COALESCE(xcp.ins_srtcontrole_percentage, 100) / 100) *"
|
|
||||||
+ " " + btw
|
|
||||||
+ " POWER(1 , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) - EXTRACT(YEAR FROM SYSDATE))" // Bevriezen van het kalenderjaar S("mjb_freeze_year").
|
|
||||||
+ " , 0) begrootbedrag"
|
|
||||||
+ " , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) freezedatejaar"
|
+ " , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) freezedatejaar"
|
||||||
+ " , " + btw + " dsc.ins_deelsrtcontrole_freezecost ins_deelsrtcontrole_freezecost"
|
+ " , " + btw + " * dsc.ins_deelsrtcontrole_freezecost ins_deelsrtcontrole_freezecost"
|
||||||
+ " , " + SumTaskOrdersSQL(1) + "besteed"
|
+ " , " + btw + " * dsc.ins_deelsrtcontrole_freezecost begrootbedrag" // hetzelfde, maar dan buiten de pivot
|
||||||
+ " , " + SumTaskOrdersSQL(0) + "geraamd"
|
+ " , " + SumTaskOrdersSQL(1) + "besteedbedrag"
|
||||||
|
+ " , " + SumTaskOrdersSQL(0) + "geraamdbedrag"
|
||||||
+ sql_from
|
+ sql_from
|
||||||
+ sql_where
|
+ sql_where
|
||||||
+ " AND EXTRACT(YEAR FROM ins_deelsrtcontrole_freezedate) IN (" + listfdjaar + ")";
|
+ " AND EXTRACT(YEAR FROM ins_deelsrtcontrole_freezedate) IN (" + listfdjaar + ")";
|
||||||
@@ -379,6 +376,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
? " , ins_deel_opmerking"
|
? " , ins_deel_opmerking"
|
||||||
: "")
|
: "")
|
||||||
+ " , SUM(ins_deelsrtcontrole_freezecost) ins_deelsrtcontrole_freezecost"
|
+ " , SUM(ins_deelsrtcontrole_freezecost) ins_deelsrtcontrole_freezecost"
|
||||||
|
+ " , SUM(besteedbedrag) besteedbedrag"
|
||||||
|
+ " , SUM(geraamdbedrag) geraamdbedrag"
|
||||||
+ " , SUM(begrootbedrag) begrootbedrag"
|
+ " , SUM(begrootbedrag) begrootbedrag"
|
||||||
+ " , freezedatejaar"
|
+ " , freezedatejaar"
|
||||||
+ " FROM (" + sql_cost + ")"
|
+ " FROM (" + sql_cost + ")"
|
||||||
@@ -397,24 +396,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " FROM (" + sql_cost + ") c"
|
+ " FROM (" + sql_cost + ") c"
|
||||||
+ " PIVOT (SUM(ins_deelsrtcontrole_freezecost) FOR freezedatejaar IN (" + listfdjaar + "))";
|
+ " PIVOT (SUM(ins_deelsrtcontrole_freezecost) FOR freezedatejaar IN (" + listfdjaar + "))";
|
||||||
|
|
||||||
var sqlArray = [];
|
|
||||||
if (mjbMoved) // Aangepast.
|
|
||||||
{
|
|
||||||
sqlArray.push("isPlanned = 1");
|
|
||||||
}
|
|
||||||
if (mjbFreezed) // In behandeling (Bevroren).
|
|
||||||
{
|
|
||||||
sqlArray.push("ins_deelsrtcontrole_freezedate IS NOT NULL AND ins_deelsrtcontrole_status = 2");
|
|
||||||
}
|
|
||||||
if (mjbXcped) // Aangepast.
|
|
||||||
{
|
|
||||||
sqlArray.push("ins_srtcontroledl_xcp_key IS NOT NULL AND ins_scenario_key = 1");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sqlArray.length)
|
|
||||||
sql += " WHERE (" + sqlArray.join(" OR ") + ")";
|
|
||||||
|
|
||||||
sql += " ORDER BY 1";
|
sql += " ORDER BY 1";
|
||||||
|
|
||||||
for (var i = 2; i <= groupby; i++)
|
for (var i = 2; i <= groupby; i++)
|
||||||
{
|
{
|
||||||
sql += "," + String(i)
|
sql += "," + String(i)
|
||||||
@@ -438,8 +421,6 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
data.insKey = oRs("ins_deel_key").Value;
|
data.insKey = oRs("ins_deel_key").Value;
|
||||||
data.insSrtControleKey = oRs("ins_srtcontrole_key").Value;
|
data.insSrtControleKey = oRs("ins_srtcontrole_key").Value;
|
||||||
data.insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1;
|
data.insDeelSrtContrKey = oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1;
|
||||||
//data.insNexdate0 = new Date(oRs("org_nexdate_0").Value).getFullYear(); // Eerstaankomende vandaag of in de toekomst.
|
|
||||||
//data.insCtrControleType = oRs("ctr_controle_type").Value;
|
|
||||||
data.insScenKey = oRs("ins_scenario_key").Value;
|
data.insScenKey = oRs("ins_scenario_key").Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -448,47 +429,18 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
|
|
||||||
function fnrowClass(oRs)
|
function fnrowClass(oRs)
|
||||||
{
|
{
|
||||||
if (!fulldetails)
|
// Ooit nog eens: een gradient oid van groen naar rood evenredig met de procentuele uitnutting
|
||||||
return "";
|
var busy = oRs("besteedbedrag").Value + oRs("geraamdbedrag").Value != 0;
|
||||||
//var scen_key = oRs("ins_scenario_key").Value;
|
var saldo = oRs("begrootbedrag").Value - oRs("besteedbedrag").Value - oRs("geraamdbedrag").Value;
|
||||||
var lclass = oRs("ins_srtcontroledl_xcp_key").Value != null? "mjbxcp" : "mjbstd";
|
var lclass = "";
|
||||||
//if (scen_key > 1)
|
if (saldo < 0)
|
||||||
// lclass += " scenerized1";
|
lclass = "mjbexpired";
|
||||||
//if (oRs("isPlanned").Value == 1)
|
else
|
||||||
// lclass += " mjbplanned";
|
lclass= (busy ? "mjbbusy" : "mjbwaiting");
|
||||||
return lclass;
|
return lclass;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function fnrowActionEnabler(oRs)
|
|
||||||
{
|
|
||||||
var data = {};
|
|
||||||
//var eShowInsp = false;
|
|
||||||
var ePlan = false;
|
|
||||||
var eStart = false;
|
|
||||||
var eClose = false;
|
|
||||||
var eFinish = false;
|
|
||||||
var eAddScen = false;
|
|
||||||
if (fulldetails)
|
|
||||||
{ // Functie ins.func_enabled_deel kost tijd om voor elke regel uit te voeren.
|
|
||||||
// Query uit ins.func_enabled_deel samenvoegen met query van dit overzicht is bijna niet te doen.
|
|
||||||
// Inspectie acties alleen zichtbaar in het overzicht gegroepeerd naar Taken. Het gebouw filter is dan al vaak ingevuld.
|
|
||||||
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
|
||||||
{ srtcont_key: oRs("ins_srtcontrole_key").Value,
|
|
||||||
deelsrtcont_key: oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1,
|
|
||||||
scen_key: oRs("ins_scenario_key").Value
|
|
||||||
});
|
|
||||||
ePlan = this_ins.canInspPlan;
|
|
||||||
eStart = this_ins.canInspStart;
|
|
||||||
eClose = this_ins.canInspClose;
|
|
||||||
eFinish = this_ins.canInspFinish;
|
|
||||||
eFreeze = this_ins.canInspFreeze;
|
|
||||||
eAddScen = true;
|
|
||||||
}
|
|
||||||
var data = {ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish, eFreeze: eFreeze};
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
function fnGebouw(oRs)
|
function fnGebouw(oRs)
|
||||||
{
|
{
|
||||||
if (hasReadALGUSE || hasReadALGMAN)
|
if (hasReadALGUSE || hasReadALGMAN)
|
||||||
@@ -524,7 +476,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
oRs("ins_srtcontrole_key").Value,
|
oRs("ins_srtcontrole_key").Value,
|
||||||
oRs("ins_scenario_key").Value,
|
oRs("ins_scenario_key").Value,
|
||||||
safe.jsstring(oRs("ins_deel_omschrijving").Value));
|
safe.jsstring(oRs("ins_deel_omschrijving").Value));
|
||||||
return "<span>{1}</span>" // TODO, maar we willen zeker niet kunnen overrulen. Naar de bijbehorende melding.asp if mjb_operation_external
|
// return "<span class='details' onclick='{0}'>{1}</span>" // TODO, maar we willen zeker niet kunnen overrulen, wel zien. ins_xcp moet dat frozen zijn herkennen
|
||||||
|
return "<span>{1}</span>"
|
||||||
.format(safe.htmlattr(fncall),
|
.format(safe.htmlattr(fncall),
|
||||||
safe.html(oRs("ins_srtcontrole_omschrijving").Value));
|
safe.html(oRs("ins_srtcontrole_omschrijving").Value));
|
||||||
}
|
}
|
||||||
@@ -562,23 +515,18 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
{
|
{
|
||||||
if (oRs(jaar).Value == null)
|
if (oRs(jaar).Value == null)
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
var v = Math.round(oRs(jaar).Value);
|
var v = Math.round(oRs(jaar).Value);
|
||||||
var v_gb = Math.round(oRs("begrootbedrag").Value);
|
if (authparamsMLD) // dan kun je klikken naar de melding
|
||||||
if (v == 0) // (jaar >= vervaljaar) //
|
|
||||||
{
|
{
|
||||||
var vervaljaar = oRs("vervaljaar").Value;
|
// TODO: m<>cht de melding er nog niet zijn dan die laten aanmaken (zoals een melding bij een inspectie)?
|
||||||
var afbouwtijd = oRs("afbouwtijd").Value || 0;
|
var fncall = "naarmelding({0})"
|
||||||
if (vervaljaar != null && jaar > vervaljaar - afbouwtijd) // Als 2022 vervaljaar is en afbouwtijd is 2 jaar, dan 2020 nog 0 tonen.
|
.format(oRs("ins_deelsrtcontrole_key").Value);
|
||||||
return "";
|
return "<span class='details' onclick='{0}'>{1}</span>"
|
||||||
}
|
.format(safe.htmlattr(fncall),
|
||||||
//if (v != v_gb) {
|
safe.curr(v, true));
|
||||||
if (v == 0) {
|
}
|
||||||
if (outputmode == 0) {
|
else
|
||||||
v = "<span class='mjborgbedrag' title='{1}'>{0}</span>".format(safe.curr(v, true), L('lcl_valutasign') + safe.curr(v_gb, true));
|
|
||||||
} else {
|
|
||||||
v = "{0}".format(safe.curr(v, true));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return safe.curr(v, true);
|
return safe.curr(v, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -587,60 +535,34 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
{
|
{
|
||||||
return function (oRs)
|
return function (oRs)
|
||||||
{
|
{
|
||||||
if (fulldetails)
|
return "";
|
||||||
{
|
|
||||||
var vervaljaar = oRs("vervaljaar").Value;
|
|
||||||
var afbouwtijd = oRs("afbouwtijd").Value || 0;
|
|
||||||
var freezeclass = "";
|
|
||||||
if (jaar > vervaljaar - afbouwtijd) // Afzien van taken/vervanging/inspecties. Geen kosten meer.
|
|
||||||
{
|
|
||||||
if (vervaljaar != null && afbouwtijd != null && jaar > vervaljaar - afbouwtijd && jaar <= vervaljaar)
|
|
||||||
return "mjbjaar mjbafbouw" + freezeclass;
|
|
||||||
else if (vervaljaar != null && jaar > vervaljaar)
|
|
||||||
return "mjbjaar mjbverval";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var freezejaar = oRs("freezejaar").Value;
|
|
||||||
if (jaar == freezejaar && oRs("ins_deelsrtcontrole_freezedate").Value != null && oRs("ins_deelsrtcontrole_status").Value == 2)
|
|
||||||
freezeclass = " mjbfreezed";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return "mjbjaar" + freezeclass;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function fnGeraamdClass(oRs)
|
|
||||||
{
|
|
||||||
return "mjbgeraamd";
|
|
||||||
}
|
|
||||||
|
|
||||||
function fnBegrootBedrag(oRs)
|
function fnBegrootBedrag(oRs)
|
||||||
{
|
{
|
||||||
return safe.curr(Math.round(oRs("begrootbedrag").Value), true);
|
return safe.curr(Math.round(oRs("begrootbedrag").Value), true);
|
||||||
}
|
}
|
||||||
function fnBesteedBedrag(oRs)
|
function fnBesteedBedrag(oRs)
|
||||||
{
|
{
|
||||||
return safe.curr(Math.round(oRs("besteed").Value), true);
|
return safe.curr(Math.round(oRs("besteedbedrag").Value), true);
|
||||||
}
|
}
|
||||||
function fnGeraamdBedrag(oRs)
|
function fnGeraamdBedrag(oRs)
|
||||||
{
|
{
|
||||||
return safe.curr(Math.round(oRs("geraamd").Value), true);
|
return safe.curr(Math.round(oRs("geraamdbedrag").Value), true);
|
||||||
}
|
}
|
||||||
function fnResteertBedrag(oRs)
|
function fnResteertBedrag(oRs)
|
||||||
{
|
{
|
||||||
return safe.curr(Math.round(oRs("begrootbedrag").Value-oRs("besteed").Value-oRs("geraamd").Value), true);
|
return safe.curr(Math.round(oRs("begrootbedrag").Value-oRs("besteedbedrag").Value-oRs("geraamdbedrag").Value), true);
|
||||||
}
|
}
|
||||||
function fnResteertBedragAmount(oRs)
|
function fnResteertBedragAmount(oRs)
|
||||||
{
|
{
|
||||||
return Math.round(oRs("begrootbedrag").Value-oRs("besteed").Value-oRs("geraamd").Value);
|
return Math.round(oRs("begrootbedrag").Value-oRs("besteedbedrag").Value-oRs("geraamdbedrag").Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var buttons = [];
|
var buttons = [];
|
||||||
//buttons.push({ icon: "plus.png", title: L("lcl_mjb_incl_scen"), action: 'insAddTCScen()' });
|
|
||||||
//buttons.push({ icon: "plus.png", title: L("lcl_mjb_inst_scen"), action: 'insInstituteScen()' });
|
|
||||||
buttons.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
|
buttons.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
|
||||||
buttons.push({ icon: "legenda.png", title: L("lcl_ins_controle_legenda"), action: 'openLegenda()' });
|
buttons.push({ icon: "legenda.png", title: L("lcl_ins_controle_legenda"), action: 'openLegenda()' });
|
||||||
|
|
||||||
@@ -650,7 +572,6 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
rowData: fnrowData,
|
rowData: fnrowData,
|
||||||
rowClass: fnrowClass,
|
rowClass: fnrowClass,
|
||||||
//suppressKeyRepeat: "alg_locatie_omschrijving",
|
//suppressKeyRepeat: "alg_locatie_omschrijving",
|
||||||
rowActionEnabler: fnrowActionEnabler,
|
|
||||||
totalShow: totalShow,
|
totalShow: totalShow,
|
||||||
flexModule: "INS",
|
flexModule: "INS",
|
||||||
multiple: true,
|
multiple: true,
|
||||||
@@ -661,8 +582,6 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
buttons: buttons
|
buttons: buttons
|
||||||
});
|
});
|
||||||
|
|
||||||
//if (fulldetails && scenario == 1)
|
|
||||||
// rst.addColumn(new Column({caption: "<span title='{0}'>".format(safe.htmlattr(L("lcl_mjb_scenarios"))) + I("fa-clone") + "</span>", content: fnHasScenario }));
|
|
||||||
rst.addColumn(new Column({caption: L("lcl_district"), content: "alg_district_omschrijving", purpose: (dist_key > -1 && groupby != 1? PRINTING_ONLY : PRINT_AND_VIEW)}));
|
rst.addColumn(new Column({caption: L("lcl_district"), content: "alg_district_omschrijving", purpose: (dist_key > -1 && groupby != 1? PRINTING_ONLY : PRINT_AND_VIEW)}));
|
||||||
if (groupby > 1)
|
if (groupby > 1)
|
||||||
rst.addColumn(new Column({caption: L("lcl_building"), content: fnGebouw }));
|
rst.addColumn(new Column({caption: L("lcl_building"), content: fnGebouw }));
|
||||||
@@ -681,7 +600,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
if (fulldetails)
|
if (fulldetails)
|
||||||
{
|
{
|
||||||
rst.addColumn(new Column({caption: L("lcl_ins_controle_srt"), content: fnSrtcontrole, tooltip: "ins_srtcontrole_opmerking"}));
|
rst.addColumn(new Column({caption: L("lcl_ins_controle_srt"), content: fnSrtcontrole, tooltip: "ins_srtcontrole_opmerking"}));
|
||||||
rst.addColumn(new Column({caption: L("lcl_ins_status"), content: fnStatus})); // PF: twijfel
|
// PF: deze status wordt pas zinvol wanneer er meerdere statussen kunnen zijn hier
|
||||||
|
// dus wanneer er een statusfilter oid komt waarmee je ook nog naar de historie kunt, ooit.
|
||||||
|
//rst.addColumn(new Column({caption: L("lcl_ins_status"), content: fnStatus}));
|
||||||
}
|
}
|
||||||
for (var j = 0; j < jaren.length; j++)
|
for (var j = 0; j < jaren.length; j++)
|
||||||
{
|
{
|
||||||
@@ -690,11 +611,11 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
else
|
else
|
||||||
var content = fnfnBedrag(String(jaren[j]));
|
var content = fnfnBedrag(String(jaren[j]));
|
||||||
|
|
||||||
// Het bevroren budget
|
// Het bevroren budget per jaar
|
||||||
rst.addColumn(new Column({caption: String(L("lcl_mjb_begroot") + " " + jaren[j]),
|
rst.addColumn(new Column({caption: String(L("lcl_mjb_begroot") + " " + jaren[j]),
|
||||||
datatype: "number",
|
datatype: "number",
|
||||||
content: content,
|
content: content,
|
||||||
columnClass: fnfncolClass(String(jaren[j])), // tdClass dan niet meer nodig.
|
columnClass: fnfncolClass(String(jaren[j])),
|
||||||
total: true,
|
total: true,
|
||||||
fnAmount: fnfnBedragNumber(String(jaren[j]))
|
fnAmount: fnfnBedragNumber(String(jaren[j]))
|
||||||
}));
|
}));
|
||||||
@@ -706,14 +627,14 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
datatype: "number",
|
datatype: "number",
|
||||||
content: fnBesteedBedrag,
|
content: fnBesteedBedrag,
|
||||||
total: true,
|
total: true,
|
||||||
fnAmount: fnfnBedragNumber("besteed")
|
fnAmount: fnfnBedragNumber("besteedbedrag")
|
||||||
}));
|
}));
|
||||||
// De som van de bijbehorende lopende opdrachten
|
// De som van de bijbehorende lopende opdrachten
|
||||||
rst.addColumn(new Column({caption: L("lcl_mjb_geraamd"),
|
rst.addColumn(new Column({caption: L("lcl_mjb_geraamd"),
|
||||||
datatype: "number",
|
datatype: "number",
|
||||||
content: fnGeraamdBedrag,
|
content: fnGeraamdBedrag,
|
||||||
total: true,
|
total: true,
|
||||||
fnAmount: fnfnBedragNumber("geraamd")
|
fnAmount: fnfnBedragNumber("geraamdbedrag")
|
||||||
}));
|
}));
|
||||||
// het saldo budget-besteed-geraamd
|
// het saldo budget-besteed-geraamd
|
||||||
rst.addColumn(new Column({caption: L("lcl_mjb_resteert"),
|
rst.addColumn(new Column({caption: L("lcl_mjb_resteert"),
|
||||||
|
|||||||
@@ -1871,7 +1871,7 @@ span.expired2 {
|
|||||||
background: linear-gradient(to top, rgba(255, 254, 156, 1), rgba(255, 254, 156, 0.8) 100%); /* Standard syntax */
|
background: linear-gradient(to top, rgba(255, 254, 156, 1), rgba(255, 254, 156, 0.8) 100%); /* Standard syntax */
|
||||||
color: #9C6500;
|
color: #9C6500;
|
||||||
}
|
}
|
||||||
.cntopzeg td, .expired2 td {
|
.cntopzeg td, .expired2 td, .mjbexpired td {
|
||||||
background: linear-gradient(to top, rgba(255, 199, 207, 1), rgba(255, 199, 207, 0.8) 50%); /*#FFC7CE*/
|
background: linear-gradient(to top, rgba(255, 199, 207, 1), rgba(255, 199, 207, 0.8) 50%); /*#FFC7CE*/
|
||||||
color: #9C0006;
|
color: #9C0006;
|
||||||
}
|
}
|
||||||
@@ -4498,6 +4498,13 @@ td.kpidetails {
|
|||||||
.mjbxcp td {
|
.mjbxcp td {
|
||||||
opacity: 1.0;
|
opacity: 1.0;
|
||||||
}
|
}
|
||||||
|
.mjbbusy td{
|
||||||
|
}
|
||||||
|
|
||||||
|
.mjbwaiting td {
|
||||||
|
background-color: #F0F0FA;
|
||||||
|
}
|
||||||
|
|
||||||
span.mjborgbedrag {
|
span.mjborgbedrag {
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 0.9em;
|
font-size: 0.9em;
|
||||||
|
|||||||
Reference in New Issue
Block a user