Dettaglio lotti scansionati:

- aggiunta (preliminare) visualizzazione
This commit is contained in:
Samuele Locatelli
2022-12-19 10:14:27 +01:00
parent 99afef8060
commit 243c451bef
14 changed files with 219 additions and 82 deletions
+1 -4
View File
@@ -70,10 +70,7 @@
<table class="table table-striped">
<thead>
<tr>
@if (inCorso)
{
<th scope="col">QR</th>
}
<th>Apri</th>
<th scope="col">ID sessione</th>
<th scope="col">Magazzino</th>
<th scope="col">Operatore</th>
+35 -24
View File
@@ -1,19 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using System.Net.Http;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Components.Routing;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Web.Virtualization;
using Microsoft.JSInterop;
using MP.INVE;
using MP.INVE.Shared;
using MP.INVE.Components;
using MP.Data.DatabaseModels;
using MP.INVE.Data;
@@ -21,26 +7,51 @@ namespace MP.INVE.Components
{
public partial class ListScan
{
[Inject]
MiDataService MIService { get; set; } = null!;
[Inject]
IJSRuntime JSRuntime { get; set; } = null!;
#region Public Properties
[Parameter]
public string lastScan { get; set; } = "";
[Parameter]
public string userScan { get; set; } = null!;
[Parameter]
public int sessID { get; set; } = 0;
[Parameter]
public string magID { get; set; } = "";
[Parameter]
public int sessID { get; set; } = 0;
[Parameter]
public string userScan { get; set; } = null!;
#endregion Public Properties
#region Protected Properties
protected string rawScan { get; set; } = null!;
List<ScanDataModel>? elencoSCAN;
#endregion Protected Properties
#region Protected Methods
protected override async Task OnParametersSetAsync()
{
await Task.Delay(1);
}
#endregion Protected Methods
#region Private Fields
private List<ScanDataModel>? elencoSCAN;
#endregion Private Fields
#region Private Properties
[Inject]
private IJSRuntime JSRuntime { get; set; } = null!;
[Inject]
private MiDataService MIService { get; set; } = null!;
#endregion Private Properties
}
}
+53 -34
View File
@@ -1,36 +1,55 @@
<table class="table table-striped">
<thead>
<tr>
<th scope="col">Lotto</th>
<th scope="col">Cod.Art.</th>
<th scope="col">Descrizione Articolo</th>
<th scope="col" class="text-end"># Colli</th>
<th scope="col" class="text-end">Qty Tot</th>
</tr>
</thead>
<tbody>
@if (elencoTotLotto != null)
{
@foreach (var item in elencoTotLotto)
{
<div class="row">
<div class="@mainCss">
<table class="table table-striped">
<thead>
<tr>
<td>
@item.Lotto
</td>
<td>
@item.CodArticolo
</td>
<td class="small textCondensed">
@item.DescrArt
</td>
<td class="text-end">
@item.NumColli
</td>
<td class="text-end">
@($"{item.TotLotto:N2}")
</td>
<th>
@if (currRecord != null)
{
<button @onclick="() => resetSel()" class="btn btn-primary btn-sm"><i class="bi bi-arrow-counterclockwise"></i></button>
}
</th>
<th scope="col">Lotto</th>
<th scope="col">Cod.Art.</th>
<th scope="col">Descrizione Articolo</th>
<th scope="col" class="text-end"># Colli</th>
<th scope="col" class="text-end">Qty Tot</th>
</tr>
}
}
</tbody>
</table>
</thead>
<tbody>
@if (elencoTotLotto != null)
{
@foreach (var item in elencoTotLotto)
{
<tr class="@checkSelect(item)">
<td>
<button class="btn btn-primary btn-sm" @onclick="() => selRecord(item)"><i class="fa-solid fa-magnifying-glass"></i></button>
</td>
<td>
@item.Lotto
</td>
<td>
@item.CodArticolo
</td>
<td class="small textCondensed">
@item.DescrArt
</td>
<td class="text-end">
@item.NumColli
</td>
<td class="text-end">
@($"{item.TotLotto:N2}")
</td>
</tr>
}
}
</tbody>
</table>
</div>
@if (currRecord != null)
{
<div class="col-3">
<LotScanDetail LottoSel="@currRecord.Lotto"></LotScanDetail>
</div>
}
</div>
+34
View File
@@ -105,6 +105,40 @@ namespace MP.INVE.Components
}
}
protected async Task selRecord(InveSessTotLotModel selRecord)
{
currRecord = selRecord;
await Task.Delay(1);
}
protected async Task resetSel()
{
currRecord = null;
await Task.Delay(1);
}
public string checkSelect(InveSessTotLotModel thisRecord)
{
string answ = "";
if (currRecord != null)
{
try
{
answ = (currRecord.Lotto == thisRecord.Lotto && currRecord.CodArticolo==thisRecord.CodArticolo) ? "table-info" : "";
}
catch
{ }
}
return answ;
}
public string mainCss
{
get => currRecord != null ? "col-9" : "col-12";
}
protected InveSessTotLotModel? currRecord { get; set; } = null;
#endregion Private Properties
#region Private Methods
+48
View File
@@ -0,0 +1,48 @@
<h3>@LottoSel</h3>
<table class="table table-striped">
<thead>
<tr>
<th>
@*@if (currRecord != null)
{
<button @onclick="() => resetSel()" class="btn btn-primary btn-sm"><i class="bi bi-arrow-counterclockwise"></i></button>
}*@
</th>
<th scope="col">Lotto</th>
<th scope="col">Cod.Art.</th>
<th scope="col">Descrizione Articolo</th>
<th scope="col" class="text-end"># Colli</th>
<th scope="col" class="text-end">Qty Tot</th>
</tr>
</thead>
<tbody>
@*@if (elencoTotLotto != null)
{
@foreach (var item in elencoTotLotto)
{
<tr class="@checkSelect(item)">
<td>
<button class="btn btn-primary btn-sm" @onclick="() => selRecord(item)"><i class="fa-solid fa-magnifying-glass"></i></button>
</td>
<td>
@item.Lotto
</td>
<td>
@item.CodArticolo
</td>
<td class="small textCondensed">
@item.DescrArt
</td>
<td class="text-end">
@item.NumColli
</td>
<td class="text-end">
@($"{item.TotLotto:N2}")
</td>
</tr>
}
}*@
</tbody>
</table>
+26
View File
@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using System.Net.Http;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Components.Routing;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Web.Virtualization;
using Microsoft.JSInterop;
using MP.INVE;
using MP.INVE.Shared;
using MP.INVE.Components;
namespace MP.INVE.Components
{
public partial class LotScanDetail
{
[Parameter]
public string LottoSel { get; set; } = "";
}
}
+1 -1
View File
@@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>MP.INVE</RootNamespace>
<Version>6.16.2212.1709</Version>
<Version>6.16.2212.1910</Version>
</PropertyGroup>
<ItemGroup>
+1 -14
View File
@@ -1,19 +1,11 @@
using Blazored.LocalStorage;
using Microsoft.AspNetCore.Components;
using MP.Data.DatabaseModels;
using MP.Data.DTO;
using MP.INVE.Data;
namespace MP.INVE.Pages
{
public partial class Index
{
#region Public Properties
//public List<LinkMenu>? ElencoLink { get; set; }
#endregion Public Properties
#region Protected Methods
protected override async Task OnInitializedAsync()
@@ -34,14 +26,9 @@ namespace MP.INVE.Pages
//await getId();
await Task.Delay(1);
}
#endregion Protected Methods
#region Private Fields
private string currAzienda = "";
#endregion Private Fields
#region Private Properties
private List<ConfigModel>? configData { get; set; } = null;
+1 -1
View File
@@ -32,7 +32,7 @@
}
else
{
<InveSessionList currParams="@currParams" isLoading="@isLoading" ></InveSessionList>
<InveSessionList currParams="@currParams" isLoading="@isLoading" ></InveSessionList>
}
</div>
+1 -1
View File
@@ -16,7 +16,7 @@ else
<b class="fs-3">Invio</b>
</div>
<div class="px-2">
<a class="btn btn-danger" href="InveSession">TORNA A SESSIONI</a>
<button class="btn btn-danger" @onclick="() => returnToSessions()">TORNA A SESSIONI</button>
</div>
<div class="px-2">
<div class="input-group">
+15
View File
@@ -56,6 +56,7 @@ namespace MP.INVE.Pages
protected async void apriSessione(int sessID)
{
var open = await MIService.CloseOpenSessione(sessID, false);
await resetCacheSessInv();
if (open)
{
NavManager.NavigateTo(NavManager.Uri, true);
@@ -65,6 +66,7 @@ namespace MP.INVE.Pages
protected async void chiudiSessione(int sessID)
{
var closed = await MIService.CloseOpenSessione(sessID, true);
await resetCacheSessInv();
if (closed)
{
NavManager.NavigateTo(NavManager.Uri, true);
@@ -129,6 +131,7 @@ namespace MP.INVE.Pages
protected async void trasfSessione(int sessID)
{
var trasf = await MIService.TransferSessione(sessID);
await resetCacheSessInv();
if (trasf)
{
NavManager.NavigateTo(NavManager.Uri, true);
@@ -212,6 +215,18 @@ namespace MP.INVE.Pages
}
}
protected async Task returnToSessions()
{
await resetCacheSessInv();
// ritorno pagina...
NavManager.NavigateTo("InveSession", true);
}
private async Task resetCacheSessInv()
{
await MIService.FlushSessInvCache();
}
#endregion Private Properties
#region Private Methods
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>Modulo MAPOINVE </i>
<h4>Versione: 6.16.2212.1709</h4>
<h4>Versione: 6.16.2212.1910</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
6.16.2212.1709
6.16.2212.1910
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>6.16.2212.1709</version>
<version>6.16.2212.1910</version>
<url>https://nexus.steamware.net/repository/SWS/MP-INVE/stable/LAST/MP.INVE.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/MP-INVE/stable/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>