AKZA#36031: Object actief/inactief kunnen maken (taken automatisch deactiveren).

svn path=/Website/trunk/; revision=29827
This commit is contained in:
Maykel Geerdink
2016-06-23 07:07:48 +00:00
parent ec0135ffbb
commit 8bdd9bbedf
7 changed files with 124 additions and 59 deletions

View File

@@ -485,16 +485,20 @@ ins = {checkAutLevel:
function (pins_deel_key, params)
{
var isql = "SELECT d.ins_discipline_key"
+ ", d.ins_alg_ruimte_key"
+ ", d.ins_alg_ruimte_type"
+ ", d.ins_alg_ruimte_key_org"
+ ", d.ins_alg_ruimte_type_org"
+ ", isd.ins_srtgroep_key"
+ " FROM ins_deel d, ins_srtdeel isd"
+ " , d.ins_alg_ruimte_key"
+ " , d.ins_alg_ruimte_type"
+ " , d.ins_alg_ruimte_key_org"
+ " , d.ins_alg_ruimte_type_org"
+ " , isd.ins_srtgroep_key"
+ " , d.ins_deel_actief"
+ " FROM ins_deel d"
+ " , ins_srtdeel isd"
+ " WHERE d.ins_srtdeel_key = isd.ins_srtdeel_key"
+ " AND d.ins_deel_key = " + pins_deel_key;
var ioRs = Oracle.Execute(isql);
var srtgroep_key = ioRs("ins_srtgroep_key").Value;
var actief = ioRs("ins_deel_actief").Value == 1;
var isSleCil = (srtgroep_key == S("sle_ins_srt_groep_key") || srtgroep_key == S("cil_ins_srt_groep_key"));
if (isSleCil)
{
@@ -621,16 +625,20 @@ ins = {checkAutLevel:
// Als de inspectie vervallen is moet je alleen nog de lopende inspecties (ingepland of later) kunnen gereedmelden en/of afronden,
// zodat deze inspectie afgerond kan worden. Nieuwe inspectie kunnen nooit meer beginnen.
// Eerste inspectie of verwerkte inspectie kan niet gewijzigd worden.
iresult.canInspEdit = iresult.canInspect && !vervallen && (ins_deelsrtcontrole_status != -1 && ins_deelsrtcontrole_status != 6);
iresult.canInspEdit = iresult.canInspect && !vervallen && (ins_deelsrtcontrole_status != -1 && ins_deelsrtcontrole_status != 6) && actief;
iresult.canInspShow = iresult.readuse && !vervallen && (ins_deelsrtcontrole_status >= 0);
// Bij eerste inspectie of verwerkte inspectie kan er gepland worden.
iresult.canInspPlan = iresult.canInspect && !vervallen && (ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6);
iresult.canInspPlan = iresult.canInspect && !vervallen && (ins_deelsrtcontrole_status == -1 || ins_deelsrtcontrole_status == 6) && actief;
// Bij eerste inspectie, geplande inspectie of verwerkte inspectie kan er gestart worden.
iresult.canInspStart = iresult.canInspect && minspect && !vervallen && (ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6);
iresult.canInspStart = iresult.canInspect && minspect && !vervallen &&
(ins_deelsrtcontrole_status <= 0 || ins_deelsrtcontrole_status == 6) && actief;
// Bij eerste inspectie, geplande inspectie, gestarte inspectie of verwerkte inspectie kan er gereedgemeld/afgerond worden.
iresult.canInspClose = iresult.canInspect && minspect && ((!vervallen && (ins_deelsrtcontrole_status < 5 || ins_deelsrtcontrole_status == 6)) || (ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2));
iresult.canInspClose = iresult.canInspect && minspect &&
((!vervallen && (ins_deelsrtcontrole_status < 5 || ins_deelsrtcontrole_status == 6)) ||
(ins_deelsrtcontrole_status == 0 || ins_deelsrtcontrole_status == 2)) &&
actief;
// Alleen als de inspectie gereedgemeld is kan afgerond worden.
iresult.canInspFinish = iresult.canInspect && minspect && ins_deelsrtcontrole_status == 5;
iresult.canInspFinish = iresult.canInspect && minspect && ins_deelsrtcontrole_status == 5 && actief;
}
else
iresult.minspect = true;

View File

@@ -191,6 +191,7 @@ var uitvoertijd_eenheid;
+ " , d.ins_deel_opmerking"
+ " , idp.ins_disc_params_autonum"
+ " , d.prs_perslid_key_beh"
+ " , d.ins_deel_actief"
+ " FROM ins_deel d"
+ " , ins_srtdeel s"
+ " , ins_srtgroep g"
@@ -288,6 +289,7 @@ var uitvoertijd_eenheid;
var desc = (copy ? "" : oRs('ins_deel_omschrijving').Value); // Als copy dan clientside nieuwe code laten genereren.
var opmerk = (copy ? "" : oRs('ins_deel_opmerking').Value);
var perslid_key_beh = oRs('prs_perslid_key_beh').Value;
var actief = oRs("ins_deel_actief").Value == 1;
}
parentdesc = oRs('parent_omschrijving').Value;
uitvoertijd = oRs("uitvoertijd").Value;
@@ -726,6 +728,7 @@ var uitvoertijd_eenheid;
readonly: !this_ins.canChangeAlg,
volgnr: 2
});
RWCHECKBOXTR("ins_actief", "fldcheck", L("lcl_ins_active"), actief, {readonly: !this_ins.canChangeAlg});
FCLTpersoonselector("ins_manager", // beheerder
"sgins_manager",
{ perslidKey: perslid_key_beh,

View File

@@ -84,8 +84,9 @@ if (obj_key > 0)
{ dbs: "ins_alg_locatie_key", typ: "key", frm: "locatiekey" /* tracking niet nodig */ },
{ dbs: "ins_deel_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_ins_vervaldatum") },
{ dbs: "ins_deel_aanmaak", typ: "date", frm: "aanmaakdatum", track: L("lcl_last_action") },
{ dbs: "prs_perslid_key_beh", typ: "key", frm: "ins_manager", track: L("lcl_ins_manager"), foreign: "prs_perslid" },
{ dbs: "ins_deel_opmerking", typ: "varchar", frm: "opmerk"} ];
{ dbs: "prs_perslid_key_beh", typ: "key", frm: "ins_manager", track: L("lcl_ins_manager"), foreign: "prs_perslid" },
{ dbs: "ins_deel_opmerking", typ: "varchar", frm: "opmerk"},
{ dbs: "ins_deel_actief", typ: "check0", frm: "ins_actief", track: L("lcl_ins_active") } ];
// Checken of het eenheden selectveld met dagen/uren bij "Uitvoertijd" niet readonly was en wel is meegegeven.
// Als dit eenheden selectieveld readonly was dan is er geen waarde voor uitvoertijd ingevuld en moeten beide waarden null worden.

