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

270 lines
15 KiB
Plaintext

@page "/EdiCustomerOrder/{CustomerOrderId}"
@inject EdiCustomerOrderService EdiCustomerOrderService
@using SytelineSaAppEfDataModel.Dtos
@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 HH:mm:ss") ?? "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("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
<u>Data zamówienia:</u>&emsp;<b>@(context.OrderDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "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/>
@* <SortableList TItem="EdiCustomerOrderTranslateDto" Data="_ediCustomerOrderTranslate"> *@
@* <ItemTemplate> *@
@* <u>Id:</u>&emsp;<b>@context.Id</b><br /> *@
@* <u>CoEdiOrder:</u>&emsp;<b>@context.CoEdiOrder</b><br /> *@
@* <u>CoRowPointer:</u>&emsp;<b>@context.CoRowPointer</b><br /> *@
@* <u>CoCoNum:</u>&emsp;<b>@context.CoCoNum</b><br /> *@
@* <u>CoType:</u>&emsp;<b>@context.CoType</b><br /> *@
@* <u>CoTakenBy:</u>&emsp;<b>@context.CoTakenBy</b><br /> *@
@* <u>EdiCoCoNum:</u>&emsp;<b>@context.EdiCoCoNum</b><br /> *@
@* <u>OrdersCount:</u>&emsp;<b>@context.OrdersCount</b><br /> *@
@* <u>OrderFound:</u>&emsp;<b>@context.OrderFound</b><br /> *@
@* <u>CreatedDate:</u>&emsp;<b>@context.CreatedDate.ToString("yyyy-MM-dd HH:mm:ss")</b><br /> *@
@* <u>FoundNumbers:</u>&emsp;<b>@context.FoundNumbers</b><br /> *@
@* <u>ScheduleOrderId:</u>&emsp;<b>@context.ScheduleOrderId</b><br /> *@
@* </ItemTemplate> *@
@* </SortableList> *@
@* <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="20"
AllowSelection="true"
AllowRowClick="true"
SelectionMode="GridSelectionMode.Single"
SelectedItemsChanged="SelectedEdiCustomerOrderLineChanged">
<GridColumns>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="CoLine" PropertyName="CoLine">
@context.CustomerOrderLine
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="SalesChannelProductCode" PropertyName="SalesChannelProductCode">
@context.Item
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="ShipperProductCode" PropertyName="ShipperProductCode">
@context.CustomerItemNumber
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Qty" TextAlignment="Alignment.End" PropertyName="Qty">
@context.BlanketQty
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="Address" PropertyName="Address">
@context.Address
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="BoxType" PropertyName="BoxType">
@context.BoxType
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="FinalDestination" PropertyName="FinalDestination">
@context.FinalDestination
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineDto" HeaderText="QtyPerBox" PropertyName="QtyPerBox">
@context.QtyPerBox
</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>CustomerOrderNumber:</u>&emsp;<b>@context.CustomerOrderNumber</b><br />
<u>CustomerOrderLine:</u>&emsp;<b>@context.CustomerOrderLine</b><br />
<u>Item:</u>&emsp;<b>@context.Item</b><br />
<u>CustomerItemNumber:</u>&emsp;<b>@context.CustomerItemNumber</b><br />
<u>BlanketQty:</u>&emsp;<b>@(context.BlanketQty?.ToString("F2") ?? "N/A")</b><br />
<u>EffectiveDate:</u>&emsp;<b>@(context.EffectiveDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
<u>ExpirationDate:</u>&emsp;<b>@(context.ExpirationDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
<u>ContPrice:</u>&emsp;<b>@(context.ContPrice?.ToString("F2") ?? "N/A")</b><br />
<u>Status:</u>&emsp;<b>@context.Status</b><br />
<u>Uom:</u>&emsp;<b>@context.Uom</b><br />
</ItemTemplate>
</SortableList>
</div>
<div class="col">
<SortableList TItem="EdiCustomerOrderLineDto" Data="_selectedEdiCustomerOrderLine">
<ItemTemplate>
<u>BlanketQtyReleased:</u>&emsp;<b>@(context.BlanketQtyReleased?.ToString("F2") ?? "N/A")</b><br />
<u>ContPriceReleased:</u>&emsp;<b>@(context.ContPriceReleased?.ToString("F2") ?? "N/A")</b><br />
<u>QtySent:</u>&emsp;<b>@(context.QtySent?.ToString("F2") ?? "N/A")</b><br />
<u>RecordDate:</u>&emsp;<b>@context.RecordDate.ToString("yyyy-MM-dd HH:mm:ss")</b><br />
<u>Description:</u>&emsp;<b>@context.Description</b><br />
<u>CreateDate:</u>&emsp;<b>@context.CreateDate.ToString("yyyy-MM-dd HH:mm:ss")</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="20"
AllowSelection="true"
AllowRowClick="true"
SelectionMode="GridSelectionMode.Single"
SelectedItemsChanged="SelectedEdiCustomerOrderLineItemChanged">
<GridColumns>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Id" PropertyName="Id">
@context.CustomerOrderRelease
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Quantity Ordered" TextAlignment="Alignment.End" PropertyName="Quantity Ordered">
@context.QtyOrdered
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="Due Date" PropertyName="Due Date">
@context.DueDate?.ToString("yyyy-MM-dd")
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="RoutingCode" PropertyName="RoutingCode">
@context.RoutingCode
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="PalletCode" PropertyName="PalletCode">
@context.PalletCode
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="UnloadingPoint" PropertyName="UnloadingPoint">
@context.UnloadingPoint
</GridColumn>
<GridColumn TItem="EdiCustomerOrderLineItemDto" HeaderText="DestinationPoint" PropertyName="DestinationPoint">
@context.DestinationPoint
</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>ReceivedDate:</u>&emsp;<b>@(context.ReceivedDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
<u>CustomerOrderNumber:</u>&emsp;<b>@context.CustomerOrderNumber</b><br />
<u>CustomerOrderLine:</u>&emsp;<b>@context.CustomerOrderLine</b><br />
<u>CustomerOrderRelease:</u>&emsp;<b>@context.CustomerOrderRelease</b><br />
<u>Item:</u>&emsp;<b>@context.Item</b><br />
<u>CustomerItem:</u>&emsp;<b>@context.CustomerItem</b><br />
<u>QtyOrdered:</u>&emsp;<b>@(context.QtyOrdered?.ToString("F2") ?? "N/A")</b><br />
<u>QtyReady:</u>&emsp;<b>@(context.QtyReady?.ToString("F2") ?? "N/A")</b><br />
<u>Cost:</u>&emsp;<b>@(context.Cost?.ToString("F2") ?? "N/A")</b><br />
<u>Price:</u>&emsp;<b>@(context.Price?.ToString("F2") ?? "N/A")</b><br />
<u>DueDate:</u>&emsp;<b>@(context.DueDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
<u>ReleaseDate:</u>&emsp;<b>@(context.ReleaseDate?.ToString("yyyy-MM-dd HH:mm:ss") ?? "N/A")</b><br />
<u>Warehouse:</u>&emsp;<b>@context.Warehouse</b><br />
</ItemTemplate>
</SortableList>
</div>
<div class="col">
<SortableList TItem="EdiCustomerOrderLineItemDto" Data="_selectedEdiCustomerOrderLineItem">
<ItemTemplate>
<u>TaxCodeOne:</u>&emsp;<b>@context.TaxCodeOne</b><br />
<u>Uom:</u>&emsp;<b>@context.Uom</b><br />
<u>QtyOrderedReleased:</u>&emsp;<b>@(context.QtyOrderedReleased?.ToString("F2") ?? "N/A")</b><br />
<u>PriceReleased:</u>&emsp;<b>@(context.PriceReleased?.ToString("F2") ?? "N/A")</b><br />
<u>CustomerOrderCustomerNumber:</u>&emsp;<b>@context.CustomerOrderCustomerNumber</b><br />
<u>Description:</u>&emsp;<b>@context.Description</b><br />
<u>CreateDate:</u>&emsp;<b>@context.CreateDate.ToString("yyyy-MM-dd HH:mm:ss")</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 string CustomerOrderId { get; set; } = string.Empty;
List<EdiCustomerOrderDto?>? _ediCustomerOrder;
List<EdiCustomerOrderTranslateDto?> _ediCustomerOrderTranslate = new();
List<EdiCustomerOrderLineDto> _ediCustomerOrderLines = new();
List<EdiCustomerOrderLineItemDto> _ediCustomerOrderLineItems = new();
List<EdiCustomerOrderLineDto?> _selectedEdiCustomerOrderLine = new();
List<EdiCustomerOrderLineItemDto?> _selectedEdiCustomerOrderLineItem = new();
Grid<EdiCustomerOrderLineDto>? _ediCustomerOrderLinesGrid;
Grid<EdiCustomerOrderLineItemDto>? _ediCustomerOrderLineItemsGrid;
private bool _isVisibleEdiCustomerOrderLine;
private bool _isVisibleEdiCustomerOrderLineItem;
protected override async Task OnInitializedAsync()
{
EdiCustomerOrderDto? ediCustomerOrder = await EdiCustomerOrderService.GetEdiCustomerOrderAsync(CustomerOrderId);
_ediCustomerOrder = new List<EdiCustomerOrderDto?> { ediCustomerOrder };
_ediCustomerOrderLines = ediCustomerOrder?.EdiCustomerOrderLines.ToList() ?? new List<EdiCustomerOrderLineDto>();
_ediCustomerOrderTranslate = new List<EdiCustomerOrderTranslateDto?> { ediCustomerOrder?.EdiCustomerOrderTranslates.MaxBy(x => x.CreatedDate) };
}
private void SelectedEdiCustomerOrderLineChanged(HashSet<EdiCustomerOrderLineDto> obj)
{
_isVisibleEdiCustomerOrderLine = obj.Any();
_selectedEdiCustomerOrderLine = new List<EdiCustomerOrderLineDto?> { obj.FirstOrDefault() };
_ediCustomerOrderLineItems = obj.FirstOrDefault()?.EdiCustomerOrderLineItems.ToList() ?? new List<EdiCustomerOrderLineItemDto>();
}
private void SelectedEdiCustomerOrderLineItemChanged(HashSet<EdiCustomerOrderLineItemDto> obj)
{
_isVisibleEdiCustomerOrderLineItem = obj.Any();
_selectedEdiCustomerOrderLineItem = new List<EdiCustomerOrderLineItemDto?> { obj.FirstOrDefault() };
}
}