From 5d94e93813ca45250287c802db2ad8796eeabe79 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期五, 19 七月 2024 15:56:22 +0800
Subject: [PATCH] Merge branch 'master' of http://47.95.120.53:8083/r/JC26WMS

---
 HTML/js/public.js                                     |    6 
 Wms/Model/ModelDto/DataDto/MateDataStockDto.cs        |   12 
 HTML/views/StatisticalReport/InventoryStatistics.html |  398 ++++--------------------------
 Wms/Wms/Controllers/StatisticalController.cs          |   23 +
 Wms/WMS.IBLL/IDataServer/IStockServer.cs              |    9 
 Wms/WMS.BLL/DataServer/StockServer.cs                 |  328 +++++++++++++++++++------
 6 files changed, 335 insertions(+), 441 deletions(-)

diff --git a/HTML/js/public.js b/HTML/js/public.js
index 7438589..f209f46 100644
--- a/HTML/js/public.js
+++ b/HTML/js/public.js
@@ -203,9 +203,9 @@
   var bodyHeight = $("#body").outerHeight();
   var topHeight = $("#top").outerHeight();
   var centerHeight = $("#center").outerHeight();
-//   console.log(bodyHeight);
-//   console.log(topHeight);
-//   console.log(centerHeight);
+  console.log(bodyHeight);
+  console.log(topHeight);
+  console.log(centerHeight);
 
   var hh = bodyHeight - topHeight-centerHeight - 26 ;//6鏄痓ody涓婂唴杈硅窛 
   return hh;
diff --git a/HTML/views/StatisticalReport/InventoryStatistics.html b/HTML/views/StatisticalReport/InventoryStatistics.html
index dea2a48..23cecbc 100644
--- a/HTML/views/StatisticalReport/InventoryStatistics.html
+++ b/HTML/views/StatisticalReport/InventoryStatistics.html
@@ -36,6 +36,18 @@
 			<div class="layui-form layui-card-header layuiadmin-card-header-auto" id="top">
 				<div class="layui-form-item" style="margin-bottom: 0px;">
 
+					<div class="layui-inline ">
+						<label class="layui-form-label" style="width: 60px;">鏌ヨ绫诲瀷</label>
+						<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
+							<select name="SelectType" id="SelectType" lay-filter="SelectType" lay-search>
+								<option value="">姝e父</option>
+								<option value="0">鐗╂枡淇℃伅</option>
+								<option value="1">鎵规淇℃伅</option>
+								<option value="2">璐ㄦ淇℃伅</option>
+								<option value="3">璐т富淇℃伅</option>
+							</select>
+						</div>
+					</div>
 					<div class="layui-inline zongdan">
 						<label class="layui-form-label" style="width: 60px;">鐗╂枡缂栫爜</label>
 						<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
@@ -71,7 +83,7 @@
 								class="layui-input">
 						</div>
 					</div>
-					<div class="layui-inline mingxi">
+					<!-- <div class="layui-inline mingxi">
 						<label class="layui-form-label" style="width: 60px;">鍌ㄤ綅鍦板潃</label>
 						<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
 							<input type="text" id="LocatNo" name="LocatNo" placeholder="鍌ㄤ綅鍦板潃" autocomplete="off"
@@ -84,7 +96,7 @@
 							<input type="text" id="PalletNo" name="PalletNo" placeholder="鎵樼洏鍙�" autocomplete="off"
 								class="layui-input">
 						</div>
-					</div>
+					</div> -->
 					
 					<div class="layui-inline ">
 						<label class="layui-form-label" style="width: 60px;">搴撳瓨鐘舵��</label>
@@ -123,7 +135,7 @@
 							</select>
 						</div>
 					</div>
-					<div class="layui-inline zhijian">
+					<!-- <div class="layui-inline zhijian">
 						<label class="layui-form-label" style="width: 60px;">寮�濮嬫椂闂�</label>
 						<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
 							<input type="text" autocomplete="off" id="StartTime" class="layui-input"
@@ -136,7 +148,7 @@
 							<input type="text" autocomplete="off" id="EndTime" class="layui-input"
 								placeholder="缁撴潫鏃堕棿">
 						</div>
-					</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">
@@ -151,19 +163,15 @@
 				</div>
 			</div>
 
-
+			<div id="center"></div>
 			<div class="layui-card-body">
 				<div style="position: relative;">
 					<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
-						<ul class="layui-tab-title" id="tab">
-							<li class="layui-this">搴撳瓨鎬婚噺</li>
-							<li>搴撳瓨鏄庣粏</li>
-						</ul>
-
-						<div id="center"></div>
+						<!-- <div id="center">	
+						</div> -->
 
 						<div class="layui-tab-content">
-							<div class="layui-tab-item layui-show">
+							<!-- <div class="layui-tab-item layui-show"> -->
 								<div class="position-relative"><!-- class="position-relative" --><!-- 鑷畾涔夎〃澶村姞涓� -->
 									<table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
 									<!-- #region 鑷畾涔夎〃澶� -->
@@ -174,29 +182,6 @@
 									</div>
 									<!-- #endregion -->
 								</div>
-							</div>
-							<div class="layui-tab-item">
-								<div class="position-relative"><!-- class="position-relative" --><!-- 鑷畾涔夎〃澶村姞涓� -->
-									<table id="LAY-app-content-list2" lay-filter="LAY-app-content-list2"></table>
-									<!-- #region 鑷畾涔夎〃澶� -->
-									<div class="headerSetIcon">
-										<button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols2">
-											<i class="layui-icon">&#xe610;</i>
-										</button>
-									</div>
-									<!-- #endregion -->
-
-									<!-- #region 鑷畾涔夎〃澶� -->									
-									<script type="text/html" id="templetCompleteTime">
-										{{# function GetBtn(d){
-												return formatDate(d.CompleteTime);
-											}	
-										}}
-										{{ GetBtn(d) }}
-									</script>
-									<!-- #endregion -->
-								</div>
-							</div>
 						</div>
 					</div>
 
