diff --git a/NKC_WF/WebUserControls/cmp_BP_MaterialYeld.ascx.cs b/NKC_WF/WebUserControls/cmp_BP_MaterialYeld.ascx.cs index 9c1738e..f7b238e 100644 --- a/NKC_WF/WebUserControls/cmp_BP_MaterialYeld.ascx.cs +++ b/NKC_WF/WebUserControls/cmp_BP_MaterialYeld.ascx.cs @@ -38,14 +38,6 @@ namespace NKC_WF.WebUserControls { MatStatList = statData.ListByMaterial; } -#if false - Random rnd = new Random(); - for (int i = 0; i < 5; i++) - { - var randDbl = rnd.NextDouble(); - MatStatList.Add(new NKC_WF.DTO.MaterialStats() { MatCode = $"{i * 100:00000}", MatDescript = $"Descrizione {i:00}", TotSheets = rnd.Next(10), TotParts = 50 * rnd.Next(1, 5), YeldAvg = randDbl, YeldMin = randDbl / 2, YeldMax = 1 - (1 - randDbl) / 2 }); - } -#endif return MatStatList; } diff --git a/NKC_WF/WebUserControls/cmp_BP_sheetList.ascx.cs b/NKC_WF/WebUserControls/cmp_BP_sheetList.ascx.cs index 34e044d..ac3830c 100644 --- a/NKC_WF/WebUserControls/cmp_BP_sheetList.ascx.cs +++ b/NKC_WF/WebUserControls/cmp_BP_sheetList.ascx.cs @@ -207,6 +207,8 @@ namespace NKC_WF.WebUserControls #region Private Methods + private bool readDirect = false; + /// /// Aggiorna i dati di stima recuperando da Mongo le risposte complete dal supervisor /// @@ -214,62 +216,80 @@ namespace NKC_WF.WebUserControls /// ID del BUNK da considerare private void updateMongoData(int BatchId, int BunkId) { + SheetYeld = new Dictionary(); + SheetPartQty = new Dictionary(); + DataLayer dlMan = new DataLayer(); if (memLayer.ML.CRB("enableMongo")) { - SheetYeld = new Dictionary(); - SheetPartQty = new Dictionary(); - // cerco da lista salvataggi Nest... - var nestAnsw = ComLib.man.getNestAnsw(BatchId); - // recupero bunk da DB - DataLayer dlMan = new DataLayer(); var bunkList = dlMan.taSTL.getByBatch(BatchId); var bunkRow = bunkList.Where(x => x.StackID == BunkId).FirstOrDefault(); - // elenchi x ricerca duplicati - List partListNest = new List(); - List partListNestDupl = new List(); - - if (nestAnsw != null && bunkRow!=null) + if (readDirect) { - double num = 0; - double den = 1; - double currRatio = 0; - try + // cerco da lista salvataggi Nest... + var nestAnsw = ComLib.man.getNestAnsw(BatchId); + // recupero bunk da DB + // elenchi x ricerca duplicati + List partListNest = new List(); + List partListNestDupl = new List(); + + if (nestAnsw != null && bunkRow != null) { - if (nestAnsw.BunkList != null) + double num = 0; + double den = 1; + double currRatio = 0; + try { - foreach (var bunk in nestAnsw.BunkList) + if (nestAnsw.BunkList != null) { - if (bunkRow.StackIndex == bunk.BunkIndex) + foreach (var bunk in nestAnsw.BunkList) { - // procedo SOLO per il bunk corrente... - foreach (var sheet in bunk.SheetList) + if (bunkRow.StackIndex == bunk.BunkIndex) { - num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0; - den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1; - currRatio = ComLib.ratioProt(num, den); - if (SheetYeld.ContainsKey(sheet.SheetIndex)) + // procedo SOLO per il bunk corrente... + foreach (var sheet in bunk.SheetList) { - SheetYeld[sheet.SheetIndex] = currRatio; - } - else - { - SheetYeld.Add(sheet.SheetIndex, currRatio); - } - if (SheetPartQty.ContainsKey(sheet.SheetIndex)) - { - SheetPartQty[sheet.SheetIndex] = sheet.PartList.Count; - } - else - { - SheetPartQty.Add(sheet.SheetIndex, sheet.PartList.Count); + num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0; + den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1; + currRatio = ComLib.ratioProt(num, den); + if (SheetYeld.ContainsKey(sheet.SheetIndex)) + { + SheetYeld[sheet.SheetIndex] = currRatio; + } + else + { + SheetYeld.Add(sheet.SheetIndex, currRatio); + } + if (SheetPartQty.ContainsKey(sheet.SheetIndex)) + { + SheetPartQty[sheet.SheetIndex] = sheet.PartList.Count; + } + else + { + SheetPartQty.Add(sheet.SheetIndex, sheet.PartList.Count); + } } } } } } + catch + { } + } + } + else + { + // leggo da obj di DlMan + var statData = DLMan.GetYeldStatsFromMongoData(BatchId); + if (statData != null) + { + List sList = statData + .ListBySheet + .Where(x => x.BunkIdx == bunkRow.StackIndex) + .ToList(); + // converto... + SheetYeld = sList.ToDictionary(r => r.SheetIdx, r => r.Yeld); + SheetPartQty = sList.ToDictionary(r => r.SheetIdx, r => r.NumParts); } - catch - { } } } }