From 08d4252c79d088d7bf97a08d314ec8577d96e2d2 Mon Sep 17 00:00:00 2001 From: 刘磊 <1161824510@qq.com> Date: 星期六, 14 六月 2025 19:57:47 +0800 Subject: [PATCH] 火警 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs | 57 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 45 insertions(+), 12 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..dd6432e 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> @@ -51,6 +60,7 @@ Expression<Func<DtStockInfo, bool>> locationStatus = null; Expression<Func<DtStockInfo, bool>> roadwayNo = null; + Expression<Func<DtStockInfo, bool>> materielCode = null; foreach (var item in searchParametersList) { if (item.Name.Contains("locationStatus")) @@ -61,20 +71,23 @@ { roadwayNo = x => x.LocationInfo.RoadwayNo.Contains(item.Value); } + else if (item.Name.Contains("materielCode")) + { + materielCode = x => x.StockInfoDetails.Any(d => d.MaterielCode.Contains(item.Value)); + } } - - var data = BaseDal.Db.Queryable<DtStockInfo>().IncludesAllFirstLayer().WhereIF(!wheres.IsNullOrEmpty(), wheres).WhereIF(locationStatus != null, locationStatus).WhereIF(roadwayNo != null, roadwayNo).OrderBy(orderByModels).ToPageList(options.Page, options.Rows, ref totalCount); + //.IncludesAllFirstLayer() + var data = BaseDal.Db.Queryable<DtStockInfo>() + .Includes(x => x.StockInfoDetails) + .Includes(x => x.LocationInfo) + .WhereIF(!wheres.IsNullOrEmpty(), wheres) + .WhereIF(locationStatus != null, locationStatus) + .WhereIF(roadwayNo != null, roadwayNo) + .WhereIF(materielCode != null, materielCode) + .OrderBy(orderByModels) + .ToPageList(options.Page, options.Rows, ref totalCount); new PageGridData<DtStockInfo>(totalCount, data); return new PageGridData<DtStockInfo>(totalCount, data); - //var data = base.GetPageData(options); - //foreach (var item in data.Rows) - //{ - // if (item.IsFull) - // item.Remark = item.StockInfoDetails.Count().ToString(); - // else - // item.Remark = "0"; - //} - //return data; } /// <summary> @@ -88,6 +101,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,9 +112,20 @@ 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(); + + //var locationd = SqlSugarHelper.DbWMS.Updateable(locationInfos).ExecuteCommandHasChange(); + //return base.DeleteData(keys); var hty = BaseDal.Db.InsertNav(stockInfos) .Include(x => x.StockInfoDetails) @@ -123,4 +151,9 @@ .ToDictionary(x => x.Key, x => x.Count()); return result; } + + //public override WebResponseContent UpdateData(DtStockInfo entity) + //{ + // return base.UpdateData(entity); + //} } \ No newline at end of file -- Gitblit v1.9.3