From d58fd0905004b5c4abf138c8fb95a597130af928 Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期四, 29 八月 2024 09:01:18 +0800
Subject: [PATCH] bug修复

---
 HTML/views/StatisticalReport/InOutBoundReports.html | 1206 +++++++++++++++++++-----------------------
 Pda/View/AsnSetting/productEnterQuantity.html       |   17 
 Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs     |   14 
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs            |   16 
 Wms/WMS.BLL/DataServer/StockServer.cs               |  417 +++++++-------
 5 files changed, 798 insertions(+), 872 deletions(-)

diff --git a/HTML/views/StatisticalReport/InOutBoundReports.html b/HTML/views/StatisticalReport/InOutBoundReports.html
index ef16498..1ecaca7 100644
--- a/HTML/views/StatisticalReport/InOutBoundReports.html
+++ b/HTML/views/StatisticalReport/InOutBoundReports.html
@@ -1,129 +1,134 @@
 <!DOCTYPE html>
 <html>
-	<head>
-		<meta charset="utf-8">
-		<title>鍑哄叆搴撴姤琛�</title>
-		<meta name="renderer" content="webkit">
-		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-		<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
-		<link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
-		<link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
-		<link rel="stylesheet" href="../../css/public.css" media="all">
-		<style type="text/css">
-			.layui-form-item .layui-inline {
-			    margin-bottom: 1px;
-			    margin-right: 1px;
-			}
-			
-		</style>
-		
-		<script>
-			// 杩欓噷鏄渶瑕佸湪椤甸潰娓叉煋涔嬪墠鎵ц鐨勪唬鐮�
-			document.addEventListener("DOMContentLoaded", function() {				
-				//鑾峰彇table榛樿鏄剧ず鏁�
-				pageCntFirst();
-				//鍒ゆ柇鏄惁寮�鍚痶able鍒楄〃鍒楀璋冩暣鍔熻兘銆�
-				GetIsSetColW();
-			});
-		  </script>
-	</head>
-	<body id="body">
 
-		<div class="layui-fluid" style="padding-bottom: 0;">
-			<div class="layui-card">
-				<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 zongdan" >
-							<label class="layui-form-label" style="width: 60px;">鐗╂枡缂栫爜</label>
-							<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
-								<input type="text" id="SkuNo"  name="SkuNo" placeholder="鐗╂枡缂栫爜" autocomplete="off" class="layui-input">
-							</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;">
-								<input type="text" id="SkuName"  name="SkuName" placeholder="鐗╂枡鍚嶇О" autocomplete="off" class="layui-input">
-							</div>
-						</div>
-						<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="LotNo"  name="LotNo" placeholder="鎵规鍙�" autocomplete="off" class="layui-input">
-							</div>
-						</div>
-                        <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="PalletNo"  name="PalletNo" placeholder="鎵樼洏鍙�" autocomplete="off" class="layui-input">
-							</div>
-						</div>
+<head>
+	<meta charset="utf-8">
+	<title>鍑哄叆搴撴姤琛�</title>
+	<meta name="renderer" content="webkit">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+	<meta name="viewport"
+		content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+	<link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
+	<link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
+	<link rel="stylesheet" href="../../css/public.css" media="all">
+	<style type="text/css">
+		.layui-form-item .layui-inline {
+			margin-bottom: 1px;
+			margin-right: 1px;
+		}
+	</style>
 
-                        <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"
-									placeholder="寮�濮嬫椂闂�">
-							</div>
-						</div>
-						<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="EndTime" class="layui-input"
-									placeholder="缁撴潫鏃堕棿">
-							</div>
-						</div>
+	<script>
+		// 杩欓噷鏄渶瑕佸湪椤甸潰娓叉煋涔嬪墠鎵ц鐨勪唬鐮�
+		document.addEventListener("DOMContentLoaded", function () {
+			//鑾峰彇table榛樿鏄剧ず鏁�
+			pageCntFirst();
+			//鍒ゆ柇鏄惁寮�鍚痶able鍒楄〃鍒楀璋冩暣鍔熻兘銆�
+			GetIsSetColW();
+		});
+	</script>
+</head>
 
-						<div class="layui-inline sousuo">
-							<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="LAY-app-contlist-search">
-								<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鎼滅储
-							</button>
-							<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
-								lay-filter="daochu">
-								<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>瀵煎嚭
-							</button> 
+<body id="body">
+
+	<div class="layui-fluid" style="padding-bottom: 0;">
+		<div class="layui-card">
+			<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 zongdan">
+						<label class="layui-form-label" style="width: 60px;">鐗╂枡缂栫爜</label>
+						<div class="layui-input-inline" style="width: 170px; margin-right: 0px;">
+							<input type="text" id="SkuNo" name="SkuNo" placeholder="鐗╂枡缂栫爜" autocomplete="off"
+								class="layui-input">
 						</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;">
+							<input type="text" id="SkuName" name="SkuName" placeholder="鐗╂枡鍚嶇О" autocomplete="off"
+								class="layui-input">
+						</div>
+					</div>
+					<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="LotNo" name="LotNo" placeholder="鎵规鍙�" autocomplete="off"
+								class="layui-input">
+						</div>
+					</div>
+					<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="PalletNo" name="PalletNo" placeholder="鎵樼洏鍙�" autocomplete="off"
+								class="layui-input">
+						</div>
+					</div>
+
+					<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" placeholder="寮�濮嬫椂闂�">
+						</div>
+					</div>
+					<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="EndTime" class="layui-input" placeholder="缁撴潫鏃堕棿">
+						</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">
+							<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>鎼滅储
+						</button>
+						<button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit lay-filter="daochu">
+							<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>瀵煎嚭
+						</button>
+					</div>
+
+
 				</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>
 
-							<div id="center"></div>
 
-							<div class="layui-tab-content">
-								<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 鑷畾涔夎〃澶� -->
-										<div class="headerSetIcon">
-											<button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols">
-												<i class="layui-icon">&#xe610;</i>
-											</button>
-										</div>
-										<!-- #endregion -->
+			<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 class="layui-tab-content">
+							<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 鑷畾涔夎〃澶� -->
+									<div class="headerSetIcon">
+										<button class="layui-btn layui-btn-primary layui-btn-sm" data-type="customCols">
+											<i class="layui-icon">&#xe610;</i>
+										</button>
 									</div>
+									<!-- #endregion -->
 								</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 -->
+							</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">
+									<!-- #region 鑷畾涔夎〃澶� -->
+									<script type="text/html" id="templetCompleteTime">
 											{{# function GetBtn(d){
 													return formatDate(d.CompleteTime);
 												}	
@@ -131,590 +136,465 @@
 											{{ GetBtn(d) }}
 										</script>
 
-										<script type="text/html" id="templetCCreateTime">
+									<script type="text/html" id="templetCCreateTime">
 											{{# function GetBtn1(d){
 													return formatDate(d.CCreateTime);
 												}	
 											}}
 											{{ GetBtn1(d) }}
 										</script>
-										<!-- #endregion -->
-									</div>
+									<!-- #endregion -->
 								</div>
 							</div>
 						</div>
-						
 					</div>
-					
+
 				</div>
+
 			</div>
 		</div>
+	</div>
 
