Merge branch 'develop'

This commit is contained in:
Samuele E. Locatelli
2020-02-07 14:28:08 +01:00
20 changed files with 186 additions and 453 deletions
-8
View File
@@ -400,7 +400,6 @@
<Content Include="WebUserControls\cmp_offlineOrders.ascx" />
<Content Include="WebUserControls\cmp_offOrderDetail.ascx" />
<Content Include="WebUserControls\cmp_OOLI_detail.ascx" />
<Content Include="WebUserControls\cmp_orderStatus.ascx" />
<Content Include="WebUserControls\cmp_scrapList.ascx" />
<Content Include="WebUserControls\cmp_slider.ascx" />
<Content Include="WebUserControls\cmp_stackBuilding.ascx" />
@@ -948,13 +947,6 @@
<Compile Include="WebUserControls\cmp_OOLI_detail.ascx.designer.cs">
<DependentUpon>cmp_OOLI_detail.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_orderStatus.ascx.cs">
<DependentUpon>cmp_orderStatus.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_orderStatus.ascx.designer.cs">
<DependentUpon>cmp_orderStatus.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_scrapList.ascx.cs">
<DependentUpon>cmp_scrapList.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
+1
View File
@@ -4,6 +4,7 @@
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="environment" value="DEV" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<!--conf dati locali-->
<add key="_SqlCopyDir" value="\\sql2016dev\Share\NKC\" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="_SqlImportDir" value="c:\Share\NKC\" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
+2 -3
View File
@@ -13,7 +13,7 @@
</sectionGroup>
</configSections>
<system.web>
<compilation targetFramework="4.6.2" debug="true"/>
<compilation targetFramework="4.6.2"/>
<httpRuntime targetFramework="4.6.2"/>
<pages>
<namespaces>
@@ -43,12 +43,11 @@
<add key="intUpdatePagina_ms" value="120000"/>
<add key="appName" value="NKC"/>
<add key="CodModulo" value="NKC"/>
<add key="environment" value="DEV"/>
<add key="copyRight" value="Egaltech &amp; Steamware "/>
<add key="authSenzaDominio" value="true"/>
<add key="_safePages" value="Test#Home#Default"/>
<add key="BaseUrl" value="http://IIS02/NKC"/>
<!--area DEV/testing-->
<add key="enableSimProd" value="true"/>
<!--area logger-->
<add key="_logDir" value="~/logs/"/>
<add key="enableDumpDiag" value="false"/>
+3 -4
View File
@@ -9,22 +9,21 @@
<ItemTemplate>
<div runat="server" id="divBlock" class='<%# "row small alert border-thick px-0 " + getCss(Eval("ShStatus")) %>' role="alert">
<div class="col-12">
<h4>
<asp:Label runat="server" ID="lblTitle" Text='<%# getTitle(Eval("ShStatus")) %>' /></h4>
<h5><asp:Label runat="server" ID="lblTitle" Text='<%# getTitle(Eval("ShStatus")) %>' CssClass="text-uppercase" /></h5>
</div>
<div class="col-8 text-left">
<b>
<asp:Label ID="MatExtCodeLabel" runat="server" Text='<%# Eval("MatExtCode") %>' /></b>
</div>
<div class="col-4 text-right">
Stack: <b>
stack: <b>
<asp:Label ID="StackIndexLabel" runat="server" Text='<%# Eval("StackIndex") %>' /></b>
</div>
<div class="col-8 text-left">
<asp:Label ID="MatDescLabel" runat="server" Text='<%# Eval("MatDesc") %>' />
</div>
<div class="col-4 text-right">
Sheet: <b>
sheet: <b>
<asp:Label ID="SheetIndexLabel" runat="server" Text='<%# Eval("SheetIndex") %>' /></b>
</div>
<div class="col-4 text-center">
+22 -26
View File
@@ -3,7 +3,7 @@
<asp:FormView ID="frmView" runat="server" DataKeyNames="BatchID" DataSourceID="ods" Width="100%">
<ItemTemplate>
<div class="row">
<div class="row small">
<div class="col-9">
<h3>Batch Detail</h3>
</div>
@@ -18,17 +18,11 @@
<div class="row">
<div class="col-6">
<div class="form-group row py-0 mt-0 mb-1">
<label for="BatchIDLabel" class="col-sm-4 col-form-label py-0">Date</label>
<label for="BatchIDLabel" class="col-sm-4 col-form-label py-0">Name</label>
<div class="col-sm-8 font-weight-bold">
<asp:Label ID="TaktLabel" runat="server" Text='<%# Eval("Takt") %>' />
</div>
</div>
<div class="form-group row py-0 mt-0 mb-1">
<label for="lblNumOrders" class="col-sm-4 col-form-label py-0">Num KIT</label>
<div class="col-sm-8 font-weight-bold">
<asp:Label ID="lblNumOrders" runat="server" Text='<%# Eval("NumOrders") %>' />
</div>
</div>
</div>
<div class="col-6">
<div class="form-group row py-0 mt-0 mb-1">
@@ -37,26 +31,12 @@
<asp:Label ID="StatusLabel" runat="server" Text='<%# BStatus(Eval("Status")) %>' />
</div>
</div>
<div class="form-group row py-0 mt-0 mb-1">
<label for="lblNumItems" class="col-sm-4 col-form-label py-0">Num Items</label>
<div class="col-sm-8 font-weight-bold">
<asp:Label ID="lblNumItems" runat="server" Text='<%# Eval("NumItems") %>' />
</div>
</div>
</div>
<div class="col-6">
<div class="form-group row py-0 mt-0 mb-1">
<label for="NestingReqLabel" class="col-sm-4 col-form-label py-0">Nesting Req</label>
<label for="lblNumOrders" class="col-sm-4 col-form-label py-0"># KIT/Parts</label>
<div class="col-sm-8 font-weight-bold">
<asp:Label ID="NestingReqLabel" runat="server" Text='<%# Eval("NestingReq") %>' />
</div>
</div>
</div>
<div class="col-6">
<div class="form-group row py-0 mt-0 mb-1">
<label for="NestingRespLabel" class="col-sm-4 col-form-label py-0">Nesting Compl</label>
<div class="col-sm-8 font-weight-bold">
<asp:Label ID="NestingRespLabel" runat="server" Text='<%# Eval("NestingResp") %>' />
<asp:Label ID="lblNumOrders" runat="server" Text='<%# Eval("NumOrders") %>' />/<asp:Label ID="Label2" runat="server" Text='<%# Eval("NumItems") %>' />
</div>
</div>
</div>
@@ -80,8 +60,24 @@
</asp:ObjectDataSource>
<div class="row">
<div class="col-12 small text-secondary">
<div class="row small text-dark">
<div class="col-6">
<div class="form-group row py-0 mt-0 mb-1">
<label for="TotalTimeLabel" class="col-sm-4 col-form-label py-0">Mat OEE</label>
<div class="col-sm-8 font-weight-bold">
<asp:Label runat="server" ID="lblMatDet" />
</div>
</div>
</div>
<div class="col-6">
<div class="form-group row py-0 mt-0 mb-1">
<label for="TotalTimeLabel" class="col-sm-4 col-form-label py-0">Prod</label>
<div class="col-sm-8 font-weight-bold">
<asp:Label runat="server" ID="lblProdDet" />
</div>
</div>
</div>
<div class="col-12 ">
<asp:Label runat="server" ID="lblTestJson" />
</div>
</div>
+24 -22
View File
@@ -28,8 +28,8 @@ namespace NKC_WF.WebUserControls
// cerco da lista salvataggi Estim/Nest...
var estimAnsw = ComLib.man.getEstAnsw(value);
var nestAnsw = ComLib.man.getNestAnsw(value);
StringBuilder sb = new StringBuilder();
sb.AppendLine("DETAIL INFO:");
StringBuilder sbDebug = new StringBuilder();
sbDebug.AppendLine("Debug Info:");
// elenchi x ricerca duplicati
List<int> partListEstim = new List<int>();
List<int> partListEstimDupl = new List<int>();
@@ -55,17 +55,17 @@ namespace NKC_WF.WebUserControls
{ }
try
{
sb.AppendLine($"ESTIM: EnvNum: {estimAnsw.EnvNum} | Worktime: {estimAnsw.EstimatedWorktime / 60:N2} min | Processing Runtime {estimAnsw.ProcessingRuntime / 60:N2} min | Parts #: {estimAnsw.PartList.Count} | Distinct Part # {partListEstim.Count}");
sbDebug.AppendLine($"ESTIM: EnvNum: {estimAnsw.EnvNum} | Worktime: {estimAnsw.EstimatedWorktime / 60:N2} min | Processing Runtime {estimAnsw.ProcessingRuntime / 60:N2} min | Parts #: {estimAnsw.PartList.Count} | Distinct Part # {partListEstim.Count}");
// se ho duplicati indico:
if (partListEstimDupl.Count > 0)
{
sb.AppendLine("---------------------");
sb.AppendLine($"ESTIM: FOUND {partListEstimDupl.Count} duplicate:");
sbDebug.AppendLine("---------------------");
sbDebug.AppendLine($"ESTIM: FOUND {partListEstimDupl.Count} duplicate:");
foreach (var partId in partListEstimDupl)
{
sb.AppendLine($"{partId}");
sbDebug.AppendLine($"{partId}");
}
sb.AppendLine("---------------------");
sbDebug.AppendLine("---------------------");
}
}
catch
@@ -143,54 +143,56 @@ namespace NKC_WF.WebUserControls
double avgRatio = workRatio.Average();
double minRatio = workRatio.Min();
double maxRatio = workRatio.Max();
sb.AppendLine($"NEST: EnvNum: {nestAnsw.EnvNum}");
sb.AppendLine($" - Worktime: <b>{nestAnsw.EstimatedWorktime / 60:N2}</b> min | Processing Runtime <b>{nestAnsw.ProcessingRuntime / 60:N2}</b> min | Materials: <b>{materialsList.Count}</b> ");
sb.AppendLine($" - Bunks #: <b>{nestAnsw.BunkList.Count}</b> | Sheets #: <b>{totSheet}</b> | Carts #: <b>{nestAnsw.CartList.Count}</b> | Bins #: <b>{nestAnsw.BinList.Count}</b> | Kits #: <b>{totKit}</b> | Parts #: <b>{totPartNum}</b>");
sb.AppendLine($" - OEE: <b>{avgRatio:P1}</b> (min: <b>{minRatio:P1}</b> --> MAX: <b>{maxRatio:P1}</b>)");
sbDebug.AppendLine($"NEST: EnvNum: {nestAnsw.EnvNum} | Worktime: {nestAnsw.EstimatedWorktime / 60:N2} min | Processing Runtime {nestAnsw.ProcessingRuntime / 60:N2} min");
lblMatDet.Text = $"avg: <b>{avgRatio:P1}</b> (<b>{minRatio:P1}</b> &rarr; <b>{maxRatio:P1}</b>) | {materialsList.Count} matetials";
lblProdDet.Text = $"Bunks: <b>{nestAnsw.BunkList.Count}</b> | Sheets: <b>{totSheet}</b> | Carts: <b>{nestAnsw.CartList.Count}</b> | Bins: <b>{nestAnsw.BinList.Count}</b>";
// se ho duplicati indico:
if (partListNestDupl.Count > 0)
{
sb.AppendLine("---------------------");
sb.AppendLine($"NEST: FOUND {partListNestDupl.Count} duplicate:");
sbDebug.AppendLine("---------------------");
sbDebug.AppendLine($"NEST: FOUND {partListNestDupl.Count} duplicate:");
foreach (var partId in partListNestDupl)
{
sb.AppendLine($"{partId}");
sbDebug.AppendLine($"{partId}");
}
sb.AppendLine("---------------------");
sbDebug.AppendLine("---------------------");
}
// s enon corrispondono
if (partListEstim.Count != partListNest.Count)
{
sb.AppendLine("---------------------");
sbDebug.AppendLine("---------------------");
if (partListEstim.Count > partListNest.Count)
{
sb.AppendLine($"EST OK | NEST missing:");
sbDebug.AppendLine($"EST OK | NEST missing:");
foreach (var partId in partListEstim)
{
if (!partListNest.Contains(partId))
{
sb.AppendLine($"{partId}");
sbDebug.AppendLine($"{partId}");
}
}
}
else
{
sb.AppendLine($"EST missing | NEST OK:");
sbDebug.AppendLine($"EST missing | NEST OK:");
foreach (var partId in partListNest)
{
if (!partListEstim.Contains(partId))
{
sb.AppendLine($"{partId}");
sbDebug.AppendLine($"{partId}");
}
}
}
sb.AppendLine("---------------------");
sbDebug.AppendLine("---------------------");
}
}
catch
{ }
}
lblTestJson.Text = sb.Replace("\r\n", "<br/>").ToString();
if (memLayer.ML.CRS("environment") == "DEV")
{
lblTestJson.Text = "<hr/>" + sbDebug.Replace("\r\n", "<br/>").ToString();
}
}
}
get
+18
View File
@@ -41,6 +41,24 @@ namespace NKC_WF.WebUserControls
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary>
/// Controllo lblMatDet.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMatDet;
/// <summary>
/// Controllo lblProdDet.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblProdDet;
/// <summary>
/// Controllo lblTestJson.
/// </summary>
+1 -1
View File
@@ -5,7 +5,7 @@
<div class="row">
<div class="col-12 table-info" runat="server" id="divDetail">
<div class="col-12 border border-info table-info rounded py-2" runat="server" id="divDetail">
<uc1:cmp_batchDetail runat="server" ID="cmp_batchDetail" />
</div>
<div class="col-12">
+2 -2
View File
@@ -3,13 +3,13 @@
<asp:HiddenField runat="server" ID="hfWriteEnabled" />
<div id="divFileUpl" runat="server" class="row">
<div class="col-12 col-sm-3 col-md-2">
<asp:Button ID="btnCancel" runat="server" Text="Annulla" OnClick="btnCancel_Click" CssClass="btn btn-warning form-control" />
<asp:LinkButton ID="lbtCancel" runat="server" Text="Annulla" OnClick="btnCancel_Click" CssClass="btn btn-warning form-control"><%: traduci("cancel") %></asp:LinkButton>
</div>
<div class="col-12 col-sm-6 col-md-8">
<asp:FileUpload ID="FileUpload1" runat="server" CssClass="form-control" />
</div>
<div class="col-12 col-sm-3 col-md-2">
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="Upload" CssClass="btn btn-success form-control" />
<asp:LinkButton ID="lbtUpload" runat="server" Text="Upload" OnClick="Upload" CssClass="btn btn-success form-control" ><%: traduci("doUpload") %></asp:LinkButton>
</div>
</div>
<div id="divNewEdit" runat="server" class="row">
@@ -160,7 +160,7 @@ namespace NKC_WF.WebUserContols
protected void btnAdd_Click(object sender, EventArgs e)
{
fisVisFU(true);
btnUpload.Text = "Carica Nuovo";
lbtUpload.Text = traduci("AddNew");
}
/// <summary>
/// fix visibilità controllo file upload
@@ -170,7 +170,7 @@ namespace NKC_WF.WebUserContols
{
divFileUpl.Visible = showAdd;
btnAdd.Visible = !showAdd;
btnCancel.Visible = showAdd;
lbtCancel.Visible = showAdd;
}
protected void btnCancel_Click(object sender, EventArgs e)
+70 -68
View File
@@ -7,72 +7,74 @@
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserContols {
public partial class cmp_fileUpload {
/// <summary>
/// Controllo hfWriteEnabled.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfWriteEnabled;
/// <summary>
/// Controllo divFileUpl.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divFileUpl;
/// <summary>
/// Controllo btnCancel.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnCancel;
/// <summary>
/// Controllo FileUpload1.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.FileUpload FileUpload1;
/// <summary>
/// Controllo btnUpload.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnUpload;
/// <summary>
/// Controllo divNewEdit.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divNewEdit;
/// <summary>
/// Controllo btnAdd.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnAdd;
}
namespace NKC_WF.WebUserContols
{
public partial class cmp_fileUpload
{
/// <summary>
/// Controllo hfWriteEnabled.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfWriteEnabled;
/// <summary>
/// Controllo divFileUpl.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divFileUpl;
/// <summary>
/// Controllo lbtCancel.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtCancel;
/// <summary>
/// Controllo FileUpload1.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.FileUpload FileUpload1;
/// <summary>
/// Controllo lbtUpload.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtUpload;
/// <summary>
/// Controllo divNewEdit.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divNewEdit;
/// <summary>
/// Controllo btnAdd.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnAdd;
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_menuTop.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_menuTop" %>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark text-light py-1">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark text-light py-1 mb-1">
<asp:LinkButton runat="server" ID="lbnUpdate" Text="---" OnClick="lbnUpdate_Click" CssClass="navbar-brand" ToolTip="Update + HOME">Sauder NKC <i class="fa fa-object-group" aria-hidden="true"></i></asp:LinkButton>
<%--<a class="navbar-brand" href="#">Sauder NKC <i class="fa fa-object-group" aria-hidden="true"></i></a>--%>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
@@ -1,53 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_orderStatus.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_orderStatus" %>
<asp:UpdatePanel ID="updPanelStatus" runat="server">
<ContentTemplate>
<div class="row">
<div class="col-6">
Stiamo processando il batch <b><%: Session["BatchID"] %></b>
<br />
nome file: pippo.csv
<br />
Sono contenuti num XX Ordini per un totale di YY Items.
</div>
<div class="col-6">
<h3>
<asp:Label runat="server" ID="lblStatusCode" /></h3>
<asp:Label runat="server" ID="lblProcNotes" />
</div>
<div class="col-12" runat="server" id="divProgress" visible="false">
<div class="progress">
<div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100" style="width: 75%"></div>
</div>
</div>
<div class="col-6">
<dl class="row">
<dd class="col-sm-6"><%: traduci("NestingRuntime") %></dd>
<dt class="col-sm-6 text-right">
<asp:Label runat="server" ID="lblNestingRuntime" />
(sec)</dt>
</dl>
</div>
<div class="col-6">
<dl class="row">
<dd class="col-sm-6"><%: traduci("WorkingEstTime") %></dd>
<dt class="col-sm-6 text-right">
<asp:Label runat="server" ID="lblWrktimeEst" />
(minutes)</dt>
</dl>
</div>
<div class="col-12" runat="server" id="divButtons">
<div class="row">
<div class="col-6">
<asp:LinkButton runat="server" CssClass="btn btn-block btn-success" ID="lbtConfirm" OnClick="lbtConfirm_Click">Accetta</asp:LinkButton>
</div>
<div class="col-6">
<asp:LinkButton runat="server" CssClass="btn btn-block btn-danger" ID="lbtCancel" OnClick="lbtCancel_Click">Annulla</asp:LinkButton>
</div>
</div>
</div>
</div>
<asp:Timer ID="TimerUpdateStatus" runat="server" Enabled="false" Interval="500" OnTick="TimerUpdateStatus_Tick"></asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
@@ -1,98 +0,0 @@
using AppData;
using Newtonsoft.Json;
using NKC_SDK;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class cmp_orderStatus : System.Web.UI.UserControl
{
public orderStatus statoBatch = new orderStatus();
/// <summary>
/// Hash redis per il canale di comunicazione dei batch eseguiti/in esecuzione
/// </summary>
protected string batchInChannel = "NKC:IN:batchReq";
/// <summary>
/// Wrapper traduzione termini
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
return SteamWare.user_std.UtSn.Traduci(lemma);
}
protected void Page_Load(object sender, EventArgs e)
{
updateStatus();
}
/// <summary>
/// ID del batch corrente
/// </summary>
protected int currBatchID
{
get
{
int answ = 0;
if (memLayer.ML.isInSessionObject("BatchID"))
{
answ = memLayer.ML.IntSessionObj("BatchID");
}
return answ;
}
}
/// <summary>
/// Aggiorna visualizzazione status processo
/// </summary>
private void updateStatus()
{
// se trova batch non riportati in REDIS li scrive x richiedere processing
string batchKey = $"{batchInChannel}:{currBatchID}";
// per prima cosa recupero da REDIS lo stato...
bool statusPresent = !string.IsNullOrEmpty(memLayer.ML.getRSV(batchKey));
if (statusPresent)
{
string payload = memLayer.ML.getRSV(batchKey);
if (!string.IsNullOrEmpty(payload))
{
try
{
statoBatch = JsonConvert.DeserializeObject<orderStatus>(payload);
}
catch
{ }
// aggiorno componente...
lblStatusCode.Text = statoBatch.ProcessStatus.ToString();
lblProcNotes.Text = statoBatch.ProcessNotes;
lblNestingRuntime.Text = statoBatch.ProcessingRuntime.ToString();
lblWrktimeEst.Text = (statoBatch.EstimatedWorktime / 60).ToString();
// secondo status mostro barra...
divProgress.Visible = (statoBatch.ProcessStatus > procStatus.waiting && statoBatch.ProcessStatus < procStatus.error);
divButtons.Visible = (statoBatch.ProcessStatus > procStatus.error && statoBatch.ProcessStatus < procStatus.accepted);
}
}
TimerUpdateStatus.Enabled = statusPresent;
}
protected void TimerUpdateStatus_Tick(object sender, EventArgs e)
{
updateStatus();
}
protected void lbtConfirm_Click(object sender, EventArgs e)
{
// accettazione ordine: scrivo su DB e QUINDI su redis indico accepted
}
protected void lbtCancel_Click(object sender, EventArgs e)
{
// rifiuto ordine: ELIMINO su DB e QUINDI su redis indico refused
}
}
}
-105
View File
@@ -1,105 +0,0 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls {
public partial class cmp_orderStatus {
/// <summary>
/// Controllo updPanelStatus.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.UpdatePanel updPanelStatus;
/// <summary>
/// Controllo lblStatusCode.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblStatusCode;
/// <summary>
/// Controllo lblProcNotes.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblProcNotes;
/// <summary>
/// Controllo divProgress.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divProgress;
/// <summary>
/// Controllo lblNestingRuntime.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNestingRuntime;
/// <summary>
/// Controllo lblWrktimeEst.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblWrktimeEst;
/// <summary>
/// Controllo divButtons.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divButtons;
/// <summary>
/// Controllo lbtConfirm.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtConfirm;
/// <summary>
/// Controllo lbtCancel.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtCancel;
/// <summary>
/// Controllo TimerUpdateStatus.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.Timer TimerUpdateStatus;
}
}
+2 -2
View File
@@ -21,14 +21,14 @@
<ItemTemplate>
<div class="row border bg-success text-light rounded">
<div class="col-4 text-left">
Takt: <b>
BATCH: <b>
<asp:Label ID="TaktLabel" runat="server" Text='<%# Eval("Takt") %>' /></b>
<br />
TOT BUNK: <b>
<asp:Label ID="BatchIDLabel" runat="server" Text='<%# Eval("NumStacks") %>' /></b>
</div>
<div class="col-4 text-center">
<b><%: traduci("StackReading") %></b>
<b><%: traduci("BunkReading") %></b>
<br />
TOT SHEETS: <b>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("NumSheets") %>' /></b>
@@ -178,7 +178,7 @@ namespace NKC_WF.WebUserControls
lblLoaded.Visible = StackId != 0;
frmView.Visible = !lblLoaded.Visible;
// fix div di simulazione
divSim.Visible = memLayer.ML.CRB("enableSimProd");
divSim.Visible = (memLayer.ML.CRS("environment") == "DEV");
}
public void doUpdate()
@@ -29,7 +29,7 @@
(<asp:Label ID="StackIndexLabel" runat="server" Text='<%# Eval("StackIndex") %>' />/2)
</div>
<div class="col-4 text-center">
Sheets:<b><asp:Label ID="NumSheetsLabel" runat="server" Text='<%# Eval("NumSheets") %>' /></b> | printed: <b>
sheets:<b><asp:Label ID="NumSheetsLabel" runat="server" Text='<%# Eval("NumSheets") %>' /></b> | printed: <b>
<asp:Label ID="NumSheetsPrintedLabel" runat="server" Text='<%# Eval("NumSheetsPrinted") %>' /></b> | worked: <b>
<asp:Label ID="NumSheetsWorkedLabel" runat="server" Text='<%# Eval("NumSheetsWorked") %>' /></b>
</div>
@@ -56,7 +56,7 @@
(<asp:Label ID="StackIndexLabel" runat="server" Text='<%# Eval("StackIndex") %>' />/2)
</div>
<div class="col-4 text-center">
Sheets:<b><asp:Label ID="NumSheetsLabel" runat="server" Text='<%# Eval("NumSheets") %>' /></b> | printed: <b>
sheets:<b><asp:Label ID="NumSheetsLabel" runat="server" Text='<%# Eval("NumSheets") %>' /></b> | printed: <b>
<asp:Label ID="NumSheetsPrintedLabel" runat="server" Text='<%# Eval("NumSheetsPrinted") %>' /></b> | worked: <b>
<asp:Label ID="NumSheetsWorkedLabel" runat="server" Text='<%# Eval("NumSheetsWorked") %>' /></b>
</div>
@@ -72,7 +72,7 @@
<b>NO NEXT BUNK</b>
</div>
<div class="col-6 text-right text-secondary">
Shift complete
BATCH complete
</div>
</div>
</EmptyDataTemplate>
-4
View File
@@ -1,7 +1,6 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/SiteContent.Master" AutoEventWireup="true" CodeBehind="OrderManager.aspx.cs" Inherits="NKC_WF.OrderManager" %>
<%@ Register Src="~/WebUserControls/cmp_fileUpload.ascx" TagPrefix="uc1" TagName="cmp_fileUpload" %>
<%@ Register Src="~/WebUserControls/cmp_orderStatus.ascx" TagPrefix="uc1" TagName="cmp_orderStatus" %>
<%@ Register Src="~/WebUserControls/cmp_batchList.ascx" TagPrefix="uc1" TagName="cmp_batchList" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
@@ -15,9 +14,6 @@
<div class="col-12 mb-2">
<uc1:cmp_fileUpload runat="server" ID="cmp_fileUpload" isWriteEnabled="true" />
</div>
<div class="col-12" runat="server" id="divStatus" visible="false">
<uc1:cmp_orderStatus runat="server" ID="cmp_orderStatus" />
</div>
<div class="col-12" runat="server" id="divBatchList">
<uc1:cmp_batchList runat="server" id="cmp_batchList" />
</div>
+34 -50
View File
@@ -7,54 +7,38 @@
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace NKC_WF {
public partial class OrderManager {
/// <summary>
/// Controllo cmp_fileUpload.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::NKC_WF.WebUserContols.cmp_fileUpload cmp_fileUpload;
/// <summary>
/// Controllo divStatus.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divStatus;
/// <summary>
/// Controllo cmp_orderStatus.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_orderStatus cmp_orderStatus;
/// <summary>
/// Controllo divBatchList.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divBatchList;
/// <summary>
/// Controllo cmp_batchList.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_batchList cmp_batchList;
}
namespace NKC_WF
{
public partial class OrderManager
{
/// <summary>
/// Controllo cmp_fileUpload.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::NKC_WF.WebUserContols.cmp_fileUpload cmp_fileUpload;
/// <summary>
/// Controllo divBatchList.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divBatchList;
/// <summary>
/// Controllo cmp_batchList.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_batchList cmp_batchList;
}
}