From f86f0730d60ad9188d1b13688604c0c7b01d526e Mon Sep 17 00:00:00 2001 From: xxyy <cathay_xy@163.com> Date: 星期一, 10 三月 2025 15:29:23 +0800 Subject: [PATCH] 更新 StockInfoService 以支持缓存功能 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs index 08ecdc5..3f05072 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs @@ -2,17 +2,26 @@ using Mapster; using Masuit.Tools; using SqlSugar; +using System.Collections; using System.Collections.Generic; using System.Drawing.Printing; using System.Linq.Expressions; +using System.Threading.Tasks; +using WIDESEA_Cache; +using WIDESEA_Common; using WIDESEA_Core; namespace WIDESEA_StorageBasicService; public class StockInfoService : ServiceBase<DtStockInfo, IStockInfoRepository>, IStockInfoService { - public StockInfoService(IStockInfoRepository BaseDal) : base(BaseDal) + + private readonly ISimpleCacheService _simpleCacheService; + private readonly ILocationStatusChangeRecordRepository _locationStatusChangeRecordRepository; + public StockInfoService(IStockInfoRepository BaseDal, ISimpleCacheService simpleCacheService, ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository) : base(BaseDal) { + _simpleCacheService = simpleCacheService; + _locationStatusChangeRecordRepository = locationStatusChangeRecordRepository; } /// <summary> @@ -88,6 +97,10 @@ { List<DtStockInfo_Hty> stockInfos = new List<DtStockInfo_Hty>(); List<DtLocationInfo> locationInfos = new List<DtLocationInfo>(); + + + var stocks = new List<string>(); + foreach (var item in keys) { var stock = BaseDal.QueryFirstNavAsync(x => x.Id == item.ObjToInt()).Result; @@ -95,10 +108,14 @@ stockInfos.Add(stockHty); var location = SqlSugarHelper.DbWMS.Queryable<DtLocationInfo>().FirstAsync(x => x.Id == stock.LocationId).Result; + var lastStatus = location.LocationStatus; location.LocationStatus = (int)LocationEnum.Free; locationInfos.Add(location); + stocks.Add(stock.PalletCode); + _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.ManualOperation, 0); } + _simpleCacheService.HashDel<DtStockInfo>(CacheConst.Cache_DtStockInfo, stocks.ToArray()); var hty = BaseDal.Db.InsertNav(stockInfos) .Include(x => x.StockInfoDetails) .ExecuteCommand(); -- Gitblit v1.9.3