-		<script src="../../layuiadmin/layui/layui.js"></script>
-		<script src="../../js/public.js"></script>
-		<script src="../../js/jquery-3.5.1.min.js"></script>
-		<script src="../../js/jquery.cookie.js"></script>
-		<script>
-			var uid = $.cookie('userId');
-			layui.config({
-				base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
-			}).extend({
-				index: 'lib/index' //涓诲叆鍙fā鍧�
-			}).use(['index', 'table', 'laypage', 'layer','element','laydate'], function() {
-				var table = layui.table,
-					form = layui.form,
-					laypage = layui.laypage,
-					layer = layui.layer;
-					element = layui.element;
-					laydate = layui.laydate;
+	<script src="../../layuiadmin/layui/layui.js"></script>
+	<script src="../../js/public.js"></script>
+	<script src="../../js/jquery-3.5.1.min.js"></script>
+	<script src="../../js/jquery.cookie.js"></script>
+	<script>
+		var uid = $.cookie('userId');
+		layui.config({
+			base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+		}).extend({
+			index: 'lib/index' //涓诲叆鍙fā鍧�
+		}).use(['index', 'table', 'laypage', 'layer', 'element', 'laydate'], function () {
+			var table = layui.table,
+				form = layui.form,
+				laypage = layui.laypage,
+				layer = layui.layer;
+			element = layui.element;
+			laydate = layui.laydate;
 
-				var h1 = GetTableTabHeight();
-                
-				laydate.render({
-					elem: '#StartTime',
-					format: 'yyyy-MM-dd' //鍙换鎰忕粍鍚�
-				});
-				laydate.render({
-					elem: '#EndTime',
-					format: 'yyyy-MM-dd' //鍙换鎰忕粍鍚�
-				});
-				//鑾峰彇褰撳墠鏃堕棿
-				function getNowTime() {
-					var date = new Date();
-					//骞� getFullYear()锛氬洓浣嶆暟瀛楄繑鍥炲勾浠�
-					var year = date.getFullYear(); //getFullYear()浠f浛getYear()
-					//鏈� getMonth()锛�0 ~ 11
-					var month = date.getMonth() + 1;
-					//鏃� getDate()锛�(1 ~ 31)
-					var day = date.getDate();
-					//鏃� getHours()锛�(0 ~ 23)
-					var hour = date.getHours();
-					//鍒� getMinutes()锛� (0 ~ 59)
-					var minute = date.getMinutes();
-					//绉� getSeconds()锛�(0 ~ 59)
-					var second = date.getSeconds();
-					
-					var time = year + addZero(month) + addZero(day) + addZero(hour) + addZero(minute) + addZero(second);
-					return time;
-					
-					//灏忎簬10鐨勬嫾鎺ヤ笂0瀛楃涓�
-					
-				};
-				function addZero(s) {
-					return s < 10 ? ('0' + s) : s;
-				};
-            
-                var myDate = new Date();
-                console.log(myDate.getFullYear()+'-'+(myDate.getMonth() + 1)+'-'+myDate.getDate()+' 00:00:00')
-                myDate.getFullYear(); //鑾峰彇瀹屾暣鐨勫勾浠�(4浣�,1970-????)
-                myDate.getMonth(); //鑾峰彇褰撳墠鏈堜唤(0-11,0浠h〃1鏈�)
-                myDate.getDate(); //鑾峰彇褰撳墠鏃�(1-31)
-                // 姣忔棩鍒濆鏃堕棿
-                var chudate = myDate.getFullYear()+'-'+(myDate.getMonth() + 1)+'-'+myDate.getDate()+' 00:00:00'
-                var jiedate = myDate.getFullYear()+'-'+(myDate.getMonth() + 1)+'-'+myDate.getDate()+' 23:59:59'
-				var $ = layui.$;
-				var yemianid =0;
-				refreshTable("","","","","");
+			var h1 = GetTableTabHeight();
 
-				// 琛ㄥ崟闇�瑕佺殑鍙橀噺
-				var infoOptions;
-				//#region 鍘熷闈炶嚜瀹氫箟鍒�
-				// infoOptions = {
-				// 	elem: '#LAY-app-content-list',
-				// 	height: 'full-164',
-				// 	id: 'LAY-app-content-list',
-				// 	page: true,
-				// 	limit: pageCnt,
-				// 	limits: pageLimits,
-				// 	even: true,
-				// 	cellMinWidth: 80, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板
-				// 	cols: 
-				// 	[[
-                //         {
-                //             title: '搴忓彿',  type: 'numbers',  fixed: 'left'
-                //         },
-                //         {
-                //             field: 'LotNo', title: '鎵规鍙�', align: 'center',
-                //         },
-                //         {
-                //             field: 'SkuNo', title: '鐗╂枡缂栫爜', align: 'center'
-                //         },
-                //         {
-                //             field: 'SkuName', title: '鐗╂枡鍚嶇О', align: 'center',
-                //         },
-                //         {
-                //             field: 'RQty', title: '鍏ュ簱鏁伴噺', align: 'center'
-                //         },
-                //         {
-                //             field: 'RFactQty', title: '宸茬粍鏁伴噺', align: 'center',
-                //         },
-                //         {
-                //             field: 'RCompleteQty', title: '瀹屾垚鏁伴噺', align: 'center'
-                //         },
-                //         {
-                //             field: 'CQty', title: '鍑哄簱鏁伴噺', align: 'center'
-                //         },
-                //         {
-                //             field: 'CAllotQty', title: '鍒嗛厤鏁伴噺', align: 'center'
-                //         },
-                //         {
-                //             field: 'CFactQty', title: '涓嬫灦鏁伴噺', align: 'center',
-                //         },
-                //         {
-                //             field: 'CompleteQty', title: '鎷h揣鏁伴噺', align: 'center'
-                //         },
-                        
-				// 	]]
-				// };
-                //#endregion
-				
+			laydate.render({
+				elem: '#StartTime',
+				format: 'yyyy-MM-dd' //鍙换鎰忕粍鍚�
+			});
+			laydate.render({
+				elem: '#EndTime',
+				format: 'yyyy-MM-dd' //鍙换鎰忕粍鍚�
+			});
+			//鑾峰彇褰撳墠鏃堕棿
+			function getNowTime() {
+				var date = new Date();
+				//骞� getFullYear()锛氬洓浣嶆暟瀛楄繑鍥炲勾浠�
+				var year = date.getFullYear(); //getFullYear()浠f浛getYear()
+				//鏈� getMonth()锛�0 ~ 11
+				var month = date.getMonth() + 1;
+				//鏃� getDate()锛�(1 ~ 31)
+				var day = date.getDate();
+				//鏃� getHours()锛�(0 ~ 23)
+				var hour = date.getHours();
+				//鍒� getMinutes()锛� (0 ~ 59)
+				var minute = date.getMinutes();
+				//绉� getSeconds()锛�(0 ~ 59)
+				var second = date.getSeconds();
+
+				var time = year + addZero(month) + addZero(day) + addZero(hour) + addZero(minute) + addZero(second);
+				return time;
+
+				//灏忎簬10鐨勬嫾鎺ヤ笂0瀛楃涓�
+
+			};
+			function addZero(s) {
+				return s < 10 ? ('0' + s) : s;
+			};
+
+			var myDate = new Date();
+			console.log(myDate.getFullYear() + '-' + (myDate.getMonth() + 1) + '-' + myDate.getDate() + ' 00:00:00')
+			myDate.getFullYear(); //鑾峰彇瀹屾暣鐨勫勾浠�(4浣�,1970-????)
+			myDate.getMonth(); //鑾峰彇褰撳墠鏈堜唤(0-11,0浠h〃1鏈�)
+			myDate.getDate(); //鑾峰彇褰撳墠鏃�(1-31)
+			// 姣忔棩鍒濆鏃堕棿
+			var chudate = myDate.getFullYear() + '-' + (myDate.getMonth() + 1) + '-' + myDate.getDate() + ' 00:00:00'
+			var jiedate = myDate.getFullYear() + '-' + (myDate.getMonth() + 1) + '-' + myDate.getDate() + ' 23:59:59'
+			var $ = layui.$;
+			var yemianid = 0;
+			refreshTable("", "", "", "", "");
+
+			// 琛ㄥ崟闇�瑕佺殑鍙橀噺
+			var infoOptions;
+			//#region 鑷畾涔夎〃澶�
+			var TotalColsArr = [[
+				{ field: '', title: '搴忓彿', type: 'numbers', fixed: 'left', "disabled": true },
+				{ field: 'LotNo', title: '鎵规鍙�', align: 'center' },
+				{ field: 'SkuNo', title: '鐗╂枡缂栫爜', align: 'center' },
+				{ field: 'SkuName', title: '鐗╂枡鍚嶇О', align: 'center' },
+				{ field: 'RQty', title: '鍏ュ簱鏁伴噺', align: 'center' },
+				{ field: 'RFactQty', title: '宸茬粍鏁伴噺', align: 'center' },
+				{ field: 'RCompleteQty', title: '瀹屾垚鏁伴噺', align: 'center' },
+				{ field: 'CQty', title: '鍑哄簱鏁伴噺', align: 'center' },
+				{ field: 'CAllotQty', title: '鍒嗛厤鏁伴噺', align: 'center' },
+				{ field: 'CFactQty', title: '涓嬫灦鏁伴噺', align: 'center' },
+				{ field: 'CompleteQty', title: '鎷h揣鏁伴噺', align: 'center' }
+			]];
+			var TotalColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
+			//#endregion
+			//鑾峰彇鍑哄叆搴撴�婚噺
+			function refreshTable(SkuNo, SkuName, LotNo, StartTime, EndTime) {
 				//#region 鑷畾涔夎〃澶�
-				var TotalColsArr = [[
-							{field: '',title: '搴忓彿',type:'numbers',fixed: 'left', "disabled": true},
-                        	{field: 'LotNo', title: '鎵规鍙�', align: 'center'},
-                        	{field: 'SkuNo', title: '鐗╂枡缂栫爜', align: 'center'},
-                        	{field: 'SkuName', title: '鐗╂枡鍚嶇О', align: 'center'},
-                        	{field: 'RQty', title: '鍏ュ簱鏁伴噺', align: 'center'},
-                        	{field: 'RFactQty', title: '宸茬粍鏁伴噺', align: 'center'},
-                        	{field: 'RCompleteQty', title: '瀹屾垚鏁伴噺', align: 'center'},
-                        	{field: 'CQty', title: '鍑哄簱鏁伴噺', align: 'center'},
-                        	{field: 'CAllotQty', title: '鍒嗛厤鏁伴噺', align: 'center'},
-                        	{field: 'CFactQty', title: '涓嬫灦鏁伴噺', align: 'center'},
-                        	{field: 'CompleteQty', title: '鎷h揣鏁伴噺', align: 'center'}
-						]];
-				var TotalColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
-				//#endregion
-				//鑾峰彇鍑哄叆搴撴�婚噺
-                function refreshTable(SkuNo,SkuName,LotNo,StartTime,EndTime) {
-					//#region 鑷畾涔夎〃澶�
-					var colsJson
-					var param1={
-						Href:'Statistical/GetTotalRecord'
-					};
-					sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function(res) {
-						if (res.code == 0){							
-							if(res.data=='' || res.data==undefined || res.data==null){
-								colsJson=TotalColsArr
-							}else{
-								colsJson= eval(res.data);
-							}
-						}else{
-							colsJson=TotalColsArr
+				var colsJson
+				var param1 = {
+					Href: 'Statistical/GetTotalRecord'
+				};
+				sendData(IP + "/Sys/GetTableColsByUserId", param1, 'post', function (res) {
+					if (res.code == 0) {
+						if (res.data == '' || res.data == undefined || res.data == null) {
+							colsJson = TotalColsArr
+						} else {
+							colsJson = eval(res.data);
 						}
-						infoOptions = {
-							elem: '#LAY-app-content-list',
-							height: h1,
-							id: 'LAY-app-content-list',
-							page: true,
-							limit: pageCnt,
-							limits: pageLimits,
-							even: true,
-							cellMinWidth: 80, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板
-							done: function(){
-								//鑷畾涔夊垪瀹�
-								SetTableColW('LAY-app-content-list','Statistical/GetTotalRecord',TotalColsSysArr);
-							}, 
-							cols:colsJson
-						};
+					} else {
+						colsJson = TotalColsArr
+					}
+					infoOptions = {
+						elem: '#LAY-app-content-list',
+						height: h1,
+						id: 'LAY-app-content-list',
+						page: true,
+						limit: pageCnt,
+						limits: pageLimits,
+						even: true,
+						cellMinWidth: 80, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板
+						done: function () {
+							//鑷畾涔夊垪瀹�
+							SetTableColW('LAY-app-content-list', 'Statistical/GetTotalRecord', TotalColsSysArr);
+						},
+						cols: colsJson
+					};
 
+					var param = {
+						SkuNo: SkuNo, //鐗╂枡鍙�
+						SkuName: SkuName, //鐗╂枡鍚嶇О
+						LotNo: LotNo, //鎵规鍙�
+						StartTime: StartTime, //寮�濮嬫椂闂�
+						EndTime: EndTime, //缁撴潫鏃堕棿
+						//StartTime:StartTime?""=chudate:StartTime, //寮�濮嬫椂闂�
+						//EndTime:EndTime?""=jiedate:EndTime, //缁撴潫鏃堕棿
+					};
+					// if(StartTime == "")
+					// {
+					// 	param.StartTime = chudate;
+					// }
+					// if(EndTime == "")
+					// {
+					// 	param.EndTime = jiedate;
+					// }
+					console.log(param)
+					//sendData(IP + "/Statistical/GetBindList?SkuNo="+$("#SkuNo").val()+"&&SkuName="+$("#SkuName").val()+"&&PalletNo="+$("#PalletNo").val()+"&&LotNo="+$("#LotNo").val()+"&&BoxNo="+$("#BoxNo").val()+"&&Status="+$("#Status").val()+"&&InspectMark="+$("#InspectMark").val()+"&&BitPalletMark="+$("#BitPalletMark").val()+"&&BitBoxMark="+$("#BitBoxMark").val()+"&&InspectStatus="+$("#InspectStatus").val(), {}, 'post', function(res) {
+					sendData(IP + "/Statistical/GetTotalRecord", param, 'get', function (res) {
+						console.log(res)
+						if (res.code == 0) { //鎴愬姛
+							var list = res.data;
+							$.extend(infoOptions, {
+								data: list
+							});
+							infoOptions.page = {
+								curr: 1
+							}
+							tableIns = table.render(infoOptions);
+						}
+						else { //涓嶆垚鍔�
+							layer.msg('鑾峰彇鎬婚噺鍒楄〃淇℃伅澶辫触锛�', {
+								icon: 2,
+								time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+							}, function () { });
+						}
+					});
+				});
+				//#endregion
+
+			}
+
+			// 琛ㄥ崟闇�瑕佺殑鍙橀噺
+			var infoOptions2;
+
+			//鑾峰彇鏄庣粏淇℃伅
+			//#region 鑷畾涔夎〃澶�
+			var DetailColsArr = [[
+				{ field: '', title: '搴忓彿', type: 'numbers', width: 70, fixed: 'left', "disabled": true },
+				{ field: 'ASNNo', title: '鍏ュ簱鍗曞彿', align: 'center', width: 100 },
+				{ field: 'SONo', title: '鍑哄簱鍗曞彿', align: 'center', width: 100 },
+				{ field: 'LotNo', title: '鎵规鍙�', align: 'center', width: 100 },
+				{ field: 'SupplierLot', title: '渚涜揣鎵规', align: 'center', width: 100 },
+				{ field: 'SkuNo', title: '鐗╂枡缂栫爜', align: 'center', width: 100 },
+				{ field: 'SkuName', title: '鐗╂枡鍚嶇О', align: 'center', width: 100 },
+				{ field: 'PalletNo', title: '鎵樼洏鍙�', align: 'center', width: 100 },
+				{ field: 'LotText', title: '鎵规鎻忚堪', align: 'center', width: 100 },
+				{ field: 'CompleteTime', title: '鍏ュ簱鏃堕棿', align: 'center', width: 160, templet: '#templetCompleteTime' },
+				{ field: 'RQty', title: '鍏ュ簱鏁伴噺', align: 'center', width: 100 },
+				{ field: 'RFactQty', title: '宸茬粍鏁伴噺', align: 'center' },
+				{ field: 'RCompleteQty', title: '瀹屾垚鏁伴噺', align: 'center', width: 100 },
+				{ field: 'CCreateTime', title: '鎷h揣鏃堕棿', align: 'center', width: 160, templet: '#templetCCreateTime' },
+				{ field: 'CQty', title: '鍑哄簱鏁伴噺', align: 'center', width: 100 },
+				{ field: 'CAllotQty', title: '鍒嗛厤鏁伴噺', align: 'center', width: 100 },
+				{ field: 'CFactQty', title: '涓嬫灦鏁伴噺', align: 'center', width: 100 },
+				{ field: 'CompleteQty', title: '鎷h揣鏁伴噺', align: 'center', width: 100 },
+			]];
+			var DetailColsSysArr = encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
+			//#endregion
+			function refreshTable2(SkuNo, SkuName, LotNo, PalletNo, StartTime, EndTime) {
+				//#region 鑷畾涔夎〃澶�
+				var colsJson2
+				var param1 = {
+					Href: 'Statistical/GetDetailedRecord'
+				};
+				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/GetDetailedRecord', DetailColsSysArr);
+						},
+						cols: colsJson2
+					};
+
+					var param = {
+						SkuNo: SkuNo,
+						SkuName: SkuName,
+						LotNo: LotNo,
+						PalletNo: PalletNo,
+						StartTime: StartTime,
+						EndTime: EndTime
+					}
+					//sendData(IP + "/Statistical/GetBoxInfor?Id="+Id+"&&SkuNo="+$("#SkuNo").val()+"&&SkuName="+$("#SkuName").val()+"&&PalletNo="+$("#PalletNo").val()+"&&LotNo="+$("#LotNo").val()+"&&BoxNo="+$("#BoxNo").val()+"&&Status="+$("#Status").val()+"&&InspectMark="+$("#InspectMark").val()+"&&BitBoxMark="+$("#BitBoxMark").val()+"&&InspectStatus="+$("#InspectStatus").val(), {}, 'get', function(res) {
+					sendData(IP + "/Statistical/GetDetailedRecord", param, 'get', function (res) {
+						console.log(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 quanlotno = '';
+			let quanskuno = '';
+			let quanskuname = '';
+			//鐩戝惉鎼滅储
+			form.on('submit(LAY-app-contlist-search)', function (data) {
+				var SkuNo = $("#SkuNo").val();
+				var SkuName = $("#SkuName").val();
+				var LotNo = $("#LotNo").val();
+				var StartTime = $("#StartTime").val();
+				var EndTime = $("#EndTime").val();
+				var PalletNo = $("#PalletNo").val();
+
+
+				if (yemianid == 0) {
+					console.log("鎬诲崟");
+					refreshTable(SkuNo, SkuName, LotNo, StartTime, EndTime);
+				} else if (yemianid == 1) {
+					quanlotno = '';
+					quanskuno = '';
+					quanskuname = '';
+					console.log("鏄庣粏");
+					refreshTable2(quanskuno, quanskuname, quanlotno, PalletNo, StartTime, EndTime);
+				}
+
+			});
+			//瑙﹀彂琛屽弻鍑讳簨浠�
+			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.data);
+				quanlotno = obj.data.LotNo;
+				quanskuno = obj.data.SkuNo;
+				quanskuname = obj.data.SkuName;
+				refreshTable2(obj.data.SkuNo, obj.data.SkuName, obj.data.LotNo, "", "", "");
+				yemianid = 1;
+			});
+
+			//鐩戝惉Tab鍒囨崲锛屼互鏀瑰彉鍦板潃hash鍊�
+			element.on('tab(docDemoTabBrief)', function (data) {
+				console.log(data.index);
+				yemianid = data.index
+				if (yemianid == 0) {
+					console.log("鎬诲崟");
+					refreshTable("", "", "", "", "");
+				} else if (yemianid == 1) {
+					console.log("鏄庣粏");
+					refreshTable2(quanskuno, quanskuname, quanlotno, "", "", "");
+				}
+			});
+			var doing = true;
+			// ------------------------------------璇︽儏---------------------------------------------------
+			table.on('tool(LAY-app-content-list2)', function (obj) {
+				console.log(obj)
+				var data = obj.data;
+				//璇︽儏
+				if (obj.event === 'edit') {
+					BoxNo = data.BoxNo;
+					console.log(data)
+					layer.open({
+						type: 2,
+						title: '绠辨敮璇︽儏淇℃伅',
+						content: 'BoxSupportInfor.html?BoxNo=' + BoxNo,
+						maxmin: true,
+						area: ['80%', '85%'],
+						btn: ['鍏抽棴'],
+						yes: function (index, layero) {
+							var iframeWindow = window['layui-layer-iframe' + index],
+								submitID = 'layuiadmin-app-form-edit',
+								submit = layero.find('iframe').contents().find('#' + submitID);
+							if (doing) {
+								doing = false;
+
+								layer.close(index); //鍏抽棴寮瑰眰
+								refreshTable();
+								doing = true;
+
+
+							}
+						}
+					});
+				}
+			});
+
+			form.on('submit(daochu)', function () {
+				layer.confirm('纭畾瀵煎嚭褰撳墠鏁版嵁鍚楋紵', function (index) {
+					if (yemianid == 0) {
+						//console.log("鎬诲崟"); 
 						var param = {
-						SkuNo:SkuNo, //鐗╂枡鍙�
-						SkuName:SkuName, //鐗╂枡鍚嶇О
-						LotNo:LotNo, //鎵规鍙�
-                        StartTime:StartTime, //寮�濮嬫椂闂�
-                        EndTime:EndTime, //缁撴潫鏃堕棿
-                        //StartTime:StartTime?""=chudate:StartTime, //寮�濮嬫椂闂�
-                        //EndTime:EndTime?""=jiedate:EndTime, //缁撴潫鏃堕棿
+							SkuNo: $("#SkuNo").val(),
+							SkuName: $("#SkuName").val(),
+							LotNo: $("#LotNo").val(),
+							StartTime: $("#StartTime").val(),
+							EndTime: $("#EndTime").val(),
 						};
-						// if(StartTime == "")
-						// {
-						// 	param.StartTime = chudate;
-						// }
-						// if(EndTime == "")
-						// {
-						// 	param.EndTime = jiedate;
-						// }
-						console.log(param)
-						//sendData(IP + "/Statistical/GetBindList?SkuNo="+$("#SkuNo").val()+"&&SkuName="+$("#SkuName").val()+"&&PalletNo="+$("#PalletNo").val()+"&&LotNo="+$("#LotNo").val()+"&&BoxNo="+$("#BoxNo").val()+"&&Status="+$("#Status").val()+"&&InspectMark="+$("#InspectMark").val()+"&&BitPalletMark="+$("#BitPalletMark").val()+"&&BitBoxMark="+$("#BitBoxMark").val()+"&&InspectStatus="+$("#InspectStatus").val(), {}, 'post', function(res) {
-						sendData(IP + "/Statistical/GetTotalRecord", param, 'get', function(res) {
-							console.log(res)
+						sendData(IP + "/Statistical/GetTotalRecord", param, 'get', function (res) {
+							//console.log(res);
 							if (res.code == 0) { //鎴愬姛
 								var list = res.data;
-								$.extend(infoOptions, {
-									data: list
+								table.exportFile(tableIns.config.id, list, 'xls', "鍑哄叆搴撴姤琛ㄦ�昏〃" + getNowTime(),); //data 涓鸿瀹炰緥涓殑浠绘剰鏁伴噺鐨勬暟鎹�
+								layer.msg('瀵煎嚭鎴愬姛锛�', {
+									icon: 1,
+									time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+								}, function () {
+
 								});
-								infoOptions.page = {
-									curr: 1
-								}
-								tableIns = table.render(infoOptions);
-							}
-							else { //涓嶆垚鍔�
-								layer.msg('鑾峰彇鎬婚噺鍒楄〃淇℃伅澶辫触锛�', {
+
+							} else { //涓嶆垚鍔�
+								layer.msg('鑾峰彇淇℃伅澶辫触锛�', {
 									icon: 2,
 									time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function() {});
+								}, function () { });
 							}
 						});
-					});
-					//#endregion
-					
-                }                
-
-				// 琛ㄥ崟闇�瑕佺殑鍙橀噺
-				var infoOptions2;
-				//#region 鍘熷闈炶嚜瀹氫箟鍒�
-				// infoOptions2 = {
-				// 	elem: '#LAY-app-content-list2',
-				// 	height: 'full-164',
-				// 	id: 'LAY-app-content-list2',
-				// 	page: true,
-				// 	limit: pageCnt,
-				// 	limits: pageLimits,
-				// 	even: true,
-				// 	cellMinWidth: 80, //鍏ㄥ眬瀹氫箟甯歌鍗曞厓鏍肩殑鏈�灏忓搴︼紝layui 2.2.1 鏂板
-				// 	cols: 
-				// 	[[
-                //     {
-                //             title: '搴忓彿',  type: 'numbers',  fixed: 'left', width: 70
-                //         },
-                //         {
-                //             field: 'ASNNo', title: '鍏ュ簱鍗曞彿', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'SONo', title: '鍑哄簱鍗曞彿', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'LotNo', title: '鎵规鍙�', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'SupplierLot', title: '渚涜揣鎵规', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'SkuNo', title: '鐗╂枡缂栫爜', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'SkuName', title: '鐗╂枡鍚嶇О', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'PalletNo', title: '鎵樼洏鍙�', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'LotText', title: '鎵规鎻忚堪', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'CompleteTime', title: '鍏ュ簱鏃堕棿', align: 'center', width: 160,
-                //             templet: function(d) {
-                //                 return formatDate(d.CompleteTime);
-                //             },
-                //         },
-                //         {
-                //             field: 'RQty', title: '鍏ュ簱鏁伴噺', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'RFactQty', title: '宸茬粍鏁伴噺', align: 'center',
-                //         },
-                //         {
-                //             field: 'RCompleteQty', title: '瀹屾垚鏁伴噺', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'CCreateTime', title: '鎷h揣鏃堕棿', align: 'center',width: 160,
-                //             templet: function(d) {
-                //                 return formatDate(d.CCreateTime);
-                //             },
-                //         },
-                //         {
-                //             field: 'CQty', title: '鍑哄簱鏁伴噺', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'CAllotQty', title: '鍒嗛厤鏁伴噺', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'CFactQty', title: '涓嬫灦鏁伴噺', align: 'center', width: 100
-                //         },
-                //         {
-                //             field: 'CompleteQty', title: '鎷h揣鏁伴噺', align: 'center', width: 100
-                //         },
-				// 	]]
-				// };
-                //#endregion
-				
-				//鑾峰彇鏄庣粏淇℃伅
-				//#region 鑷畾涔夎〃澶�
-				var DetailColsArr = [[
-					{field: '',title: '搴忓彿',type:'numbers',width: 70,fixed: 'left', "disabled": true},
-					{field: 'ASNNo', title: '鍏ュ簱鍗曞彿', align: 'center', width: 100},
-					{field: 'SONo', title: '鍑哄簱鍗曞彿', align: 'center', width: 100},
-					{field: 'LotNo', title: '鎵规鍙�', align: 'center', width: 100},
-					{field: 'SupplierLot', title: '渚涜揣鎵规', align: 'center', width: 100},
-					{field: 'SkuNo', title: '鐗╂枡缂栫爜', align: 'center', width: 100},
-					{field: 'SkuName', title: '鐗╂枡鍚嶇О', align: 'center', width: 100},
-					{field: 'PalletNo', title: '鎵樼洏鍙�', align: 'center', width: 100},
-					{field: 'LotText', title: '鎵规鎻忚堪', align: 'center', width: 100},
-					{field: 'CompleteTime', title: '鍏ュ簱鏃堕棿', align: 'center', width: 160,templet: '#templetCompleteTime'},
-					{field: 'RQty', title: '鍏ュ簱鏁伴噺', align: 'center', width: 100},
-					{field: 'RFactQty', title: '宸茬粍鏁伴噺', align: 'center'},
-					{field: 'RCompleteQty', title: '瀹屾垚鏁伴噺', align: 'center', width: 100},
-					{field: 'CCreateTime', title: '鎷h揣鏃堕棿', align: 'center',width: 160,templet: '#templetCCreateTime'},
-					{field: 'CQty', title: '鍑哄簱鏁伴噺', align: 'center', width: 100},
-					{field: 'CAllotQty', title: '鍒嗛厤鏁伴噺', align: 'center', width: 100},
-					{field: 'CFactQty', title: '涓嬫灦鏁伴噺', align: 'center', width: 100},
-					{field: 'CompleteQty', title: '鎷h揣鏁伴噺', align: 'center', width: 100},
-				]];
-				var DetailColsSysArr=encodeURIComponent(encodeURIComponent(JSON.stringify(DetailColsArr)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
-				//#endregion
-				function refreshTable2(SkuNo,SkuName,LotNo,PalletNo,StartTime,EndTime) {
-					//#region 鑷畾涔夎〃澶�
-					var colsJson2
-					var param1={
-						Href:'Statistical/GetDetailedRecord'
-					};
-					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/GetDetailedRecord',DetailColsSysArr);
-							},
-							cols:colsJson2
-						};
-						
+					} else if (yemianid == 1) {
+						//console.log("璁板綍");
 						var param = {
-							SkuNo:SkuNo,
-							SkuName:SkuName,
-							LotNo:LotNo,
-							PalletNo:PalletNo,
-							StartTime:StartTime,
-							EndTime:EndTime
-						}
-						//sendData(IP + "/Statistical/GetBoxInfor?Id="+Id+"&&SkuNo="+$("#SkuNo").val()+"&&SkuName="+$("#SkuName").val()+"&&PalletNo="+$("#PalletNo").val()+"&&LotNo="+$("#LotNo").val()+"&&BoxNo="+$("#BoxNo").val()+"&&Status="+$("#Status").val()+"&&InspectMark="+$("#InspectMark").val()+"&&BitBoxMark="+$("#BitBoxMark").val()+"&&InspectStatus="+$("#InspectStatus").val(), {}, 'get', function(res) {
-						sendData(IP + "/Statistical/GetDetailedRecord", param, 'get', function(res) {
-							console.log(res)
-							if (res.code == 0) //鎴愬姛
-							{
-								var list = res.data;
-								$.extend(infoOptions2, {
-									data: list
+							skuNo: quanskuno,
+							SkuName: $("#SkuName").val(),
+							LotNo: $("#LotNo").val(),
+							PalletNo: $("#PalletNo").val(),
+							StartTime: $("#StartTime").val(),
+							EndTime: $("#EndTime").val(),
+
+						};
+						sendData(IP + "/Statistical/GetDetailedRecord", param, 'get', function (res) {
+							//console.log(res);
+							if (res.code == 0) { //鎴愬姛
+								var list = res.data; 7
+								table.exportFile(tableIns2.config.id, list, 'xls', "鍑哄叆搴撴姤琛ㄦ槑缁�" + getNowTime(),); //data 涓鸿瀹炰緥涓殑浠绘剰鏁伴噺鐨勬暟鎹�
+								layer.msg('瀵煎嚭鎴愬姛锛�', {
+									icon: 1,
+									time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+								}, function () {
+
 								});
-								infoOptions2.page = {
-									curr: 1
-								}
-								tableIns2 = table.render(infoOptions2);
-							}
-							else //涓嶆垚鍔�
-							{
-								layer.msg('鑾峰彇鏄庣粏鍒楄〃淇℃伅澶辫触锛�', {
+
+							} else { //涓嶆垚鍔�
+								layer.msg('鑾峰彇淇℃伅澶辫触锛�', {
 									icon: 2,
 									time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
-								}, function() {});
-							}
-						})
-					});
-					//#endregion					
-				}
-                
-				//var url = IP + "/Statistical/GetInventoryList1";
-				
-               
-				
-				//鎺ュ彈鍏ㄥ眬鍙橀噺
-				let quanlotno = '';
-				let quanskuno = '';
-				let quanskuname = '';
-				//鐩戝惉鎼滅储
-				form.on('submit(LAY-app-contlist-search)', function(data) {
-					var SkuNo = $("#SkuNo").val();
-					var SkuName = $("#SkuName").val();
-					var LotNo = $("#LotNo").val();
-                    var StartTime = $("#StartTime").val();
-                    var EndTime = $("#EndTime").val();
-                    var PalletNo = $("#PalletNo").val();
-
-
-					if(yemianid == 0){
-						console.log("鎬诲崟");
-						refreshTable(SkuNo,SkuName,LotNo,StartTime,EndTime);
-					}else if(yemianid == 1){
-						quanlotno = '';
-						quanskuno = '';
-						quanskuname = '';
-						console.log("鏄庣粏");
-						refreshTable2(quanskuno,quanskuname,quanlotno,PalletNo,StartTime,EndTime);
-					}
-					
-				});
-				//瑙﹀彂琛屽弻鍑讳簨浠�
-				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.data);
-					quanlotno = obj.data.LotNo;
-					quanskuno = obj.data.SkuNo;
-					quanskuname = obj.data.SkuName;
-					refreshTable2(obj.data.SkuNo,obj.data.SkuName,obj.data.LotNo,"","","");
-					yemianid=1;
-				});
-				
-				//鐩戝惉Tab鍒囨崲锛屼互鏀瑰彉鍦板潃hash鍊�
-				element.on('tab(docDemoTabBrief)', function(data){
-					console.log(data.index);
-					yemianid = data.index
-					if(yemianid == 0){
-						console.log("鎬诲崟");
-						refreshTable("","","","","");
-					}else if(yemianid == 1){
-						console.log("鏄庣粏");
-						refreshTable2(quanskuno,quanskuname,quanlotno,"","","");
-					}
-				});
-				var doing = true;
-				// ------------------------------------璇︽儏---------------------------------------------------
-				table.on('tool(LAY-app-content-list2)', function(obj) {
-					console.log(obj)
-					var data = obj.data;
-					//璇︽儏
-					if (obj.event === 'edit') {
-						BoxNo = data.BoxNo;
-						console.log(data)
-						layer.open({
-							type: 2,
-							title: '绠辨敮璇︽儏淇℃伅',
-							content: 'BoxSupportInfor.html?BoxNo=' + BoxNo,
-							maxmin: true,
-							area: ['80%', '85%'],
-							btn: ['鍏抽棴'],
-							yes: function(index, layero) {
-								var iframeWindow = window['layui-layer-iframe' + index],
-									submitID = 'layuiadmin-app-form-edit',
-									submit = layero.find('iframe').contents().find('#' + submitID);
-									if(doing)
-									{
-										doing = false;
-										
-										layer.close(index); //鍏抽棴寮瑰眰
-										refreshTable();
-										doing = true;
-												
-											
-									}
+								}, function () { });
 							}
 						});
-					} 
-				});
-
-				form.on('submit(daochu)', function () {
-					layer.confirm('纭畾瀵煎嚭褰撳墠鏁版嵁鍚楋紵', function(index) {
-						if(yemianid == 0){
-							//console.log("鎬诲崟"); 
-							var param = {
-								SkuNo:$("#SkuNo").val(),
-								SkuName:$("#SkuName").val(),
-								LotNo:$("#LotNo").val(),
-								StartTime:$("#StartTime").val(),
-								EndTime:$("#EndTime").val(),
-							};
-							sendData(IP + "/Statistical/GetTotalRecord", 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 param = {
-								skuNo:quanskuno,
-								SkuName:$("#SkuName").val(),
-								LotNo:$("#LotNo").val(),
-								PalletNo:$("#PalletNo").val(),
-								StartTime:$("#StartTime").val(),
-								EndTime:$("#EndTime").val(),
-								
-							};
-							sendData(IP + "/Statistical/GetDetailedRecord", param, 'get', function (res) {
-								//console.log(res);
-								if (res.code == 0) { //鎴愬姛
-									var list = res.data;7
-									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 () { });
-								}
-							});
-						}
-					});
-				});
-				
-
-				//#region 鑷畾涔夎〃澶�
-				//鑷畾涔夎〃澶�			
-				active = {
-					customCols: function(){
-						layer.open({
-							type: 2,
-							title: '鑷畾涔夊垪',
-							content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetTotalRecord&ColsSysArr='+TotalColsSysArr,
-							maxmin: false,
-							resize: false,
-							area: ['970px', '650px']
-						});
-					},
-					customCols2: function(){
-						layer.open({
-							type: 2,
-							title: '鑷畾涔夊垪',
-							content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetDetailedRecord&ColsSysArr='+DetailColsSysArr,
-							maxmin: false,
-							resize: false,
-							area: ['970px', '650px']
-						});
 					}
-
-				};
-				$('.layui-btn').on('click', function() {
-					var type = $(this).data('type');
-					active[type] ? active[type].call(this) : '';
 				});
-				//#endregion
 			});
-		</script>
-	</body>
-</html>
+
+
+			//#region 鑷畾涔夎〃澶�
+			//鑷畾涔夎〃澶�			
+			active = {
+				customCols: function () {
+					layer.open({
+						type: 2,
+						title: '鑷畾涔夊垪',
+						content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetTotalRecord&ColsSysArr=' + TotalColsSysArr,
+						maxmin: false,
+						resize: false,
+						area: ['970px', '650px']
+					});
+				},
+				customCols2: function () {
+					layer.open({
+						type: 2,
+						title: '鑷畾涔夊垪',
+						content: '../SystemSettings/HeaderSetting.html?Href=Statistical/GetDetailedRecord&ColsSysArr=' + DetailColsSysArr,
+						maxmin: false,
+						resize: false,
+						area: ['970px', '650px']
+					});
+				}
+
+			};
+			$('.layui-btn').on('click', function () {
+				var type = $(this).data('type');
+				active[type] ? active[type].call(this) : '';
+			});
+			//#endregion
+		});
+	</script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/Pda/View/AsnSetting/productEnterQuantity.html b/Pda/View/AsnSetting/productEnterQuantity.html
index c588260..7c7fc61 100644
--- a/Pda/View/AsnSetting/productEnterQuantity.html
+++ b/Pda/View/AsnSetting/productEnterQuantity.html
@@ -307,6 +307,18 @@
                             <tr>
                                 <td>
                                     <div id="" class="layui-form-item layout-boxinfo">
+                                        <label class="layui-form-label" lang>鏁存墭鏁伴噺锛�</label>
+                                        <div class="layui-input-block">
+                                            <input id="FullQty" type="text" disabled placeholder="" autocomplete="off"
+                                                class="layui-input">
+                                        </div>
+                                    </div>
+                                </td>
+                                <td></td>
+                            </tr>
+                            <tr>
+                                <td>
+                                    <div id="" class="layui-form-item layout-boxinfo">
                                         <label class="layui-form-label" lang>瑙勬牸/鍨嬪彿锛�</label>
                                         <div class="layui-input-block">
                                             <input id="Standard1" type="text" disabled placeholder="" autocomplete="off"
@@ -856,7 +868,7 @@
                     $("#Standard").val("");
                     $("#ImportFactQuantity").val("");
                     $("#BoxQty").val("");
-                    // $("#STOCKCODE").val("");
+                    //$("#FullQty").val("123");
                     // $("#BOXCODE").val("");
 
                     var param = {
@@ -873,9 +885,11 @@
                     });
                 }
                 else if (xianshiyemian == 1) {
+                    // 鏁伴噺
                     $("#ImportQuantity1").val("");
                     $("#Standard1").val("");
                     $("#ImportFactQuantity1").val("");
+                    $("#FullQty").val("");
 
                     var param = {
                         Id: parseInt($("#goodSelect1").val())
@@ -887,6 +901,7 @@
                             $("#ImportQuantity1").val(res.data.Qty);
                             $("#Standard1").val(res.data.Standard);
                             $("#ImportFactQuantity1").val(res.data.FactQty + "");
+                            $("#FullQty").val(res.data.UDF1);
                         }
                         else { }
                     });
diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index c3a2b0d..51dab54 100644
--- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -895,12 +895,16 @@
                 #region 閲囪喘璁″垝锛岃嫢鏄噰璐鍗曟牴鎹噰璐鍒掑崟鑷姩鐢熸垚鍏ュ簱鍗曚俊鎭�
                 if (notice.Type == "1" && !string.IsNullOrEmpty(notice.OrderCode))
                 {
+                    // 鑾峰彇閲囪喘鎬诲崟淇℃伅
+                    var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.OrderCode == notice.OrderCode && it.IsDel == "0");
                     //鍏ュ簱鍗曟槑缁�
-                    var noticeDetailList = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo).ToList();
+                    var noticeDetailList = Db.Queryable<BllArrivalNoticeDetail>()
+                        .Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo).ToList();
                     foreach (var item in noticeDetailList)
                     {
                         //閲囪喘鍗曟槑缁�
-                        var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>().First(it => it.OrderDetailCode == item.OrderDetailCode && it.IsDel == "0");
+                        var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>()
+                            .First(it => it.ParentId == planOrd.Id && it.SkuNo == item.SkuNo && it.IsDel == "0");
                         planDetail.CompleteQty += item.CompleteQty;
                         if (planDetail.CompleteQty >= planDetail.Qty)
                         {
@@ -913,8 +917,7 @@
                         }
                         Db.Updateable(planDetail).ExecuteCommand();
                     }
-                    //閲囪喘鎬诲崟淇℃伅
-                    var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.OrderCode == notice.OrderCode && it.IsDel == "0");
+                    // 缁存姢閲囪喘鎬诲崟淇℃伅
                     var planDetailNum = Db.Queryable<BllProcurePlanNoticeDetail>().Count(m => m.IsDel == "0" && m.ParentId == planOrd.Id && m.Status != "2");
                     if (planDetailNum == 0)
                     {
@@ -931,7 +934,8 @@
                         }
                     }
                     //閲囪喘鍗曟槑缁�
-                    var planDetailList = Db.Queryable<BllProcurePlanNoticeDetail>().Where(it => it.ParentId == planOrd.Id && it.IsDel == "0" && it.CompleteQty < it.Qty).ToList();
+                    var planDetailList = Db.Queryable<BllProcurePlanNoticeDetail>()
+                        .Where(it => it.ParentId == planOrd.Id && it.IsDel == "0" && it.CompleteQty < it.Qty).ToList();
                     foreach (var item in planDetailList)
                     {
                         //鍒ゆ柇鏈夋棤姝e湪鎵ц鐨�
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 118e2bc..89427b5 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -106,6 +106,19 @@
 
                 if (modelList.Count > 0)
                 {
+                    if (!string.IsNullOrWhiteSpace(modelList[0].PackagNo))
+                    {
+                        // 鏌ヨ鏁存墭鏁伴噺 姝ゅUDF1鐢ㄦ潵瀛樺偍鏁存墭鏁伴噺銆�
+                        var packagModel = Db.Queryable<SysPackag>().Where(m => m.PackagNo == modelList[0].PackagNo && m.IsDel == "0").First();
+                        switch (packagModel.Level.ToString())
+                        {
+                            case "1": modelList[0].UDF1 = packagModel.L1Num.ToString(); break;
+                            case "2": modelList[0].UDF1 = packagModel.L2Num.ToString(); break;
+                            case "3": modelList[0].UDF1 = packagModel.L3Num.ToString(); break;
+                            case "4": modelList[0].UDF1 = packagModel.L4Num.ToString(); break;
+                            default: modelList[0].UDF1 = packagModel.L5Num.ToString(); break;
+                        }
+                    }
                     return modelList[0];
                 }
 
@@ -277,7 +290,8 @@
             try
             {
                 string sqlString = string.Empty;
-                sqlString = "select b.SkuNo,b.SkuName,a.LotNo,a.Qty,a.PalletNo,a.Id from BllPalletBind a left join BllArrivalNoticeDetail b on a.ASNDetailNo = b.Id where a.IsDel = '0' and b.IsDel = '0' ";
+                sqlString = "select b.SkuNo,b.SkuName,a.LotNo,a.Qty,a.PalletNo,a.Id from BllPalletBind a " +
+                    "left join BllArrivalNoticeDetail b on a.ASNDetailNo = b.Id where a.IsDel = '0' and b.IsDel = '0' ";
                 if (!string.IsNullOrEmpty(model.PalletNo))
                 {
                     sqlString += $"and PalletNo = '{model.PalletNo}' and a.Status = '0' ";
diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index fa00550..bf573df 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -12,9 +12,12 @@
 using Model.ModelDto.SysDto;
 using Model.ModelVm.DataVm;
 using Model.ModelVm.SysVm;
+using MySqlConnector;
 using SqlSugar;
 using WMS.DAL;
 using WMS.Entity.BllAsnEntity;
+using WMS.Entity.BllQualityEntity;
+using WMS.Entity.BllSoEntity;
 using WMS.Entity.Context;
 using WMS.Entity.DataEntity;
 using WMS.Entity.SysEntity;
@@ -330,90 +333,92 @@
         /// <returns></returns>
         public List<TotalRecordDto> GetTotalRecord(string skuNo, string skuName, string lotNo, string startTime, string endTime)
         {
-            //鍏ュ簱
-            string rstr = "select LotNo,SkuNo,SkuName,SUM(Qty) RQty,SUM(FactQty) RFactQty,SUM(CompleteQty) RCompleteQty from BllArrivalNoticeDetail where IsDel = '0' ";
-            //鍑哄簱
-            string cstr = "select LotNo,SkuNo,SkuName,SUM(Qty) CQty,SUM(FactQty) CFactQty,SUM(CompleteQty) CompleteQty,SUM(AllotQty) CAllotQty from BllExportNoticeDetail where IsDel = '0' ";
-
-            //鍒ゆ柇鐗╂枡鍙锋槸鍚︿负绌�
-            if (!string.IsNullOrEmpty(skuNo))
-            {
-                rstr += " and SkuNo like @skuno";
-                cstr += " and SkuNo like @skuno";
-            }
-            //鍒ゆ柇鐗╂枡鍚嶇О鏄惁涓虹┖
-            if (!string.IsNullOrEmpty(skuName))
-            {
-                rstr += " and SkuName like @skuname";
-                cstr += " and SkuName like @skuname";
-            }
-            //鍒ゆ柇鎵规鍙锋槸鍚︿负绌�
-            if (!string.IsNullOrEmpty(lotNo))
-            {
-                rstr += " and LotNo like @lotno";
-                cstr += " and LotNo like @lotno";
-            }
-            // liudl 鏃堕棿涓嶅噯纭� 鏆傛椂娉ㄩ噴銆�
-            if (!string.IsNullOrWhiteSpace(startTime))
-            {
-                rstr += " and UpdateTime >= @startTime";
-                cstr += " and UpdateTime >= @startTime";
-            }
-            if (!string.IsNullOrWhiteSpace(endTime))
-            {
-                endTime = DateTime.Parse(endTime).AddDays(1).ToString();
-                rstr += " and UpdateTime < @endTime";
-                cstr += " and UpdateTime < @endTime";
-            }
-
-            rstr += " group by LotNo,SkuNo,SkuName";
-            cstr += " group by LotNo,SkuNo,SkuName";
-            //鍏ュ簱
-            List<TotalRecordDto> totalHListData = Db.Ado.SqlQuery<TotalRecordDto>(rstr, new
-            {
-                skuno = "%" + skuNo + "%", //鐗╂枡鍙�
-                skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
-                lotno = "%" + lotNo + "%", //鎵规鍙�
-                startTime, //寮�濮嬫椂闂�
-                endTime //缁撴潫鏃堕棿
-
-            });
-            List<TotalRecordDto> totalCListData = Db.Ado.SqlQuery<TotalRecordDto>(cstr, new
-            {
-                skuno = "%" + skuNo + "%", //鐗╂枡鍙�
-                skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
-                lotno = "%" + lotNo + "%", //鎵规鍙�
-                startTime, //寮�濮嬫椂闂�
-                endTime //缁撴潫鏃堕棿
-            });
-
-            //鍚堝苟鏁版嵁
-            int a = 0;
-            foreach (var h in totalHListData)
-            {
-                if (a >= totalCListData.Count)
+            // 鑾峰彇鍏ュ簱鍗曟槑缁嗕俊鎭�
+            var asnList = Db.Queryable<BllArrivalNoticeDetail>()
+                .Where(m => m.IsDel == "0")
+                .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo))
+                .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName.Contains(skuName))
+                .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo.Contains(lotNo))
+                .WhereIF(!string.IsNullOrWhiteSpace(startTime), a => a.CreateTime >= Convert.ToDateTime(startTime))
+                .WhereIF(!string.IsNullOrWhiteSpace(endTime), a => a.CreateTime <= Convert.ToDateTime(endTime).AddDays(1))
+                .GroupBy(a => new { a.LotNo, a.SkuNo, a.SkuName })
+                .Select(a => new TotalRecordDto()
                 {
-                    continue;
-                }
-                foreach (var c in totalCListData)
+                    LotNo=a.LotNo,
+                    SkuNo=a.SkuNo,
+                    SkuName=a.SkuName,
+                    RQty = SqlFunc.AggregateSumNoNull(a.Qty),
+                    RFactQty = (decimal)SqlFunc.AggregateSum(a.FactQty),
+                    RCompleteQty = (decimal)SqlFunc.AggregateSum(a.CompleteQty),
+                    CQty = 0,
+                    CFactQty = 0,
+                    CAllotQty = 0,
+                    CompleteQty = 0
+                });
+
+            // 鑾峰彇鍑哄簱鍗曟槑缁嗕俊鎭�
+            var soList = Db.Queryable<BllExportNoticeDetail>()
+                .Where(m => m.IsDel == "0")
+                .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo))
+                .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName.Contains(skuName))
+                .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo.Contains(lotNo))
+                .WhereIF(!string.IsNullOrWhiteSpace(startTime), a => a.CreateTime >= Convert.ToDateTime(startTime))
+                .WhereIF(!string.IsNullOrWhiteSpace(endTime), a => a.CreateTime <= Convert.ToDateTime(endTime).AddDays(1))
+                .GroupBy(a => new { a.LotNo, a.SkuNo, a.SkuName })
+                .Select(a => new TotalRecordDto()
                 {
-                    //鍒ゆ柇鍑哄簱鏄惁鎷ユ湁鐩稿悓鎵规 涓旂墿鏂欑浉鍚�
-                    if (h.LotNo == c.LotNo || h.LotNo.Contains(c.LotNo) && h.SkuNo == c.SkuNo && h.SkuName == c.SkuName)
-                    {
-                        h.CQty = c.CQty; //鍑哄簱鏁伴噺
-                        h.CAllotQty = c.CAllotQty; //鍒嗛厤鏁伴噺
-                        h.CFactQty = c.CFactQty; //涓嬫灦鏁伴噺
-                        h.CompleteQty = c.CompleteQty; //鎷h揣鏁伴噺
-                                                       //h.SONo = c.SONo; //鍑哄簱鍗曞彿
+                    LotNo = a.LotNo,
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    RQty = 0,
+                    RFactQty = 0,
+                    RCompleteQty = 0,
+                    CQty = SqlFunc.AggregateSumNoNull(a.Qty),
+                    CFactQty = (decimal)SqlFunc.AggregateSum(a.FactQty),
+                    CAllotQty = (decimal)SqlFunc.AggregateSum(a.AllotQty),
+                    CompleteQty = (decimal)SqlFunc.AggregateSum(a.CompleteQty),
+                });
+            // 鑾峰彇鍙栨牱鎷h揣淇℃伅
+            var samplingList = Db.Queryable<BllSamplingDetails>()
+                .Where(m => m.IsDel == "0")
+                .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo))
+                .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName.Contains(skuName))
+                .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo.Contains(lotNo))
+                .WhereIF(!string.IsNullOrWhiteSpace(startTime), a => a.CreateTime >= Convert.ToDateTime(startTime))
+                .WhereIF(!string.IsNullOrWhiteSpace(endTime), a => a.CreateTime <= Convert.ToDateTime(endTime).AddDays(1))
+                .GroupBy(a => new { a.LotNo, a.SkuNo, a.SkuName })
+                .Select(a => new TotalRecordDto()
+                {
+                    LotNo = a.LotNo,
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    RQty = 0,
+                    RFactQty = 0,
+                    RCompleteQty = 0,
+                    CQty = (decimal)SqlFunc.AggregateSum(a.CompleteQty),
+                    CFactQty = 0,
+                    CAllotQty = 0,
+                    CompleteQty = (decimal)SqlFunc.AggregateSum(a.CompleteQty),
+                });
 
