From 5cff51cedf8320fd944e7748a09166f4c061b58b Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 17 九月 2025 09:04:56 +0800
Subject: [PATCH] 库存统计增加所属仓库和所属区域查询条件

---
 HTML/views/StatisticalReport/InventoryStatistics.html |   69 +++++++++++++++++++++++++++++++++-
 Wms/Wms/Controllers/StatisticalController.cs          |    5 +-
 Wms/WMS.IBLL/IDataServer/IStockServer.cs              |    4 +
 Wms/WMS.BLL/DataServer/StockServer.cs                 |    6 ++
 4 files changed, 78 insertions(+), 6 deletions(-)

diff --git a/HTML/views/StatisticalReport/InventoryStatistics.html b/HTML/views/StatisticalReport/InventoryStatistics.html
index 366acfa..304179f 100644
--- a/HTML/views/StatisticalReport/InventoryStatistics.html
+++ b/HTML/views/StatisticalReport/InventoryStatistics.html
@@ -149,6 +149,22 @@
 								placeholder="缁撴潫鏃堕棿">
 						</div>
 					</div> -->
+					<div class="layui-inline">
+						<label class="layui-form-label" style="width: 60px;">鎵�灞炰粨搴�</label>
+						<div class="layui-input-inline">
+							<select name="WareHouseNo" id="WareHouseNo" lay-filter="getWareHouseNo" lay-search>
+								<option value=""></option>
+							</select>
+						</div>
+					</div>
+					<div class="layui-inline">
+						<label class="layui-form-label" style="width: 60px;">鎵�灞炲尯鍩�</label>
+						<div class="layui-input-inline">
+							<select name="AreaNo" id="AreaNo" lay-filter="getAreaNo" lay-search>
+								<option value=""></option>
+							</select>
+						</div>
+					</div>
 					<div class="layui-inline sousuo">
 						<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
 							lay-filter="LAY-app-contlist-search">
@@ -306,7 +322,7 @@
 			var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
 			//#endregion
 			//鑾峰彇鎬婚噺淇℃伅
-			function refreshTable(SelectType, SkuNo, SkuName, OwnerNo, OwnerName, LotNo, Status, InspectStatus) {
+			function refreshTable(SelectType, SkuNo, SkuName, OwnerNo, OwnerName, LotNo, Status, InspectStatus, WareHouseNo, AreaNo) {
 				//#region 鑷畾涔夎〃澶�
 				var colsJson
 				var param1 = {
@@ -347,6 +363,8 @@
 						LotNo: LotNo, //鎵规鍙�
 						Status: Status, //搴撳瓨鐘舵�� = $("#Status").val();
 						InspectStatus: InspectStatus, //璐ㄦ鐘舵�� = $("#InspectStatus").val();
+						WareHouseNo:WareHouseNo, //鎵�灞炰粨搴�
+						AreaNo:AreaNo//鎵�灞炲尯鍩�
 					};
 					sendData(IP + "/Statistical/GetInventoryList", param, 'get', function (res) {
 						console.log(res)
@@ -381,7 +399,9 @@
 				var OwnerName = $("#OwnerName").val();
 				var Status = $("#Status").val();
 				var InspectStatus = $("#InspectStatus").val();
-				refreshTable(SelectType, SkuNo, SkuName, OwnerNo, OwnerName, LotNo, Status, InspectStatus);
+				var WareHouseNo = $("#WareHouseNo").val();
+				var AreaNo = $("#AreaNo").val();
+				refreshTable(SelectType, SkuNo, SkuName, OwnerNo, OwnerName, LotNo, Status, InspectStatus, WareHouseNo, AreaNo);
 
 			});
 
@@ -414,6 +434,51 @@
 
 
 			});
