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