@@ -258,7 +243,7 @@
 			element = layui.element;
 			laydate = layui.laydate;
 
-			var h1 = GetTableTabHeight();
+			var h1 = GetTableHeight();
 
 			laydate.render({
 				elem: '#StartTime',
@@ -296,7 +281,7 @@
 
 			var $ = layui.$;
 			var yemianid = 0;
-			refreshTable("", "","","","");
+			refreshTable("", "", "", "", "", "", "", "");
 
 			// 琛ㄥ崟闇�瑕佺殑鍙橀噺
 			var infoOptions;
@@ -361,14 +346,17 @@
 						{field: 'LotText',title: '鎵规鎻忚堪',align: 'center'},
 						{field: 'OwnerNo',title: '璐т富缂栫爜',align: 'center'},
 						{field: 'OwnerName',title: '璐т富鍚嶇О',align: 'center'}, 
+						{field: 'Status',title: '搴撳瓨鐘舵��',align: 'center',templet: '#buttonTpl'}, 
+						{field: 'InspectStatus',title: '璐ㄦ鐘舵��',align: 'center',templet: '#buttonTp2'}, 
 						{field: 'Qty',title: '搴撳瓨鏁伴噺',align: 'center',totalRow: true}, 
 						{field: 'LockQty',title: '閿佸畾鏁伴噺',align: 'center',totalRow: true}, 
-						{field: 'FrozenQty',title: '鍐荤粨鏁伴噺',align: 'center',totalRow: true}
+						{field: 'FrozenQty',title: '鍐荤粨鏁伴噺',align: 'center',totalRow: true},
+						{field: 'InspectQty',title: '鍙娊妫�鏁伴噺',align: 'center',totalRow: true},
 					]];
 			var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
 			//#endregion
 			//鑾峰彇鎬婚噺淇℃伅
-			function refreshTable(SkuNo,SkuName,OwnerNo,OwnerName,LotNo) {
+			function refreshTable(SelectType,SkuNo,SkuName,OwnerNo,OwnerName,LotNo,Status,InspectStatus) {
 				//#region 鑷畾涔夎〃澶�
 				var colsJson
 				var param1={
@@ -401,11 +389,14 @@
 						cols:colsJson
 					};
 					var param = {
+						SelectType:SelectType, //鏌ヨ绫诲瀷
 						SkuNo:SkuNo, //鐗╂枡鍙�
 						SkuName:SkuName, //鐗╂枡鍚嶇О
 						OwnerNo:OwnerNo, //璐т富缂栫爜
 						OwnerName:OwnerName, //璐т富鍚嶇О
 						LotNo:LotNo, //鎵规鍙�
+						Status:Status, //搴撳瓨鐘舵�� = $("#Status").val();
+						InspectStatus:InspectStatus, //璐ㄦ鐘舵�� = $("#InspectStatus").val();
 					};
 					sendData(IP + "/Statistical/GetInventoryList", param, 'get', function (res) {
 						console.log(res)
@@ -428,319 +419,47 @@
 					});
 				});
 				//#endregion
