FSN#36056: Filtermogelijkheid op afwijkende periodieke acties.

svn path=/Website/trunk/; revision=29028
This commit is contained in:
Maykel Geerdink
2016-04-19 12:57:28 +00:00
parent b8300c51cd
commit 356175c66a
2 changed files with 57 additions and 50 deletions

View File

@@ -410,7 +410,7 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
if (CMSuccess != null && CMSuccess == 1)
var dttxt = '<img id="cms' + oRs("ins_deel_key").Value + '"'
+ ' src="../Pictures/res_ok.gif" class="ilbutton"'
+ ' src="../Pictures/success.png" class="ilbutton"'
+ ' style="cursor:pointer"'
+ '>';
else

View File

@@ -115,6 +115,7 @@ function ins_list (pautfunction, params)
var persoon_key = params.persoon_key;
var beh_key = params.beh_key;
var cpersoon_key = params.cpersoon_key;
var cnt_bedrijf_key = params.cnt_bedrijf_key;
var mld_key = params.mld_key;
var fgraph = params.fgraph;
var ins_key_arr = params.ins_key_arr;
@@ -135,6 +136,11 @@ function ins_list (pautfunction, params)
var inspsoonto = params.inspsoonto;
var donedatefrom = params.donedatefrom;
var donedateto = params.donedateto;
var inspect = params.inspect;
var inspClosed = params.inspClosed;
var inspDone = params.inspDone;
var inspBusy = params.inspBusy;
var inspSoon = params.inspSoon;
var sql_objincl = "";
if (insObjIncl || parent_key > 0)
@@ -496,7 +502,7 @@ function ins_list (pautfunction, params)
sqlLentOutFrom = " NULL";
// Geeft NULL als geen inspectie nodig
// Eerstvolgende inspectie moet komen/had moeten komen: COALESCE (ins_deelsrtcontrole_datum, ins_deel_aanmaak) + ins_srtcontrole_periode
if (params.inspect)
if (inspect)
{
var lastinspect = "(SELECT GREATEST(COALESCE (idsc.ins_deelsrtcontrole_plandatum"
+ " , CASE di.ins_srtcontrole_mode"
@@ -520,7 +526,7 @@ function ins_list (pautfunction, params)
// Eerstvolgende inspectie
var sqlNext = "SELECT ins_deel_key"
+ (params.inspDone
+ (inspDone
? " , inspectie_date"
: " , inspectie_next")
+ " , nonext"
@@ -551,7 +557,7 @@ function ins_list (pautfunction, params)
+ " OR isc.ins_srtcontrole_niveau = 'D'"
+ " AND isc.ins_srtinstallatie_key ="
+ " id.ins_discipline_key))"
+ (params.inspDone
+ (inspDone
? " SELECT 1 rn" // Afgehandelde inspecties.
+ " , di.ins_deel_key"
+ " , (SELECT MAX (idsc.ins_deelsrtcontrole_datum)"
@@ -608,7 +614,7 @@ function ins_list (pautfunction, params)
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc2.ins_deelsrtcontrole_status = 6))" + (insSuccessY? " = 1" : " IS NULL"))
+ " ORDER BY inspectie_date)"
: (params.inspSoon || (!params.inspSoon && !params.inspBusy && !params.inspClosed)
: (inspSoon || (!inspSoon && !inspBusy && !inspClosed)
? " SELECT 1 rn" // inspecties die nog nooit zijn uitgevoerd/ingepland. Er is nog geen ins_deelsrtcontrole regel aanwezig en dus ook geen plandatum/respijtdatum.
+ " , di.ins_deel_key"
+ " , fac.nextcyclusdate(di.ins_deel_aanmaak"
@@ -685,15 +691,15 @@ function ins_list (pautfunction, params)
+ " ORDER BY inspectie_next)")
+ " WHERE rn = 1"
// Voor afgehandelde inspecties ook inspecties met periode 0 tonen.
+ (!params.inspDone
+ (!inspDone
? " AND periode > 0"
: "")
// Alleen bij "Afgehandeld" vervallen inspecties tonen.
+ (params.inspBusy || params.inspClosed || params.inspSoon
+ (inspBusy || inspClosed || inspSoon
? " AND (inspectie_eind IS NULL OR inspectie_eind > SYSDATE)"
: "");
sqlInspectie_select = (params.inspDone? "inspectie_date" : "inspectie_next")
sqlInspectie_select = (inspDone? "inspectie_date" : "inspectie_next")
+ " , ispn.nonext, ispn.ins_srtcontrole_omschrijving, ispn.ins_srtcontrole_key, ispn.inspectie_eenheid, ispn.inspectie_eind, ispn.groepoms"
+ " , ispn.ins_srtcontrole_type"
+ " , ispn.ins_deelsrtcontrole_status"
@@ -1030,7 +1036,7 @@ function ins_list (pautfunction, params)
+ " FROM ins_srtcontroledl_xcp"
+ " WHERE ins_srtcontroledl_xcp_key = " + groep + "))";
if (params.inspect && controletype > -1)
if (inspect && controletype > -1)
sql_ex += " AND ispn.ins_srtcontrole_type = " + controletype;
// Nu filtercondities voor flexkenmerken toevoegen
@@ -1114,7 +1120,7 @@ function ins_list (pautfunction, params)
: "")
+ sqlPosition;
if (params.inspect)
if (inspect)
{
sql += " AND (ins_deel_vervaldatum IS NULL OR ins_deel_vervaldatum > SYSDATE)";
// drie vinkjes 111 is 'te laat', 'binnenkort', 'nog niet'
@@ -1191,15 +1197,15 @@ function ins_list (pautfunction, params)
dtdonedatefrom = new Date(donedatefrom.midnight().getTime());
}
var sqlBC = (params.inspClosed || params.inspBusy
var sqlBC = (inspClosed || inspBusy
? "x.ins_deelsrtcontrole_status IN ("
+ (params.inspBusy? "2" : "")
+ (params.inspClosed && params.inspBusy? ", " : "")
+ (params.inspClosed? "5" : "")
+ (inspBusy? "2" : "")
+ (inspClosed && inspBusy? ", " : "")
+ (inspClosed? "5" : "")
+ ")"
: "");
if (params.inspDone)
if (inspDone)
{
if (dtdonedatefrom != null && dtdonedateto != null)
sql = "SELECT * FROM (" + sql + ") x WHERE inspectie_date BETWEEN " + dtdonedatefrom.toSQL(true) + " AND " + dtdonedateto.toSQL(true);
@@ -1210,7 +1216,7 @@ function ins_list (pautfunction, params)
else if (dtdonedatefrom == null && dtdonedateto == null)
sql = "SELECT * FROM (" + sql + ") x WHERE inspectie_date < SYSDATE";
}
else if (params.inspSoon) // Binnenkort is aangevinkt.
else if (inspSoon) // Binnenkort is aangevinkt.
{
if (dtsoonfrom != null && dtsoonto != null) // Binnenkort.
sql = "SELECT * FROM (" + sql + ") x WHERE inspectie_next BETWEEN " + dtsoonfrom.toSQL(true) + " AND " + dtsoonto.toSQL(true) + (sqlBC != ''? " OR " + sqlBC : "");
@@ -1221,12 +1227,12 @@ function ins_list (pautfunction, params)
else if (dtsoonfrom == null && dtsoonto == null)
sql = "SELECT * FROM (" + sql + ") x WHERE 1 = 1"; // Alles tonen onafhankelijk van sqlBC.
}
else if (params.inspBusy || params.inspClosed) // Onderhanden (params.inspBusy), vervolgactie vereist (params.inspClosed).
else if (inspBusy || inspClosed) // Onderhanden (inspBusy), vervolgactie vereist (inspClosed).
sql = "SELECT * FROM (" + sql + ") x WHERE " + sqlBC;
else // Geen checkbox aangevinkt.
sql = "SELECT * FROM (" + sql + ") x WHERE 1 = 1"; // Alles tonen.
if (params.cnt_bedrijf_key > 0) // alleen bedrijven met een (onderhouds)contract op deze soorten
if (cnt_bedrijf_key > 0) // alleen bedrijven met een (onderhouds)contract op deze soorten
{
// Scope srtcontract_type = 3 (Ondersteuning/Support): Onderhoud op objectsoorten en/of plaats.
// Scope op de plaats is een verfijning van de scope op de gehele objectsoort.
@@ -1235,14 +1241,14 @@ function ins_list (pautfunction, params)
+ " FROM cnt_contract_object co"
+ " , cnt_contract c"
+ " WHERE co.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key = " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key = " + cnt_bedrijf_key
+ " AND c.cnt_contract_status IN (0, 1)" // Alleen actieve en gesloten contracten
+ " AND cnt_contract_object_verwijder IS NULL) = 0" // Er zijn geen objectsoorten gedefinieerd
+ " OR"
+ " x.ins_srtdeel_key IN (SELECT cnt_ins_srtdeel_key"
+ " FROM cnt_contract_object co"
+ " , cnt_contract c"
+ " WHERE c.cnt_prs_bedrijf_key = " + params.cnt_bedrijf_key
+ " WHERE c.cnt_prs_bedrijf_key = " + cnt_bedrijf_key
+ " AND co.cnt_contract_key = c.cnt_contract_key"
+ " AND co.cnt_contract_object_verwijder IS NULL"
+ " AND co.cnt_ins_deel_key IS NULL"
@@ -1254,7 +1260,7 @@ function ins_list (pautfunction, params)
+ " FROM cnt_contract_plaats cp"
+ " , cnt_contract c"
+ " WHERE cp.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key = " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key = " + cnt_bedrijf_key
+ " AND c.cnt_contract_status IN (0, 1)"
+ " AND cnt_contract_plaats_verwijder IS NULL) = 0" // Er zijn geen plaatsen gedefinieerd
+ " OR"
@@ -1269,7 +1275,7 @@ function ins_list (pautfunction, params)
+ " , cnt_contract c"
+ " WHERE g.alg_locatie_key = cp.cnt_alg_plaats_key"
+ " AND cp.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key = " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key = " + cnt_bedrijf_key
+ " AND cnt_contract_plaats_verwijder IS NULL"
+ " AND cp.cnt_alg_plaats_code = 'L'"
+ " AND c.cnt_contract_status IN (0, 1)"
@@ -1278,7 +1284,7 @@ function ins_list (pautfunction, params)
+ " FROM cnt_contract_plaats cp"
+ " , cnt_contract c"
+ " WHERE cp.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key = " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key = " + cnt_bedrijf_key
+ " AND cnt_contract_plaats_verwijder IS NULL"
+ " AND cp.cnt_alg_plaats_code = 'G'"
+ " AND c.cnt_contract_status IN (0, 1)"
@@ -1297,7 +1303,7 @@ function ins_list (pautfunction, params)
+ " , cnt_contract c"
+ " WHERE g.alg_locatie_key = cp.cnt_alg_plaats_key"
+ " AND cp.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key = " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key = " + cnt_bedrijf_key
+ " AND cnt_contract_plaats_verwijder IS NULL"
+ " AND cp.cnt_alg_plaats_code = 'L'"
+ " AND c.cnt_contract_status IN (0, 1)"
@@ -1306,7 +1312,7 @@ function ins_list (pautfunction, params)
+ " FROM cnt_contract_plaats cp"
+ " , cnt_contract c"
+ " WHERE cp.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key = " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key = " + cnt_bedrijf_key
+ " AND cnt_contract_plaats_verwijder IS NULL"
+ " AND cp.cnt_alg_plaats_code = 'G'"
+ " AND c.cnt_contract_status IN (0, 1)"
@@ -1320,7 +1326,7 @@ function ins_list (pautfunction, params)
+ " WHERE co.cnt_contract_key = c.cnt_contract_key"
+ " AND co.cnt_ins_deel_key IS NOT NULL"
+ " AND co.cnt_contract_object_verwijder IS NULL"
+ " AND c.cnt_prs_bedrijf_key != " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key != " + cnt_bedrijf_key
+ " AND c.cnt_contract_status IN (0, 1)"
+ " AND c.cnt_contract_looptijd_van <= SYSDATE" // Alleen actuele contracten
+ " AND SYSDATE <= c.cnt_contract_looptijd_tot)"
@@ -1338,7 +1344,7 @@ function ins_list (pautfunction, params)
+ " , cnt_contract_object co"
+ " WHERE g.alg_locatie_key = cp.cnt_alg_plaats_key"
+ " AND cp.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key != " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key != " + cnt_bedrijf_key
+ " AND c.cnt_contract_looptijd_van <= SYSDATE" // Alleen actuele contracten
+ " AND SYSDATE <= c.cnt_contract_looptijd_tot"
+ " AND cnt_contract_plaats_verwijder IS NULL"
@@ -1352,7 +1358,7 @@ function ins_list (pautfunction, params)
+ " , cnt_contract c"
+ " , cnt_contract_object co"
+ " WHERE cp.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key != " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key != " + cnt_bedrijf_key
+ " AND c.cnt_contract_looptijd_van <= SYSDATE" // Alleen actuele contracten
+ " AND SYSDATE <= c.cnt_contract_looptijd_tot"
+ " AND cnt_contract_plaats_verwijder IS NULL"
@@ -1375,7 +1381,7 @@ function ins_list (pautfunction, params)
+ " , cnt_contract_object co"
+ " WHERE g.alg_locatie_key = cp.cnt_alg_plaats_key"
+ " AND cp.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key != " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key != " + cnt_bedrijf_key
+ " AND c.cnt_contract_looptijd_van <= SYSDATE" // Alleen actuele contracten
+ " AND SYSDATE <= c.cnt_contract_looptijd_tot"
+ " AND cnt_contract_plaats_verwijder IS NULL"
@@ -1389,7 +1395,7 @@ function ins_list (pautfunction, params)
+ " , cnt_contract c"
+ " , cnt_contract_object co"
+ " WHERE cp.cnt_contract_key = c.cnt_contract_key"
+ " AND c.cnt_prs_bedrijf_key != " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key != " + cnt_bedrijf_key
+ " AND c.cnt_contract_looptijd_van <= SYSDATE" // Alleen actuele contracten
+ " AND SYSDATE <= c.cnt_contract_looptijd_tot"
+ " AND cnt_contract_plaats_verwijder IS NULL"
@@ -1408,7 +1414,7 @@ function ins_list (pautfunction, params)
+ " WHERE co.cnt_contract_key = c.cnt_contract_key"
+ " AND co.cnt_ins_deel_key IS NOT NULL"
+ " AND co.cnt_contract_object_verwijder IS NULL"
+ " AND c.cnt_prs_bedrijf_key = " + params.cnt_bedrijf_key
+ " AND c.cnt_prs_bedrijf_key = " + cnt_bedrijf_key
+ " AND c.cnt_contract_status IN (0, 1)"
+ " )"
+ " )";
@@ -1439,11 +1445,11 @@ function ins_list (pautfunction, params)
var insKey = oRs("ins_deel_key").Value;
var insTypeKey = oRs("ins_srtdeel_key").Value;
var insAvailable = oRs("ins_alg_ruimte_key_org").Value == null? 1 : 0;
var insSrtControleKey = params.inspect? oRs("ins_srtcontrole_key").Value : -2;
var insSrtControleKey = inspect? oRs("ins_srtcontrole_key").Value : -2;
// Als de status Verwerkt(6) is dan kan/moet er weer een nieuw inspectie gestart worden. Dan geen ins_deelsrtcontrole_key meegegeven (-2).
var istatus = params.inspect? oRs("ins_deelsrtcontrole_status").Value : -1;
var insDeelSrtContrKey = params.inspect && oRs("ins_deelsrtcontrole_key").Value != null && istatus != 6? oRs("ins_deelsrtcontrole_key").Value : -2;
var istatus = inspect? oRs("ins_deelsrtcontrole_status").Value : -1;
var insDeelSrtContrKey = inspect && oRs("ins_deelsrtcontrole_key").Value != null && istatus != 6? oRs("ins_deelsrtcontrole_key").Value : -2;
var data = {insKey: insKey, insTypeKey: insTypeKey, insAvailable: insAvailable, insSrtControleKey: insSrtControleKey,
insDeelSrtContrKey: insDeelSrtContrKey};
@@ -1469,7 +1475,7 @@ function ins_list (pautfunction, params)
var eStart = false;
var eClose = false;
var eFinish = false;
if (params.inspect && !params.inspDone)
if (inspect && !inspDone)
{
// Als object is vervallen dan kun je niet meer inspecteren en uitstellen.
var vervallen = (oRs("inspectie_eind").Value != null && new Date(oRs("inspectie_eind").Value).getTime() < new Date().midnight());
@@ -1500,7 +1506,7 @@ function ins_list (pautfunction, params)
if (istatus == 5)
lclass = "unsolved";
if (params.inspDone) return lclass;
if (inspDone) return lclass;
var dt = new Date(oRs("inspectie_next").Value);
dt.setHours(0,0,0,0); // trunc datum
var dtsoon = new Date;
@@ -1647,7 +1653,7 @@ function ins_list (pautfunction, params)
return txt;
}
var inspectie = (params.inspDone? oRs("inspectie_date").Value : oRs("inspectie_next").Value);
var inspectie = (inspDone? oRs("inspectie_date").Value : oRs("inspectie_next").Value);
var inspectie_eenheid = oRs("inspectie_eenheid").Value;
if (inspectie_eenheid == 0)
@@ -1680,7 +1686,7 @@ function ins_list (pautfunction, params)
if (CMSuccess != null && CMSuccess == 1)
var dttxt = '<img id="cms' + oRs("ins_deel_key").Value + '"'
+ ' src="../Pictures/res_ok.gif" class="ilbutton"'
+ ' src="../Pictures/success.png" class="ilbutton"'
+ ' style="cursor:pointer"'
+ '>';
else
@@ -1748,7 +1754,7 @@ function ins_list (pautfunction, params)
if (isbinnen) // ja, deze overschrijft het array
buttons = [{ icon: "plus.png", title: L("lcl_add"), action: "insCheckOutNewItem(" + (cpersoon_key > 0? cpersoon_key + ", 'C'" : persoon_key + ", 'P'") + ")" }]
}
if (params.inspect) {
if (inspect) {
buttons.push({ icon: "legenda.png", title: L("lcl_mld_legenda"), action: "openLegenda()" });
}
/***************************************************
@@ -1761,14 +1767,14 @@ function ins_list (pautfunction, params)
ID: "instable",
rowData: fnrowData,
rowActionEnabler: fnrowActionEnabler,
rowClass: params.inspect? fnrowClass : null,
rowClass: inspect? fnrowClass : null,
flexModule: "INS",
flexId: "ins_deel_key",
flexGroupId: "ins_srtdeel_key",
multiple: true,
filterParams: params,
outputmode: outputmode,
title: (parent_key? L("lcl_subobjects") : (koppel_key? L("lcl_ins_koppelobjects") : (params.inspect? L("lcl_ins_planned_activities"): L("lcl_ins_objects")))),
title: (parent_key? L("lcl_subobjects") : (koppel_key? L("lcl_ins_koppelobjects") : (inspect? L("lcl_ins_planned_activities"): L("lcl_ins_objects")))),
showAll: showall,
buttons: buttons
});
@@ -1791,19 +1797,20 @@ function ins_list (pautfunction, params)
}
else // gewoon
{
if (params.inspect && controletype == -1)
if (inspect && controletype == -1)
rst.addColumn(new Column({caption: L("lcl_ins_srtcontrole_type"), content: fnSrtControleType}));
rst.addColumn(new Column({caption: L("lcl_obj_identification"), content: "ins_deel_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_ins_opmerking"), content: "ins_deel_opmerking", combine: params.inspect}));
rst.addColumn(new Column({caption: L("lcl_ins_opmerking"), content: "ins_deel_opmerking", combine: inspect}));
}
if (koppel_key)
rst.addColumn(new Column({caption: L("lcl_obj_koppeloms"), content: "ins_deelkoppeling_omschrijving"}));
if (params.inspect)
if (inspect)
{
rst.addColumn(new Column({caption: (params.inspDone? L("lcl_ins_controle_datum") : L("lcl_ins_controle_next")), content: fnInspectie}));
rst.addColumn(new Column({caption: (inspDone? L("lcl_ins_controle_datum") : L("lcl_ins_controle_next")), content: fnInspectie}));
rst.addColumn(new Column({caption: L("lcl_ins_controle_plandate"), content: fnPlandatum}));
rst.addColumn(new Column({caption: L("ins_controlemode_success"), content: fnCMSuccess}));
if (inspDone)
rst.addColumn(new Column({caption: L("ins_controlemode_success"), content: fnCMSuccess}));
rst.addColumn(new Column({caption: L("lcl_ins_controle_srt"), content: "ins_srtcontrole_omschrijving"}));
rst.addColumn(new Column({caption: L("lcl_ins_controle_groep"), content: "groepoms"}));
}
@@ -1814,12 +1821,12 @@ function ins_list (pautfunction, params)
rst.addColumn(new Column({caption: L("lcl_obj_owner"), content: "eigenaar", combine: true}));
}
rst.addColumn(new Column({caption: L("lcl_obj_sort"), content: "soort"}));
if (!parent_key && !koppel_key && !params.inspect) {
if (!parent_key && !koppel_key && !inspect) {
if (!fgraph && !embedded &&hasDrawings)
rst.addColumn(new Column({caption: L("lcl_fg_gotofgheader"), content: fnPosition, align:"center"}));
if (!embedded && ErisReserveerbaar && !params.inspect)
if (!embedded && ErisReserveerbaar && !inspect)
rst.addColumn(new Column({caption: L("lcl_obj_reserveerbaar"), content: fnReserveerbaar, align:"center"}));
if (!embedded && ErisUitleenbaar && !params.inspect)
if (!embedded && ErisUitleenbaar && !inspect)
rst.addColumn(new Column({caption: L("lcl_obj_uitleensrtdeel"), content: fnUitleenbaar, align:"center"}));
}
}
@@ -1839,7 +1846,7 @@ function ins_list (pautfunction, params)
if (backo)
{
rst.addAction({ action: "insEdit", caption: L("lcl_change"), isDefault: true}); // isDefault, dus nooit multi, alleen door aanklikken regel. Multi via afgehandeld via functie insMultiEdit()
if (params.inspect)
if (inspect)
{
rst.addAction({ action: "insEditInsp", caption: L("lcl_change"), enabler: "eEditInsp" });
rst.addAction({ action: "insPlan", caption: L("lcl_ins_schedule"), multi: !tiny, multiOnce: true, enabler: "ePlan" });