Compare commits

...

12 Commits

Author SHA1 Message Date
Samuele Locatelli b22579ca6e Merge branch 'release/ManNumIndexCB' 2021-07-20 08:50:52 +02:00
Samuele Locatelli 691ae3f123 Aggiunta gestione num indice carrello da impiegare 2021-07-20 08:48:46 +02:00
Samuele Locatelli 47b85f98b3 Fix upd messages 2021-07-20 08:11:53 +02:00
Samuele Locatelli 26234bce04 modifica gestione nesting con 2 macchine (TO TEST!!!) 2021-07-19 19:01:32 +02:00
Samuele Locatelli e7eb09e44a Merge tag 'RC_2.0' into develop
COmpletata prima RC x versione 2 con stampe differenziate
2021-07-17 11:46:01 +02:00
Samuele Locatelli 669f5d8478 Merge branch 'release/RC_2.0' 2021-07-17 11:45:46 +02:00
Samuele Locatelli ae1fd38bbb Merge branch 'feature/LabelPrintingDualMachine' into develop 2021-07-17 11:42:47 +02:00
Samuele Locatelli 00cb127ac4 Update x gestione stampe su code differenti NE01/NE02 2021-07-17 11:42:31 +02:00
Samuele Locatelli c34b0d6768 Inizio modifica pagina stampa labels 2021-07-16 19:22:09 +02:00
Samuele Locatelli ac50e00c85 Fix barra bilanciamento 2021-07-16 19:14:31 +02:00
Samuele Locatelli c6bf8db9ef Code cleanup 2021-07-16 18:56:48 +02:00
Samuele Locatelli 3e65a59ae6 Merge tag 'NewUpdMan' into develop
NUova gestione update manager
2021-07-16 18:48:45 +02:00
22 changed files with 519 additions and 265 deletions
-4
View File
@@ -271,10 +271,6 @@
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" /> <Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" /> <Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" />
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" /> <Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" />
<Content Include="libzstd.dll" />
<Content Include="mongocrypt.dll" />
<Content Include="snappy32.dll" />
<Content Include="snappy64.dll" />
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+117 -3
View File
@@ -2235,6 +2235,118 @@ namespace AppData
return answ; return answ;
} }
/// <summary>
/// Invia una richiesta di esecuzione di Nesting x un Batch ANCESTOR
/// </summary>
/// <param name="BatchID">Batch di cui si chiede processing</param>
/// <returns></returns>
public static bool checkSendBatchSplit(int BatchID)
{
int nextIndex = 1;
bool batchSent = false;
bool batchProcessed = false;
DataLayer DLMan = new DataLayer();
var currType = ComLib.BType(BatchID);
// NKC2: controllo SE sia un batch tipo ancestor (1° invio)
if (currType == BatchType.Ancestor)
{
nextIndex = 10;
// recupero batch descendant
var tabDesc = ComLib.BatchDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo fino a trovare un batch VALIDO (= contiene ordini)
foreach (var item in tabDesc)
{
batchProcessed = false;
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
// primo parto da indice 10...
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
#if false
int BatchDescId = tabDesc[0].BatchID;
ComLib.sendBatchReq(BatchDescId, "Nesting", 2, false);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(BatchDescId, (int)BatchStatus.NestRequested, "", -1);
#endif
}
}
// NKC2: se è un batch ti dipo descendant (invii successivi)
if (currType == BatchType.Descendant)
{
// verifico se ce ne siano altri NON validati (ma splitted)
var tabDesc = ComLib.BatchOtherDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo x tutte le righe che NON fossero con nesting effettuato
foreach (var item in tabDesc)
{
nextIndex += 50;
batchProcessed = false;
// se c'è qualcosa da processare lo richiede
if (item.STATUS == 2)
{
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
// se non ha trovato nulla --> prova update Batch Ancestor...
}
}
}
return batchSent;
}
/// <summary> /// <summary>
/// Invia una richiesta di esecuzione di Nesting x un Batch /// Invia una richiesta di esecuzione di Nesting x un Batch
/// </summary> /// </summary>
@@ -2242,8 +2354,9 @@ namespace AppData
/// <param name="note">note opzionali</param> /// <param name="note">note opzionali</param>
/// <param name="pType">Tipo processo: 1 = stima, 2 = nesting, 3 = stima EXTENDED</param> /// <param name="pType">Tipo processo: 1 = stima, 2 = nesting, 3 = stima EXTENDED</param>
/// <param name="isValidation">Indica se sia validaizone (part o disegno) --> in tal caso MaxTime = 1</param> /// <param name="isValidation">Indica se sia validaizone (part o disegno) --> in tal caso MaxTime = 1</param>
/// <param name="numIndexStart">Numero di indice richiesto con cui partire x creare CART/BIN</param>
/// <returns></returns> /// <returns></returns>
public static bool sendBatchReq(int BatchID, string note, int pType, bool isValidation) public static bool sendBatchReq(int BatchID, string note, int pType, bool isValidation, int numIndexStart)
{ {
DataLayer DLMan = new DataLayer(); DataLayer DLMan = new DataLayer();
bool answ = false; bool answ = false;
@@ -2336,7 +2449,8 @@ namespace AppData
ProcType = pType, ProcType = pType,
MachineType = mType.Multiax, MachineType = mType.Multiax,
OrderType = oType.BatchRequest, OrderType = oType.BatchRequest,
OrderList = listOrder OrderList = listOrder,
NumIndexStart = numIndexStart
}; };
// serializzo // serializzo
@@ -2390,7 +2504,7 @@ namespace AppData
if (nextBatchId > 0) if (nextBatchId > 0)
{ {
// richiedo! // richiedo!
sendBatchReq(nextBatchId, "Estimation", 1, true); sendBatchReq(nextBatchId, "Estimation", 1, true, 1);
// registro su DB nesting iniziato... QUANDO MI RISPONDE dovrò verificare che era un batch x VALIDAZIONE // registro su DB nesting iniziato... QUANDO MI RISPONDE dovrò verificare che era un batch x VALIDAZIONE
DLMan.taBL.updateStatus(nextBatchId, (int)BatchStatus.EstimationRequested, "", 0); DLMan.taBL.updateStatus(nextBatchId, (int)BatchStatus.EstimationRequested, "", 0);
answ = true; answ = true;
+6
View File
@@ -113,6 +113,12 @@ namespace NKC_SDK
/// </summary> /// </summary>
public int ProcType { get; set; } public int ProcType { get; set; }
/// <summary>
/// Indice di aprtenza (per carrelli, bins...)
/// </summary>
public int NumIndexStart { get; set; } = 1;
#endregion Public Properties #endregion Public Properties
} }
@@ -457,6 +457,7 @@ namespace NKC_WF.Controllers
ComLib.updateBinsFromNesting(rispNest.BatchID, rispNest.BinList); ComLib.updateBinsFromNesting(rispNest.BatchID, rispNest.BinList);
ComLib.updateCartsFromNesting(rispNest.BatchID, rispNest.CartList); ComLib.updateCartsFromNesting(rispNest.BatchID, rispNest.CartList);
#if false
// NKC2: se è un batch ti dipo descendant // NKC2: se è un batch ti dipo descendant
if (ComLib.BType(rispNest.BatchID) == BatchType.Descendant) if (ComLib.BType(rispNest.BatchID) == BatchType.Descendant)
{ {
@@ -482,6 +483,8 @@ namespace NKC_WF.Controllers
} }
} }
} }
#endif
isSplitReq = ComLib.checkSendBatchSplit(rispNest.BatchID);
} }
// registro OK // registro OK
+1
View File
@@ -56,6 +56,7 @@
<asp:HiddenField ID="hfQrSize" runat="server" Value="32" /> <asp:HiddenField ID="hfQrSize" runat="server" Value="32" />
<asp:HiddenField ID="hfShowPrint" runat="server" Value="false" /> <asp:HiddenField ID="hfShowPrint" runat="server" Value="false" />
<asp:HiddenField ID="hfPrintQueue" runat="server" Value="queueND" /> <asp:HiddenField ID="hfPrintQueue" runat="server" Value="queueND" />
<asp:HiddenField ID="hfMachineSel" runat="server" Value="#" />
</div> </div>
</div> </div>
</div> </div>
+16 -1
View File
@@ -82,12 +82,27 @@ namespace NKC_WF.WebUserControls
hfPrintQueue.Value = value; hfPrintQueue.Value = value;
} }
} }
/// <summary>
/// Macchina selezionata
/// </summary>
public string MachineSel
{
get
{
return hfMachineSel.Value;
}
set
{
hfMachineSel.Value = value;
currQueue = DLMan.getPrinter($"{value}-UNLOAD2");
}
}
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
if (!Page.IsPostBack) if (!Page.IsPostBack)
{ {
currQueue = DLMan.getPrinter("PC-MACHINE-UNLOAD2"); currQueue = DLMan.getPrinter($"{MachineSel}-UNLOAD2");
} }
} }
public void doUpdate() public void doUpdate()
+35 -26
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <generato automaticamente> // <auto-generated>
// Codice generato da uno strumento. // This code was generated by a tool.
// //
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </generato automaticamente> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
@@ -15,66 +15,75 @@ namespace NKC_WF.WebUserControls
{ {
/// <summary> /// <summary>
/// Controllo grView. /// grView control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.GridView grView; protected global::System.Web.UI.WebControls.GridView grView;
/// <summary> /// <summary>
/// Controllo ods. /// ods control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods; protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary> /// <summary>
/// Controllo hfBatchID. /// hfBatchID control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchID; protected global::System.Web.UI.WebControls.HiddenField hfBatchID;
/// <summary> /// <summary>
/// Controllo hfShowQr. /// hfShowQr control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfShowQr; protected global::System.Web.UI.WebControls.HiddenField hfShowQr;
/// <summary> /// <summary>
/// Controllo hfQrSize. /// hfQrSize control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfQrSize; protected global::System.Web.UI.WebControls.HiddenField hfQrSize;
/// <summary> /// <summary>
/// Controllo hfShowPrint. /// hfShowPrint control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfShowPrint; protected global::System.Web.UI.WebControls.HiddenField hfShowPrint;
/// <summary> /// <summary>
/// Controllo hfPrintQueue. /// hfPrintQueue control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfPrintQueue; protected global::System.Web.UI.WebControls.HiddenField hfPrintQueue;
/// <summary>
/// hfMachineSel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfMachineSel;
} }
} }
+1
View File
@@ -56,6 +56,7 @@
<asp:HiddenField ID="hfQrSize" runat="server" Value="32" /> <asp:HiddenField ID="hfQrSize" runat="server" Value="32" />
<asp:HiddenField ID="hfShowPrint" runat="server" Value="false" /> <asp:HiddenField ID="hfShowPrint" runat="server" Value="false" />
<asp:HiddenField ID="hfPrintQueue" runat="server" Value="queueND" /> <asp:HiddenField ID="hfPrintQueue" runat="server" Value="queueND" />
<asp:HiddenField ID="hfMachineSel" runat="server" Value="#" />
</div> </div>
</div> </div>
</div> </div>
+16 -1
View File
@@ -99,11 +99,26 @@ namespace NKC_WF.WebUserControls
hfPrintQueue.Value = value; hfPrintQueue.Value = value;
} }
} }
/// <summary>
/// Macchina selezionata
/// </summary>
public string MachineSel
{
get
{
return hfMachineSel.Value;
}
set
{
hfMachineSel.Value = value;
currQueue = DLMan.getPrinter($"{value}-UNLOAD");
}
}
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
if(!Page.IsPostBack) if(!Page.IsPostBack)
{ {
currQueue= DLMan.getPrinter("PC-MACHINE-UNLOAD"); currQueue = DLMan.getPrinter($"{MachineSel}-UNLOAD");
} }
} }
public void doUpdate() public void doUpdate()
+35 -26
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <generato automaticamente> // <auto-generated>
// Codice generato da uno strumento. // This code was generated by a tool.
// //
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </generato automaticamente> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
@@ -15,66 +15,75 @@ namespace NKC_WF.WebUserControls
{ {
/// <summary> /// <summary>
/// Controllo grView. /// grView control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.GridView grView; protected global::System.Web.UI.WebControls.GridView grView;
/// <summary> /// <summary>
/// Controllo ods. /// ods control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods; protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary> /// <summary>
/// Controllo hfBatchID. /// hfBatchID control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchID; protected global::System.Web.UI.WebControls.HiddenField hfBatchID;
/// <summary> /// <summary>
/// Controllo hfShowQr. /// hfShowQr control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfShowQr; protected global::System.Web.UI.WebControls.HiddenField hfShowQr;
/// <summary> /// <summary>
/// Controllo hfQrSize. /// hfQrSize control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfQrSize; protected global::System.Web.UI.WebControls.HiddenField hfQrSize;
/// <summary> /// <summary>
/// Controllo hfShowPrint. /// hfShowPrint control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfShowPrint; protected global::System.Web.UI.WebControls.HiddenField hfShowPrint;
/// <summary> /// <summary>
/// Controllo hfPrintQueue. /// hfPrintQueue control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfPrintQueue; protected global::System.Web.UI.WebControls.HiddenField hfPrintQueue;
/// <summary>
/// hfMachineSel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfMachineSel;
} }
} }
+35 -6
View File
@@ -12,6 +12,10 @@ namespace NKC_WF.WebUserControls
{ {
#region Protected Properties #region Protected Properties
/// <summary>
/// verifica se il batch sia di tipo ancestor (da splittare su macchine)
/// </summary>
protected bool BatchIsAncestor protected bool BatchIsAncestor
{ {
get get
@@ -101,7 +105,7 @@ namespace NKC_WF.WebUserControls
{ {
// invia a redis una richiesta... // invia a redis una richiesta...
ComLib.sendMaterials(); ComLib.sendMaterials();
ComLib.sendBatchReq(BatchId, "Estimation", 3, false); ComLib.sendBatchReq(BatchId, "Estimation", 3, false, 0);
// registro su DB nesting iniziato... // registro su DB nesting iniziato...
DLMan.taBL.updateStatus(BatchId, (int)BatchStatus.EstimationRequested, "", 0); DLMan.taBL.updateStatus(BatchId, (int)BatchStatus.EstimationRequested, "", 0);
@@ -118,20 +122,45 @@ namespace NKC_WF.WebUserControls
// effettuo VERA ri-assegnazione ordini/kit a nuovi batch // effettuo VERA ri-assegnazione ordini/kit a nuovi batch
DLMan.taOLT.setBatchSplit(BatchId, true); DLMan.taOLT.setBatchSplit(BatchId, true);
#if false
// invio il PRIMO batch descendant // invio il PRIMO batch descendant
var tabDesc = ComLib.BatchDescendant(BatchId); var tabDesc = ComLib.BatchDescendant(BatchId);
if (tabDesc != null && tabDesc.Count > 0) if (tabDesc != null && tabDesc.Count > 0)
{ {
int BatchDescId = tabDesc[0].BatchID; bool batchSent = false;
ComLib.sendBatchReq(BatchDescId, "Nesting", 2, false); // ciclo fino a trovare un batch VALIDO (= contiene ordini)
// registro su DB nesting iniziato... foreach (var item in tabDesc)
DLMan.taBL.updateStatus(BatchDescId, (int)BatchStatus.NestRequested, "", -1); {
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
//--> approvo direttamente e passo al successivo...
if (tabItems.Count == 0)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// --> invio batch
else
{
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchSent = true;
}
}
if (batchSent)
break;
}
} }
#endif
bool fatto = ComLib.checkSendBatchSplit(BatchId);
} }
else else
{ {
// invio il batch corrente // invio il batch corrente
ComLib.sendBatchReq(BatchId, "Nesting", 2, false); ComLib.sendBatchReq(BatchId, "Nesting", 2, false, 1);
// registro su DB nesting iniziato... // registro su DB nesting iniziato...
DLMan.taBL.updateStatus(BatchId, (int)BatchStatus.NestRequested, "", -1); DLMan.taBL.updateStatus(BatchId, (int)BatchStatus.NestRequested, "", -1);
} }
@@ -11,13 +11,20 @@
<b><%: traduci("BatchSplit") %></b> <i class="fa fa-balance-scale" aria-hidden="true"></i> <b><%: traduci("BatchSplit") %></b> <i class="fa fa-balance-scale" aria-hidden="true"></i>
</asp:LinkButton> </asp:LinkButton>
</div> </div>
<div class="col-12"> <div class="col-4"></div>
<div class="col-1 font-weight-bold">
<asp:Label runat="server" ID="lblRatio01" />
</div>
<div class="col-10">
<asp:HiddenField runat="server" ID="hfBatchId" /> <asp:HiddenField runat="server" ID="hfBatchId" />
<asp:HiddenField runat="server" ID="hfNeedSave" /> <asp:HiddenField runat="server" ID="hfNeedSave" />
<asp:HiddenField runat="server" ID="hfLastRatio" /> <asp:HiddenField runat="server" ID="hfLastRatio" />
<asp:HiddenField runat="server" ID="hfFullTime" /> <asp:HiddenField runat="server" ID="hfFullTime" />
<asp:TextBox runat="server" ID="txtRatio" TextMode="Range" CssClass="form-control-range" AutoPostBack="true" OnTextChanged="txtRatio_TextChanged" /> <asp:TextBox runat="server" ID="txtRatio" TextMode="Range" CssClass="form-control-range" AutoPostBack="true" OnTextChanged="txtRatio_TextChanged" />
</div> </div>
<div class="col-1 font-weight-bold">
<asp:Label runat="server" ID="lblRatio02" />
</div>
</div> </div>
</div> </div>
<div class="card-body p-1"> <div class="card-body p-1">
@@ -33,7 +40,7 @@
<b>NE01</b> <b>NE01</b>
</div> </div>
<div class="col-4"> <div class="col-4">
<asp:Label runat="server" ID="lblRatio01" /> <asp:Label runat="server" ID="lblNumOrd01" />
</div> </div>
</div> </div>
</div> </div>
@@ -54,7 +61,7 @@
<b>NE02</b> <b>NE02</b>
</div> </div>
<div class="col-4"> <div class="col-4">
<asp:Label runat="server" ID="lblRatio02" /> <asp:Label runat="server" ID="lblNumOrd02" />
</div> </div>
</div> </div>
</div> </div>
@@ -147,10 +147,10 @@ namespace NKC_WF.WebUserControls
{ {
txtRatio.Text = $"{value}"; txtRatio.Text = $"{value}";
// scrivo ANCHE i valori assoluti // scrivo ANCHE i valori assoluti
lblRatio01.Text = $"{valRatio} %"; lblRatio01.Text = $"{100 - valRatio} %";
lblRatio02.Text = $"{100 - valRatio} %"; lblRatio02.Text = $"{valRatio} %";
lblTime01.Text = $"{fullTime * value / (100 * 60):N2} h"; lblTime01.Text = $"{fullTime * (100 - value) / (100 * 60):N2} h";
lblTime02.Text = $"{fullTime * (100 - value) / (100 * 60):N2} h"; lblTime02.Text = $"{fullTime * value / (100 * 60):N2} h";
} }
} }
@@ -250,7 +250,7 @@ namespace NKC_WF.WebUserControls
double tmpTime = totTime01 + totTime02; double tmpTime = totTime01 + totTime02;
fullTime = tmpTime > 0 ? tmpTime : 1; fullTime = tmpTime > 0 ? tmpTime : 1;
// sistemazione ratio calcolata... // sistemazione ratio calcolata...
double newRatio = (totTime01 * 100 / fullTime); double newRatio = (totTime02 * 100 / fullTime);
valRatio = (int)newRatio; valRatio = (int)newRatio;
lastValRatio = valRatio; lastValRatio = valRatio;
} }
@@ -284,16 +284,16 @@ namespace NKC_WF.WebUserControls
FullSet.OrderSet = OrderedList; FullSet.OrderSet = OrderedList;
// lavoro sull'ottimizzare il MINORE // lavoro sull'ottimizzare il MINORE
double ValRatioP = (double)valRatio / 100; double ValRatioP = (double)valRatio / 100;
// se uno è zero // ...è 100%...
if (valRatio == 0) if (valRatio >= 99)
{ {
// vuoto // vuoto
SetNe01.OrderSet = new Dictionary<int, double>(); SetNe01.OrderSet = new Dictionary<int, double>();
// tutto // tutto
SetNe02.OrderSet = OrderedList; SetNe02.OrderSet = OrderedList;
} }
// ...oppure è 100%... // se uno è zero
else if (valRatio >= 99) else if (valRatio == 0)
{ {
// tutto // tutto
SetNe01.OrderSet = OrderedList; SetNe01.OrderSet = OrderedList;
@@ -303,18 +303,7 @@ namespace NKC_WF.WebUserControls
// altrimenti se è minore... // altrimenti se è minore...
else if (valRatio <= 50) else if (valRatio <= 50)
{ {
SetNe01.TargetValue = FullSet.ActualValue * ValRatioP; SetNe02.TargetValue = FullSet.ActualValue * ValRatioP;
SetNe01.OrderSet = findLocalMin(OrderedList, SetNe01.TargetValue, maxDepth);
// l'altro è la differenza
SetNe02.OrderSet = OrderedList;
foreach (var item in SetNe01.OrderSet)
{
SetNe02.OrderSet.Remove(item.Key);
}
}
else
{
SetNe02.TargetValue = FullSet.ActualValue * (1 - ValRatioP);
SetNe02.OrderSet = findLocalMin(OrderedList, SetNe02.TargetValue, maxDepth); SetNe02.OrderSet = findLocalMin(OrderedList, SetNe02.TargetValue, maxDepth);
// l'altro è la differenza // l'altro è la differenza
SetNe01.OrderSet = OrderedList; SetNe01.OrderSet = OrderedList;
@@ -323,6 +312,17 @@ namespace NKC_WF.WebUserControls
SetNe01.OrderSet.Remove(item.Key); SetNe01.OrderSet.Remove(item.Key);
} }
} }
else
{
SetNe01.TargetValue = FullSet.ActualValue * (1 - ValRatioP);
SetNe01.OrderSet = findLocalMin(OrderedList, SetNe01.TargetValue, maxDepth);
// l'altro è la differenza
SetNe02.OrderSet = OrderedList;
foreach (var item in SetNe01.OrderSet)
{
SetNe02.OrderSet.Remove(item.Key);
}
}
// riorganizzo tabOrders... // riorganizzo tabOrders...
foreach (var orderItem in TabOrders) foreach (var orderItem in TabOrders)
{ {
+22 -4
View File
@@ -23,6 +23,15 @@ namespace NKC_WF.WebUserControls
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtBalance; protected global::System.Web.UI.WebControls.LinkButton lbtBalance;
/// <summary>
/// lblRatio01 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblRatio01;
/// <summary> /// <summary>
/// hfBatchId control. /// hfBatchId control.
/// </summary> /// </summary>
@@ -68,6 +77,15 @@ namespace NKC_WF.WebUserControls
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtRatio; protected global::System.Web.UI.WebControls.TextBox txtRatio;
/// <summary>
/// lblRatio02 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblRatio02;
/// <summary> /// <summary>
/// lblTime01 control. /// lblTime01 control.
/// </summary> /// </summary>
@@ -78,13 +96,13 @@ namespace NKC_WF.WebUserControls
protected global::System.Web.UI.WebControls.Label lblTime01; protected global::System.Web.UI.WebControls.Label lblTime01;
/// <summary> /// <summary>
/// lblRatio01 control. /// lblNumOrd01 control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Auto-generated field. /// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblRatio01; protected global::System.Web.UI.WebControls.Label lblNumOrd01;
/// <summary> /// <summary>
/// cmp_orderExtListNE01 control. /// cmp_orderExtListNE01 control.
@@ -114,13 +132,13 @@ namespace NKC_WF.WebUserControls
protected global::System.Web.UI.WebControls.Label lblTime02; protected global::System.Web.UI.WebControls.Label lblTime02;
/// <summary> /// <summary>
/// lblRatio02 control. /// lblNumOrd02 control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Auto-generated field. /// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblRatio02; protected global::System.Web.UI.WebControls.Label lblNumOrd02;
/// <summary> /// <summary>
/// cmp_orderExtListNE02 control. /// cmp_orderExtListNE02 control.
+42 -43
View File
@@ -1,62 +1,61 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_labelsPrint.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_labelsPrint" %> <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_labelsPrint.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_labelsPrint" %>
<%@ Register Src="~/WebUserControls/cmp_barcode.ascx" TagPrefix="uc1" TagName="cmp_barcode" %> <%@ Register Src="~/WebUserControls/cmp_barcode.ascx" TagPrefix="uc1" TagName="cmp_barcode" %>
<%@ Register Src="~/WebUserControls/cmp_MachSelSmart.ascx" TagPrefix="uc1" TagName="cmp_MachSelSmart" %>
<div class="mx-0"> <div class="mx-0">
<asp:HiddenField ID="hfBatchID" runat="server" /> <asp:HiddenField ID="hfBatchID" runat="server" />
<asp:HiddenField ID="hfSheetID" runat="server" /> <asp:HiddenField ID="hfSheetID" runat="server" />
<asp:HiddenField ID="hfDeviceId" runat="server" /> <asp:HiddenField ID="hfDeviceId" runat="server" />
<div class="card text-center" style="width: 100%;"> <div class="row mt-2">
<h4 class="card-header p-1 bg-secondary text-light"><%: traduci("LabelPrintSmart") %></h4> <div class="col-12 px-0 table-secondary">
<div class="card-body py-1"> <uc1:cmp_MachSelSmart runat="server" ID="cmp_MachSelSmart" />
<div class="row mt-2" style="min-height: 25rem;"> </div>
<div class="col-12 px-0"> <div class="col-12 px-0">
<uc1:cmp_barcode runat="server" ID="cmp_barcode" /> <uc1:cmp_barcode runat="server" ID="cmp_barcode" />
<asp:HiddenField runat="server" ID="hfLastBCode" /> <asp:HiddenField runat="server" ID="hfLastBCode" />
<asp:HiddenField runat="server" ID="hfLastObject" /> <asp:HiddenField runat="server" ID="hfLastObject" />
<asp:HiddenField runat="server" ID="hfLastValidBCode" /> <asp:HiddenField runat="server" ID="hfLastValidBCode" />
</div> </div>
<div class="col-12 px-0"> <div class="col-12 px-0">
<asp:LinkButton runat="server" ID="lbtPrintLabels" CssClass="btn btn-info btn-block text-uppercase" OnClick="lbtPrintLabels_Click"><i class="fa fa-print" aria-hidden="true"></i> <%: traduci("DoPrintLabel") %></asp:LinkButton> <asp:LinkButton runat="server" ID="lbtPrintLabels" CssClass="btn btn-info btn-block text-uppercase" OnClick="lbtPrintLabels_Click"><i class="fa fa-print" aria-hidden="true"></i> <%: traduci("DoPrintLabel") %></asp:LinkButton>
</div> </div>
<div class="col-12 px-0"> <div class="col-12 px-0">
<div runat="server" id="divItemDet" class="bg-success text-warning small" visible="false"> <div runat="server" id="divItemDet" class="bg-success text-warning small" visible="false">
<asp:HiddenField runat="server" ID="hfItemID" /> <asp:HiddenField runat="server" ID="hfItemID" />
<div class="row"> <div class="row">
<div class="col-3 pr-0"> <div class="col-3 pr-0">
<b> <b>
<asp:Label runat="server" ID="lblItemCode" /></b> <asp:Label runat="server" ID="lblItemCode" /></b>
</div>
<div class="col-6 px-1">
<asp:Label runat="server" ID="lblItemDesc" />
</div>
<div class="col-3 pl-0">
<asp:Label runat="server" ID="lblItemDtmx" />
</div>
</div>
</div> </div>
<div runat="server" id="divError" class="bg-danger text-warning" visible="false"> <div class="col-6 px-1">
<div class="col-12 px-1"> <asp:Label runat="server" ID="lblItemDesc" />
<asp:Label runat="server" ID="lblErrorMsg" />
</div>
</div> </div>
<div runat="server" id="divInfo" class="bg-info text-light" visible="false"> <div class="col-3 pl-0">
<div class="col-12 px-1"> <asp:Label runat="server" ID="lblItemDtmx" />
<asp:Label runat="server" ID="lblSuccessMsg" />
</div>
</div> </div>
</div> </div>
<div class="col-12 px-0"> </div>
<asp:LinkButton runat="server" ID="lbtCancel" CssClass="btn btn-block btn-warning text-uppercase" OnClick="lbtCancel_Click"><i class="fa fa-ban" aria-hidden="true"></i> <%: traduci("cancel") %></asp:LinkButton> <div runat="server" id="divError" class="bg-danger text-warning" visible="false">
<div class="col-12 px-1">
<asp:Label runat="server" ID="lblErrorMsg" />
</div> </div>
<div class="col-12 px-0"> </div>
<b> <div runat="server" id="divInfo" class="bg-info text-light" visible="false">
<asp:Label runat="server" ID="lblLastBCode" /></b><br /> <div class="col-12 px-1">
<asp:Label runat="server" ID="lblMessage" /><br /> <asp:Label runat="server" ID="lblSuccessMsg" />
<asp:Label runat="server" ID="lblDestination" />
</div> </div>
</div> </div>
</div> </div>
<div class="col-12 px-0">
<asp:LinkButton runat="server" ID="lbtCancel" CssClass="btn btn-block btn-warning text-uppercase" OnClick="lbtCancel_Click"><i class="fa fa-ban" aria-hidden="true"></i> <%: traduci("cancel") %></asp:LinkButton>
</div>
<div class="col-12 px-0">
<b>
<asp:Label runat="server" ID="lblLastBCode" /></b><br />
<asp:Label runat="server" ID="lblMessage" /><br />
<asp:Label runat="server" ID="lblDestination" />
</div>
</div> </div>
</div> </div>
+33 -4
View File
@@ -12,6 +12,22 @@ namespace NKC_WF.WebUserControls
{ {
public partial class cmp_labelsPrint : BaseUserControl public partial class cmp_labelsPrint : BaseUserControl
{ {
/// <summary>
/// Macchina letta
/// </summary>
public string MachineSel
{
get
{
return cmp_MachSelSmart.MachineSel;
}
set
{
cmp_MachSelSmart.MachineSel = value;
}
}
/// <summary> /// <summary>
/// ID univoco da IP /// ID univoco da IP
/// </summary> /// </summary>
@@ -177,9 +193,16 @@ namespace NKC_WF.WebUserControls
decodedData decoData = DLMan.decodeBcode(lastCmd); decodedData decoData = DLMan.decodeBcode(lastCmd);
switch (decoData.codeType) switch (decoData.codeType)
{ {
case codeType.Item: case codeType.Item:// verifico SE HO una macchina selezionata sennò NON accetto
cmp_barcode.showOutput(cssClass.success, $"IT {traduci("ValidCode")}: {decoData.rawData}"); if (string.IsNullOrEmpty(MachineSel))
processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt); {
cmp_barcode.showOutput(cssClass.danger, $"{traduci("MissingMachineSel")}: {decoData.rawData} --> {traduci("NoValiAction")}");
}
else
{
cmp_barcode.showOutput(cssClass.success, $"IT {traduci("ValidCode")}: {decoData.rawData}");
processItemSuggestion(decoData.codeType, decoData.rawData, decoData.codeInt);
}
break; break;
case codeType.ItemGeneric: case codeType.ItemGeneric:
cmp_barcode.showOutput(cssClass.success, $"{traduci("ItemGeneric")} - {traduci("Ignored")}: {decoData.rawData}"); cmp_barcode.showOutput(cssClass.success, $"{traduci("ItemGeneric")} - {traduci("Ignored")}: {decoData.rawData}");
@@ -226,6 +249,12 @@ namespace NKC_WF.WebUserControls
resetDisplay(true); resetDisplay(true);
doRaiseEv = true; doRaiseEv = true;
break; break;
case codeType.MachSelection:
MachineSel = decoData.code;
cmp_barcode.showOutput(cssClass.success, $"{ traduci("MachineSel")}: {decoData.code}");
break;
case codeType.UNK: case codeType.UNK:
default: default:
cmp_barcode.showOutput(cssClass.danger, $"{traduci("UnknownData")}: {decoData.rawData} --> {traduci("NoValiAction")}"); cmp_barcode.showOutput(cssClass.danger, $"{traduci("UnknownData")}: {decoData.rawData} --> {traduci("NoValiAction")}");
@@ -278,7 +307,7 @@ namespace NKC_WF.WebUserControls
protected void lbtPrintLabels_Click(object sender, EventArgs e) protected void lbtPrintLabels_Click(object sender, EventArgs e)
{ {
// chiamo procedura stampa report x etichette dei pezzi lavorati offline // chiamo procedura stampa report x etichette dei pezzi lavorati offline
string printer = DLMan.getPrinter("PC-MACHINE-PARTS"); string printer = DLMan.getPrinter($"{MachineSel}-PARTS");
// mando stampa.... // mando stampa....
bool fatto = DLMan.stampaDoc(itemIdSelected.ToString(), printer, tipoDocumento.docPart, Request.UserHostName); bool fatto = DLMan.stampaDoc(itemIdSelected.ToString(), printer, tipoDocumento.docPart, Request.UserHostName);
+77 -68
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <generato automaticamente> // <auto-generated>
// Codice generato da uno strumento. // This code was generated by a tool.
// //
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </generato automaticamente> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls namespace NKC_WF.WebUserControls
@@ -15,191 +15,200 @@ namespace NKC_WF.WebUserControls
{ {
/// <summary> /// <summary>
/// Controllo hfBatchID. /// hfBatchID control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchID; protected global::System.Web.UI.WebControls.HiddenField hfBatchID;
/// <summary> /// <summary>
/// Controllo hfSheetID. /// hfSheetID control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfSheetID; protected global::System.Web.UI.WebControls.HiddenField hfSheetID;
/// <summary> /// <summary>
/// Controllo hfDeviceId. /// hfDeviceId control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfDeviceId; protected global::System.Web.UI.WebControls.HiddenField hfDeviceId;
/// <summary> /// <summary>
/// Controllo cmp_barcode. /// cmp_MachSelSmart control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_MachSelSmart cmp_MachSelSmart;
/// <summary>
/// cmp_barcode control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::NKC_WF.WebUserControls.cmp_barcode cmp_barcode; protected global::NKC_WF.WebUserControls.cmp_barcode cmp_barcode;
/// <summary> /// <summary>
/// Controllo hfLastBCode. /// hfLastBCode control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfLastBCode; protected global::System.Web.UI.WebControls.HiddenField hfLastBCode;
/// <summary> /// <summary>
/// Controllo hfLastObject. /// hfLastObject control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfLastObject; protected global::System.Web.UI.WebControls.HiddenField hfLastObject;
/// <summary> /// <summary>
/// Controllo hfLastValidBCode. /// hfLastValidBCode control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfLastValidBCode; protected global::System.Web.UI.WebControls.HiddenField hfLastValidBCode;
/// <summary> /// <summary>
/// Controllo lbtPrintLabels. /// lbtPrintLabels control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtPrintLabels; protected global::System.Web.UI.WebControls.LinkButton lbtPrintLabels;
/// <summary> /// <summary>
/// Controllo divItemDet. /// divItemDet control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divItemDet; protected global::System.Web.UI.HtmlControls.HtmlGenericControl divItemDet;
/// <summary> /// <summary>
/// Controllo hfItemID. /// hfItemID control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfItemID; protected global::System.Web.UI.WebControls.HiddenField hfItemID;
/// <summary> /// <summary>
/// Controllo lblItemCode. /// lblItemCode control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblItemCode; protected global::System.Web.UI.WebControls.Label lblItemCode;
/// <summary> /// <summary>
/// Controllo lblItemDesc. /// lblItemDesc control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblItemDesc; protected global::System.Web.UI.WebControls.Label lblItemDesc;
/// <summary> /// <summary>
/// Controllo lblItemDtmx. /// lblItemDtmx control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblItemDtmx; protected global::System.Web.UI.WebControls.Label lblItemDtmx;
/// <summary> /// <summary>
/// Controllo divError. /// divError control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divError; protected global::System.Web.UI.HtmlControls.HtmlGenericControl divError;
/// <summary> /// <summary>
/// Controllo lblErrorMsg. /// lblErrorMsg control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblErrorMsg; protected global::System.Web.UI.WebControls.Label lblErrorMsg;
/// <summary> /// <summary>
/// Controllo divInfo. /// divInfo control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divInfo; protected global::System.Web.UI.HtmlControls.HtmlGenericControl divInfo;
/// <summary> /// <summary>
/// Controllo lblSuccessMsg. /// lblSuccessMsg control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblSuccessMsg; protected global::System.Web.UI.WebControls.Label lblSuccessMsg;
/// <summary> /// <summary>
/// Controllo lbtCancel. /// lbtCancel control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtCancel; protected global::System.Web.UI.WebControls.LinkButton lbtCancel;
/// <summary> /// <summary>
/// Controllo lblLastBCode. /// lblLastBCode control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblLastBCode; protected global::System.Web.UI.WebControls.Label lblLastBCode;
/// <summary> /// <summary>
/// Controllo lblMessage. /// lblMessage control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage; protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary> /// <summary>
/// Controllo lblDestination. /// lblDestination control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblDestination; protected global::System.Web.UI.WebControls.Label lblDestination;
} }
+10 -1
View File
@@ -5,6 +5,15 @@
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<div class="container px-1"> <div class="container px-1">
<uc1:cmp_labelsPrint runat="server" ID="cmp_labelsPrint" /> <div class="card text-center" style="width: 100%;">
<h4 class="card-header p-1 bg-secondary text-light"><%: traduci("LabelPrintSmart") %></h4>
<div class="card-body py-1">
<div class="row">
<div class="col-12 mb-2">
<uc1:cmp_labelsPrint runat="server" ID="cmp_labelsPrint" />
</div>
</div>
</div>
</div>
</div> </div>
</asp:Content> </asp:Content>
+8 -8
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <generato automaticamente> // <auto-generated>
// Codice generato da uno strumento. // This code was generated by a tool.
// //
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se // Changes to this file may cause incorrect behavior and will be lost if
// il codice viene rigenerato. // the code is regenerated.
// </generato automaticamente> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace NKC_WF.site namespace NKC_WF.site
@@ -15,11 +15,11 @@ namespace NKC_WF.site
{ {
/// <summary> /// <summary>
/// Controllo cmp_labelsPrint. /// cmp_labelsPrint control.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Campo generato automaticamente. /// Auto-generated field.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::NKC_WF.WebUserControls.cmp_labelsPrint cmp_labelsPrint; protected global::NKC_WF.WebUserControls.cmp_labelsPrint cmp_labelsPrint;
} }
+24 -9
View File
@@ -44,7 +44,7 @@ namespace NKC_WF
{ {
get get
{ {
return ComLib.getCurrBatchId(PlaceCod); return ComLib.getCurrBatchId(MachineSel);
} }
} }
@@ -52,7 +52,7 @@ namespace NKC_WF
{ {
get get
{ {
return ComLib.getCurrSheetId(PlaceCod); return ComLib.getCurrSheetId(MachineSel);
} }
} }
@@ -68,7 +68,7 @@ namespace NKC_WF
set set
{ {
hfBatchID.Value = value.ToString(); hfBatchID.Value = value.ToString();
ComLib.setCurrBatchId(PlaceCod, value); ComLib.setCurrBatchId(MachineSel, value);
} }
get get
{ {
@@ -86,7 +86,7 @@ namespace NKC_WF
set set
{ {
hfSheetID.Value = value.ToString(); hfSheetID.Value = value.ToString();
ComLib.setCurrSheetId(PlaceCod, value); ComLib.setCurrSheetId(MachineSel, value);
} }
get get
{ {
@@ -118,6 +118,21 @@ namespace NKC_WF
#region Private Methods #region Private Methods
protected string MachineSel
{
get
{
return PlaceCod;
}
set
{
PlaceCod = value;
cmp_MU_bins.MachineSel = value;
cmp_MU_carts.MachineSel = value;
}
}
/// <summary> /// <summary>
/// Aggiorna componente principale e child components /// Aggiorna componente principale e child components
/// </summary> /// </summary>
@@ -127,11 +142,11 @@ namespace NKC_WF
if (string.IsNullOrEmpty(cmp_MachSem.currMachine)) if (string.IsNullOrEmpty(cmp_MachSem.currMachine))
{ {
divMain.Visible = false; divMain.Visible = false;
PlaceCod = "#"; MachineSel = "#";
} }
else else
{ {
PlaceCod = cmp_MachSem.currMachine; MachineSel = cmp_MachSem.currMachine;
divMain.Visible = true; divMain.Visible = true;
// imposto dati correnti // imposto dati correnti
bool doUpdate = setCurrData(); bool doUpdate = setCurrData();
@@ -160,7 +175,7 @@ namespace NKC_WF
{ {
bool needUpdate = false; bool needUpdate = false;
// recupero bunk corrente... // recupero bunk corrente...
DS_App.StackListRow currBunk = ComLib.getCurrBunk(PlaceCod); DS_App.StackListRow currBunk = ComLib.getCurrBunk(MachineSel);
if (currBunk != null) if (currBunk != null)
{ {
bool chgBtLocal = BatchId != currBunk.BatchID; bool chgBtLocal = BatchId != currBunk.BatchID;
@@ -172,7 +187,7 @@ namespace NKC_WF
needUpdate = true; needUpdate = true;
} }
DS_App.SheetListRow currSheet = ComLib.getCurrSheet(BatchId, PlaceCod); DS_App.SheetListRow currSheet = ComLib.getCurrSheet(BatchId, MachineSel);
if (currSheet != null) if (currSheet != null)
{ {
bool chgShLocal = SheetId != currSheet.SheetID; bool chgShLocal = SheetId != currSheet.SheetID;
@@ -188,7 +203,7 @@ namespace NKC_WF
{ {
BatchId = 0; BatchId = 0;
SheetId = 0; SheetId = 0;
ComLib.setCurrBunkId(PlaceCod, 0); ComLib.setCurrBunkId(MachineSel, 0);
ComLib.man.resetSheetUnload(0); ComLib.man.resetSheetUnload(0);
} }
// se sheet/bunk 0 --> update! // se sheet/bunk 0 --> update!
-31
View File
@@ -40,37 +40,6 @@
</ItemTemplate> </ItemTemplate>
</asp:Repeater> </asp:Repeater>
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="AppData.DS_AppTableAdapters.UpdManTableAdapter"></asp:ObjectDataSource> <asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="AppData.DS_AppTableAdapters.UpdManTableAdapter"></asp:ObjectDataSource>
<%--<div class="col-4 col-md-3">
<div class="card">
<div class="card-header">
<h2 class="text-center">NKC <i class="fa fa-download"></i></h2>
</div>
<div class="card-body">
<asp:LinkButton runat="server" ID="lbtDownloadNKC" class="btn btn-info text-light btn-lg btn-block" OnClientClick='<%: SteamWare.jsUtils.getCBE("DownloadConfirm")%>' OnClick="lbtDownload_Click" CommandArgument="NKC"><strong><%: Version("NKC", true) %></strong></asp:LinkButton>
</div>
</div>
</div>
<div class="col-4 col-md-3">
<div class="card">
<div class="card-header">
<h2 class="text-center">ZCode <i class="fa fa-download"></i></h2>
</div>
<div class="card-body">
<asp:LinkButton runat="server" ID="lbtDownloadZCode" class="btn btn-info text-light btn-lg btn-block" OnClientClick='<%: SteamWare.jsUtils.getCBE("DownloadConfirm")%>' OnClick="lbtDownload_Click" CommandArgument="ZCODE"><strong><%: Version("ZCode", true) %></strong></asp:LinkButton>
</div>
</div>
</div>
<div class="col-4 col-md-3">
<div class="card">
<div class="card-header">
<h2 class="text-center">LPA <i class="fa fa-download"></i></h2>
</div>
<div class="card-body">
<asp:HyperLink runat="server" ID="hlLPA" class="btn btn-info text-light btn-lg btn-block text-uppercase" Target="_blank" NavigateUrl="http://nexus.steamware.net/repository/utility/LPA/LPA/stable/LPA-stable.zip" OnClientClick='<%: SteamWare.jsUtils.getCBE("DownloadConfirm")%>'><strong><%: traduci("stable") %></strong></asp:HyperLink>
</div>
</div>
</div>--%>
</div> </div>
<div class="row"> <div class="row">
<div class="col-12 text-center"> <div class="col-12 text-center">
+4 -3
View File
@@ -87,7 +87,8 @@ namespace NKC_WF.site
doDownload(caller, riga); doDownload(caller, riga);
// calcolo elapsed time come TimeSpan value. // calcolo elapsed time come TimeSpan value.
TimeSpan ts = stopWatch.Elapsed; TimeSpan ts = stopWatch.Elapsed;
resultsMsg = $"OK: {caller} downloaded, {ts.TotalSeconds:0.000} sec | {updateUrl(caller)} --> {localDownloadPath(caller)}"; string updUrl = riga.IsAuth ? updateUrlAuth(riga.AppName) : updateUrl(riga.AppName);
resultsMsg = $"OK: {caller} downloaded, {ts.TotalSeconds:0.000} sec | {updUrl} --> {localDownloadPath(riga.PackName)}";
} }
} }
// aggiorno messaggio // aggiorno messaggio
@@ -127,7 +128,7 @@ namespace NKC_WF.site
else else
{ {
UpdateMan.obj.downloadLatest(updateUrl(caller), localDownloadPath(caller), caller); UpdateMan.obj.downloadLatest(updateUrl(caller), localDownloadPath(caller), caller);
numDone++; numDone++;
} }
} }
return numDone; return numDone;
@@ -165,7 +166,7 @@ namespace NKC_WF.site
protected UpdateMan updManAuth = new UpdateMan("SWDownloader", "viaD@nte16"); protected UpdateMan updManAuth = new UpdateMan("SWDownloader", "viaD@nte16");
/// <summary> /// <summary>
/// URLK stringa di UPDATE... /// URL stringa di UPDATE...
/// </summary> /// </summary>
protected string updateUrl(string package) protected string updateUrl(string package)
{ {