diff --git a/OrdersManagement/Components/Pages/CustomerOrder.razor b/OrdersManagement/Components/Pages/CustomerOrder.razor
index 6637a61..cf9cbbf 100644
--- a/OrdersManagement/Components/Pages/CustomerOrder.razor
+++ b/OrdersManagement/Components/Pages/CustomerOrder.razor
@@ -1,13 +1,16 @@
@page "/CustomerOrder/{CustomerOrderId:guid}"
@inject CustomerOrderService CustomerOrderService
+@inject ScheduleOrderService ScheduleOrderService
@using SytelineSaAppEfDataModel.Dtos
+@using OrdersManagement.Components.Pages.Shared
@inherits LayoutComponentBase
-
Zamówienie klienta nr @_customerOrder?.FirstOrDefault()?.CoNum
+Zamówienie klienta nr @CustomerOrders.FirstOrDefault()?.CoNum
+
-
+
Numer Zamówienia: @context.CoNum
Numer Zamówienia Klienta: @context.CustPo
@@ -23,7 +26,7 @@
-
+
Magazyn: @context.Whse
VAT: @context.FrtTaxCode1
@@ -40,6 +43,23 @@
+
+
+@if (_isVisible)
+{
+
+
Zamówienie DELFOR do zamówienia @CustomerOrders.FirstOrDefault()?.CoNum
+
+
+
+
+
+
+}
Indeksy
@@ -137,7 +157,8 @@
@context.CoLine
-
+
@context.CoRelease
@@ -146,7 +167,8 @@
@context.CustItem
-
+
@context.QtyOrdered
@@ -175,8 +197,10 @@
Łączna Ilość Sztuk: @(context.QtyOrdered.ToString("F2") ?? "N/A")
Cena: @(context.Price.ToString("F2") ?? "N/A")
Data Wykonania: @(context.DueDate?.ToString("dd.MM.yyyy") ?? "N/A")
- Data Rejestracji: @(context.ReleaseDate?.ToString("dd.MM.yyyy") ?? "N/A")
+ Data
+ Rejestracji: @(context.ReleaseDate?.ToString("dd.MM.yyyy") ?? "N/A")
Magazyn: @context.Whse
+ Typ Documentu: @context.Uf_FKR_EDI_ITEM_DocumentType
@@ -203,25 +227,45 @@
@code {
[Parameter] public Guid CustomerOrderId { get; set; }
- List? _customerOrder { get; set; }
- List _customerOrderLines = [];
- List _customerOrderLineItems = [];
+ private List CustomerOrders { get; set; } = [];
+ private List _customerOrderLines = [];
+ private List _customerOrderLineItems = [];
- List _selectedCustomerOrderLine = [];
- List _selectedCustomerOrderLineItem = [];
+ private IEnumerable? _scheduleOrders;
- Grid? _customerOrderLinesGrid;
- Grid? _customerOrderLineItemsGrid;
+ private List _selectedCustomerOrderLine = [];
+ private List _selectedCustomerOrderLineItem = [];
+
+ private Grid? _customerOrderLinesGrid;
+ private Grid? _customerOrderLineItemsGrid;
private bool _isVisibleCustomerOrderLine;
private bool _isVisibleCustomerOrderLineItem;
+ private Grid _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 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 grid)
+ {
+ _gridRef = grid;
+ }
+
+ private async Task> ScheduleOrdersDataProvider(GridDataProviderRequest request)
+ {
+ _scheduleOrders = [];
+
+ IList scheduleOrderDetails = CustomerOrders?.FirstOrDefault()?.EdiCustomerOrderTranslates?.Select(x => x.ScheduleOrderId).Distinct().ToList() ?? [];
+
+ if (scheduleOrderDetails.Any())
+ {
+ _scheduleOrders = await ScheduleOrderService.GetScheduleOrdersAsync() ?? new List();
+ _scheduleOrders = _scheduleOrders.Where(x => scheduleOrderDetails.Contains(x.ID)).OrderByDescending(x => x.LastUpdateDate).ToList();
+ }
+
+ return await Task.FromResult(request.ApplyTo(_scheduleOrders));
+ }
}
\ No newline at end of file
diff --git a/OrdersManagement/Components/Pages/EdiCustomerOrder.razor b/OrdersManagement/Components/Pages/EdiCustomerOrder.razor
index c2aefd6..69eb132 100644
--- a/OrdersManagement/Components/Pages/EdiCustomerOrder.razor
+++ b/OrdersManagement/Components/Pages/EdiCustomerOrder.razor
@@ -166,7 +166,6 @@
- Data Otrzymania: @(context.ReceivedDate?.ToString("dd.MM.yyyy") ?? "N/A")
Numer Zamówienia: @context.CustomerOrderNumber
Linia: @context.CustomerOrderLine
Zwolnienie: @context.CustomerOrderRelease
@@ -177,6 +176,7 @@
Data Wykonania: @(context.DueDate?.ToString("dd.MM.yyyy") ?? "N/A")
Data Rejestracji: @(context.ReleaseDate?.ToString("dd.MM.yyyy") ?? "N/A")
Magazyn: @context.Warehouse
+ Typ Documentu: @context.DocumentType
diff --git a/OrdersManagement/Components/Pages/ScheduleOrders.razor b/OrdersManagement/Components/Pages/ScheduleOrders.razor
index 116ca26..ffc4ca7 100644
--- a/OrdersManagement/Components/Pages/ScheduleOrders.razor
+++ b/OrdersManagement/Components/Pages/ScheduleOrders.razor
@@ -1,52 +1,19 @@
@page "/"
+@using OrdersManagement.Components.Pages.Shared
@inject ScheduleOrderService ScheduleOrderService
-@inject NavigationManager NavigationManager
@inherits LayoutComponentBase
Zamówienia DELFOR
-
-
-
-
-
- @context.OrderID
-
-
- @context.PONum
-
-
- @context.RecipientCode
-
-
- @context.PurchaserCode
-
-
- @context.LastUpdateDate
-
-
- @context.DocType
-
-
-
-
+
@code {
- Grid? _grid;
private IEnumerable? _scheduleOrders;
+
+ private Grid _gridRef;
private async Task> ScheduleOrdersDataProvider(GridDataProviderRequest request)
{
@@ -56,11 +23,9 @@
return await Task.FromResult(request.ApplyTo(_scheduleOrders));
}
-
- private void OnRowDoubleClick(GridRowEventArgs obj)
+
+ private async Task SetGridRef(Grid grid)
{
- int scheduleOrderId = obj.Item.ID;
-
- NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}");
+ _gridRef = grid;
}
}
diff --git a/OrdersManagement/Components/Pages/Shared/ScheduleOrdersGrid.razor b/OrdersManagement/Components/Pages/Shared/ScheduleOrdersGrid.razor
new file mode 100644
index 0000000..733f801
--- /dev/null
+++ b/OrdersManagement/Components/Pages/Shared/ScheduleOrdersGrid.razor
@@ -0,0 +1,71 @@
+@inject NavigationManager NavigationManager
+@inherits LayoutComponentBase
+
+
+
+
+
+
+ @context.OrderID
+
+
+ @context.PONum
+
+
+ @context.RecipientCode
+
+
+ @context.PurchaserCode
+
+
+ @context.LastUpdateDate
+
+
+ @context.DocType
+
+
+
+
+
+@code {
+ [Parameter]
+ public required Func, Task>> DataProvider { get; set; }
+
+ [Parameter]
+ public required Func, Task> PassGridRef { get; set; }
+
+ [Parameter]
+ public required int PageSize { get; set; }
+
+ private Grid _grid { get; set; }
+
+ protected override async Task OnAfterRenderAsync(bool firstRender)
+ {
+ if (firstRender)
+ {
+ await PassGridRef(_grid);
+ }
+ }
+
+ private async Task> LoadData(GridDataProviderRequest request)
+ {
+ return await DataProvider.Invoke(request);
+ }
+
+ private void OnRowDoubleClick(GridRowEventArgs obj)
+ {
+ int scheduleOrderId = obj.Item.ID;
+
+ NavigationManager.NavigateTo($"/ScheduleOrder/{scheduleOrderId}");
+ }
+}
\ No newline at end of file
diff --git a/SytelineSaAppEfDataModel/Dtos/CustomerOrderDto.cs b/SytelineSaAppEfDataModel/Dtos/CustomerOrderDto.cs
index 8ad2f31..994928d 100644
--- a/SytelineSaAppEfDataModel/Dtos/CustomerOrderDto.cs
+++ b/SytelineSaAppEfDataModel/Dtos/CustomerOrderDto.cs
@@ -123,5 +123,7 @@
public string TranslatedStatus => TranslateStatus(Stat);
public IEnumerable CustomerOrderLines { get; set; } = new List();
+
+ public IEnumerable EdiCustomerOrderTranslates { get; set; } = new List();
}
}
diff --git a/SytelineSaAppEfDataModel/Dtos/CustomerOrderLineItemDto.cs b/SytelineSaAppEfDataModel/Dtos/CustomerOrderLineItemDto.cs
index e4af2ba..db6c27e 100644
--- a/SytelineSaAppEfDataModel/Dtos/CustomerOrderLineItemDto.cs
+++ b/SytelineSaAppEfDataModel/Dtos/CustomerOrderLineItemDto.cs
@@ -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);
}
}
diff --git a/SytelineSaAppEfDataModel/Dtos/EdiCustomerOrderLineItemDto.cs b/SytelineSaAppEfDataModel/Dtos/EdiCustomerOrderLineItemDto.cs
index 61f9640..cc85648 100644
--- a/SytelineSaAppEfDataModel/Dtos/EdiCustomerOrderLineItemDto.cs
+++ b/SytelineSaAppEfDataModel/Dtos/EdiCustomerOrderLineItemDto.cs
@@ -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);
}
}
diff --git a/SytelineSaAppEfDataModel/Entities/CustomerOrderLineItem.cs b/SytelineSaAppEfDataModel/Entities/CustomerOrderLineItem.cs
index b9994da..0758d47 100644
--- a/SytelineSaAppEfDataModel/Entities/CustomerOrderLineItem.cs
+++ b/SytelineSaAppEfDataModel/Entities/CustomerOrderLineItem.cs
@@ -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; }
}
}
diff --git a/SytelineSaAppEfDataModel/Entities/EdiCustomerOrderLineItem.cs b/SytelineSaAppEfDataModel/Entities/EdiCustomerOrderLineItem.cs
index 0e4f289..86c2a9e 100644
--- a/SytelineSaAppEfDataModel/Entities/EdiCustomerOrderLineItem.cs
+++ b/SytelineSaAppEfDataModel/Entities/EdiCustomerOrderLineItem.cs
@@ -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; }
}
}
diff --git a/SytelineSaAppEfDataModel/Services/CustomerOrderService.cs b/SytelineSaAppEfDataModel/Services/CustomerOrderService.cs
index 6e8e786..616ec7b 100644
--- a/SytelineSaAppEfDataModel/Services/CustomerOrderService.cs
+++ b/SytelineSaAppEfDataModel/Services/CustomerOrderService.cs
@@ -33,6 +33,12 @@ namespace SytelineSaAppEfDataModel.Services
.Where(x => x.CoNum == customerOrder.CoNum && x.CoLine == customerOrderLine.CoLine)
.Select(x => mapper.Map(x)).ToListAsync();
}
+
+ IList ediCustomerOrderTranslates = await context.EdiCustomerOrderTranslates
+ .Where(x => x.CoCoNum == customerOrder.CoNum)
+ .Select(x => mapper.Map(x)).ToListAsync();
+
+ customerOrder.EdiCustomerOrderTranslates = ediCustomerOrderTranslates;
return customerOrder;
}
diff --git a/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs b/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs
index a8dd03c..536841b 100644
--- a/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs
+++ b/SytelineSaAppEfDataModel/SytelineSaAppDbContext.cs
@@ -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(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(entity =>