diff --git a/MP-TAB-SERV/Components/PrintMag.razor b/MP-TAB-SERV/Components/PrintMag.razor index 0c8bf38a..bb1d0f4b 100644 --- a/MP-TAB-SERV/Components/PrintMag.razor +++ b/MP-TAB-SERV/Components/PrintMag.razor @@ -1,5 +1,12 @@ -

PrintMag

+
+
+ Gestione stampa etichette +
+ Gestione etichette per l'ODL con modulo MAG +
+
+ MAG +
+
-@code { -} diff --git a/MP-TAB-SERV/Components/PrintMag.razor.cs b/MP-TAB-SERV/Components/PrintMag.razor.cs new file mode 100644 index 00000000..39f5da30 --- /dev/null +++ b/MP-TAB-SERV/Components/PrintMag.razor.cs @@ -0,0 +1,111 @@ +using Amazon.Runtime.Internal; +using Microsoft.AspNetCore.Components; + +namespace MP_TAB_SERV.Components +{ + public partial class PrintMag + { +#if false + protected int MatrOpr + { + get + { + return memLayer.ML.IntSessionObj("MatrOpr"); + } + } +#endif + +#if false + protected int QtaUdc + { + get + { + int answ = 1; + string codGrp = "IMB"; + string codVal = "NUM_PZ_CONT"; + // recupero dato da scheda tecnica della quantità per UDC + var tabSTAR = DataLayerObj.taSTAR.getByGrpOdlLbl(codGrp, codVal, idxOdl); + if (tabSTAR.Rows.Count > 0) + { + try + { + int.TryParse(tabSTAR[0].Value, out answ); + } + catch + { } + } + return answ; + } + } +#endif + +#if false + protected string UserAuthKey + { + get + { + //cerco in sessione... + string answ = memLayer.ML.StringSessionObj("UserAuthKey"); + // se non trovo --> db + if (string.IsNullOrEmpty(answ)) + { + var tabOpr = DataLayerObj.taOp.getByMatrOpr(MatrOpr); + if (tabOpr.Rows.Count > 0) + { + answ = tabOpr[0].authKey; + } + } + return answ; + } + } +#endif + + [Inject] + protected NavigationManager NavMan { get; set; } = null!; + [Inject] + protected IConfiguration config { get; set; } = null!; + + protected override async Task OnInitializedAsync() + { + updateOdl(); + var currUrl = NavMan.Uri; + string baseUrl = config["OptConf:BaseUrl"]; + string UrlTabJumpMag = "MP/MAG/jumper"; + //string UrlTabJumpMag = memLayer.ML.cdv("UrlTabJumpMag"); + //if (string.IsNullOrEmpty(UrlTabJumpMag)) + //{ + // UrlTabJumpMag = "MP/MAG/jumper"; + //} + + // compongo url come jumpAddr + query params + string appUrl = currUrl.Replace(baseUrl, UrlTabJumpMag); + // completare con config valda metodo base + navUrl = $"https://{appUrl}?MatrOpr=";// {MatrOpr}&UserAuthKey={UserAuthKey}&IdxOdl={idxOdl}&IdxMacchina={idxMacchina}&QtaUdc={QtaUdc}"; + //navUrl = $"{currUrl.Scheme}://{currUrl.Authority}/{UrlTabJumpMag}?MatrOpr={MatrOpr}&UserAuthKey={UserAuthKey}&IdxOdl={idxOdl}&IdxMacchina={idxMacchina}&QtaUdc={QtaUdc}"; + await Task.Delay(1); + } + + private string navUrl = ""; + + #region Protected Methods + + /// + /// ODL correntemente sulla macchina + /// - cerca in Redis (TTL 5 sec) + /// - altrimenti recupera da DB... + /// + protected void updateOdl() + { +#if false + // userò ODL del turno + int answ = 0; + // cerco da redis... + int.TryParse(DataLayerObj.currODL(idxMacchinaSel, true), out answ); + // salvo! + idxOdl = answ; +#endif + } + + #endregion Protected Methods + } +} \ No newline at end of file diff --git a/MP-TAB-SERV/Shared/MainLayout.razor b/MP-TAB-SERV/Shared/MainLayout.razor index c356a9e2..cf3ddcbc 100644 --- a/MP-TAB-SERV/Shared/MainLayout.razor +++ b/MP-TAB-SERV/Shared/MainLayout.razor @@ -111,6 +111,8 @@ await MDataService.FlushCache(); var allData = await MDataService.ListLinkAll(); MStor.SetupMenu(allData); + var allConf = await MDataService.ConfigGetAll(); + MStor.SetConfig(allConf); sw.Stop(); int delta = 400 - (int)sw.ElapsedMilliseconds; if (delta > 0) diff --git a/MP-TAB-SERV/wwwroot/css/site.css b/MP-TAB-SERV/wwwroot/css/site.css index 12513de1..1d526090 100644 --- a/MP-TAB-SERV/wwwroot/css/site.css +++ b/MP-TAB-SERV/wwwroot/css/site.css @@ -2,7 +2,7 @@ html, body { /*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/ - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-family: 'Open Sans Condensed', sans-serif; background-image: linear-gradient(#444, #222); color: #EDEDED; } diff --git a/MP-TAB-SERV/wwwroot/css/site.less b/MP-TAB-SERV/wwwroot/css/site.less index 489281e7..14cf140a 100644 --- a/MP-TAB-SERV/wwwroot/css/site.less +++ b/MP-TAB-SERV/wwwroot/css/site.less @@ -2,7 +2,7 @@ html, body { /*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/ - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-family: 'Open Sans Condensed', sans-serif; background-image: linear-gradient(#444,#222); color: #EDEDED; } diff --git a/MP-TAB-SERV/wwwroot/css/site.min.css b/MP-TAB-SERV/wwwroot/css/site.min.css index 94a010d4..e6b09875 100644 --- a/MP-TAB-SERV/wwwroot/css/site.min.css +++ b/MP-TAB-SERV/wwwroot/css/site.min.css @@ -1 +1 @@ -@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');html,body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;background-image:linear-gradient(#444,#222);color:#ededed;}h1:focus{outline:0;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";} \ No newline at end of file +@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');html,body{font-family:'Open Sans Condensed',sans-serif;background-image:linear-gradient(#444,#222);color:#ededed;}h1:focus{outline:0;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";} \ No newline at end of file diff --git a/MP.Data/Services/SharedMemService.cs b/MP.Data/Services/SharedMemService.cs index 7d98558d..e98ea243 100644 --- a/MP.Data/Services/SharedMemService.cs +++ b/MP.Data/Services/SharedMemService.cs @@ -9,9 +9,9 @@ using System.Text; namespace MP.Data.Services { - public class SharedMemService + public class SharedMemService { - + #region Public Properties /// @@ -24,6 +24,11 @@ namespace MP.Data.Services /// public Dictionary> DictMenu { get; set; } = new Dictionary>(); + /// + /// List configurazione attiva da tab DB + /// + public List DbConfig { get; set; } = new List(); + #endregion Public Properties public bool MenuOk @@ -55,13 +60,18 @@ namespace MP.Data.Services var currMenu = AllMenuData .Where(x => x.TipoLink == item) .ToList(); - if(!DictMenu.ContainsKey(item)) + if (!DictMenu.ContainsKey(item)) { DictMenu.Add(item, currMenu); } } } + public void SetConfig(List? newConfList) + { + DbConfig = newConfList ?? new List(); + } + /// /// Restituisce il livello pagina dato URL /// - se contiene ?IdxMacc --> T2D (detail) @@ -73,7 +83,7 @@ namespace MP.Data.Services { string answ = "T2H"; var urlPart = fullUrl.Split("/"); - string pageUrl=urlPart.Last().ToLower(); + string pageUrl = urlPart.Last().ToLower(); // cerco nell'elenco... if (AllMenuData.Count > 0) {