update x fix vari
This commit is contained in:
@@ -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
|
||||
{
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,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 @@
|
||||
6.16.2312.2211
|
||||
6.16.2401.408
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user