diff --git a/MP-TAB-SERV/Components/MachSel.razor b/MP-TAB-SERV/Components/MachSel.razor
index f24c8ec4..2a729643 100644
--- a/MP-TAB-SERV/Components/MachSel.razor
+++ b/MP-TAB-SERV/Components/MachSel.razor
@@ -1,10 +1,26 @@
-@if (false)
+@if (isMulti)
{
-
MachSel
-
+
+ Macchina
+
+
+ @*
-
+ *@
}
diff --git a/MP-TAB-SERV/Components/MachSel.razor.cs b/MP-TAB-SERV/Components/MachSel.razor.cs
index 09cbc1a8..15f7127c 100644
--- a/MP-TAB-SERV/Components/MachSel.razor.cs
+++ b/MP-TAB-SERV/Components/MachSel.razor.cs
@@ -1,5 +1,7 @@
using global::Microsoft.AspNetCore.Components;
using MP.Data.DatabaseModels;
+using MP.Data.Services;
+using System.Reflection.Metadata;
namespace MP_TAB_SERV.Components
{
@@ -8,10 +10,25 @@ namespace MP_TAB_SERV.Components
#region Public Properties
[Parameter]
- public MappaStatoExpl? RecMSE { get; set; } = null;
+ public EventCallback E_MachSel { get; set; }
[Parameter]
- public EventCallback E_MachSel { get; set; }
+ public MappaStatoExpl? RecMSE { get; set; } = null;
+
+ #endregion Public Properties
+
+ #region Protected Properties
+
+ protected string IdxMaccSel { get; set; } = "";
+
+ protected Dictionary? ListMacchineAll { get; set; } = null;
+
+ [Inject]
+ protected SharedMemService MServ { get; set; } = null!;
+
+ #endregion Protected Properties
+
+ #region Protected Methods
protected override async Task OnInitializedAsync()
{
@@ -19,9 +36,21 @@ namespace MP_TAB_SERV.Components
if (RecMSE != null)
{
await E_MachSel.InvokeAsync(RecMSE?.IdxMacchina);
+ // verifico se la macchina sia configurata tra le MSFD...
+ if (MServ.DictMacchMulti.ContainsKey(RecMSE?.IdxMacchina))
+ {
+ isMulti = MServ.DictMacchMulti[RecMSE?.IdxMacchina] == 1;
+ }
+ ListMacchineAll = MServ.DictMacchine;
}
}
- #endregion Public Properties
+ #endregion Protected Methods
+
+ #region Private Fields
+
+ private bool isMulti = false;
+
+ #endregion Private Fields
}
}
\ No newline at end of file
diff --git a/MP-TAB-SERV/Components/ProdConfirm.razor.cs b/MP-TAB-SERV/Components/ProdConfirm.razor.cs
index 514ae03f..e928f0ce 100644
--- a/MP-TAB-SERV/Components/ProdConfirm.razor.cs
+++ b/MP-TAB-SERV/Components/ProdConfirm.razor.cs
@@ -157,7 +157,6 @@ namespace MP_TAB_SERV.Components
await Task.Delay(1);
// effettua conferma con conf da DB del tipo (giorni / turni / periodo
bool fatto = effettuaConfermaProd();
-
// refresh tabella dati tablet...
TabDServ.RicalcMse(IdxMaccSel, 0);
// mostro output
diff --git a/MP-TAB-SERV/Components/TcHistoryFilter.razor.cs b/MP-TAB-SERV/Components/TcHistoryFilter.razor.cs
index 21383560..eed386c0 100644
--- a/MP-TAB-SERV/Components/TcHistoryFilter.razor.cs
+++ b/MP-TAB-SERV/Components/TcHistoryFilter.razor.cs
@@ -68,7 +68,10 @@ namespace MP_TAB_SERV.Components
protected bool ListArtDisabled { get => string.IsNullOrEmpty(SearchVal) || SearchVal.Length < SearchMinChar; }
protected Dictionary? ListArticoli { get; set; } = null;
protected Dictionary ListArticoliAll { get; set; } = new Dictionary();
- protected Dictionary ListMacchineAll { get => MServ.DictMacchine; set => MServ.DictMacchine = value; }
+ protected Dictionary ListMacchineAll {
+ get => MServ.DictMacchine;
+ set => MServ.DictMacchine = value;
+ }
protected int Num2Displ
{
diff --git a/MP-TAB-SERV/MP-TAB-SERV.csproj b/MP-TAB-SERV/MP-TAB-SERV.csproj
index c2961f3a..14c6c660 100644
--- a/MP-TAB-SERV/MP-TAB-SERV.csproj
+++ b/MP-TAB-SERV/MP-TAB-SERV.csproj
@@ -3,7 +3,7 @@
net6.0
enable
- 6.16.2310.417
+ 6.16.2310.419
enable
MP_TAB_SERV
diff --git a/MP-TAB-SERV/Resources/ChangeLog.html b/MP-TAB-SERV/Resources/ChangeLog.html
index 36d1c0ed..92eea940 100644
--- a/MP-TAB-SERV/Resources/ChangeLog.html
+++ b/MP-TAB-SERV/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 6.16.2310.417
+ Versione: 6.16.2310.419
Note di rilascio:
-
diff --git a/MP-TAB-SERV/Resources/VersNum.txt b/MP-TAB-SERV/Resources/VersNum.txt
index d0a2ae0c..b9af350d 100644
--- a/MP-TAB-SERV/Resources/VersNum.txt
+++ b/MP-TAB-SERV/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2310.417
+6.16.2310.419
diff --git a/MP-TAB-SERV/Resources/manifest.xml b/MP-TAB-SERV/Resources/manifest.xml
index 1a8d855f..8dc25dbc 100644
--- a/MP-TAB-SERV/Resources/manifest.xml
+++ b/MP-TAB-SERV/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2310.417
+ 6.16.2310.419
https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/MP-TAB-SERV.zip
https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/ChangeLog.html
false
diff --git a/MP-TAB-SERV/Shared/MainLayout.razor b/MP-TAB-SERV/Shared/MainLayout.razor
index e43a7ccb..3efa835f 100644
--- a/MP-TAB-SERV/Shared/MainLayout.razor
+++ b/MP-TAB-SERV/Shared/MainLayout.razor
@@ -4,6 +4,7 @@
@implements IDisposable
@inject NavigationManager NavMan
@inject ListSelectDataSrv MDataService
+@inject TabDataService TDataService
@inject SharedMemService MStor
@inject MessageService MServ
@@ -92,6 +93,10 @@
// fix config...
var allConf = await MDataService.ConfigGetAll();
MStor.SetConfig(allConf);
+
+ // fix MSFD...
+ var allMSFD = await TDataService.VMSFDGetAll();
+ MStor.SetMsfd(allMSFD);
}
CurrLevel = MStor.PageLevel(NavMan.Uri);
// recupero menù
diff --git a/MP.Data/Controllers/MpIocController.cs b/MP.Data/Controllers/MpIocController.cs
index 3d5d48a8..9d0ef9a4 100644
--- a/MP.Data/Controllers/MpIocController.cs
+++ b/MP.Data/Controllers/MpIocController.cs
@@ -360,6 +360,7 @@ namespace MP.Data.Controllers
///
/// Vista v_MSFD CALCOALTA x singola macchina (da stored) - singolo record
///
+ ///
///
public List VMSFDGetByMacc(string idxMacc)
{
diff --git a/MP.Data/DatabaseModels/VMSFDModel.cs b/MP.Data/DatabaseModels/VMSFDModel.cs
index f9745bbf..9a989c95 100644
--- a/MP.Data/DatabaseModels/VMSFDModel.cs
+++ b/MP.Data/DatabaseModels/VMSFDModel.cs
@@ -3,6 +3,9 @@ using System.Collections.Generic;
namespace MP.Data.DatabaseModels
{
+ //
+ // This is here so CodeMaid doesn't reorganize this document
+ //
public partial class VMSFDModel
{
public string IdxMacchina { get; set; }
diff --git a/MP.Data/Services/SharedMemService.cs b/MP.Data/Services/SharedMemService.cs
index c94ce18d..442b12f5 100644
--- a/MP.Data/Services/SharedMemService.cs
+++ b/MP.Data/Services/SharedMemService.cs
@@ -25,6 +25,17 @@ namespace MP.Data.Services
///
public Dictionary DictMacchine { get; set; } = new Dictionary();
+ ///
+ /// Dizionario macchine con info multi(bool)
+ ///
+ public Dictionary DictMacchMulti { get; set; } = new Dictionary();
+
+
+ ///
+ /// List configurazione attiva da tab DB
+ ///
+ public List ListMSFD { get; set; } = new List();
+
///
/// Dizionario Menu
///
@@ -85,6 +96,14 @@ namespace MP.Data.Services
Log.Info("SharedMemService | SetConfig executed!");
}
+ public void SetMsfd(List newList)
+ {
+ ListMSFD = newList ?? new List();
+ // salvo dizionario
+ DictMacchMulti = ListMSFD.ToDictionary(x => x.IdxMacchina, x => x.Multi);
+ Log.Info("SharedMemService | SetMsfd executed!");
+ }
+
///
/// Effettua setup memorie menu recuperando dati dal DB + popolando dizionario x livelli
///
diff --git a/MP.Data/Services/TabDataService.cs b/MP.Data/Services/TabDataService.cs
index 826b962a..a4a1070c 100644
--- a/MP.Data/Services/TabDataService.cs
+++ b/MP.Data/Services/TabDataService.cs
@@ -31,9 +31,11 @@ namespace MP.Data.Services
}
else
{
- dbController = new Controllers.MpTabController(configuration);
StringBuilder sb = new StringBuilder();
+ dbTabController = new Controllers.MpTabController(configuration);
sb.AppendLine($"TabDataService | MpTabController OK");
+ dbIocController = new Controllers.MpIocController(configuration);
+ sb.AppendLine($"TabDataService | MpIocController OK");
Log.Info(sb.ToString());
}
}
@@ -42,7 +44,8 @@ namespace MP.Data.Services
#region Public Properties
- public static Controllers.MpTabController dbController { get; set; } = null!;
+ public static Controllers.MpIocController dbIocController { get; set; } = null!;
+ public static Controllers.MpTabController dbTabController { get; set; } = null!;
#endregion Public Properties
@@ -67,7 +70,7 @@ namespace MP.Data.Services
}
else
{
- result = dbController.AnagEventiGetAll();
+ result = dbTabController.AnagEventiGetAll();
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(currKey, rawData, LongCache);
@@ -95,7 +98,7 @@ namespace MP.Data.Services
public bool ConfermaProdMacchina(string idxMacchina, int modoConfProd, int numPzConfermati, int numPzScarto, DateTime DataOraApp, int MatrOpr)
{
bool answ = false;
- answ = dbController.ConfermaProdMacchina(idxMacchina, modoConfProd, numPzConfermati, numPzScarto, DataOraApp, MatrOpr);
+ answ = dbTabController.ConfermaProdMacchina(idxMacchina, modoConfProd, numPzConfermati, numPzScarto, DataOraApp, MatrOpr);
return answ;
}
@@ -116,7 +119,7 @@ namespace MP.Data.Services
public bool ConfermaProdMacchinaFull(string idxMacchina, int modoConfProd, int numPzConfermati, int numPzLasciati, int numPzScarto, DateTime DataOraApp, int MatrOpr)
{
bool answ = false;
- answ = dbController.ConfermaProdMacchinaFull(idxMacchina, modoConfProd, numPzConfermati, numPzLasciati, numPzScarto, DataOraApp, MatrOpr);
+ answ = dbTabController.ConfermaProdMacchinaFull(idxMacchina, modoConfProd, numPzConfermati, numPzLasciati, numPzScarto, DataOraApp, MatrOpr);
return answ;
}
@@ -140,7 +143,7 @@ namespace MP.Data.Services
}
else
{
- result = await Task.FromResult(dbController.ConfigGetAll());
+ result = await Task.FromResult(dbTabController.ConfigGetAll());
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(currKey, rawData, LongCache);
@@ -157,7 +160,7 @@ namespace MP.Data.Services
public void Dispose()
{
// Clear database controller
- dbController.Dispose();
+ dbTabController.Dispose();
}
///
@@ -169,7 +172,7 @@ namespace MP.Data.Services
public bool RicalcMse(string idxMacchina, int maxAgeSec)
{
bool answ = false;
- answ = dbController.RicalcMse(idxMacchina, maxAgeSec);
+ answ = dbTabController.RicalcMse(idxMacchina, maxAgeSec);
return answ;
}
@@ -196,7 +199,7 @@ namespace MP.Data.Services
}
else
{
- result = dbController.STAR_byGrpOdl(codGruppo, idxODL);
+ result = dbTabController.STAR_byGrpOdl(codGruppo, idxODL);
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(currKey, rawData, LongCache);
@@ -234,7 +237,7 @@ namespace MP.Data.Services
}
else
{
- result = dbController.STAR_byGrpOdlLbl(codGruppo, label, idxODL);
+ result = dbTabController.STAR_byGrpOdlLbl(codGruppo, label, idxODL);
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(currKey, rawData, LongCache);
@@ -271,7 +274,7 @@ namespace MP.Data.Services
}
else
{
- result = dbController.StatoProdMacchina(idxMacchina, dtReq);
+ result = dbTabController.StatoProdMacchina(idxMacchina, dtReq);
// serializzp e salvo...
rawData = JsonConvert.SerializeObject(result);
await redisDb.StringSetAsync(currKey, rawData, UltraFastCache);
@@ -285,6 +288,77 @@ namespace MP.Data.Services
return result;
}
+ ///
+ /// Intera vista v_MSFD
+ ///
+ ///
+ public async Task
> VMSFDGetAll()
+ {
+ // setup parametri costanti
+ string source = "DB";
+ Stopwatch sw = new Stopwatch();
+ sw.Start();
+ List result = new List();
+ // cerco in redis...
+ string currKey = $"{redisBaseKey}:MSFD:ALL";
+ RedisValue rawData = await redisDb.StringGetAsync(currKey);
+ if (!string.IsNullOrEmpty($"{rawData}"))
+ {
+ result = JsonConvert.DeserializeObject>($"{rawData}");
+ source = "REDIS";
+ }
+ else
+ {
+ result = dbIocController.VMSFDGetAll();
+ // serializzp e salvo...
+ rawData = JsonConvert.SerializeObject(result);
+ await redisDb.StringSetAsync(currKey, rawData, UltraLongCache);
+ }
+ if (result == null)
+ {
+ result = new List();
+ }
+ sw.Stop();
+ Log.Debug($"VMSFDGetAll | {source} | {sw.Elapsed.TotalMilliseconds}ms");
+ return result;
+ }
+
+ ///
+ /// Vista v_MSFD CALCOALTA x singola macchina (da stored) - singolo record
+ ///
+ ///
+ ///
+ public async Task> VMSFDGetByMacc(string idxMacc)
+ {
+ // setup parametri costanti
+ string source = "DB";
+ Stopwatch sw = new Stopwatch();
+ sw.Start();
+ List? result = new List();
+ // cerco in redis...
+ string currKey = $"{redisBaseKey}:MSFD:MACCH:{idxMacc}";
+ RedisValue rawData = await redisDb.StringGetAsync(currKey);
+ if (!string.IsNullOrEmpty($"{rawData}"))
+ {
+ result = JsonConvert.DeserializeObject>($"{rawData}");
+ source = "REDIS";
+ }
+ else
+ {
+ result = dbIocController.VMSFDGetByMacc(idxMacc);
+ // serializzp e salvo...
+ rawData = JsonConvert.SerializeObject(result);
+ await redisDb.StringSetAsync(currKey, rawData, UltraFastCache);
+ }
+ if (result == null)
+ {
+ result = new List();
+ }
+ sw.Stop();
+ Log.Debug($"VMSFDGetByMacc | {source} | {sw.Elapsed.TotalMilliseconds}ms");
+ return result;
+ }
+
#endregion Public Methods
#region Protected Fields