-                        a += 1;
+            // 鍚堝苟闆嗗悎
+            var dataList = Db.UnionAll(asnList, soList, samplingList)
+                .GroupBy(a => new { a.LotNo, a.SkuNo, a.SkuName })
+                .Select(a => new TotalRecordDto()
+                {
+                    LotNo = a.LotNo,
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    RQty = SqlFunc.AggregateSumNoNull(a.RQty),
+                    RFactQty = (decimal)SqlFunc.AggregateSum(a.RFactQty),
+                    RCompleteQty = (decimal)SqlFunc.AggregateSum(a.RCompleteQty),
+                    CQty = SqlFunc.AggregateSumNoNull(a.CQty),
+                    CFactQty = (decimal)SqlFunc.AggregateSum(a.CFactQty),
+                    CAllotQty = (decimal)SqlFunc.AggregateSum(a.CAllotQty),
+                    CompleteQty = (decimal)SqlFunc.AggregateSum(a.CompleteQty)
+                }).ToList();
 
-                        break;
-                    }
-                }
-            }
-
-            return totalHListData;
+            return dataList;
         }
 
         /// <summary>
@@ -426,131 +431,139 @@
         /// <param name="startTime">寮�濮嬫椂闂�</param>
         /// <param name="endTime">缁撴潫鏃堕棿</param>
         /// <returns></returns>