View File

@@ -52,7 +52,8 @@
insLentOut search for objects wich are lent out
insAvail search for objects wich are available
insSuccessY search for inspections which are a success
insSuccessN search for inspections which are not a success
insSuccessN search for inspections which are not active
actief search for inspections which are active, not active or both
fgraph search for objects for a fgraph search
Context: - INS/ins_search.asp (Search action from bes_search.asp form)
- FGraph (<cust>_Report.asp)
@@ -129,6 +130,7 @@ function ins_list (pautfunction, params)
var insAvail = params.insAvail;
var insSuccessY = params.insSuccessY;
var insSuccessN = params.insSuccessN;
var actief = params.actief;
var embedded = params.embedded;
var tiny = params.tiny || parent_key || koppel_key;
var srtcontrole = params.srtcontrole;
@@ -573,7 +575,7 @@ function ins_list (pautfunction, params)
+ (srtcontrole > -1
? " AND di.ins_srtcontrole_key = " + srtcontrole
: "")
+ (insSuccessY && insSuccessN
+ (insSuccessY && insSuccessN // Ze kunnen niet beiden false zijn.
? ""
: " AND (SELECT cm.ins_controlemode_success"
+ " FROM ins_deelsrtcontrole idsc"
@@ -738,7 +740,8 @@ function ins_list (pautfunction, params)
+ ", " + sqlInspectie_select
+ ", rd.res_deel_key"
+ ", rd.res_deel_opmerking"
+ ", i.ins_deel_vervaldatum";
+ ", i.ins_deel_vervaldatum"
+ ", i.ins_deel_actief";
sqlOwner_from = " FROM ins_deel i"
+ ", ins_srtdeel s"
@@ -768,13 +771,13 @@ function ins_list (pautfunction, params)
? " AND s.ins_srtdeel_uitleenbaar = 1"
: "")
+ (koppel_key
? " AND idk.ins_deelkoppeling_verwijder IS NULL"
+ " AND (( i.ins_deel_key = idk.ins_deelkoppeling_naar_key"
+ " AND idk.ins_deelkoppeling_van_key=" + koppel_key
+ " )"
+ " OR ( i.ins_deel_key = idk.ins_deelkoppeling_van_key"
+ " AND idk.ins_deelkoppeling_naar_key=" + koppel_key + "))"
: "")
? " AND idk.ins_deelkoppeling_verwijder IS NULL"
+ " AND (( i.ins_deel_key = idk.ins_deelkoppeling_naar_key"
+ " AND idk.ins_deelkoppeling_van_key=" + koppel_key
+ " )"
+ " OR ( i.ins_deel_key = idk.ins_deelkoppeling_van_key"
+ " AND idk.ins_deelkoppeling_naar_key=" + koppel_key + "))"
: "")
+ ((insLentOut && !insAvail)
? " AND i.ins_alg_ruimte_key_org IS NOT NULL"
: (!insLentOut && insAvail)
@@ -808,7 +811,10 @@ function ins_list (pautfunction, params)
+ sqlKenmerkBewerkbaar_where
+ " AND i.ins_alg_ruimte_key = d.prs_afdeling_key"
+ " AND d.prs_bedrijf_key = b.prs_bedrijf_key"
+ " AND i.ins_alg_ruimte_type = 'A'";
+ " AND i.ins_alg_ruimte_type = 'A'"
+ (actief < 3 // 1=Actief, 2=Niet actief en 3=Beide.
? " AND ins_deel_actief = " + (actief == 1? 1 : 0)
: "");
sqlOwnerP = sqlOwner_select
+ sqlKenmerkBewerkbaar_select
@@ -829,7 +835,10 @@ function ins_list (pautfunction, params)
+ " AND i.ins_alg_ruimte_key = p.prs_perslid_key"
+ " AND p.prs_afdeling_key = d.prs_afdeling_key"
+ " AND d.prs_bedrijf_key = b.prs_bedrijf_key"
+ " AND i.ins_alg_ruimte_type = 'P'";
+ " AND i.ins_alg_ruimte_type = 'P'"
+ (actief < 3 // 1=Actief, 2=Niet actief en 3=Beide.
? " AND ins_deel_actief = " + (actief == 1? 1 : 0)
: "");
sqlOwnerCP = sqlOwner_select
+ sqlKenmerkBewerkbaar_select
@@ -848,7 +857,10 @@ function ins_list (pautfunction, params)
+ sqlKenmerkBewerkbaar_where
+ " AND i.ins_alg_ruimte_key = c.prs_contactpersoon_key"
+ " AND c.prs_bedrijf_key = b.prs_bedrijf_key"
+ " AND i.ins_alg_ruimte_type = 'C'";
+ " AND i.ins_alg_ruimte_type = 'C'"
+ (actief < 3 // 1=Actief, 2=Niet actief en 3=Beide.
? " AND ins_deel_actief = " + (actief == 1? 1 : 0)
: "");
}
if (!hasOwner)
@@ -882,6 +894,7 @@ function ins_list (pautfunction, params)
+ ", rd.res_deel_key"
+ ", rd.res_deel_opmerking"
+ ", i.ins_deel_vervaldatum"
+ ", i.ins_deel_actief"
+ sqlKenmerkBewerkbaar_select
+ ", null prs_bedrijf_key"
+ ", null prs_afdeling_key1"
@@ -969,15 +982,15 @@ function ins_list (pautfunction, params)
sqlPosition += " AND i.ins_alg_ruimte_key = -1"; // geen terreinen bij fgraph => geen objecten om te laten zien
}
}
if (ins_key_arr)
if (sqlPosition != "" && ins_key_arr)
{
sqlPosition += " AND i.ins_deel_key IN (" + ins_key_arr.join(",") + ")";
}
else if (parent_key)
else if (sqlPosition != "" && parent_key)
{
sqlPosition += " AND i.ins_deel_parent_key IN (" + parent_key + ")";
}
else if (koppel_key)
else if (sqlPosition != "" && koppel_key)
{
sqlPosition += " AND idk.ins_deelkoppeling_verwijder IS NULL"
+ " AND (( i.ins_deel_key = idk.ins_deelkoppeling_naar_key"
@@ -1018,9 +1031,15 @@ function ins_list (pautfunction, params)
// Nu filtercondities voor flexkenmerken toevoegen
sql_ex += getKenmerkSql("INS", "i.ins_deel_key");
if (sqlPosition != '')
if (sqlPosition != "")
sqlPosition += sql_ex;
if (sqlPosition != "")
sqlPosition += sql_ex;
if (sqlPosition != "" && actief < 3) // 1=Actief, 2=Niet actief en 3=Beide.
sqlPosition += " AND ins_deel_actief = " + (actief == 1? 1 : 0)
if (sqlPosition != "")
{ // we must consider this: if we know that a room is defined (by filter), we must be
// able to improve performance by using that condition, mustn't we?
@@ -1682,6 +1701,21 @@ function ins_list (pautfunction, params)
return "<span style='white-space: nowrap'>"+dttxt+"</span>";
}
function fnActief(oRs)
{
var actief = oRs("ins_deel_actief").Value;
if (actief != null && actief == 1)
var dttxt = '<img id="cms' + oRs("ins_deel_key").Value + '"'
+ ' src="../Pictures/success.png" class="ilbutton"'
+ ' style="cursor:pointer"'
+ '>';
else
var dttxt = "";
return "<span style='white-space: nowrap'>"+dttxt+"</span>";
}
function fnSrtControleType(oRs)
{
var txt = "";
@@ -1804,6 +1838,7 @@ function ins_list (pautfunction, params)
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"}));
rst.addColumn(new Column({caption: L("lcl_ins_active"), content: fnActief}));
}
if (!parent_key) {

View File

@@ -159,6 +159,11 @@ var authparams = user.checkAutorisation(autfunction);
if (!document.getElementById("insSuccessY").checked && !document.getElementById("insSuccessN").checked)
document.getElementById("insSuccessY").checked = true;
}
function onClickActief()
{
if (!document.getElementById("insActiefY").checked && !document.getElementById("insActiefN").checked)
document.getElementById("insActiefY").checked = true;
}
<% if (xd.enabled()) { %>
function xdclicked()
{
@@ -582,34 +587,42 @@ var authparams = user.checkAutorisation(autfunction);
</div>
</td>
</tr>
<% if (insInspect) // Ook inspectiezoekvelden
{ %>
<tr class="primsearch donetime" style="display:none">
<td class="label">
<label><%=L("ins_controlemode_success")%>:&nbsp;</label>
</td>
<td>
<input type=hidden name="inspect" value="1">
<table>
<tr class="insD">
<td>
<input type="checkbox" class="fldcheck" name="insSuccessY" id="insSuccessY" value="1" checked onClick="onClickSuccess()">
</td>
<td>
<label for="insSuccessY"><%=L("lcl_Yes")%></label>
</td>
<td>
<input type="checkbox" class="fldcheck" name="insSuccessN" id="insSuccessN" value="1" checked onClick="onClickSuccess()">
</td>
<td>
<label for="insSuccessN"><%=L("lcl_No")%></label>
</td>
</tr>
</table>
</td>
</tr>
<% } %>
<% } %>
<tr class="primsearch donetime" style="display:none">
<td class="label">
<label><%=L("ins_controlemode_success")%>:&nbsp;</label>
</td>
<td>
<input type=hidden name="inspect" value="1">
<table>
<tr class="insD">
<td>
<input type="checkbox" class="fldcheck" name="insSuccessY" id="insSuccessY" value="1" checked onClick="onClickSuccess()">
</td>
<td>
<label for="insSuccessY"><%=L("lcl_Yes")%></label>
</td>
<td>
<input type="checkbox" class="fldcheck" name="insSuccessN" id="insSuccessN" value="1" checked onClick="onClickSuccess()">
</td>
<td>
<label for="insSuccessN"><%=L("lcl_No")%></label>
</td>
</tr>
</table>
</td>
</tr>
<%
sql = "SELECT 1, " + safe.quoted_sql(L("lcl_ins_active")) + " FROM DUAL" // Actief.
+ " UNION SELECT 2, " + safe.quoted_sql(L("lcl_ins_not_active")) + " FROM DUAL" // Niet actief.
+ " UNION SELECT 3, " + safe.quoted_sql(L("lcl_ins_both")) + " FROM DUAL" // Beide.
+ " ORDER BY 1";
FCLTselector("actief",
sql,
{ initKey: 3,
label: L("lcl_ins_active_notactive")
});
} %>
</table>
</td><!-- end column 2-->
</tr>

View File

@@ -68,6 +68,7 @@ var insAvail = getQParamInt("insAvail", 0) == 1; // Beschikbaar
var insSuccessY = getQParamInt("insSuccessY", 0) == 1; // Succes Ja.
var insSuccessN = getQParamInt("insSuccessN", 0) == 1; // Succes Nee.
var actief = getQParamInt("actief", 3); // Actief/Niet Actief/Beide.
var insInspect = getQParamInt("inspect", 0) == 1;
var inspDone = getQParamInt("insInspDone", 0) == 1;
@@ -144,7 +145,8 @@ ins_list ( autfunction,
insLentOut: insLentOut,
insAvail: insAvail,
insSuccessY: insSuccessY,
insSuccessN: insSuccessN
insSuccessN: insSuccessN,
actief: actief
}
);
%>

