Inizio pagina ODL con componenti

This commit is contained in:
Samuele Locatelli
2023-10-27 19:21:54 +02:00
parent c97817907a
commit 906fbfd5ec
11 changed files with 223 additions and 61 deletions
+3 -1
View File
@@ -57,7 +57,9 @@ namespace MP_TAB_SERV.Components
{
var listMulti = await TDataService.VMSFDGetAll();
ListMacchine = listMulti.Where(x => x.IdxMacchina.Contains($"{RecMSE?.IdxMacchina}#")).ToDictionary(x => x.IdxMacchina, x => $"{x.IdxMacchina.Replace($"{RecMSE?.IdxMacchina}#", "")}");
ListMacchine = listMulti
.Where(x => x.IdxMacchina.Contains($"{RecMSE?.IdxMacchina}#"))
.ToDictionary(x => x.IdxMacchina, x => x.CodMaccArticolo);
if (ListMacchine.Count > 0 && string.IsNullOrEmpty(idxMaccSel))
{
+28
View File
@@ -0,0 +1,28 @@
<div class="row">
<div class="col-12">
<MachSel RecMSE="RecMSE" E_MachSel="SetMacc"></MachSel>
</div>
@if (needConfProd)
{
<div class="col-12 text-danger">
<div class="fs-3">@lblWarnHead</div>
<div class="small">@lblWarnBody <b>@numPz2Conf</b></div>
</div>
@if (!odlOk)
{
<div class="col-12">
<button class="btn btn-warning w-100"><i class="fa fa-check"></i> Fix ODL</button>
</div>
}
}
<div class="col-12">
Slave machine man
</div>
@if (!needConfProd)
{
<div class="col-12">
ODL setup (full)
</div>
}
</div>
+138
View File
@@ -0,0 +1,138 @@
using global::Microsoft.AspNetCore.Components;
using MP.Data.DatabaseModels;
namespace MP_TAB_SERV.Components
{
public partial class OdlMan
{
#region Public Properties
/// <summary>
/// Post update restituisco nuova lista dati
/// </summary>
[Parameter]
public EventCallback<List<MappaStatoExpl>> E_Updated { get; set; }
/// <summary>
/// Verifica ODL OK (ovvero caricato x macchina...)
/// </summary>
public bool odlOk
{
get => (RecMSE != null && RecMSE.IdxOdl > 0);
}
[Parameter]
public MappaStatoExpl? RecMSE { get; set; } = null;
#endregion Public Properties
#region Protected Methods
/// <summary>
/// Aggiorno...
/// </summary>
/// <param name="newDate"></param>
protected async Task DoUpdate()
{
isProcessing = true;
await Task.Delay(1);
isProcessing = false;
await Task.Delay(1);
}
protected override async Task OnParametersSetAsync()
{
await Task.Delay(1);
checkAll();
}
protected async Task SetMacc(string selIdxMacc)
{
isProcessing = true;
await Task.Delay(10);
IdxMaccSel = selIdxMacc;
await DoUpdate();
isProcessing = false;
await Task.Delay(10);
}
#endregion Protected Methods
#region Private Fields
private string lblWarnBody = "Pezzi da confermare: ";
private string lblWarnHead = "Attenzione";
private int numPz2Conf = 0;
#endregion Private Fields
#region Private Properties
private string IdxMaccSel { get; set; } = "";
private int IdxOdl
{
get => RecMSE != null ? RecMSE.IdxOdl ?? 0 : 0;
}
private bool isProcessing { get; set; } = false;
#endregion Private Properties
#region Private Methods
private void checkAll()
{
checkConfProd();
}
private bool needConfProd = true;
/// <summary>
/// verifica se sia necessario confermare la produzione PRIMA di operare sull'ODL
/// </summary>
private void checkConfProd()
{
// verifica se sia necessario confermare produzione
int pz2conf = 0;
#if false
DS_ProdTempi.stp_PzProd_getByMacchinaRow rigaProd;
try
{
rigaProd = DataLayerObj.taPzProd2conf.GetData(idxMacchinaFix)[0];
pz2conf = rigaProd.pezziNonConfermati;
needConfProd = (pz2conf > 0 && !isSlave);
}
catch (Exception exc)
{
logger.lg.scriviLog(string.Format("Errore recupero pezzi da confermare per la macchina {0}{1}{2}", idxMacchinaFix, Environment.NewLine, exc), tipoLog.ERROR);
}
// se necessario mostro warning...
if (needConfProd)
{
// SE mancasse ODL mostro info x poter caricare ODL retrodatato
if (odlOk)
{
lblWarningHead.Text = traduci("ConfProdBeforeContinueHead");
lblWarningBody.Text = traduci("ConfProdBeforeContinueBody");
lblNumPz2Conf.Text = string.Format("{0} pz NC", pz2conf);
}
else
{
lblWarningHead.Text = traduci("setOdlBeforeContinueHead");
lblWarningBody.Text = traduci("setOdlBeforeContinueBody");
lblNumPz2Conf.Text = string.Format("{0} pz NC", pz2conf);
}
}
divPz2Conf.Visible = needConfProd;
divWarn.Visible = needConfProd;
lbtFixOdl.Visible = !odlOk;
mod_ODL1.isEnabled = !needConfProd;
#endif
}
#endregion Private Methods
}
}
-5
View File
@@ -1,5 +0,0 @@
<h3>OdlProdFix</h3>
@code {
}
-5
View File
@@ -1,5 +0,0 @@
<h3>OdlSetup</h3>
@code {
}
+49 -43
View File
@@ -18,13 +18,13 @@ namespace MP_TAB_SERV.Components
/// registrato nuovo valore
/// </summary>
[Parameter]
public EventCallback<List<MappaStatoExpl>> E_Updated { get; set; }
public EventCallback<bool> E_reset { get; set; }
/// <summary>
/// registrato nuovo valore
/// Post update restituisco nuova lista dati
/// </summary>
[Parameter]
public EventCallback<bool> E_reset { get; set; }
public EventCallback<List<MappaStatoExpl>> E_Updated { get; set; }
/// <summary>
/// Verifica ODL OK (ovvero caricato x macchina...)
@@ -39,42 +39,17 @@ namespace MP_TAB_SERV.Components
#endregion Public Properties
#region Public Methods
/// <summary>
/// Aggiorno valori produzione alla data richiesta...
/// </summary>
/// <param name="newDate"></param>
public async Task doUpdate()
{
isProcessing = true;
await Task.Delay(1);
datiProdAct = await TabDServ.StatoProdMacchina(IdxMaccSel, dtReqUpdate);
// aggiorno visualizzazione...
numPzProdotti = datiProdAct.PzTotODL;
numPz2Rec = datiProdAct.Pz2RecTot;
numPzScaConf = datiProdAct.PzConfScarto;
numPzBuoniConf = datiProdAct.PzConfBuoni;
numPzProdotti2Rec = datiProdAct.Pz2RecTot;
numPzScarto2Rec = datiProdAct.Pz2RecScarto;
dtInizio = RecMSE?.DataInizioOdl ?? DateTime.Today.AddMonths(-2);
dtFine = dtReqUpdate;
isProcessing = false;
await Task.Delay(1);
}
#endregion Public Methods
#region Protected Properties
protected string ConfBg
{
get => showInnov ? "bg-warning text-dark" : "bg-success text-light";
}
protected string ConfTitle
{
get => showInnov ? "Nascondi conferma" : "Mostra conferma";
}
protected string ConfBg
{
get => showInnov ? "bg-warning text-dark" : "bg-success text-light";
}
/// <summary>
/// Dati produzioen rilevati
@@ -130,8 +105,11 @@ namespace MP_TAB_SERV.Components
}
protected int numPzProdotti { get; set; } = 0;
protected int numPzProdotti2Rec { get; set; } = 0;
protected int numPzScaConf { get; set; } = 0;
protected int numPzScarto2Rec { get; set; } = 0;
[Inject]
@@ -144,6 +122,28 @@ namespace MP_TAB_SERV.Components
#region Protected Methods
/// <summary>
/// Aggiorno valori produzione alla data richiesta...
/// </summary>
/// <param name="newDate"></param>
protected async Task DoUpdate()
{
isProcessing = true;
await Task.Delay(1);
datiProdAct = await TabDServ.StatoProdMacchina(IdxMaccSel, dtReqUpdate);
// aggiorno visualizzazione...
numPzProdotti = datiProdAct.PzTotODL;
numPz2Rec = datiProdAct.Pz2RecTot;
numPzScaConf = datiProdAct.PzConfScarto;
numPzBuoniConf = datiProdAct.PzConfBuoni;
numPzProdotti2Rec = datiProdAct.Pz2RecTot;
numPzScarto2Rec = datiProdAct.Pz2RecScarto;
dtInizio = RecMSE?.DataInizioOdl ?? DateTime.Today.AddMonths(-2);
dtFine = dtReqUpdate;
isProcessing = false;
await Task.Delay(1);
}
protected override async Task OnInitializedAsync()
{
lblOut = "";
@@ -154,7 +154,7 @@ namespace MP_TAB_SERV.Components
enablePzProdLasciati = SMServ.GetConfBool("enablePzProdLasciati");
confRett = SMServ.GetConfBool("confRett");
modoConfProd = SMServ.GetConfInt("modoConfProd");
await doUpdate();
await DoUpdate();
}
}
@@ -182,19 +182,12 @@ namespace MP_TAB_SERV.Components
// sollevo evento!
dtReqUpdate = DateTime.Now;
numPzLasciati = 0;
await doUpdate();
await DoUpdate();
await Task.Delay(1);
await RefreshData();
isProcessing = false;
}
private async Task RefreshData()
{
List<MappaStatoExpl> ListMSE = await MDataService.MseGetAll(true);
await MServ.SaveMse(ListMSE);
await E_Updated.InvokeAsync(ListMSE);
}
protected void setConfirmBtn(bool newVal)
{
showConfirm = newVal;
@@ -205,7 +198,7 @@ namespace MP_TAB_SERV.Components
isProcessing = true;
await Task.Delay(10);
IdxMaccSel = selIdxMacc;
await doUpdate();
await DoUpdate();
isProcessing = false;
await Task.Delay(10);
}
@@ -224,8 +217,11 @@ namespace MP_TAB_SERV.Components
#region Private Fields
private bool confRett = false;
private bool enablePzProdLasciati = false;
private string lblOut = "";
private int modoConfProd = 0;
#endregion Private Fields
@@ -233,7 +229,9 @@ namespace MP_TAB_SERV.Components
#region Private Properties
private DateTime dtReqUpdate { get; set; } = DateTime.Now;
private string IdxMaccSel { get; set; } = "";
private bool isProcessing { get; set; } = false;
private int MatrOpr
@@ -242,6 +240,7 @@ namespace MP_TAB_SERV.Components
}
private int numPzLasc { get; set; } = 0;
private bool showConfirm { get; set; } = true;
private bool showInnov { get; set; } = false;
@@ -269,6 +268,13 @@ namespace MP_TAB_SERV.Components
return fatto;
}
private async Task RefreshData()
{
List<MappaStatoExpl> ListMSE = await MDataService.MseGetAll(true);
await MServ.SaveMse(ListMSE);
await E_Updated.InvokeAsync(ListMSE);
}
#endregion Private Methods
#if false
+1 -1
View File
@@ -3,7 +3,7 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<Version>6.16.2310.2718</Version>
<Version>6.16.2310.2719</Version>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP_TAB_SERV</RootNamespace>
</PropertyGroup>
+1 -3
View File
@@ -8,7 +8,5 @@
else
{
<MachineBlock RecMSE="CurrMSE" FullMode="false"></MachineBlock>
@* <MachSel></MachSel> *@
<OdlProdFix></OdlProdFix>
<OdlSetup></OdlSetup>
<OdlMan RecMSE="CurrMSE" E_Updated="RefreshData"></OdlMan>
}
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOSPEC </i>
<h4>Versione: 6.16.2310.2718</h4>
<h4>Versione: 6.16.2310.2719</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
6.16.2310.2718
6.16.2310.2719
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>6.16.2310.2718</version>
<version>6.16.2310.2719</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>