-			}			
-
-			// 琛ㄥ崟闇�瑕佺殑鍙橀噺
-			var infoOptions2;
-			//#region 鍘熷闈炶嚜瀹氫箟鍒�
-			//infoOptions2 = {
-			//	elem: '#LAY-app-content-list2',
-			//	height: 'full-206',
-			//	id: 'LAY-app-content-list2',
-			//	page: true,
-			//	limit: pageCnt,
-			//	limits: pageLimits,
-			//	even: true,
-			//	cellMinWidth: 80, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板
-			//	cols:
-			//		[[
-			//			{
-			//				field: 'PalletNo',
-			//				title: '鎵樼洏鍙�',
-			//				align: 'center',
-			//				width: 110,
-			//			}, {
-			//				field: 'LocatNo',
-			//				title: '鍌ㄤ綅鍦板潃',
-			//				align: 'center',
-			//				width: 100,
-			//			}, {
-			//				field: 'RoadwayName',
-			//				title: '鎵�灞炲贩閬�',
-			//				width: 90,
-			//				align: 'center',
-			//			}, {
-			//				field: 'WareHouseName',
-			//				title: '鎵�灞炰粨搴�',
-			//				width: 90,
-			//				align: 'center',
-			//			}, {
-			//				field: 'SkuNo',
-			//				title: '鐗╂枡缂栫爜',
-			//				width: 100,
-			//				align: 'center',
-			//			}, {
-			//				field: 'SkuName',
-			//				title: '鐗╂枡鍚嶇О',
-			//				align: 'center',
-			//			}, {
-			//				field: 'Standard',
-			//				title: '鐗╂枡瑙勬牸',
-			//				width: 130,
-			//				align: 'center',
-			//			}, {
-			//				field: 'LotNo',
-			//				title: '鎵规鍙�',
-			//				align: 'center',
-			//			}, {
-			//				field: 'Qty',
-			//				title: '搴撳瓨鏁伴噺',
-			//				width: 110,
-			//				align: 'center',
-			//			}, {
-			//				field: 'LockQty',
-			//				title: '閿佸畾鏁伴噺',
-			//				width: 110,
-			//				align: 'center',
-			//			},
-			//			{
-			//				field: 'Status',
-			//				templet: '#buttonTpl',
-			//				title: '搴撳瓨鐘舵��',
-			//				width: 90,
-			//				align: 'center',
-			//			}, {
-			//				field: 'InspectStatus',
-			//				templet: '#buttonTp2',
-			//				title: '璐ㄦ鐘舵��',
-			//				width: 90,
-			//				align: 'center',
-			//			},
-			//			{
-			//				field: 'CompleteTime',
-			//				title: '鍏ュ簱鏃堕棿',
-			//				align: 'center',
-			//				width: 150,
-			//				templet: function (d) {
-			//					return formatDate(d.CompleteTime);
-			//				},
-			//			},
-			//		]]
-			//};
-			//#endregion
-
-			//鑾峰彇鏄庣粏淇℃伅
-			//#region 鑷畾涔夎〃澶�
-			var DetailColsArr = [[
-						{field: 'PalletNo',title: '鎵樼洏鍙�',align: 'center',width: 110,}, 
-						{field: 'LocatNo',title: '鍌ㄤ綅鍦板潃',align: 'center',width: 100,}, 
-						{field: 'WareHouseName',title: '鎵�灞炰粨搴�',width: 90,align: 'center'}, 
-						{field: 'RoadwayName',title: '鎵�灞炲贩閬�',width: 90,align: 'center'}, 
-						{field: 'AreaName',title: '鎵�灞炲尯鍩�',width: 90,align: 'center'}, 
-						{field: 'SkuNo',title: '鐗╂枡缂栫爜',width: 100,align: 'center'}, 
-						{field: 'SkuName',title: '鐗╂枡鍚嶇О',align: 'center'}, 
-						{field: 'Standard',title: '鐗╂枡瑙勬牸',width: 130,align: 'center'}, 
-						{field: 'LotNo',title: '鎵规鍙�',align: 'center'}, 
-						{field: 'OwnerNo',title: '璐т富缂栫爜',align: 'center'},
-						{field: 'OwnerName',title: '璐т富鍚嶇О',align: 'center'}, 
-						{field: 'SupplierNo',title: '渚涘簲鍟嗙紪鐮�',align: 'center'},
-						{field: 'SupplierName',title: '渚涘簲鍟嗗悕绉�',align: 'center'}, 
-						{field: 'Qty',title: '搴撳瓨鏁伴噺',width: 110,align: 'center'}, 
-						{field: 'LockQty',title: '閿佸畾鏁伴噺',width: 110,align: 'center'},
-						{field: 'Status',templet: '#buttonTpl',title: '搴撳瓨鐘舵��',width: 90,align: 'center'}, 
-						{field: 'InspectStatus',templet: '#buttonTp2',title: '璐ㄦ鐘舵��',width: 90,align: 'center'},
-						{field: 'CompleteTime',title: '鍏ュ簱鏃堕棿',align: 'center',width: 150,templet: '#templetCompleteTime'},
-					]];
-			var DetailColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
-			//#endregion
-			function refreshTable2(SkuNo,SkuName,OwnerNo,OwnerName,LotNo,LocatNo,PalletNo,Status,InspectStatus,StartTime,EndTime) {
-				//#region 鑷畾涔夎〃澶�
-				var colsJson2
-				var param1={
-					Href:'Statistical/GetInventoryList1'
-				};
-				sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function(res) {
-					if (res.code == 0){							
-						if(res.data=='' || res.data==undefined || res.data==null){
-							colsJson2=DetailColsArr
-						}else{
-							colsJson2= eval(res.data);
-						}
-					}else{
-							colsJson2=DetailColsArr
-					}
-					infoOptions2 = {
-						elem: '#LAY-app-content-list2',
-						height: h1,
-						id: 'LAY-app-content-list2',
-						page: true,
-						limit: pageCnt,
-						limits: pageLimits,
-						even: true,
-						cellMinWidth: 80, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板
-						done: function(){
-							//鑷畾涔夊垪瀹�
-							SetTableColW('LAY-app-content-list2','Statistical/GetInventoryList1',DetailColsSysArr);
-						}, 	
-						cols:colsJson2
-					};
-					var param = {
-						SkuNo:SkuNo, //鐗╂枡鍙�
-						SkuName:SkuName, //鐗╂枡鍚嶇О
-						OwnerNo:OwnerNo, //璐т富缂栫爜
-						OwnerName:OwnerName, //璐т富鍚嶇О
-						LotNo:LotNo, //鎵规鍙�
-						LocatNo:LocatNo,//鍌ㄤ綅鍦板潃
-						PalletNo:PalletNo, //鎵樼洏鍙�
-						Status:Status,//搴撳瓨鐘舵��
-						InspectStatus:InspectStatus, //璐ㄦ鐘舵��						
-						StartTime:StartTime,//寮�濮嬫椂闂�						
-						EndTime:EndTime, //缁撴潫鏃堕棿						
-					};
-					sendData(IP + "/Statistical/GetInventoryList1", param, 'get', function (res) {
-						if (res.code == 0) //鎴愬姛
-						{
-							var list = res.data;
-							$.extend(infoOptions2, {
-								data: list
-							});
-							infoOptions2.page = {
-								curr: 1
-							}
-							tableIns2 = table.render(infoOptions2);
-						}
-						else //涓嶆垚鍔�
-						{
-							layer.msg('鑾峰彇鏄庣粏鍒楄〃淇℃伅澶辫触锛�', {
-								icon: 2,
-								time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-							}, function () { });
-						}
-					})
-				});
-				//#endregion				
-			}
+			}	
 			
