This commit is contained in:
zaccaria.majid
2022-11-30 15:40:57 +01:00
parent e476ce3a81
commit 3a5a98abc0
9 changed files with 368 additions and 410 deletions
+1 -1
View File
@@ -699,7 +699,7 @@ namespace MP.Data.Controllers
/// <returns></returns>
public List<Macchine> MacchineGetFilt(string codGruppo)
{
List<Gruppi2MaccModel> dbResult = new List<Gruppi2MaccModel>();
List<Macchine> dbResult = new List<Macchine>();
using (var dbCtx = new MoonProContext(_configuration))
{
if (codGruppo == "*")
+200 -200
View File
@@ -6,99 +6,99 @@
@if (ListRecords == null)
{
<LoadingData></LoadingData>
<LoadingData></LoadingData>
}
else if (totalCount == 0)
{
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
}
else
{
<!-- INIZIO: MODIFICA FLUSSO -->
<!-- INIZIO: MODIFICA FLUSSO -->
@if (currFluxLogDto != null)
{
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light d-flex justify-content-between">
<div>
Modifica Parametro
</div>
<div>
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light d-flex justify-content-between">
<div>
Modifica Parametro
</div>
<div>
@if (isEditing)
{
<span class="text-light">PENDING CHANGES...</span>
<span class="text-light">PENDING CHANGES...</span>
}
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">MACCHINA</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.IdxMacchina">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">DATA</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.dtEvento">
<div class="card-body">
<div class="row">
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">MACCHINA</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.IdxMacchina">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">DATA</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.dtEvento">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">DATA TYPE</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.CodFlux">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">VALORE</span>
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.ValoreEdit" @onclick="()=> enableEditing()" @onselect="()=> enableEditing()">
</div>
</div>
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">DATA TYPE</span>
<input type="text" class="form-control" disabled aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.CodFlux">
</div>
</div>
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">VALORE</span>
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@currFluxLogDto.ValoreEdit" @onclick="()=> enableEditing()" @onselect="()=> enableEditing()">
</div>
</div>
</div>
<div class="row pt-4" style="visibility: @css()">
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => cancel()" class="btn btn-warning">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => update(currFluxLogDto)" class="btn btn-success">Save <i class="bi bi-save"></i></button>
<div class="row pt-4" style="visibility: @css()">
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => cancel()" class="btn btn-warning">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => update(currFluxLogDto)" class="btn btn-success">Save <i class="bi bi-save"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
<!-- FINE: MODIFICA FLUSSO -->
<!-- INIZIO: NUOVO DOSSIER -->
<!-- FINE: MODIFICA FLUSSO -->
<!-- INIZIO: NUOVO DOSSIER -->
@if (currRecordClone != null)
{
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light d-flex justify-content-between">
<div>
Nuovo Dossier
</div>
</div>
<div class="card-body">
<!--INIZIO PRIMA RIGA-->
<div class="row">
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">MACCHINA</span>
<select @bind="@currRecordClone.IdxMacchina" class="form-select" id="macchina" title="Selezionare la macchina" @onclick="()=> enableEditing()">
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light d-flex justify-content-between">
<div>
Nuovo Dossier
</div>
</div>
<div class="card-body">
<!--INIZIO PRIMA RIGA-->
<div class="row">
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">MACCHINA</span>
<select @bind="@currRecordClone.IdxMacchina" class="form-select" id="macchina" title="Selezionare la macchina" @onclick="()=> enableEditing()">
@if (ListMacchine != null)
{
foreach (var item in ListMacchine)
@@ -106,89 +106,89 @@ else
@if (item.IdxMacchina == currRecordClone.IdxMacchina)
{
<option value="@item.IdxMacchina" selected>@item.IdxMacchina | @item.MachineNav.Descrizione</option>
<option value="@item.IdxMacchina" selected>@item.IdxMacchina | @item.Descrizione</option>
}
else
{
<option value="@item.IdxMacchina">@item.IdxMacchina | @item.MachineNav.Descrizione</option>
<option value="@item.IdxMacchina">@item.IdxMacchina | @item.Descrizione</option>
}
}
}
</select>
</div>
</div>
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">FASE</span>
<select class="form-select" @bind="@currRecordClone.KeyRichiesta" @onclick="()=> enableEditing()" title="Selezionare la fase">
</select>
</div>
</div>
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">FASE</span>
<select class="form-select" @bind="@currRecordClone.KeyRichiesta" @onclick="()=> enableEditing()" title="Selezionare la fase">
@if (ListStati != null)
{
foreach (var item in ListStati)
{
@if (item.value == currRecordClone.KeyRichiesta)
{
<option value="@item.value" selected>@item.label</option>
<option value="@item.value" selected>@item.label</option>
}
else
{
<option value="@item.value">@item.label</option>
<option value="@item.value">@item.label</option>
}
}
}
</select>
</div>
</div>
</select>
</div>
</div>
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm" @onclick="()=> enableEditing()">ARTICOLI</span>
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm" @onclick="()=> enableEditing()">ARTICOLI</span>
<select @bind="@currRecordClone.CodArticolo" class="form-select" id="macchina" title="Selezionare l'articolo">
<select @bind="@currRecordClone.CodArticolo" class="form-select" id="macchina" title="Selezionare l'articolo">
@if (ListArticoli != null)
{
foreach (var item in ListArticoli)
{
@if (item.CodArticolo == currRecordClone.CodArticolo)
{
<option value="@item.CodArticolo" selected>@item.CodArticolo | @item.DescArticolo</option>
<option value="@item.CodArticolo" selected>@item.CodArticolo | @item.DescArticolo</option>
}
else
{
<option value="@item.CodArticolo">@item.CodArticolo | @item.DescArticolo</option>
<option value="@item.CodArticolo">@item.CodArticolo | @item.DescArticolo</option>
}
}
}
</select>
</select>
</div>
</div>
</div>
</div>
</div>
<!--FINE PRIMA RIGA-->
<!--FINE PRIMA RIGA-->
<div class="row pt-4">
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => cancelNewDoss()" class="btn btn-warning">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => newDossier(currRecordClone)" class="btn btn-success">Save <i class="bi bi-save"></i></button>
<div class="row pt-4">
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => cancelNewDoss()" class="btn btn-warning">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button @onclick="() => newDossier(currRecordClone)" class="btn btn-success">Save <i class="bi bi-save"></i></button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
<!-- FINE: NUOVO DOSSIER -->
<!-- FINE: NUOVO DOSSIER -->
@@ -196,149 +196,149 @@ else
<div class="row">
<div class="d-flex justify justify-content-between">
<table class="table table-sm table-striped small">
<thead>
<tr>
<th>
<div class="text-nowrap">
<div class="row">
<div class="d-flex justify justify-content-between">
<table class="table table-sm table-striped small">
<thead>
<tr>
<th>
<div class="text-nowrap">
@if (currRecord != null)
{
<button @onclick="() => closeTableFlux()" class="btn btn-primary btn-sm"><i class="bi bi-arrow-counterclockwise"></i></button>
<button @onclick="()=> cloneRecord(currRecord)" class="btn btn-info btn-sm" title="Duplica Record"><i class="bi bi-clipboard-check"></i></button>
<button @onclick="() => closeTableFlux()" class="btn btn-primary btn-sm"><i class="bi bi-arrow-counterclockwise"></i></button>
<button @onclick="()=> cloneRecord(currRecord)" class="btn btn-info btn-sm" title="Duplica Record"><i class="bi bi-clipboard-check"></i></button>
}
</div>
</th>
<th><i class="fa-solid fa-file"></i> Articolo</th>
<th><i class="fa-solid fa-screwdriver-wrench"></i> Fase</th>
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-regular fa-calendar-days"></i> Data Snap</th>
<th><i class="fa-solid fa-sliders"></i> ODL</th>
<th></th>
</tr>
</thead>
<tbody>
</div>
</th>
<th><i class="fa-solid fa-file"></i> Articolo</th>
<th><i class="fa-solid fa-screwdriver-wrench"></i> Fase</th>
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-regular fa-calendar-days"></i> Data Snap</th>
<th><i class="fa-solid fa-sliders"></i> ODL</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var record in ListRecords)
{
<tr class="@checkSelect(@record)">
<td>
<tr class="@checkSelect(@record)">
<td>
@if (isEditing == false)
{
<!--SEL RECORD PER VISUALIZZAZIONE FLUSSI-->
<button class="btn btn-primary btn-sm" @onclick="() => selRecord(record)"><i class="fa-solid fa-magnifying-glass"></i></button>
<!--SEL RECORD PER CLONA DOSSIER-->
<!--SEL RECORD PER VISUALIZZAZIONE FLUSSI-->
<button class="btn btn-primary btn-sm" @onclick="() => selRecord(record)"><i class="fa-solid fa-magnifying-glass"></i></button>
<!--SEL RECORD PER CLONA DOSSIER-->
@*<button @onclick="()=> cloneRecord(record)" class="btn btn-info btn-sm" title="Duplica Record"><i class="bi bi-clipboard-check"></i></button>*@
}
else
{
<button class="btn btn-secondary btn-sm disabled"><i class="fa-solid fa-magnifying-glass"></i></button>
<button class="btn btn-secondary btn-sm disabled"><i class="fa-solid fa-magnifying-glass"></i></button>
}
</td>
<td>
</td>
<td>
@record.CodArticolo
<div class="small textConsensed text-secondary">@record.ArticoloNav.DescArticolo</div>
</td>
<td>
<div class="small textConsensed text-secondary">@record.ArticoloNav.DescArticolo</div>
</td>
<td>
@tradFase(record.KeyRichiesta)
</td>
<td>
</td>
<td>
@record.IdxMacchina
</td>
<td>
</td>
<td>
@record.DtRif
</td>
<td>
<div>
<div>
</td>
<td>
<div>
<div>
@record.IdxODL
</div>
</div>
@if (record.IdxODL > 0)
{
<div>
<span class="badge bg-primary textConsensed"><a href="Giacenze?IdxOdl=@record.IdxODL" target="_blank" class="text-light text-decoration-none">APRI GIACENZE</a></span>
</div>
<div>
<span class="badge bg-primary textConsensed"><a href="Giacenze?IdxOdl=@record.IdxODL" target="_blank" class="text-light text-decoration-none">APRI GIACENZE</a></span>
</div>
}
</div>
</td>
<td>
</div>
</td>
<td>
@if (isEditing == false)
{
<button @onclick="() => deleteRecord(record)" class="btn btn-danger btn-sm"><i class="bi bi-trash-fill"></i></button>
<button @onclick="() => deleteRecord(record)" class="btn btn-danger btn-sm"><i class="bi bi-trash-fill"></i></button>
}
else
{
<button class="btn btn-secondary btn-sm disabled"><i class="bi bi-trash-fill"></i></button>
<button class="btn btn-secondary btn-sm disabled"><i class="bi bi-trash-fill"></i></button>
}
</td>
</tr>
</td>
</tr>
}
</tbody>
</table>
</tbody>
</table>
@if (!visualizzaFlux)
{
if (listaFlux == null)
{
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
<div class="alert alert-warning text-center display-4">Nessun record trovato</div>
}
else
{
<div class="table selBlock p-2">
<table class="table table-light table-sm table-striped small mb-0">
<thead>
<tr>
<th>
<button class="btn btn-info" @onclick="() => closeTableFlux()"><i class="fa-solid fa-xmark"></i></button>
</th>
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-regular fa-calendar-days"></i> Data</th>
<th><i class="fa-solid fa-sliders"></i> Data Type</th>
<th style="text-align: right;">
<span class="col-11"> Valore </span>
</th>
</tr>
</thead>
<tbody>
<div class="table selBlock p-2">
<table class="table table-light table-sm table-striped small mb-0">
<thead>
<tr>
<th>
<button class="btn btn-info" @onclick="() => closeTableFlux()"><i class="fa-solid fa-xmark"></i></button>
</th>
<th><i class="fa-solid fa-hard-drive"></i> Macchina</th>
<th><i class="fa-regular fa-calendar-days"></i> Data</th>
<th><i class="fa-solid fa-sliders"></i> Data Type</th>
<th style="text-align: right;">
<span class="col-11"> Valore </span>
</th>
</tr>
</thead>
<tbody>
@foreach (var record in listaFlux)
{
<tr class="@checkSelPar(@record)">
<td>
<button @onclick="() => editRecord(record)" class="btn btn-primary btn-sm" title="Modifica Record"><i class="bi bi-pencil-square"></i></button>
</td>
<td>
<tr class="@checkSelPar(@record)">
<td>
<button @onclick="() => editRecord(record)" class="btn btn-primary btn-sm" title="Modifica Record"><i class="bi bi-pencil-square"></i></button>
</td>
<td>
@record.IdxMacchina
</td>
<td>
</td>
<td>
@record.dtEvento
</td>
<td>
</td>
<td>
@traduci(record.CodFlux)
<div class="small textConsensed text-secondary" title="Valore Registrato">@record.CodFlux</div>
</td>
<td style="text-align: right;">
<div class="small textConsensed text-secondary" title="Valore Registrato">@record.CodFlux</div>
</td>
<td style="text-align: right;">
@if (record.ValoreEdit != record.Valore)
{
<div title="Valore Modificato"><span class="small text-dark"></span><b>@record.ValoreEdit</b></div>
<div class="small text-secondary" title="Valore Registrato">(<i>@record.Valore</i>)</div>
<div title="Valore Modificato"><span class="small text-dark"></span><b>@record.ValoreEdit</b></div>
<div class="small text-secondary" title="Valore Registrato">(<i>@record.Valore</i>)</div>
}
else
{
<div><span class="small text-dark"></span>@record.ValoreEdit</div>
<div><span class="small text-dark"></span>@record.ValoreEdit</div>
}
</td>
</tr>
</td>
</tr>
}
</tbody>
</table>
</div>
</tbody>
</table>
</div>
}
}
</div>
</div>
</div>
}
+1 -1
View File
@@ -309,7 +309,7 @@ namespace MP.SPEC.Components
private List<AnagArticoli>? ListArticoli;
private List<AnagGruppi>? ListGruppiFase;
private List<Gruppi2MaccModel>? ListMacchine;
private List<Macchine>? ListMacchine;
private List<DossierModel>? ListRecords;
private List<ListValues>? ListStati;
+19 -26
View File
@@ -23,7 +23,7 @@
{
foreach (var item in ListGruppiFase)
{
<option value="@item.CodGruppo">@item.DescrGruppo</option>
<option value="@item.CodGruppo">@item.DescrGruppo</option>
}
}
</select>
@@ -37,19 +37,12 @@
<div class="input-group px-2">
<label class="input-group-text" for="macchina" title="Selezionare la macchina da visualizzare"><i class="fa-solid fa-hard-drive"></i></label>
<select @bind="@selMacchina" id="macchina" class="form-select" title="Selezionare la macchina da visualizzare">
<option value="*">--- Tutti ---</option>
@if (ListMacchine != null)
{
if (ListMacchine.Count == 0)
foreach (var item in ListMacchine)
{
<option selected>--Nessuna macchina presente--</option>
}
else
{
<option value="*">--- Tutti ---</option>
foreach (var item in ListMacchine)
{
<option value="@item.IdxMacchina">@item.MachineNav.Descrizione</option>
}
<option value="@item.IdxMacchina">@item.Descrizione</option>
}
}
</select>
@@ -68,7 +61,7 @@
{
foreach (var item in ListStati)
{
<option value="@item.value">@item.label</option>
<option value="@item.value">@item.label</option>
}
}
</select>
@@ -76,20 +69,20 @@
</div>
@if (!isActive || hasOdl)
{
<div class="small mt-2">
<label class="px-2" for="dtMin" title="Selezionare inizio periodo">Inizio Periodo</label>
</div>
<div class="px-2 input-group">
<label class="input-group-text" for="dtMin" title="Selezionare inizio periodo"><i class="fa-regular fa-calendar-minus"></i></label>
<input class="form-control" @bind="@selDtStart" id="dtMin" type="datetime-local" title="Data minima eventi da visualizzare">
</div>
<div class="small mt-2">
<label class="px-2" for="dtMax" title="Selezionare fine periodo">Fine Periodo</label>
</div>
<div class="px-2 input-group">
<label class="input-group-text" for="dtMax" title="Selezionare fine periodo"><i class="fa-regular fa-calendar-plus"></i></label>
<input class="form-control" @bind="@selDtEnd" id="dtMax" type="datetime-local" title="Selezionare fine periodo">
</div>
<div class="small mt-2">
<label class="px-2" for="dtMin" title="Selezionare inizio periodo">Inizio Periodo</label>
</div>
<div class="px-2 input-group">
<label class="input-group-text" for="dtMin" title="Selezionare inizio periodo"><i class="fa-regular fa-calendar-minus"></i></label>
<input class="form-control" @bind="@selDtStart" id="dtMin" type="datetime-local" title="Data minima eventi da visualizzare">
</div>
<div class="small mt-2">
<label class="px-2" for="dtMax" title="Selezionare fine periodo">Fine Periodo</label>
</div>
<div class="px-2 input-group">
<label class="input-group-text" for="dtMax" title="Selezionare fine periodo"><i class="fa-regular fa-calendar-plus"></i></label>
<input class="form-control" @bind="@selDtEnd" id="dtMax" type="datetime-local" title="Selezionare fine periodo">
</div>
}
</div>
</div>
+1 -1
View File
@@ -19,7 +19,7 @@ namespace MP.SPEC.Components
public List<AnagGruppi>? ListGruppiFase { get; set; } = null;
[Parameter]
public List<Gruppi2MaccModel>? ListMacchine { get; set; } = null;
public List<Macchine>? ListMacchine { get; set; } = null;
[Parameter]
public List<ListValues>? ListStati { get; set; } = null;
+4 -4
View File
@@ -793,7 +793,7 @@ namespace MP.SPEC.Data
/// <returns></returns>
public async Task<List<Macchine>> MacchineGetFilt(string codGruppo)
{
List<Gruppi2MaccModel>? result = new List<Gruppi2MaccModel>();
List<Macchine>? result = new List<Macchine>();
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
string readType = "DB";
@@ -803,7 +803,7 @@ namespace MP.SPEC.Data
RedisValue rawData = redisDb.StringGet(currKey);
if (rawData.HasValue)
{
result = JsonConvert.DeserializeObject<List<Gruppi2MaccModel>>($"{rawData}");
result = JsonConvert.DeserializeObject<List<Macchine>>($"{rawData}");
readType = "REDIS";
}
else
@@ -811,11 +811,11 @@ namespace MP.SPEC.Data
result = await Task.FromResult(dbController.MacchineGetFilt(codGruppo));
// serializzo e salvo...
rawData = JsonConvert.SerializeObject(result);
redisDb.StringSet(redisMacList, rawData, getRandTOut(redisLongTimeCache));
redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache));
}
if (result == null)
{
result = new List<Gruppi2MaccModel>();
result = new List<Macchine>();
}
stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
+1 -1
View File
@@ -160,7 +160,7 @@ namespace MP.SPEC.Pages
#region Private Fields
private List<Gruppi2MaccModel>? ListMacchine;
private List<Macchine>? ListMacchine;
private List<MP.Data.DatabaseModels.ListValues>? ListStati;
#endregion Private Fields
+134 -139
View File
@@ -18,7 +18,7 @@
</div>
@if (addEnabled)
{
<button class="btn btn-success" @onclick="() => reqNewPODL()">Nuovo PODL <i class="bi bi-plus-square"></i></button>
<button class="btn btn-success" @onclick="() => reqNewPODL()">Nuovo PODL <i class="bi bi-plus-square"></i></button>
}
</div>
</div>
@@ -26,26 +26,26 @@
<div class="d-flex justify-content-between">
@if (filtActive)
{
<div class=" rounded small d-flex justify-content-between" title="Filtri attivi">
<div class=" rounded small d-flex justify-content-between" title="Filtri attivi">
@*<i class="fas fa-exclamation text-warning"></i>*@
@if (selReparto != "*")
{
<button class="btn btn-outline-primary btn-sm mx-2" @onclick="()=>resetReparto()" title="Rimuovi Filtro Reparto"><i class="fa-solid fa-building"></i> &nbsp <i class="fa-solid fa-xmark text-warning"></i></button>
<button class="btn btn-outline-primary btn-sm mx-2" @onclick="()=>resetReparto()" title="Rimuovi Filtro Reparto"><i class="fa-solid fa-building"></i> &nbsp <i class="fa-solid fa-xmark text-warning"></i></button>
}
@if (macchina != "*")
{
<button class="btn btn-outline-primary btn-sm mx-2" @onclick="()=>resetMacchina()" title="Rimuovi Filtro Impianto"><i class="fa-solid fa-hard-drive"></i> &nbsp <i class="fa-solid fa-xmark text-warning"></i></button>
<button class="btn btn-outline-primary btn-sm mx-2" @onclick="()=>resetMacchina()" title="Rimuovi Filtro Impianto"><i class="fa-solid fa-hard-drive"></i> &nbsp <i class="fa-solid fa-xmark text-warning"></i></button>
}
@if (StatoSel != "*")
{
<button class="btn btn-outline-primary btn-sm mx-2" @onclick="()=>resetFase()" title="Rimuovi Filtro Parametro"><i class="fa-solid fa-sliders"></i> &nbsp <i class="fa-solid fa-xmark text-warning"></i></button>
<button class="btn btn-outline-primary btn-sm mx-2" @onclick="()=>resetFase()" title="Rimuovi Filtro Parametro"><i class="fa-solid fa-sliders"></i> &nbsp <i class="fa-solid fa-xmark text-warning"></i></button>
}
</div>
</div>
}
@if (hasOdl)
{
<span class="badge bg-secondary mx-2 text-nowrap" title="Filtro Data inizio attivo">@selDtStart &nbsp <i class="fa-solid fa-calendar-days"></i></span>
<span class="badge bg-secondary mx-2 text-nowrap" title="Filtro Data fine attivo">@selDtEnd &nbsp <i class="fa-solid fa-calendar-days"></i></span>
<span class="badge bg-secondary mx-2 text-nowrap" title="Filtro Data inizio attivo">@selDtStart &nbsp <i class="fa-solid fa-calendar-days"></i></span>
<span class="badge bg-secondary mx-2 text-nowrap" title="Filtro Data fine attivo">@selDtEnd &nbsp <i class="fa-solid fa-calendar-days"></i></span>
}
<div class="p-2 text-end">
<a class="pt-2 text-dark" data-bs-toggle="offcanvas" data-bs-target="#paramsFilterExample" aria-controls="paramsFilterExample">
@@ -53,230 +53,225 @@
</a>
</div>
</div>
<SelFilterXDL currFilter="@currFilter" ListMacchine="@ListMacchineFiltro" ListStati="@ListStati" ListGruppiFase="@ListGruppiFase" FilterChanged="updateFilter"></SelFilterXDL>
<SelFilterXDL currFilter="@currFilter" ListMacchine="@ListMacchine" ListStati="@ListStati" ListGruppiFase="@ListGruppiFase" FilterChanged="updateFilter"></SelFilterXDL>
</div>
</div>
@if (currRecord != null)
{
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light">@header</div>
<div class="card-body">
<div class="row">
<div class="col-6">
<div class="row">
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Search</span>
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@artSearch">
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light">@header</div>
<div class="card-body">
<div class="row">
<div class="col-6">
<div class="row">
<div class="col-3 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Search</span>
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@artSearch">
</div>
</div>
</div>
<div class="col-9 ps-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Articolo</span>
<select @bind="@currRecord.CodArticolo" class="form-select">
<div class="col-9 ps-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Articolo</span>
<select @bind="@currRecord.CodArticolo" class="form-select">
@if (ListArticoli != null)
{
foreach (var item in ListArticoli)
{
@if (item.CodArticolo == currRecordControlli.CodArticolo)
{
<option value="@item.CodArticolo" selected>@item.CodArticolo | @item.DescArticolo | @item.Disegno</option>
<option value="@item.CodArticolo" selected>@item.CodArticolo | @item.DescArticolo | @item.Disegno</option>
}
else
{
<option value="@item.CodArticolo">@item.CodArticolo | @item.DescArticolo | @item.Disegno</option>
<option value="@item.CodArticolo">@item.CodArticolo | @item.DescArticolo | @item.Disegno</option>
}
}
}
</select>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="col-3">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm"># pz</span>
<input type="text" class="form-control" aria-label="Num Pezzi" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.NumPezzi">
<span class="input-group-text" id="inputGroup-sizing-sm">T.Ciclo</span>
<input type="text" class="form-control" aria-label="Tempo Ciclo" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.Tcassegnato">
<div class="col-3">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm"># pz</span>
<input type="text" class="form-control" aria-label="Num Pezzi" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.NumPezzi">
<span class="input-group-text" id="inputGroup-sizing-sm">T.Ciclo</span>
<input type="text" class="form-control" aria-label="Tempo Ciclo" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.Tcassegnato">
</div>
</div>
</div>
<div class="col-3">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Fase</span>
<select @bind="@currRecord.KeyRichiesta" class="form-select">
<div class="col-3">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Fase</span>
<select @bind="@currRecord.KeyRichiesta" class="form-select">
@if (ListStati != null)
{
foreach (var item in ListStati)
{
@if (item.value == currRecordControlli.KeyRichiesta)
{
<option value="@item.value" selected>@item.label</option>
<option value="@item.value" selected>@item.label</option>
}
else
{
<option value="@item.value">@item.label</option>
<option value="@item.value">@item.label</option>
}
}
}
</select>
</select>
</div>
</div>
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<div class="input-group input-group-sm">
<div class="row mt-2">
<div class="col-3">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Gruppo</span>
<select @bind="@gruppoSearch" class="form-select">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Gruppo</span>
<select @bind="@currRecord.CodGruppo" class="form-select">
@if (ListGruppiFase != null)
{
foreach (var item in ListGruppiFase)
{
@if (item.CodGruppo == currRecordControlli.CodGruppo)
{
<option value="@item.CodGruppo" selected>@item.CodGruppo | @item.DescrGruppo</option>
<option value="@item.CodGruppo" selected>@item.CodGruppo | @item.DescrGruppo</option>
}
else
{
<option value="@item.CodGruppo">@item.CodGruppo | @item.DescrGruppo</option>
<option value="@item.CodGruppo">@item.CodGruppo | @item.DescrGruppo</option>
}
}
}
</select>
</div>
</div>
</div>
<div class="col-3">
<div class="input-group input-group-sm">
<div class="input-group input-group-sm">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Macchina</span>
<select @bind="@currRecord.IdxMacchina" class="form-select">
@if (ListMacchine != null)
{
if (ListMacchine.Count == 0)
{
<option selected>--Nessuna macchina presente--</option>
}
else
{
foreach (var item in ListMacchine)
{
@if (!item.MachineNav.Descrizione.Contains("NEW Descrizione"))
{
if (item.IdxMacchina == currRecordControlli.IdxMacchina)
{
<option selected value="@item.IdxMacchina">@item.IdxMacchina | @item.MachineNav.Descrizione</option>
}
else
{
<option value="@item.IdxMacchina">@item.IdxMacchina | @item.MachineNav.Descrizione</option>
}
}
}
}
}
</select>
</div>
</div>
</div>
</div>
<div class="col-6">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Note</span>
<input type="text" class="form-control" aria-label="Note" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.Note">
</div>
</div>
</div>
<div class="row mt-2">
<div class="col-3">
<div class="input-group input-group-sm d-flex justify-content-between">
<div class="input-group-text" id="inputGroup-sizing-sm">
<div class="pe-3" title="Attivabile">
Attivabile
</div>
<div class="form-check form-check-sm form-switch py-1" title="Attivabile">
<input class="form-check-input" type="checkbox" name="setupAlarms" title="Attivabile" @bind="@currRecord.Attivabile">
<div class="col-3">
<div class="input-group input-group-sm">
<div class="input-group input-group-sm">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Macchina</span>
<select @bind="@currRecord.IdxMacchina" class="form-select">
@if (ListMacchine != null)
{
foreach (var item in ListMacchine)
{
@if (!item.Descrizione.Contains("NEW Descrizione"))
{
if (item.IdxMacchina == currRecordControlli.IdxMacchina)
{
<option selected value="@item.IdxMacchina">@item.IdxMacchina | @item.Descrizione</option>
}
else
{
<option value="@item.IdxMacchina">@item.IdxMacchina | @item.Descrizione</option>
}
}
}
}
</select>
</div>
</div>
</div>
</div>
</div>
<div class="col-3">
</div>
<div class="col-3">
<div class="d-grid gap-2">
<button class="btn btn-warning" @onclick="() => cancel()">Annulla <i class="bi bi-x-circle"></i></button>
<div class="col-6">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Note</span>
<input type="text" class="form-control" aria-label="Note" aria-describedby="inputGroup-sizing-sm" @bind-value="@currRecord.Note">
</div>
</div>
</div>
<div class="col-3">
<div class="d-grid gap-2">
<button class="btn btn-success" @onclick="() => update(currRecord)">Salva <i class="bi bi-save"></i></button>
<div class="row mt-2">
<div class="col-3">
<div class="input-group input-group-sm d-flex justify-content-between">
<div class="input-group-text" id="inputGroup-sizing-sm">
<div class="pe-3" title="Attivabile">
Attivabile
</div>
<div class="form-check form-check-sm form-switch py-1" title="Attivabile">
<input class="form-check-input" type="checkbox" name="setupAlarms" title="Attivabile" @bind="@currRecord.Attivabile">
</div>
</div>
</div>
</div>
<div class="col-3">
</div>
<div class="col-3">
<div class="d-grid gap-2">
<button class="btn btn-warning" @onclick="() => cancel()">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3">
<div class="d-grid gap-2">
@if (currRecord.CodArticolo != "" && currRecord.CodFase != "" && currRecord.CodGruppo != "" && currRecord.IdxMacchina != "")
{
<button class="btn btn-success" @onclick="() => update(currRecord)">Salva <i class="bi bi-save"></i></button>
}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
else if (addEnabled)
{
<div class="row">
<div class="col-4">
<div class="row">
<div class="col-4">
@*<button class="btn btn-success" @onclick="() => reqNewPODL()">@btnNewText <i class="bi bi-plus-square"></i></button>*@
</div>
</div>
@if (reqNew)
{
<div class="col-4">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Azienda</span>
<select @bind="@currAzienda" class="form-select">
<div class="col-4">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Azienda</span>
<select @bind="@currAzienda" class="form-select">
@if (ListAziende != null)
{
foreach (var item in ListAziende.Where(x => x.CodGruppo != "*").ToList())
{
<option value="@item.CodGruppo">@item.DescrGruppo</option>
<option value="@item.CodGruppo">@item.DescrGruppo</option>
}
}
</select>
</div>
</div>
<div class="col-4">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Search</span>
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@artSearch">
<span class="input-group-text" id="inputGroup-sizing-sm">Articolo</span>
<select @bind="@currArticolo" class="form-select">
</select>
</div>
</div>
<div class="col-4">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Search</span>
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind-value="@artSearch">
<span class="input-group-text" id="inputGroup-sizing-sm">Articolo</span>
<select @bind="@currArticolo" class="form-select">
@if (ListArticoli != null)
{
foreach (var item in ListArticoli.Where(x => x.Azienda == currAzienda).ToList())
{
<option value="@item.CodArticolo">@item.CodArticolo | @item.DescArticolo | @item.Disegno</option>
<option value="@item.CodArticolo">@item.CodArticolo | @item.DescArticolo | @item.Disegno</option>
}
}
</select>
</div>
</div>
</select>
</div>
</div>
}
</div>
</div>
}
</div>
<div class="card-body">
@if (isLoading)
{
<LoadingData></LoadingData>
<LoadingData></LoadingData>
}
else
{
<ListPODL PagerResetReq="pgResetReq" RecordSel="@selRecord" updateRecordCount="UpdateTotCount" actFilter="@currFilter" padCodXdl="@padCodXdl"></ListPODL>
<ListPODL PagerResetReq="pgResetReq" RecordSel="@selRecord" updateRecordCount="UpdateTotCount" actFilter="@currFilter" padCodXdl="@padCodXdl"></ListPODL>
}
</div>
<div class="card-footer py-1">
+7 -37
View File
@@ -98,7 +98,8 @@ namespace MP.SPEC.Pages
await localStorage.SetItemAsync(keyStor, selReparto);
}
}
protected override async Task OnParametersSetAsync()
protected override async Task OnInitializedAsync()
{
await getReparto();
ListAziende = await MDService.ElencoAziende();
@@ -160,7 +161,7 @@ namespace MP.SPEC.Pages
string codMacc = "";
if (ListMacchine != null && ListMacchine.Count > 0)
{
var firstMacc = ListMacchine.FirstOrDefault(x => x.MachineNav.Nome.Contains(currAzienda));
var firstMacc = ListMacchine.FirstOrDefault(x => x.Nome.Contains(currAzienda));
if (firstMacc != null)
{
codMacc = firstMacc.IdxMacchina;
@@ -197,8 +198,6 @@ namespace MP.SPEC.Pages
return;
await Task.Delay(1);
var clonedRec = MP.Data.Utils.POdlExt.convertToPOdl(selRec);
clonedRec.CodGruppo = gruppoSearch;
clonedRec.IdxOdl = 0;
var done = await MDService.POdlUpdateRecord(clonedRec);
await callSyncDb(clonedRec);
currRecord = null;
@@ -228,8 +227,7 @@ namespace MP.SPEC.Pages
private List<AnagGruppi>? ListGruppiFase;
private List<Gruppi2MaccModel>? ListMacchine;
private List<Gruppi2MaccModel>? ListMacchineFiltro;
private List<Macchine>? ListMacchine;
private List<ListValues>? ListStati;
@@ -240,23 +238,7 @@ namespace MP.SPEC.Pages
#region Private Properties
private string _artSearch { get; set; } = "";
private string _gruppoSearch { get; set; } = "";
private string gruppoSearch
{
get => _gruppoSearch;
set
{
if (!_gruppoSearch.Equals(value))
{
_gruppoSearch = value;
var pUpd = Task.Run(async () =>
{
await reloadData();
});
pUpd.Wait();
}
}
}
private string _currAzienda { get; set; } = "*";
private bool addEnabled
@@ -355,13 +337,8 @@ namespace MP.SPEC.Pages
get => _currRecord;
set
{
if (value != null)
{
_currRecord = value;
artSearch = value == null ? "" : value.CodArticolo;
}
_currRecord = value;
artSearch = value == null ? "" : value.CodArticolo;
}
}
@@ -440,14 +417,8 @@ namespace MP.SPEC.Pages
}
}
private async Task reloadDataFiltro()
{
ListMacchineFiltro = await MDService.MacchineGetAll(selReparto);
}
private async Task reloadData()
{
await getReparto();
isLoading = true;
await Task.Delay(1);
@@ -470,7 +441,6 @@ namespace MP.SPEC.Pages
await reloadData();
await Task.Delay(1);
await InvokeAsync(() => StateHasChanged());
await reloadDataFiltro();
currFilter = newParams;
isLoading = false;
}