update x fix vari

This commit is contained in:
Samuele Locatelli
2024-01-04 08:25:02 +01:00
parent 18068a9441
commit 5440f945aa
8 changed files with 137 additions and 110 deletions
+3 -1
View File
@@ -43,8 +43,10 @@ namespace MP_TAB3.Components
[Inject]
protected MessageService MsgServ { get; set; } = null!;
#if false
[Inject]
protected NavigationManager NavMan { get; set; } = null!;
protected NavigationManager NavMan { get; set; } = null!;
#endif
protected int NumGiorni
{
+4 -1
View File
@@ -293,7 +293,10 @@
}
else
{
<button class="btn btn-lg btn-info w-100" disabled="@needConfProd" @onclick="() => ShowRiattrezzaggio()"><i class="fa-solid fa-triangle-exclamation me-1"></i> Mostra Riattrezzaggio</button>
if (!inAttr && odlOk)
{
<button class="btn btn-lg btn-info w-100" disabled="@needConfProd" @onclick="() => ShowRiattrezzaggio()"><i class="fa-solid fa-triangle-exclamation me-1"></i> Mostra Riattrezzaggio</button>
}
}
</div>
}
+116 -102
View File
@@ -28,20 +28,17 @@ namespace MP_TAB3.Components
#endregion Public Properties
#region Protected Fields
#if false
protected PzProdModel? prodMacchina = null;
protected PzProdModel? prodMacchina = null;
#endif
#region Protected Properties
/// <summary>
/// Dati produzione rilevati
/// </summary>
protected StatoProdModel? datiProdAct { get; set; } = null;
#endregion Protected Fields
#region Protected Properties
/// <summary>
/// Restituisce il codice IdxMacchina dell'altra tavola (se multi) altrimenti la stessa macchina...
/// </summary>
@@ -848,6 +845,22 @@ namespace MP_TAB3.Components
//NavMan.NavigateTo(NavMan.Uri, true);
}
protected async Task refreshAfterFixOdl(bool has2Refr)
{
if (has2Refr)
{
// update buttons...
checkAll();
// reset vari
IdxPOdlSel = 0;
inAttr = false;
IdxPOdlSel = 0;
await RefreshData();
await CheckAttr();
await InvokeAsync(StateHasChanged);
}
}
protected async Task RefreshData()
{
// refresh tabella dati tablet...
@@ -866,22 +879,6 @@ namespace MP_TAB3.Components
await ReloadData(true);
}
protected async Task refreshAfterFixOdl(bool has2Refr)
{
if (has2Refr)
{
// update buttons...
checkAll();
// reset vari
IdxPOdlSel = 0;
inAttr = false;
IdxPOdlSel = 0;
await RefreshData();
await CheckAttr();
await InvokeAsync(StateHasChanged);
}
}
protected void SaveTCRich(decimal newTCRich)
{
tcRichAttr = newTCRich;
@@ -918,6 +915,52 @@ namespace MP_TAB3.Components
}
}
protected async Task SendWarnTcChangeReq(int idxOdl, decimal tcAss, decimal tcRich)
{
// carico altri parametri email...
string oggetto = SMServ.GetConf("oggettoChgTc");
string corpoChgTc = SMServ.GetConf("corpoChgTc");
string mittente = SMServ.GetConf("_fromEmail");
string baseUrlAdmin = SMServ.GetConf("baseUrlAdmin");
string pageUrlApprODL = SMServ.GetConf("pageUrlApprODL");
string pageUrl = $"{baseUrlAdmin}{pageUrlApprODL}";
string corpo = $"<b>ODL: {idxOdl} | TC Assegnato: {tcAss:N3} | TC Rich: {tcRich}</b>{Environment.NewLine}{Environment.NewLine}";
corpo += string.Format(corpoChgTc, Environment.NewLine, pageUrl);
corpo = corpo.Replace($"{Environment.NewLine}", "<br/>");
MailKitMailData mData = new MailKitMailData()
{
From = mittente,
To = emailAdmDest,
Subject = oggetto,
Body = corpo
};
bool done = await MailServ.SendAsync(mData);
if (done)
{
Log.Info($"Inviata email notifica TC da approvare per ODL {idxOdl} inviato a {string.Join(",", emailAdmDest)}");
}
else
{
Log.Error($"Errore in invio email notifica TC da approvare per ODL {idxOdl} | tentato invio a {string.Join(",", emailAdmDest)}");
}
}
protected async Task SetMacc(string selIdxMacc)
{
// imposto macchina
IdxMaccSel = selIdxMacc;
// recupero dati
RecMSE = TabDServ.MseGetSub(IdxMaccParent, selIdxMacc, true);
await CheckAttr();
await ReloadData(true);
await DoUpdate();
if (showOdlDetail || inAttr)
{
await ReloadXDL(true);
}
await E_MachSel.InvokeAsync(selIdxMacc);
}
protected async Task ShowRiattrezzaggio()
{
showSplitOdlRiattr = !showSplitOdlRiattr;
@@ -968,7 +1011,6 @@ namespace MP_TAB3.Components
}
await advStep(currStep++);
// invio email!
await advStep(currStep++);
// processo chiusura setup
@@ -993,53 +1035,6 @@ namespace MP_TAB3.Components
await InvokeAsync(StateHasChanged);
}
protected async Task SendWarnTcChangeReq(int idxOdl, decimal tcAss, decimal tcRich)
{
// carico altri parametri email...
string oggetto = SMServ.GetConf("oggettoChgTc");
string corpoChgTc = SMServ.GetConf("corpoChgTc");
string mittente = SMServ.GetConf("_fromEmail");
string baseUrlAdmin = SMServ.GetConf("baseUrlAdmin");
string pageUrlApprODL = SMServ.GetConf("pageUrlApprODL");
string pageUrl = $"{baseUrlAdmin}{pageUrlApprODL}";
string corpo = $"<b>ODL: {idxOdl} | TC Assegnato: {tcAss:N3} | TC Rich: {tcRich}</b>{Environment.NewLine}{Environment.NewLine}";
corpo += string.Format(corpoChgTc, Environment.NewLine, pageUrl);
corpo = corpo.Replace($"{Environment.NewLine}", "<br/>");
MailKitMailData mData = new MailKitMailData()
{
From = mittente,
To = emailAdmDest,
Subject = oggetto,
Body = corpo
};
bool done = await MailServ.SendAsync(mData);
if (done)
{
Log.Info($"Inviata email notifica TC da approvare per ODL {idxOdl} inviato a {string.Join(",", emailAdmDest)}");
}
else
{
Log.Error($"Errore in invio email notifica TC da approvare per ODL {idxOdl} | tentato invio a {string.Join(",", emailAdmDest)}");
}
}
protected async Task SetMacc(string selIdxMacc)
{
// imposto macchina
IdxMaccSel = selIdxMacc;
// recupero dati
RecMSE = TabDServ.MseGetSub(IdxMaccParent, selIdxMacc, true);
await CheckAttr();
await ReloadData(true);
await DoUpdate();
if (showOdlDetail || inAttr)
{
await ReloadXDL(true);
}
await E_MachSel.InvokeAsync(selIdxMacc);
}
protected async Task ToggleOdlDetail()
{
showOdlDetail = !showOdlDetail;
@@ -1072,6 +1067,7 @@ namespace MP_TAB3.Components
private bool enableFixSetup = false;
private bool enableRiattrezzaggio = false;
private bool enableRPO = true;
private bool enableSchedaTecnica = false;
@@ -1181,7 +1177,8 @@ namespace MP_TAB3.Components
/// <summary>
/// Valore calcolato key ODL corrente...
/// </summary>
private int IdxOdl
private int IdxOdl { get; set; } = 0;
#if false
{
get
{
@@ -1194,12 +1191,14 @@ namespace MP_TAB3.Components
pUpd.Wait();
return answ;
}
}
}
#endif
/// <summary>
/// Valore calcolato key ODL altra tavola attivo...
/// </summary>
private int IdxOdlAltra
private int IdxOdlAltra { get; set; } = 0;
#if false
{
get
{
@@ -1212,7 +1211,8 @@ namespace MP_TAB3.Components
pUpd.Wait();
return answ;
}
}
}
#endif
private string lblWarnBody
{
@@ -1231,7 +1231,6 @@ namespace MP_TAB3.Components
private bool needConfProd { get; set; } = false;
private int numPz2Conf
{
get
@@ -1282,8 +1281,8 @@ namespace MP_TAB3.Components
catch
{ }
// ora verifico SE E SOLO SE è ANCORA in attrezzaggio
// ora verifico SE ALTRA TAVOLA ha ODL...
// ora verifico SE E SOLO SE è ANCORA in attrezzaggio ora verifico SE ALTRA
// TAVOLA ha ODL...
if (dtChiusura.AddMinutes(gPeriodReopenOdlTav) > adesso)
{
answ = showReopenOdlTav;
@@ -1359,6 +1358,23 @@ namespace MP_TAB3.Components
}
}
private void checkConfProd()
{
// calcolo conferma prod...
#if false
needConfProd = RecMSE != null && prodMacchina != null;
if (prodMacchina != null)
{
needConfProd = prodMacchina.pezziNonConfermati > 0 && !isSlave;
}
#endif
needConfProd = RecMSE != null && datiProdAct != null;
if (datiProdAct != null)
{
needConfProd = datiProdAct.Pz2RecTot > 0 && !isSlave;
}
}
/// <summary>
/// verifica se sia necessario confermare la prod dell'ODL precedente prima di chiudere e lo
/// fa in automatico...
@@ -1389,11 +1405,11 @@ namespace MP_TAB3.Components
datiProdAct = await TabDServ.StatoProdMacchina(IdxMaccSel, adesso);
#if false
var rawData = await TabDServ.PezziProdMacchina(IdxMaccSel);
prodMacchina = rawData.FirstOrDefault() ?? new PzProdModel();
prodMacchina = rawData.FirstOrDefault() ?? new PzProdModel();
#endif
checkConfProd();
#if false
if (prodMacchina.pezziNonConfermati > 0)
if (prodMacchina.pezziNonConfermati > 0)
#endif
if (datiProdAct.Pz2RecTot > 0)
{
@@ -1403,14 +1419,14 @@ namespace MP_TAB3.Components
// confermo al netto dei pezzi lasciati...
fatto = TabDServ.ConfermaProdMacchinaFull(IdxMaccSel, modoConfProd, datiProdAct.Pz2RecTot, 0, 0, adesso, MatrOpr);
#if false
fatto = TabDServ.ConfermaProdMacchinaFull(IdxMaccSel, modoConfProd, prodMacchina.pezziNonConfermati, 0, 0, adesso, MatrOpr);
fatto = TabDServ.ConfermaProdMacchinaFull(IdxMaccSel, modoConfProd, prodMacchina.pezziNonConfermati, 0, 0, adesso, MatrOpr);
#endif
}
else
{
fatto = TabDServ.ConfermaProdMacchina(IdxMaccSel, modoConfProd, datiProdAct.Pz2RecTot, 0, adesso, MatrOpr);
#if false
fatto = TabDServ.ConfermaProdMacchina(IdxMaccSel, modoConfProd, prodMacchina.pezziNonConfermati, 0, adesso, MatrOpr);
fatto = TabDServ.ConfermaProdMacchina(IdxMaccSel, modoConfProd, prodMacchina.pezziNonConfermati, 0, adesso, MatrOpr);
#endif
}
}
@@ -1454,8 +1470,6 @@ namespace MP_TAB3.Components
}
}
/// <summary>
/// processa evento richiesto
/// </summary>
@@ -1536,11 +1550,12 @@ namespace MP_TAB3.Components
var rawData = await TabDServ.PezziProdMacchina(IdxMaccSel);
datiProdAct = await TabDServ.StatoProdMacchina(IdxMaccSel, DateTime.Now);
#if false
prodMacchina = rawData.FirstOrDefault() ?? new PzProdModel();
prodMacchina = rawData.FirstOrDefault() ?? new PzProdModel();
#endif
checkConfProd();
}
}
await updateIdxOdl();
// imposto tcRichAttr in base allo stato...
if (odlOk)
{
@@ -1548,32 +1563,17 @@ namespace MP_TAB3.Components
if (IdxPOdlSel > 0)
{
tcRichAttr = currPodl.Tcassegnato;
noteAttr = currPodl.Note;
}
else
{
tcRichAttr = currOdl.TCRichAttr;
noteAttr = currOdl.Note;
}
}
}
}
private void checkConfProd()
{
// calcolo conferma prod...
#if false
needConfProd = RecMSE != null && prodMacchina != null;
if (prodMacchina != null)
{
needConfProd = prodMacchina.pezziNonConfermati > 0 && !isSlave;
}
#endif
needConfProd = RecMSE != null && datiProdAct != null;
if (datiProdAct != null)
{
needConfProd = datiProdAct.Pz2RecTot > 0 && !isSlave;
}
}
private async Task ReloadPOdlDetailData()
{
if (IdxPOdlSel > 0)
@@ -1584,6 +1584,7 @@ namespace MP_TAB3.Components
{
lastIdxPOdl = IdxPOdlSel;
tcRichAttr = currPodl.Tcassegnato;
noteAttr = currPodl.Note;
}
}
}
@@ -1620,6 +1621,19 @@ namespace MP_TAB3.Components
{
currOdl = await TabDServ.OdlByIdx(currPodl.IdxOdl, false);
}
await updateIdxOdl();
}
private async Task updateIdxOdl()
{
// sistemo idxOdl...
var tabOdl = await TabDServ.OdlCurrByMacc(IdxMaccSel, false);
IdxOdl = tabOdl.IdxOdl;
if (isMulti)
{
var tabOdlAltra = await TabDServ.OdlCurrByMacc(idxMaccAltraTav, false);
IdxOdlAltra = tabOdlAltra.IdxOdl;
}
}
#endregion Private Methods
+1 -1
View File
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<Version>6.16.2312.2211</Version>
<Version>6.16.2401.408</Version>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP_TAB3</RootNamespace>
</PropertyGroup>
+10 -2
View File
@@ -80,6 +80,7 @@ namespace MP_TAB3.Pages
protected async Task EventRecord(int IdxEv)
{
isProcessing = true;
bool needReload = false;
await Task.Delay(1);
// salvo evento e processo...
if (IdxEv > 0)
@@ -91,6 +92,7 @@ namespace MP_TAB3.Pages
// processo evento...
if (insRealtime)
{
needReload = true;
DateTime adesso = DateTime.Now.Floor(TimeSpan.FromSeconds(1));
EventListModel newRec = new EventListModel()
{
@@ -201,6 +203,12 @@ namespace MP_TAB3.Pages
CurrMSE = ListMSE.Find(x => x.IdxMacchina == IdxMacc);
}
isProcessing = false;
// se non era realtime --> rimando a commenti
if (needReload)
{
await MServ.LastOpenedPageSet("notes");
NavMan.NavigateTo("notes");
}
}
protected override async Task OnInitializedAsync()
@@ -211,7 +219,7 @@ namespace MP_TAB3.Pages
rdm_nEvCheck = SMServ.GetConfInt("rdm_nEvCheck");
rdm_ChkOnly = SMServ.GetConfBool("rdm_ChkOnly");
// leggo gli altri dati
await ReloadData();
await ReloadData();
}
protected async Task RefreshData(List<MappaStatoExpl> newList)
@@ -273,7 +281,7 @@ namespace MP_TAB3.Pages
events2show = eventsAll.Where(x => x.EventoTablet).OrderBy(x => x.label).ToList();
}
}
catch(Exception exc)
catch (Exception exc)
{
Log.Error($"ProdStop: Eccezione in reloadData {Environment.NewLine}{exc}");
await MServ.LastOpenedPageSet("/");
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 6.16.2312.2211</h4>
<h4>Versione: 6.16.2401.408</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
6.16.2312.2211
6.16.2401.408
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>6.16.2312.2211</version>
<version>6.16.2401.408</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>