KMMO#82722: Kan er een knop toegevoegd worden om geaccordeerde taken terug te zetten.
svn path=/Website/trunk/; revision=66456
This commit is contained in:
@@ -2312,7 +2312,7 @@ ins = {checkAutLevel:
|
||||
+ " , s.ins_srtdeel_mjb_grensscore1"
|
||||
+ (lentoutAction >= 0 ? " , t.fac_tracking_datum" : "")
|
||||
: "")
|
||||
+ (insFlexParams.anyflex
|
||||
+ (insFlexParams && insFlexParams.anyflex
|
||||
? insFlexParams.sql
|
||||
: "");
|
||||
|
||||
@@ -2596,7 +2596,7 @@ ins = {checkAutLevel:
|
||||
+ " , dl.ins_deel_mjb_score2"
|
||||
+ " , s.ins_srtdeel_mjb_grensscore1"
|
||||
+ (lentoutAction >= 0 ? " , t.fac_tracking_datum" : "")
|
||||
+ ( insFlexParams.anyflex
|
||||
+ (insFlexParams && insFlexParams.anyflex
|
||||
? insFlexParams.sql
|
||||
: "")
|
||||
+ " , CASE WHEN dl.ins_alg_ruimte_type_org IS NOT NULL AND dl.ins_alg_ruimte_type = 'P'"
|
||||
@@ -3980,6 +3980,7 @@ ins = {checkAutLevel:
|
||||
var sel_controlemode123 = params.sel_controlemode123;
|
||||
var jaren = params.jaren;
|
||||
var freeze = params.freeze;
|
||||
var unfreeze = params.unfreeze;
|
||||
var execute = params.execute;
|
||||
var pricechange = params.pricechange;
|
||||
var finish = params.finish;
|
||||
@@ -4958,10 +4959,10 @@ ins = {checkAutLevel:
|
||||
+ " , cy.hascontroles"
|
||||
+ " , cy.completed"
|
||||
+ " , cy.rejected"
|
||||
+ (algFlexParams.anyflex
|
||||
+ (algFlexParams && algFlexParams.anyflex
|
||||
? algFlexParams.sql
|
||||
: "")
|
||||
+ (insFlexParams.anyflex
|
||||
+ (insFlexParams && insFlexParams.anyflex
|
||||
? insFlexParams.sql
|
||||
: "")
|
||||
+ " FROM (" + sql_yearcost + ") cy"
|
||||
@@ -5006,7 +5007,7 @@ ins = {checkAutLevel:
|
||||
+ " )"
|
||||
: "");
|
||||
|
||||
if (keys != null && keys.length > 0 && niveau != null && niveau > 0 && (pricechange || freeze || execute || finish || addToScenario))
|
||||
if (keys != null && keys.length > 0 && niveau != null && niveau > 0 && (pricechange || freeze || unfreeze || execute || finish || addToScenario))
|
||||
{
|
||||
switch (niveau)
|
||||
{
|
||||
@@ -5509,10 +5510,10 @@ ins = {checkAutLevel:
|
||||
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
|
||||
+ " AND m.mld_melding_key = (" + sql_melding + ")) prefix"
|
||||
: "")
|
||||
+ (algFlexParams.anyflex
|
||||
+ (algFlexParams && algFlexParams.anyflex
|
||||
? " , CV.algflex"
|
||||
: "")
|
||||
+ ( insFlexParams.anyflex
|
||||
+ (insFlexParams && insFlexParams.anyflex
|
||||
? " , CV.insflex"
|
||||
: "")
|
||||
+ " FROM (" + sql_cost_verval + ") cv"
|
||||
@@ -5760,7 +5761,7 @@ ins = {checkAutLevel:
|
||||
|
||||
// Bulkactie accorderen (freeze), uitvoeren (execute) of voltooien/afronden (finish).
|
||||
// Ik moet nog de juiste insert waarden ophalen voor alle objecten die de sql oplevert.
|
||||
if (niveau >= 1 && niveau <= 7 && (pricechange || freeze || execute || finish))
|
||||
if (niveau >= 1 && niveau <= 7 && (pricechange || freeze || unfreeze || execute || finish))
|
||||
{ // Prijswijziging (pricechange), Accorderen (Freeze), Uitvoeren (Execute) of Voltooien/Afronden (Finish).
|
||||
if (pricechange)
|
||||
{
|
||||
@@ -5772,7 +5773,7 @@ ins = {checkAutLevel:
|
||||
mjblist_sql_select += ", result.\"" + jaren[j] + "\"";
|
||||
}
|
||||
}
|
||||
else if (freeze)
|
||||
else if (freeze || unfreeze)
|
||||
{
|
||||
var mjblist_sql_select = "SELECT xcp.ins_deel_key"
|
||||
+ " , xcp.ins_srtcontrole_key"
|
||||
@@ -5899,11 +5900,12 @@ ins = {checkAutLevel:
|
||||
// Daar zorgt de freeze actie en punt 2) ook wel voor.
|
||||
// 1) Alleen voor Accorderen (Freeze): niet vervallen.
|
||||
// 2) Freeze: status <= 0 of status == 6
|
||||
// Finish: status == 2
|
||||
// Unfreeze: status == 2
|
||||
// Finish: status == 2 of 3
|
||||
// 3) actief object
|
||||
// 4) hasCTRFOFWrite (freez) of hasCTRUSEWrite (finish) rechten.
|
||||
// 5) Freeze: bij instelling "Actieve acties" het vinkje "Starten" aangevinkt.
|
||||
// Finish: bij instelling "Actieve acties" het vinkje "Afronden" aangevinkt.
|
||||
// 5) Freeze, Unfreeze: bij instelling "Actieve acties" het vinkje "Starten" aangevinkt.
|
||||
// Finish: bij instelling "Actieve acties" het vinkje "Afronden" aangevinkt.
|
||||
// 6) geen scenario (scenario_key is 1)
|
||||
// 7) ismjob
|
||||
// 8) isFreezeYear
|
||||
@@ -5911,13 +5913,13 @@ ins = {checkAutLevel:
|
||||
//
|
||||
// 0) MJOB dus interval mode(1).
|
||||
|
||||
if (freeze || finish)
|
||||
if (freeze || unfreeze|| finish)
|
||||
mjblist_sql += (freeze
|
||||
? " AND result.idsc_freezed IS NULL" // 0) Freeze: Vorige inspectie is niet geaccordeerd(gestart(2)).
|
||||
: " AND result.idsc_freezed = result.ins_deelsrtcontrole_key") // Finish: Laatste inspectie is geaccordeerd(gestart(2)).
|
||||
: " AND result.idsc_freezed = result.ins_deelsrtcontrole_key") // Unfreeze, Finish: Laatste inspectie is geaccordeerd(gestart(2)).
|
||||
+ (freeze
|
||||
? " AND (xcp.ins_srtcontroledl_xcp_eind IS NULL OR xcp.ins_srtcontroledl_xcp_eind >= SYSDATE)" // 1) Freeze: Niet vervallen.
|
||||
: "") // Finish: Maakt niet uit.
|
||||
: "") // Unfreeze, Finish: Maakt niet uit.
|
||||
+ (freeze
|
||||
? " AND (EXISTS" // 2) Freeze: Geen controles of laatste controle status 0 of 6.
|
||||
+ " (SELECT idsc1.ins_deelsrtcontrole_status"
|
||||
@@ -5935,15 +5937,15 @@ ins = {checkAutLevel:
|
||||
+ " WHERE idsc2.ins_deel_key = xcp.ins_deel_key"
|
||||
+ " AND idsc2.ins_srtcontrole_key = xcp.ins_srtcontrole_key"
|
||||
+ " AND idsc2.ins_scenario_key = xcp.ins_scenario_key))"
|
||||
: " AND EXISTS" // Finish: Laatste controle status 2 of 3.
|
||||
+ " (SELECT idsc1.ins_deelsrtcontrole_status"
|
||||
: " AND EXISTS" // Unfreeze: Laatste controle status 2.
|
||||
+ " (SELECT idsc1.ins_deelsrtcontrole_status" // Finish: Laatste controle status 2 of 3.
|
||||
+ " FROM ins_deelsrtcontrole idsc1"
|
||||
+ " WHERE idsc1.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " 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 = xcp.ins_scenario_key)"
|
||||
+ " AND idsc1.ins_deelsrtcontrole_status IN (2, 3))");
|
||||
+ " AND idsc1.ins_deelsrtcontrole_status IN (2" + (finish? ", 3" : "") + "))");
|
||||
|
||||
if (pricechange)
|
||||
mjblist_sql += " AND (xcp.ins_srtcontroledl_xcp_eind IS NULL OR xcp.ins_srtcontroledl_xcp_eind >= SYSDATE)"; // 1) Prijswijziging: Niet vervallen.
|
||||
@@ -5958,9 +5960,9 @@ ins = {checkAutLevel:
|
||||
+ " AND w.fac_gebruiker_alg_level_write < 9"
|
||||
+ " AND w.prs_perslid_key = " + user_key + ")";
|
||||
|
||||
if (freeze || finish)
|
||||
mjblist_sql += (freeze
|
||||
? " AND BITAND(xcp.ins_srtcontrole_options, 2) = 2" // 5) Freeze: Het vinkje "Starten" aangevinkt.
|
||||
if (freeze || unfreeze || finish)
|
||||
mjblist_sql += (freeze || unfreeze
|
||||
? " AND BITAND(xcp.ins_srtcontrole_options, 2) = 2" // 5) Freeze, Unfreeze: Het vinkje "Starten" aangevinkt.
|
||||
: " AND BITAND(xcp.ins_srtcontrole_options, 8) = 8"); // Finish: Het vinkje "Afronden" aangevinkt.
|
||||
|
||||
if (pricechange)
|
||||
@@ -5971,7 +5973,7 @@ ins = {checkAutLevel:
|
||||
|
||||
mjblist_sql += " AND xcp.ins_scenario_key = 1" // 6) Geen scenario.
|
||||
+ " AND xcp.ctr_ismjob = 1" // 7) ismjob.
|
||||
+ (freeze || finish
|
||||
+ (freeze || unfreeze || finish
|
||||
? " AND result.\"" + mjb_freeze_year + "\" IS NOT NULL" // 8) isFreezeYear, bedrag in mjb_freeze_year is niet NULL.
|
||||
: "");
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ var JSON_Result = true;
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="../Shared/discxalg3d.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="ins.inc" -->
|
||||
|
||||
@@ -40,6 +41,7 @@ var inflatiefactor = 1 + (inflatiepct / 100);
|
||||
var mjb_start_year = S("mjb_start_year");
|
||||
var mjb_freeze_year = S("mjb_freeze_year");
|
||||
|
||||
var result = {key: "", success: true, multi: multi, start: true };
|
||||
var ingesloten = [];
|
||||
if (groupby < 9)
|
||||
{
|
||||
@@ -115,13 +117,11 @@ if (groupby < 9)
|
||||
mjbFreezed: mjbFreezed,
|
||||
mjbXcped: mjbXcped,
|
||||
jaren: [mjb_freeze_year],
|
||||
freeze: true
|
||||
unfreeze: true
|
||||
};
|
||||
var mjblist_sql = ins.getmjblist_sql(mjbparams);
|
||||
// De mjblist_sql bevat nu alle objecten (ins_deel_key) van de aangevinkte regels uit het mjb overzicht en levert voor elk object de waarden voor de insert op.
|
||||
|
||||
var result = {key: "", success: true, multi: multi, start: true };
|
||||
|
||||
var oRs = Oracle.Execute(mjblist_sql);
|
||||
user.anything_todo_or_abort(!oRs.eof); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
@@ -150,7 +150,9 @@ if (groupby < 9)
|
||||
+ " , xcp.ctr_discipline_key"
|
||||
+ " FROM ins_deelsrtcontrole idsc"
|
||||
+ " , ins_v_defined_inspect_xcp xcp"
|
||||
+ " WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key"
|
||||
+ " WHERE xcp.ins_deel_key = idsc.ins_deel_key"
|
||||
+ " AND xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key"
|
||||
+ " AND xcp.ins_scenario_key = idsc.ins_scenario_key"
|
||||
+ " AND idsc.ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND idsc.ins_srtcontrole_key = " + ingesloten[i].srtcont_key
|
||||
+ " AND idsc.ins_scenario_key = 1"
|
||||
@@ -196,34 +198,40 @@ else
|
||||
}
|
||||
lcl.set_dialect(ctrdisc_key, "CTR_DISCIPLINE_KEY");
|
||||
user.anything_todo_or_abort(tobestart > 0); // We klagen niet over enkele wel en enkele niet
|
||||
}
|
||||
|
||||
var result = {key: "", success: true, multi: multi, start: true };
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{ // Indien er een plandatum is gezet dan de status naar ingepland(0) zetten, anders het inspectie record verwijderen.
|
||||
if (ingesloten[i].hasPlandatum)
|
||||
{ // Zetten van de status en afhandelen van de tracking (en notificatie) van het starten.
|
||||
ins.setinspectstatus(ingesloten[i].dlsrtcont_key, 0); // Ingepland(0)
|
||||
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{ // Indien er een plandatum is gezet dan de status naar ingepland(0) zetten, anders het inspectie record verwijderen.
|
||||
if (ingesloten[i].hasPlandatum)
|
||||
{ // Zetten van de status en afhandelen van de tracking (en notificatie) van het starten.
|
||||
ins.setinspectstatus(ingesloten[i].dlsrtcont_key, 0); // Ingepland(0)
|
||||
// Tracking van het ongedaan maken van de accordering.
|
||||
ins.trackinspectupdate(ingesloten[i].dlsrtcont_key, L("lcl_mjb_start_reversed"));
|
||||
}
|
||||
else
|
||||
{ // Inspectie (ins_deelsrtcontrole) record verwijdern.
|
||||
var sql = "DELETE FROM ins_deelsrtcontrole"
|
||||
+ " WHERE ins_deelsrtcontrole_key = " + deelsrtcont_key_arr[i];
|
||||
Oracle.Execute(sql);
|
||||
// Tracking is niet meer terug te herleiden naar de verwijderde inspectie.
|
||||
// Daarom de tracking van het accorderen verwijderen.
|
||||
var sql = "DELETE FROM fac_tracking"
|
||||
+ " WHERE fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'INSCBE')"
|
||||
+ " AND fac_tracking_refkey = " + deelsrtcont_key_arr[i];
|
||||
Oracle.Execute(sql);
|
||||
// Maak de freeze velden freezecost en freezedate weer leeg.
|
||||
var sql = "UPDATE ins_deelsrtcontrole"
|
||||
+ " SET ins_deelsrtcontrole_freezecost = NULL"
|
||||
+ " , ins_deelsrtcontrole_freezedate = NULL"
|
||||
+ " WHERE ins_deelsrtcontrole_key = " + ingesloten[i].dlsrtcont_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
result.key += (i > 0? "," : "") + ingesloten[i].dlsrtcont_key;
|
||||
}
|
||||
// Tracking van het ongedaan maken van de accordering.
|
||||
ins.trackinspectupdate(ingesloten[i].dlsrtcont_key, L("lcl_mjb_start_reversed"));
|
||||
}
|
||||
else
|
||||
{ // Inspectie (ins_deelsrtcontrole) record verwijdern.
|
||||
var sql = "DELETE FROM ins_deelsrtcontrole"
|
||||
+ " WHERE ins_deelsrtcontrole_key = " + ingesloten[i].dlsrtcont_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// Tracking is niet meer terug te herleiden naar de verwijderde inspectie.
|
||||
// Daarom de tracking van het accorderen verwijderen.
|
||||
var sql = "DELETE FROM fac_tracking"
|
||||
+ " WHERE fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key FROM fac_srtnotificatie WHERE fac_srtnotificatie_code = 'INSCBE')"
|
||||
+ " AND fac_tracking_refkey = " + ingesloten[i].dlsrtcont_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
result.key += (i > 0? "," : "") + ingesloten[i].dlsrtcont_key;
|
||||
}
|
||||
result.key += (i > 0? "," : "") + ingesloten[i].dlsrtcont_key;
|
||||
}
|
||||
|
||||
result.toaster = L("lcl_mjb_start_reversed");
|
||||
|
||||
@@ -337,7 +337,7 @@ function insStart(rowArray, isMulti, pfreeze)
|
||||
});
|
||||
}
|
||||
|
||||
function insUnstart(rowArray, isMulti)
|
||||
function insUnfreeze(rowArray, isMulti)
|
||||
{
|
||||
var lcl_1 = L("lcl_ins_unstarting");
|
||||
var lcl_m = L("lcl_ins_unstarting_m");
|
||||
@@ -353,7 +353,7 @@ function insUnstart(rowArray, isMulti)
|
||||
{
|
||||
var rowdata = JSON.parse(rowArray[i].getAttribute("ROWDATA"));
|
||||
// Scenario's kunnen niet teruggezet worden. Hier de scenario's er al uit filteren.
|
||||
if (!rowdata.insScenKey || rowdata.insScenKeiny == 1)
|
||||
if (!rowdata.insScenKey || rowdata.insScenKey == 1)
|
||||
{ // Het is geen scenario. De periodieke taak kan teruggezet worden. De inspectie aan het array toevoegen.
|
||||
if (groupby == 9)
|
||||
{
|
||||
|
||||
@@ -1113,6 +1113,7 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
|
||||
if (scenario == 1)
|
||||
{
|
||||
rst.addAction({ action: "insFreeze", caption: L("lcl_mjb_freeze"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
rst.addAction({ action: "insUnfreeze", caption: L("lcl_ins_unstart"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
if (S("mjb_operation_external") == 1)
|
||||
rst.addAction({ action: "insFinishMJOB", caption: L("lcl_ins_finish"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
if (S("mjb_enable_moveup") == 1)
|
||||
@@ -1140,7 +1141,7 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
|
||||
else
|
||||
{ // mode == 3
|
||||
rst.addAction({ action: "insExecute", caption: L("lcl_mjb_execute"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
rst.addAction({ action: "insUnstart", caption: L("lcl_ins_unstart"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
rst.addAction({ action: "insUnfreeze", caption: L("lcl_ins_unstart"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
rst.addAction({ action: "insFinishMJOB", caption: L("lcl_ins_finish"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user