Fix selezione ODL quando disponibile....
This commit is contained in:
@@ -31,13 +31,109 @@
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (showOdlDetail)
|
||||
{
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header bg-warning text-light">
|
||||
<h4>Verifica parametri attrezzaggio</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col d-flex justify-content-between">
|
||||
<div class="px-0 small">
|
||||
P.ODL:
|
||||
</div>
|
||||
<div class="px-0 text-end fw-bold">
|
||||
@currPodl.IdxPromessa.ToString("N0")
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex justify-content-between">
|
||||
<div class="px-0 small">
|
||||
Rif:
|
||||
</div>
|
||||
<div class="px-0 text-end fw-bold">
|
||||
@currPodl.KeyRichiesta
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex justify-content-between">
|
||||
<div class="px-0 small">
|
||||
Cod:
|
||||
</div>
|
||||
<div class="px-0 text-end fw-bold">
|
||||
@currPodl.CodArticolo
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row border-top border-bottom border-secondary">
|
||||
<div class="col d-flex justify-content-between">
|
||||
<div class="px-0 small">
|
||||
Articolo:
|
||||
</div>
|
||||
<div class="px-0 text-end fw-bold">
|
||||
@currPodl.DescArticolo
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col d-flex justify-content-between">
|
||||
<div class="px-0 small">
|
||||
Pezzi:
|
||||
</div>
|
||||
<div class="px-0 text-end fw-bold">
|
||||
@currPodl.NumPezzi.ToString("N0")
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex justify-content-between">
|
||||
<div class="px-0 small">
|
||||
TCiclo:
|
||||
</div>
|
||||
<div class="px-0 text-end fw-bold">
|
||||
@currPodl.Tcassegnato.ToString("N2")
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex justify-content-between">
|
||||
<div class="px-0 small">
|
||||
Pz/pallet:
|
||||
</div>
|
||||
<div class="px-0 text-end fw-bold">
|
||||
@currPodl.PzPallet
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div class="row">
|
||||
<div class="col text-start fw-bold">
|
||||
@currPodl.Nome
|
||||
</div>
|
||||
<div class="col d-flex justify-content-between">
|
||||
<div class="px-0 small">
|
||||
Priorita:
|
||||
</div>
|
||||
<div class="px-0 text-end fw-bold">
|
||||
@currPodl.Priorita
|
||||
</div>
|
||||
</div>
|
||||
<div class="col d-flex justify-content-between">
|
||||
<div class="px-0 small">
|
||||
Data:
|
||||
</div>
|
||||
<div class="px-0 text-end fw-bold">
|
||||
@($"{currPodl.DueDate:yyyy.MM.dd}")
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="d-flex justify-content-between flex-wrap">
|
||||
<div class="col-12 col-sm-12 col-md-6 p-2">
|
||||
<div class="input-group input-group-lg">
|
||||
<input type="text" class="form-control w-25" placeholder="Cerca" aria-label="Cerca">
|
||||
<select class="form-select w-50" @bind="IdxOdlSel">
|
||||
<option disabled>Selezionare P.ODL</option>
|
||||
@foreach (var item in ListODL)
|
||||
{
|
||||
<option value="@item.value">@item.label</option>
|
||||
@@ -59,10 +155,6 @@
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
@if (showOdlDetail)
|
||||
{
|
||||
<p>...dettaglio ODL...</p>
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -30,6 +30,24 @@ namespace MP_TAB_SERV.Components
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected int IdxOdlSel
|
||||
{
|
||||
get => idxOdlSel;
|
||||
set
|
||||
{
|
||||
if (idxOdlSel != value)
|
||||
{
|
||||
idxOdlSel = value;
|
||||
showOdlDetail = value > 0;
|
||||
var pUpd = Task.Run(async () =>
|
||||
{
|
||||
await ReloadPOdlDetailData();
|
||||
});
|
||||
pUpd.Wait();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected List<vSelOdlModel> ListODL { get; set; } = new List<vSelOdlModel>();
|
||||
|
||||
[Inject]
|
||||
@@ -175,34 +193,20 @@ namespace MP_TAB_SERV.Components
|
||||
|
||||
#region Private Properties
|
||||
|
||||
private PODLExpModel currPodl { get; set; } = new PODLExpModel();
|
||||
|
||||
/// <summary>
|
||||
/// Variabile idxMacc parent x selezione ODL
|
||||
/// </summary>
|
||||
private string IdxMaccParent { get; set; } = "";
|
||||
|
||||
protected int IdxOdlSel
|
||||
{
|
||||
get => idxOdlSel;
|
||||
set
|
||||
{
|
||||
if (idxOdlSel != value)
|
||||
{
|
||||
idxOdlSel = value;
|
||||
//var pUpd = Task.Run(async () =>
|
||||
//{
|
||||
// await ReloadData(true);
|
||||
//});
|
||||
//pUpd.Wait();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int idxOdlSel { get; set; } = 0;
|
||||
private int IdxOdl
|
||||
{
|
||||
get => RecMSE != null ? RecMSE.IdxOdl ?? 0 : 0;
|
||||
}
|
||||
|
||||
private int idxOdlSel { get; set; } = 0;
|
||||
|
||||
private string lblWarnBody
|
||||
{
|
||||
get => odlOk ? Traduci("ConfProdBeforeContinueBody") : Traduci("setOdlBeforeContinueBody");
|
||||
@@ -222,7 +226,6 @@ namespace MP_TAB_SERV.Components
|
||||
{
|
||||
answ = prodMacchina.pezziNonConfermati > 0 && !isSlave;
|
||||
}
|
||||
//(RecMSE != null && RecMSE.PezziProd > RecMSE.PezziConf);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
@@ -317,6 +320,14 @@ namespace MP_TAB_SERV.Components
|
||||
}
|
||||
}
|
||||
|
||||
private async Task ReloadPOdlDetailData()
|
||||
{
|
||||
if (IdxOdlSel > 0)
|
||||
{
|
||||
currPodl = await TabDServ.PODLExp_getByKey(IdxOdlSel);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<Version>6.16.2311.618</Version>
|
||||
<Version>6.16.2311.619</Version>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<RootNamespace>MP_TAB_SERV</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>Modulo MAPOSPEC </i>
|
||||
<h4>Versione: 6.16.2311.618</h4>
|
||||
<h4>Versione: 6.16.2311.619</h4>
|
||||
<br /> Note di rilascio:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
6.16.2311.618
|
||||
6.16.2311.619
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>6.16.2311.618</version>
|
||||
<version>6.16.2311.619</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>
|
||||
|
||||
@@ -825,6 +825,36 @@ namespace MP.Data.Controllers
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
/// <summary>
|
||||
/// Recupero PODL da chiave
|
||||
/// </summary>
|
||||
/// <param name="idxPODL"></param>
|
||||
/// <returns></returns>
|
||||
public PODLExpModel PODLExp_getByKey(int idxPODL)
|
||||
{
|
||||
PODLExpModel dbResult = new PODLExpModel();
|
||||
using (var dbCtx = new MoonProContext(_configuration))
|
||||
{
|
||||
try
|
||||
{
|
||||
var IdxPromessa = new SqlParameter("@IdxPromessa", idxPODL);
|
||||
var rawResult = dbCtx
|
||||
.DbSetPODLExp
|
||||
.FromSqlRaw("EXEC stp_PODL_getByIdx @IdxPromessa", IdxPromessa)
|
||||
.AsNoTracking()
|
||||
.ToList();
|
||||
if (rawResult != null && rawResult.Count > 0)
|
||||
{
|
||||
dbResult = rawResult.FirstOrDefault();
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione durante PODL_getByKey{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return dbResult;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Stato prod macchina
|
||||
|
||||
@@ -1156,6 +1156,41 @@ namespace MP.Data.Services
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupero PODL da chiave
|
||||
/// </summary>
|
||||
/// <param name="idxPODL"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<PODLExpModel> PODLExp_getByKey(int idxPODL)
|
||||
{
|
||||
string source = "DB";
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
PODLExpModel result = new PODLExpModel();
|
||||
// cerco in redis...
|
||||
string currKey = $"{redisBaseKey}:PODL:{idxPODL}";
|
||||
RedisValue rawData = await redisDb.StringGetAsync(currKey);
|
||||
if (rawData.HasValue)
|
||||
{
|
||||
result = JsonConvert.DeserializeObject<PODLExpModel>($"{rawData}");
|
||||
source = "REDIS";
|
||||
}
|
||||
else
|
||||
{
|
||||
result = await Task.FromResult(dbTabController.PODLExp_getByKey(idxPODL));
|
||||
// serializzp e salvo...
|
||||
rawData = JsonConvert.SerializeObject(result);
|
||||
await redisDb.StringSetAsync(currKey, rawData, UltraLongCache);
|
||||
}
|
||||
if (result == null)
|
||||
{
|
||||
result = new PODLExpModel();
|
||||
}
|
||||
sw.Stop();
|
||||
Log.Debug($"PODL_getByKey | {source} | {sw.Elapsed.TotalMilliseconds}ms");
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Restituisce elenco RC filtrato
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user