From b5fa1ffa3569eec22af825bfcde7db49330ea59a Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Wed, 20 Sep 2023 11:55:48 +0200 Subject: [PATCH] ok controllo stati/eventi mancanti su db --- SMGen.Data/Controllers/SMGenController.cs | 2 +- SMGen.Data/Data/SelectRulFixParams.cs | 68 ++++++++++++++++++ SMGen.Data/Services/SMGDataService.cs | 46 ++++++++---- SMGen/Components/FilesList.razor | 18 ----- SMGen/Components/FilesList.razor.cs | 6 ++ SMGen/Pages/FilesFix.razor | 15 +--- SMGen/Pages/FilesFix.razor.cs | 85 +++++++++++++++-------- SMGen/Temp/Rules/PROCESSED/BIT/test.rul | 1 + 8 files changed, 168 insertions(+), 73 deletions(-) create mode 100644 SMGen.Data/Data/SelectRulFixParams.cs diff --git a/SMGen.Data/Controllers/SMGenController.cs b/SMGen.Data/Controllers/SMGenController.cs index 2535d36..882e1a6 100644 --- a/SMGen.Data/Controllers/SMGenController.cs +++ b/SMGen.Data/Controllers/SMGenController.cs @@ -9,7 +9,7 @@ namespace SMGen.Data.Controllers { public class SMGenController : IDisposable { - private static IConfiguration _configuration; + private static IConfiguration _configuration = null!; private static NLog.Logger Log = LogManager.GetCurrentClassLogger(); diff --git a/SMGen.Data/Data/SelectRulFixParams.cs b/SMGen.Data/Data/SelectRulFixParams.cs new file mode 100644 index 0000000..67ecd69 --- /dev/null +++ b/SMGen.Data/Data/SelectRulFixParams.cs @@ -0,0 +1,68 @@ +using NLog.LayoutRenderers.Wrappers; + +namespace SMGen.Data +{ + public class SelectRulFixParams + { + #region Public Constructors + + public SelectRulFixParams() + { } + + #endregion Public Constructors + + #region Public Properties + + + public int CurrPage { get; set; } = 1; + + public int MaxRecord { get; set; } = 100; + + public int NumRec { get; set; } = 10; + + public int TotCount { get; set; } = 0; + + #endregion Public Properties + + #region Public Methods + + public SelectRulFixParams clone() + { + SelectRulFixParams clonedData = new SelectRulFixParams() + { + CurrPage = this.CurrPage, + MaxRecord = this.MaxRecord, + NumRec = this.NumRec, + TotCount = this.TotCount + }; + return clonedData; + } + + public override bool Equals(object obj) + { + if (!(obj is SelectRulFixParams item)) + return false; + + if (MaxRecord != item.MaxRecord) + return false; + + if (NumRec != item.NumRec) + return false; + + if (TotCount != item.TotCount) + return false; + + if (CurrPage != item.CurrPage) + return false; + + return true; + } + + public override int GetHashCode() + { + return base.GetHashCode(); + } + + #endregion Public Methods + } +} \ No newline at end of file diff --git a/SMGen.Data/Services/SMGDataService.cs b/SMGen.Data/Services/SMGDataService.cs index 0da0836..5a9504f 100644 --- a/SMGen.Data/Services/SMGDataService.cs +++ b/SMGen.Data/Services/SMGDataService.cs @@ -282,8 +282,8 @@ namespace SMGen.Data.Services var rawData = await redisDb.HashGetAllAsync(currKey); foreach (var item in rawData) { - var desVal = JsonConvert.DeserializeObject(item.Value); - dbResult.Add($"{item.Name}", desVal); + var desVal = JsonConvert.DeserializeObject(item.Value!); + dbResult.Add($"{item.Name}", desVal!); } return dbResult; @@ -370,6 +370,7 @@ namespace SMGen.Data.Services private List TranInList2add { get; set; } = new List(); public async Task DoCheckUnusedEvSt(FilesClass currFile) { + await Task.Delay(1); States.Clear(); Bits.Clear(); Events_to_send.Clear(); @@ -568,7 +569,7 @@ namespace SMGen.Data.Services break; case "$STATE": - + //States.Add(sz_tokens[2].Trim().ToUpper()); if (!StatesAll.ContainsKey(sz_tokens[2].Trim().ToUpper())) { @@ -694,9 +695,9 @@ namespace SMGen.Data.Services string filePath = file.tempFileName; var lines = File.ReadLines(filePath); var fileTxt = File.ReadAllText(filePath); + string errMsg = ""; foreach (var line in lines) { - var txt = ""; if (line != "" && line.Contains(":")) { if (!line.StartsWith("$EVENT") && !line.StartsWith("#") && line.StartsWith("$STATE")) @@ -704,7 +705,13 @@ namespace SMGen.Data.Services var lineSplit = line.Split(":"); if (lineSplit.Count() >= 3) { - if (statesFromDb[int.Parse(lineSplit[1].Trim())] != lineSplit[2].Trim()) + if (!statesFromDb.ContainsKey(int.Parse(lineSplit[1].Trim()))) + { + errMsg = $"Lo stato {lineSplit[1].Trim()}: {lineSplit[2].Trim()} non è presente in AnagraficaStati sul DB"; + file.errorMsgs.Add(errMsg); + file.isOk = false; + } + else if (statesFromDb[int.Parse(lineSplit[1].Trim())] != lineSplit[2].Trim()) { fileTxt = fileTxt.Replace(lineSplit[2].Trim(), statesFromDb[int.Parse(lineSplit[1].Trim())]); } @@ -715,22 +722,35 @@ namespace SMGen.Data.Services var lineSplit = line.Split(":"); if (lineSplit.Count() >= 3) { - if (eventsFromDb[int.Parse(lineSplit[1].Trim())] != lineSplit[2].Trim()) + if (!eventsFromDb.ContainsKey(int.Parse(lineSplit[1].Trim()))) + { + errMsg = $"L'evento {lineSplit[1].Trim()}: {lineSplit[2].Trim()} non è presente in AnagraficaEventi sul DB"; + file.errorMsgs.Add(errMsg); + file.isOk = false; + } + else if (eventsFromDb[int.Parse(lineSplit[1].Trim())] != lineSplit[2].Trim()) { fileTxt = fileTxt.Replace(lineSplit[2].Trim(), eventsFromDb[int.Parse(lineSplit[1].Trim())]); } + } } } } - - var fileName = $"{file.origFileName.Split(".")[0]}.rul"; - file.DLoadFileName = $"{Path.Combine(procRootDir, bitCsvPath, fileName)}"; - - await FileUpdate(file.origFileName, file); - using (StreamWriter sw = new StreamWriter(file.DLoadFileName)) + if (file.errorMsgs.Count() == 0) { - sw.Write(fileTxt); + var fileName = $"{file.origFileName.Split(".")[0]}.rul"; + file.DLoadFileName = $"{Path.Combine(procRootDir, bitCsvPath, fileName)}"; + file.isOk = true; + await FileUpdate(file.origFileName, file); + using (StreamWriter sw = new StreamWriter(file.DLoadFileName)) + { + sw.Write(fileTxt); + } + } + else + { + await FileUpdate(file.origFileName, file); } } diff --git a/SMGen/Components/FilesList.razor b/SMGen/Components/FilesList.razor index 603d892..346e233 100644 --- a/SMGen/Components/FilesList.razor +++ b/SMGen/Components/FilesList.razor @@ -96,24 +96,6 @@ @line
- @*@if (FileLines.eventsOK.ContainsKey(line.Split(":")[2].ToUpper().Trim())) - { - @line -
- } - else if (line.Contains("#")) - { - if (FileLines.eventsOK.ContainsKey(line.Split(":")[2].Split("#")[0].ToUpper().Trim())) - { - @line -
- } - } - else - { - @line -
- }*@ } } diff --git a/SMGen/Components/FilesList.razor.cs b/SMGen/Components/FilesList.razor.cs index 7479eda..a83501e 100644 --- a/SMGen/Components/FilesList.razor.cs +++ b/SMGen/Components/FilesList.razor.cs @@ -24,6 +24,8 @@ namespace SMGen.Components [Parameter] public bool hasBit { get; set; } = false; + [Parameter] + public bool is2Chk { get; set; } = false; [Parameter] public Core.Enum.ORDERTYPE orderType { get; set; } = Core.Enum.ORDERTYPE.stateEvent; @@ -139,6 +141,10 @@ namespace SMGen.Components { await SMGDService.EvalIn2EvRuleFile(item.Value, true); } + else if (is2Chk) + { + await SMGDService.modFile(item.Value); + } else { await SMGDService.EvalIn2StateRuleFile(item.Value, false, calcItSelf, calcEmptyState, orderType); diff --git a/SMGen/Pages/FilesFix.razor b/SMGen/Pages/FilesFix.razor index 766bab8..e809747 100644 --- a/SMGen/Pages/FilesFix.razor +++ b/SMGen/Pages/FilesFix.razor @@ -8,16 +8,5 @@ - -@foreach (var item in Files) -{ -
- - @item.Key - - @if(item.Value.DLoadFileName != "") - { - @item.Value.DLoadFileName - } -
-} + + diff --git a/SMGen/Pages/FilesFix.razor.cs b/SMGen/Pages/FilesFix.razor.cs index 76963a9..51b8b22 100644 --- a/SMGen/Pages/FilesFix.razor.cs +++ b/SMGen/Pages/FilesFix.razor.cs @@ -1,29 +1,12 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Components; -using System.Net.Http; -using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Components.Authorization; -using Microsoft.AspNetCore.Components.Forms; -using Microsoft.AspNetCore.Components.Routing; -using Microsoft.AspNetCore.Components.Web; -using Microsoft.AspNetCore.Components.Web.Virtualization; -using Microsoft.JSInterop; -using SMGen; -using SMGen.Shared; -using SMGen.Components; using EgwCoreLib.Razor; -using EgwCoreLib.Razor.Data; -using SMGen.Data; -using SMGen.Core; -using SMGen.Data.DbModels; -using SMGen.Data.Services; +using Microsoft.AspNetCore.Components; +using Microsoft.AspNetCore.Components.Forms; using Microsoft.VisualBasic; -using System.Text; using NLog.Fluent; +using SMGen.Core; +using SMGen.Data; using SMGen.Data.Data; +using SMGen.Data.Services; namespace SMGen.Pages { @@ -36,7 +19,6 @@ namespace SMGen.Pages protected SMGDataService SMGDService { get; set; } = null!; protected Dictionary Files { get; set; } = new Dictionary(); - protected int maxAllowedFiles { get; set; } = 100; protected string pathDir { get; set; } = ""; @@ -111,19 +93,66 @@ namespace SMGen.Pages protected override async Task OnInitializedAsync() { await Task.Delay(1); - eventsFromDb = await SMGDService.AnagEventiGetAll(); - statesFromDb = await SMGDService.AnagStatiGetAll(); + await SMGDService.ExecFlushRedisPattern(Core.Constants.FILES_TO_PROC); } - protected async Task doProc() + #region Protected Methods + + protected void ForceReload(int newNum) { - foreach (var item in Files.OrderBy(x => x.Value.origFileName)) + numRecord = newNum; + } + + protected void ForceReloadPage(int newNum) + { + currPage = newNum; + } + + protected SelectSMIn2EvParams currFilter = new SelectSMIn2EvParams(); + + protected DataPager? pagerRulFix = null!; + + protected async Task pgResetReq(bool doReset) + { + if (doReset) { await Task.Delay(1); - await SMGDService.modFile(item.Value); + if (pagerRulFix != null) + { + pagerRulFix.resetCurrPage(); + } } } + protected void UpdateTotCount(int newTotCount) + { + totalCount = newTotCount; + } + + #endregion Protected Methods + + #region Private Properties + + private int currPage + { + get => currFilter.CurrPage; + set => currFilter.CurrPage = value; + } + + private int numRecord + { + get => currFilter.NumRec; + set => currFilter.NumRec = value; + } + + private int totalCount + { + get => currFilter.TotCount; + set => currFilter.TotCount = value; + } + + #endregion Private Properties + protected async Task ReloadData() { Files = await SMGDService.FilesGetAll(); diff --git a/SMGen/Temp/Rules/PROCESSED/BIT/test.rul b/SMGen/Temp/Rules/PROCESSED/BIT/test.rul index 6748e41..d066419 100644 --- a/SMGen/Temp/Rules/PROCESSED/BIT/test.rul +++ b/SMGen/Temp/Rules/PROCESSED/BIT/test.rul @@ -46,6 +46,7 @@ $STATE : 34 : Riscaldamento $STATE : 35 : Anomalia_Macchina $STATE : 49 : Manca_Attrezzatura $STATE : 50 : Usura_Utensile +$STATE : 52 : Formazione_Personale #definizione eventi : obbligatorio iniziare da 0 --> select * from AnagraficaEventi # NOTE