diff --git a/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx b/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx
index a068457..1836fcf 100644
--- a/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx
+++ b/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx
@@ -18,6 +18,15 @@
+
diff --git a/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx.cs b/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx.cs
index ff560f4..8403da5 100644
--- a/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx.cs
+++ b/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx.cs
@@ -331,6 +331,7 @@ namespace NKC_WF.WebUserControls
protected void lbtBalance_Click(object sender, EventArgs e)
{
+ divError.Visible = false;
// imposto la % secondo numero di abilitati...
Ratio01 = enable01 ? (double)(100 / numEnabled) / 100 : 0;
Ratio02 = enable02 ? (double)(100 / numEnabled) / 100 : 0;
@@ -421,6 +422,7 @@ namespace NKC_WF.WebUserControls
fixRatio();
checkDisplayMode();
fixEnabled();
+ divError.Visible = false;
}
cmp_orderExtListNE01.eh_doRefresh += Cmp_orderExtListNE01_eh_doRefresh;
cmp_orderExtListNE02.eh_doRefresh += Cmp_orderExtListNE02_eh_doRefresh;
@@ -830,7 +832,8 @@ namespace NKC_WF.WebUserControls
{
RawList.Add(item.OrdID, item.EstProcTime);
}
- Log.Instance.Trace($"Rebalance | S02 | listOrders.count: {listOrders.Count}");
+ int numOrdOrig = listOrders.Count;
+ Log.Instance.Trace($"Rebalance | S02 | listOrders.count: {numOrdOrig}");
// ordino la lista x processing successivo
OrderedList = RawList.OrderBy(x => x.Value).ToDictionary(t => t.Key, t => t.Value);
// inizio immaginando di usare TUTTI gli ordini
@@ -956,65 +959,78 @@ namespace NKC_WF.WebUserControls
{
Log.Instance.Error($"Exception durante rebalance 01:{Environment.NewLine}{exc}");
}
- // check sul num di spostamenti1
- int numMove = 0;
- int numOk = 0;
- Log.Instance.Trace("Rebalance | Starting final stage (DB modifications)");
- try
+ // 2024.09.20: controllo che il numero ordini torni o LO SEGNALO come errore...
+ int numAssigned = SetNe01.OrderSet.Count + SetNe02.OrderSet.Count + SetNe03.OrderSet.Count;
+ if (numAssigned != numOrdOrig)
{
- // riorganizzo tabOrders...
- foreach (var orderItem in TabOrders)
+ divError.Visible = true;
+ Log.Instance.Error($"Error during rebalance | numOrdOrig: {numOrdOrig} | numAssigned: {numAssigned}");
+ lblError.Text = traduci("ERR_Rebalance01");
+ lblErrorDetail.Text = $"{traduci("ERR_Rebalance02")} | # Orig: {numOrdOrig} | # Assigned: {numAssigned}";
+ }
+ else
+ {
+ divError.Visible = false;
+ // check sul num di spostamenti1
+ int numMove = 0;
+ int numOk = 0;
+ Log.Instance.Trace("Rebalance | Starting final stage (DB modifications)");
+ try
{
- if (SetNe01.OrderSet.ContainsKey(orderItem.OrdID))
+ // riorganizzo tabOrders...
+ foreach (var orderItem in TabOrders)
{
- if (orderItem.BatchID != cmp_orderExtListNE01.BatchId)
+ if (SetNe01.OrderSet.ContainsKey(orderItem.OrdID))
{
- DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE01.BatchId);
- numMove++;
+ if (orderItem.BatchID != cmp_orderExtListNE01.BatchId)
+ {
+ DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE01.BatchId);
+ numMove++;
+ }
+ else
+ {
+ numOk++;
+ }
}
- else
+ if (SetNe02.OrderSet.ContainsKey(orderItem.OrdID))
{
- numOk++;
+ if (orderItem.BatchID != cmp_orderExtListNE02.BatchId)
+ {
+ DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE02.BatchId);
+ numMove++;
+ }
+ else
+ {
+ numOk++;
+ }
}
- }
- if (SetNe02.OrderSet.ContainsKey(orderItem.OrdID))
- {
- if (orderItem.BatchID != cmp_orderExtListNE02.BatchId)
+ if (SetNe03.OrderSet.ContainsKey(orderItem.OrdID))
{
- DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE02.BatchId);
- numMove++;
- }
- else
- {
- numOk++;
- }
- }
- if (SetNe03.OrderSet.ContainsKey(orderItem.OrdID))
- {
- if (orderItem.BatchID != cmp_orderExtListNE03.BatchId)
- {
- DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE03.BatchId);
- numMove++;
- }
- else
- {
- numOk++;
+ if (orderItem.BatchID != cmp_orderExtListNE03.BatchId)
+ {
+ DLMan.taOLT.updateBatch(orderItem.BatchID, orderItem.OrdID, cmp_orderExtListNE03.BatchId);
+ numMove++;
+ }
+ else
+ {
+ numOk++;
+ }
}
}
}
+ catch (Exception exc)
+ {
+ Log.Instance.Error($"Exception durante rebalance 02:{Environment.NewLine}{exc}");
+ }
+ answ = listOrders.Count > 0;
+ Log.Instance.Trace($"Final check | S14 | answ: {answ} | listOrders.Count: {listOrders.Count} | numMove: {numMove} | numOk: {numOk}");
+ // salvo tempo calcolo
+ stopWatch.Stop();
+ var elapsTime = stopWatch.Elapsed;
+ Log.Instance.Info($"Rebalance executed | R01: {Ratio01:P1}/{SetNe01.ActualValue / FullSet.ActualValue:P1} | R02: {Ratio02:P1}/{SetNe02.ActualValue / FullSet.ActualValue:P1} | R03: {Ratio03:P1}/{SetNe03.ActualValue / FullSet.ActualValue:P1} | maxDepth: {maxDepth} | elapsed ms: {elapsTime.TotalMilliseconds:N1}");
+ // resetto batch ordini...
+ ComLib.OrdersExtResetCache();
}
- catch (Exception exc)
- {
- Log.Instance.Error($"Exception durante rebalance 02:{Environment.NewLine}{exc}");
- }
- answ = listOrders.Count > 0;
- Log.Instance.Trace($"Final check | S14 | answ: {answ} | listOrders.Count: {listOrders.Count} | numMove: {numMove} | numOk: {numOk}");
- // salvo tempo calcolo
- stopWatch.Stop();
- var elapsTime = stopWatch.Elapsed;
- Log.Instance.Info($"Rebalance executed | R01: {Ratio01:P1}/{SetNe01.ActualValue / FullSet.ActualValue:P1} | R02: {Ratio02:P1}/{SetNe02.ActualValue / FullSet.ActualValue:P1} | R03: {Ratio03:P1}/{SetNe03.ActualValue / FullSet.ActualValue:P1} | maxDepth: {maxDepth} | elapsed ms: {elapsTime.TotalMilliseconds:N1}");
- // resetto batch ordini...
- ComLib.OrdersExtResetCache();
cmp_orderExtListNE01.doUpdate();
cmp_orderExtListNE02.doUpdate();
cmp_orderExtListNE03.doUpdate();
diff --git a/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx.designer.cs b/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx.designer.cs
index e222b18..f1861f8 100644
--- a/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx.designer.cs
+++ b/NKC_WF/WebUserControls/cmp_batchDetailSplit.ascx.designer.cs
@@ -77,6 +77,33 @@ namespace NKC_WF.WebUserControls
///
protected global::System.Web.UI.WebControls.LinkButton lbtBalance;
+ ///
+ /// divError control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlGenericControl divError;
+
+ ///
+ /// lblError control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblError;
+
+ ///
+ /// lblErrorDetail control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblErrorDetail;
+
///
/// divHeadNe01 control.
///