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