-			//var url = IP + "/Statistical/GetInventoryList1";
-
-			//鎺ュ彈鍏ㄥ眬鍙橀噺
-			let quanSkuNo = '';
-			let quanLotNo='';
 			//鐩戝惉鎼滅储
 			form.on('submit(LAY-app-contlist-search)', function (data) {
+				var SelectType = $("#SelectType").val();
 				var SkuNo = $("#SkuNo").val();
 				var SkuName = $("#SkuName").val();
 				var LotNo = $("#LotNo").val();
-				var LocatNo = $("#LocatNo").val();
-				var PalletNo = $("#PalletNo").val();
 				var OwnerNo = $("#OwnerNo").val();
 				var OwnerName = $("#OwnerName").val();
 				var Status = $("#Status").val();
 				var InspectStatus = $("#InspectStatus").val();
-				var StartTime = $("#StartTime").val();
-				var EndTime = $("#EndTime").val();
-				if (yemianid == 0) {
-					console.log("鎬诲崟");
-					refreshTable(SkuNo, SkuName,OwnerNo,OwnerName,LotNo);
-				} else if (yemianid == 1) {
-					//quanSkuNo = quanSkuNo;
-					//quanLotNo='';
-					console.log("鏄庣粏");
-					console.log(SkuNo,SkuName,OwnerNo,OwnerName,LotNo,LocatNo,PalletNo,Status,InspectStatus,StartTime,EndTime)
-					refreshTable2(quanSkuNo,SkuName,OwnerNo,OwnerName,quanLotNo,LocatNo,PalletNo,Status,InspectStatus,StartTime,EndTime);
-				}
+				refreshTable(SelectType,SkuNo, SkuName,OwnerNo,OwnerName,LotNo,Status,InspectStatus);
 
-			});
-			//瑙﹀彂琛屽弻鍑讳簨浠�
-			table.on('rowDouble(LAY-app-content-list)', function (obj) {
-				$(".layui-tab-title>li").attr("class", "");
-				$('.layui-tab-title>li').eq(1).attr('class', 'layui-this');
-				$('.layui-tab-content .layui-tab-item').attr('class', 'layui-tab-item')
-				$('.layui-tab-content .layui-tab-item').eq(1).attr('class', 'layui-tab-item layui-show')
-				console.log(obj);
-				quanSkuNo = obj.data.SkuNo;
-				quanLotNo=obj.data.lotNo;
-				refreshTable2(obj.data.SkuNo,obj.data.SkuName,obj.data.OwnerNo,obj.data.OwnerName,obj.data.LotNo,obj.data.LocatNo,obj.data.PalletNo,obj.data.Status,obj.data.InspectStatus,obj.data.StartTime,obj.data.EndTime);
-				yemianid = 1;
-			});
-
-			//鐩戝惉Tab鍒囨崲锛屼互鏀瑰彉鍦板潃hash鍊�
-			element.on('tab(docDemoTabBrief)', function (data) {
-				var SkuNo = $("#SkuNo").val();
-				var SkuName = $("#SkuName").val();
-				var LotNo = $("#LotNo").val();
-				var LocatNo = $("#LocatNo").val();
-				var PalletNo = $("#PalletNo").val();
-				var OwnerNo = $("#OwnerNo").val();
-				var OwnerName = $("#OwnerName").val();
-				var Status = $("#Status").val();
-				var InspectStatus = $("#InspectStatus").val();
-				console.log(data.index);
-				yemianid = data.index
-				if (yemianid == 0) {
-					console.log("鎬诲崟");
-					refreshTable(SkuNo, SkuName,OwnerNo,OwnerName,LotNo);
-				} else if (yemianid == 1) {
-					console.log("鏄庣粏");
-					refreshTable2(SkuNo,SkuName,OwnerNo,OwnerName,LotNo,LocatNo,PalletNo,Status,InspectStatus,StartTime,EndTime);
-				}
 			});
 
 			form.on('submit(daochu)', function () {
 				layer.confirm('纭畾瀵煎嚭褰撳墠鏁版嵁鍚楋紵', function (index) {
-					if (yemianid == 0) {
-						console.log("鎬诲崟");
-						var param = {
-							SkuNo: $("#SkuNo").val(),
-							SkuName: $("#SkuName").val(),
-						};
-						sendData(IP + "/Statistical/GetInventoryListDaoChu", param, 'get', function (res) {
-							console.log(res);
-							if (res.code == 0) { //鎴愬姛
-								var list = res.data;
-								table.exportFile(tableIns.config.id, list, 'xls', "搴撳瓨淇℃伅" + getNowTime(),); //data 涓鸿瀹炰緥涓殑浠绘剰鏁伴噺鐨勬暟鎹�
-								layer.msg('瀵煎嚭鎴愬姛锛�', {
-									icon: 1,
-									time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function () {
+					var param = {
+						SkuNo: $("#SkuNo").val(),
+						SkuName: $("#SkuName").val(),
+					};
+					sendData(IP + "/Statistical/GetInventoryListDaoChu", param, 'get', function (res) {
+						console.log(res);
+						if (res.code == 0) { //鎴愬姛
+							var list = res.data;
+							table.exportFile(tableIns.config.id, list, 'xls', "搴撳瓨淇℃伅" + getNowTime(),); //data 涓鸿瀹炰緥涓殑浠绘剰鏁伴噺鐨勬暟鎹�
+							layer.msg('瀵煎嚭鎴愬姛锛�', {
+								icon: 1,
+								time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+							}, function () {
 
-								});
+							});
 
-							} else { //涓嶆垚鍔�
-								layer.msg('鑾峰彇淇℃伅澶辫触锛�', {
-									icon: 2,
-									time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function () { });
-							}
-						});
-					} else if (yemianid == 1) {
-						console.log("鏄庣粏");
-						var SkuNo = $("#SkuNo").val();
-						if (SkuNo == '') {
-							SkuNo = quanSkuNo;
+						} else { //涓嶆垚鍔�
+							layer.msg('鑾峰彇淇℃伅澶辫触锛�', {
+								icon: 2,
+								time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+							}, function () { });
 						}
-						var param = {
-							SkuNo: SkuNo,
-							SkuName: $("#SkuName").val(),
-							LotNo: $("#LotNo").val(),
-							LocatNo: $("#LocatNo").val(),
-							PalletNo: $("#PalletNo").val(),
-							Status: $("#Status").val(),
-							InspectStatus: $("#InspectStatus").val(),
-							IsSamolingTray: $("#IsSamolingTray").val(),
-							StartTime: $("#StartTime").val(),
-							EndTime: $("#EndTime").val(),
-						};
-						sendData(IP + "/Statistical/GetInventoryList1DaoChu", param, 'get', function (res) {
-							console.log(res);
-							if (res.code == 0) { //鎴愬姛
-								var list = res.data;
-								table.exportFile(tableIns2.config.id, list, 'xls', "搴撳瓨鏄庣粏淇℃伅" + getNowTime(),); //data 涓鸿瀹炰緥涓殑浠绘剰鏁伴噺鐨勬暟鎹�
-								layer.msg('瀵煎嚭鎴愬姛锛�', {
-									icon: 1,
-									time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function () {
-
-								});
-
-							} else { //涓嶆垚鍔�
-								layer.msg('鑾峰彇淇℃伅澶辫触锛�', {
-									icon: 2,
-									time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function () { });
-							}
-						});
-					}
+					});
 				});
 
 
@@ -757,18 +476,7 @@
 						resize: false,
 						area: ['970px', '650px']
 					});
-				},
-				customCols2: function(){
-					layer.open({
-						type: 2,
-						title: '鑷畾涔夊垪',
-						content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetInventoryList1&ColsSysArr='+DetailColsSysArr,
-						maxmin: false,
-						resize: false,
-						area: ['970px', '650px']
-					});
 				}
-
 			};
 			$('.layui-btn').on('click', function() {
 				var type = $(this).data('type');
diff --git a/Wms/Model/ModelDto/DataDto/MateDataStockDto.cs b/Wms/Model/ModelDto/DataDto/MateDataStockDto.cs
index 84c105e..dee475d 100644
--- a/Wms/Model/ModelDto/DataDto/MateDataStockDto.cs
+++ b/Wms/Model/ModelDto/DataDto/MateDataStockDto.cs
@@ -38,17 +38,23 @@
         /// <summary>
         /// 鏁伴噺
         /// </summary>
-        public string Qty { get; set; }
+        public decimal? Qty { get; set; }
 
         /// <summary>
         /// 閿佸畾鏁伴噺
         /// </summary>
-        public string LockQty { get; set; }
+        public decimal? LockQty { get; set; }
 
         /// <summary>
         /// 鍐荤粨鏁伴噺
         /// </summary>
-        public string FrozenQty { get; set; }
+        public decimal? FrozenQty { get; set; }
+
+
+        /// <summary>
+        /// 鍙娊妫�鏁伴噺
+        /// </summary>
+        public decimal? InspectQty { get; set; }
 
         /// <summary>
         /// 鍓╀綑鏁伴噺
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 8259a64..ebf208d 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -5,9 +5,12 @@
 using System.Runtime.Intrinsics.X86;
 using System.Security.Claims;
 using System.Text;
+using System.Threading.Tasks;
 using Model.ModelDto;
 using Model.ModelDto.DataDto;
+using Model.ModelDto.SysDto;
 using Model.ModelVm.DataVm;
+using Model.ModelVm.SysVm;
 using SqlSugar;
 using WMS.DAL;
 using WMS.Entity.Context;
@@ -31,92 +34,255 @@
         /// <summary>
         /// 鏌ヨ搴撳瓨鎬婚噺
         /// </summary>
+        /// <param name="selectType">鏌ヨ绫诲瀷 0锛氱墿鏂欎俊鎭� 1锛氭壒娆′俊鎭� 2锛氳川妫�淇℃伅 3锛氳揣涓讳俊鎭�</param>
         /// <param name="skuNo">鐗╂枡缂栫爜</param>
         /// <param name="skuName">鐗╂枡鍚嶇О</param>
+        /// <param name="ownerNo">璐т富缂栫爜</param>
+        /// <param name="ownerName">璐т富鍚嶇О</param>
+        /// <param name="lotNo">鎵规</param>
+        /// <param name="status">搴撳瓨鐘舵��</param>
+        /// <param name="inspectStatus">璐ㄦ鐘舵��</param>
         /// <returns></returns>
-        public List<MateDataStockDto> GetDataStockList(string skuNo, string skuName, string ownerNo, string ownerName, string lotNo)
+        public async Task<List<MateDataStockDto>> GetDataStockList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, string status, string inspectStatus)
         {
-            string str = "select stock.SkuNo,stock.SkuName,stock.LotNo,stock.LotText,stock.Standard,stock.Qty," +
-                "stock.LockQty,stock.FrozenQty,stock.OwnerNo,stock.OwnerName,(mate.Weight * stock.Qty) WeightSum " +
-                "from DataStock stock " +
-                "left join SysMaterials mate on stock.SkuNo = mate.SkuNo " +
-                "Where stock.IsDel = @isdel and mate.IsDel = 0 ";
-            //鍒ゆ柇鐗╂枡缂栫爜鏄惁涓虹┖
-            if (!string.IsNullOrEmpty(skuNo))
+            List<MateDataStockDto> modUser = new List<MateDataStockDto>();
+            if (string.IsNullOrEmpty(selectType))
             {
-                str += " and stock.SkuNo like @skuno";
-            }
-            //鍒ゆ柇鐗╂枡鍚嶇О鏄惁涓虹┖
-            if (!string.IsNullOrEmpty(skuName))
-            {
-                str += " and stock.SkuName like @skuname";
-            }
-            //鍒ゆ柇璐т富缂栫爜鏄惁涓虹┖
-            if (!string.IsNullOrEmpty(ownerNo))
-            {
-                str += " and stock.OwnerNo like @ownerNo";
-            }
-            //鍒ゆ柇璐т富鍚嶇О鏄惁涓虹┖
-            if (!string.IsNullOrEmpty(ownerName))
-            {
-                str += " and stock.OwnerName like @ownerName";
-            }
-            //鍒ゆ柇璐т富鍚嶇О鏄惁涓虹┖
-            if (!string.IsNullOrEmpty(lotNo))
-            {
-                str += " and stock.LotNo like @lotNo";
-            }
-            //鎺掑簭
-            str += " order by stock.SkuNo";
-            List<MateDataStockDto> StockList = Db.Ado.SqlQuery<MateDataStockDto>(str, new
-            {
-                isdel = "0", //鏄惁鍒犻櫎
-                skuno = "%" + skuNo + "%", //鐗╂枡缂栫爜
-                skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
-                ownerNo = "%" + ownerNo + "%", //璐т富缂栫爜
-                ownerName = "%" + ownerName + "%", //璐т富鍚嶇О
-                lotNo = "%" + lotNo + "%", //鎵规鍙�
-            });
+                modUser = await Db.Queryable<DataStock>()
+                            .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo == skuNo)
+                            .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName == skuName)
+                            .WhereIF(!string.IsNullOrEmpty(ownerNo), a => a.OwnerNo == ownerNo)
+                            .WhereIF(!string.IsNullOrEmpty(ownerName), a => a.OwnerName == ownerName)
+                            .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo == lotNo)
+                            .Where(a => a.IsDel == "0")
+                            .Select(a => new MateDataStockDto()
+                            {
+                                SkuNo = a.SkuNo, //鐗╂枡缂栫爜
+                                SkuName = a.SkuName, //鐗╂枡鍚嶇О
+                                Standard = a.Standard, //瑙勬牸
+                                LotNo = a.LotNo, //鎵规
+                                LotText = a.LotText, //鎵规鎻忚堪
+                                OwnerNo = a.OwnerNo, //璐т富缂栫爜
+                                OwnerName = a.OwnerName, //璐т富鍚嶇О
+                                Status = status, //搴撳瓨鐘舵��
+                                InspectStatus = inspectStatus, //璐ㄦ鐘舵��
+                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
+                                    .Sum(s => s.Qty), //搴撳瓨鏁伴噺
+                                //Qty = SqlFunc.AggregateSum(b.Qty), //搴撳瓨鏁伴噺
+                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
+                                    .Sum(s => s.LockQty), //閿佸畾鏁伴噺
+                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
+                                    .Sum(s => s.FrozenQty), //鍐荤粨鏁伴噺
+                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
+                                    .Sum(s => s.InspectQty), //鍙娊妫�鏁伴噺
+                            }).ToListAsync();
 
-            //搴撳瓨鎬婚噺
-            List<MateDataStockDto> StockListDto = new List<MateDataStockDto>();
-
-            foreach (var item in StockList)
-            {
-                StockListDto.Add(item);
-                ////鍒ゆ柇搴撳瓨鎬婚噺鏄惁鎷ユ湁鐗╂枡
-                //if (StockListDto.Count > 0)
-                //{
-                //    int i = 0;
-                //    //foreach寰幆搴撳瓨鎬婚噺
-                //    foreach (var dto in StockListDto)
-                //    {
-                //        //鍒ゆ柇鐗╂枡鍜屾壒娆℃槸鍚︾浉鍚�
-                //        if (dto.SkuNo == item.SkuNo && dto.LotNo == item.LotNo)
-                //        {
-                //            dto.Qty =  (Convert.ToDecimal(dto.Qty) + Convert.ToDecimal(item.Qty)).ToString();
-                //            dto.FrozenQty = (Convert.ToDecimal(dto.FrozenQty) + Convert.ToDecimal(item.FrozenQty)).ToString();
-                //            dto.LockQty = (Convert.ToDecimal(dto.LockQty) + Convert.ToDecimal(item.LockQty)).ToString();
-                //            dto.ResidueQty= (Convert.ToDecimal(dto.ResidueQty) + Convert.ToDecimal(item.ResidueQty)).ToString();
-                //            break;
-                //        }
-                //        i += 1;
-                //        //鍒ゆ柇宸叉湁鐩稿悓鐗╂枡
-                //        if (i == StockListDto.Count)
-                //        {
-                //            StockListDto.Add(item);
-                //            break;
-                //        }
-                //    }
-                //}
-                //else
-                //{
-                //    StockListDto.Add(item);
-                //    continue;
-                //}
+                return modUser;
             }
+            else
+            {
+                var selectList = new List<DataStockDetail>();
+                switch (selectType)
+                {
+                    case "0": // 鐗╂枡淇℃伅
+                        modUser = await Db.Queryable<DataStock>()
+                            .Where(a => a.IsDel == "0")
+                            .GroupBy(a => new { a.SkuNo, a.SkuName, a.Standard })
+                            .Select(a => new MateDataStockDto()
+                            {
+                                SkuNo = a.SkuNo, //鐗╂枡缂栫爜
+                                SkuName = a.SkuName, //鐗╂枡鍚嶇О
+                                Standard = a.Standard, //瑙勬牸
+                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
+                                    .Sum(s => s.Qty), //搴撳瓨鏁伴噺
+                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
+                                    .Sum(s => s.LockQty), //閿佸畾鏁伴噺
+                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
+                                    .Sum(s => s.FrozenQty), //鍐荤粨鏁伴噺
+                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.SkuNo == a.SkuNo)
+                                    .Sum(s => s.InspectQty), //鍙娊妫�鏁伴噺
+                            })
+                            .ToListAsync();
 
-            return StockListDto;
+                        return modUser;
+                    case "1": // 鎵规淇℃伅
+
+                        modUser = await Db.Queryable<DataStock>()
+                            .Where(a => a.IsDel == "0")
+                            .GroupBy(a => new { a.LotNo, a.LotText })
+                            .Select(a => new MateDataStockDto()
+                            {
+                                LotNo = a.LotNo, //鎵规
+                                LotText = a.LotText, //鎵规鎻忚堪
+                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
+                                    .Sum(s => s.Qty), //搴撳瓨鏁伴噺
+                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
+                                    .Sum(s => s.LockQty), //閿佸畾鏁伴噺
+                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
+                                    .Sum(s => s.FrozenQty), //鍐荤粨鏁伴噺
+                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.LotNo == a.LotNo)
+                                    .Sum(s => s.InspectQty), //鍙娊妫�鏁伴噺
+                            })
+                            .ToListAsync();
+
+                        return modUser;
+                    case "2": // 璐ㄦ淇℃伅
+                        modUser = await Db.Queryable<DataStock>()
+                            .LeftJoin<DataStockDetail>((a, b) => a.LotNo == b.LotNo)
+                           .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo == skuNo)
+                           .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName == skuName)
+                           .WhereIF(!string.IsNullOrEmpty(ownerNo), a => a.OwnerNo == ownerNo)
+                           .WhereIF(!string.IsNullOrEmpty(ownerName), a => a.OwnerName == ownerName)
+                           .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo == lotNo)
+                           .WhereIF(!string.IsNullOrEmpty(status), (a, b) => b.Status == status)
+                           .WhereIF(!string.IsNullOrEmpty(inspectStatus), (a, b) => b.InspectStatus == inspectStatus)
+                           .Where(a => a.IsDel == "0")
+                           .GroupBy((a, b) => b.InspectStatus)
+                           .Select((a, b) => new MateDataStockDto()
+                           {
+                               InspectStatus = b.InspectStatus, //璐ㄦ鐘舵��
+                               Qty = SqlFunc.AggregateSum(b.Qty), //搴撳瓨鏁伴噺
+                               LockQty = SqlFunc.AggregateSum(b.LockQty), //閿佸畾鏁伴噺
+                               FrozenQty = SqlFunc.AggregateSum(b.FrozenQty), //鍐荤粨鏁伴噺
+                               InspectQty = SqlFunc.AggregateSum(b.InspectQty), //鍙娊妫�鏁伴噺
+                           })
+                           .ToListAsync();
+
+                        return modUser;
+                    case "3": // 璐т富淇℃伅
+
+                        modUser = await Db.Queryable<DataStock>()
+                            .Where(a => a.IsDel == "0")
+                            .GroupBy(a => new { a.OwnerNo, a.OwnerName })
+                            .Select(a => new MateDataStockDto()
+                            {
+                                OwnerNo = a.OwnerNo, //璐т富缂栫爜
+                                OwnerName = a.OwnerName, //璐т富鍚嶇О
+                                Qty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
+                                    .Sum(s => s.Qty), //搴撳瓨鏁伴噺
+                                LockQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
+                                    .Sum(s => s.LockQty), //閿佸畾鏁伴噺
+                                FrozenQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
+                                    .Sum(s => s.FrozenQty), //鍐荤粨鏁伴噺
+                                InspectQty = SqlFunc.Subqueryable<DataStockDetail>()
+                                    .WhereIF(!string.IsNullOrEmpty(skuNo), s => s.SkuNo == skuNo)
+                                    .WhereIF(!string.IsNullOrEmpty(skuName), s => s.SkuName == skuName)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerNo), s => s.OwnerNo == ownerNo)
+                                    .WhereIF(!string.IsNullOrEmpty(ownerName), s => s.OwnerName == ownerName)
+                                    .WhereIF(!string.IsNullOrEmpty(lotNo), s => s.LotNo == lotNo)
+                                    .WhereIF(!string.IsNullOrEmpty(status), s => s.Status == status)
+                                    .WhereIF(!string.IsNullOrEmpty(inspectStatus), s => s.InspectStatus == inspectStatus)
+                                    .Where(s => s.IsDel == "0" && s.OwnerNo == a.OwnerNo)
+                                    .Sum(s => s.InspectQty), //鍙娊妫�鏁伴噺
+                            })
+                            .ToListAsync();
+                        return modUser;
+                    default:
+                        break;
+                }
+
+                return modUser;
+            }
         }
 
         /// <summary>
