FSN#39567: Van MJOB naar MJOP/R.

svn path=/Website/trunk/; revision=34878
This commit is contained in:
Maykel Geerdink
2017-08-09 13:56:51 +00:00
parent de37bbcc28
commit a87dfbd195
6 changed files with 903 additions and 73 deletions

View File

@@ -25,6 +25,18 @@ FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"],
/***** Get webform parameters *****/
var urole = getQParamSafe("urole", "bo");
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 groep = getQParam("groep", ""); // Categorie/Groep
@@ -47,10 +59,13 @@ var groupby = getQParamInt("groupby", 2);
var frequentie = getQParamInt("frequentie", -1);
var toyear = getQParamInt("toyear", new Date().getFullYear() + S("mjb_show_years"));
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 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
{
@@ -115,7 +130,7 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
$(document).ready(function()
{
if (scen_key < 0) $(".tractsit").hide();
if (scen_key== 1) $(".tractsit").hide();
$("#actsit").prop("checked", true);
selectedScen = false;
<% if (autosearch)
@@ -128,7 +143,7 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
<body id="searchbody">
<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="autfunctionINSUSE" id="autfunctionINSUSE" value="<%=autfunctionINSUSE%>">
<input type=hidden name="autfunctionCTRUSE" id="autfunctionCTRUSE" value="<%=autfunctionCTRUSE%>">
@@ -320,13 +335,33 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
initKey: scen_key,
//multi: true, // Voor nu niet multi
trclass:"primsearch noxd",
emptyKey: 1,
emptyOption: "",
onChange: "onChangeScenario()"
});
RWCHECKBOXTR("actsit", "fldactsit", L("lcl_mjb_act_situation"), actsit, { html: " value='1' ", trclass: 'primsearch noxd tractsit'});
}
oRs.Close();
%> </table>
%>
<!-- Status checkboxen -->
<tr>
<td>
<label><%=L("lcl_mjb_status_mjob")%>:&nbsp;</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-->
</tr>

View File

