diff --git a/MP.FileData/Controllers/FileController.cs b/MP.FileData/Controllers/FileController.cs
index 3d9cf039..3ca0e800 100644
--- a/MP.FileData/Controllers/FileController.cs
+++ b/MP.FileData/Controllers/FileController.cs
@@ -133,7 +133,7 @@ namespace MP.FileData.Controllers
// salvo i NUOVI file
if (fileNew != null && fileNew.Count > 0)
{
- FileInsert(idxMacchina, fileNew, 0, currRule);
+ FileInsert(idxMacchina, path, fileNew, 0, currRule);
Log.Info($"CheckFileArchived S03 | insert {fileNew.Count} files");
}
// aggiorno i file modificati
@@ -276,7 +276,7 @@ namespace MP.FileData.Controllers
///
///
///
- public bool FileInsert(string idxMacchina, List newFiles, int rev, SearchRules currRule)
+ public bool FileInsert(string idxMacchina, string basePath, List newFiles, int rev, SearchRules currRule)
{
// fare: lettura conf x macchina
Log.Info($"FileInsert S01 per macchina {idxMacchina}: {newFiles.Count} files da valutare");
@@ -324,7 +324,14 @@ namespace MP.FileData.Controllers
}
}
// cerco codice tag da configurazione
- Tags = TagsUtils.searchProgComment(fileName, item.FileStringContent, currRule);
+ if (currRule.Mode == SearchMode.StringOnFile)
+ {
+ Tags = TagsUtils.searchProgComment(fileName, item.FileStringContent, currRule);
+ }
+ else
+ {
+ Tags = TagsUtils.searchPathName(fileName, basePath, currRule);
+ }
foreach (var tag in Tags)
{
@@ -399,7 +406,7 @@ namespace MP.FileData.Controllers
if (currRule.Name != "ND")
{
// inserisco come REVISIONE
- FileInsert(currFile.IdxMacchina, listUpdate, currFile.Rev + 1, currRule);
+ FileInsert(currFile.IdxMacchina, currMacchina.BasePath, listUpdate, currFile.Rev + 1, currRule);
// archivio vecchio file
currFile.Active = false;
diff --git a/MP.FileData/SearchRules.cs b/MP.FileData/SearchRules.cs
index d928d5a2..bcf3c818 100644
--- a/MP.FileData/SearchRules.cs
+++ b/MP.FileData/SearchRules.cs
@@ -14,7 +14,7 @@ namespace MP.FileData
StringOnFile,
///
- /// Cerca da path relativo + nume file
+ /// Cerca da path relativo + nome file
///
PathAndName
}
diff --git a/MP.FileData/TagsUtils.cs b/MP.FileData/TagsUtils.cs
index 15dfb70c..9233efed 100644
--- a/MP.FileData/TagsUtils.cs
+++ b/MP.FileData/TagsUtils.cs
@@ -1,6 +1,7 @@
using NLog;
using System;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@@ -27,6 +28,53 @@ namespace MP.FileData
#region Public Methods
+ ///
+ /// Cerca tag a aprtire da directory + nome file, ignorando delle stopword
+ ///
+ /// es: ...\BUSSOLE.WPD\172L_EST8.MPF --> "BUSSOLE", "172L_EST8"
+ ///
+ /// Nome del file (path completo)
+ /// Parametri analisi
+ ///
+ public static List searchPathName(string filePath, string basePath, SearchRules currRule)
+ {
+ List answ = new List();
+ string fileName = Path.GetFileName(filePath);
+ // dal nome se richeisto estraggo...
+ if (!currRule.OutExcludeFileName)
+ {
+ // bonifico
+ foreach (var item in currRule.OutReplace)
+ {
+ fileName = fileName.Replace(item.Key, item.Value);
+ }
+ // aggiungo fileName
+ answ.Add(fileName);
+ }
+ // ora da path... escludo base e file...
+ string dirPath = filePath.Replace(fileName, "").Replace(basePath, "");
+ // splitto per "/"
+ var pathTags = dirPath.Split(@"\");
+ foreach (var segmenti in pathTags)
+ {
+ string rawData = segmenti;
+ // bonifico
+ foreach (var item in currRule.OutReplace)
+ {
+ rawData = rawData.Replace(item.Key, item.Value);
+ }
+ // fix replace filtro
+ answ.Add(rawData);
+ }
+
+ // se nullo --> segnalo!
+ if (answ.Count == 0)
+ {
+ Log.Warn($"searchPathName Attenzione Tag non trovati | {filePath} | basePath: {basePath}");
+ }
+ return answ;
+ }
+
///
/// Cerca tag di commento inseriti nel formato
/// NOME_PROG(commento)
diff --git a/MP.Prog/Components/ArchiveStatus.razor.cs b/MP.Prog/Components/ArchiveStatus.razor.cs
index 3287dbf9..8ecffc3c 100644
--- a/MP.Prog/Components/ArchiveStatus.razor.cs
+++ b/MP.Prog/Components/ArchiveStatus.razor.cs
@@ -46,7 +46,7 @@ namespace MP.Prog.Components
foreach (var item in listaMacchine.Where(x => !string.IsNullOrEmpty(x.BasePath)).ToList())
{
percLoading += 100 / numMacchine;
- numChecks += await DataService.updateMachineArchive(item.IdxMacchina, maxHour, false);
+ numChecks = await DataService.updateMachineArchive(item.IdxMacchina, maxHour, false);
setupMessages.Add($"{item.IdxMacchina}: {numChecks} files");
StateHasChanged();
@@ -70,7 +70,7 @@ namespace MP.Prog.Components
protected async Task ClearMessage()
{
- await Task.Delay(100);
+ await Task.Delay(500);
setupMessages = new List();
}
@@ -78,9 +78,10 @@ namespace MP.Prog.Components
{
setupMessages.Add("Inizio Analisi Archivio...");
ListRecords = null;
+ await Task.Delay(1);
await ArchiveCheck(maxHour);
- await ReloadData();
await ClearMessage();
+ await ReloadData();
}
protected override async Task OnInitializedAsync()
diff --git a/MP.Prog/Components/LoadingData.razor b/MP.Prog/Components/LoadingData.razor
index 7ba1bac5..2aa17997 100644
--- a/MP.Prog/Components/LoadingData.razor
+++ b/MP.Prog/Components/LoadingData.razor
@@ -1,5 +1,5 @@
@*Working
*@
-