@@ -837,9 +1003,9 @@
                         //鍒ゆ柇鐗╂枡鏄惁鐩稿悓
                         if (dto.SkuNo == item.SkuNo)
                         {
-                            dto.Qty = (Convert.ToInt32(dto.Qty) + Convert.ToInt32(item.Qty)).ToString();
-                            dto.FrozenQty = (Convert.ToInt32(dto.FrozenQty) + Convert.ToInt32(item.FrozenQty)).ToString();
-                            dto.LockQty = (Convert.ToInt32(dto.LockQty) + Convert.ToInt32(item.LockQty)).ToString();
+                            dto.Qty = Convert.ToInt32(dto.Qty) + Convert.ToInt32(item.Qty);
+                            dto.FrozenQty = Convert.ToInt32(dto.FrozenQty) + Convert.ToInt32(item.FrozenQty);
+                            dto.LockQty = Convert.ToInt32(dto.LockQty) + Convert.ToInt32(item.LockQty);
                             dto.ResidueQty = (Convert.ToInt32(dto.ResidueQty) + Convert.ToInt32(item.ResidueQty)).ToString();
                             break;
                         }
diff --git a/Wms/WMS.IBLL/IDataServer/IStockServer.cs b/Wms/WMS.IBLL/IDataServer/IStockServer.cs
index 5b0fd9d..6434ade 100644
--- a/Wms/WMS.IBLL/IDataServer/IStockServer.cs
+++ b/Wms/WMS.IBLL/IDataServer/IStockServer.cs
@@ -2,6 +2,7 @@
 using System;
 using System.Collections.Generic;
 using System.Text;
