Aggiunto check force deroga

This commit is contained in:
Samuele Locatelli
2023-10-26 17:02:16 +02:00
parent 95913cd74e
commit 2e2ce2e9f3
10 changed files with 142 additions and 22 deletions
+4 -4
View File
@@ -22,7 +22,7 @@ namespace MP_TAB_SERV.Components
protected List<ST_AnagGruppi> ListGruppi { get; set; } = new List<ST_AnagGruppi>();
[Inject]
protected TabDataService TabServ { get; set; } = null!;
protected TabDataService TabDServ { get; set; } = null!;
#endregion Protected Properties
@@ -34,7 +34,7 @@ namespace MP_TAB_SERV.Components
return;
if (IdxOdl > 0)
{
await TabServ.ST_CheckCleanByOdl(IdxOdl);
await TabDServ.ST_CheckCleanByOdl(IdxOdl);
}
checkReset();
}
@@ -82,7 +82,7 @@ namespace MP_TAB_SERV.Components
if (!string.IsNullOrEmpty(CodArticolo))
{
// controllo se la macchina è in attrezzaggio...
var rigaStato = TabServ.StatoMacchina(IdxMaccSel);
var rigaStato = TabDServ.StatoMacchina(IdxMaccSel);
if (rigaStato != null)
{
inAttr = (rigaStato.IdxStato == 2);
@@ -95,7 +95,7 @@ namespace MP_TAB_SERV.Components
private async Task ReloadData()
{
ListGruppi = await TabServ.ST_AnagGruppiList();
ListGruppi = await TabDServ.ST_AnagGruppiList();
}
#endregion Private Methods
@@ -11,7 +11,7 @@
}
else
{
<button class=" btn btn-sm btn-danger py-0 text-light"><i class="fa-solid fa-kit-medical"></i></button>
<button class=" btn btn-sm btn-danger py-0 text-light" @onclick="ForceParam"><i class="fa-solid fa-kit-medical"></i></button>
}
}
@if (!string.IsNullOrEmpty(CurrRec.ValueRead))
@@ -1,5 +1,7 @@
using global::Microsoft.AspNetCore.Components;
using Microsoft.JSInterop;
using MP.Data.DatabaseModels;
using MP.Data.Objects;
using MP.Data.Services;
namespace MP_TAB_SERV.Components
@@ -47,38 +49,66 @@ namespace MP_TAB_SERV.Components
public string Traduci(string lemma)
{
return SMServ.Traduci($"{baseLang}_{lemma}");
return SMServ.Traduci($"{baseLang}_{lemma}".ToUpper());
}
#endregion Public Methods
#region Protected Properties
[Inject]
protected MessageService MServ { get; set; } = null!;
[Inject]
protected NavigationManager NavMan { get; set; } = null!;
[Inject]
protected SharedMemService SMServ { get; set; } = null!;
[Inject]
protected TabDataService TabDServ { get; set; } = null!;
#endregion Protected Properties
#region Protected Methods
protected async Task ForceParam()
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", Traduci("ConfirmForceParamST")))
return;
// registro abilitazione forzatura parametro per un periodo limitato
StCheckOverride newDeroga = new StCheckOverride()
{
CanForce = enableForceParamSchedaTecnica,
Num = CurrRec.Num,
Oggetto = CurrRec.Oggetto,
CodTipo = CurrRec.CodTipo,
CodGruppo = CurrRec.CodGruppo,
IdxST = CurrRec.IdxST,
Utente = $"{MatrOpr}"
};
// salvo
TabDServ.ST_DerogaSet(newDeroga);
// redirect
NavMan.NavigateTo(NavMan.Uri, true);
}
[Inject]
protected IJSRuntime JSRuntime { get; set; } = null!;
protected override void OnParametersSet()
{
enableForceParamSchedaTecnica = SMServ.GetConfBool("enableForceParamSchedaTecnica");
baseLang = SMServ.GetConf("baseLang");
hasDeroga = false;
#if false
try
if (CurrRec != null)
{
hasDeroga = false;
var currDeroga = TabDServ.ST_DerogaGet($"{MatrOpr}", CurrRec.IdxST);
if (currDeroga != null)
{
var currDeroga = DataLayerObj.getDerogaSt(idxST);
answ = (currDeroga != null);
if (answ)
{
answ = (currDeroga.CanForce && currDeroga.Num == dataNum && currDeroga.CodGruppo == dataGroup && currDeroga.CodTipo == dataType && currDeroga.Oggetto == dataOggetto);
}
hasDeroga = (currDeroga.IdxST == CurrRec.IdxST && currDeroga.CanForce && currDeroga.Num == CurrRec.Num && currDeroga.CodGruppo == CurrRec.CodGruppo && currDeroga.CodTipo == CurrRec.CodTipo && currDeroga.Oggetto == CurrRec.Oggetto);
}
catch
{ }
#endif
}
}
#endregion Protected Methods
@@ -86,9 +116,20 @@ namespace MP_TAB_SERV.Components
#region Private Fields
private string baseLang = "IT";
private bool enableForceParamSchedaTecnica = false;
private bool hasDeroga = false;
#endregion Private Fields
#region Private Properties
private int MatrOpr
{
get => MServ.MatrOpr;
}
#endregion Private Properties
}
}
+1 -1
View File
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<Version>6.16.2310.2615</Version>
<Version>6.16.2310.2617</Version>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP_TAB_SERV</RootNamespace>
</PropertyGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 6.16.2310.2615</h4>
<h4>Versione: 6.16.2310.2617</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
6.16.2310.2615
6.16.2310.2617
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>6.16.2310.2615</version>
<version>6.16.2310.2617</version>
<url>https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/MP-TAB-SERV.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
+18
View File
@@ -2,6 +2,7 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using MP.Data.DatabaseModels;
using MP.Data.Objects;
using NLog;
using System;
using System.Collections.Generic;
@@ -1248,6 +1249,23 @@ namespace MP.Data.Controllers
return dbResult;
}
public bool SetDerogaSt(StCheckOverride deroga)
{
bool fatto = false;
#if false
try
{
string keyDerogaST = memLayer.ML.redHash($"DerogaSt:{user_std.UtSn.utente}:{deroga.IdxST:000}");
string rawData = JsonConvert.SerializeObject(deroga);
memLayer.ML.setRSV(keyDerogaST, rawData, 60 * 2);
fatto = true;
}
catch
{ }
#endif
return fatto;
}
/// <summary>
/// Elenco causali scarto
/// </summary>
+23
View File
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MP.Data.Objects
{
public class StCheckOverride
{
#region Public Properties
public bool CanForce { get; set; } = false;
public string CodGruppo { get; set; } = "";
public string CodTipo { get; set; } = "";
public int IdxST { get; set; } = 0;
public int Num { get; set; } = 0;
public int Oggetto { get; set; } = 0;
public string Utente { get; set; } = "";
#endregion Public Properties
}
}
+38
View File
@@ -1077,6 +1077,44 @@ namespace MP.Data.Services
Log.Debug($"ST_AnagGruppiList | {source} | {sw.Elapsed.TotalMilliseconds}ms");
return result;
}
public bool ST_DerogaSet(StCheckOverride deroga)
{
bool fatto = false;
try
{
string keyDerogaST = redHash($"DerogaSt:{deroga.Utente}:{deroga.IdxST:000}");
string rawData = JsonConvert.SerializeObject(deroga);
redisDb.StringSet(keyDerogaST, rawData, TimeSpan.FromMinutes(2));
fatto = true;
}
catch (Exception exc)
{
Log.Error($"Eccezione in ST_DerogaSet | Utente: {deroga.Utente} | IdxST: {deroga.IdxST}{Environment.NewLine}{exc}");
}
return fatto;
}
/// <summary>
/// Dati deroga SchedaTecnica serializzati in REDIS
/// </summary>
public StCheckOverride ST_DerogaGet(string Utente, int IdxST)
{
StCheckOverride answ = new StCheckOverride() { IdxST = 0 };
string keyDerogaST = redHash($"DerogaSt:{Utente}:{IdxST:000}");
string rawData = redisDb.StringGet(keyDerogaST);
if (!string.IsNullOrEmpty(rawData))
{
try
{
answ = JsonConvert.DeserializeObject<StCheckOverride>(rawData);
}
catch (Exception exc)
{
Log.Error($"Eccezione in ST_DerogaSet | Utente: {Utente} | IdxST: {IdxST}{Environment.NewLine}{exc}");
}
}
return answ;
}
public List<VocabolarioModel> VocabolarioGetAll()
{