FSN#36298: Scenario’s: voortaan key=1 voor actueel

svn path=/Website/trunk/; revision=34751
This commit is contained in:
Jos Groot Lipman
2017-07-26 13:57:28 +00:00
parent e85cdcced1
commit 9d73edb806
12 changed files with 133 additions and 106 deletions

View File

@@ -41,12 +41,24 @@ function model_ctr_scenario()
"required": true,
"translate": true
},
"nrelements": {
"dbs": "nn_elements",
"sql": "(SELECT COUNT(*) FROM ins_srtcontroledl_xcp isx WHERE isx.ins_scenario_key = ins_scenario.ins_scenario_key)",
"label": L("ctr_scenario_aantal"),
"typ": "number"
},
"remark": {
"dbs": "ins_scenario_opmerking",
"label": L("ctr_scenario_opmerking"),
"typ": "varchar",
"translate": true
},
"created": {
"dbs": "ins_scenario_aanmaak",
"label": L("ctr_scenario_aanmaak"),
"typ": "date",
"readonly": true
},
"status": {
"dbs": "ins_scenario_status",
"label": L("ctr_scenario_status"),

View File

@@ -563,7 +563,7 @@ ins = {checkAutLevel:
+ " WHERE idsc.ins_deel_key = " + pins_deel_key
+ " AND idsc.ins_srtcontrole_key = " + params.srtcont_key
+ " AND idsc.ins_deelsrtcontrole_status IN (6)"
+ " AND idsc.ins_scenario_key IS NULL";
+ " AND idsc.ins_scenario_key = 1";
var oRs = Oracle.Execute(sql);
var hasInspect = !oRs.eof;
oRs.Close();
@@ -606,6 +606,11 @@ ins = {checkAutLevel:
+ " THEN 1"
+ " ELSE 0"
+ " END invoerAfterNext"
+ " , CASE"
+ " WHEN EXTRACT(YEAR FROM COALESCE(insp.plandatum, insp.inspectie_next)) <= " + S("mjb_start_year")
+ " THEN 1"
+ " ELSE 0"
+ " END isFreezeYear"
+ " FROM ("
// De view ins_v_defined_inspect_xcp levert de volgende regels op
// Alle Active Situatie (AS) soort controle's die geen uitzondering (XCP) record hebben maar wel een scenario.
@@ -613,7 +618,7 @@ ins = {checkAutLevel:
// Alle Active Situatie (AS) soort controle's die:
// a) geen uitzondering (XCP) record hebben en geen scenario.
// b) een uitzondering (XCP) record hebben.
// Hier niet van belang: Alle soort controles van de scenario's (AND xcp.ins_scenario_key IS NULL).
// Hier niet van belang: Alle soort controles van de scenario's (AND xcp.ins_scenario_key = 1).
+ " SELECT idsc.ins_deelsrtcontrole_key"
+ " , idsc.ins_deelsrtcontrole_datum"
+ " , idsc.ins_deelsrtcontrole_status"
@@ -647,9 +652,9 @@ ins = {checkAutLevel:
+ " AND idsc.ins_deel_key(+) = " + pins_deel_key
+ (params.scen_key && params.scen_key > 0
? " AND idsc.ins_scenario_key(+) = " + params.scen_key
: " AND idsc.ins_scenario_key(+) IS NULL")
: " AND idsc.ins_scenario_key(+) = 1")
// Neem voor de rechten de xcp van de Active Situatie (AS). Die bepaalt of de soort controle vervallen is.
+ " AND xcp.ins_scenario_key IS NULL"
+ " AND xcp.ins_scenario_key = 1"
+ (params.deelsrtcont_key > 0
? " AND idsc.ins_deelsrtcontrole_key = " + params.deelsrtcont_key
: " AND (idsc.ins_deelsrtcontrole_key IS NULL OR"
@@ -659,7 +664,7 @@ ins = {checkAutLevel:
+ " AND idsc2.ins_srtcontrole_key = " + params.srtcont_key
+ (params.scen_key && params.scen_key > 0
? " AND idsc2.ins_scenario_key = " + params.scen_key
: " AND idsc2.ins_scenario_key IS NULL")
: " AND idsc2.ins_scenario_key = 1")
+ " ))")
+ " ) insp"
+ " ORDER BY insp.ins_deelsrtcontrole_datum DESC";
@@ -673,6 +678,7 @@ ins = {checkAutLevel:
var isc_options = oRs("options").Value;
var vervallen = vervaldatum != null && vervaldatum < new Date();
var invoerAfterNext = oRs("invoerAfterNext").Value == 1;
var isFreezeYear = oRs("isFreezeYear").Value == 1;
oRs.Close();
iresult.invoerAfterNext = invoerAfterNext;
@@ -713,6 +719,10 @@ ins = {checkAutLevel:
actief && iresult.hasCTRWrite &&
((isc_options & 2) == 2) &&
!isScenario;
// Bevriezen gebeurt altijd voor het kalenderjaar S("mjb_start_year").
// De nextdate moet in dat jaar liggen. Dan is er voor het aankomende kalenderjaar ook een bedrag ingevuld.
// Mocht het bedrag 0 zijn, dan moet er een lcl aan de opmerking worden toegevoegd tijdens heb bevriezen, dat de taak door een hogere prio taak wordt uitgevoerd.
iresult.canInspFreeze = iresult.canInspStart && isFreezeYear;
// Bij eerste inspectie, geplande inspectie, gestarte inspectie of verwerkte inspectie kan er gereedgemeld/afgerond worden.
iresult.canInspClose = iresult.readuse && invoerAfterNext &&
((!vervallen && (ins_deelsrtcontrole_status < 5 || ins_deelsrtcontrole_status == 6)) ||
@@ -1047,7 +1057,7 @@ ins = {checkAutLevel:
+ " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc.ins_deelsrtcontrole_status IN (5, 6)"
+ " AND idsc.ins_deel_key = di.ins_deel_key"
+ " AND idsc.ins_scenario_key IS NULL)";
+ " AND idsc.ins_scenario_key = 1)";
// Eerstvolgende inspectie
var sqlNext = "SELECT ins_deel_key"
@@ -1081,7 +1091,7 @@ ins = {checkAutLevel:
+ " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc.ins_deelsrtcontrole_status IN (5, 6)"
+ " AND idsc.ins_deel_key = di.ins_deel_key"
+ " AND idsc.ins_scenario_key IS NULL) inspectie_date"
+ " AND idsc.ins_scenario_key = 1) inspectie_date"
+ " , di.ins_srtcontroledl_xcp_startdat"
+ " , NULL nonext"
+ " , di.ins_srtcontrole_eenheid inspectie_eenheid"
@@ -1097,7 +1107,7 @@ ins = {checkAutLevel:
+ " FROM ins_deelsrtcontrole idsc2"
+ " WHERE idsc2.ins_deel_key = di.ins_deel_key"
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc2.ins_scenario_key IS NULL))" // Afgehandelde inspecties.
+ " AND idsc2.ins_scenario_key = 1))" // Afgehandelde inspecties.
+ " ins_deelsrtcontrole_plandatum"
// Er moet naar de laatste UITGEVOERDE (afgeronde(6)) inspectie gekeken worden om te bepalen of de laatste inspectie een SUCCESS was.
+ " , di.ctr_controle_type"
@@ -1113,7 +1123,7 @@ ins = {checkAutLevel:
+ " WHERE idsc2.ins_deel_key = di.ins_deel_key"
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc2.ins_deelsrtcontrole_status IN (5, 6)"
+ " AND idsc2.ins_scenario_key IS NULL))"
+ " AND idsc2.ins_scenario_key = 1))"
+ " ins_controlemode_success"
+ " , di.ctr_discipline_key ctr_disc_key"
+ " , (SELECT ins_discipline_omschrijving"
@@ -1122,7 +1132,7 @@ ins = {checkAutLevel:
: "")
+ " FROM ins_v_defined_inspect_xcp di"
+ " WHERE EXISTS (" + lastinspect + ")"
+ " AND di.ins_scenario_key IS NULL"
+ " AND di.ins_scenario_key = 1"
+ (srtcontrole > -1
? " AND di.ins_srtcontrole_key = " + srtcontrole
: "")
@@ -1137,7 +1147,7 @@ ins = {checkAutLevel:
+ " WHERE idsc2.ins_deel_key = di.ins_deel_key"
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc2.ins_deelsrtcontrole_status IN (5, 6)"
+ " AND idsc2.ins_scenario_key IS NULL))" + (insSuccessY? " = 1" : " IS NULL"))
+ " AND idsc2.ins_scenario_key = 1))" + (insSuccessY? " = 1" : " IS NULL"))
+ " AND di.ctr_discipline_key IN (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " , fac_functie f"
@@ -1180,7 +1190,7 @@ ins = {checkAutLevel:
+ " WHERE (di.ins_deel_key, di.ins_srtcontrole_key) NOT IN"
+ " (SELECT ins_deel_key, ins_srtcontrole_key"
+ " FROM ins_deelsrtcontrole)"
+ " AND di.ins_scenario_key IS NULL"
+ " AND di.ins_scenario_key = 1"
+ (srtcontrole > -1
? " AND di.ins_srtcontrole_key = " + srtcontrole
: "")
@@ -1252,8 +1262,8 @@ ins = {checkAutLevel:
+ " WHERE idsc.ins_controlemode_key = cm.ins_controlemode_key(+)"
+ " AND idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc.ins_deel_key = di.ins_deel_key"
+ " AND idsc.ins_scenario_key IS NULL"
+ " AND di.ins_scenario_key IS NULL"
+ " AND idsc.ins_scenario_key = 1"
+ " AND di.ins_scenario_key = 1"
+ (srtcontrole > -1
? " AND di.ins_srtcontrole_key = " + srtcontrole
: "")
@@ -2341,7 +2351,7 @@ ins = {checkAutLevel:
var sql = "DELETE FROM ins_srtcontroledl_xcp"
+ " WHERE ins_deel_key = " + ins_key
+ " AND ins_srtcontrole_key = " + srtcontrole_key
+ " AND ins_scenario_key IS NULL";
+ " AND ins_scenario_key = 1";
var err = Oracle.Execute(sql, true);
shared.trackaction("INSUPD", ins_key, L("lcl_ins_controle_obj_upd").format(ctrdisc_oms, srtcontrole_oms) + "\n" + L("lcl_ins_control_del_exception"));

View File

@@ -187,12 +187,12 @@ if (ins_key_arr.length == 1)
+ " FROM ins_deelsrtcontrole idsc1"
+ " WHERE idsc1.ins_deel_key = xcp.ins_deel_key"
+ " AND idsc1.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
+ " AND idsc1.ins_scenario_key IS NULL) aantal"
+ " AND idsc1.ins_scenario_key = 1) aantal"
+ " FROM ins_v_defined_inspect_xcp xcp"
+ " , ins_deelsrtcontrole idsc"
+ " WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)" // Er kan nog voor de eerste keer geinspecteerd moeten worden.
+ " AND idsc.ins_scenario_key(+) IS NULL"
+ " AND xcp.ins_scenario_key IS NULL"
+ " AND xcp.ins_scenario_key = 1"
+ " AND xcp.ins_deel_key IN (" + ingesloten.join(",") + ")"
+ " AND idsc.ins_deel_key(+) IN (" + ingesloten.join(",") + ")"
+ " AND xcp.ins_srtcontrole_periode > 0"
@@ -252,7 +252,7 @@ if (ins_key_arr.length == 1)
+ " AND idsc.ins_deel_key IN (" + ingesloten[0] + ")"
+ " AND COALESCE(xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) > 0"
+ " AND idsc.ins_srtcontrole_key = " + ingeslotensc[0]
+ " AND idsc.ins_scenario_key IS NULL"
+ " AND idsc.ins_scenario_key = 1"
+ " AND xcp.ins_scenario_key(+) IS NULL";
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
@@ -284,7 +284,7 @@ if (ins_key_arr.length == 1)
+ " , MAX(ins_deelsrtcontrole_status) maxstatus"
+ " FROM ins_deelsrtcontrole"
+ " WHERE ins_deelsrtcontrole_key IN (" + ingeslotendsc.join(",") + ")"
+ " AND ins_scenario_key IS NULL";
+ " AND ins_scenario_key = 1";
var oRs = Oracle.Execute(sql);
if (oRs("minstatus").Value == oRs("maxstatus").Value)
{ // De statussen van alle inspecties zijn hetzelfde. Dan kan ik deze tonen.
@@ -601,7 +601,7 @@ if (ins_key_arr.length == 1)
+ " AND COALESCE(xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) > 0"
+ " AND idsc.ins_deel_key IN (" + ingesloten.join(",") + ")"
+ " AND idsc.ins_srtcontrole_key IN (" + ingeslotensc.join(",") + ")"
+ " AND idsc.ins_scenario_key IS NULL"
+ " AND idsc.ins_scenario_key = 1"
+ " AND xcp.ins_scenario_key(+) IS NULL"
+ " GROUP BY isc.ins_srtcontrole_mode";
var oRs = Oracle.Execute(sql);
@@ -733,7 +733,7 @@ if (ins_key_arr.length == 1)
+ " AND idsc.ins_deel_key IN (" + ingesloten[0] + ")"
+ " AND idsc.ins_srtcontrole_key IN (" + ingeslotensc[0] + ")"
+ " AND ins_deelsrtcontrole_key < " + ingeslotendsc[0]
+ " AND idsc.ins_scenario_key IS NULL"
+ " AND idsc.ins_scenario_key = 1"
+ " AND xcp.ins_scenario_key(+) IS NULL"
+ " GROUP BY isc.ins_srtcontrole_mode"
+ " , xcp.ins_srtcontroledl_xcp_eenheid"
@@ -774,7 +774,7 @@ if (ins_key_arr.length == 1)
+ " AND idsc.ins_deel_key IN (" + ingesloten[0] + ")"
+ " AND idsc.ins_srtcontrole_key IN (" + ingeslotensc[0] + ")"
+ " AND ins_deelsrtcontrole_key > " + ingeslotendsc[0]
+ " AND idsc.ins_scenario_key IS NULL"
+ " AND idsc.ins_scenario_key = 1"
+ " AND xcp.ins_scenario_key(+) IS NULL"
+ " GROUP BY isc.ins_srtcontrole_mode"
+ " , xcp.ins_srtcontroledl_xcp_eenheid"

View File

@@ -327,7 +327,7 @@ var authparams = user.checkAutorisation("WEB_INSUSE");
+ " WHERE xcp.ins_deel_key = " + ins_key
+ " AND xcp.ins_srtcontrole_periode <= 0" // Inactieve soort controles tonen.
+ " AND xcp.ins_srtcontroledl_xcp_periode IS NULL" // Soort controles die niet overruled zijn tonen.
+ " AND xcp.ins_scenario_key IS NULL"
+ " AND xcp.ins_scenario_key = 1"
+ " AND xcp.ctr_discipline_key IN (SELECT w.ins_discipline_key" // Alleen van de disciplines waar ik schrijf rechten op heb meetellen.
+ " FROM fac_v_webgebruiker w"
+ " , fac_functie f"

View File

@@ -25,7 +25,7 @@ insp = {
+ " WHERE idsc2.ins_deel_key = di.ins_deel_key"
+ " AND idsc2.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc2.ins_deelsrtcontrole_status IN (5, 6)"
+ " AND idsc2.ins_scenario_key IS NULL))";
+ " AND idsc2.ins_scenario_key = 1))";
var future_inspect = "" // mogelijke inspecties op dit object die nog gaan komen.
@@ -98,14 +98,14 @@ insp = {
+ " AND di.ins_deel_key = d.ins_deel_key"
+ " AND d.ins_srtdeel_key = s.ins_srtdeel_key"
+ " AND di.ins_srtcontrole_periode > 0" // Als de periode 0 is dan de inspecties die gaan komen niet meer tonen.
+ " AND di.ins_scenario_key IS NULL"
+ " AND di.ins_scenario_key = 1"
// Als er een voorlopige inspectie is aangemaakt maar nog niet is afgemeld of afgerond, dan hoeft er geen nieuwe inspectie te worden getoond.
+ " AND NOT EXISTS (SELECT idsc.ins_deelsrtcontrole_key"
+ " FROM ins_deelsrtcontrole idsc"
+ " WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key"
+ " AND idsc.ins_deelsrtcontrole_status NOT IN (6)"
+ " AND idsc.ins_deel_key = di.ins_deel_key"
+ " AND idsc.ins_scenario_key IS NULL)"
+ " AND idsc.ins_scenario_key = 1)"
+ " AND di.ctr_discipline_key IN (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " , fac_functie f"
@@ -196,8 +196,8 @@ insp = {
+ " AND idsc.ins_controlemode_key = cm.ins_controlemode_key(+)"
+ " AND di.ins_deel_key = " + ins_key
+ " AND di.ins_srtcontrole_periode > 0" // Als de periode 0 is dan de inspecties die gaan komen niet meer tonen.
+ " AND di.ins_scenario_key IS NULL"
+ " AND idsc.ins_scenario_key IS NULL"
+ " AND di.ins_scenario_key = 1"
+ " AND idsc.ins_scenario_key = 1"
+ " AND di.ctr_discipline_key IN (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " , fac_functie f"

View File

@@ -82,7 +82,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
+ " AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key"
+ (scen_key_arr.length > 0 && scen_key_arr[i] > 0
? " AND idsc2.ins_scenario_key = " + scen_key_arr[i]
: " AND idsc2.ins_scenario_key IS NULL")
: " AND idsc2.ins_scenario_key = 1")
+ " ) ins_deelsrtcontrole_datum"
+ " , xcp.ins_srtcontrole_eenheid eenheid"
+ " , xcp.ins_srtcontrole_mode"
@@ -211,7 +211,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
+ " AND idsc.ins_deel_key IN (" + ins_key_arr[i] + ")"
+ " AND idsc.ins_srtcontrole_key IN (" + srtcont_key_arr[i] + ")"
+ " AND ins_deelsrtcontrole_key < " + dlsrtcont_key
+ " AND idsc.ins_scenario_key IS NULL" // Status >= 0 dus kan geen scenario zijn.
+ " AND idsc.ins_scenario_key = 1" // Status >= 0 dus kan geen scenario zijn.
+ " AND xcp.ins_scenario_key(+) IS NULL" // Status >= 0 dus kan geen scenario zijn.
+ " GROUP BY isc.ins_srtcontrole_mode"
+ " , xcp.ins_srtcontroledl_xcp_eenheid"
@@ -252,7 +252,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
+ " AND idsc.ins_deel_key IN (" + ins_key_arr[i] + ")"
+ " AND idsc.ins_srtcontrole_key IN (" + srtcont_key_arr[i] + ")"
+ " AND ins_deelsrtcontrole_key > " + dlsrtcont_key
+ " AND idsc.ins_scenario_key IS NULL" // Status >= 0 dus kan geen scenario zijn.
+ " AND idsc.ins_scenario_key = 1" // Status >= 0 dus kan geen scenario zijn.
+ " AND xcp.ins_scenario_key(+) IS NULL" // Status >= 0 dus kan geen scenario zijn.
+ " GROUP BY isc.ins_srtcontrole_mode"
+ " , xcp.ins_srtcontroledl_xcp_eenheid"
@@ -347,7 +347,7 @@ if (savemode == "P")
+ " AND idsc.ins_deel_key = " + ingesloten[i].ins_key
+ (mjob && ingesloten[i].scen_key > 0
? " AND idsc.ins_scenario_key = " + ingesloten[i].scen_key
: " AND idsc.ins_scenario_key IS NULL")
: " AND idsc.ins_scenario_key = 1")
+ " AND idsc.ins_deelsrtcontrole_datum IS NOT NULL";
var oRs = Oracle.Execute(sql);
var nextdate = null;
@@ -426,7 +426,7 @@ else if (savemode == "C")
+ " FROM ins_srtcontroledl_xcp xcp"
+ " WHERE ins_deel_key = " + ingesloten[i].ins_key
+ " AND ins_srtcontrole_key = " + ingesloten[i].srtcont_key
+ " AND ins_scenario_key IS NULL"
+ " AND ins_scenario_key = 1"
+ " )"
+ " , (SELECT isc.ins_srtcontrole_eenheid"
+ " FROM ins_srtcontrole isc"
@@ -443,7 +443,7 @@ else if (savemode == "C")
+ " WHERE idsc.ins_srtcontrole_key = " + ingesloten[i].srtcont_key
+ " AND idsc.ins_deel_key = " + ingesloten[i].ins_key
+ " AND idsc.ins_deelsrtcontrole_datum IS NOT NULL"
+ " AND idsc.ins_scenario_key IS NULL"; // Afmelden inspectie.
+ " AND idsc.ins_scenario_key = 1"; // Afmelden inspectie.
oRs = Oracle.Execute(sql);
if (oRs.eof)
{ // Er zijn nog geen inspecties geweest voor dit object.
@@ -690,7 +690,7 @@ else if (savemode == "E")
+ " AND idsc.ins_deel_key = " + ingesloten[0].ins_key
+ (ingesloten[0].scen_key > 0
? " AND idsc.ins_scenario_key = " + ingesloten[0].scen_key
: " AND idsc.ins_scenario_key IS NULL")
: " AND idsc.ins_scenario_key = 1")
+ " AND idsc.ins_deelsrtcontrole_datum IS NOT NULL"; // Er is geinspecteerd.
var oRs = Oracle.Execute(sql);
var nextdate = null;
@@ -769,7 +769,7 @@ else if (savemode == "E")
+ " AND ins_deelsrtcontrole_status = 0"
+ (ingesloten[0].scen_key > 0
? " AND ins_scenario_key = " + ingesloten[0].scen_key
: " AND ins_scenario_key IS NULL");
: " AND ins_scenario_key = 1");
var err = Oracle.Execute(sql, true);
}
else

View File

@@ -127,7 +127,7 @@ if (srtcont_key > 0)
+ " AND xcp.ins_srtcontrole_key = isc.ins_srtcontrole_key"
+ (isScenario
? " AND xcp.ins_scenario_key = " + scen_key
: " AND xcp.ins_scenario_key IS NULL");
: " AND xcp.ins_scenario_key = 1");
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
@@ -653,7 +653,7 @@ if (srtcont_key > 0)
+ " WHERE sdc.ins_deel_key = xcp.ins_deel_key"
+ " AND sdc.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
+ " AND sdc.ins_deelsrtcontrole_status = 6"
+ " AND sdc.ins_scenario_key IS NULL) > 0"
+ " AND sdc.ins_scenario_key = 1) > 0"
+ " THEN 1"
+ " ELSE 0"
+ " END hascontroles"
@@ -684,7 +684,7 @@ if (srtcont_key > 0)
+ " AND w.prs_perslid_key = " + user_key + ")"
+ (isScenario
? " AND xcp.ins_scenario_key = " + scen_key
: " AND xcp.ins_scenario_key IS NULL")
: " AND xcp.ins_scenario_key = 1")
+ " GROUP BY xcp.ins_srtcontrole_key"
+ " , xcp.ins_srtcontrole_omschrijving"
+ " , xcp.ins_srtcontrole_mode"

View File

@@ -26,7 +26,10 @@ scaffolding(this_model,
"list": {
"columns": [
"id",
"name"
"name",
"created",
"name",
"nrelements"
]
},
"show": {

View File

@@ -152,7 +152,7 @@ for (var i = 0; i < ingesloten.length; i++)
? " AND ins_deel_key = " + ingesloten[i].ins_key
+ " AND ins_srtcontrole_key = " + ingesloten[i].srtcont_key
: "")
+ " AND ins_scenario_key IS NULL"
+ " AND ins_scenario_key = 1"
+ " AND ctr_ismjob = 1"
var err = Oracle.Execute(sql, true);
@@ -176,7 +176,7 @@ for (var i = 0; i < ingesloten.length; i++)
+ " FROM ins_deelsrtcontrole dsc"
+ " WHERE dsc.ins_deel_key = xcp.ins_deel_key"
+ " AND dsc.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
+ " AND dsc.ins_scenario_key IS NULL"
+ " AND dsc.ins_scenario_key = 1"
+ " AND dsc.ins_deelsrtcontrole_status < 5) plandatum"
+ " , 0"
+ " , " + user_key
@@ -187,7 +187,7 @@ for (var i = 0; i < ingesloten.length; i++)
? " AND xcp.ins_deel_key = " + ingesloten[i].ins_key
+ " AND xcp.ins_srtcontrole_key = " + ingesloten[i].srtcont_key
: "")
+ " AND xcp.ins_scenario_key IS NULL"
+ " AND xcp.ins_scenario_key = 1"
+ " AND xcp.ctr_ismjob = 1"
var err = Oracle.Execute(sql, true);

View File

@@ -150,7 +150,7 @@ for (var i = 0; i < ingesloten.length; i++)
+ " FROM ins_deelsrtcontrole idsc"
+ " WHERE idsc.ins_deel_key = " + ingesloten[i].ins_key
+ " AND idsc.ins_srtcontrole_key = " + ingesloten[i].srtcont_key
+ " AND idsc.ins_scenario_key IS NULL";
+ " AND idsc.ins_scenario_key = 1;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{

View File

@@ -224,7 +224,7 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
+ " FROM ins_srtcontrole isc"
+ " , ins_srtcontroledl_xcp xcp"
+ " WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
+ " AND xcp.ins_scenario_key IS NULL"
+ " AND xcp.ins_scenario_key = 1"
+ " AND COALESCE (xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep) IS NOT NULL"
+ " ORDER BY UPPER (COALESCE(xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep))";
FCLTselector("groep",
@@ -267,7 +267,7 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
+ " FROM ins_srtcontrole isc"
+ " , ins_srtcontroledl_xcp xcp"
+ " WHERE isc.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
+ " AND xcp.ins_scenario_key IS NULL"
+ " AND xcp.ins_scenario_key = 1"
+ " AND COALESCE (xcp.ins_srtcontroledl_xcp_periode, isc.ins_srtcontrole_periode) > 0"
+ " ORDER BY 1";
FCLTselector("frequentie", // Frequentie
@@ -309,6 +309,7 @@ var authparamsCTRUSE = user.checkAutorisation("WEB_CTRUSE");
+ " , ins_scenario_omschrijving"
+ " FROM ins_scenario"
+ " WHERE ins_scenario_verwerkt IS NULL"
+ " AND ins_scenario_key <> 1" // niet de actuele
+ " ORDER BY ins_scenario_omschrijving";
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)

View File

@@ -389,25 +389,27 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " 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
+ " AND xcp2.ins_scenario_key IS NOT NULL), 0)"
+ " AND xcp2.ins_scenario_key = " + scenario + "), 0)"
: " , 0") + " hasscenario2"
+ " , (SELECT LISTAGG(isc.ins_scenario_omschrijving, ', ') WITHIN GROUP (ORDER BY isc.ins_scenario_omschrijving)"
+ " FROM ins_srtcontroledl_xcp xcp"
+ " , ins_scenario isc"
+ " WHERE xcp.ins_scenario_key = isc.ins_scenario_key "
+ " AND xcp.ins_srtcontrole_key = el.ins_srtcontrole_key"
+ " AND xcp.ins_deel_key = el.ins_deel_key"
+ " AND xcp.ins_scenario_key IS NOT NULL) scenario_oms"
+ " , (SELECT COUNT(isc.ins_scenario_omschrijving)"
+ " FROM ins_srtcontroledl_xcp xcp"
+ " , ins_scenario isc"
+ " WHERE xcp.ins_scenario_key = isc.ins_scenario_key"
+ " AND xcp.ins_srtcontrole_key = el.ins_srtcontrole_key"
+ " AND xcp.ins_deel_key = el.ins_deel_key"
+ " AND xcp.ins_scenario_key IS NOT NULL) scenario_aantal"
+ (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"
+ " WHERE xcp.ins_scenario_key = isc.ins_scenario_key "
+ " AND xcp.ins_srtcontrole_key = el.ins_srtcontrole_key"
+ " AND xcp.ins_deel_key = el.ins_deel_key)"
: " , 'dummy'") + " scenario_oms"
+ (fulldetails && scenario == -1 ?
" , (SELECT COUNT(isc.ins_scenario_omschrijving)"
+ " FROM ins_srtcontroledl_xcp xcp"
+ " , ins_scenario isc"
+ " WHERE xcp.ins_scenario_key = isc.ins_scenario_key"
+ " AND xcp.ins_srtcontrole_key = el.ins_srtcontrole_key"
+ " AND xcp.ins_deel_key = el.ins_deel_key)"
: " , -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))
+ " 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"
@@ -459,8 +461,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " FROM ins_deelsrtcontrole dsc1"
+ " WHERE dsc1.ins_deel_key = dsc.ins_deel_key"
+ " AND dsc1.ins_srtcontrole_key = dsc.ins_srtcontrole_key"
+ " AND ((dsc1.ins_scenario_key IS NULL AND dsc.ins_scenario_key IS NULL)"
+ " OR (dsc1.ins_scenario_key = dsc.ins_scenario_key AND dsc.ins_scenario_key IS NOT NULL))"
+ " AND dsc1.ins_scenario_key = dsc.ins_scenario_key"
+ " AND dsc1.ins_deelsrtcontrole_status < 5)) plandatum"
+ " , MAX(dsc.ins_deelsrtcontrole_datum) laatste"
+ " FROM ins_deelsrtcontrole dsc"
@@ -469,8 +470,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , dsc.ins_scenario_key) c"
+ " ON e.ins_deel_key = c.ins_deel_key"
+ " AND e.ins_srtcontrole_key = c.ins_srtcontrole_key"
+ " AND ((c.ins_scenario_key IS NULL AND e.ins_scenario_key IS NULL)"
+ " OR (c.ins_scenario_key = e.ins_scenario_key AND e.ins_scenario_key IS NOT NULL))"
+ " AND c.ins_scenario_key = e.ins_scenario_key"
var ins_xcp_active_cost = S("ins_xcp_active_cost");
var costarray = [];
@@ -607,16 +607,16 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
{
case 1: keyColumn = "d.alg_district_key";
break;
case 2: keyColumn = "dg.alg_gebouw_key";
case 2: keyColumn = "g.alg_gebouw_key";
break;
case 3: keyColumn = "dg.ins_discipline_key";
case 3: keyColumn = "dl.ins_discipline_key";
break;
case 4: keyColumn = "dg.ins_srtgroep_key";
case 4: keyColumn = "isg.ins_srtgroep_key";
break;
case 5: keyColumn = "dg.ins_srtdeel_key";
case 5: keyColumn = "isd.ins_srtdeel_key";
break;
case 6:
case 7: keyColumn = "dg.ins_deel_key";
case 7: keyColumn = "dl.ins_deel_key";
break;
}
@@ -624,13 +624,13 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , d.alg_district_omschrijving"
+ " , g.alg_gebouw_omschrijving"
+ " , g.alg_gebouw_key"
+ " , dg.ins_deel_omschrijving"
+ " , dl.ins_deel_omschrijving"
+ " , cy.ins_deel_aantal"
+ " , cy.ins_srtdeel_eenheid"
+ " , dg.ins_deel_opmerking"
+ " , dg.ins_discipline_omschrijving"
+ " , dg.ins_srtgroep_omschrijving"
+ " , dg.ins_srtdeel_omschrijving"
+ " , dl.ins_deel_opmerking"
+ " , dd.ins_discipline_omschrijving"
+ " , isg.ins_srtgroep_omschrijving"
+ " , isd.ins_srtdeel_omschrijving"
+ " , cy.ins_srtcontrole_omschrijving"
+ " , cy.ins_deel_key"
+ " , " + keyColumn + " keyColumn"
@@ -640,16 +640,16 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , cy.ins_srtcontrole_opmerking"
+ " , cy.ins_srtcontrole_level"
+ " , g.alg_gebouw_vervaldatum"
+ " , dg.ins_deel_vervaldatum"
+ " , dl.ins_deel_vervaldatum"
+ " , cy.ins_srtcontroledl_xcp_eind"
+ " , cy.ins_srtcontrole_eind"
+ " , EXTRACT(YEAR FROM LEAST (COALESCE(g.alg_gebouw_vervaldatum"
+ " , dg.ins_deel_vervaldatum"
+ " , dl.ins_deel_vervaldatum"
+ " , COALESCE(cy.ins_srtcontroledl_xcp_eind, cy.ins_srtcontrole_eind))"
+ " , COALESCE(COALESCE(cy.ins_srtcontroledl_xcp_eind, cy.ins_srtcontrole_eind)"
+ " , g.alg_gebouw_vervaldatum"
+ " , dg.ins_deel_vervaldatum)"
+ " , COALESCE(dg.ins_deel_vervaldatum"
+ " , dl.ins_deel_vervaldatum)"
+ " , COALESCE(dl.ins_deel_vervaldatum"
+ " , COALESCE(cy.ins_srtcontroledl_xcp_eind, cy.ins_srtcontrole_eind)"
+ " , g.alg_gebouw_vervaldatum))"
+ " ) vervaljaar"
@@ -662,14 +662,24 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , cy.scenario_oms"
+ " , cy.scenario_aantal"
+ " FROM (" + sql_yearcost + ") cy"
+ " , ins_v_deel_gegevens dg"
+ " , ins_v_aanwezigdeel dl"
+ " , ins_srtdeel isd"
+ " , ins_srtgroep isg"
+ " , ins_discipline dd"
+ " , alg_district d"
+ " , alg_locatie l"
+ " , alg_gebouw g"
+ " WHERE cy.ins_deel_key = dg.ins_deel_key"
+ " AND dg.alg_locatie_key = l.alg_locatie_key"
+ " AND d.alg_district_key = l.alg_district_key"
+ " AND dg.alg_gebouw_key = g.alg_gebouw_key";
+ " , alg_verdieping v"
+ " , alg_ruimte r"
+ " WHERE cy.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";
if (deel)
sql_cost_verval += " AND ins_deel_upper LIKE " + safe.quoted_sql_wild("%" + deel + "%");
@@ -693,7 +703,8 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " , cv.keyColumn"
+ " , cv.ins_srtcontroledl_xcp_key"
+ " , cv.ins_srtcontrole_key"
+ " , 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 vandaag of in de toekomst.
:" , NULL org_nexdate_0")
+ " , cv.ins_srtcontrole_periode"
+ " , cv.ins_srtcontrole_opmerking"
+ " , cv.ins_srtcontrole_level"
@@ -706,8 +717,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " WHERE idsc.ins_deel_key = cv.ins_deel_key"
+ " AND idsc.ins_srtcontrole_key = cv.ins_srtcontrole_key"
+ " AND idsc.ins_deelsrtcontrole_status IN (0)"
+ " AND ((idsc.ins_scenario_key IS NULL AND cv.ins_scenario_key IS NULL)"
+ " OR (idsc.ins_scenario_key = cv.ins_scenario_key AND cv.ins_scenario_key IS NOT NULL))) IS NOT NULL"
+ " AND idsc.ins_scenario_key = cv.ins_scenario_key) IS NOT NULL"
+ " THEN 1"
+ " ELSE 0"
+ " END isPlanned"
@@ -717,8 +727,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " WHERE idsc.ins_deel_key = cv.ins_deel_key"
+ " AND idsc.ins_srtcontrole_key = cv.ins_srtcontrole_key"
+ " AND idsc.ins_deelsrtcontrole_status IN (2, 5)"
+ " AND ((idsc.ins_scenario_key IS NULL AND cv.ins_scenario_key IS NULL)"
+ " OR (idsc.ins_scenario_key = cv.ins_scenario_key AND cv.ins_scenario_key IS NOT NULL))) IS NOT NULL"
+ " AND idsc.ins_scenario_key = cv.ins_scenario_key) IS NOT NULL"
+ " THEN 0"
+ " ELSE 1"
+ " END canBePlanned"
@@ -726,8 +735,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
+ " FROM ins_deelsrtcontrole idsc2"
+ " WHERE idsc2.ins_deel_key = cv.ins_deel_key"
+ " AND idsc2.ins_srtcontrole_key = cv.ins_srtcontrole_key"
+ " AND ((idsc2.ins_scenario_key IS NULL AND cv.ins_scenario_key IS NULL)"
+ " OR (idsc2.ins_scenario_key = cv.ins_scenario_key AND cv.ins_scenario_key IS NOT NULL)))"
+ " AND (idsc2.ins_scenario_key = cv.ins_scenario_key))"
+ " , -1) ins_deelsrtcontrole_key"
+ " , cv.bedrag AS orgbedrag"
// Als er een andere inspectie is met een lagere ins_srtcontrole_level
@@ -792,14 +800,14 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
if (!actsit)
sql += " WHERE ins_scenario_key IN (" + scenario + ") AND hasscenario2 = 1";
else
sql += " WHERE ins_scenario_key IN (" + scenario + ") OR (hasscenario2 = 0 AND ins_scenario_key IS NULL)";
sql += " WHERE ins_scenario_key IN (" + scenario + ") OR (hasscenario2 = 0 AND ins_scenario_key = 1)";
}
else
{
if (!actsit)
sql += " WHERE 1 = 0";
else
sql += " WHERE ins_scenario_key IS NULL";
sql += " WHERE ins_scenario_key = 1";
}
sql += " ORDER BY 1";
@@ -826,7 +834,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? oRs("ins_scenario_key").Value : -1;
data.insScenKey = oRs("ins_scenario_key").Value > 1? oRs("ins_scenario_key").Value : -1;
}
return JSON.stringify(data);
@@ -836,7 +844,7 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
{
if (!fulldetails)
return "";
var scen_key = oRs("ins_scenario_key").Value? oRs("ins_scenario_key").Value : -1;
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)
lclass += " scenerized1";
@@ -862,7 +870,7 @@ 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? oRs("ins_scenario_key").Value : -1
scen_key: oRs("ins_scenario_key").Value > 1? oRs("ins_scenario_key").Value : -1
});
ePlan = this_ins.canInspPlan;
eStart = this_ins.canInspStart;
@@ -912,7 +920,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: -1,
safe.jsstring(oRs("ins_deel_omschrijving").Value));
return "<span class='details' onclick='{0}'>{1}</span>"
.format(safe.htmlattr(fncall),
@@ -992,17 +1000,10 @@ var transitParam = buildTransitParam(["disc", "srtgroep", "srtdeel", "srtcontrol
doneclik[deel_key + ":" + srtcont_key] = 1;
var scen_key = oRs("ins_scenario_key").Value? oRs("ins_scenario_key").Value : -1;
var scen_key = oRs("ins_scenario_key").Value > 1? oRs("ins_scenario_key").Value : -1;
// 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))
/* experimenteel inline schuiven
var fnprev = "moveplan(event, {0}, {1}, {2}-1)".format(deel_key, srtcont_key, jaar);
var fnnext = "moveplan(event, {0}, {1}, {2}+1)".format(deel_key, srtcont_key, jaar);
return "<span class='details' onclick='{0}'>&lt;</span>".format(fnprev)
+ String(v)
+ "<span class='details' onclick='{0}'>&gt;</span>".format(fnnext);
*/
}
}