@@ -51,10 +51,12 @@ var hasReadALGUSE = authparamsALGUSE && authparamsALGUSE.ALGreadlevel < 9 && aut
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", new Date().getFullYear());
var fromyear = getQParamInt("fromyear", mjb_freeze_year);
var toyear = getQParamInt("toyear");
var deel = getQParam("deel", ""); // Identieficatie
@@ -74,9 +76,14 @@ 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 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");
@@ -97,7 +104,10 @@ var params = { deel: (deel != ""? deel : null),
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"]);
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>
@@ -112,6 +122,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
<script type="text/javascript">
var urole = "<%=urole%>";
var fulldetails = <%=fulldetails? 1 : 0%> == 1;
function naargebouw(bld_key, deze)
{
if (fulldetails)
@@ -129,7 +140,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
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"%> });
}
@@ -270,7 +281,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
{
rowdata = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
// 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.
srtcontrolekeyArray[i] = rowdata.insSrtControleKey;
}
@@ -285,7 +296,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
if (insKeyString.length > 0)
{
if (<%=scenario%> > 0)
if (<%=scenario%> > 1)
{
var data = { ins_keys: insKeyString,
srtcont_keys: srtcontrolekeyArray.join(","),
@@ -335,22 +346,57 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , e.ins_srtcontrole_periode"
+ " , e.ins_srtcontrole_percentage"
+ " , e.ins_srtcontrole_opmerking"
+ " , EXTRACT (YEAR FROM COALESCE(c.plandatum"
+ " , CASE"
+ " WHEN c.laatste IS NULL" // Als er al een inspectie is geweest, is de startdatum niet meer van belang.
// Bepaling in welk jaar er een inspectie is gepland.
// 1) In het jaar van de plandatum.
// 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"
+ " ELSE NULL"
+ " END"
+ " , ADD_MONTHS(COALESCE(c.laatste"
+ " , CASE"
+ " WHEN e.ctr_controle_type = 1" // Controle(1).
+ " THEN SYSDATE"
+ " ELSE e.ins_deel_aanmaak" // Vervanging(2) of Certificering(3).
+ " END), CASE"
+ " WHEN e.ctr_controle_type = 1 AND c.laatste IS NULL" // Eerste Controle(1) is dit jaar.
+ " THEN 0"
+ " ELSE 12 * e.ins_srtcontrole_periode"
+ " END))) vervangingsjaar"
+ " , CASE" // Berekenen jaar.
+ " WHEN c.laatste IS NULL AND e.ctr_controle_type = 1" // 1: Controle.
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
+ " WHEN c.laatste IS NULL AND e.ctr_controle_type != 1" // 2: Vervanging, 3: Certificering.
+ " THEN" // Er is nog geen inspectie geweest
+ " CASE"
+ " WHEN EXTRACT(YEAR FROM e.nextdate) > " + mjb_freeze_year
+ " THEN" // Nextdate is na de freeze datum.
+ " CASE"
+ " 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_srtdeel_eenheid"
+ " , e.ins_srtcontrole_eind"
@@ -362,6 +408,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , e.hasscenario2"
+ " , e.scenario_oms"
+ " , e.scenario_aantal"
+ " , c.ins_deelsrtcontrole_freezedate"
+ " , c.ins_deelsrtcontrole_status"
+ " FROM (SELECT el.ins_deel_key"
+ " , el.ins_srtcontroledl_xcp_key"
+ " , el.ins_srtcontrole_omschrijving"
@@ -383,15 +431,16 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , el.ins_srtcontroledl_xcp_startdat"
+ " , el.ins_srtcontroledl_xcp_eind"
+ " , el.ctr_controle_type"
+ " , ins.nextcyclusdate(el.ins_deel_key, el.ins_srtcontrole_key, 1, 0) nextdate"
+ " , el.ins_scenario_key"
+ (scenario > 0
+ (scenario > 1
? " , COALESCE((SELECT MAX(1)" // Heeft de periodieke taak ook de meegegeven scenario 'scenario'.
+ " FROM ins_srtcontroledl_xcp xcp2"
+ " WHERE xcp2.ins_deel_key = el.ins_deel_key"
+ " AND xcp2.ins_srtcontrole_key = el.ins_srtcontrole_key"
+ " AND xcp2.ins_scenario_key = " + scenario + "), 0)"
: " , 0") + " hasscenario2"
+ (fulldetails && scenario == -1 ?
+ (fulldetails && scenario == 1 ?
" , (SELECT LISTAGG(isc.ins_scenario_omschrijving, ', ') WITHIN GROUP (ORDER BY isc.ins_scenario_omschrijving)"
+ " FROM ins_srtcontroledl_xcp xcp"
+ " , 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_deel_key = el.ins_deel_key)"
: " , 'dummy'") + " scenario_oms"
+ (fulldetails && scenario == -1 ?
+ (fulldetails && scenario == 1 ?
" , (SELECT COUNT(isc.ins_scenario_omschrijving)"
+ " FROM ins_srtcontroledl_xcp xcp"
+ " , ins_scenario isc"
@@ -409,7 +458,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
: " , -1") + " scenario_aantal"
+ " FROM ins_v_defined_inspect_xcp el"
+ " 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"
// 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"
@@ -441,7 +490,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
? " AND el.ins_srtdeel_key = " + srtdeel_key
: "")
+ (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
? " AND el.ctr_discipline_key = " + categorie_key
@@ -457,6 +506,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " (SELECT dsc.ins_srtcontrole_key"
+ " , dsc.ins_deel_key"
+ " , dsc.ins_scenario_key"
+ " , dsc.ins_deelsrtcontrole_freezedate"
+ " , dsc.ins_deelsrtcontrole_status"
+ " , MAX((SELECT dsc1.ins_deelsrtcontrole_plandatum"
+ " FROM ins_deelsrtcontrole dsc1"
+ " 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"
+ " , MAX(dsc.ins_deelsrtcontrole_datum) laatste"
+ " 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"
+ " , 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"
+ " 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 costarray = [];
@@ -514,6 +572,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , comp.hasscenario2"
+ " , comp.scenario_oms"
+ " , 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).
+ " , ins_srtcontroledl_xcp_key"
+ " , ins_srtcontrole_key"
@@ -538,7 +598,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , ins_scenario_key"
+ " , hasscenario2"
+ " , scenario_oms"
+ " , scenario_aantal)"
+ " , scenario_aantal"
+ " , ins_deelsrtcontrole_freezedate"
+ " , ins_deelsrtcontrole_status)"
+ " AS (SELECT ins_deel_key"
+ " , ins_srtcontroledl_xcp_key"
+ " , ins_srtcontrole_key"
@@ -564,6 +626,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , hasscenario2"
+ " , scenario_oms"
+ " , scenario_aantal"
+ " , ins_deelsrtcontrole_freezedate"
+ " , ins_deelsrtcontrole_status"
+ " FROM (" + sql_componenten + ")"
+ " WHERE vervangingsjaar IS NOT NULL"
+ " UNION ALL" // latere jaren
@@ -592,6 +656,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , hasscenario2"
+ " , scenario_oms"
+ " , scenario_aantal"
+ " , ins_deelsrtcontrole_freezedate"
+ " , ins_deelsrtcontrole_status"
+ " FROM comps m"
+ " WHERE (m.vervangingsjaar + m.ins_srtcontrole_periode <= " + toyear + "))"
+ " SELECT *"
@@ -661,6 +727,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , cy.hasscenario2"
+ " , cy.scenario_oms"
+ " , cy.scenario_aantal"
+ " , cy.ins_deelsrtcontrole_freezedate"
+ " , cy.ins_deelsrtcontrole_status"
+ " FROM (" + sql_yearcost + ") cy"
+ " , ins_v_aanwezigdeel dl"
+ " , ins_srtdeel isd"
@@ -682,7 +750,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " AND d.alg_district_key = l.alg_district_key";
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)
sql_cost_verval += " AND g.alg_gebouw_key = " + bld_key;
@@ -703,7 +771,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , cv.keyColumn"
+ " , cv.ins_srtcontroledl_xcp_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")
+ " , cv.ins_srtcontrole_periode"
+ " , cv.ins_srtcontrole_opmerking"
@@ -752,6 +820,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , cv.hasscenario2"
+ " , cv.scenario_oms"
+ " , cv.scenario_aantal"
+ " , cv.ins_deelsrtcontrole_freezedate"
+ " , cv.ins_deelsrtcontrole_status"
+ " FROM (" + sql_cost_verval + ") cv";
if (!fulldetails)
@@ -771,7 +841,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
? " , alg_gebouw_key"
: "")
+ " , keyColumn"
+ (keyColumn == 'dg.ins_deel_key'?" , ins_deel_opmerking":"")
+ (keyColumn == "dl.ins_deel_key"
? " , ins_deel_opmerking"
: "")
+ " , vervangingsjaar"
+ " , SUM(bedrag) bedrag"
+ " , SUM(orgbedrag) orgbedrag"
@@ -783,7 +855,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
? " , alg_gebouw_key"
: "" )
+ " , keyColumn"
+ (keyColumn == 'dg.ins_deel_key'?" , ins_deel_opmerking":"")
+ (keyColumn == "dl.ins_deel_key"
? " , ins_deel_opmerking"
: "")
+ " , vervangingsjaar"
+ " , hasscenario2"
+ " , ins_scenario_key";
@@ -795,7 +869,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ ") PIVOT (SUM(bedrag), SUM(orgbedrag) AS orgbedrag "
+ " FOR vervangingsjaar IN (" + jaren.join(",") + ") )";
if (scenario > 0)
if (scenario > 1)
{
if (!actsit)
sql += " WHERE ins_scenario_key IN (" + scenario + ") AND hasscenario2 = 1";
@@ -804,18 +878,34 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
}
else
{
if (!actsit)
sql += " WHERE 1 = 0";
else
sql += " WHERE ins_scenario_key = 1";
// actsit hier geen invloed.
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";
for (var i = 2; i <= groupby; i++)
{
sql += "," + String(i)
}
// Functions of ResultsetTable.
function fnkeyFunction(oRs)
{
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.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 > 1? oRs("ins_scenario_key").Value : -1;
data.insScenKey = oRs("ins_scenario_key").Value;
}
return JSON.stringify(data);
@@ -844,9 +934,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
{
if (!fulldetails)
return "";
var scen_key = oRs("ins_scenario_key").Value > 1? oRs("ins_scenario_key").Value : -1;
var lclass = scen_key < 0 && oRs("ins_srtcontroledl_xcp_key").Value != null? "mjbxcp" : "mjbstd";
if (scen_key > 0)
var scen_key = oRs("ins_scenario_key").Value;
var lclass = scen_key == 1 && oRs("ins_srtcontroledl_xcp_key").Value != null? "mjbxcp" : "mjbstd";
if (scen_key > 1)
lclass += " scenerized1";
if (oRs("isPlanned").Value == 1)
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,
{ 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 > 1? oRs("ins_scenario_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};
var data = {ePlan: ePlan, eStart: eStart, eClose: eClose, eFinish: eFinish, eFreeze: eFreeze};
return data;
}
@@ -920,7 +1011,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
var fncall = "exception({0}, {1}, '{2}')"
.format(oRs("ins_deel_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));
return "<span class='details' onclick='{0}'>{1}</span>"
.format(safe.htmlattr(fncall),
@@ -929,6 +1020,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
else
return safe.html(oRs("ins_srtcontrole_omschrijving").Value);
}
function fnfnBedrag(jaar) // altijd afronden
{
return function (oRs)
@@ -1000,10 +1092,10 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
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.
// 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 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";
return "mjbjaar mjbafbouw" + freezeclass;
else if (vervaljaar != null && jaar > vervaljaar)
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*/}));
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: 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)
rst.addColumn(new Column({caption: L("lcl_building"), content: fnGebouw }));
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 } );
if (scenario == -1)
if (scenario == 1)
{
// 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.
@@ -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: "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 });
}
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 });
}
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 scen_oms = oRs("ins_scenario_omschrijving").Value;
@@ -1155,6 +1252,9 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
</script>
<div id="legenda" style="display:none; line-height: 30px;">
<table id="inslegenda">
<tr class="mjbfreezed">
<td title="<%= L("lcl_mjb_started") %>"><%= L("lcl_ins_controle_gestart") %></td>
</tr>
<tr class="mjbplanned">
<td title="<%= L("lcl_mjb_moved") %>"><%= L("lcl_mjb_moved") %></td>
</tr>

