From 566c3580b7d8b9c753e713b7945242c4c73254a7 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期三, 25 六月 2025 15:58:31 +0800
Subject: [PATCH] 新增查询静置空闲库位的常量和逻辑 在 `SysConfigKeyConst.cs` 文件中,新增常量`QueryLocationFreeJZ`,用于表示查询静置空闲库位的操作。 在 `RequestInbound.cs` 文件中,添加代码以获取 WMS IP 地址和查询静置空闲库位的配置,并在未配置时抛出异常。同时,修改了获取地址的逻辑,从查询 `QueryStockInfoForRealTrayJZAsync` 改为使用新添加的 `QueryLocationFreeJZ` 常量,以确保请求 WMS 时使用正确的地址。

---
 CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs
index 99f7612..ae56952 100644
--- a/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs
+++ b/CodeManagement/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Stock/StockInfoService.cs
@@ -60,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"))
@@ -70,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>

--
Gitblit v1.9.3