FSN#39567: Van MJOB naar MJOP/R.
svn path=/Website/trunk/; revision=34878
This commit is contained in:
@@ -25,6 +25,18 @@ FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"],
|
|||||||
/***** Get webform parameters *****/
|
/***** Get webform parameters *****/
|
||||||
var urole = getQParamSafe("urole", "bo");
|
var urole = getQParamSafe("urole", "bo");
|
||||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||||
|
var mode = getQParamInt("mode", 1); // Schermmode begroting 1=aankomende jaren (=default), 2=lopende jaar, 3=geschiedenis.
|
||||||
|
var actionpage;
|
||||||
|
switch (mode)
|
||||||
|
{
|
||||||
|
case 1: actionpage = "mjb_search_list.asp"; // Aankomende jaren
|
||||||
|
break;
|
||||||
|
case 2: actionpage = "mjb_search_list_curr.asp"; // Huidig (current) jaar.
|
||||||
|
break;
|
||||||
|
// TODO: Overzicht voorgaande jaren
|
||||||
|
//case 3: actionpage = "mjb_search_list_hist.asp"; // Geschiedenis (History).
|
||||||
|
// break;
|
||||||
|
}
|
||||||
|
|
||||||
var deel = getQParam("deel", ""); // Identificatie
|
var deel = getQParam("deel", ""); // Identificatie
|
||||||
var groep = getQParam("groep", ""); // Categorie/Groep
|
var groep = getQParam("groep", ""); // Categorie/Groep
|
||||||
@@ -47,10 +59,13 @@ var groupby = getQParamInt("groupby", 2);
|
|||||||
var frequentie = getQParamInt("frequentie", -1);
|
var frequentie = getQParamInt("frequentie", -1);
|
||||||
var toyear = getQParamInt("toyear", new Date().getFullYear() + S("mjb_show_years"));
|
var toyear = getQParamInt("toyear", new Date().getFullYear() + S("mjb_show_years"));
|
||||||
var incbtw = getQParamInt("incbtw", 0) == 1;
|
var incbtw = getQParamInt("incbtw", 0) == 1;
|
||||||
var scen_key = getQParamInt("scenario", -1); // Scenario
|
var scen_key = getQParamInt("scenario", 1); // Scenario
|
||||||
var actsit = getQParamInt("actsit", 0) == 1;
|
var actsit = getQParamInt("actsit", 0) == 1;
|
||||||
var ctrdisc_key = getQParamInt("ctrdisc_key", -1); // Ctrdiscipline
|
var ctrdisc_key = getQParamInt("ctrdisc_key", -1); // Ctrdiscipline
|
||||||
|
|
||||||
|
var mjbMoved = (getQParamInt("mjbMoved", 0) == 1);
|
||||||
|
var mjbFreezed = (getQParamInt("mjbFreezed", 0) == 1);
|
||||||
|
var mjbXcped = (getQParamInt("mjbXcped", 0) == 1);
|
||||||
|
|
||||||
if (ctrdisc_key <= 0) // Als er maar eentje is selecteer die automatisch
|
if (ctrdisc_key <= 0) // Als er maar eentje is selecteer die automatisch
|
||||||
{
|
{
|
||||||
@@ -115,7 +130,7 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
|
|||||||
|
|
||||||
$(document).ready(function()
|
$(document).ready(function()
|
||||||
{
|
{
|
||||||
if (scen_key < 0) $(".tractsit").hide();
|
if (scen_key== 1) $(".tractsit").hide();
|
||||||
$("#actsit").prop("checked", true);
|
$("#actsit").prop("checked", true);
|
||||||
selectedScen = false;
|
selectedScen = false;
|
||||||
<% if (autosearch)
|
<% if (autosearch)
|
||||||
@@ -128,7 +143,7 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
|
|||||||
|
|
||||||
<body id="searchbody">
|
<body id="searchbody">
|
||||||
<div id="search">
|
<div id="search">
|
||||||
<form name="u2" target="workFrame" action="mjb_search_list.asp" method="get">
|
<form name="u2" target="workFrame" action="<%=actionpage%>" method="get">
|
||||||
<input type=hidden name="urole" value="<%=urole%>">
|
<input type=hidden name="urole" value="<%=urole%>">
|
||||||
<input type=hidden name="autfunctionINSUSE" id="autfunctionINSUSE" value="<%=autfunctionINSUSE%>">
|
<input type=hidden name="autfunctionINSUSE" id="autfunctionINSUSE" value="<%=autfunctionINSUSE%>">
|
||||||
<input type=hidden name="autfunctionCTRUSE" id="autfunctionCTRUSE" value="<%=autfunctionCTRUSE%>">
|
<input type=hidden name="autfunctionCTRUSE" id="autfunctionCTRUSE" value="<%=autfunctionCTRUSE%>">
|
||||||
@@ -320,13 +335,33 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
|
|||||||
initKey: scen_key,
|
initKey: scen_key,
|
||||||
//multi: true, // Voor nu niet multi
|
//multi: true, // Voor nu niet multi
|
||||||
trclass:"primsearch noxd",
|
trclass:"primsearch noxd",
|
||||||
|
emptyKey: 1,
|
||||||
emptyOption: "",
|
emptyOption: "",
|
||||||
onChange: "onChangeScenario()"
|
onChange: "onChangeScenario()"
|
||||||
});
|
});
|
||||||
RWCHECKBOXTR("actsit", "fldactsit", L("lcl_mjb_act_situation"), actsit, { html: " value='1' ", trclass: 'primsearch noxd tractsit'});
|
RWCHECKBOXTR("actsit", "fldactsit", L("lcl_mjb_act_situation"), actsit, { html: " value='1' ", trclass: 'primsearch noxd tractsit'});
|
||||||
}
|
}
|
||||||
oRs.Close();
|
oRs.Close();
|
||||||
%> </table>
|
%>
|
||||||
|
<!-- Status checkboxen -->
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<label><%=L("lcl_mjb_status_mjob")%>: </label>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div id="statusboxes">
|
||||||
|
<%
|
||||||
|
// Statusfilters:
|
||||||
|
// FO: zelf mee bezig (0), bij BO (2,3,4,7), afgewezen (1), afgemeld (5), archief (6)
|
||||||
|
// Merk op: de ids kunnen afhankelijk van de urole andere betekenis hebben, dus.
|
||||||
|
%>
|
||||||
|
<input type="checkbox" class="fldcheck" name="mjbMoved" id="mjbMoved" value="1" <%=mjbMoved? "checked" : ""%>><label for="mjbMoved"><%=L("lcl_mjb_moved")%></label>
|
||||||
|
<input type="checkbox" class="fldcheck" name="mjbFreezed" id="mjbFreezed" value="1" <%=mjbFreezed? "checked" : ""%>><label for="mjbFreezed"><%=L("lcl_mjb_started")%></label>
|
||||||
|
<input type="checkbox" class="fldcheck" name="mjbXcped" id="mjbXcped" value="1" <%=mjbXcped ? "checked" : " "%>><label for="mjbXcped"><%=L("lcl_mjb_overruled_xcp")%></label>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</td><!-- end column 2-->
|
</td><!-- end column 2-->
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
|||||||
@@ -51,10 +51,12 @@ 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;
|
||||||
|
|
||||||
|
var mjb_start_year = S("mjb_start_year");
|
||||||
|
var mjb_freeze_year = S("mjb_freeze_year");
|
||||||
|
|
||||||
var groupby = getQParamInt("groupby");
|
var groupby = getQParamInt("groupby");
|
||||||
var fulldetails = (groupby == 7); // Geen aggregate, dan kun je van alles manipuleren
|
var fulldetails = (groupby == 7); // Geen aggregate, dan kun je van alles manipuleren
|
||||||
var fromyear = getQParamInt("fromyear", new Date().getFullYear());
|
var fromyear = getQParamInt("fromyear", mjb_freeze_year);
|
||||||
var toyear = getQParamInt("toyear");
|
var toyear = getQParamInt("toyear");
|
||||||
|
|
||||||
var deel = getQParam("deel", ""); // Identieficatie
|
var deel = getQParam("deel", ""); // Identieficatie
|
||||||
@@ -74,9 +76,14 @@ var inflatiefactor = 1 + (inflatiepct / 100);
|
|||||||
var frequentie = getQParamIntArray("frequentie", []); // Array met frequenties.
|
var frequentie = getQParamIntArray("frequentie", []); // Array met frequenties.
|
||||||
var incbtw = getQParamInt("incbtw", 0) == 1; // Lijst inclusief BTW weergeven.
|
var incbtw = getQParamInt("incbtw", 0) == 1; // Lijst inclusief BTW weergeven.
|
||||||
|
|
||||||
var scenario = getQParamInt("scenario", -1); // Scenario
|
var scenario = getQParamInt("scenario", 1); // Scenario
|
||||||
var actsit = getQParamInt("actsit", 0) == 1; // Ook actuele situatie.
|
var actsit = getQParamInt("actsit", 0) == 1; // Ook actuele situatie.
|
||||||
|
|
||||||
|
// FORM status checkboxes
|
||||||
|
var mjbMoved = getQParamInt("mjbMoved", 0) == 1; // Verschoven.
|
||||||
|
var mjbFreezed = getQParamInt("mjbFreezed", 0) == 1; // In behandeling.
|
||||||
|
var mjbXcped = getQParamInt("mjbXcped", 0) == 1; // Aangepast.
|
||||||
|
|
||||||
var ctrdisc_key = getQParamInt("ctrdisc_key", -1); // Ctrdiscipline
|
var ctrdisc_key = getQParamInt("ctrdisc_key", -1); // Ctrdiscipline
|
||||||
if (ctrdisc_key > 0)
|
if (ctrdisc_key > 0)
|
||||||
lcl.set_dialect(ctrdisc_key, "INS_TAB_DISCIPLINE_KEY");
|
lcl.set_dialect(ctrdisc_key, "INS_TAB_DISCIPLINE_KEY");
|
||||||
@@ -97,7 +104,10 @@ var params = { deel: (deel != ""? deel : null),
|
|||||||
mjbfreq: frequentie.join(","),
|
mjbfreq: frequentie.join(","),
|
||||||
mjbincbtw: incbtw
|
mjbincbtw: incbtw
|
||||||
};
|
};
|
||||||
var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrole", "inflatie", "frequentie", "incbtw", "toyear", "alg_startlevel", "alg_endlevel", "deel", "groep", "categorie_key", "scenario"]);
|
var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrole", "inflatie",
|
||||||
|
"frequentie", "incbtw", "toyear", "alg_startlevel", "alg_endlevel",
|
||||||
|
"deel", "groep", "categorie_key", "scenario",
|
||||||
|
"mjbMoved", "mjbFreezed", "mjbXcped"]);
|
||||||
%>
|
%>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
@@ -112,6 +122,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var urole = "<%=urole%>";
|
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)
|
||||||
{
|
{
|
||||||
if (fulldetails)
|
if (fulldetails)
|
||||||
@@ -129,7 +140,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
|
|
||||||
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 > 0? "&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";
|
||||||
FcltMgr.openModalDetail(url, { titel: L("lcl_ins_change_xcp") + " " + ttl, callback: <%=bld_key > 0? "FcltMgr.reload ": "null"%> });
|
FcltMgr.openModalDetail(url, { titel: L("lcl_ins_change_xcp") + " " + ttl, callback: <%=bld_key > 0? "FcltMgr.reload ": "null"%> });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,7 +281,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
{
|
{
|
||||||
rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
|
rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
|
||||||
// Scenario's kunnen niet opgenomen worden in een scenario. Hier de scenario's er al uit filteren.
|
// Scenario's kunnen niet opgenomen worden in een scenario. Hier de scenario's er al uit filteren.
|
||||||
if (!rowdata.insScenKey || rowdata.insScenKey < 0)
|
if (!rowdata.insScenKey || rowdata.insScenKey == 1)
|
||||||
{ // Het is geen scenario. De periodieke taak kan in een scenario worden opgenomen. De inspectie aan het array toevoegen.
|
{ // Het is geen scenario. De periodieke taak kan in een scenario worden opgenomen. De inspectie aan het array toevoegen.
|
||||||
srtcontrolekeyArray[i] = rowdata.insSrtControleKey;
|
srtcontrolekeyArray[i] = rowdata.insSrtControleKey;
|
||||||
}
|
}
|
||||||
@@ -285,7 +296,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
|
|
||||||
if (insKeyString.length > 0)
|
if (insKeyString.length > 0)
|
||||||
{
|
{
|
||||||
if (<%=scenario%> > 0)
|
if (<%=scenario%> > 1)
|
||||||
{
|
{
|
||||||
var data = { ins_keys: insKeyString,
|
var data = { ins_keys: insKeyString,
|
||||||
srtcont_keys: srtcontrolekeyArray.join(","),
|
srtcont_keys: srtcontrolekeyArray.join(","),
|
||||||
@@ -335,22 +346,57 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , e.ins_srtcontrole_periode"
|
+ " , e.ins_srtcontrole_periode"
|
||||||
+ " , e.ins_srtcontrole_percentage"
|
+ " , e.ins_srtcontrole_percentage"
|
||||||
+ " , e.ins_srtcontrole_opmerking"
|
+ " , e.ins_srtcontrole_opmerking"
|
||||||
+ " , EXTRACT (YEAR FROM COALESCE(c.plandatum"
|
// Bepaling in welk jaar er een inspectie is gepland.
|
||||||
+ " , CASE"
|
// 1) In het jaar van de plandatum.
|
||||||
+ " WHEN c.laatste IS NULL" // Als er al een inspectie is geweest, is de startdatum niet meer van belang.
|
// 2) In het jaar van de startdatum.
|
||||||
|
// 3) a) Laatste inspectie is NULL (eerste inspectie moet nog komen) en het is een Controle(1).
|
||||||
|
// Volgende inspectie is in het freeze jaar.
|
||||||
|
// b) Laatste inspectie is NULL (eerste inspectie moet nog komen) en het is een Vervanging(2) of Certificering(3).
|
||||||
|
// Nextdate is na het freeze jaar?
|
||||||
|
// Ja) Vorige inspectie ligt na het start jaar en ligt niet in het aanmaak jaar?
|
||||||
|
// Ja) Volgende inspectie is in het freeze jaar.
|
||||||
|
// Nee) Volgende inspectie is het jaar van de nextdate.
|
||||||
|
// Nee) De laatst ingeplande inspectie (nextdate) is na of in het start jaar?
|
||||||
|
// Ja) Volgende inspectie is in het freeze jaar.
|
||||||
|
// Nee) Volgende inspectie is in het jaar "nextdatum + periode".
|
||||||
|
// c) Laatste inspectie is niet NULL. Er is al 1 of meerdere keren geinspecteerd.
|
||||||
|
// Ligt de laatst ingeplande inspectie (nextdate) na dit jaar?
|
||||||
|
// Ja) Volgende inspectie is het jaar van de nextdate (in de toekomst).
|
||||||
|
// Nee) Volgende inspectie is in het freeze jaar.
|
||||||
|
+ " , EXTRACT (YEAR FROM COALESCE(c.plandatum" // Plandatum.
|
||||||
|
+ " , CASE" // Eventueel startdatum (ins_srtcontroledl_xcp_startdat) i.g.v. als er nog geen inspectie heeft plaatsgevonden.
|
||||||
|
+ " WHEN c.laatste IS NULL" // Als er al een inspectie is geweest, is de startdatum niet meer van belang.
|
||||||
+ " THEN e.ins_srtcontroledl_xcp_startdat"
|
+ " THEN e.ins_srtcontroledl_xcp_startdat"
|
||||||
+ " ELSE NULL"
|
+ " ELSE NULL"
|
||||||
+ " END"
|
+ " END"
|
||||||
+ " , ADD_MONTHS(COALESCE(c.laatste"
|
+ " , CASE" // Berekenen jaar.
|
||||||
+ " , CASE"
|
+ " WHEN c.laatste IS NULL AND e.ctr_controle_type = 1" // 1: Controle.
|
||||||
+ " WHEN e.ctr_controle_type = 1" // Controle(1).
|
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
|
||||||
+ " THEN SYSDATE"
|
+ " WHEN c.laatste IS NULL AND e.ctr_controle_type != 1" // 2: Vervanging, 3: Certificering.
|
||||||
+ " ELSE e.ins_deel_aanmaak" // Vervanging(2) of Certificering(3).
|
+ " THEN" // Er is nog geen inspectie geweest
|
||||||
+ " END), CASE"
|
+ " CASE"
|
||||||
+ " WHEN e.ctr_controle_type = 1 AND c.laatste IS NULL" // Eerste Controle(1) is dit jaar.
|
+ " WHEN EXTRACT(YEAR FROM e.nextdate) > " + mjb_freeze_year
|
||||||
+ " THEN 0"
|
+ " THEN" // Nextdate is na de freeze datum.
|
||||||
+ " ELSE 12 * e.ins_srtcontrole_periode"
|
+ " CASE"
|
||||||
+ " END))) vervangingsjaar"
|
+ " WHEN EXTRACT(YEAR FROM ADD_MONTHS(e.nextdate, -1 * 12 * e.ins_srtcontrole_periode)) >= " + mjb_start_year + " AND"
|
||||||
|
+ " EXTRACT(YEAR FROM ADD_MONTHS(e.nextdate, -1 * 12 * e.ins_srtcontrole_periode)) != EXTRACT(YEAR FROM e.ins_deel_aanmaak)"
|
||||||
|
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')" // Nu en vorige inspectie liggen tussen start en freeze jaar.
|
||||||
|
+ " ELSE e.nextdate"
|
||||||
|
+ " END"
|
||||||
|
+ " ELSE" // Nextdate is voor of in het freeze jaar.
|
||||||
|
+ " CASE"
|
||||||
|
+ " WHEN EXTRACT(YEAR FROM e.nextdate) >= " + mjb_start_year
|
||||||
|
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')" // Nextdate tussen start en freeze jaar.
|
||||||
|
+ " ELSE ADD_MONTHS(e.nextdate, 12 * e.ins_srtcontrole_periode)" // Nextdate voor het start jaar.
|
||||||
|
+ " END"
|
||||||
|
+ " END"
|
||||||
|
+ " ELSE" // Laatste IS NOT NULL. Er is al een inspectie geweest.
|
||||||
|
+ " CASE"
|
||||||
|
+ " WHEN EXTRACT(YEAR FROM e.nextdate) > EXTRACT(YEAR FROM SYSDATE)"
|
||||||
|
+ " THEN e.nextdate" // Volgende inspectie is in de toekomst.
|
||||||
|
+ " ELSE TO_DATE('" + mjb_freeze_year + "', 'YYYY')" // Laatst ingeplande inspectie is nog niet uitgevoerd.
|
||||||
|
+ " END"
|
||||||
|
+ " END)) vervangingsjaar"
|
||||||
+ " , e.ins_deel_aantal"
|
+ " , e.ins_deel_aantal"
|
||||||
+ " , e.ins_srtdeel_eenheid"
|
+ " , e.ins_srtdeel_eenheid"
|
||||||
+ " , e.ins_srtcontrole_eind"
|
+ " , e.ins_srtcontrole_eind"
|
||||||
@@ -362,6 +408,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , e.hasscenario2"
|
+ " , e.hasscenario2"
|
||||||
+ " , e.scenario_oms"
|
+ " , e.scenario_oms"
|
||||||
+ " , e.scenario_aantal"
|
+ " , e.scenario_aantal"
|
||||||
|
+ " , c.ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , c.ins_deelsrtcontrole_status"
|
||||||
+ " FROM (SELECT el.ins_deel_key"
|
+ " FROM (SELECT el.ins_deel_key"
|
||||||
+ " , el.ins_srtcontroledl_xcp_key"
|
+ " , el.ins_srtcontroledl_xcp_key"
|
||||||
+ " , el.ins_srtcontrole_omschrijving"
|
+ " , el.ins_srtcontrole_omschrijving"
|
||||||
@@ -383,15 +431,16 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , el.ins_srtcontroledl_xcp_startdat"
|
+ " , el.ins_srtcontroledl_xcp_startdat"
|
||||||
+ " , el.ins_srtcontroledl_xcp_eind"
|
+ " , el.ins_srtcontroledl_xcp_eind"
|
||||||
+ " , el.ctr_controle_type"
|
+ " , el.ctr_controle_type"
|
||||||
|
+ " , ins.nextcyclusdate(el.ins_deel_key, el.ins_srtcontrole_key, 1, 0) nextdate"
|
||||||
+ " , el.ins_scenario_key"
|
+ " , el.ins_scenario_key"
|
||||||
+ (scenario > 0
|
+ (scenario > 1
|
||||||
? " , COALESCE((SELECT MAX(1)" // Heeft de periodieke taak ook de meegegeven scenario 'scenario'.
|
? " , COALESCE((SELECT MAX(1)" // Heeft de periodieke taak ook de meegegeven scenario 'scenario'.
|
||||||
+ " FROM ins_srtcontroledl_xcp xcp2"
|
+ " FROM ins_srtcontroledl_xcp xcp2"
|
||||||
+ " WHERE xcp2.ins_deel_key = el.ins_deel_key"
|
+ " WHERE xcp2.ins_deel_key = el.ins_deel_key"
|
||||||
+ " AND xcp2.ins_srtcontrole_key = el.ins_srtcontrole_key"
|
+ " AND xcp2.ins_srtcontrole_key = el.ins_srtcontrole_key"
|
||||||
+ " AND xcp2.ins_scenario_key = " + scenario + "), 0)"
|
+ " AND xcp2.ins_scenario_key = " + scenario + "), 0)"
|
||||||
: " , 0") + " hasscenario2"
|
: " , 0") + " hasscenario2"
|
||||||
+ (fulldetails && scenario == -1 ?
|
+ (fulldetails && scenario == 1 ?
|
||||||
" , (SELECT LISTAGG(isc.ins_scenario_omschrijving, ', ') WITHIN GROUP (ORDER BY isc.ins_scenario_omschrijving)"
|
" , (SELECT LISTAGG(isc.ins_scenario_omschrijving, ', ') WITHIN GROUP (ORDER BY isc.ins_scenario_omschrijving)"
|
||||||
+ " FROM ins_srtcontroledl_xcp xcp"
|
+ " FROM ins_srtcontroledl_xcp xcp"
|
||||||
+ " , ins_scenario isc"
|
+ " , ins_scenario isc"
|
||||||
@@ -399,7 +448,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " AND xcp.ins_srtcontrole_key = el.ins_srtcontrole_key"
|
+ " AND xcp.ins_srtcontrole_key = el.ins_srtcontrole_key"
|
||||||
+ " AND xcp.ins_deel_key = el.ins_deel_key)"
|
+ " AND xcp.ins_deel_key = el.ins_deel_key)"
|
||||||
: " , 'dummy'") + " scenario_oms"
|
: " , 'dummy'") + " scenario_oms"
|
||||||
+ (fulldetails && scenario == -1 ?
|
+ (fulldetails && scenario == 1 ?
|
||||||
" , (SELECT COUNT(isc.ins_scenario_omschrijving)"
|
" , (SELECT COUNT(isc.ins_scenario_omschrijving)"
|
||||||
+ " FROM ins_srtcontroledl_xcp xcp"
|
+ " FROM ins_srtcontroledl_xcp xcp"
|
||||||
+ " , ins_scenario isc"
|
+ " , ins_scenario isc"
|
||||||
@@ -409,7 +458,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
: " , -1") + " scenario_aantal"
|
: " , -1") + " scenario_aantal"
|
||||||
+ " FROM ins_v_defined_inspect_xcp el"
|
+ " FROM ins_v_defined_inspect_xcp el"
|
||||||
+ " WHERE el.ins_srtcontrole_periode > 0"
|
+ " WHERE el.ins_srtcontrole_periode > 0"
|
||||||
+ (scenario < 0?" AND ins_scenario_key = 1" :(actsit ? "": " AND ins_scenario_key = " + scenario))
|
+ (scenario == 1? " AND ins_scenario_key = 1" : (actsit ? "": " AND ins_scenario_key = " + scenario))
|
||||||
+ " AND el.ctr_ismjob = 1"
|
+ " AND el.ctr_ismjob = 1"
|
||||||
// Je moet read CTRUSE rechten hebben op de CTR disciplines om de taken te kunnen zien.
|
// Je moet read CTRUSE rechten hebben op de CTR disciplines om de taken te kunnen zien.
|
||||||
+ " AND el.ctr_discipline_key IN (SELECT w.ins_discipline_key"
|
+ " AND el.ctr_discipline_key IN (SELECT w.ins_discipline_key"
|
||||||
@@ -441,7 +490,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
? " AND el.ins_srtdeel_key = " + srtdeel_key
|
? " AND el.ins_srtdeel_key = " + srtdeel_key
|
||||||
: "")
|
: "")
|
||||||
+ (groep
|
+ (groep
|
||||||
? " AND UPPER(ins_srtcontrole_groep) LIKE " + safe.quoted_sql_wild("%" + groep + "%")
|
? " AND UPPER(ins_srtcontrole_groep) LIKE " + safe.quoted_sql_wild("%" + groep + "%")
|
||||||
: "")
|
: "")
|
||||||
+ (categorie_key > 0
|
+ (categorie_key > 0
|
||||||
? " AND el.ctr_discipline_key = " + categorie_key
|
? " AND el.ctr_discipline_key = " + categorie_key
|
||||||
@@ -457,6 +506,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " (SELECT dsc.ins_srtcontrole_key"
|
+ " (SELECT dsc.ins_srtcontrole_key"
|
||||||
+ " , dsc.ins_deel_key"
|
+ " , dsc.ins_deel_key"
|
||||||
+ " , dsc.ins_scenario_key"
|
+ " , dsc.ins_scenario_key"
|
||||||
|
+ " , dsc.ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , dsc.ins_deelsrtcontrole_status"
|
||||||
+ " , MAX((SELECT dsc1.ins_deelsrtcontrole_plandatum"
|
+ " , MAX((SELECT dsc1.ins_deelsrtcontrole_plandatum"
|
||||||
+ " FROM ins_deelsrtcontrole dsc1"
|
+ " FROM ins_deelsrtcontrole dsc1"
|
||||||
+ " WHERE dsc1.ins_deel_key = dsc.ins_deel_key"
|
+ " WHERE dsc1.ins_deel_key = dsc.ins_deel_key"
|
||||||
@@ -465,12 +516,19 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " AND dsc1.ins_deelsrtcontrole_status < 5)) plandatum"
|
+ " AND dsc1.ins_deelsrtcontrole_status < 5)) plandatum"
|
||||||
+ " , MAX(dsc.ins_deelsrtcontrole_datum) laatste"
|
+ " , MAX(dsc.ins_deelsrtcontrole_datum) laatste"
|
||||||
+ " FROM ins_deelsrtcontrole dsc"
|
+ " FROM ins_deelsrtcontrole dsc"
|
||||||
|
+ " WHERE ins_deelsrtcontrole_key = (SELECT MAX(id2.ins_deelsrtcontrole_key)" // Laatste record.
|
||||||
|
+ " FROM ins_deelsrtcontrole id2"
|
||||||
|
+ " WHERE id2.ins_deel_key = dsc.ins_deel_key"
|
||||||
|
+ " AND id2.ins_srtcontrole_key = dsc.ins_srtcontrole_key"
|
||||||
|
+ " AND id2.ins_scenario_key = dsc.ins_scenario_key)"
|
||||||
+ " GROUP BY dsc.ins_srtcontrole_key"
|
+ " GROUP BY dsc.ins_srtcontrole_key"
|
||||||
+ " , dsc.ins_deel_key"
|
+ " , dsc.ins_deel_key"
|
||||||
+ " , dsc.ins_scenario_key) c"
|
+ " , dsc.ins_scenario_key"
|
||||||
|
+ " , dsc.ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , dsc.ins_deelsrtcontrole_status) c"
|
||||||
+ " ON e.ins_deel_key = c.ins_deel_key"
|
+ " ON e.ins_deel_key = c.ins_deel_key"
|
||||||
+ " AND e.ins_srtcontrole_key = c.ins_srtcontrole_key"
|
+ " AND e.ins_srtcontrole_key = c.ins_srtcontrole_key"
|
||||||
+ " AND c.ins_scenario_key = e.ins_scenario_key"
|
+ " AND e.ins_scenario_key = c.ins_scenario_key"
|
||||||
|
|
||||||
var ins_xcp_active_cost = S("ins_xcp_active_cost");
|
var ins_xcp_active_cost = S("ins_xcp_active_cost");
|
||||||
var costarray = [];
|
var costarray = [];
|
||||||
@@ -514,6 +572,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , comp.hasscenario2"
|
+ " , comp.hasscenario2"
|
||||||
+ " , comp.scenario_oms"
|
+ " , comp.scenario_oms"
|
||||||
+ " , comp.scenario_aantal"
|
+ " , comp.scenario_aantal"
|
||||||
|
+ " , comp.ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , comp.ins_deelsrtcontrole_status"
|
||||||
+ " FROM (WITH comps (ins_deel_key" // Recursive WITH statement om het volgende vervangingsjaar te vinden (m.vervangingsjaar + m.ins_srtcontrole_periode).
|
+ " FROM (WITH comps (ins_deel_key" // Recursive WITH statement om het volgende vervangingsjaar te vinden (m.vervangingsjaar + m.ins_srtcontrole_periode).
|
||||||
+ " , ins_srtcontroledl_xcp_key"
|
+ " , ins_srtcontroledl_xcp_key"
|
||||||
+ " , ins_srtcontrole_key"
|
+ " , ins_srtcontrole_key"
|
||||||
@@ -538,7 +598,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , ins_scenario_key"
|
+ " , ins_scenario_key"
|
||||||
+ " , hasscenario2"
|
+ " , hasscenario2"
|
||||||
+ " , scenario_oms"
|
+ " , scenario_oms"
|
||||||
+ " , scenario_aantal)"
|
+ " , scenario_aantal"
|
||||||
|
+ " , ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , ins_deelsrtcontrole_status)"
|
||||||
+ " AS (SELECT ins_deel_key"
|
+ " AS (SELECT ins_deel_key"
|
||||||
+ " , ins_srtcontroledl_xcp_key"
|
+ " , ins_srtcontroledl_xcp_key"
|
||||||
+ " , ins_srtcontrole_key"
|
+ " , ins_srtcontrole_key"
|
||||||
@@ -564,6 +626,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , hasscenario2"
|
+ " , hasscenario2"
|
||||||
+ " , scenario_oms"
|
+ " , scenario_oms"
|
||||||
+ " , scenario_aantal"
|
+ " , scenario_aantal"
|
||||||
|
+ " , ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , ins_deelsrtcontrole_status"
|
||||||
+ " FROM (" + sql_componenten + ")"
|
+ " FROM (" + sql_componenten + ")"
|
||||||
+ " WHERE vervangingsjaar IS NOT NULL"
|
+ " WHERE vervangingsjaar IS NOT NULL"
|
||||||
+ " UNION ALL" // latere jaren
|
+ " UNION ALL" // latere jaren
|
||||||
@@ -592,6 +656,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , hasscenario2"
|
+ " , hasscenario2"
|
||||||
+ " , scenario_oms"
|
+ " , scenario_oms"
|
||||||
+ " , scenario_aantal"
|
+ " , scenario_aantal"
|
||||||
|
+ " , ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , ins_deelsrtcontrole_status"
|
||||||
+ " FROM comps m"
|
+ " FROM comps m"
|
||||||
+ " WHERE (m.vervangingsjaar + m.ins_srtcontrole_periode <= " + toyear + "))"
|
+ " WHERE (m.vervangingsjaar + m.ins_srtcontrole_periode <= " + toyear + "))"
|
||||||
+ " SELECT *"
|
+ " SELECT *"
|
||||||
@@ -661,6 +727,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , cy.hasscenario2"
|
+ " , cy.hasscenario2"
|
||||||
+ " , cy.scenario_oms"
|
+ " , cy.scenario_oms"
|
||||||
+ " , cy.scenario_aantal"
|
+ " , cy.scenario_aantal"
|
||||||
|
+ " , cy.ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , cy.ins_deelsrtcontrole_status"
|
||||||
+ " FROM (" + sql_yearcost + ") cy"
|
+ " FROM (" + sql_yearcost + ") cy"
|
||||||
+ " , ins_v_aanwezigdeel dl"
|
+ " , ins_v_aanwezigdeel dl"
|
||||||
+ " , ins_srtdeel isd"
|
+ " , ins_srtdeel isd"
|
||||||
@@ -682,7 +750,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " AND d.alg_district_key = l.alg_district_key";
|
+ " AND d.alg_district_key = l.alg_district_key";
|
||||||
|
|
||||||
if (deel)
|
if (deel)
|
||||||
sql_cost_verval += " AND ins_deel_upper LIKE " + safe.quoted_sql_wild("%" + deel + "%");
|
sql_cost_verval += " AND dl.ins_deel_upper LIKE " + safe.quoted_sql_wild("%" + deel + "%");
|
||||||
|
|
||||||
if (bld_key > 0)
|
if (bld_key > 0)
|
||||||
sql_cost_verval += " AND g.alg_gebouw_key = " + bld_key;
|
sql_cost_verval += " AND g.alg_gebouw_key = " + bld_key;
|
||||||
@@ -703,7 +771,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , cv.keyColumn"
|
+ " , cv.keyColumn"
|
||||||
+ " , cv.ins_srtcontroledl_xcp_key"
|
+ " , cv.ins_srtcontroledl_xcp_key"
|
||||||
+ " , cv.ins_srtcontrole_key"
|
+ " , cv.ins_srtcontrole_key"
|
||||||
+ (fulldetails?" , ins.nextcyclusdate (cv.ins_deel_key, cv.ins_srtcontrole_key, cv.ins_scenario_key, 0) org_nexdate_0" // Eerstaankomende inspectie: 1-ste vandaag of in de toekomst.
|
+ (fulldetails?" , ins.nextcyclusdate (cv.ins_deel_key, cv.ins_srtcontrole_key, cv.ins_scenario_key, 0) org_nexdate_0" // Eerstaankomende inspectie: 1-ste dit jaar of in de toekomst.
|
||||||
:" , NULL org_nexdate_0")
|
:" , NULL org_nexdate_0")
|
||||||
+ " , cv.ins_srtcontrole_periode"
|
+ " , cv.ins_srtcontrole_periode"
|
||||||
+ " , cv.ins_srtcontrole_opmerking"
|
+ " , cv.ins_srtcontrole_opmerking"
|
||||||
@@ -752,6 +820,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ " , cv.hasscenario2"
|
+ " , cv.hasscenario2"
|
||||||
+ " , cv.scenario_oms"
|
+ " , cv.scenario_oms"
|
||||||
+ " , cv.scenario_aantal"
|
+ " , cv.scenario_aantal"
|
||||||
|
+ " , cv.ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , cv.ins_deelsrtcontrole_status"
|
||||||
+ " FROM (" + sql_cost_verval + ") cv";
|
+ " FROM (" + sql_cost_verval + ") cv";
|
||||||
|
|
||||||
if (!fulldetails)
|
if (!fulldetails)
|
||||||
@@ -771,7 +841,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
? " , alg_gebouw_key"
|
? " , alg_gebouw_key"
|
||||||
: "")
|
: "")
|
||||||
+ " , keyColumn"
|
+ " , keyColumn"
|
||||||
+ (keyColumn == 'dg.ins_deel_key'?" , ins_deel_opmerking":"")
|
+ (keyColumn == "dl.ins_deel_key"
|
||||||
|
? " , ins_deel_opmerking"
|
||||||
|
: "")
|
||||||
+ " , vervangingsjaar"
|
+ " , vervangingsjaar"
|
||||||
+ " , SUM(bedrag) bedrag"
|
+ " , SUM(bedrag) bedrag"
|
||||||
+ " , SUM(orgbedrag) orgbedrag"
|
+ " , SUM(orgbedrag) orgbedrag"
|
||||||
@@ -783,7 +855,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
? " , alg_gebouw_key"
|
? " , alg_gebouw_key"
|
||||||
: "" )
|
: "" )
|
||||||
+ " , keyColumn"
|
+ " , keyColumn"
|
||||||
+ (keyColumn == 'dg.ins_deel_key'?" , ins_deel_opmerking":"")
|
+ (keyColumn == "dl.ins_deel_key"
|
||||||
|
? " , ins_deel_opmerking"
|
||||||
|
: "")
|
||||||
+ " , vervangingsjaar"
|
+ " , vervangingsjaar"
|
||||||
+ " , hasscenario2"
|
+ " , hasscenario2"
|
||||||
+ " , ins_scenario_key";
|
+ " , ins_scenario_key";
|
||||||
@@ -795,7 +869,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
+ ") PIVOT (SUM(bedrag), SUM(orgbedrag) AS orgbedrag "
|
+ ") PIVOT (SUM(bedrag), SUM(orgbedrag) AS orgbedrag "
|
||||||
+ " FOR vervangingsjaar IN (" + jaren.join(",") + ") )";
|
+ " FOR vervangingsjaar IN (" + jaren.join(",") + ") )";
|
||||||
|
|
||||||
if (scenario > 0)
|
if (scenario > 1)
|
||||||
{
|
{
|
||||||
if (!actsit)
|
if (!actsit)
|
||||||
sql += " WHERE ins_scenario_key IN (" + scenario + ") AND hasscenario2 = 1";
|
sql += " WHERE ins_scenario_key IN (" + scenario + ") AND hasscenario2 = 1";
|
||||||
@@ -804,18 +878,34 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!actsit)
|
// actsit hier geen invloed.
|
||||||
sql += " WHERE 1 = 0";
|
sql += " WHERE ins_scenario_key = 1";
|
||||||
else
|
|
||||||
sql += " WHERE ins_scenario_key = 1";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 += " AND (" + 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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Functions of ResultsetTable.
|
||||||
function fnkeyFunction(oRs)
|
function fnkeyFunction(oRs)
|
||||||
{
|
{
|
||||||
if (fulldetails)
|
if (fulldetails)
|
||||||
@@ -834,7 +924,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
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.insNexdate0 = new Date(oRs("org_nexdate_0").Value).getFullYear(); // Eerstaankomende vandaag of in de toekomst.
|
||||||
data.insCtrControleType = oRs("ctr_controle_type").Value;
|
data.insCtrControleType = oRs("ctr_controle_type").Value;
|
||||||
data.insScenKey = oRs("ins_scenario_key").Value > 1? oRs("ins_scenario_key").Value : -1;
|
data.insScenKey = oRs("ins_scenario_key").Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return JSON.stringify(data);
|
return JSON.stringify(data);
|
||||||
@@ -844,9 +934,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
{
|
{
|
||||||
if (!fulldetails)
|
if (!fulldetails)
|
||||||
return "";
|
return "";
|
||||||
var scen_key = oRs("ins_scenario_key").Value > 1? oRs("ins_scenario_key").Value : -1;
|
var scen_key = oRs("ins_scenario_key").Value;
|
||||||
var lclass = scen_key < 0 && oRs("ins_srtcontroledl_xcp_key").Value != null? "mjbxcp" : "mjbstd";
|
var lclass = scen_key == 1 && oRs("ins_srtcontroledl_xcp_key").Value != null? "mjbxcp" : "mjbstd";
|
||||||
if (scen_key > 0)
|
if (scen_key > 1)
|
||||||
lclass += " scenerized1";
|
lclass += " scenerized1";
|
||||||
if (oRs("isPlanned").Value == 1)
|
if (oRs("isPlanned").Value == 1)
|
||||||
lclass += " mjbplanned";
|
lclass += " mjbplanned";
|
||||||
@@ -870,15 +960,16 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
||||||
{ srtcont_key: oRs("ins_srtcontrole_key").Value,
|
{ srtcont_key: oRs("ins_srtcontrole_key").Value,
|
||||||
deelsrtcont_key: oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1,
|
deelsrtcont_key: oRs("ins_deelsrtcontrole_key").Value? oRs("ins_deelsrtcontrole_key").Value : -1,
|
||||||
scen_key: oRs("ins_scenario_key").Value > 1? oRs("ins_scenario_key").Value : -1
|
scen_key: oRs("ins_scenario_key").Value
|
||||||
});
|
});
|
||||||
ePlan = this_ins.canInspPlan;
|
ePlan = this_ins.canInspPlan;
|
||||||
eStart = this_ins.canInspStart;
|
eStart = this_ins.canInspStart;
|
||||||
eClose = this_ins.canInspClose;
|
eClose = this_ins.canInspClose;
|
||||||
eFinish = this_ins.canInspFinish;
|
eFinish = this_ins.canInspFinish;
|
||||||
|
eFreeze = this_ins.canInspFreeze;
|
||||||
eAddScen = true;
|
eAddScen = true;
|
||||||
}
|
}
|
||||||
var data = {ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish};
|
var data = {ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish, eFreeze: eFreeze};
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -920,7 +1011,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
var fncall = "exception({0}, {1}, '{2}')"
|
var fncall = "exception({0}, {1}, '{2}')"
|
||||||
.format(oRs("ins_deel_key").Value,
|
.format(oRs("ins_deel_key").Value,
|
||||||
oRs("ins_srtcontrole_key").Value,
|
oRs("ins_srtcontrole_key").Value,
|
||||||
oRs("ins_scenario_key").Value>1? oRs("ins_scenario_key").Value: -1,
|
oRs("ins_scenario_key").Value,
|
||||||
safe.jsstring(oRs("ins_deel_omschrijving").Value));
|
safe.jsstring(oRs("ins_deel_omschrijving").Value));
|
||||||
return "<span class='details' onclick='{0}'>{1}</span>"
|
return "<span class='details' onclick='{0}'>{1}</span>"
|
||||||
.format(safe.htmlattr(fncall),
|
.format(safe.htmlattr(fncall),
|
||||||
@@ -929,6 +1020,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
else
|
else
|
||||||
return safe.html(oRs("ins_srtcontrole_omschrijving").Value);
|
return safe.html(oRs("ins_srtcontrole_omschrijving").Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
function fnfnBedrag(jaar) // altijd afronden
|
function fnfnBedrag(jaar) // altijd afronden
|
||||||
{
|
{
|
||||||
return function (oRs)
|
return function (oRs)
|
||||||
@@ -1000,10 +1092,10 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
|
|
||||||
doneclik[deel_key + ":" + srtcont_key] = 1;
|
doneclik[deel_key + ":" + srtcont_key] = 1;
|
||||||
|
|
||||||
var scen_key = oRs("ins_scenario_key").Value > 1? oRs("ins_scenario_key").Value : -1;
|
var scen_key = oRs("ins_scenario_key").Value;
|
||||||
// INSUSE read rechten heb je al nodig om dit overzicht te zien.
|
// 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.
|
// 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 < 0 || scen_key > 0 || oRs("hasscenario2").Value == 1)? "details draggable" : "") + "'" : "") + ">{0}</span>".format(safe.curr(v, true))
|
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))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1015,15 +1107,21 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
{
|
{
|
||||||
var vervaljaar = oRs("vervaljaar").Value;
|
var vervaljaar = oRs("vervaljaar").Value;
|
||||||
var afbouwtijd = oRs("afbouwtijd").Value || 0;
|
var afbouwtijd = oRs("afbouwtijd").Value || 0;
|
||||||
|
var freezeclass = "";
|
||||||
if (jaar > vervaljaar - afbouwtijd) // Afzien van taken/vervanging/inspecties. Geen kosten meer.
|
if (jaar > vervaljaar - afbouwtijd) // Afzien van taken/vervanging/inspecties. Geen kosten meer.
|
||||||
{
|
{
|
||||||
if (vervaljaar != null && afbouwtijd != null && jaar > vervaljaar - afbouwtijd && jaar <= vervaljaar)
|
if (vervaljaar != null && afbouwtijd != null && jaar > vervaljaar - afbouwtijd && jaar <= vervaljaar)
|
||||||
return "mjbjaar mjbafbouw";
|
return "mjbjaar mjbafbouw" + freezeclass;
|
||||||
else if (vervaljaar != null && jaar > vervaljaar)
|
else if (vervaljaar != null && jaar > vervaljaar)
|
||||||
return "mjbjaar mjbverval";
|
return "mjbjaar mjbverval";
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (jaar == mjb_freeze_year && oRs("ins_deelsrtcontrole_freezedate").Value != null && oRs("ins_deelsrtcontrole_status").Value == 2)
|
||||||
|
freezeclass = " mjbfreezed";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return "mjbjaar";
|
return "mjbjaar" + freezeclass;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1064,9 +1162,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
});
|
});
|
||||||
|
|
||||||
//rst.addColumn(new Column({caption: L("level"), content: "ins_srtcontrole_level" /*, hasActions: true*/}));
|
//rst.addColumn(new Column({caption: L("level"), content: "ins_srtcontrole_level" /*, hasActions: true*/}));
|
||||||
if (fulldetails && scenario == -1)
|
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: "<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 ? PRINTING_ONLY : PRINT_AND_VIEW)}));
|
rst.addColumn(new Column({caption: L("lcl_district"), content: "alg_district_omschrijving", purpose: (dist_key > -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 }));
|
||||||
if (!fulldetails)
|
if (!fulldetails)
|
||||||
@@ -1110,7 +1208,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
{
|
{
|
||||||
rst.addAction({ action: "mjb_dragdrop", caption: L("lcl_mjb_dragdrop"), multi: true, multiOnce: true, onlyMulti: true } );
|
rst.addAction({ action: "mjb_dragdrop", caption: L("lcl_mjb_dragdrop"), multi: true, multiOnce: true, onlyMulti: true } );
|
||||||
|
|
||||||
if (scenario == -1)
|
if (scenario == 1)
|
||||||
{
|
{
|
||||||
// Vooralsnog de acties niet in de regels weergeven en alleen als multi aanbieden.
|
// Vooralsnog de acties niet in de regels weergeven en alleen als multi aanbieden.
|
||||||
// Anders zijn de links naar gebouw, object en taak vaak niet niet zichtbaar en daardoor niet klikbaar.
|
// Anders zijn de links naar gebouw, object en taak vaak niet niet zichtbaar en daardoor niet klikbaar.
|
||||||
@@ -1118,12 +1216,11 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
rst.addAction({ action: "insStart", caption: L("lcl_ins_start"), multi: true, multiOnce: true, enabler: "eStart", onlyMulti: true });
|
rst.addAction({ action: "insStart", caption: L("lcl_ins_start"), multi: true, multiOnce: true, enabler: "eStart", onlyMulti: true });
|
||||||
rst.addAction({ action: "insClose", caption: L("lcl_ins_close") + "/" + L("lcl_ins_finish"), multi: true, multiOnce: true, enabler: "eClose", onlyMulti: true });
|
rst.addAction({ action: "insClose", caption: L("lcl_ins_close") + "/" + L("lcl_ins_finish"), multi: true, multiOnce: true, enabler: "eClose", onlyMulti: true });
|
||||||
rst.addAction({ action: "insFinish", caption: L("lcl_ins_finish"), multi: true, multiOnce: true, enabler: "eFinish", onlyMulti: true });
|
rst.addAction({ action: "insFinish", caption: L("lcl_ins_finish"), multi: true, multiOnce: true, enabler: "eFinish", onlyMulti: true });
|
||||||
}
|
|
||||||
if (scenario < 0)
|
rst.addAction({ action: "insFreeze", caption: L("lcl_mjb_freeze"), multi: true, multiOnce: true, enabler: "eFreeze", onlyMulti: true });
|
||||||
{
|
|
||||||
rst.addAction({ action: "insAddScen", caption: L("lcl_mjb_incl_scen"), multi: true, multiOnce: true, enabler: "eAddScen", onlyMulti: true });
|
rst.addAction({ action: "insAddScen", caption: L("lcl_mjb_incl_scen"), multi: true, multiOnce: true, enabler: "eAddScen", onlyMulti: true });
|
||||||
}
|
}
|
||||||
else if (scenario > 0 && actsit)
|
else if (scenario > 1 && actsit)
|
||||||
{
|
{
|
||||||
var oRs = Oracle.Execute("SELECT ins_scenario_omschrijving FROM ins_scenario WHERE ins_scenario_key = " + scenario);
|
var oRs = Oracle.Execute("SELECT ins_scenario_omschrijving FROM ins_scenario WHERE ins_scenario_key = " + scenario);
|
||||||
var scen_oms = oRs("ins_scenario_omschrijving").Value;
|
var scen_oms = oRs("ins_scenario_omschrijving").Value;
|
||||||
@@ -1155,6 +1252,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
|
|||||||
</script>
|
</script>
|
||||||
<div id="legenda" style="display:none; line-height: 30px;">
|
<div id="legenda" style="display:none; line-height: 30px;">
|
||||||
<table id="inslegenda">
|
<table id="inslegenda">
|
||||||
|
<tr class="mjbfreezed">
|
||||||
|
<td title="<%= L("lcl_mjb_started") %>"><%= L("lcl_ins_controle_gestart") %></td>
|
||||||
|
</tr>
|
||||||
<tr class="mjbplanned">
|
<tr class="mjbplanned">
|
||||||
<td title="<%= L("lcl_mjb_moved") %>"><%= L("lcl_mjb_moved") %></td>
|
<td title="<%= L("lcl_mjb_moved") %>"><%= L("lcl_mjb_moved") %></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
681
APPL/MJB/mjb_search_list_curr.asp
Normal file
681
APPL/MJB/mjb_search_list_curr.asp
Normal file
@@ -0,0 +1,681 @@
|
|||||||
|
<%@language = "javascript" %>
|
||||||
|
<% /*
|
||||||
|
$Revision$
|
||||||
|
$Id$
|
||||||
|
|
||||||
|
File: mjb_search_list_curr.asp
|
||||||
|
Description:
|
||||||
|
Parameters:
|
||||||
|
|
||||||
|
Context:
|
||||||
|
|
||||||
|
Note:
|
||||||
|
|
||||||
|
*/ %>
|
||||||
|
<!-- #include file="../Shared/common.inc" -->
|
||||||
|
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||||
|
<!-- #include file="../Shared/json2.js" -->
|
||||||
|
<!-- #include file="../ins/ins.inc" -->
|
||||||
|
<%
|
||||||
|
FCLTHeader.Requires({plugins: ["jQuery"],
|
||||||
|
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
|
||||||
|
// 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,
|
||||||
|
// Vandaar dat een default van -1 ipv null ook mag
|
||||||
|
// In eerste instantie identificeren we elk veld gewoon 1-op-1.
|
||||||
|
var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = excel etc
|
||||||
|
var print = (outputmode == 1 || outputmode == 5);
|
||||||
|
var excel = (outputmode == 2 || outputmode == 6);
|
||||||
|
var showall = getQParamInt("showall", 0) == 1;
|
||||||
|
|
||||||
|
// Er zijn zeker enkele INSUSE <20>n CTRUSE rechten nodig.
|
||||||
|
var authparamsINSUSE = user.checkAutorisation("WEB_INSUSE");
|
||||||
|
var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
|
||||||
|
|
||||||
|
var hasWriteCTRUSE = authparamsCTRUSE.ALGwritelevel < 9 && authparamsCTRUSE.PRSwritelevel < 9;
|
||||||
|
|
||||||
|
// Rechten om exception (xcp) waarden van de inspectie/taak te kunnen zien en om details van het object te kunnen zien.
|
||||||
|
var authparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true);
|
||||||
|
var hasReadINSMAN = authparamsINSMAN && authparamsINSMAN.ALGreadlevel < 9 && authparamsINSMAN.PRSreadlevel < 9;
|
||||||
|
var hasWriteINSMAN = authparamsINSMAN && authparamsINSMAN.ALGwritelevel < 9 && authparamsINSMAN.PRSwritelevel < 9;
|
||||||
|
|
||||||
|
// Rechten om alg (locatie) details te kunnen zien.
|
||||||
|
var authparamsALGUSE = user.checkAutorisation("WEB_ALGUSE", true);
|
||||||
|
var hasReadALGUSE = authparamsALGUSE && authparamsALGUSE.ALGreadlevel < 9 && authparamsALGUSE.PRSreadlevel < 9;
|
||||||
|
|
||||||
|
var authparamsALGMAN = user.checkAutorisation("WEB_ALGMAN", true);
|
||||||
|
var hasReadALGMAN = authparamsALGMAN && authparamsALGMAN.ALGreadlevel < 9 && authparamsALGMAN.PRSreadlevel < 9;
|
||||||
|
|
||||||
|
var mjb_start_year = S("mjb_start_year");
|
||||||
|
var mjb_freeze_year = S("mjb_freeze_year");
|
||||||
|
|
||||||
|
var groupby = getQParamInt("groupby");
|
||||||
|
var fulldetails = (groupby == 7); // Geen aggregate, dan kun je van alles manipuleren
|
||||||
|
var fromyear = getQParamInt("fromyear", mjb_freeze_year);
|
||||||
|
var toyear = getQParamInt("toyear");
|
||||||
|
|
||||||
|
var deel = getQParam("deel", ""); // Identieficatie
|
||||||
|
var groep = getQParam("groep", ""); // Groep
|
||||||
|
if (groep == -1) groep = "";
|
||||||
|
var categorie_key = getQParamInt("categorie_key", -1); // Categorie
|
||||||
|
//var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||||
|
var dist_key = getQParamInt("districtkey", -1);
|
||||||
|
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||||
|
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
|
||||||
|
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 incbtw = getQParamInt("incbtw", 0) == 1; // Lijst inclusief BTW weergeven.
|
||||||
|
|
||||||
|
var scenario = getQParamInt("scenario", 1); // Scenario
|
||||||
|
var actsit = getQParamInt("actsit", 0) == 1; // Ook actuele situatie.
|
||||||
|
|
||||||
|
// FORM status checkboxes
|
||||||
|
var mjbMoved = getQParamInt("mjbMoved", 0) == 1; // Verschoven.
|
||||||
|
var mjbFreezed = getQParamInt("mjbFreezed", 0) == 1; // In behandeling.
|
||||||
|
var mjbXcped = getQParamInt("mjbXcped", 0) == 1; // Aangepast.
|
||||||
|
|
||||||
|
var ctrdisc_key = getQParamInt("ctrdisc_key", -1); // Ctrdiscipline
|
||||||
|
if (ctrdisc_key > 0)
|
||||||
|
lcl.set_dialect(ctrdisc_key, "INS_TAB_DISCIPLINE_KEY");
|
||||||
|
|
||||||
|
var params = { deel: (deel != ""? deel : null),
|
||||||
|
groep: (groep != ""? groep : null),
|
||||||
|
categorie_key: categorie_key,
|
||||||
|
dist_key: dist_key,
|
||||||
|
loc_key: loc_key,
|
||||||
|
bld_key: bld_key,
|
||||||
|
disc_key: disc_key,
|
||||||
|
insgroup_key: srtgroep_key,
|
||||||
|
objsrt_key_arr: srtdeel_key,
|
||||||
|
mjbgroup: groupby,
|
||||||
|
mjbtoyear: toyear,
|
||||||
|
mjbsrtcontr: srtcontrole.join(","),
|
||||||
|
mjbinfl_pct: inflatiepct,
|
||||||
|
mjbfreq: frequentie.join(","),
|
||||||
|
mjbincbtw: incbtw
|
||||||
|
};
|
||||||
|
var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrole", "inflatie",
|
||||||
|
"frequentie", "incbtw", "toyear", "alg_startlevel", "alg_endlevel",
|
||||||
|
"deel", "groep", "categorie_key", "scenario",
|
||||||
|
"mjbMoved", "mjbFreezed", "mjbXcped"]);
|
||||||
|
%>
|
||||||
|
<html>
|
||||||
|
<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 });
|
||||||
|
|
||||||
|
if (outputmode == 0) {
|
||||||
|
%>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var urole = "<%=urole%>";
|
||||||
|
var fulldetails = <%=fulldetails? 1 : 0%> == 1;
|
||||||
|
|
||||||
|
function naargebouw(bld_key, deze)
|
||||||
|
{
|
||||||
|
if (fulldetails)
|
||||||
|
var url = "appl/alg/alg_gebouw.asp?key=" + bld_key;
|
||||||
|
else
|
||||||
|
var url = "appl/mjb/mjb_search.asp?autosearch=1&groupby=7<%=transitParam%>&gebouw_key=" + bld_key;
|
||||||
|
FcltMgr.openDetail(url, $(deze).text());
|
||||||
|
}
|
||||||
|
|
||||||
|
function naardeel(ins_key, deze)
|
||||||
|
{
|
||||||
|
var url = "appl/ins/ins_deel.asp?ins_key=" + ins_key + "&urole=bo";
|
||||||
|
FcltMgr.openDetail(url, $(deze).text());
|
||||||
|
}
|
||||||
|
|
||||||
|
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";
|
||||||
|
FcltMgr.openModalDetail(url, { titel: L("lcl_ins_change_xcp") + " " + ttl, callback: <%=bld_key > 0? "FcltMgr.reload ": "null"%> });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<%
|
||||||
|
} //if (outputmode == 0)
|
||||||
|
%>
|
||||||
|
</head>
|
||||||
|
<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.
|
||||||
|
|
||||||
|
|
||||||
|
var sql_from = " FROM ins_deelsrtcontrole dsc"
|
||||||
|
+ " , ins_v_defined_inspect_xcp xcp"
|
||||||
|
+ " , ins_v_aanwezigdeel dl"
|
||||||
|
+ " , ins_srtdeel isd"
|
||||||
|
+ " , ins_srtgroep isg"
|
||||||
|
+ " , ins_discipline dd"
|
||||||
|
+ " , alg_district d"
|
||||||
|
+ " , alg_locatie l"
|
||||||
|
+ " , alg_gebouw g"
|
||||||
|
+ " , alg_verdieping v"
|
||||||
|
+ " , alg_ruimte r";
|
||||||
|
|
||||||
|
|
||||||
|
var sql_where = " WHERE dsc.ins_deel_key = xcp.ins_deel_key"
|
||||||
|
+ " AND dsc.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||||
|
+ " AND dsc.ins_scenario_key = xcp.ins_scenario_key"
|
||||||
|
+ " AND xcp.ins_deel_key = dl.ins_deel_key"
|
||||||
|
+ " AND dl.ins_srtdeel_key = isd.ins_srtdeel_key"
|
||||||
|
+ " AND isd.ins_srtgroep_key = isg.ins_srtgroep_key"
|
||||||
|
+ " AND isg.ins_discipline_key = dd.ins_discipline_key"
|
||||||
|
+ " AND dl.ins_alg_ruimte_key = r.alg_ruimte_key"
|
||||||
|
+ " AND r.alg_verdieping_key = v.alg_verdieping_key"
|
||||||
|
+ " AND v.alg_gebouw_key = g.alg_gebouw_key"
|
||||||
|
+ " AND g.alg_locatie_key = l.alg_locatie_key"
|
||||||
|
+ " AND d.alg_district_key = l.alg_district_key"
|
||||||
|
+ " AND ins_deelsrtcontrole_key = (SELECT MAX(id2.ins_deelsrtcontrole_key)"
|
||||||
|
+ " FROM ins_deelsrtcontrole id2"
|
||||||
|
+ " WHERE id2.ins_deel_key = dsc.ins_deel_key"
|
||||||
|
+ " AND id2.ins_srtcontrole_key = dsc.ins_srtcontrole_key)"
|
||||||
|
+ " AND xcp.ins_srtcontrole_periode > 0"
|
||||||
|
+ " AND xcp.ins_scenario_key = 1"
|
||||||
|
+ " AND xcp.ctr_ismjob = 1"
|
||||||
|
// Je moet read CTRUSE rechten hebben op de CTR disciplines om de taken te kunnen zien.
|
||||||
|
+ " AND xcp.ctr_discipline_key IN (SELECT w.ins_discipline_key"
|
||||||
|
+ " FROM fac_v_webgebruiker w"
|
||||||
|
+ " , fac_functie f"
|
||||||
|
+ " WHERE w.fac_functie_key = f.fac_functie_key "
|
||||||
|
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
|
||||||
|
+ " AND w.fac_gebruiker_prs_level_read < 9"
|
||||||
|
+ " AND w.fac_gebruiker_alg_level_read < 9"
|
||||||
|
+ " AND w.prs_perslid_key = " + user_key
|
||||||
|
+ " AND w.ins_discipline_key = xcp.ctr_discipline_key)"
|
||||||
|
// Vroeg filteren is *heel* goed voor performance
|
||||||
|
+ (dist_key > 0
|
||||||
|
? " AND xcp.ins_alg_locatie_key IN (SELECT alg_locatie_key FROM alg_locatie WHERE alg_district_key = " + dist_key + ")"
|
||||||
|
: "")
|
||||||
|
+ (loc_key > 0
|
||||||
|
? " AND xcp.ins_alg_locatie_key = " + loc_key
|
||||||
|
: "")
|
||||||
|
+ (bld_key > 0 // elders in dit bestand wordt scherper gefilterd, deze is voor de performance
|
||||||
|
? " AND xcp.ins_alg_locatie_key = (SELECT alg_locatie_key FROM alg_gebouw WHERE alg_gebouw_key = " + bld_key + ")"
|
||||||
|
: "")
|
||||||
|
+ (disc_key > 0
|
||||||
|
? " AND xcp.ins_discipline_key = " + disc_key
|
||||||
|
: "")
|
||||||
|
+ (srtgroep_key > 0
|
||||||
|
? " AND xcp.ins_srtgroep_key = " + srtgroep_key
|
||||||
|
: "")
|
||||||
|
+ (srtdeel_key > 0
|
||||||
|
? " AND xcp.ins_srtdeel_key = " + srtdeel_key
|
||||||
|
: "")
|
||||||
|
+ (groep
|
||||||
|
? " AND UPPER(ins_srtcontrole_groep) LIKE " + safe.quoted_sql_wild("%" + groep + "%")
|
||||||
|
: "")
|
||||||
|
+ (categorie_key > 0
|
||||||
|
? " AND xcp.ctr_discipline_key = " + categorie_key
|
||||||
|
: "")
|
||||||
|
+ (srtcontrole.length > 0
|
||||||
|
? " AND xcp.ins_srtcontrole_key IN (" + srtcontrole.join(",") + ")"
|
||||||
|
: "")
|
||||||
|
+ (frequentie.length > 0
|
||||||
|
? " AND xcp.ins_srtcontrole_periode IN (" + frequentie.join(",") + ")"
|
||||||
|
: "")
|
||||||
|
+ (deel
|
||||||
|
? " AND dl.ins_deel_upper LIKE " + safe.quoted_sql_wild("%" + deel + "%")
|
||||||
|
: "")
|
||||||
|
+ (bld_key > 0
|
||||||
|
? " AND g.alg_gebouw_key = " + bld_key
|
||||||
|
: "")
|
||||||
|
+ " AND dsc.ins_deelsrtcontrole_status >= 2";
|
||||||
|
|
||||||
|
var sql_years = "SELECT DISTINCT EXTRACT(YEAR FROM dsc.ins_deelsrtcontrole_freezedate) freezedate"
|
||||||
|
+ sql_from
|
||||||
|
+ sql_where;
|
||||||
|
|
||||||
|
var sql_list_years = "SELECT LISTAGG(freezedate, ',') WITHIN GROUP (ORDER BY freezedate) listfdjaar"
|
||||||
|
+ " FROM (" + sql_years + ")";
|
||||||
|
var oRs = Oracle.Execute(sql_list_years);
|
||||||
|
var listfdjaar = oRs("listfdjaar").Value;
|
||||||
|
var jaren = listfdjaar.split(",");
|
||||||
|
var beginjaar = jaren[0];
|
||||||
|
var eindjaar = jaren[jaren.length-1];
|
||||||
|
|
||||||
|
var keyColomn = "";
|
||||||
|
switch (groupby)
|
||||||
|
{
|
||||||
|
case 1: keyColumn = "d.alg_district_key";
|
||||||
|
break;
|
||||||
|
case 2: keyColumn = "g.alg_gebouw_key";
|
||||||
|
break;
|
||||||
|
case 3: keyColumn = "dl.ins_discipline_key";
|
||||||
|
break;
|
||||||
|
case 4: keyColumn = "isg.ins_srtgroep_key";
|
||||||
|
break;
|
||||||
|
case 5: keyColumn = "isd.ins_srtdeel_key";
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
case 7: keyColumn = "dl.ins_deel_key";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
var ins_xcp_active_cost = S("ins_xcp_active_cost");
|
||||||
|
var costarray = [];
|
||||||
|
if (ins_xcp_active_cost & 1) costarray.push("COALESCE(xcp.ins_srtcontrole_kosten, 0)");
|
||||||
|
if (ins_xcp_active_cost & 2) costarray.push("COALESCE(xcp.ins_srtcontrole_kosten2, 0)");
|
||||||
|
if (ins_xcp_active_cost & 4) costarray.push("COALESCE(xcp.ins_srtcontrole_kosten3, 0)");
|
||||||
|
if (ins_xcp_active_cost & 8) costarray.push("COALESCE(xcp.ins_srtcontrole_materiaal, 0)");
|
||||||
|
var sqlcost = "";
|
||||||
|
if (costarray.length > 0)
|
||||||
|
sqlcost = "(" + costarray.join(" + ") + ") *";
|
||||||
|
|
||||||
|
var btw = (incbtw
|
||||||
|
? " (1 + COALESCE((SELECT fbtw.fin_btwtabelwaarde_perc"
|
||||||
|
+ " FROM fin_btwtabelwaarde fbtw"
|
||||||
|
+ " WHERE fbtw.fin_btwtabelwaarde_key = xcp.fin_btwtabelwaarde_key) / 100"
|
||||||
|
+ " , 0)) *"
|
||||||
|
: "")
|
||||||
|
|
||||||
|
var sql_cost = "SELECT d.alg_district_key"
|
||||||
|
+ " , d.alg_district_omschrijving"
|
||||||
|
+ " , g.alg_gebouw_omschrijving"
|
||||||
|
+ " , g.alg_gebouw_key"
|
||||||
|
+ " , dl.ins_deel_omschrijving"
|
||||||
|
+ " , xcp.ins_deel_aantal"
|
||||||
|
+ " , xcp.ins_srtdeel_eenheid"
|
||||||
|
+ " , dl.ins_deel_opmerking"
|
||||||
|
+ " , dd.ins_discipline_omschrijving"
|
||||||
|
+ " , isg.ins_srtgroep_omschrijving"
|
||||||
|
+ " , isd.ins_srtdeel_omschrijving"
|
||||||
|
+ " , xcp.ins_srtcontrole_omschrijving"
|
||||||
|
+ " , xcp.ins_srtcontrole_opmerking"
|
||||||
|
+ " , " + keyColumn + " keyColumn"
|
||||||
|
+ " , dsc.ins_deel_key"
|
||||||
|
+ " , dsc.ins_srtcontrole_key"
|
||||||
|
+ " , dsc.ins_scenario_key"
|
||||||
|
+ " , dsc.ins_deelsrtcontrole_freezedate"
|
||||||
|
+ " , dsc.ins_deelsrtcontrole_datum"
|
||||||
|
+ " , dsc.ins_deelsrtcontrole_status"
|
||||||
|
+ " , dsc.ins_deelsrtcontrole_key"
|
||||||
|
+ " , EXTRACT( YEAR FROM LEAST(COALESCE(g.alg_gebouw_vervaldatum"
|
||||||
|
+ " , dl.ins_deel_vervaldatum"
|
||||||
|
+ " , COALESCE(xcp.ins_srtcontroledl_xcp_eind, xcp.ins_srtcontrole_eind))"
|
||||||
|
+ " , COALESCE(COALESCE(xcp.ins_srtcontroledl_xcp_eind, xcp.ins_srtcontrole_eind)"
|
||||||
|
+ " , g.alg_gebouw_vervaldatum"
|
||||||
|
+ " , dl.ins_deel_vervaldatum)"
|
||||||
|
+ " , COALESCE(dl.ins_deel_vervaldatum"
|
||||||
|
+ " , COALESCE(xcp.ins_srtcontroledl_xcp_eind, xcp.ins_srtcontrole_eind)"
|
||||||
|
+ " , g.alg_gebouw_vervaldatum))) vervaljaar"
|
||||||
|
+ " , xcp.ins_srtcontrole_afbouwtijd afbouwtijd"
|
||||||
|
+ " , (SELECT LISTAGG(isc1.ins_scenario_omschrijving, ', ')"
|
||||||
|
+ " WITHIN GROUP (ORDER BY isc1.ins_scenario_omschrijving)"
|
||||||
|
+ " FROM ins_srtcontroledl_xcp xcp1"
|
||||||
|
+ " , ins_scenario isc1"
|
||||||
|
+ " WHERE xcp1.ins_scenario_key = isc1.ins_scenario_key"
|
||||||
|
+ " AND xcp1.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||||
|
+ " AND xcp1.ins_deel_key = xcp.ins_deel_key) scenario_oms"
|
||||||
|
+ " , ins_srtcontroledl_xcp_key"
|
||||||
|
+ " , COALESCE(dsc.ins_deelsrtcontrole_datum, dsc.ins_deelsrtcontrole_freezedate) freezedatum"
|
||||||
|
+ " , 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(" + inflatiefactor + " , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) - EXTRACT(YEAR FROM SYSDATE))" // Bevriezen van het kalenderjaar S("mjb_freeze_year").
|
||||||
|
+ " , 0) geraamdbedrag"
|
||||||
|
+ " , EXTRACT(YEAR FROM COALESCE(ins_deelsrtcontrole_datum, ins_deelsrtcontrole_freezedate)) freezedatejaar"
|
||||||
|
+ " , " + btw + " dsc.ins_deelsrtcontrole_freezecost ins_deelsrtcontrole_freezecost"
|
||||||
|
+ sql_from
|
||||||
|
+ sql_where
|
||||||
|
+ " AND EXTRACT(YEAR FROM ins_deelsrtcontrole_freezedate) IN (" + listfdjaar + ")";
|
||||||
|
|
||||||
|
|
||||||
|
if (!fulldetails)
|
||||||
|
{
|
||||||
|
var fields = ["alg_district_omschrijving", "alg_gebouw_omschrijving", "ins_discipline_omschrijving",
|
||||||
|
"ins_srtgroep_omschrijving", "ins_srtdeel_omschrijving", "ins_deel_omschrijving"];
|
||||||
|
while (fields.length > groupby) // TODO: dit kan toch echt niet kloppen!?
|
||||||
|
fields.pop();
|
||||||
|
if (fields.length == 6) // bij omschrijving hoort ook aantal met eenheid.
|
||||||
|
{
|
||||||
|
fields.push("ins_deel_aantal");
|
||||||
|
fields.push("ins_srtdeel_eenheid");
|
||||||
|
}
|
||||||
|
|
||||||
|
var sql_cost = "SELECT " + fields.join(", ")
|
||||||
|
+ (groupby > 1
|
||||||
|
? " , alg_gebouw_key"
|
||||||
|
: "")
|
||||||
|
+ " , keyColumn"
|
||||||
|
+ (keyColumn == 'dl.ins_deel_key'
|
||||||
|
? " , ins_deel_opmerking"
|
||||||
|
: "")
|
||||||
|
+ " , SUM(ins_deelsrtcontrole_freezecost) ins_deelsrtcontrole_freezecost"
|
||||||
|
+ " , SUM(geraamdbedrag) geraamdbedrag"
|
||||||
|
+ " , freezedatejaar"
|
||||||
|
+ " FROM (" + sql_cost + ")"
|
||||||
|
+ " GROUP BY " + fields.join(", ")
|
||||||
|
+ (groupby > 1
|
||||||
|
? " , alg_gebouw_key"
|
||||||
|
: "" )
|
||||||
|
+ " , keyColumn"
|
||||||
|
+ (keyColumn == 'dl.ins_deel_key'
|
||||||
|
? " , ins_deel_opmerking"
|
||||||
|
: "")
|
||||||
|
+ " , freezedatejaar";
|
||||||
|
}
|
||||||
|
|
||||||
|
var sql = "SELECT *"
|
||||||
|
+ " FROM (" + sql_cost + ") c"
|
||||||
|
+ " PIVOT (SUM(ins_deelsrtcontrole_freezecost) FOR freezedatejaar IN (2016, 2017, 2018))";
|
||||||
|
|
||||||
|
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";
|
||||||
|
for (var i = 2; i <= groupby; i++)
|
||||||
|
{
|
||||||
|
sql += "," + String(i)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Functions of ResultsetTable.
|
||||||
|
function fnkeyFunction(oRs)
|
||||||
|
{
|
||||||
|
if (fulldetails)
|
||||||
|
return oRs("ins_deel_key").Value; // + "-" + oRs("ins_srtcontrole_key").Value;
|
||||||
|
else
|
||||||
|
return oRs("keyColumn").Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnrowData(oRs)
|
||||||
|
{
|
||||||
|
var data = {};
|
||||||
|
if (fulldetails)
|
||||||
|
{
|
||||||
|
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.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
return JSON.stringify(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnrowClass(oRs)
|
||||||
|
{
|
||||||
|
if (!fulldetails)
|
||||||
|
return "";
|
||||||
|
//var scen_key = oRs("ins_scenario_key").Value;
|
||||||
|
var lclass = oRs("ins_srtcontroledl_xcp_key").Value != null? "mjbxcp" : "mjbstd";
|
||||||
|
//if (scen_key > 1)
|
||||||
|
// lclass += " scenerized1";
|
||||||
|
//if (oRs("isPlanned").Value == 1)
|
||||||
|
// lclass += " mjbplanned";
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
if (hasReadALGUSE || hasReadALGMAN)
|
||||||
|
{
|
||||||
|
return "<span class='details' title='{2}' onclick='naargebouw({0}, this)'>{1}</span>".format(oRs("alg_gebouw_key").Value, safe.htmlattr(oRs("alg_gebouw_omschrijving").Value), (fulldetails ? safe.htmlattr(L("lcl_estate_gebouw_title")): L("ins_srtcontrole_m")));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return safe.html(oRs("alg_gebouw_omschrijving").Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnDeel(oRs)
|
||||||
|
{ // Alleen voor groupby Element(6) en Taak(7)
|
||||||
|
if (hasReadINSMAN)
|
||||||
|
{
|
||||||
|
return "<span class='details' title='{2}' onclick='naardeel({0}, this)'>{1}</span>".format(oRs("keyColumn").Value, safe.html(oRs("ins_deel_omschrijving").Value), (oRs("ins_deel_opmerking").Value == null ? safe.htmlattr(L("lcl_mld_deel_details")) : safe.htmlattr(oRs("ins_deel_opmerking").Value)));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return "<span title='{2}'>{1}</span>".format(oRs("keyColumn").Value, safe.htmlattr(oRs("ins_deel_omschrijving").Value), safe.htmlattr(oRs("ins_deel_opmerking").Value));
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnStatus(oRs)
|
||||||
|
{
|
||||||
|
return ins.getinspectstatustext(oRs("ins_deelsrtcontrole_status").Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnSrtcontrole(oRs)
|
||||||
|
{
|
||||||
|
var hasXcp = oRs("ins_srtcontroledl_xcp_key").Value != null;
|
||||||
|
if ((hasXcp && hasReadINSMAN) || (hasWriteCTRUSE && hasWriteINSMAN))
|
||||||
|
{
|
||||||
|
var fncall = "exception({0}, {1}, '{2}')"
|
||||||
|
.format(oRs("ins_deel_key").Value,
|
||||||
|
oRs("ins_srtcontrole_key").Value,
|
||||||
|
oRs("ins_scenario_key").Value,
|
||||||
|
safe.jsstring(oRs("ins_deel_omschrijving").Value));
|
||||||
|
return "<span class='details' onclick='{0}'>{1}</span>"
|
||||||
|
.format(safe.htmlattr(fncall),
|
||||||
|
safe.html(oRs("ins_srtcontrole_omschrijving").Value));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return safe.html(oRs("ins_srtcontrole_omschrijving").Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnfnBedrag(jaar) // altijd afronden
|
||||||
|
{
|
||||||
|
return function (oRs)
|
||||||
|
{
|
||||||
|
if (oRs(jaar).Value == null)
|
||||||
|
return "";
|
||||||
|
var v = safe.curr(Math.round(oRs(jaar).Value), true);
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnfnBedragNumber(col) // Voor optellen
|
||||||
|
{
|
||||||
|
return function (oRs)
|
||||||
|
{
|
||||||
|
return Math.round(oRs(col).Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function totalShow(column, rowNum)
|
||||||
|
{
|
||||||
|
return safe.curr(column.totalsum, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnfnClickBedrag(jaar) // altijd afronden
|
||||||
|
{
|
||||||
|
return function (oRs)
|
||||||
|
{
|
||||||
|
if (oRs(jaar).Value == null)
|
||||||
|
return "";
|
||||||
|
var v = Math.round(oRs(jaar).Value);
|
||||||
|
var v_gb = Math.round(oRs("geraamdbedrag").Value);
|
||||||
|
if (v == 0) // (jaar >= vervaljaar) //
|
||||||
|
{
|
||||||
|
var vervaljaar = oRs("vervaljaar").Value;
|
||||||
|
var afbouwtijd = oRs("afbouwtijd").Value || 0;
|
||||||
|
if (vervaljaar != null && jaar > vervaljaar - afbouwtijd) // Als 2022 vervaljaar is en afbouwtijd is 2 jaar, dan 2020 nog 0 tonen.
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
//if (v != v_gb) {
|
||||||
|
if (v == 0) {
|
||||||
|
if (outputmode == 0) {
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fnfncolClass(jaar)
|
||||||
|
{
|
||||||
|
return function (oRs)
|
||||||
|
{
|
||||||
|
if (fulldetails)
|
||||||
|
{
|
||||||
|
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 fnGeraamdBedrag(oRs)
|
||||||
|
{
|
||||||
|
return safe.curr(Math.round(oRs("geraamdbedrag").Value), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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: "legenda.png", title: L("lcl_ins_controle_legenda"), action: 'openLegenda()' });
|
||||||
|
|
||||||
|
var rst = new ResultsetTable({ keyColumn: fnkeyFunction,
|
||||||
|
sql: sql,
|
||||||
|
ID: "mjobtable",
|
||||||
|
rowData: fnrowData,
|
||||||
|
rowClass: fnrowClass,
|
||||||
|
//suppressKeyRepeat: "alg_locatie_omschrijving",
|
||||||
|
rowActionEnabler: fnrowActionEnabler,
|
||||||
|
totalShow: totalShow,
|
||||||
|
flexModule: "INS",
|
||||||
|
multiple: true,
|
||||||
|
filterParams: params,
|
||||||
|
outputmode: outputmode,
|
||||||
|
title: L("ins_srtcontrole_m"),
|
||||||
|
showAll: showall,
|
||||||
|
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)}));
|
||||||
|
if (groupby > 1)
|
||||||
|
rst.addColumn(new Column({caption: L("lcl_building"), content: fnGebouw }));
|
||||||
|
if (!fulldetails)
|
||||||
|
{
|
||||||
|
if (groupby > 2) rst.addColumn(new Column({caption: L("lcl_discipline"), content: "ins_discipline_omschrijving"}));
|
||||||
|
if (groupby > 3) rst.addColumn(new Column({caption: L("lcl_obj_group"), content: "ins_srtgroep_omschrijving"}));
|
||||||
|
if (groupby > 4) rst.addColumn(new Column({caption: L("lcl_obj_sort"), content: "ins_srtdeel_omschrijving"}));
|
||||||
|
}
|
||||||
|
if (groupby > 5)
|
||||||
|
{
|
||||||
|
rst.addColumn(new Column({caption: L("lcl_ins_object"), content: fnDeel}));
|
||||||
|
rst.addColumn(new Column({caption: L("lcl_amount"), content: "ins_deel_aantal", datatype: "float"}));
|
||||||
|
rst.addColumn(new Column({caption: L("lcl_obj_unit"), content: "ins_srtdeel_eenheid"}));
|
||||||
|
}
|
||||||
|
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_status"), content: fnStatus}));
|
||||||
|
}
|
||||||
|
for (var j = 0; j < jaren.length; j++)
|
||||||
|
{
|
||||||
|
if (fulldetails)
|
||||||
|
var content = fnfnClickBedrag(String(jaren[j]));
|
||||||
|
else
|
||||||
|
var content = fnfnBedrag(String(jaren[j]));
|
||||||
|
rst.addColumn(new Column({caption: String(L("lcl_mjb_begroot") + " " + jaren[j]),
|
||||||
|
datatype: "number",
|
||||||
|
content: content,
|
||||||
|
columnClass: fnfncolClass(String(jaren[j])), // tdClass dan niet meer nodig.
|
||||||
|
total: true,
|
||||||
|
fnAmount: fnfnBedragNumber(String(jaren[j]))
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
rst.addColumn(new Column({caption: L("lcl_mjb_geraamd"),
|
||||||
|
datatype: "number",
|
||||||
|
content: fnGeraamdBedrag,
|
||||||
|
columnClass: fnGeraamdClass,
|
||||||
|
total: true,
|
||||||
|
fnAmount: fnfnBedragNumber("geraamdbedrag")
|
||||||
|
}));
|
||||||
|
|
||||||
|
var count = rst.processResultset();
|
||||||
|
|
||||||
|
|
||||||
|
%>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -99,14 +99,14 @@ if (srtcontrole_key < 0)
|
|||||||
+ " AND isc.ins_srtinstallatie_key = id.ins_discipline_key)"
|
+ " AND isc.ins_srtinstallatie_key = id.ins_discipline_key)"
|
||||||
+ " AND id.ins_deel_key = " + ins_key
|
+ " AND id.ins_deel_key = " + ins_key
|
||||||
+ (today != -1
|
+ (today != -1
|
||||||
? " AND (TRUNC(FAC.nextcyclusdatedeel (id.ins_deel_key, isc.ins_srtcontrole_key, NULL, 1)) <= TRUNC(sysdate) "
|
? " AND (TRUNC(FAC.nextcyclusdatedeel (id.ins_deel_key, isc.ins_srtcontrole_key, 1, 1)) <= TRUNC(sysdate) "
|
||||||
+ " OR (SELECT idsc1.ins_deelsrtcontrole_status"
|
+ " OR (SELECT idsc1.ins_deelsrtcontrole_status"
|
||||||
+ " FROM ins_deelsrtcontrole idsc1"
|
+ " FROM ins_deelsrtcontrole idsc1"
|
||||||
+ " WHERE idsc1.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
+ " WHERE idsc1.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||||
+ " FROM ins_deelsrtcontrole idsc2"
|
+ " FROM ins_deelsrtcontrole idsc2"
|
||||||
+ " WHERE idsc2.ins_deel_key = id.ins_deel_key"
|
+ " WHERE idsc2.ins_deel_key = id.ins_deel_key"
|
||||||
+ " AND idsc2.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
+ " AND idsc2.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
||||||
+ " AND idsc2.ins_scenario_key IS NULL)) < 6"
|
+ " AND idsc2.ins_scenario_key = 1)) < 6"
|
||||||
+ " )"
|
+ " )"
|
||||||
: "")
|
: "")
|
||||||
+ " GROUP BY id.ins_deel_omschrijving";
|
+ " GROUP BY id.ins_deel_omschrijving";
|
||||||
@@ -206,7 +206,7 @@ if (srtcontrole_key < 0 || defaultmode_key > 0)
|
|||||||
+ " , xcp.ins_srtcontroledl_xcp_eind"
|
+ " , xcp.ins_srtcontroledl_xcp_eind"
|
||||||
+ " FROM ins_srtcontroledl_xcp xcp"
|
+ " FROM ins_srtcontroledl_xcp xcp"
|
||||||
+ " WHERE xcp.ins_deel_key = " + ins_key
|
+ " WHERE xcp.ins_deel_key = " + ins_key
|
||||||
+ " AND xcp.ins_scenario_key IS NULL"
|
+ " AND xcp.ins_scenario_key = 1"
|
||||||
+ " ) xcp"
|
+ " ) xcp"
|
||||||
+ " ON i.ins_deel_key = xcp.ins_deel_key"
|
+ " ON i.ins_deel_key = xcp.ins_deel_key"
|
||||||
+ " AND i.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
+ " AND i.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||||
@@ -219,7 +219,7 @@ if (srtcontrole_key < 0 || defaultmode_key > 0)
|
|||||||
+ " FROM ins_deelsrtcontrole idsc2"
|
+ " FROM ins_deelsrtcontrole idsc2"
|
||||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||||
+ " AND idsc2.ins_scenario_key IS NULL)) != 6)"
|
+ " AND idsc2.ins_scenario_key = 1)) != 6)"
|
||||||
// Alleen de disciplines tonen waar de user rechten op heb.
|
// Alleen de disciplines tonen waar de user rechten op heb.
|
||||||
+ " AND i.ctr_discipline_key IN (SELECT g.ins_discipline_key"
|
+ " AND i.ctr_discipline_key IN (SELECT g.ins_discipline_key"
|
||||||
+ " FROM fac_v_webgebruiker g"
|
+ " FROM fac_v_webgebruiker g"
|
||||||
@@ -229,7 +229,7 @@ if (srtcontrole_key < 0 || defaultmode_key > 0)
|
|||||||
+ " AND g.fac_gebruiker_prs_level_write < 9"
|
+ " AND g.fac_gebruiker_prs_level_write < 9"
|
||||||
+ " AND g.fac_gebruiker_alg_level_write < 9"
|
+ " AND g.fac_gebruiker_alg_level_write < 9"
|
||||||
+ " AND g.prs_perslid_key = " + user_key + ")"
|
+ " AND g.prs_perslid_key = " + user_key + ")"
|
||||||
+ (today != -1 ? " AND TRUNC(FAC.nextcyclusdatedeel (i.ins_deel_key, i.ins_srtcontrole_key, NULL, 1)) <= TRUNC(sysdate) " : "");
|
+ (today != -1 ? " AND TRUNC(FAC.nextcyclusdatedeel (i.ins_deel_key, i.ins_srtcontrole_key, 1, 1)) <= TRUNC(sysdate) " : "");
|
||||||
|
|
||||||
function fnPrefix(oRs, params)
|
function fnPrefix(oRs, params)
|
||||||
{
|
{
|
||||||
@@ -304,7 +304,7 @@ else
|
|||||||
+ " AND isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
+ " AND isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
||||||
+ " AND idsc.ins_deel_key(+) = " + ins_key // PF: lijkt mij alleen indien deelsrtcont_key == -1
|
+ " AND idsc.ins_deel_key(+) = " + ins_key // PF: lijkt mij alleen indien deelsrtcont_key == -1
|
||||||
+ " AND isc.ins_srtcontrole_key = " + srtcontrole_key // PF: lijkt mij alleen indien deelsrtcont_key == -1
|
+ " AND isc.ins_srtcontrole_key = " + srtcontrole_key // PF: lijkt mij alleen indien deelsrtcont_key == -1
|
||||||
+ " AND idsc.ins_scenario_key(+) IS NULL"
|
+ " AND idsc.ins_scenario_key(+) = 1"
|
||||||
+ (deelsrtcont_key > 0
|
+ (deelsrtcont_key > 0
|
||||||
? " AND idsc.ins_deelsrtcontrole_key = " + deelsrtcont_key
|
? " AND idsc.ins_deelsrtcontrole_key = " + deelsrtcont_key
|
||||||
: "")
|
: "")
|
||||||
@@ -366,8 +366,8 @@ else
|
|||||||
+ " AND idsc.ins_deel_key = xcp.ins_deel_key(+)"
|
+ " AND idsc.ins_deel_key = xcp.ins_deel_key(+)"
|
||||||
+ " AND idsc.ins_deel_key IN (" + ins_key + ")"
|
+ " AND idsc.ins_deel_key IN (" + ins_key + ")"
|
||||||
+ " AND isc.ins_srtcontrole_key = " + srtcontrole_key
|
+ " AND isc.ins_srtcontrole_key = " + srtcontrole_key
|
||||||
+ " AND idsc.ins_scenario_key IS NULL"
|
+ " AND idsc.ins_scenario_key = 1"
|
||||||
+ " AND xcp.ins_scenario_key(+) IS NULL"
|
+ " AND xcp.ins_scenario_key(+) = 1"
|
||||||
+ " AND COALESCE(isc.ins_srtcontrole_periode, xcp.ins_srtcontroledl_xcp_periode) > 0";
|
+ " AND COALESCE(isc.ins_srtcontrole_periode, xcp.ins_srtcontroledl_xcp_periode) > 0";
|
||||||
var oRs = Oracle.Execute(sql);
|
var oRs = Oracle.Execute(sql);
|
||||||
while (!oRs.eof)
|
while (!oRs.eof)
|
||||||
@@ -526,7 +526,7 @@ else
|
|||||||
+ " FROM ins_deelsrtcontrole idsc"
|
+ " FROM ins_deelsrtcontrole idsc"
|
||||||
+ " WHERE idsc.ins_deel_key = " + ins_key
|
+ " WHERE idsc.ins_deel_key = " + ins_key
|
||||||
+ " AND idsc.ins_deelsrtcontrole_status = 6"
|
+ " AND idsc.ins_deelsrtcontrole_status = 6"
|
||||||
+ " AND idsc.ins_scenario_key IS NULL"
|
+ " AND idsc.ins_scenario_key = 1"
|
||||||
+ " ORDER BY ins_deelsrtcontrole_datum DESC";
|
+ " ORDER BY ins_deelsrtcontrole_datum DESC";
|
||||||
var oRs = Oracle.Execute(sql);
|
var oRs = Oracle.Execute(sql);
|
||||||
if (!oRs.eof)
|
if (!oRs.eof)
|
||||||
@@ -540,7 +540,7 @@ else
|
|||||||
+ " FROM ins_deelsrtcontrole idsc"
|
+ " FROM ins_deelsrtcontrole idsc"
|
||||||
+ " WHERE idsc.ins_deel_key = " + ins_key
|
+ " WHERE idsc.ins_deel_key = " + ins_key
|
||||||
+ " AND idsc.ins_deelsrtcontrole_status != 6"
|
+ " AND idsc.ins_deelsrtcontrole_status != 6"
|
||||||
+ " AND idsc.ins_scenario_key IS NULL";
|
+ " AND idsc.ins_scenario_key = 1";
|
||||||
var oRs = Oracle.Execute(sql);
|
var oRs = Oracle.Execute(sql);
|
||||||
|
|
||||||
if (!oRs.eof && oRs("ins_deelsrtcontrole_plandatum").Value != null)
|
if (!oRs.eof && oRs("ins_deelsrtcontrole_plandatum").Value != null)
|
||||||
|
|||||||
@@ -4464,7 +4464,7 @@ td.kpidetails {
|
|||||||
border-left:1px solid #aaa;
|
border-left:1px solid #aaa;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
.mjbjaar {
|
.mjbjaar, .mjbgeraamd {
|
||||||
border-left:1px solid #eee;
|
border-left:1px solid #eee;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
@@ -4474,10 +4474,15 @@ td.kpidetails {
|
|||||||
background: linear-gradient(to top, rgba(255, 254, 156, 0.6), rgba(255, 254, 156, 0.4) 80%); /* Standard syntax */
|
background: linear-gradient(to top, rgba(255, 254, 156, 0.6), rgba(255, 254, 156, 0.4) 80%); /* Standard syntax */
|
||||||
}
|
}
|
||||||
.scenerized1 td {
|
.scenerized1 td {
|
||||||
background: -webkit-linear-gradient(top, rgba(224, 239, 198, 1), rgba(224, 239, 198, 0.4) 80%); /* For Safari 5.1 to 6.0 */
|
background: -webkit-linear-gradient(top, rgba(224, 130, 0, 1), rgba(224, 130, 0, 0.4) 80%); /* For Safari 5.1 to 6.0 */
|
||||||
background: -moz-linear-gradient(top, rgba(224, 239, 198, 1), rgba(224, 239, 198, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
background: -moz-linear-gradient(top, rgba(224, 130, 0, 1), rgba(224, 130, 0, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
||||||
background: linear-gradient(to top, rgba(224, 239, 198, 0.6), rgba(224, 239, 198, 0.4) 80%); /* Standard syntax */
|
background: linear-gradient(to top, rgba(224, 130, 0, 0.6), rgba(224, 130, 0, 0.4) 80%); /* Standard syntax */
|
||||||
}
|
}
|
||||||
|
//.mjbfreezed {
|
||||||
|
// background: -webkit-linear-gradient(top, rgba(224, 239, 198, 1), rgba(224, 239, 198, 0.4) 80%); /* For Safari 5.1 to 6.0 */
|
||||||
|
// background: -moz-linear-gradient(top, rgba(224, 239, 198, 1), rgba(224, 239, 198, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
||||||
|
// background: linear-gradient(to top, rgba(224, 239, 198, 0.6), rgba(224, 239, 198, 0.4) 80%); /* Standard syntax */
|
||||||
|
//}
|
||||||
.mjbstd td {
|
.mjbstd td {
|
||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
}
|
}
|
||||||
@@ -4502,6 +4507,12 @@ span.draggable .mjborgbedrag {
|
|||||||
background-position: center !important;
|
background-position: center !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mjbfreezed {
|
||||||
|
background: -webkit-linear-gradient(top, rgba(208, 223, 129, 1), rgba(208, 223, 129, 0.4) 80%); /* For Safari 5.1 to 6.0 */
|
||||||
|
background: -moz-linear-gradient(top, rgba(208, 223, 129, 1), rgba(208, 223, 129, 0.4) 80%); /* For Firefox 3.6 to 15 */
|
||||||
|
background: linear-gradient(to top, rgba(208, 223, 129, 0.6), rgba(208, 223, 129, 0.4) 80%); /* Standard syntax */
|
||||||
|
}
|
||||||
|
|
||||||
/* toaster stuff */
|
/* toaster stuff */
|
||||||
.jq-icon-info { background-color: #31708f; color: #d9edf7; border-color: #bce8f1; }
|
.jq-icon-info { background-color: #31708f; color: #d9edf7; border-color: #bce8f1; }
|
||||||
.jq-icon-warning { background-color: #8a6d3b; color: #fcf8e3; border-color: #faebcc; }
|
.jq-icon-warning { background-color: #8a6d3b; color: #fcf8e3; border-color: #faebcc; }
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ var sql = "SELECT cd.ins_discipline_key"
|
|||||||
+ " , cd.ins_discipline_omschrijving"
|
+ " , cd.ins_discipline_omschrijving"
|
||||||
+ " , cdp.ctr_disc_params_controle_type"
|
+ " , cdp.ctr_disc_params_controle_type"
|
||||||
+ " , cdp.ctr_disc_params_ismjob"
|
+ " , cdp.ctr_disc_params_ismjob"
|
||||||
|
+ " , mld_stdmelding_key"
|
||||||
+ " FROM ctr_discipline cd"
|
+ " FROM ctr_discipline cd"
|
||||||
+ " , ctr_disc_params cdp"
|
+ " , ctr_disc_params cdp"
|
||||||
+ " WHERE cd.ins_discipline_key = cdp.ctr_ins_discipline_key"
|
+ " WHERE cd.ins_discipline_key = cdp.ctr_ins_discipline_key"
|
||||||
@@ -36,10 +37,12 @@ var disc_key = oRs("ins_discipline_key").Value;
|
|||||||
var disc_omschr = oRs("ins_discipline_omschrijving").Value;
|
var disc_omschr = oRs("ins_discipline_omschrijving").Value;
|
||||||
var controle_type = oRs("ctr_disc_params_controle_type").Value;
|
var controle_type = oRs("ctr_disc_params_controle_type").Value;
|
||||||
var ismjob = oRs("ctr_disc_params_ismjob").Value == 1;
|
var ismjob = oRs("ctr_disc_params_ismjob").Value == 1;
|
||||||
|
var mld_stdmelding_key = oRs("mld_stdmelding_key").Value;
|
||||||
|
|
||||||
var result = { disc_key: ctr_disc,
|
var result = { disc_key: ctr_disc,
|
||||||
disc_omschr: disc_omschr,
|
disc_omschr: disc_omschr,
|
||||||
controle_type: controle_type,
|
controle_type: controle_type,
|
||||||
ismjob: ismjob };
|
ismjob: ismjob,
|
||||||
|
stdmelding_key: mld_stdmelding_key };
|
||||||
Response.Write(JSON.stringify(result));
|
Response.Write(JSON.stringify(result));
|
||||||
%>
|
%>
|
||||||
|
|||||||
Reference in New Issue
Block a user