Files
FA_WEB/OrdersManagement/Components/Pages/EdiCustomerOrder.razor

242 lines
12 KiB
Plaintext

@page "/EdiCustomerOrder/{CustomerOrderId:guid}"
@inject EdiCustomerOrderService EdiCustomerOrderService
@using SytelineSaAppEfDataModel.Dtos
@using BlazorBootstrap
@inherits LayoutComponentBase
<div class="row">
<h3>Zamówienie Klienta EDI</h3>
</div>
<div class="row">
<div class="col">
<SortableList TItem="EdiCustomerOrderDto" Data="_ediCustomerOrder">
<ItemTemplate>
<u>Numer zamówienia EDI:</u>&emsp;<b>@context.CustomerOrderNumber</b><br />
<u>Numer zamówienia Klienta:</u>&emsp;<b>@context.CustomerPoNumber</b><br />
<u>Numer klienta:</u>&emsp;<b>@context.CustomerNumber</b><br />
<u>Klient:</u>&emsp;<b>@context.CustomerName</b><br />
<u>Numer odbiorcy:</u>&emsp;<b>@(context.CustomerSequence?.ToString() ?? "N/A")</b><br />
<u>Data otrzymania:</u>&emsp;<b>@(context.RecivedDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br />
<u>Wysłano do Syteline?:</u>&emsp;<b>@((context.Posted?.ToString() ?? "0") == "0" ? "NIE" : "TAK")</b><br />
<u>Data wysyłki do Syteline:</u>&emsp;<b>@(context.PostedDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br />
<u>Data zamówienia:</u>&emsp;<b>@(context.OrderDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br />
</ItemTemplate>
</SortableList>
</div>
<div class="col">
<SortableList TItem="EdiCustomerOrderDto" Data="_ediCustomerOrder" Class="bg-light">
<ItemTemplate>
<u>Cena:</u>&emsp;<b>@(context.Price?.ToString("F2") ?? "N/A")</b><br />
<u>Waga:</u>&emsp;<b>@(context.Weight?.ToString("F2") ?? "N/A")</b><br />
<u>Magazyn:</u>&emsp;<b>@context.Warehouse</b><br />
<u>Gate:</u>&emsp;<b>@context.Gate</b><br />
<u>Kod odbiorcy:</u>&emsp;<b>@context.RecipientCode</b><br />
<u>Kod wysyłającego:</u>&emsp;<b>@context.SenderCode</b><br />
<u>Kod sprzedawcy:</u>&emsp;<b>@context.SellerCode</b><br />
<u>Kod kupującego:</u>&emsp;<b>@context.BuyerCode</b><br />
<u>Typ dokumentu:</u>&emsp;<b>@context.DocType</b><br />
</ItemTemplate>
</SortableList>
</div>
</div>
<br/>
<div class="row">
<h3>Indeksy</h3>
</div>
<div class="row">
<Grid @ref="_ediCustomerOrderLinesGrid"
TItem="EdiCustomerOrderLineDto"
Class="table table-hover table-bordered table-striped"
Data="_ediCustomerOrderLines"
AllowFiltering="true"
Responsive="true"
AllowPaging="true"
PageSize="10"
AllowSelection="true"
AllowRowClick="true"
SelectionMode="GridSelectionMode.Single"
SelectedItemsChanged="SelectedEdiCustomerOrderLineChanged">
<GridColumns>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Linia" PropertyName="CustomerOrderLine">
@context.CustomerOrderLine
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Pozycja" PropertyName="Item">
@context.Item
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Pozycja Klienta" PropertyName="CustomerItemNumber">
@context.CustomerItemNumber
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Opis" PropertyName="Description">
@context.Description
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Ilość" TextAlignment="Alignment.End" PropertyName="BlanketQty">
@context.BlanketQty
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="J/M" PropertyName="Uom">
@context.Uom
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Cena" PropertyName="ContPrice">
@context.ContPrice
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Status" PropertyName="TranslatedStatus">
@context.TranslatedStatus
</GridColumn>
</GridColumns>
</Grid>
</div>
@if (_isVisibleEdiCustomerOrderLine)
{
<div class="row">
<h3>Szczegóły</h3>
</div>
<div class="row">
<div class="col">
<SortableList TItem="EdiCustomerOrderLineDto" Data="_selectedEdiCustomerOrderLine">
<ItemTemplate>
<u>Numer zamówienia EDI:</u>&emsp;<b>@context.CustomerOrderNumber</b><br />
<u>Linia:</u>&emsp;<b>@context.CustomerOrderLine</b><br />
<u>Pozycja:</u>&emsp;<b>@context.Item</b><br />
<u>Pozycja Klienta:</u>&emsp;<b>@context.CustomerItemNumber</b><br />
<u>Opis:</u>&emsp;<b>@context.Description</b><br />
<u>Łączna Ilość:</u>&emsp;<b>@(context.BlanketQty?.ToString("F2") ?? "N/A")</b><br />
<u>Status:</u>&emsp;<b>@context.TranslatedStatus</b><br />
</ItemTemplate>
</SortableList>
</div>
<div class="col">
<SortableList TItem="EdiCustomerOrderLineDto" Data="_selectedEdiCustomerOrderLine">
<ItemTemplate>
<u>Cena:</u>&emsp;<b>@(context.ContPrice?.ToString("F2") ?? "N/A")</b><br />
<u>Ważne Od:</u>&emsp;<b>@(context.EffectiveDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br />
<u>J/M:</u>&emsp;<b>@context.Uom</b><br />
<u>BoxType:</u>&emsp;<b>@context.BoxType</b><br/>
<u>Address:</u>&emsp;<b>@context.Address</b><br/>
<u>FinalDestination:</u>&emsp;<b>@context.FinalDestination</b><br/>
<u>QtyPerBox:</u>&emsp;<b>@(context.QtyPerBox?.ToString() ?? "N/A")</b>
</ItemTemplate>
</SortableList>
</div>
</div>
<br />
<h3>Harmonogramy</h3>
<div class="row">
<Grid @ref="_ediCustomerOrderLineItemsGrid"
TItem="EdiCustomerOrderLineItemDto"
Class="table table-hover table-bordered table-striped"
Data="_ediCustomerOrderLineItems"
AllowFiltering="true"
Responsive="true"
AllowPaging="true"
PageSize="10"
AllowSelection="true"
AllowRowClick="true"
SelectionMode="GridSelectionMode.Single"
SelectedItemsChanged="SelectedEdiCustomerOrderLineItemChanged">
<GridColumns>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Linia" PropertyName="CustomerOrderLine">
@context.CustomerOrderLine
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Zwolnienie" PropertyName="CustomerOrderRelease">
@context.CustomerOrderRelease
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Pozycja" PropertyName="Item">
@context.Item
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Pozycja" PropertyName="CustomerItem">
@context.CustomerItem
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Łączna Ilość" TextAlignment="Alignment.End" PropertyName="QtyOrdered">
@context.QtyOrdered
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Data Wykonania" PropertyName="DueDate">
@context.DueDate?.ToString("dd.MM.yyyy")
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Status" PropertyName="TranslatedStatus">
@context.TranslatedStatus
</GridColumn>
</GridColumns>
</Grid>
</div>
}@if (_isVisibleEdiCustomerOrderLineItem)
{
<div class="row">
<h3>Szczegóły</h3>
</div>
<div class="row">
<div class="col">
<SortableList TItem="EdiCustomerOrderLineItemDto" Data="_selectedEdiCustomerOrderLineItem">
<ItemTemplate>
<u>Numer Zamówienia:</u>&emsp;<b>@context.CustomerOrderNumber</b><br />
<u>Linia:</u>&emsp;<b>@context.CustomerOrderLine</b><br />
<u>Zwolnienie:</u>&emsp;<b>@context.CustomerOrderRelease</b><br />
<u>Pozycja:</u>&emsp;<b>@context.Item</b><br />
<u>Pozycja Klienta:</u>&emsp;<b>@context.CustomerItem</b><br />
<u>Łączna Ilość Sztuk:</u>&emsp;<b>@(context.QtyOrdered?.ToString("F2") ?? "N/A")</b><br />
<u>Cena:</u>&emsp;<b>@(context.Price?.ToString("F2") ?? "N/A")</b><br />
<u>Data Wykonania:</u>&emsp;<b>@(context.DueDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br />
<u>Data Rejestracji:</u>&emsp;<b>@(context.ReleaseDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br />
<u>Magazyn:</u>&emsp;<b>@context.Warehouse</b><br />
<u>Typ Documentu:</u>&emsp;<b>@context.DocumentType</b><br />
</ItemTemplate>
</SortableList>
</div>
<div class="col">
<SortableList TItem="EdiCustomerOrderLineItemDto" Data="_selectedEdiCustomerOrderLineItem">
<ItemTemplate>
<u>Kod VAT:</u>&emsp;<b>@context.TaxCodeOne</b><br />
<u>J/M:</u>&emsp;<b>@context.Uom</b><br />
<u>Numer Klienta:</u>&emsp;<b>@context.CustomerOrderCustomerNumber</b><br />
<u>Opis:</u>&emsp;<b>@context.Description</b><br />
<u>Status:</u>&emsp;<b>@context.TranslatedStatus</b><br />
<u>RoutingCode:</u>&emsp;<b>@context.RoutingCode</b><br />
<u>DeliveryCallNumber:</u>&emsp;<b>@context.DeliveryCallNumber</b><br />
<u>UnloadingPoint:</u>&emsp;<b>@context.UnloadingPoint</b><br />
<u>DestinationPoint:</u>&emsp;<b>@context.DestinationPoint</b><br />
<u>PalletCode:</u>&emsp;<b>@context.PalletCode</b><br />
<u>PalletNumber:</u>&emsp;<b>@context.PalletNumber</b>
</ItemTemplate>
</SortableList>
</div>
</div>
}
@code {
[Parameter]
public Guid CustomerOrderId { get; set; }
List<EdiCustomerOrderDto?>? _ediCustomerOrder;
List<EdiCustomerOrderLineDto> _ediCustomerOrderLines = [];
List<EdiCustomerOrderLineItemDto> _ediCustomerOrderLineItems = [];
List<EdiCustomerOrderLineDto?> _selectedEdiCustomerOrderLine = [];
List<EdiCustomerOrderLineItemDto?> _selectedEdiCustomerOrderLineItem = [];
Grid<EdiCustomerOrderLineDto>? _ediCustomerOrderLinesGrid;
Grid<EdiCustomerOrderLineItemDto>? _ediCustomerOrderLineItemsGrid;
private bool _isVisibleEdiCustomerOrderLine;
private bool _isVisibleEdiCustomerOrderLineItem;
protected override async Task OnInitializedAsync()
{
EdiCustomerOrderDto? ediCustomerOrder = await EdiCustomerOrderService.GetEdiCustomerOrderAsync(CustomerOrderId);
_ediCustomerOrder = [ediCustomerOrder];
_ediCustomerOrderLines = ediCustomerOrder?.EdiCustomerOrderLines.ToList() ?? [];
}
private void SelectedEdiCustomerOrderLineChanged(HashSet<EdiCustomerOrderLineDto> obj)
{
_isVisibleEdiCustomerOrderLine = obj.Any();
_selectedEdiCustomerOrderLine = [obj.FirstOrDefault()];
_ediCustomerOrderLineItems = obj.FirstOrDefault()?.EdiCustomerOrderLineItems.ToList() ?? [];
}
private void SelectedEdiCustomerOrderLineItemChanged(HashSet<EdiCustomerOrderLineItemDto> obj)
{
_isVisibleEdiCustomerOrderLineItem = obj.Any();
_selectedEdiCustomerOrderLineItem = [obj.FirstOrDefault()];
}
}