Ancora fix gestione ODL
This commit is contained in:
@@ -6,15 +6,17 @@
|
||||
@if (isProcessing)
|
||||
{
|
||||
<ProgressDisplay RefreshInterval="200" Title="ODL Processing" MaxVal="@MaxVal" CurrVal="@currVal" NextVal="@nextVal" ExpTimeMSec="@expTimeMsec"></ProgressDisplay>
|
||||
<LoadingData Title="Cleaning Up Data" DisplaySize="LoadingData.CtrlSize.Large" DisplayMode="LoadingData.SpinMode.Growl"></LoadingData>
|
||||
<LoadingData Title="Elaborazione..." DisplaySize="LoadingData.CtrlSize.Large" DisplayMode="LoadingData.SpinMode.Growl"></LoadingData>
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (needConfProd)
|
||||
{
|
||||
<div class="col-12 text-danger">
|
||||
<div class="fs-3">@lblWarnHead</div>
|
||||
<div class="small">@lblWarnBody <b>@numPz2Conf.ToString("N0")</b> pz NC</div>
|
||||
<div class="col-12 text-danger text-center my-2">
|
||||
<div class="btn btn-danger w-100">
|
||||
<div class="fs-1">@lblWarnHead</div>
|
||||
<div class="fs-4">@lblWarnBody <b>@numPz2Conf.ToString("N0")</b> pz NC</div>
|
||||
</div>
|
||||
</div>
|
||||
@if (!odlOk)
|
||||
{
|
||||
@@ -41,7 +43,7 @@
|
||||
@if (!inAttr && !showOdlDetail)
|
||||
{
|
||||
<div class="col-12 my-1">
|
||||
<button class="btn btn-lg btn-outline-warning w-100" disabled="@inAttr" @onclick="ToggleOdlDetail"><i class="fa-solid fa-chevron-down"></i> @txtBtnOdlDetail</button>
|
||||
<button class="btn btn-lg btn-warning w-100" disabled="@inAttr" @onclick="ToggleOdlDetail"><i class="fa-solid fa-chevron-down"></i> @txtBtnOdlDetail</button>
|
||||
</div>
|
||||
}
|
||||
|
||||
@@ -56,7 +58,7 @@
|
||||
<div>
|
||||
@if (idxPOdlSel == 0 && !inAttr)
|
||||
{
|
||||
<button class="btn btn-lg btn-dark w-100" @onclick="ToggleOdlDetail"><i class="fa-solid fa-chevron-up"></i> @txtBtnOdlDetail</button>
|
||||
<button class="btn btn-dark w-100" @onclick="ToggleOdlDetail"><i class="fa-solid fa-chevron-up"></i> @txtBtnOdlDetail</button>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
@@ -220,15 +222,18 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="col-12 col-md-6 p-2">
|
||||
<div class="form-check form-switch fs-3">
|
||||
<input class="form-check-input" type="checkbox" @bind="@forceCloseOdl">
|
||||
<label class="form-check-label">@Traduci("ForceCloseODL")</label>
|
||||
if (odlOk)
|
||||
{
|
||||
<div class="col-12 col-md-6 p-2">
|
||||
<div class="form-check form-switch fs-3">
|
||||
<input class="form-check-input" type="checkbox" @bind="@forceCloseOdl">
|
||||
<label class="form-check-label">@txtForceCloseOdl</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
<div class="col-12 col-md-6 p-2">
|
||||
<button class="btn btn-lg btn-success w-100" @onclick="() => SendFixEndSetup()"><i class="fa-solid fa-wrench me-1"></i> Fix Chiusura Arttrezzaggio (PLC)</button>
|
||||
<button class="btn btn-lg btn-success w-100" @onclick="() => SendFixEndSetup()"><i class="fa-solid fa-wrench me-1"></i> Fix Chiusura Attrezzaggio (PLC)</button>
|
||||
</div>
|
||||
<div class="col-12 col-md-6 p-2">
|
||||
<button class="btn btn-lg btn-info w-100" disabled="@needConfProd"><i class="fa-solid fa-triangle-exclamation me-1"></i> Mostra Riattrezzaggio</button>
|
||||
|
||||
@@ -5,6 +5,7 @@ using MP.Data.DatabaseModels;
|
||||
using MP.Data.Objects;
|
||||
using MP.Data.Services;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Text;
|
||||
using static MP.Data.Objects.Enums;
|
||||
|
||||
@@ -281,12 +282,19 @@ namespace MP_TAB_SERV.Components
|
||||
checkAll();
|
||||
// imposto odl...
|
||||
idxOdl = idxODLStart;
|
||||
IdxPOdlSel = 0;
|
||||
inAttr = false;
|
||||
IdxPOdlSel = 0;
|
||||
RecMSE = null;
|
||||
await advStep(currStep++);
|
||||
// faccio refresh e riporto
|
||||
await RefreshData();
|
||||
await CheckAttr();
|
||||
// chiudo update...
|
||||
isProcessing = false;
|
||||
//await InvokeAsync(StateHasChanged);
|
||||
// qui rimando a pag principale...
|
||||
NavMan.NavigateTo("/", true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -312,22 +320,7 @@ namespace MP_TAB_SERV.Components
|
||||
int currStep = 0;
|
||||
await advStep(currStep);
|
||||
isProcessing = true;
|
||||
|
||||
DateTime adesso = DateTime.Now;
|
||||
#if false
|
||||
// se fosse multi mi chiedo se sia DAVVERO in attrezzaggio...
|
||||
if (isMulti)
|
||||
{
|
||||
try
|
||||
{
|
||||
// controllo se NON SONO gia in attrezzaggio...
|
||||
var rigaStato = TabDServ.StatoMacchina(IdxMaccParent);
|
||||
inAttr = (rigaStato.IdxStato == 2);
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
#endif
|
||||
await advStep(currStep++);
|
||||
// proseguo
|
||||
int idxODL_curr = 0;
|
||||
@@ -340,7 +333,7 @@ namespace MP_TAB_SERV.Components
|
||||
{
|
||||
tcRichAttr = currPodl.Tcassegnato;
|
||||
}
|
||||
if (enableSplitODL)
|
||||
if (enableSplitODL && !forceCloseOdl)
|
||||
{
|
||||
// splitto VECCHIO ODL (se fosse rimasto qualcosa da produrre e ne sia rimasto uno.......)
|
||||
try
|
||||
@@ -480,8 +473,6 @@ namespace MP_TAB_SERV.Components
|
||||
await TabDServ.saveCounter(IdxMaccSel, "0");
|
||||
// imposto ODL su redis...
|
||||
TabDServ.saveCurrODL(IdxMaccSel, idxODL_curr);
|
||||
// salvo odl selezionato
|
||||
idxOdl = idxODL_curr;
|
||||
await advStep(currStep++);
|
||||
}
|
||||
else
|
||||
@@ -490,12 +481,19 @@ namespace MP_TAB_SERV.Components
|
||||
}
|
||||
|
||||
// refresh finale
|
||||
var tmpTCR = tcRichAttr;
|
||||
checkBtnStatus();
|
||||
fixSplitBtn(false);
|
||||
// faccio refresh e riporto
|
||||
idxOdl = idxODL_curr;
|
||||
IdxPOdlSel = 0;
|
||||
RecMSE = null;
|
||||
await RefreshData();
|
||||
await CheckAttr();
|
||||
inAttr = true;
|
||||
tcRichAttr = tmpTCR;
|
||||
isProcessing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
@@ -530,6 +528,7 @@ namespace MP_TAB_SERV.Components
|
||||
{
|
||||
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi fine produzione?"))
|
||||
return;
|
||||
|
||||
// preparo gestione progress display
|
||||
MaxVal = 7;
|
||||
isProcessing = true;
|
||||
@@ -626,18 +625,27 @@ namespace MP_TAB_SERV.Components
|
||||
}
|
||||
await advStep(currStep++);
|
||||
// faccio refresh e riporto
|
||||
IdxPOdlSel = 0;
|
||||
RecMSE = null;
|
||||
currOdl = new ODLExpModel();
|
||||
inAttr = false;
|
||||
IdxPOdlSel = 0;
|
||||
forceCloseOdl = true;
|
||||
//await Task.Delay(250);
|
||||
await RefreshData();
|
||||
await CheckAttr();
|
||||
await advStep(currStep++);
|
||||
isProcessing = false;
|
||||
await InvokeAsync(StateHasChanged);
|
||||
//NavMan.NavigateTo(NavMan.Uri, true);
|
||||
}
|
||||
|
||||
protected async Task RefreshData()
|
||||
{
|
||||
// refresh tabella dati tablet...
|
||||
TabDServ.RicalcMse(IdxMaccSel, 0);
|
||||
RecMSE = null;
|
||||
// rileggo e salvo..
|
||||
var ListMSE = await MDataService.MseGetAll();
|
||||
var ListMSE = await MDataService.MseGetAll(true);
|
||||
if (ListMSE != null)
|
||||
{
|
||||
// salvo in LocalStorage...
|
||||
@@ -699,20 +707,44 @@ namespace MP_TAB_SERV.Components
|
||||
{
|
||||
showOdlDetail = !showOdlDetail;
|
||||
// se devo mostrare, carico dati ODL!
|
||||
if (showOdlDetail && RecMSE != null)
|
||||
if (showOdlDetail)
|
||||
{
|
||||
await ReloadXDL(true);
|
||||
}
|
||||
}
|
||||
|
||||
private string txtForceCloseOdl
|
||||
{
|
||||
get => forceCloseOdl ? Traduci("ForceCloseODL") : Traduci("SplitCurrODL");
|
||||
}
|
||||
|
||||
private async Task ReloadXDL(bool reloadFromOdl)
|
||||
{
|
||||
int currIdxPOdl = IdxPOdlSel;
|
||||
if (reloadFromOdl)
|
||||
if (RecMSE != null)
|
||||
{
|
||||
currIdxPOdl = RecMSE != null ? RecMSE.IdxPOdl ?? 0 : 0;
|
||||
if (reloadFromOdl)
|
||||
{
|
||||
currIdxPOdl = RecMSE.IdxPOdl ?? 0;
|
||||
}
|
||||
// se ho PODL valido...
|
||||
if (currIdxPOdl > 0)
|
||||
{
|
||||
currPodl = await TabDServ.PODLExp_getByKey(currIdxPOdl);
|
||||
}
|
||||
else
|
||||
{
|
||||
currPodl = new PODLExpModel()
|
||||
{
|
||||
IdxOdl = RecMSE.IdxOdl ?? 0,
|
||||
KeyRichiesta = "-",
|
||||
CodArticolo = RecMSE.CodArticolo,
|
||||
DescArticolo = RecMSE.CodArticolo,
|
||||
NumPezzi = RecMSE.NumPezzi,
|
||||
Tcassegnato = RecMSE.TCAssegnato
|
||||
};
|
||||
}
|
||||
}
|
||||
currPodl = await TabDServ.PODLExp_getByKey(currIdxPOdl);
|
||||
// update a runtime dati ODL se assegnato
|
||||
if (currPodl.IdxOdl > 0)
|
||||
{
|
||||
@@ -1193,7 +1225,7 @@ namespace MP_TAB_SERV.Components
|
||||
inCmd2 = await TabDServ.EvListInsert(newRecParent, Enums.tipoInputEvento.barcode);
|
||||
}
|
||||
// chiamo refresh MSE
|
||||
TabDServ.RicalcMse(idxMaccCurr, 0);
|
||||
await TabDServ.RicalcMse(idxMaccCurr, 0);
|
||||
lblOut = userMsg;
|
||||
// loggo USR MSG
|
||||
Log.Info(userMsg);
|
||||
@@ -1225,7 +1257,15 @@ namespace MP_TAB_SERV.Components
|
||||
// imposto tcRichAttr in base allo stato...
|
||||
if (odlOk)
|
||||
{
|
||||
tcRichAttr = currPodl.Tcassegnato; ;
|
||||
// prendo TCRich da ODL...
|
||||
if (IdxOdl > 0)
|
||||
{
|
||||
tcRichAttr = currOdl.TCRichAttr;
|
||||
}
|
||||
else
|
||||
{
|
||||
tcRichAttr = currPodl.Tcassegnato;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -165,9 +165,9 @@ namespace MP_TAB_SERV.Components
|
||||
// effettua conferma con conf da DB del tipo (giorni / turni / periodo
|
||||
bool fatto = effettuaConfermaProd();
|
||||
// refresh tabella dati tablet...
|
||||
TabDServ.RicalcMse(IdxMaccSel, 0);
|
||||
await TabDServ.RicalcMse(IdxMaccSel, 0);
|
||||
// rileggo e salvo..
|
||||
var ListMSE = await MDataService.MseGetAll();
|
||||
var ListMSE = await MDataService.MseGetAll(true);
|
||||
if (ListMSE != null)
|
||||
{
|
||||
// salvo in LocalStorage...
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<Version>6.16.2311.915</Version>
|
||||
<Version>6.16.2311.918</Version>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<RootNamespace>MP_TAB_SERV</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace MP_TAB_SERV.Pages
|
||||
protected SharedMemService SMServ { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
protected TabDataService TabServ { get; set; } = null!;
|
||||
protected TabDataService TabDServ { get; set; } = null!;
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
@@ -87,7 +87,7 @@ namespace MP_TAB_SERV.Pages
|
||||
var rigaEvento = SMServ.GetEventRow(IdxEv);
|
||||
if (rigaEvento != null)
|
||||
{
|
||||
var rigaStato = TabServ.StatoMacchina(IdxMacc);
|
||||
var rigaStato = TabDServ.StatoMacchina(IdxMacc);
|
||||
// processo evento...
|
||||
if (insRealtime)
|
||||
{
|
||||
@@ -103,14 +103,14 @@ namespace MP_TAB_SERV.Pages
|
||||
pallet = rigaStato.pallet
|
||||
};
|
||||
// se realtime
|
||||
await TabServ.EvListInsert(newRec, MP.Data.Objects.Enums.tipoInputEvento.barcode);
|
||||
await TabDServ.EvListInsert(newRec, MP.Data.Objects.Enums.tipoInputEvento.barcode);
|
||||
// resetta il microstato in modo da ricevere successive info HW
|
||||
TabServ.resetMicrostatoMacchina(IdxMacc);
|
||||
TabDServ.resetMicrostatoMacchina(IdxMacc);
|
||||
}
|
||||
else
|
||||
{
|
||||
// in primis disabilito insert...
|
||||
TabServ.MacchinaSetInsEnab(IdxMacc, false);
|
||||
TabDServ.MacchinaSetInsEnab(IdxMacc, false);
|
||||
|
||||
// calcolo evento
|
||||
string evento = $"{IdxEv}";
|
||||
@@ -128,7 +128,7 @@ namespace MP_TAB_SERV.Pages
|
||||
try
|
||||
{
|
||||
// cerco da 1 sec DOPO evento...
|
||||
var tabNext = TabServ.DDB_getNext(IdxMacc, DtRif.AddSeconds(1));
|
||||
var tabNext = TabDServ.DDB_getNext(IdxMacc, DtRif.AddSeconds(1));
|
||||
|
||||
DateTime nextEvDT = tabNext != null ? tabNext.InizioStato : DateTime.Now.AddMinutes(-1);
|
||||
|
||||
@@ -145,7 +145,7 @@ namespace MP_TAB_SERV.Pages
|
||||
MatrOpr = MatrOpr,
|
||||
pallet = rigaStato.pallet
|
||||
};
|
||||
await TabServ.EvListInsert(newRec, MP.Data.Objects.Enums.tipoInputEvento.barcode);
|
||||
await TabDServ.EvListInsert(newRec, MP.Data.Objects.Enums.tipoInputEvento.barcode);
|
||||
|
||||
// update commento apertura!
|
||||
commento = $"999 - Dich StartEvt: {evento} [{codRich}]";
|
||||
@@ -159,11 +159,11 @@ namespace MP_TAB_SERV.Pages
|
||||
MatrOpr = MatrOpr,
|
||||
pallet = rigaStato.pallet
|
||||
};
|
||||
await TabServ.EvListInsert(newRec, MP.Data.Objects.Enums.tipoInputEvento.barcode);
|
||||
await TabDServ.EvListInsert(newRec, MP.Data.Objects.Enums.tipoInputEvento.barcode);
|
||||
// eseguo ricalcolo!
|
||||
DateTime startRicalcolo = DtRif.AddMinutes(minAnticipoRicalcolo);
|
||||
// eseguo ricalcolo periodo..
|
||||
await TabServ.DDB_DoRecalc(IdxMacc, startRicalcolo, 1, rdm_nEvStep, rdm_nEvCheck, rdm_ChkOnly);
|
||||
await TabDServ.DDB_DoRecalc(IdxMacc, startRicalcolo, 1, rdm_nEvStep, rdm_nEvCheck, rdm_ChkOnly);
|
||||
// chiamo registrazione commento...
|
||||
if (noteEdit != null)
|
||||
{
|
||||
@@ -177,7 +177,7 @@ namespace MP_TAB_SERV.Pages
|
||||
}
|
||||
|
||||
// riabilito insert... anche se non dovrebbe servire x stored ricalcolo precedente...
|
||||
TabServ.MacchinaSetInsEnab(IdxMacc, true);
|
||||
TabDServ.MacchinaSetInsEnab(IdxMacc, true);
|
||||
}
|
||||
// mostro esito
|
||||
alertCss = "alert-succes";
|
||||
@@ -190,9 +190,9 @@ namespace MP_TAB_SERV.Pages
|
||||
}
|
||||
}
|
||||
// faccio refresh x singola macchina 2019.03.26
|
||||
TabServ.RicalcMse(IdxMacc, 0);
|
||||
await TabDServ.RicalcMse(IdxMacc, 0);
|
||||
// rileggo e salvo..
|
||||
var ListMSE = await MDataService.MseGetAll();
|
||||
var ListMSE = await MDataService.MseGetAll(true);
|
||||
if (ListMSE != null)
|
||||
{
|
||||
// salvo in LocalStorage...
|
||||
@@ -268,7 +268,7 @@ namespace MP_TAB_SERV.Pages
|
||||
{
|
||||
CurrMSE = await MServ.GetMachineMse(IdxMacc);
|
||||
}
|
||||
var eventsAll = await TabServ.AnagEventiGetByMacch(IdxMacc);
|
||||
var eventsAll = await TabDServ.AnagEventiGetByMacch(IdxMacc);
|
||||
if (eventsAll != null)
|
||||
{
|
||||
events2show = eventsAll.Where(x => x.EventoTablet).OrderBy(x => x.Label).ToList();
|
||||
|
||||
@@ -96,7 +96,7 @@ namespace MP_TAB_SERV.Pages
|
||||
{
|
||||
await getWDim();
|
||||
isCalcSize = false;
|
||||
ListMSE = await MDataService.MseGetAll();
|
||||
ListMSE = await MDataService.MseGetAll(true);
|
||||
await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
if (ListMSE != null)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>Modulo MAPOSPEC </i>
|
||||
<h4>Versione: 6.16.2311.915</h4>
|
||||
<h4>Versione: 6.16.2311.918</h4>
|
||||
<br /> Note di rilascio:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
6.16.2311.915
|
||||
6.16.2311.918
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>6.16.2311.915</version>
|
||||
<version>6.16.2311.918</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>
|
||||
|
||||
@@ -17,6 +17,10 @@
|
||||
// REDIS KEY Dati correnti
|
||||
public static readonly string CONF_MON_KEY = $"{BASE_HASH}:Conf:MonDispData";
|
||||
|
||||
|
||||
|
||||
public static string redisMseKey = "MP:MON:Cache:MSE";
|
||||
|
||||
#endregion Public Fields
|
||||
}
|
||||
}
|
||||
@@ -504,7 +504,7 @@ namespace MP.Data.Controllers
|
||||
var FlgStorico = new SqlParameter("@flgStorico", flgStorico);
|
||||
var result = dbCtx
|
||||
.Database
|
||||
.ExecuteSqlRaw("EXEC stp_EL_UpsertByOdl @IdxMacchina, @flgStorico, @DoInsert", IdxOdl, FlgStorico);
|
||||
.ExecuteSqlRaw("EXEC stp_EL_UpsertByOdl @IdxODL, @flgStorico", IdxOdl, FlgStorico);
|
||||
fatto = result != 0;
|
||||
}
|
||||
catch (Exception exc)
|
||||
|
||||
@@ -21,6 +21,7 @@ namespace MP.Data.DatabaseModels
|
||||
public string IdxMacchina { get; set; }
|
||||
public int NumPezzi { get; set; }
|
||||
public decimal Tcassegnato { get; set; }
|
||||
public decimal TCRichAttr { get; set; }
|
||||
public DateTime? DataInizio { get; set; }
|
||||
public DateTime? DataFine { get; set; }
|
||||
[MaxLength(2500)]
|
||||
|
||||
@@ -118,7 +118,7 @@ namespace MP.Data.Services
|
||||
stopWatch.Start();
|
||||
List<MappaStatoExpl>? result = new List<MappaStatoExpl>();
|
||||
// cerco in redis...
|
||||
RedisValue rawData = redisDb.StringGet(redisMseKey);
|
||||
RedisValue rawData = redisDb.StringGet(Constants.redisMseKey);
|
||||
if (rawData.HasValue && !forceDb)
|
||||
{
|
||||
result = JsonConvert.DeserializeObject<List<MappaStatoExpl>>($"{rawData}");
|
||||
@@ -131,7 +131,7 @@ namespace MP.Data.Services
|
||||
result = await Task.FromResult(dbController.MseGetAll(maxAge));
|
||||
// serializzp e salvo...
|
||||
rawData = JsonConvert.SerializeObject(result);
|
||||
await redisDb.StringSetAsync(redisMseKey, rawData, TimeSpan.FromMilliseconds(maxAge));
|
||||
await redisDb.StringSetAsync(Constants.redisMseKey, rawData, TimeSpan.FromMilliseconds(maxAge));
|
||||
stopWatch.Stop();
|
||||
TimeSpan ts = stopWatch.Elapsed;
|
||||
Log.Debug($"Read from DB: {ts.TotalMilliseconds}ms");
|
||||
@@ -165,7 +165,9 @@ namespace MP.Data.Services
|
||||
private static IConfiguration _configuration = null!;
|
||||
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
|
||||
private int maxAge = 2000;
|
||||
private string redisMseKey = "MP:MON:Cache:MSE";
|
||||
#if false
|
||||
private string redisMseKey = "MP:MON:Cache:MSE";
|
||||
#endif
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
|
||||
@@ -1199,7 +1199,7 @@ namespace MP.Data.Services
|
||||
answ = dbTabController.OdlInizioSetup(idxODL, matrOpr, idxMacchina, tcRich, pzPallet, note);
|
||||
await FlushCache("ODL");
|
||||
await FlushCache("PODL");
|
||||
await FlushCache("VSODL");
|
||||
await FlushCache("VSODL");
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
@@ -1893,10 +1893,11 @@ namespace MP.Data.Services
|
||||
/// <param name="idxMacchina">idx macchina da confermare</param>
|
||||
/// <param name="maxAgeSec">Num massimo secondi di "vecchiaia" del dato</param>
|
||||
/// <returns></returns>
|
||||
public bool RicalcMse(string idxMacchina, int maxAgeSec)
|
||||
public async Task<bool> RicalcMse(string idxMacchina, int maxAgeSec)
|
||||
{
|
||||
bool answ = false;
|
||||
answ = dbTabController.RicalcMse(idxMacchina, maxAgeSec);
|
||||
await FlushCache(Constants.redisMseKey);
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user