* Added DocType to Edi and CO
* Moved SOGrid to Shared and reuse in CO view * Added retrieving of COTranslates to CO
This commit is contained in:
@@ -1,13 +1,16 @@
|
||||
@page "/CustomerOrder/{CustomerOrderId:guid}"
|
||||
|
||||
@inject CustomerOrderService CustomerOrderService
|
||||
@inject ScheduleOrderService ScheduleOrderService
|
||||
@using SytelineSaAppEfDataModel.Dtos
|
||||
@using OrdersManagement.Components.Pages.Shared
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<h3>Zamówienie klienta nr @_customerOrder?.FirstOrDefault()?.CoNum</h3>
|
||||
<h3>Zamówienie klienta nr @CustomerOrders.FirstOrDefault()?.CoNum</h3>
|
||||
<br/>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<SortableList TItem="CustomerOrderDto" Data="_customerOrder" Class="bg-light">
|
||||
<SortableList TItem="CustomerOrderDto" Data="CustomerOrders" Class="bg-light">
|
||||
<ItemTemplate>
|
||||
<u>Numer Zamówienia:</u> <b>@context.CoNum</b><br/>
|
||||
<u>Numer Zamówienia Klienta:</u> <b>@context.CustPo</b><br/>
|
||||
@@ -23,7 +26,7 @@
|
||||
</SortableList>
|
||||
</div>
|
||||
<div class="col">
|
||||
<SortableList TItem="CustomerOrderDto" Data="_customerOrder" Class="bg-light">
|
||||
<SortableList TItem="CustomerOrderDto" Data="CustomerOrders" Class="bg-light">
|
||||
<ItemTemplate>
|
||||
<u>Magazyn:</u> <b>@context.Whse</b><br/>
|
||||
<u>VAT:</u> <b>@context.FrtTaxCode1</b><br/>
|
||||
@@ -40,6 +43,23 @@
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<Button Color="ButtonColor.Primary" @onclick="ShowLastDelfors">@_text</Button>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
@if (_isVisible)
|
||||
{
|
||||
<div class="row">
|
||||
<h3>Zamówienie DELFOR do zamówienia @CustomerOrders.FirstOrDefault()?.CoNum</h3>
|
||||
</div>
|
||||
<br/>
|
||||
<div class="row">
|
||||
<ScheduleOrdersGrid PageSize="5" PassGridRef="SetGridRef" DataProvider="ScheduleOrdersDataProvider"></ScheduleOrdersGrid>
|
||||
</div>
|
||||
<br/>
|
||||
}
|
||||
<div class="row">
|
||||
<h3>Indeksy</h3>
|
||||
</div>
|
||||
@@ -137,7 +157,8 @@
|
||||
<GridColumn TItem="CustomerOrderLineItemDto" HeaderText="Linia" PropertyName="CustomerOrderLine">
|
||||
@context.CoLine
|
||||
</GridColumn>
|
||||
<GridColumn TItem="CustomerOrderLineItemDto" HeaderText="Zwolnienie" PropertyName="CustomerOrderRelease">
|
||||
<GridColumn TItem="CustomerOrderLineItemDto" HeaderText="Zwolnienie"
|
||||
PropertyName="CustomerOrderRelease">
|
||||
@context.CoRelease
|
||||
</GridColumn>
|
||||
<GridColumn TItem="CustomerOrderLineItemDto" HeaderText="Pozycja" PropertyName="Item">
|
||||
@@ -146,7 +167,8 @@
|
||||
<GridColumn TItem="CustomerOrderLineItemDto" HeaderText="Pozycja" PropertyName="CustomerItem">
|
||||
@context.CustItem
|
||||
</GridColumn>
|
||||
<GridColumn TItem="CustomerOrderLineItemDto" HeaderText="Łączna Ilość" TextAlignment="Alignment.End" PropertyName="QtyOrdered">
|
||||
<GridColumn TItem="CustomerOrderLineItemDto" HeaderText="Łączna Ilość" TextAlignment="Alignment.End"
|
||||
PropertyName="QtyOrdered">
|
||||
@context.QtyOrdered
|
||||
</GridColumn>
|
||||
<GridColumn TItem="CustomerOrderLineItemDto" HeaderText="Data Wykonania" PropertyName="DueDate">
|
||||
@@ -175,8 +197,10 @@
|
||||
<u>Łączna Ilość Sztuk:</u> <b>@(context.QtyOrdered.ToString("F2") ?? "N/A")</b><br/>
|
||||
<u>Cena:</u> <b>@(context.Price.ToString("F2") ?? "N/A")</b><br/>
|
||||
<u>Data Wykonania:</u> <b>@(context.DueDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br/>
|
||||
<u>Data Rejestracji:</u> <b>@(context.ReleaseDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br/>
|
||||
<u>Data
|
||||
Rejestracji:</u> <b>@(context.ReleaseDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br/>
|
||||
<u>Magazyn:</u> <b>@context.Whse</b><br/>
|
||||
<u>Typ Documentu:</u> <b>@context.Uf_FKR_EDI_ITEM_DocumentType</b><br/>
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
@@ -203,25 +227,45 @@
|
||||
@code {
|
||||
[Parameter] public Guid CustomerOrderId { get; set; }
|
||||
|
||||
List<CustomerOrderDto?>? _customerOrder { get; set; }
|
||||
List<CustomerOrderLineDto> _customerOrderLines = [];
|
||||
List<CustomerOrderLineItemDto> _customerOrderLineItems = [];
|
||||
private List<CustomerOrderDto> CustomerOrders { get; set; } = [];
|
||||
private List<CustomerOrderLineDto> _customerOrderLines = [];
|
||||
private List<CustomerOrderLineItemDto> _customerOrderLineItems = [];
|
||||
|
||||
List<CustomerOrderLineDto?> _selectedCustomerOrderLine = [];
|
||||
List<CustomerOrderLineItemDto?> _selectedCustomerOrderLineItem = [];
|
||||
private IEnumerable<ScheduleOrderDto>? _scheduleOrders;
|
||||
|
||||
Grid<CustomerOrderLineDto>? _customerOrderLinesGrid;
|
||||
Grid<CustomerOrderLineItemDto>? _customerOrderLineItemsGrid;
|
||||
private List<CustomerOrderLineDto?> _selectedCustomerOrderLine = [];
|
||||
private List<CustomerOrderLineItemDto?> _selectedCustomerOrderLineItem = [];
|
||||
|
||||
private Grid<CustomerOrderLineDto>? _customerOrderLinesGrid;
|
||||
private Grid<CustomerOrderLineItemDto>? _customerOrderLineItemsGrid;
|
||||
|
||||
private bool _isVisibleCustomerOrderLine;
|
||||
private bool _isVisibleCustomerOrderLineItem;
|
||||
|
||||
private Grid<ScheduleOrderDto> _gridRef = new();
|
||||
|
||||
private bool _isVisible = true;
|
||||
private string _text = "Pokaż powiązane zamówienia DELFOR";
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
CustomerOrderDto? customerOrder = await CustomerOrderService.GetCustomerOrderAsync(CustomerOrderId);
|
||||
|
||||
_customerOrder = [customerOrder];
|
||||
_customerOrderLines = customerOrder?.CustomerOrderLines.ToList() ?? [];
|
||||
if (customerOrder != null)
|
||||
{
|
||||
CustomerOrders = [customerOrder];
|
||||
_customerOrderLines = customerOrder.CustomerOrderLines.ToList() ?? [];
|
||||
}
|
||||
}
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
{
|
||||
await SetGridRef(_gridRef);
|
||||
StateHasChanged();
|
||||
_isVisible = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectedCustomerOrderLineChanged(HashSet<CustomerOrderLineDto> obj)
|
||||
@@ -236,4 +280,41 @@
|
||||
_isVisibleCustomerOrderLineItem = obj.Any();
|
||||
_selectedCustomerOrderLineItem = [obj.FirstOrDefault()];
|
||||
}
|
||||
|
||||
private async Task ShowLastDelfors()
|
||||
{
|
||||
if (_isVisible)
|
||||
{
|
||||
_isVisible = false;
|
||||
_text = "Pokaż powiązane zamówienia DELFOR";
|
||||
_scheduleOrders = [];
|
||||
}
|
||||
else
|
||||
{
|
||||
await _gridRef.RefreshDataAsync();
|
||||
StateHasChanged();
|
||||
_isVisible = true;
|
||||
_text = "Ukryj";
|
||||
}
|
||||
}
|
||||
|
||||
private async Task SetGridRef(Grid<ScheduleOrderDto> grid)
|
||||
{
|
||||
_gridRef = grid;
|
||||
}
|
||||
|
||||
private async Task<GridDataProviderResult<ScheduleOrderDto>> ScheduleOrdersDataProvider(GridDataProviderRequest<ScheduleOrderDto> request)
|
||||
{
|
||||
_scheduleOrders = [];
|
||||
|
||||
IList<int> scheduleOrderDetails = CustomerOrders?.FirstOrDefault()?.EdiCustomerOrderTranslates?.Select(x => x.ScheduleOrderId).Distinct().ToList() ?? [];
|
||||
|
||||
if (scheduleOrderDetails.Any())
|
||||
{
|
||||
_scheduleOrders = await ScheduleOrderService.GetScheduleOrdersAsync() ?? new List<ScheduleOrderDto>();
|
||||
_scheduleOrders = _scheduleOrders.Where(x => scheduleOrderDetails.Contains(x.ID)).OrderByDescending(x => x.LastUpdateDate).ToList();
|
||||
}
|
||||
|
||||
return await Task.FromResult(request.ApplyTo(_scheduleOrders));
|
||||
}
|
||||
}
|
||||
@@ -166,7 +166,6 @@
|
||||
<div class="col">
|
||||
<SortableList TItem="EdiCustomerOrderLineItemDto" Data="_selectedEdiCustomerOrderLineItem">
|
||||
<ItemTemplate>
|
||||
<u>Data Otrzymania:</u> <b>@(context.ReceivedDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br />
|
||||
<u>Numer Zamówienia:</u> <b>@context.CustomerOrderNumber</b><br />
|
||||
<u>Linia:</u> <b>@context.CustomerOrderLine</b><br />
|
||||
<u>Zwolnienie:</u> <b>@context.CustomerOrderRelease</b><br />
|
||||
@@ -177,6 +176,7 @@
|
||||
<u>Data Wykonania:</u> <b>@(context.DueDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br />
|
||||
<u>Data Rejestracji:</u> <b>@(context.ReleaseDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br />
|
||||
<u>Magazyn:</u> <b>@context.Warehouse</b><br />
|
||||
<u>Typ Documentu:</u> <b>@context.DocumentType</b><br />
|
||||
</ItemTemplate>
|
||||
</SortableList>
|
||||
</div>
|
||||
|
||||
@@ -1,52 +1,19 @@
|
||||
@page "/"
|
||||
|
||||
@using OrdersManagement.Components.Pages.Shared
|
||||
@inject ScheduleOrderService ScheduleOrderService
|
||||
@inject NavigationManager NavigationManager
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<div class="row">
|
||||
<h3>Zamówienia DELFOR </h3>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<Grid @ref="_grid"
|
||||
TItem="ScheduleOrderDto"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
DataProvider="ScheduleOrdersDataProvider"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
AllowRowClick="true"
|
||||
OnRowDoubleClick="OnRowDoubleClick">
|
||||
|
||||
<GridColumns>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Zamówienie" PropertyName="OrderID">
|
||||
@context.OrderID
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Zamówienie Klienta" PropertyName="PONum">
|
||||
@context.PONum
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Odbiorca" PropertyName="RecipientCode">
|
||||
@context.RecipientCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Klient" PropertyName="PurchaserCode">
|
||||
@context.PurchaserCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Data Utworzenia" PropertyName="LastUpdateDate">
|
||||
@context.LastUpdateDate
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Typ Dokumentu" PropertyName="DocType">
|
||||
@context.DocType
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
<ScheduleOrdersGrid PageSize="20" PassGridRef="SetGridRef" DataProvider="ScheduleOrdersDataProvider"></ScheduleOrdersGrid>
|
||||
|
||||
@code {
|
||||
Grid<ScheduleOrderDto>? _grid;
|
||||
private IEnumerable<ScheduleOrderDto>? _scheduleOrders;
|
||||
|
||||
private Grid<ScheduleOrderDto> _gridRef;
|
||||
|
||||
private async Task<GridDataProviderResult<ScheduleOrderDto>> ScheduleOrdersDataProvider(GridDataProviderRequest<ScheduleOrderDto> request)
|
||||
{
|
||||
@@ -56,11 +23,9 @@
|
||||
|
||||
return await Task.FromResult(request.ApplyTo(_scheduleOrders));
|
||||
}
|
||||
|
||||
private void OnRowDoubleClick(GridRowEventArgs<ScheduleOrderDto> obj)
|
||||
|
||||
private async Task SetGridRef(Grid<ScheduleOrderDto> grid)
|
||||
{
|
||||
int scheduleOrderId = obj.Item.ID;
|
||||
|
||||
NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}");
|
||||
_gridRef = grid;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
@inject NavigationManager NavigationManager
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<div class="row">
|
||||
<Grid @ref="_grid"
|
||||
TItem="ScheduleOrderDto"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="@PageSize"
|
||||
AllowSelection="true"
|
||||
AllowRowClick="true"
|
||||
DataProvider="LoadData"
|
||||
OnRowDoubleClick="OnRowDoubleClick">
|
||||
|
||||
<GridColumns>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Zamówienie" PropertyName="OrderID">
|
||||
@context.OrderID
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Zamówienie Klienta" PropertyName="PONum">
|
||||
@context.PONum
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Odbiorca" PropertyName="RecipientCode">
|
||||
@context.RecipientCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Klient" PropertyName="PurchaserCode">
|
||||
@context.PurchaserCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Data Utworzenia" PropertyName="LastUpdateDate">
|
||||
@context.LastUpdateDate
|
||||
</GridColumn>
|
||||
<GridColumn TItem="ScheduleOrderDto" HeaderText="Typ Dokumentu" PropertyName="DocType">
|
||||
@context.DocType
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public required Func<GridDataProviderRequest<ScheduleOrderDto>, Task<GridDataProviderResult<ScheduleOrderDto>>> DataProvider { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public required Func<Grid<ScheduleOrderDto>, Task> PassGridRef { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public required int PageSize { get; set; }
|
||||
|
||||
private Grid<ScheduleOrderDto> _grid { get; set; }
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
if (firstRender)
|
||||
{
|
||||
await PassGridRef(_grid);
|
||||
}
|
||||
}
|
||||
|
||||
private async Task<GridDataProviderResult<ScheduleOrderDto>> LoadData(GridDataProviderRequest<ScheduleOrderDto> request)
|
||||
{
|
||||
return await DataProvider.Invoke(request);
|
||||
}
|
||||
|
||||
private void OnRowDoubleClick(GridRowEventArgs<ScheduleOrderDto> obj)
|
||||
{
|
||||
int scheduleOrderId = obj.Item.ID;
|
||||
|
||||
NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}");
|
||||
}
|
||||
}
|
||||
@@ -123,5 +123,7 @@
|
||||
public string TranslatedStatus => TranslateStatus(Stat);
|
||||
|
||||
public IEnumerable<CustomerOrderLineDto> CustomerOrderLines { get; set; } = new List<CustomerOrderLineDto>();
|
||||
|
||||
public IEnumerable<EdiCustomerOrderTranslateDto> EdiCustomerOrderTranslates { get; set; } = new List<EdiCustomerOrderTranslateDto>();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,6 +130,8 @@ namespace SytelineSaAppEfDataModel.Dtos
|
||||
public string Uf_Status { get; set; }
|
||||
public string Uf_FKR_EDI_ITEM_PalletCode { get; set; }
|
||||
|
||||
public string Uf_FKR_EDI_ITEM_DocumentType { get; set; }
|
||||
|
||||
public string TranslatedStatus => TranslateStatus(Stat);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,6 +108,7 @@ namespace SytelineSaAppEfDataModel.Dtos
|
||||
public string PalletCode { get; set; }
|
||||
public string PalletNumber { get; set; }
|
||||
|
||||
public string DocumentType { get; set; }
|
||||
public string TranslatedStatus => TranslateStatus(Status);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,5 +129,7 @@ namespace SytelineSaAppEfDataModel.Entities
|
||||
public string Uf_LOC_159_DestinationPoint { get; set; }
|
||||
public string Uf_Status { get; set; }
|
||||
public string Uf_FKR_EDI_ITEM_PalletCode { get; set; }
|
||||
|
||||
public string Uf_FKR_EDI_ITEM_DocumentType { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,5 +107,7 @@ namespace SytelineSaAppEfDataModel.Entities
|
||||
public string NewStatus { get; set; }
|
||||
public string PalletCode { get; set; }
|
||||
public string PalletNumber { get; set; }
|
||||
|
||||
public string DocumentType { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,12 @@ namespace SytelineSaAppEfDataModel.Services
|
||||
.Where(x => x.CoNum == customerOrder.CoNum && x.CoLine == customerOrderLine.CoLine)
|
||||
.Select(x => mapper.Map<CustomerOrderLineItemDto>(x)).ToListAsync();
|
||||
}
|
||||
|
||||
IList<EdiCustomerOrderTranslateDto> ediCustomerOrderTranslates = await context.EdiCustomerOrderTranslates
|
||||
.Where(x => x.CoCoNum == customerOrder.CoNum)
|
||||
.Select(x => mapper.Map<EdiCustomerOrderTranslateDto>(x)).ToListAsync();
|
||||
|
||||
customerOrder.EdiCustomerOrderTranslates = ediCustomerOrderTranslates;
|
||||
|
||||
return customerOrder;
|
||||
}
|
||||
|
||||
@@ -276,6 +276,7 @@ namespace SytelineSaAppEfDataModel
|
||||
entity.Property(e => e.NewStatus).IsRequired(false).HasColumnName("Uf_Status").HasMaxLength(50);
|
||||
entity.Property(e => e.PalletCode).IsRequired(false).HasColumnName("Uf_pci_code").HasMaxLength(1);
|
||||
entity.Property(e => e.PalletNumber).IsRequired(false).HasColumnName("Uf_FKR_EDI_ITEM_PalletCode").HasMaxLength(50);
|
||||
entity.Property(e => e.DocumentType).IsRequired(false).HasColumnName("Uf_FKR_EDI_ITEM_DocType").HasMaxLength(50);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<EdiCustomerOrderTranslate>(entity =>
|
||||
@@ -622,6 +623,7 @@ namespace SytelineSaAppEfDataModel
|
||||
entity.Property(e => e.Uf_LOC_159_DestinationPoint).HasColumnName("Uf_LOC_159_DestinationPoint").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_Status).HasColumnName("Uf_Status").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_ITEM_PalletCode).HasColumnName("Uf_FKR_EDI_ITEM_PalletCode").HasMaxLength(50).IsRequired(false);
|
||||
entity.Property(e => e.Uf_FKR_EDI_ITEM_DocumentType).IsRequired(false).HasColumnName("Uf_FKR_EDI_ITEM_DocType").HasMaxLength(50);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<UserName>(entity =>
|
||||
|
||||
Reference in New Issue
Block a user