View 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>

View File

@@ -99,14 +99,14 @@ if (srtcontrole_key < 0)
+ " AND isc.ins_srtinstallatie_key = id.ins_discipline_key)"
+ " AND id.ins_deel_key = " + ins_key
+ (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"
+ " FROM ins_deelsrtcontrole idsc1"
+ " WHERE idsc1.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
+ " FROM ins_deelsrtcontrole idsc2"
+ " WHERE idsc2.ins_deel_key = id.ins_deel_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";
@@ -206,7 +206,7 @@ if (srtcontrole_key < 0 || defaultmode_key > 0)
+ " , xcp.ins_srtcontroledl_xcp_eind"
+ " FROM ins_srtcontroledl_xcp xcp"
+ " WHERE xcp.ins_deel_key = " + ins_key
+ " AND xcp.ins_scenario_key IS NULL"
+ " AND xcp.ins_scenario_key = 1"
+ " ) xcp"
+ " ON i.ins_deel_key = xcp.ins_deel_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"
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_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.
+ " AND i.ctr_discipline_key IN (SELECT g.ins_discipline_key"
+ " 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_alg_level_write < 9"
+ " 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)
{
@@ -304,7 +304,7 @@ else
+ " 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 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
? " 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 IN (" + ins_key + ")"
+ " AND isc.ins_srtcontrole_key = " + srtcontrole_key
+ " AND idsc.ins_scenario_key IS NULL"
+ " AND xcp.ins_scenario_key(+) IS NULL"
+ " AND idsc.ins_scenario_key = 1"
+ " AND xcp.ins_scenario_key(+) = 1"
+ " AND COALESCE(isc.ins_srtcontrole_periode, xcp.ins_srtcontroledl_xcp_periode) > 0";
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
@@ -526,7 +526,7 @@ else
+ " FROM ins_deelsrtcontrole idsc"
+ " WHERE idsc.ins_deel_key = " + ins_key
+ " 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";
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
@@ -540,7 +540,7 @@ else
+ " FROM ins_deelsrtcontrole idsc"
+ " WHERE idsc.ins_deel_key = " + ins_key
+ " AND idsc.ins_deelsrtcontrole_status != 6"
+ " AND idsc.ins_scenario_key IS NULL";
+ " AND idsc.ins_scenario_key = 1";
var oRs = Oracle.Execute(sql);
if (!oRs.eof && oRs("ins_deelsrtcontrole_plandatum").Value != null)

View File

@@ -4464,7 +4464,7 @@ td.kpidetails {
border-left:1px solid #aaa;
vertical-align: middle;
}
.mjbjaar {
.mjbjaar, .mjbgeraamd {
border-left:1px solid #eee;
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 */
}
.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: -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 */
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, 130, 0, 1), rgba(224, 130, 0, 0.4) 80%); /* For Firefox 3.6 to 15 */
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 {
opacity: 0.9;
}
@@ -4502,6 +4507,12 @@ span.draggable .mjborgbedrag {
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 */
.jq-icon-info { background-color: #31708f; color: #d9edf7; border-color: #bce8f1; }
.jq-icon-warning { background-color: #8a6d3b; color: #fcf8e3; border-color: #faebcc; }

View File

@@ -26,6 +26,7 @@ var sql = "SELECT cd.ins_discipline_key"
+ " , cd.ins_discipline_omschrijving"
+ " , cdp.ctr_disc_params_controle_type"
+ " , cdp.ctr_disc_params_ismjob"
+ " , mld_stdmelding_key"
+ " FROM ctr_discipline cd"
+ " , ctr_disc_params cdp"
+ " 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 controle_type = oRs("ctr_disc_params_controle_type").Value;
var ismjob = oRs("ctr_disc_params_ismjob").Value == 1;
var mld_stdmelding_key = oRs("mld_stdmelding_key").Value;
var result = { disc_key: ctr_disc,
disc_omschr: disc_omschr,
controle_type: controle_type,
ismjob: ismjob };
ismjob: ismjob,
stdmelding_key: mld_stdmelding_key };
Response.Write(JSON.stringify(result));
%>