View File

@@ -53,6 +53,7 @@ sql = "SELECT d.ins_deel_omschrijving" // identificatie
+ " , d.ins_alg_ruimte_key_org"
+ " , d.ins_alg_ruimte_type_org"
+ " , d.ins_deel_vervaldatum"
+ " , d.ins_deel_actief"
+ " , d.ins_deel_verwijder"
+ " , d.ins_deel_state"
+ " , d.ins_deel_t_uitvoertijd.tijdsduur uitvoertijd"
@@ -83,6 +84,7 @@ var bind_key = oRs("ins_alg_ruimte_key").Value;
var o_loc = parseInt(oRs("ins_alg_locatie_key").Value);
var aanmaak = new Date(oRs("ins_deel_aanmaak").Value);
var vervaldatum = oRs('ins_deel_vervaldatum').Value;
var actief = oRs('ins_deel_actief').Value == 1;
var srtdeel_key = oRs("ins_srtdeel_key").Value;
var srtgroep_key = oRs("ins_srtgroep_key").Value;
var disc_key = oRs("ins_discipline_key").Value;
@@ -361,6 +363,7 @@ oRs.Close();
ROFIELDTR("fld", L("lcl_deel_state"), state, params);
ROFIELDTR("fld", L("lcl_ins_vervaldatum"), toDateString(vervaldatum), {suppressEmpty: true});
ROCHECKBOXTR("fldcheck", L("lcl_ins_active"), actief);
FCLTpersoonselector("personH", "sgins_manager",
{label: L("lcl_ins_manager"),
perslidKey: perslid_key_beh,