diff --git a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/StockSignalREndpointServer.cs b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/StockSignalREndpointServer.cs index 2b1c33c..32940ef 100644 --- a/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/StockSignalREndpointServer.cs +++ b/Nop.Plugin.Misc.AIPlugin/Areas/Admin/Controllers/StockSignalREndpointServer.cs @@ -4,6 +4,7 @@ using AyCode.Services.SignalRs; using DevExpress.Data.Helpers; using FruitBank.Common.Entities; using FruitBank.Common.Enums; +using FruitBank.Common.Interfaces; using FruitBank.Common.Server.Interfaces; using FruitBank.Common.Server.Services.SignalRs; using FruitBank.Common.SignalRs; @@ -43,6 +44,8 @@ public class StockSignalREndpointServer(StockTakingDbContext ctx, SignalRSendToC }); if (result) return await ctx.StockTakings.GetByIdAsync(stockTakingId, false); + + _logger.Error($"StockTaking closing ERROR! stockTakingId: {stockTakingId}"); return null; } @@ -64,6 +67,12 @@ public class StockSignalREndpointServer(StockTakingDbContext ctx, SignalRSendToC foreach (var productDto in productDtos) { + //if (productDto.StockQuantity < 0 && productDto.IncomingQuantity > 0) + //{ + // _logger.Info($"Beszállítás alatt lévő 'virtuális' készlet, nem leltározzuk! product: [#{productDto.Id}] {productDto.Name}; StockQuantity: {productDto.StockQuantity}; IncomingQuantity: {productDto.IncomingQuantity}"); + // continue; + //} + var stockTakingItem = new StockTakingItem { StockTakingId = stockTaking.Id, @@ -153,6 +162,7 @@ public class StockSignalREndpointServer(StockTakingDbContext ctx, SignalRSendToC [SignalR(SignalRTags.AddOrUpdateMeasuredStockTakingItemPallet)] public async Task AddOrUpdateMeasuredStockTakingItemPallet(StockTakingItemPallet stockTakingItemPallet) { + stockTakingItemPallet.IsMeasured = true; return await ctx.AddOrUpdateMeasuredStockTakingItemPallet(stockTakingItemPallet); } } \ No newline at end of file diff --git a/Nop.Plugin.Misc.AIPlugin/Domains/DataLayer/OrderDtoDbTable.cs b/Nop.Plugin.Misc.AIPlugin/Domains/DataLayer/OrderDtoDbTable.cs index c4583e0..a3eff9e 100644 --- a/Nop.Plugin.Misc.AIPlugin/Domains/DataLayer/OrderDtoDbTable.cs +++ b/Nop.Plugin.Misc.AIPlugin/Domains/DataLayer/OrderDtoDbTable.cs @@ -46,7 +46,8 @@ public class OrderDtoDbTable : MgDtoDbTableBase && o.OrderStatusId != (int)OrderStatus.Cancelled && o.GenericAttributes.Any(ga => ga.Key == nameof(OrderDto.DateOfReceipt) && DateTime.Parse(ga.Value) >= fromDate.Date)); - public IQueryable GetAllByProductId(int productId, bool loadRelations = true) => GetAll(loadRelations).Where(o => o.OrderItemDtos.Any(oi => oi.ProductId == productId)); + public IQueryable GetAllByProductId(int productId, bool loadRelations = true) + => GetAll(loadRelations).Where(o => o.OrderItemDtos.Any(oi => oi.ProductId == productId)); public IQueryable GetAllByProductIds(IEnumerable productIds, bool loadRelations = true) => GetAll(loadRelations).Where(o => o.OrderItemDtos.Any(oi => productIds.Contains(oi.ProductId))); diff --git a/Nop.Plugin.Misc.AIPlugin/Domains/DataLayer/StockTakingDbContext.cs b/Nop.Plugin.Misc.AIPlugin/Domains/DataLayer/StockTakingDbContext.cs index a57d217..bfc82e3 100644 --- a/Nop.Plugin.Misc.AIPlugin/Domains/DataLayer/StockTakingDbContext.cs +++ b/Nop.Plugin.Misc.AIPlugin/Domains/DataLayer/StockTakingDbContext.cs @@ -83,18 +83,24 @@ public class StockTakingDbContext : MgDbContextBase, public async Task CloseStockTaking(int stockTakingId) { + Logger.Info($"CloseStockTaking invoked! stockTakingId: {stockTakingId}"); + + var count = 0; + var stockTaking = await StockTakings.GetByIdAsync(stockTakingId, true); if (!stockTaking.IsReadyForClose()) throw new Exception($"Not all IsRequiredForMeasuring items are IsMeasured! IsReadyForClose: false;"); - var count = 0; + //TODO: Mi legyen az invalid item-ekkel? - J. foreach (var stockTakingItem in stockTaking.StockTakingItems!.Where(stockTakingItem => stockTakingItem is { IsMeasured: true, IsInvalid: false })) { count++; - - //await _fruitBankDbContext.UpdateStockQuantityAndWeightAsync(stockTakingItem.Product!, stockTakingItem.QuantityDiff, - // $"Leltár által módosítva! stockTakingId: #{stockTaking.Id}, stockTakingItemId: #{stockTakingItem.Id}", - // stockTakingItem.NetWeightDiff); + + await _fruitBankDbContext.UpdateStockQuantityAndWeightAsync(stockTakingItem.Product!, stockTakingItem.QuantityDiff, + $"Leltár által módosítva! stockTakingId: #{stockTaking.Id}, stockTakingItemId: #{stockTakingItem.Id}", + stockTakingItem.NetWeightDiff); + + Logger.Debug($"CloseStockTaking.UpdateStockQuantityAndWeightAsync; {stockTakingItem.Product}; qntDiff: {stockTakingItem.QuantityDiff} db; netWeightDiff: {stockTakingItem.NetWeightDiff} kg"); } stockTaking.IsClosed = true;