Merge branch 'Release/UpdateTabletAndMonRefresh01'
This commit is contained in:
@@ -101,7 +101,6 @@ namespace MP_TAB3.Components
|
||||
DateTime fine = DateTime.Today.AddDays(1);
|
||||
DateTime inizio = fine.AddDays(-8);
|
||||
CurrPeriodo = new Periodo(inizio, fine);
|
||||
await doUpdate();
|
||||
}
|
||||
var rawDest = config.GetValue<string>("AlarmDest");
|
||||
if (!string.IsNullOrEmpty(rawDest))
|
||||
@@ -114,6 +113,15 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
}
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
if (RecMSE != null && !RecMSE.MostlyEquals(lastRecMSE))
|
||||
{
|
||||
lastRecMSE = RecMSE;
|
||||
await doUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
protected void SaveNumRec(int newNum)
|
||||
{
|
||||
NumRecPage = newNum;
|
||||
@@ -208,6 +216,7 @@ namespace MP_TAB3.Components
|
||||
|
||||
private Periodo CurrPeriodo { get; set; } = new Periodo();
|
||||
private string IdxMaccSel { get; set; } = "";
|
||||
private MappaStatoExpl? lastRecMSE { get; set; } = null;
|
||||
|
||||
#endregion Private Properties
|
||||
}
|
||||
|
||||
@@ -132,9 +132,8 @@ namespace MP_TAB3.Components
|
||||
await Task.Delay(1);
|
||||
if (!NavMan.Uri.Contains("reg-new-device"))
|
||||
{
|
||||
|
||||
await MsgServ.IdxMaccSet("");
|
||||
NavMan.NavigateTo("status-map");
|
||||
NavMan.NavigateTo("status-map", true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
<div class="card-body">
|
||||
<div class="placeholder-glow">
|
||||
<span class="placeholder col-4"></span>
|
||||
<span class="placeholder col-7"></span>
|
||||
<span class="placeholder col-12 pholderHeight"></span>
|
||||
<span class="placeholder col-12"></span>
|
||||
<span class="placeholder col-3"></span>
|
||||
<span class="placeholder col-7 mb-1"></span>
|
||||
<span class="placeholder col-12 mb-1 pholderHeight"></span>
|
||||
<span class="placeholder col-12 mb-1"></span>
|
||||
<span class="placeholder col-3 mb-1"></span>
|
||||
<span class="placeholder col-8"></span>
|
||||
<span class="placeholder col-3"></span>
|
||||
<span class="placeholder col-7"></span>
|
||||
<span class="placeholder col-7 mb-1"></span>
|
||||
<span class="placeholder col-3"></span>
|
||||
<span class="placeholder col-8"></span>
|
||||
<span class="placeholder col-8 mb-1"></span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -27,15 +27,15 @@ else
|
||||
<div class="alert alert-info w-100 fs-3">No data</div>
|
||||
<div class="placeholder-glow">
|
||||
<span class="placeholder col-4"></span>
|
||||
<span class="placeholder col-7"></span>
|
||||
<span class="placeholder col-12 pholderHeight"></span>
|
||||
<span class="placeholder col-12"></span>
|
||||
<span class="placeholder col-3"></span>
|
||||
<span class="placeholder col-7 mb-1"></span>
|
||||
<span class="placeholder col-12 mb-1 pholderHeight"></span>
|
||||
<span class="placeholder col-12 mb-1"></span>
|
||||
<span class="placeholder col-3 mb-1"></span>
|
||||
<span class="placeholder col-8"></span>
|
||||
<span class="placeholder col-3"></span>
|
||||
<span class="placeholder col-7"></span>
|
||||
<span class="placeholder col-7 mb-1"></span>
|
||||
<span class="placeholder col-3"></span>
|
||||
<span class="placeholder col-8"></span>
|
||||
<span class="placeholder col-8 mb-1"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -82,9 +82,9 @@
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="col-12">
|
||||
@* <div class="col-12">
|
||||
Check articolo in revisione
|
||||
</div>
|
||||
</div> *@
|
||||
@if (cancelSetupEnabled && RecMSE != null && RecMSE.PezziConf == 0)
|
||||
{
|
||||
<div class="col-12 col-md-6 p-2">
|
||||
@@ -307,7 +307,7 @@
|
||||
Pz Pallet
|
||||
</div>
|
||||
<select class="form-select" @bind="PzPallet">
|
||||
@for (int i = 1; i <= 20; i++)
|
||||
@for (int i = 1; i <= 30; i++)
|
||||
{
|
||||
<option value="@i">@i</option>
|
||||
}
|
||||
|
||||
@@ -646,8 +646,8 @@ namespace MP_TAB3.Components
|
||||
// se fosse multi CHIUDO ODL x altra tavola...
|
||||
if (isMulti)
|
||||
{
|
||||
// se NON sono in attrezzaggio...
|
||||
if (!inAttr)
|
||||
// se NON sono in attrezzaggio// riattrezzaggio...
|
||||
if (!inAttr && !showSplitOdlRiattr)
|
||||
{
|
||||
int idxOdlAltra = 0;
|
||||
try
|
||||
@@ -733,7 +733,7 @@ namespace MP_TAB3.Components
|
||||
{
|
||||
if (!setupActive)
|
||||
{
|
||||
if (RecMSE != null)
|
||||
if (RecMSE != null && !RecMSE.MostlyEquals(lastRecMSE))
|
||||
{
|
||||
if (string.IsNullOrEmpty(IdxMaccSel))
|
||||
{
|
||||
@@ -749,11 +749,13 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
}
|
||||
IdxMaccParent = getIdxMaccParent();
|
||||
checkAll();
|
||||
// verifica stato inAttr
|
||||
await CheckAttr();
|
||||
//salvo lastRec...
|
||||
lastRecMSE = RecMSE;
|
||||
await ReloadData(true);
|
||||
}
|
||||
checkAll();
|
||||
// verifica stato inAttr
|
||||
await CheckAttr();
|
||||
await ReloadData(true);
|
||||
}
|
||||
// verifica conferma produzione
|
||||
datiProdAct = await TabDServ.StatoProdMacchina(IdxMaccSel, DateTime.Now);
|
||||
@@ -993,7 +995,10 @@ namespace MP_TAB3.Components
|
||||
protected async Task ShowRiattrezzaggio()
|
||||
{
|
||||
showSplitOdlRiattr = !showSplitOdlRiattr;
|
||||
await ReloadXDL(true);
|
||||
if (showSplitOdlRiattr)
|
||||
{
|
||||
await ReloadXDL(true);
|
||||
}
|
||||
}
|
||||
|
||||
protected async Task SplitOdl()
|
||||
@@ -1103,7 +1108,7 @@ namespace MP_TAB3.Components
|
||||
private double nextVal = 0;
|
||||
private string noteAttr = "";
|
||||
private int numDayOdl = 5;
|
||||
private int PzPallet = 1;
|
||||
private int PzPallet = 0;
|
||||
private string searchPodl = "";
|
||||
private bool showAll = false;
|
||||
private bool showChkCloseOdlVal = false;
|
||||
@@ -1174,6 +1179,7 @@ namespace MP_TAB3.Components
|
||||
private int IdxOdlAltra { get; set; } = 0;
|
||||
|
||||
private bool isLoading { get; set; } = false;
|
||||
private MappaStatoExpl? lastRecMSE { get; set; } = null;
|
||||
|
||||
private string lblWarnBody
|
||||
{
|
||||
@@ -1210,9 +1216,6 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
|
||||
private bool setupActive { get; set; } = false;
|
||||
#if false
|
||||
private string IdxMaccSelLast = "";
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Verifica visibilità btn riprendi ODL su 2° tavola SE:
|
||||
@@ -1288,7 +1291,7 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
}
|
||||
|
||||
private decimal tcRichAttr { get; set; } = 1;
|
||||
private decimal tcRichAttr { get; set; } = 0;
|
||||
|
||||
private string titleOdlDetail
|
||||
{
|
||||
@@ -1445,17 +1448,14 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
}
|
||||
|
||||
private void fixTcNotePzPallet()
|
||||
private void fixTcNotePzPallet(bool reloadFromOdl)
|
||||
{
|
||||
if (tcRichAttr == 0)
|
||||
if (tcRichAttr == 0 || string.IsNullOrEmpty(noteAttr) || PzPallet == 0)
|
||||
{
|
||||
tcRichAttr = IdxPOdlSel == 0 ? currOdl.Tcassegnato : currPodl.Tcassegnato;
|
||||
tcRichAttr = reloadFromOdl || IdxPOdlSel == 0 ? currOdl.TCRichAttr : currPodl.Tcassegnato;
|
||||
noteAttr = reloadFromOdl || IdxPOdlSel == 0 ? currOdl.Note : currPodl.Note;
|
||||
PzPallet = reloadFromOdl || IdxPOdlSel == 0 ? currOdl.PzPallet : currPodl.PzPallet;
|
||||
}
|
||||
if (string.IsNullOrEmpty(noteAttr))
|
||||
{
|
||||
noteAttr = IdxPOdlSel == 0 ? currOdl.Note : currPodl.Note;
|
||||
}
|
||||
PzPallet = IdxPOdlSel == 0 ? currOdl.PzPallet : currPodl.PzPallet;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1543,21 +1543,25 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
}
|
||||
await updateIdxOdl();
|
||||
// imposto tcRichAttr in base allo stato...
|
||||
if (odlOk)
|
||||
// aggiorno questi dati SOLO SE non sono in attrezzaggio
|
||||
if (!inAttr && !showSplitOdlRiattr)
|
||||
{
|
||||
// prendo TCRich da PODL...
|
||||
if (IdxPOdlSel > 0)
|
||||
// imposto tcRichAttr in base allo stato...
|
||||
if (odlOk)
|
||||
{
|
||||
tcRichAttr = currPodl.Tcassegnato;
|
||||
noteAttr = currPodl.Note;
|
||||
PzPallet = currPodl.PzPallet;
|
||||
}
|
||||
else
|
||||
{
|
||||
tcRichAttr = currOdl.TCRichAttr;
|
||||
noteAttr = currOdl.Note;
|
||||
PzPallet = currOdl.PzPallet;
|
||||
// prendo TCRich da PODL...
|
||||
if (IdxPOdlSel > 0)
|
||||
{
|
||||
tcRichAttr = currPodl.Tcassegnato;
|
||||
noteAttr = currPodl.Note;
|
||||
PzPallet = currPodl.PzPallet;
|
||||
}
|
||||
else if (IdxOdl > 0)
|
||||
{
|
||||
tcRichAttr = currOdl.TCRichAttr;
|
||||
noteAttr = currOdl.Note;
|
||||
PzPallet = currOdl.PzPallet;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1570,13 +1574,16 @@ namespace MP_TAB3.Components
|
||||
if (IdxPOdlSel > 0)
|
||||
{
|
||||
await ReloadXDL(false);
|
||||
// controllo se sia cambiato PODL
|
||||
// solo se NON sno in attrezzaggio controllo se sia cambiato PODL
|
||||
if (IdxPOdlSel != lastIdxPOdl)
|
||||
{
|
||||
lastIdxPOdl = IdxPOdlSel;
|
||||
tcRichAttr = currPodl.Tcassegnato;
|
||||
noteAttr = currPodl.Note;
|
||||
PzPallet = currPodl.PzPallet;
|
||||
if (!inAttr && !showSplitOdlRiattr)
|
||||
{
|
||||
tcRichAttr = currPodl.Tcassegnato;
|
||||
noteAttr = currPodl.Note;
|
||||
PzPallet = currPodl.PzPallet;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1615,7 +1622,7 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
await updateIdxOdl();
|
||||
// sistemo TCiclo, note, pzPallet..
|
||||
fixTcNotePzPallet();
|
||||
fixTcNotePzPallet(reloadFromOdl);
|
||||
}
|
||||
|
||||
private async Task updateIdxOdl()
|
||||
|
||||
@@ -95,9 +95,14 @@ namespace MP_TAB3.Components
|
||||
setupConf();
|
||||
StartTimer();
|
||||
currItem = null;
|
||||
if (RecMSE != null)
|
||||
}
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
if (RecMSE != null && !RecMSE.MostlyEquals(lastRecMSE))
|
||||
{
|
||||
IdxMaccSel = RecMSE.IdxMacchina;
|
||||
lastRecMSE = RecMSE;
|
||||
await ReloadData();
|
||||
}
|
||||
await Task.Delay(1);
|
||||
@@ -153,8 +158,8 @@ namespace MP_TAB3.Components
|
||||
#region Private Properties
|
||||
|
||||
private ObjItemDTO? currItem { get; set; } = null;
|
||||
|
||||
private string IdxMaccSel { get; set; } = "";
|
||||
private MappaStatoExpl? lastRecMSE { get; set; } = null;
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
|
||||
@@ -174,8 +174,9 @@ namespace MP_TAB3.Components
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
lblOut = "";
|
||||
if (RecMSE != null && string.IsNullOrEmpty(IdxMaccSel))
|
||||
if (RecMSE != null && (string.IsNullOrEmpty(IdxMaccSel) || !RecMSE.MostlyEquals(lastRecMSE)))
|
||||
{
|
||||
await TabDServ.FlushCache("StatoProd");
|
||||
if (!confProdActive)
|
||||
{
|
||||
numPzLasciati = 0;
|
||||
@@ -196,6 +197,9 @@ namespace MP_TAB3.Components
|
||||
IdxMaccSel = idxMSel;
|
||||
}
|
||||
}
|
||||
//salvo lastRec...
|
||||
lastRecMSE = RecMSE;
|
||||
dtReqUpdate = DateTime.Now.AddMilliseconds(100);
|
||||
await DoUpdate();
|
||||
}
|
||||
}
|
||||
@@ -261,7 +265,6 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
dtReqUpdate = DateTime.Now;
|
||||
await DoUpdate();
|
||||
//await InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
@@ -282,10 +285,9 @@ namespace MP_TAB3.Components
|
||||
private bool confProdActive { get; set; } = false;
|
||||
private MappaStatoExpl? currRecMSE { get; set; } = null;
|
||||
private DateTime dtReqUpdate { get; set; } = DateTime.Now;
|
||||
|
||||
private string IdxMaccSel { get; set; } = "";
|
||||
|
||||
private bool isProcessing { get; set; } = false;
|
||||
private MappaStatoExpl? lastRecMSE { get; set; } = null;
|
||||
|
||||
private int MatrOpr
|
||||
{
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
|
||||
<div class="row align-items-center flex-wrap">
|
||||
@*<div class="col-12 text-end">
|
||||
<div class="form-check form-switch fs-3">
|
||||
<input class="form-check-input" type="checkbox" @bind="@ShowMS">
|
||||
<label class="form-check-label">@txtSelMS</label>
|
||||
</div>
|
||||
</div>*@
|
||||
<div class="col-8">
|
||||
<div class="row align-items-center flex-wrap my-3">
|
||||
<div class="col-12 col-md-8">
|
||||
@if (tcMode == "mc")
|
||||
{
|
||||
<div class="input-group">
|
||||
@@ -16,13 +10,31 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="input-group my-3">
|
||||
<div class="input-group">
|
||||
<span class="input-group-text">@labelTempoIN</span>
|
||||
<input type="time" class="form-control" @bind="@selTempoMS" step="1">
|
||||
<select @bind="@selOre" class="form-select">
|
||||
@for (int i = 0; i < 24; i++)
|
||||
{
|
||||
<option value="@i">@i.ToString("00")</option>
|
||||
}
|
||||
</select>
|
||||
<select @bind="@selMin" class="form-select">
|
||||
@for (int i = 0; i < 60; i++)
|
||||
{
|
||||
<option value="@i">@i.ToString("00")</option>
|
||||
}
|
||||
</select>
|
||||
<select @bind="@selSec" class="form-select">
|
||||
@for (int i = 0; i < 60; i++)
|
||||
{
|
||||
<option value="@i">@i.ToString("00")</option>
|
||||
}
|
||||
</select>
|
||||
@* <input type="time" class="form-control" @bind="@selTempoMS" step="1"> *@
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<div class="col-12 col-md-4">
|
||||
→ @lblTempo
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
using global::Microsoft.AspNetCore.Components;
|
||||
using MP.Data.Services;
|
||||
using System.Globalization;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace MP_TAB3.Components
|
||||
{
|
||||
@@ -83,11 +85,6 @@ namespace MP_TAB3.Components
|
||||
/// </summary>
|
||||
protected decimal _tempoMC { get; set; } = 0;
|
||||
|
||||
//protected timeMode modoTempo
|
||||
//{
|
||||
// get => ShowMS ? timeMode.MS : timeMode.MC;
|
||||
//}
|
||||
|
||||
[Inject]
|
||||
protected MessageService MsgServ { get; set; } = null!;
|
||||
|
||||
@@ -104,6 +101,34 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
}
|
||||
|
||||
protected int selOre
|
||||
{
|
||||
get => TempoMS.Hours;
|
||||
set
|
||||
{
|
||||
TempoMS = new TimeSpan(value, selMin, selSec);
|
||||
E_TCRich.InvokeAsync(TempoMC);
|
||||
}
|
||||
}
|
||||
protected int selMin
|
||||
{
|
||||
get => TempoMS.Minutes;
|
||||
set
|
||||
{
|
||||
TempoMS = new TimeSpan(selOre,value, selSec);
|
||||
E_TCRich.InvokeAsync(TempoMC);
|
||||
}
|
||||
}
|
||||
protected int selSec
|
||||
{
|
||||
get => TempoMS.Seconds;
|
||||
set
|
||||
{
|
||||
TempoMS = new TimeSpan(selOre, selMin, value);
|
||||
E_TCRich.InvokeAsync(TempoMC);
|
||||
}
|
||||
}
|
||||
|
||||
protected bool ShowMS { get; set; } = true;
|
||||
|
||||
[Inject]
|
||||
@@ -146,7 +171,7 @@ namespace MP_TAB3.Components
|
||||
/// <returns></returns>
|
||||
protected TimeSpan minCent2Sec(decimal valore)
|
||||
{
|
||||
TimeSpan answ = TimeSpan.FromSeconds((double)valore * 60);
|
||||
TimeSpan answ = TimeSpan.FromSeconds(Math.Round((double)(valore * 60)));
|
||||
return answ;
|
||||
}
|
||||
|
||||
@@ -186,7 +211,7 @@ namespace MP_TAB3.Components
|
||||
/// <summary>
|
||||
/// tempo min:sec
|
||||
/// </summary>
|
||||
private TimeSpan _tempoMS { get; set; } = TimeSpan.FromSeconds(1);
|
||||
private TimeSpan _tempoMS { get; set; } = TimeSpan.FromSeconds(3599);
|
||||
|
||||
private string baseLang
|
||||
{
|
||||
@@ -208,7 +233,7 @@ namespace MP_TAB3.Components
|
||||
}
|
||||
else
|
||||
{
|
||||
answ = "ore:min:sec";
|
||||
answ = "h:m:s";
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
@@ -49,14 +49,15 @@ namespace MP_TAB3.Components
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
if (RecMSE != null)
|
||||
if (RecMSE != null && !RecMSE.MostlyEquals(lastRecMSE))
|
||||
{
|
||||
CodArticolo = RecMSE.CodArticolo;
|
||||
IdxMaccSel = RecMSE.IdxMacchina;
|
||||
IdxOdl = RecMSE.IdxOdl ?? 0;
|
||||
lastRecMSE = RecMSE;
|
||||
await ReloadData();
|
||||
checkReset();
|
||||
}
|
||||
await ReloadData();
|
||||
checkReset();
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
@@ -64,9 +65,7 @@ namespace MP_TAB3.Components
|
||||
#region Private Fields
|
||||
|
||||
private string CodArticolo = "";
|
||||
|
||||
private bool inAttr = false;
|
||||
|
||||
private bool isProcessing = false;
|
||||
|
||||
#endregion Private Fields
|
||||
@@ -74,8 +73,8 @@ namespace MP_TAB3.Components
|
||||
#region Private Properties
|
||||
|
||||
private string IdxMaccSel { get; set; } = "";
|
||||
|
||||
private int IdxOdl { get; set; } = 0;
|
||||
private MappaStatoExpl? lastRecMSE { get; set; } = null;
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
@@ -91,16 +90,13 @@ namespace MP_TAB3.Components
|
||||
// SOLO SE ho articolo senn� niente reset...
|
||||
if (!string.IsNullOrEmpty(CodArticolo))
|
||||
{
|
||||
// controllo se la macchina � in attrezzaggio...
|
||||
// controllo se la macchina sia in attrezzaggio...
|
||||
var rigaStato = TabDServ.StatoMacchina(IdxMaccSel);
|
||||
if (rigaStato != null)
|
||||
{
|
||||
inAttr = (rigaStato.IdxStato == 2);
|
||||
}
|
||||
}
|
||||
#if false
|
||||
cmp_ST_objCheck.checkInputData();
|
||||
#endif
|
||||
}
|
||||
|
||||
private async Task ReloadData()
|
||||
|
||||
@@ -44,9 +44,18 @@ namespace MP_TAB3.Components
|
||||
{
|
||||
if (IdxOdl > 0 && !string.IsNullOrEmpty(CodGruppo))
|
||||
{
|
||||
await ReloadData();
|
||||
if (CodArticolo != codArticoloLast || IdxOdl != idxOdlLast || CodGruppo!=codGruppoLast)
|
||||
{
|
||||
codArticoloLast = CodArticolo;
|
||||
idxOdlLast = IdxOdl;
|
||||
codGruppoLast = CodGruppo;
|
||||
await ReloadData();
|
||||
}
|
||||
}
|
||||
}
|
||||
private int idxOdlLast = 0;
|
||||
private string codArticoloLast = "";
|
||||
private string codGruppoLast = "";
|
||||
|
||||
[Inject]
|
||||
protected TabDataService TabServ { get; set; } = null!;
|
||||
|
||||
@@ -26,8 +26,8 @@ namespace MP_TAB3.Components
|
||||
{
|
||||
if (IdxOdl > 0)
|
||||
{
|
||||
var rawData = TabDServ.STAR_pendByOdl(IdxOdl);
|
||||
showChecks = rawData.Count > 0;
|
||||
var rawData = TabDServ.STAR_pendByOdl(IdxOdl);
|
||||
showChecks = rawData.Count > 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -52,7 +52,6 @@ namespace MP_TAB3.Components
|
||||
var pUpd = Task.Run(async () =>
|
||||
{
|
||||
await processInput();
|
||||
//await InvokeAsync(() => StateHasChanged());
|
||||
});
|
||||
pUpd.Wait();
|
||||
}
|
||||
@@ -70,13 +69,20 @@ namespace MP_TAB3.Components
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
checkInputData();
|
||||
if (CodArticolo != codArticoloLast || IdxOdl != idxOdlLast)
|
||||
{
|
||||
codArticoloLast = CodArticolo;
|
||||
idxOdlLast = IdxOdl;
|
||||
checkInputData();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private string codArticoloLast = "";
|
||||
private int idxOdlLast = 0;
|
||||
private string lastBCodeVal = "";
|
||||
private string MessageCss = "";
|
||||
private string MessageText = "";
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<Version>6.16.2402.2716</Version>
|
||||
<Version>6.16.2403.109</Version>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<RootNamespace>MP_TAB3</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -56,11 +56,15 @@ namespace MP_TAB3.Pages
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
await base.OnInitializedAsync();
|
||||
await ReloadData();
|
||||
TDFeeder.dataPipe.EA_NewMessage += DataPipe_EA_NewMessage;
|
||||
TDFeeder.blinkPipe.EA_NewMessage += BlinkPipe_EA_NewMessage;
|
||||
}
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
await ReloadData();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Metodo refresh con controllo salvataggio in LocalStorage ogni 5 sec
|
||||
/// </summary>
|
||||
|
||||
@@ -16,13 +16,20 @@ else
|
||||
<div class="d-flex justify-content-between flex-wrap align-items-center mb-3">
|
||||
@if (!string.IsNullOrEmpty(lblOut))
|
||||
{
|
||||
<div class="alert @alertCss fs-5 w-100">
|
||||
@lblOut
|
||||
<div class="alert @alertCss shadow-lg fs-1 text-center p-5 w-100">
|
||||
<b>@titleOut</b>
|
||||
<div>
|
||||
@lblOut
|
||||
</div>
|
||||
<button class="btn btn-success" @onclick="ForceReloadPage"><i class="fa-solid fa-rotate-right"></i> Reload page</button>
|
||||
</div>
|
||||
}
|
||||
@foreach (var item in events2show)
|
||||
else
|
||||
{
|
||||
<ProdStopMan objCss="@item.CssClass" objIcon="@item.Icon" objTxt="@(item.label)" IdxEvento="@item.value" E_EventSelected="EventRecord"></ProdStopMan>
|
||||
@foreach (var item in events2show)
|
||||
{
|
||||
<ProdStopMan objCss="@item.CssClass" objIcon="@item.Icon" objTxt="@(item.label)" IdxEvento="@item.value" E_EventSelected="EventRecord"></ProdStopMan>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using global::Microsoft.AspNetCore.Components;
|
||||
using Microsoft.AspNetCore.Components.Routing;
|
||||
using MP.Data;
|
||||
using MP.Data.DatabaseModels;
|
||||
using MP.Data.Services;
|
||||
@@ -9,16 +10,13 @@ namespace MP_TAB3.Pages
|
||||
{
|
||||
public partial class ProdStop
|
||||
{
|
||||
#region Public Methods
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Fields
|
||||
|
||||
protected int dltMinRealtime = 1;
|
||||
|
||||
protected bool isProcessing = false;
|
||||
|
||||
protected string lblOut = "";
|
||||
protected int minAnticipoRicalcolo = 1;
|
||||
|
||||
protected bool rdm_ChkOnly = false;
|
||||
@@ -33,12 +31,10 @@ namespace MP_TAB3.Pages
|
||||
|
||||
protected string alertCss { get; set; } = "alert-danger";
|
||||
|
||||
|
||||
protected DateTime DtRif { get; set; } = DateTime.Now;
|
||||
|
||||
protected List<vSelEventiBCodeModel> events2show { get; set; } = new List<vSelEventiBCodeModel>();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Determina se insert sia Realtime o batch con DataOra (in base a diff tra DataOra
|
||||
/// selezionata e realtime, se superiore ad X minuti NON � realtime)
|
||||
@@ -56,8 +52,6 @@ namespace MP_TAB3.Pages
|
||||
}
|
||||
}
|
||||
|
||||
protected string lblOut { get; set; } = "";
|
||||
|
||||
[Inject]
|
||||
protected StatusData MDataService { get; set; } = null!;
|
||||
|
||||
@@ -186,12 +180,13 @@ namespace MP_TAB3.Pages
|
||||
TabDServ.MacchinaSetInsEnab(IdxMacc, true);
|
||||
}
|
||||
// mostro esito
|
||||
alertCss = "alert-succes";
|
||||
lblOut = $"Registrata dichiarazione fermata [{rigaEvento.Nome}] alle {DateTime.Now:HH:mm:ss}";
|
||||
alertCss = "alert-primary";
|
||||
titleOut = rigaEvento.Nome;
|
||||
lblOut = $"Registrata dichiarazione fermata alle {DateTime.Now:HH:mm:ss}";
|
||||
}
|
||||
else
|
||||
{
|
||||
alertCss = "alert-danger";
|
||||
alertCss = "alert-warning";
|
||||
lblOut = $"Codice evento non valido! {IdxEv}";
|
||||
}
|
||||
}
|
||||
@@ -215,6 +210,11 @@ namespace MP_TAB3.Pages
|
||||
}
|
||||
}
|
||||
|
||||
protected void ForceReloadPage()
|
||||
{
|
||||
NavMan.NavigateTo(NavMan.Uri, true);
|
||||
}
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
await base.OnInitializedAsync();
|
||||
@@ -223,38 +223,13 @@ namespace MP_TAB3.Pages
|
||||
rdm_nEvStep = SMServ.GetConfInt("rdm_nEvStep");
|
||||
rdm_nEvCheck = SMServ.GetConfInt("rdm_nEvCheck");
|
||||
rdm_ChkOnly = SMServ.GetConfBool("rdm_ChkOnly");
|
||||
}
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
// leggo gli altri dati
|
||||
await ReloadData();
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void SetDate(DateTime newDate)
|
||||
{
|
||||
DtRif = newDate;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
private int MatrOpr
|
||||
{
|
||||
get => MsgServ.MatrOpr;
|
||||
}
|
||||
|
||||
#endregion Private Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
|
||||
|
||||
protected override async Task ReloadData()
|
||||
{
|
||||
if (string.IsNullOrEmpty(IdxMacc))
|
||||
@@ -277,6 +252,27 @@ namespace MP_TAB3.Pages
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
protected void SetDate(DateTime newDate)
|
||||
{
|
||||
DtRif = newDate;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
private string titleOut = "";
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Properties
|
||||
|
||||
private int MatrOpr
|
||||
{
|
||||
get => MsgServ.MatrOpr;
|
||||
}
|
||||
|
||||
#endregion Private Properties
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ namespace MP_TAB3.Pages
|
||||
await ReloadData();
|
||||
}
|
||||
|
||||
|
||||
protected void SetMacc(string selIdxMacc)
|
||||
{
|
||||
IdxMaccSubSel = selIdxMacc;
|
||||
|
||||
@@ -71,12 +71,20 @@
|
||||
<script>
|
||||
Blazor.start({
|
||||
reconnectionOptions: {
|
||||
maxRetries: 600,
|
||||
maxRetries: Infinity,
|
||||
retryIntervalMilliseconds: 1000
|
||||
},
|
||||
reconnectionHandler: {
|
||||
onConnectionDown: (options, error) => console.error(error),
|
||||
onConnectionUp: () => console.log("Client reconnected!")
|
||||
onConnectionDown: (options, error) => {
|
||||
Blazor.defaultReconnectionHandler.onConnectionDown(options, error);
|
||||
Blazor.defaultReconnectionHandler._reconnectionDisplay.rejected = function () {
|
||||
window.location.reload();
|
||||
}
|
||||
},
|
||||
onConnectionUp: () => {
|
||||
console.log("Client reconnected!");
|
||||
document.location.reload();
|
||||
}
|
||||
}
|
||||
}).then(() => {
|
||||
Blazor.defaultReconnectionHandler._reconnectCallback = function (d) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>Modulo MAPOSPEC </i>
|
||||
<h4>Versione: 6.16.2402.2716</h4>
|
||||
<h4>Versione: 6.16.2403.109</h4>
|
||||
<br /> Note di rilascio:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
6.16.2402.2716
|
||||
6.16.2403.109
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>6.16.2402.2716</version>
|
||||
<version>6.16.2403.109</version>
|
||||
<url>https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/MP-TAB3.zip</url>
|
||||
<changelog>https://nexus.steamware.net/repository/SWS/MP-TAB3/stable/LAST/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data;
|
||||
|
||||
#nullable disable
|
||||
// <Auto-Generated>
|
||||
@@ -159,5 +160,195 @@ namespace MP.Data.DatabaseModels
|
||||
return PezziProd >= NumPezzi;
|
||||
}
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (!(obj is MappaStatoExpl item))
|
||||
return false;
|
||||
|
||||
if (RowNum != item.RowNum)
|
||||
return false;
|
||||
|
||||
if (LastUpdate != item.LastUpdate)
|
||||
return false;
|
||||
|
||||
if (IdxMacchina != item.IdxMacchina)
|
||||
return false;
|
||||
|
||||
if (CodMacchina != item.CodMacchina)
|
||||
return false;
|
||||
|
||||
if (Nome != item.Nome)
|
||||
return false;
|
||||
|
||||
if (Url != item.Url)
|
||||
return false;
|
||||
|
||||
if (IdxOdl != item.IdxOdl)
|
||||
return false;
|
||||
|
||||
if (IdxPOdl != item.IdxPOdl)
|
||||
return false;
|
||||
|
||||
if (CodArticolo != item.CodArticolo)
|
||||
return false;
|
||||
|
||||
if (Disegno != item.Disegno)
|
||||
return false;
|
||||
|
||||
if (NumPezzi != item.NumPezzi)
|
||||
return false;
|
||||
|
||||
if (TCAssegnato != item.TCAssegnato)
|
||||
return false;
|
||||
|
||||
if (DataInizioOdl != item.DataInizioOdl)
|
||||
return false;
|
||||
|
||||
if (Semaforo != item.Semaforo)
|
||||
return false;
|
||||
|
||||
if (IdxStato != item.IdxStato)
|
||||
return false;
|
||||
|
||||
if (DescrizioneStato != item.DescrizioneStato)
|
||||
return false;
|
||||
|
||||
if (Durata != item.Durata)
|
||||
return false;
|
||||
|
||||
if (PezziProd != item.PezziProd)
|
||||
return false;
|
||||
|
||||
if (PezziConf != item.PezziConf)
|
||||
return false;
|
||||
|
||||
if (TempoOn != item.TempoOn)
|
||||
return false;
|
||||
|
||||
if (TempoAuto != item.TempoAuto)
|
||||
return false;
|
||||
|
||||
if (TempoRun != item.TempoRun)
|
||||
return false;
|
||||
|
||||
if (TCMedio != item.TCMedio)
|
||||
return false;
|
||||
|
||||
if (TCLav != item.TCLav)
|
||||
return false;
|
||||
|
||||
if (TCEff != item.TCEff)
|
||||
return false;
|
||||
|
||||
if (TCMedioRt != item.TCMedioRt)
|
||||
return false;
|
||||
|
||||
if (TCLavRT != item.TCLavRT)
|
||||
return false;
|
||||
|
||||
if (TCEffRT != item.TCEffRT)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public bool MostlyEquals(object obj)
|
||||
{
|
||||
if (!(obj is MappaStatoExpl item))
|
||||
return false;
|
||||
|
||||
if (RowNum != item.RowNum)
|
||||
return false;
|
||||
|
||||
//if (LastUpdate != item.LastUpdate)
|
||||
// return false;
|
||||
|
||||
if (IdxMacchina != item.IdxMacchina)
|
||||
return false;
|
||||
|
||||
if (CodMacchina != item.CodMacchina)
|
||||
return false;
|
||||
|
||||
if (Nome != item.Nome)
|
||||
return false;
|
||||
|
||||
if (Url != item.Url)
|
||||
return false;
|
||||
|
||||
if (IdxOdl != item.IdxOdl)
|
||||
return false;
|
||||
|
||||
if (IdxPOdl != item.IdxPOdl)
|
||||
return false;
|
||||
|
||||
if (CodArticolo != item.CodArticolo)
|
||||
return false;
|
||||
|
||||
if (Disegno != item.Disegno)
|
||||
return false;
|
||||
|
||||
if (NumPezzi != item.NumPezzi)
|
||||
return false;
|
||||
|
||||
if (TCAssegnato != item.TCAssegnato)
|
||||
return false;
|
||||
|
||||
if (DataInizioOdl != item.DataInizioOdl)
|
||||
return false;
|
||||
|
||||
if (Semaforo != item.Semaforo)
|
||||
return false;
|
||||
|
||||
if (IdxStato != item.IdxStato)
|
||||
return false;
|
||||
|
||||
//if (DescrizioneStato != item.DescrizioneStato)
|
||||
// return false;
|
||||
|
||||
//if (Durata != item.Durata)
|
||||
// return false;
|
||||
|
||||
if (PezziProd != item.PezziProd)
|
||||
return false;
|
||||
|
||||
if (PezziConf != item.PezziConf)
|
||||
return false;
|
||||
|
||||
//if (TempoOn != item.TempoOn)
|
||||
// return false;
|
||||
|
||||
//if (TempoAuto != item.TempoAuto)
|
||||
// return false;
|
||||
|
||||
//if (TempoRun != item.TempoRun)
|
||||
// return false;
|
||||
|
||||
//if (TCMedio != item.TCMedio)
|
||||
// return false;
|
||||
|
||||
//if (TCLav != item.TCLav)
|
||||
// return false;
|
||||
|
||||
//if (TCEff != item.TCEff)
|
||||
// return false;
|
||||
|
||||
//if (TCMedioRt != item.TCMedioRt)
|
||||
// return false;
|
||||
|
||||
//if (TCLavRT != item.TCLavRT)
|
||||
// return false;
|
||||
|
||||
//if (TCEffRT != item.TCEffRT)
|
||||
// return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return base.GetHashCode();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -900,6 +900,8 @@ namespace MP.Data.Services
|
||||
else
|
||||
{
|
||||
Log.Error($"Errore: non trovato valore <IOB_data> valido in REDIS | key: {currKey}");
|
||||
Log.Info($"REDIS | conf: {redisConn.Configuration}");
|
||||
Log.Info($" --> Valore trovato:{Environment.NewLine}{rawData}");
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
@@ -3162,7 +3164,7 @@ namespace MP.Data.Services
|
||||
result = await Task.FromResult(dbTabController.VSOdlGetUnused(idxMacchina, showAll, numDayAdd));
|
||||
// serializzp e salvo...
|
||||
rawData = JsonConvert.SerializeObject(result);
|
||||
await redisDb.StringSetAsync(currKey, rawData, UltraFastCache);
|
||||
await redisDb.StringSetAsync(currKey, rawData, FastCache);
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@ using NLog;
|
||||
|
||||
namespace MP.Mon.Components
|
||||
{
|
||||
public partial class CmpFooter
|
||||
public partial class CmpFooter:IDisposable
|
||||
{
|
||||
#region Public Methods
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace MP.Mon.Components
|
||||
|
||||
public void StartTimer()
|
||||
{
|
||||
int tOutPeriod = 5000;
|
||||
int tOutPeriod = 1000;
|
||||
//int.TryParse(Configuration["ReloadStatusTimer"], out tOutPeriod);
|
||||
aTimer = new System.Timers.Timer(tOutPeriod);
|
||||
aTimer.Elapsed += ElapsedTimer;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Version>6.16.2402.2709</Version>
|
||||
<Version>6.16.2403.110</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<script src="_framework/blazor.server.js" autostart="false"></script>
|
||||
|
||||
@*Gestione autoriconnessione: https://github.com/dotnet/aspnetcore/issues/38305 (vedere anche https://docs.microsoft.com/it-it/aspnet/core/blazor/fundamentals/signalr?view=aspnetcore-6.0#modify-the-reconnection-handler-blazor-server)*@
|
||||
<script>
|
||||
@* <script>
|
||||
Blazor.start({
|
||||
reconnectionOptions: {
|
||||
maxRetries: 600,
|
||||
@@ -56,6 +56,22 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
</script> *@
|
||||
<script>
|
||||
Blazor.start({
|
||||
reconnectionOptions: {
|
||||
maxRetries: 3000,
|
||||
retryIntervalMilliseconds: 2000
|
||||
},
|
||||
reconnectionHandler: {
|
||||
onConnectionDown: (options, error) => console.error(error),
|
||||
onConnectionUp: () => console.log("Client reconnected!")
|
||||
}
|
||||
}).then(() => {
|
||||
Blazor.defaultReconnectionHandler._reconnectCallback = function (d) {
|
||||
document.location.reload();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>Modulo MON MAPO</i>
|
||||
<h4>Versione: 6.16.2402.2709</h4>
|
||||
<h4>Versione: 6.16.2403.110</h4>
|
||||
<br /> Note di rilascio:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
6.16.2402.2709
|
||||
6.16.2403.110
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>6.16.2402.2709</version>
|
||||
<version>6.16.2403.110</version>
|
||||
<url>https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/MP.Mon.zip</url>
|
||||
<changelog>https://nexus.steamware.net/repository/SWS/MP-MON/stable/LAST/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
Reference in New Issue
Block a user