From ef7ff6f2da6051b0a0db3babd61a29ed69e3e228 Mon Sep 17 00:00:00 2001 From: 肖洋 <cathay_xy@163.com> Date: 星期三, 15 一月 2025 11:24:04 +0800 Subject: [PATCH] 增强API与状态管理,优化配置及文档 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs | 57 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 47 insertions(+), 10 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 a4044f6..5ab2700 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs @@ -11,6 +11,11 @@ { } + /// <summary> + /// 鍒嗛〉 + /// </summary> + /// <param name="options"></param> + /// <returns></returns> public override PageGridData<DtStockInfo> GetPageData(PageDataOptions options) { var data = base.GetPageData(options); @@ -24,19 +29,51 @@ return data; } + /// <summary> + /// 鎵归噺鍒犻櫎 + /// </summary> + /// <param name="keys"></param> + /// <returns></returns> public override WebResponseContent DeleteData(object[] keys) { - List<DtStockInfo_Hty> stockInfos = new List<DtStockInfo_Hty>(); - foreach (var item in keys) + try { - var stock = BaseDal.QueryFirstNavAsync(x => x.Id == item.ObjToInt()).Result; - var stockHty = stock.Adapt<DtStockInfo_Hty>(); - stockInfos.Add(stockHty); - } - var hty = BaseDal.Db.InsertNav(stockInfos) - .Include(x => x.StockInfoDetails) - .ExecuteCommand(); - return base.DeleteData(keys); + List<DtStockInfo_Hty> stockInfos = new List<DtStockInfo_Hty>(); + List<DtLocationInfo> locationInfos = new List<DtLocationInfo>(); + foreach (var item in keys) + { + var stock = BaseDal.QueryFirstNavAsync(x => x.Id == item.ObjToInt()).Result; + var stockHty = stock.Adapt<DtStockInfo_Hty>(); + stockInfos.Add(stockHty); + + var location = SqlSugarHelper.DbWMS.Queryable<DtLocationInfo>().FirstAsync(x => x.Id == stock.LocationId).Result; + location.LocationStatus = (int)LocationEnum.Free; + locationInfos.Add(location); + } + + var hty = BaseDal.Db.InsertNav(stockInfos) + .Include(x => x.StockInfoDetails) + .ExecuteCommand(); + + var locationd = SqlSugarHelper.DbWMS.Updateable(locationInfos).ExecuteCommandHasChange(); + return base.DeleteData(keys); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + + // 鏍规嵁浼犲叆搴撳瓨绫诲瀷鑾峰彇涓嶅悓宸烽亾鐨勫簱瀛� + public async Task<Dictionary<string, int>> GetLocationByStockType(bool stockType,string areaCode) + { + var stockInfos = await BaseDal.Db.Queryable<DtStockInfo>().Where(x => x.IsFull == stockType && x.AreaCode == areaCode) + .Includes(x => x.LocationInfo).ToListAsync(); + + var result = stockInfos + .GroupBy(x => x.LocationInfo.RoadwayNo) + .ToDictionary(x => x.Key, x => x.Count()); + return result; } } \ No newline at end of file -- Gitblit v1.9.3