Compare commits

...

5 Commits

Author SHA1 Message Date
Loretta 910a7aa852 Enable stock update on closure; adjust logging level
Uncommented the stock quantity and weight update during stock taking closure, ensuring inventory is updated in the database. Changed the log level for this operation from Info to Debug. Added a new using directive and left a commented block for potential future handling of "virtual" stock items.
2026-02-06 22:14:43 +01:00
Loretta c5da19a3ee Add logging for stock taking close operations
Added info logs to CloseStockTaking for invocation and item updates.
Added error log in StockSignalREndpointServer when closing fails.
2026-02-06 18:59:24 +01:00
Loretta f5e356555c Merge branch '4.80' of https://git.aycode.com/Adam/Mango.Nop.Plugins into 4.80 2026-01-20 14:49:35 +01:00
Loretta c364145699 Merge branch '4.80' of https://git.aycode.com/Adam/Mango.Nop.Plugins into 4.80 2026-01-06 15:16:18 +01:00
Loretta ab6fb3ab88 Update DB to PROD; reformat GetAllByProductId method
Switched connection string to use FruitBank_PROD database.
Reformatted GetAllByProductId in OrderDtoDbTable.cs for clarity; no logic changes.
2026-01-06 15:15:57 +01:00
3 changed files with 22 additions and 6 deletions

View File

@ -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,

View File

@ -46,7 +46,8 @@ public class OrderDtoDbTable : MgDtoDbTableBase<OrderDto, Order>
&& o.OrderStatusId != (int)OrderStatus.Cancelled
&& o.GenericAttributes.Any(ga => ga.Key == nameof(OrderDto.DateOfReceipt) && DateTime.Parse(ga.Value) >= fromDate.Date));
public IQueryable<OrderDto> GetAllByProductId(int productId, bool loadRelations = true) => GetAll(loadRelations).Where(o => o.OrderItemDtos.Any(oi => oi.ProductId == productId));
public IQueryable<OrderDto> GetAllByProductId(int productId, bool loadRelations = true)
=> GetAll(loadRelations).Where(o => o.OrderItemDtos.Any(oi => oi.ProductId == productId));
public IQueryable<OrderDto> GetAllByProductIds(IEnumerable<int> productIds, bool loadRelations = true)
=> GetAll(loadRelations).Where(o => o.OrderItemDtos.Any(oi => productIds.Contains(oi.ProductId)));

View File

@ -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;