-        public List<TotalRecordDto> GetDetailedRecord(string skuNo, string skuName, string lotNo, string palletNo,
-            string startTime, string endTime)
+        public List<TotalRecordDto> GetDetailedRecord(string skuNo, string skuName, string lotNo, string palletNo,string startTime, string endTime)
         {
-            //鍏ュ簱
-            string rstr = "select notice.ASNNo,bind.LotNo,notice.SkuNo,notice.SkuName,bind.PalletNo,bind.Qty RQty,bind.Qty RFactQty,bind.Qty  RCompleteQty,bind.CompleteTime,notice.LotText,notice.SupplierLot,bind.CompleteTime from BllPalletBind bind left join BllArrivalNoticeDetail notice on bind.ASNDetailNo = notice.Id where bind.IsDel = '0' and notice.IsDel = '0'  ";
-            //鍑哄簱
-            string cstr = "select notice.SONo,allot.LotNo,allot.TaskNo CTaskNo,allot.SkuNo,allot.SkuName,allot.PalletNo," +
-                "allot.UpdateTime CCreateTime,allot.Qty CQty,allot.Qty CAllotQty,Allot.Qty CFactQty,Allot.CompleteQty CompleteQty," +
-                "allot.LotText,allot.SupplierLot " +
-                "from BllExportAllot allot left join BllExportNoticeDetail notice on allot.SODetailNo = notice.Id " +
-                "where allot.IsDel = '0' and notice.IsDel = '0' ";
-
-            //鍒ゆ柇鐗╂枡鍙锋槸鍚︿负绌�
-            if (!string.IsNullOrEmpty(skuNo))
-            {
-                rstr += " and notice.SkuNo like @skuno";
-                cstr += " and allot.SkuNo like @skuno";
-            }
-            //鍒ゆ柇鐗╂枡鍚嶇О鏄惁涓虹┖
-            if (!string.IsNullOrEmpty(skuName))
-            {
-                rstr += " and notice.SkuName like @skuname";
-                cstr += " and allot.SkuName like @skuname";
-            }
-            //鍒ゆ柇鎵规鍙锋槸鍚︿负绌�
-            if (!string.IsNullOrEmpty(lotNo))
-            {
-                rstr += " and notice.LotNo like @lotno";
-                cstr += " and allot.LotNo like @lotno";
-            }
-            //鍒ゆ柇鎵樼洏鏄惁涓虹┖
-            if (!string.IsNullOrEmpty(palletNo))
-            {
-                rstr += " and bind.PalletNo like @palletno";
-                cstr += " and allot.PalletNo like @palletno";
-            }
-            if (!string.IsNullOrWhiteSpace(startTime))
-            {
-                rstr += " and bind.CompleteTime >= @startTime";
-                cstr += " and allot.UpdateTime >= @startTime";
-            }
-            if (!string.IsNullOrWhiteSpace(endTime))
-            {
-                endTime = DateTime.Parse(endTime).AddDays(1).ToString();
-                rstr += " and bind.CompleteTime < @endTime";
-                cstr += " and allot.UpdateTime < @endTime";
-            }
-
-            //rstr += " group by bind.LotNo,bind.SkuNo,bind.SkuName";
-            //cstr += " group by LotNo,SkuNo,SkuName";
-            //鍏ュ簱
-            List<TotalRecordDto> totalRList = Db.Ado.SqlQuery<TotalRecordDto>(rstr, new
-            {
-                isdel = "0", //鏄惁鍒犻櫎
-                skuno = "%" + skuNo + "%", //鐗╂枡鍙�
-                skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
-                lotno = "%" + lotNo + "%", //鎵规鍙�
-                palletno = "%" + palletNo + "%", //鎵樼洏鍙�
-                startTime = startTime,
-                endTime = endTime
-            });
-            //鍑哄簱
-            List<TotalRecordDto> totalCList = Db.Ado.SqlQuery<TotalRecordDto>(cstr, new
-            {
-                isdel = "0", //鏄惁鍒犻櫎
-                skuno = "%" + skuNo + "%", //鐗╂枡鍙�
-                skuname = "%" + skuName + "%", //鐗╂枡鍚嶇О
-                lotno = "%" + lotNo + "%", //鎵规鍙�
-                palletno = "%" + palletNo + "%", //鎵樼洏鍙�
-                startTime = startTime,
-                endTime = endTime
-            });
-
-            //鍚堝苟
-            foreach (var c in totalCList)
-            {
-                int i = 0;
-                foreach (var r in totalRList)
+            // 鑾峰彇鍏ュ簱鍗曟槑缁嗕俊鎭�
+            var asnList = Db.Queryable<BllPalletBind,BllArrivalNoticeDetail>
+                ((tb1,tb2)=>new JoinQueryInfos(
+                 JoinType.Left, tb1.ASNDetailNo == tb2.Id
+                ))
+                .Where((tb1,tb2) => tb1.IsDel == "0" && tb2.IsDel == "0")
+                .WhereIF(!string.IsNullOrWhiteSpace(startTime), tb1 => tb1.CompleteTime >= Convert.ToDateTime(startTime))
+                .WhereIF(!string.IsNullOrWhiteSpace(endTime), tb1 => tb1.CompleteTime <= Convert.ToDateTime(endTime).AddDays(1))
+                .WhereIF(!string.IsNullOrEmpty(palletNo), tb1 => tb1.PalletNo.Contains(palletNo))
+                .WhereIF(!string.IsNullOrEmpty(skuNo), (tb1,tb2) => tb2.SkuNo.Contains(skuNo))
+                .WhereIF(!string.IsNullOrEmpty(skuName), (tb1, tb2) => tb2.SkuName.Contains(skuName))
+                .WhereIF(!string.IsNullOrEmpty(lotNo), (tb1, tb2) => tb2.LotNo.Contains(lotNo))
+                //.GroupBy((tb1,tb2) => new { tb2.LotNo, tb2.SkuNo, tb2.SkuName })
+                .Select((tb1,tb2) => new TotalRecordDto()
                 {
-                    i += 1;
-                    //鍒ゆ柇鍏ュ簱涓槸鍚﹀瓨鍦ㄥ嚭搴撲腑鐨勬壒娆$墿鏂欐墭鐩�
-                    if (r.PalletNo == c.PalletNo && r.LotNo == c.LotNo && r.SkuNo == c.SkuNo && r.SkuName == c.SkuName)
-                    {
-                        if (r.SONo != null)
-                        {
-                            if (r.SONo != c.SONo)
-                            {
-                                totalRList.Add(c);
-                            }
-                        }
-                        if (c.CTaskNo != "" && r.SONo == null || r.SONo == c.SONo)
-                        {
-                            r.SONo = c.SONo; //鍑哄簱鍗曞彿
-                            r.CQty += c.CQty; //鍑哄簱鏁伴噺
-                            r.CAllotQty += c.CAllotQty; //鍒嗛厤鏁伴噺
-                            r.CFactQty += c.CFactQty; //涓嬫灦鏁伴噺
-                            r.CompleteQty += c.CompleteQty; //鎷h揣鏁伴噺
-                            r.CCreateTime = c.CCreateTime; //鎷h揣鏃堕棿
-                        }
-                        if (r.CompleteTime == null)
-                        {
-                            r.RCompleteQty = 0;
-                        }
-                        break;
-                    }
-                    if (i == totalRList.Count)
-                    {
-                        totalRList.Add(c);
-                        break;
-                    }
-                }
-            }
-            if (totalCList.Count == 0)
-            {
-                foreach (var r in totalRList)
-                {
-                    if (r.CompleteTime == null)
-                    {
-                        r.RCompleteQty = 0;
-                        continue;
-                    }
-                }
-            }
+                    ASNNo = tb2.ASNNo,
+                    LotNo = tb1.LotNo,
+                    SkuNo = tb2.SkuNo,
+                    SkuName = tb2.SkuName,
+                    PalletNo = tb1.PalletNo,
+                    RQty = tb1.Qty,
+                    RFactQty = tb1.Qty,
+                    RCompleteQty = tb1.Qty,
+                    CompleteTime = tb1.CompleteTime,
+                    LotText = tb1.LotText,
+                    SupplierLot = tb2.SupplierLot,
+                    
+                    SONo = "",
+                    CTaskNo = "",
+                    CCreateTime = null,
+                    CQty = 0,
+                    CFactQty = 0,
+                    CAllotQty = 0,
+                    CompleteQty = 0
+                });
 