+			//鑾峰彇浠撳簱涓嬫媺妗嗕俊鎭�
+			sendData(IP + "/Sys/GetWarehouseDic", {}, 'get', function (res) {
+				if (res.code == 0) { //鎴愬姛
+					for (var i = 0; i < res.data.length; i++) {
+						$("#WareHouseNo").append('<option value =' + res.data[i].WareHouseNo + '>' + res.data[i].WareHouseNo + '-' +
+							res.data[i].WareHouseName + '</option>');
+					}
+					form.render('select');
+				} else { //涓嶆垚鍔�
+					layer.msg(res.msg, {
+						icon: 2,
+						time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+					}, function () { });
+				}
+			});
+
+			getAR("");
+			form.on('select(getWareHouseNo)', function (data) {
+				console.log(data);
+				getAR(data.value);
+			});
+			function getAR(val) {
+				//鑾峰彇 鍖哄煙涓嬫媺妗�
+				sendData(IP + "/Sys/GetStorageAreaByHouseNo?wareHouseNo=" + val, {}, 'get', function (res) {
+					$("#AreaNo").empty();
+					$("#AreaNo").append('<option value =""></option>');
+					if (res.code == 0) { //鎴愬姛 
+						for (var i = 0; i < res.data.length; i++) {
+							$("#AreaNo").append('<option value =' + res.data[i].AreaNo + '>' + res.data[i].AreaNo + '-' +
+								res.data[i].AreaName + '</option>');
+						}
+						form.render('select');
+					} else { //涓嶆垚鍔�
+						layer.msg('鑾峰彇鍖哄煙淇℃伅澶辫触', {
+							icon: 2,
+							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+						}, function () {
+							//鍥炶皟
+							form.render('select');
+						});
+					}
+				});
+
+			};
+
 			//#region 鑷畾涔夎〃澶�
 			//鑷畾涔夎〃澶�			
 			active = {
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 28c62a6..2ecb669 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -47,9 +47,11 @@
         /// <param name="lotNo">鎵规</param>
         /// <param name="status">搴撳瓨鐘舵��</param>
         /// <param name="inspectStatus">璐ㄦ鐘舵��</param>
+        /// <param name="wareHouseNo">鎵�灞炰粨搴�</param>
+        /// <param name="areaNo">鎵�灞炲尯鍩�</param>
         /// <returns></returns>
         public async Task<List<MateDataStockDto>> GetDataStockList(string selectType, string skuNo, string skuName, string ownerNo, 
-            string ownerName, string lotNo, string status, string inspectStatus)
+            string ownerName, string lotNo, string status, string inspectStatus, string wareHouseNo, string areaNo)
         {
             Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>()
             .AndIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo))
@@ -59,6 +61,8 @@
             .AndIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo.Contains(lotNo))
             .AndIF(!string.IsNullOrEmpty(status), a => a.Status == status)
             .AndIF(!string.IsNullOrEmpty(inspectStatus), a => a.InspectStatus == inspectStatus)
+            .AndIF(!string.IsNullOrEmpty(wareHouseNo), a => a.WareHouseNo == wareHouseNo)
+            .AndIF(!string.IsNullOrEmpty(areaNo), a => a.AreaNo == areaNo)
             .And(a => a.IsDel == "0")
             .ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
 
diff --git a/Wms/WMS.IBLL/IDataServer/IStockServer.cs b/Wms/WMS.IBLL/IDataServer/IStockServer.cs
index 0b7fb63..0d0a3b2 100644
--- a/Wms/WMS.IBLL/IDataServer/IStockServer.cs
+++ b/Wms/WMS.IBLL/IDataServer/IStockServer.cs
@@ -23,9 +23,11 @@
         /// <param name="lotNo">鎵规</param>
         /// <param name="status">搴撳瓨鐘舵��</param>
         /// <param name="inspectStatus">璐ㄦ鐘舵��</param>
+        /// <param name="wareHouseNo">鎵�灞炰粨搴�</param>
+        /// <param name="areaNo">鎵�灞炲尯鍩�</param>
         /// <returns></returns>
         Task<List<MateDataStockDto>> GetDataStockList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, 
-            string status, string inspectStatus);
+            string status, string inspectStatus, string wareHouseNo, string areaNo);
 
         /// <summary>
         /// 鑾峰彇搴撳瓨鏄庣粏
diff --git a/Wms/Wms/Controllers/StatisticalController.cs b/Wms/Wms/Controllers/StatisticalController.cs
index 83c294e..0d14d91 100644
--- a/Wms/Wms/Controllers/StatisticalController.cs
+++ b/Wms/Wms/Controllers/StatisticalController.cs
@@ -7,6 +7,7 @@
 using WMS.IBLL.IDataServer;
 using System.Security.Claims;
 using System.Threading.Tasks;
+using Model.ModelDto.SysDto;
 
 namespace Wms.Controllers
 {
@@ -51,9 +52,9 @@
         /// <param name="inspectStatus">璐ㄦ鐘舵��</param>
         /// <returns></returns>
         [HttpGet]
-        public async Task<IActionResult> GetInventoryList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, string status, string inspectStatus)
+        public async Task<IActionResult> GetInventoryList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, string status, string inspectStatus, string wareHouseNo, string areaNo)
         {
-            List<MateDataStockDto> StockList = await _stock.GetDataStockList(selectType, skuNo, skuName, ownerNo, ownerName, lotNo, status, inspectStatus);
+            List<MateDataStockDto> StockList = await _stock.GetDataStockList(selectType, skuNo, skuName, ownerNo, ownerName, lotNo, status, inspectStatus, wareHouseNo, areaNo);
             return Ok(new
             {
                 data = StockList,

--
Gitblit v1.8.0