+using System.Threading.Tasks;
 using WMS.Entity.DataEntity;
 using WMS.Entity.SysEntity;
 
@@ -14,10 +15,16 @@
         /// <summary>
         /// 鏌ヨ搴撳瓨鎬婚噺
         /// </summary>
+        /// <param name="selectType">鏌ヨ绫诲瀷</param>
         /// <param name="skuNo">鐗╂枡缂栫爜</param>
         /// <param name="skuName">鐗╂枡鍚嶇О</param>
+        /// <param name="ownerNo">璐т富缂栫爜</param>
+        /// <param name="ownerName">璐т富鍚嶇О</param>
+        /// <param name="lotNo">鎵规</param>
+        /// <param name="status">搴撳瓨鐘舵��</param>
+        /// <param name="inspectStatus">璐ㄦ鐘舵��</param>
         /// <returns></returns>
-        List<MateDataStockDto> GetDataStockList(string skuNo, string skuName, string ownerNo, string ownerName, string lotNo);
+        Task<List<MateDataStockDto>> GetDataStockList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, string status, string inspectStatus);
 
         /// <summary>
         /// 鑾峰彇搴撳瓨鏄庣粏
diff --git a/Wms/Wms/Controllers/StatisticalController.cs b/Wms/Wms/Controllers/StatisticalController.cs
index 8a87f0e..13f01ae 100644
--- a/Wms/Wms/Controllers/StatisticalController.cs
+++ b/Wms/Wms/Controllers/StatisticalController.cs
@@ -6,6 +6,7 @@
 using WMS.Entity.DataEntity;
 using WMS.IBLL.IDataServer;
 using System.Security.Claims;