-            return totalRList;
+            // 鑾峰彇鍑哄簱鍗曟槑缁嗕俊鎭�
+            var soList = Db.Queryable<BllExportAllot, BllExportNoticeDetail>
+                (((tb1, tb2) => new JoinQueryInfos(
+                 JoinType.Left, tb1.SODetailNo == tb2.Id
+                )))
+                .Where((tb1, tb2) => tb1.IsDel == "0" && tb2.IsDel == "0")
+                .WhereIF(!string.IsNullOrWhiteSpace(startTime), tb1 => tb1.UpdateTime >= Convert.ToDateTime(startTime))
+                .WhereIF(!string.IsNullOrWhiteSpace(endTime), tb1 => tb1.UpdateTime <= Convert.ToDateTime(endTime).AddDays(1))
+                .WhereIF(!string.IsNullOrEmpty(palletNo), tb1 => tb1.PalletNo.Contains(palletNo))
+                .WhereIF(!string.IsNullOrEmpty(skuNo), tb1 => tb1.SkuNo.Contains(skuNo))
+                .WhereIF(!string.IsNullOrEmpty(skuName), tb1 => tb1.SkuName.Contains(skuName))
+                .WhereIF(!string.IsNullOrEmpty(lotNo), tb1 => tb1.LotNo.Contains(lotNo))
+                 //.GroupBy(a => new { a.LotNo, a.SkuNo, a.SkuName })
+                 .Select((tb1, tb2) => new TotalRecordDto()
+                 {
+                     ASNNo = "",
+                     LotNo = tb1.LotNo,
+                     SkuNo = tb2.SkuNo,
+                     SkuName = tb2.SkuName,
+                     PalletNo = tb1.PalletNo,
+                     RQty = 0,
+                     RFactQty = 0,
+                     RCompleteQty = 0,
+                     CompleteTime = null,
+                     LotText = tb1.LotText,
+                     SupplierLot = tb2.SupplierLot,
+
+                     SONo = tb2.SONo,
+                     CTaskNo = tb1.TaskNo,
+                     CCreateTime = tb1.UpdateTime,
+                     CQty = tb1.Qty,
+                     CFactQty = tb1.Qty,
+                     CAllotQty = tb1.Qty,
+                     CompleteQty = (decimal)tb1.CompleteQty
+                 });
+
+            // 鑾峰彇鍙栨牱鎷h揣淇℃伅
+            var samplingList = Db.Queryable<BllSamplingDetails>()
+                .Where(m => m.IsDel == "0")
+                .WhereIF(!string.IsNullOrEmpty(skuNo), a => a.SkuNo.Contains(skuNo))
+                .WhereIF(!string.IsNullOrEmpty(skuName), a => a.SkuName.Contains(skuName))
+                .WhereIF(!string.IsNullOrEmpty(lotNo), a => a.LotNo.Contains(lotNo))
+                .WhereIF(!string.IsNullOrEmpty(palletNo), a => a.PalletNo.Contains(palletNo))
+                .WhereIF(!string.IsNullOrWhiteSpace(startTime), a => a.CreateTime >= Convert.ToDateTime(startTime))
+                .WhereIF(!string.IsNullOrWhiteSpace(endTime), a => a.CreateTime <= Convert.ToDateTime(endTime).AddDays(1))
+                //.GroupBy(a => new { a.LotNo, a.SkuNo, a.SkuName })
+                .Select(a => new TotalRecordDto()
+                {
+                    ASNNo = "",
+                    LotNo = a.LotNo,
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    PalletNo = a.PalletNo,
+                    RQty = 0,
+                    RFactQty = 0,
+                    RCompleteQty = 0,
+                    CompleteTime = null,
+                    LotText = "",
+                    SupplierLot = "",
+
+                    SONo = a.QcNo,
+                    CTaskNo = "",
+                    CCreateTime = a.CreateTime,
+                    CQty = (decimal)a.CompleteQty,
+                    CFactQty = 0,
+                    CAllotQty = 0,
+                    CompleteQty = (decimal)a.CompleteQty
+                });
+
+            // 鍚堝苟闆嗗悎
+            var dataList = Db.UnionAll(asnList, soList, samplingList)
+                .Select(a => new TotalRecordDto()
+                {
+                    ASNNo = a.ASNNo,
+                    LotNo = a.LotNo,
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    PalletNo = a.PalletNo,
+                    RQty = a.RQty,
+                    RFactQty = a.RFactQty,
+                    RCompleteQty = a.RCompleteQty,
+                    CompleteTime = a.CompleteTime,
+                    LotText = a.LotText,
+                    SupplierLot = a.SupplierLot,
+
+                    SONo = a.SONo,
+                    CTaskNo = a.CTaskNo,
+                    CCreateTime = a.CCreateTime,
+                    CQty = a.CQty,
+                    CFactQty = a.CFactQty,
+                    CAllotQty = a.CAllotQty,
+                    CompleteQty = a.CompleteQty
+                }).ToList();
+
+            return dataList;
         }
 
         #endregion

--
Gitblit v1.8.0