diff --git a/OrdersManagement/Components/Pages/WarehousePackList.razor b/OrdersManagement/Components/Pages/WarehousePackList.razor index d82e082..fefa77e 100644 --- a/OrdersManagement/Components/Pages/WarehousePackList.razor +++ b/OrdersManagement/Components/Pages/WarehousePackList.razor @@ -44,6 +44,8 @@ + @@ -80,7 +82,7 @@ - + @@ -106,11 +108,16 @@ - + -

Błąd: Proszę zeskanować poprawny Numer Partii SL (istniejący w tabeli) lub poprawny numer Partii Meyle zaczynający się od @($"{DateTime.Now.Year - 2000}X")!

+

Błąd skanowania! Wystąpił jeden z wyjątków:

+
    +
  • Zeskanowano niepoprawny Numer Partii SL (nieistniejący w tabeli)

  • +
  • Zeskanowano niepoprawny numer Partii Meyle (niezaczynający się od @($"{DateTime.Now.Year - 2000}X"))

  • +
  • Numer Palety nie jest większy niż 0

  • +
@@ -118,6 +125,20 @@
+ + + + + + + + + + + + + FA Krosno Manager © @(DateTime.Now.Year) @@ -140,17 +161,23 @@ private bool Visibility { get; set; } private bool VisibilityValidation { get; set; } - + private bool VisibilityLineSplitter { get; set; } + private string? EmailAddresses { get; set; } = string.Empty; private string PalletNumber { get; set; } = "0"; private string LastScannedValue { get; set; } = string.Empty; private string ScannedValue { get; set; } = string.Empty; + private string NewQuantity { get; set; } = "0"; + + private bool IsDisabled => SelectedRow == null; + private void HideModal() { Visibility = false; VisibilityValidation = false; + VisibilityLineSplitter = false; } protected override async Task OnAfterRenderAsync(bool firstRender) @@ -214,6 +241,8 @@ { if (string.IsNullOrWhiteSpace(obj.Value)) return; + int palletNumber = int.Parse(PalletNumber); + TransactionModelsByPartNumber.TryGetValue(obj.Value.Trim(), out List? materialTransactionsByPartNumber); TransactionModel? materialTransactionByPartNumber = materialTransactionsByPartNumber?.FirstOrDefault(); @@ -223,20 +252,21 @@ var rowIndex = WzRowsMeyle.FindIndex(x => x.FaIndex == materialTransactionByPartNumber.ItemNumber && x.Quantity == materialTransactionByPartNumber.Quantity); //rowIndex = WzRowsMeyle.FindIndex(x => x.FaIndex == "FA23956.18" && x.Quantity == 130); - if (rowIndex == -1) + if (rowIndex == -1 || palletNumber <= 0) { VisibilityValidation = true; LastScannedValue = ScannedValue; ScannedValue = string.Empty; - + await _scanner.FocusAsync(); - + return; } - + SelectedRow = WzRowsMeyle[rowIndex]; SelectedRow.PartNumberSl = ScannedValue; + SelectedRow.PalletNumber = palletNumber; if (ChangedRecords.All(x => x.TransactionNumber != SelectedRow.TransactionNumber)) { @@ -300,13 +330,6 @@ return scannedValue.StartsWith(format); } - private async Task GetMaterialTransactionByPartNumber(string partNumber) - { - MaterialTransactionDto? materialTransaction = await WarehouseService.GetMaterialTransactionByPartNumberAsync(partNumber).ConfigureAwait(false); - - return materialTransaction; - } - private async Task>> GetTransactionModels() { return await WarehouseService.GetTransactionsModels(); @@ -320,4 +343,47 @@ await InvokeAsync(StateHasChanged); await _grid.Refresh(); } + + private async Task SplitLine(MouseEventArgs arg) + { + int newQuantity = int.Parse(NewQuantity); + + if (newQuantity > 0 && SelectedRow != null) + { + WzRowMeyleDto splitRow = new WzRowMeyleDto + { + ID = Guid.NewGuid(), + FK_Header = SelectedRow.FK_Header, + Quantity = newQuantity, + FaIndex = SelectedRow.FaIndex, + ItemNumber = SelectedRow.ItemNumber, + OrderNumber = SelectedRow.OrderNumber, + PalletNumber = SelectedRow.PalletNumber, + WzNumber = SelectedRow.WzNumber, + TransactionNumber = SelectedRow.TransactionNumber + }; + + WzRowsMeyle.Add(splitRow); + SelectedRow.Quantity -= newQuantity; + + ChangedRecords.Add(SelectedRow); + + await WarehouseService.CreateWzRowsMeyleAsync(new List { splitRow }); + await UpdateRows(ChangedRecords); + } + + VisibilityLineSplitter = false; + } + + private void ShowSplitDialog(ClickEventArgs obj) + { + VisibilityLineSplitter = true; + NewQuantity = "0"; + } + + private void OnRowSelected(RowSelectEventArgs obj) + { + SelectedRow = obj.Data; + } + } \ No newline at end of file