+using System.Threading.Tasks;
 
 namespace Wms.Controllers
 {
@@ -40,13 +41,19 @@
         /// <summary>
         /// 鑾峰彇搴撳瓨鎬婚噺
         /// </summary>
-        /// <param name="skuNo"></param>
-        /// <param name="skuName"></param>
+        /// <param name="selectType">鏌ヨ绫诲瀷</param>
+        /// <param name="skuNo">鐗╂枡缂栫爜</param>
+        /// <param name="skuName">鐗╂枡鍚嶇О</param>
+        /// <param name="ownerNo">璐т富缂栫爜</param>
+        /// <param name="ownerName">璐т富鍚嶇О</param>
+        /// <param name="lotNo">鎵规</param>
+        /// <param name="status">搴撳瓨鐘舵��</param>
+        /// <param name="inspectStatus">璐ㄦ鐘舵��</param>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult GetInventoryList(string skuNo, string skuName, string ownerNo, string ownerName, string lotNo)
+        public async Task<IActionResult> GetInventoryList(string selectType, string skuNo, string skuName, string ownerNo, string ownerName, string lotNo, string status, string inspectStatus)
         {
-            List<MateDataStockDto> StockList = _stock.GetDataStockList(skuNo, skuName, ownerNo, ownerName, lotNo);
+            List<MateDataStockDto> StockList = await _stock.GetDataStockList(selectType, skuNo, skuName, ownerNo, ownerName, lotNo, status, inspectStatus);
             return Ok(new
             {
                 data = StockList,
@@ -68,9 +75,9 @@
         /// <param name="inspectStatus">璐ㄦ鐘舵��</param>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus, string ownerNo, string ownerName,string startTime,string endTime)
+        public IActionResult GetInventoryList1(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus, string ownerNo, string ownerName, string startTime, string endTime)
         {
-            List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1(skuNo, skuName, lotNo, locatNo, palletNo, status, inspectStatus, ownerNo, ownerName, startTime,endTime);
+            List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1(skuNo, skuName, lotNo, locatNo, palletNo, status, inspectStatus, ownerNo, ownerName, startTime, endTime);
             return Ok(new
             {
                 data = stockDetailsList,
@@ -98,7 +105,7 @@
         /// <param name="inspectStatus">璐ㄩ噺鐘舵��</param>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult GetBindList(string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitPalletMark, string bitBoxMark, string inspectStatus, string ownerNo, string ownerName,string startTime,string endTIme)
+        public IActionResult GetBindList(string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitPalletMark, string bitBoxMark, string inspectStatus, string ownerNo, string ownerName, string startTime, string endTIme)
         {
             try
             {
@@ -341,7 +348,7 @@
         /// <param name="inspectStatus">璐ㄦ鐘舵��</param>
         /// <returns></returns>
         [HttpGet]
-        public IActionResult GetInventoryList1DaoChu(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus,string startTime,string endTime)
+        public IActionResult GetInventoryList1DaoChu(string skuNo, string skuName, string lotNo, string locatNo, string palletNo, string status, string inspectStatus, string startTime, string endTime)
         {
             List<StockDetailDto> stockDetailsList = _stock.GetInventoryList1DaoChu(skuNo, skuName, lotNo, locatNo, palletNo, status, inspectStatus, startTime, endTime);
             return Ok(new

--
Gitblit v1.8.0