fix gestione calcolo possibilità nesting x caching redis
This commit is contained in:
@@ -604,6 +604,43 @@ namespace AppData
|
||||
// restituisco ok
|
||||
return answ;
|
||||
}
|
||||
public static string canStartNewKey
|
||||
{
|
||||
get
|
||||
{
|
||||
return $"{redOutPath}:CanStartNew";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// verifica se sia avviabile un nuovo task nesting controllando cache Redis o tabelle batch/offlineOrders
|
||||
/// </summary>
|
||||
public static bool canStartNew
|
||||
{
|
||||
get
|
||||
{
|
||||
bool answ = false;
|
||||
bool valido = false;
|
||||
// cerco in redis
|
||||
if (memLayer.ML.redKeyPresent(canStartNewKey))
|
||||
{
|
||||
string rawData = memLayer.ML.getRSV(canStartNewKey);
|
||||
valido = bool.TryParse(rawData, out answ);
|
||||
}
|
||||
if (!valido)
|
||||
{
|
||||
// in primis controllo SE ci siano task running, nel qual caso è false e basta...
|
||||
int numEst = DataLayer.man.taBL.getByStatus((int)BatchStatus.EstimationRequested, "", 0).Count;
|
||||
int numNest = DataLayer.man.taBL.getByStatus((int)BatchStatus.NestRequested, "", 0).Count;
|
||||
// ora controllo anche offline orders...
|
||||
int numOffOrd = DataLayer.man.taOffOL.getRunning().Count;
|
||||
// ora la somma di tutti DEVE essere zero...
|
||||
answ = ((numEst + numNest + numOffOrd) == 0);
|
||||
// salvo in redis
|
||||
memLayer.ML.setRSV(canStartNewKey, answ.ToString(), 2);
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifica lo stato di una richiesta di esecuzione BATCH x stima/nesting
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<div class="row small">
|
||||
<div class="col-9">
|
||||
<h3><%: traduci ("BatchDetail") %></h3>
|
||||
<asp:Label runat="server" ID="lblRequestPresent" CssClass="text-danger" Visible='<%# !canStartNew() %>' Text='<%# traduci("NewNestReqDisabled") %>' />
|
||||
<asp:Label runat="server" ID="lblRequestPresent" CssClass="text-danger" Visible='<%# !canStartNew %>' Text='<%# traduci("NewNestReqDisabled") %>' />
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<asp:LinkButton runat="server" ID="lbtSendEstim" CssClass="btn btn-sm btn-block btn-info" OnClick="lbtSendEstim_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStartEstim") %>' Visible='<%# (checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Errors) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Imported)) && canStartNew() %>'><%: traduci("SendToEstim") %></asp:LinkButton>
|
||||
<asp:LinkButton runat="server" ID="lbtSendEstim" CssClass="btn btn-sm btn-block btn-info" OnClick="lbtSendEstim_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStartEstim") %>' Visible='<%# (checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Errors) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Imported)) && canStartNew %>'><%: traduci("SendToEstim") %></asp:LinkButton>
|
||||
<asp:LinkButton runat="server" ID="lbtStopEstim" CssClass="btn btn-sm btn-block btn-dark" OnClick="lbtStopEstim_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStopEstim") %>' Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationRequested) %>'><%: traduci("StopEstim") %></asp:LinkButton>
|
||||
<asp:LinkButton runat="server" ID="lbtSendNesting" CssClass="btn btn-sm btn-block btn-warning" OnClick="lbtSendNesting_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStartNest") %>' Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationDone) && canStartNew() %>'><%: traduci("SendToNest") %></asp:LinkButton>
|
||||
<asp:LinkButton runat="server" ID="lbtSendNesting" CssClass="btn btn-sm btn-block btn-warning" OnClick="lbtSendNesting_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStartNest") %>' Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationDone) && canStartNew %>'><%: traduci("SendToNest") %></asp:LinkButton>
|
||||
<asp:LinkButton runat="server" ID="lbtStopNesting" CssClass="btn btn-sm btn-block btn-dark" OnClick="lbtStopNesting_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStopNest") %>' Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestRequested) %>'><%: traduci("StopNest") %></asp:LinkButton>
|
||||
<asp:LinkButton runat="server" ID="lbtAccept" CssClass="btn btn-sm btn-block btn-success" OnClick="lbtAccept_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmAcceptNest") %>' Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestDone) %>'><%: traduci("AcceptNest") %></asp:LinkButton>
|
||||
</div>
|
||||
|
||||
@@ -239,17 +239,12 @@ namespace NKC_WF.WebUserControls
|
||||
/// verifica possibilità avvio TASK x presenza task NON chiusi
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool canStartNew()
|
||||
public bool canStartNew
|
||||
{
|
||||
bool answ = false;
|
||||
// in primis controllo SE ci siano task running, nel qual caso è false e basta...
|
||||
int numEst = DataLayer.man.taBL.getByStatus((int)BatchStatus.EstimationRequested, "", 0).Count;
|
||||
int numNest = DataLayer.man.taBL.getByStatus((int)BatchStatus.NestRequested, "", 0).Count;
|
||||
// ora controllo anche offline orders...
|
||||
int numOffOrd = DataLayer.man.taOffOL.getRunning().Count;
|
||||
// ora la somma di tutti DEVE essere zero...
|
||||
answ = ((numEst + numNest + numOffOrd) == 0);
|
||||
return answ;
|
||||
get
|
||||
{
|
||||
return ComLib.canStartNew;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Converte il codice stato in effettivo campo
|
||||
|
||||
@@ -27,11 +27,11 @@
|
||||
<hr />
|
||||
<div class="row my-2">
|
||||
<div class="col">
|
||||
<asp:LinkButton runat="server" ID="lbtMakeCnc" CssClass="btn btn-success btn-block" Visible='<%# obj2int(Eval("OrdStatus")) <= 0 && canStartNew() %>' OnClick="lbtMakeCnc_Click" OnClientClick='return confirm("Send to CAM?")'><i class="fa fa-laptop" aria-hidden="true"></i> <%: traduci ("MakeCncProg") %></asp:LinkButton>
|
||||
<asp:LinkButton runat="server" ID="lbtMakeCnc" CssClass="btn btn-success btn-block" Visible='<%# obj2int(Eval("OrdStatus")) <= 0 && canStartNew %>' OnClick="lbtMakeCnc_Click" OnClientClick='return confirm("Send to CAM?")'><i class="fa fa-laptop" aria-hidden="true"></i> <%: traduci ("MakeCncProg") %></asp:LinkButton>
|
||||
<asp:LinkButton runat="server" ID="lbtStopCnc" CssClass="btn btn-dark text-light btn-block" Visible='<%# obj2int(Eval("OrdStatus")) == 1 && Eval("DrawFilePath").ToString() == "" %>' OnClick="lbtStopCnc_Click" OnClientClick='return confirm("Remove request to CAM?")'><i class="fa fa-laptop" aria-hidden="true"></i> <%: traduci ("StopCncReq") %></asp:LinkButton>
|
||||
</div>
|
||||
<div class="col">
|
||||
<asp:Label runat="server" ID="lblRequestPresent" CssClass="text-danger" Visible='<%# !canStartNew() %>' Text='<%# traduci("NewNestReqDisabled") %>' />
|
||||
<asp:Label runat="server" ID="lblRequestPresent" CssClass="text-danger" Visible='<%# !canStartNew %>' Text='<%# traduci("NewNestReqDisabled") %>' />
|
||||
<asp:LinkButton runat="server" ID="lblDone" CssClass="btn btn-success btn-block" Visible='<%# (Eval("OrdStatus").ToString()=="1" && Eval("DrawFilePath").ToString()!="") || Eval("OrdStatus").ToString()=="2" %>' OnClick="lblDone_Click" OnClientClick='return confirm("Confirm Item production?")'><i class="fa fa-check" aria-hidden="true"></i> <%: traduci ("ItemDone") %></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -83,7 +83,7 @@ namespace NKC_WF.WebUserControls
|
||||
DataLayer.man.taOffOL.updateStatus(OffOrdId, 0);
|
||||
}
|
||||
frmView.DataBind();
|
||||
raiseEvent();
|
||||
raiseEvent();
|
||||
}
|
||||
|
||||
protected void lbtPrintLabels_Click(object sender, EventArgs e)
|
||||
@@ -120,17 +120,12 @@ namespace NKC_WF.WebUserControls
|
||||
/// verifica possibilità avvio TASK x presenza task NON chiusi
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool canStartNew()
|
||||
public bool canStartNew
|
||||
{
|
||||
bool answ = false;
|
||||
// in primis controllo SE ci siano task running, nel qual caso è false e basta...
|
||||
int numEst = DataLayer.man.taBL.getByStatus((int)BatchStatus.EstimationRequested, "", 0).Count;
|
||||
int numNest = DataLayer.man.taBL.getByStatus((int)BatchStatus.NestRequested, "", 0).Count;
|
||||
// ora controllo anche offline orders...
|
||||
int numOffOrd = DataLayer.man.taOffOL.getRunning().Count;
|
||||
// ora la somma di tutti DEVE essere zero...
|
||||
answ = ((numEst + numNest + numOffOrd) == 0);
|
||||
return answ;
|
||||
get
|
||||
{
|
||||
return ComLib.canStartNew;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user