From e75362cc5d11d900068a26232eb97ebd30203d48 Mon Sep 17 00:00:00 2001
From: chengsc <Demo@DESKTOP-CPA90BF>
Date: 星期日, 21 七月 2024 10:00:15 +0800
Subject: [PATCH] Merge branch 'master' into csc

---
 HTML/js/public.js                                     |    6 
 HTML/views/HouseWithinSetting/images/1920x400.jpg     |    0 
 HTML/layuiadmin/dragMove/dragMove.js                  |  261 ++++++++++
 HTML/views/HouseWithinSetting/StockCheck.html         |   37 +
 Wms/WMS.BLL/Logic/AllotSku.cs                         |   77 ++
 HTML/views/HouseWithinSetting/ViewPicture.html        |  104 ++++
 HTML/views/HouseWithinSetting/images/1920x1080.jpg    |    0 
 Wms/WMS.BLL/BllSoServer/WaveMageServer.cs             |    2 
 HTML/views/HouseWithinSetting/images/400x400.jpg      |    0 
 HTML/views/SystemSettings/PrintModule.html            |  153 ++++++
 HTML/views/HouseWithinSetting/images/400x900.jpg      |    0 
 Wms/WMS.BLL/DataServer/StockServer.cs                 |  328 ++++++++++---
 Wms/Model/ModelDto/DataDto/MateDataStockDto.cs        |   12 
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs         |    4 
 HTML/layuiadmin/dragMove/dragMove.css                 |   20 
 HTML/views/StatisticalReport/InventoryStatistics.html |  398 ++--------------
 Wms/Wms/Controllers/StatisticalController.cs          |   23 
 Wms/WMS.IBLL/IDataServer/IStockServer.cs              |    9 
 18 files changed, 975 insertions(+), 459 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/layuiadmin/dragMove/dragMove.css b/HTML/layuiadmin/dragMove/dragMove.css
new file mode 100644
index 0000000..e3fee1e
--- /dev/null
+++ b/HTML/layuiadmin/dragMove/dragMove.css
@@ -0,0 +1,20 @@
+/**
+ @ Name锛歭ayui.dragMove 鍥剧墖鏌ョ湅鍣�
+ @ Author锛欶QSong
+ @ License锛歁IT 
+ */
+ 
+/* 鏍峰紡鍔犺浇瀹屾瘯鐨勬爣璇� */
+html #layuicss-dragMove{display: none; position: absolute; width: 1989px;} 
+ 
+ 
+/* 缁勪欢鏍峰紡 */ 
+.dragMove-skin .layui-layer-content {overflow: hidden !important;}
+.layui-dragMove {position: relative; width: 100%; height: 100%; display: -webkit-flex; display: flex; flex-direction:column;}
+.layui-dragMove .dragMove-img {position: relative; width: 100%; height: 100%; overflow: hidden; -webkit-flex: 1;  flex: 1; background-color:#eee;}
+.layui-dragMove .dragMove-img img {position: absolute; left: 0; top: 0; user-select:none; cursor: grab;}
+.layui-dragMove .dragMove-btn {width:100%; padding: 10px 0; text-align:center; -webkit-flex: none;  flex: none;}
+.layui-dragMove .dragMove-btn .layui-btn {height: 28px; line-height: 28px;}
+.layui-icon-loading {position: absolute; left: 50%; top: 50%; display: block; width: 36px; height: 36px; font-size: 36px; line-height: 36px; }
+
+.transitioning {-webkit-transition: -webkit-transform .24s ease-out; transition: transform .24s ease-out;}
\ No newline at end of file
diff --git a/HTML/layuiadmin/dragMove/dragMove.js b/HTML/layuiadmin/dragMove/dragMove.js
new file mode 100644
index 0000000..1c5d2d4
--- /dev/null
+++ b/HTML/layuiadmin/dragMove/dragMove.js
@@ -0,0 +1,261 @@
+/**
+ @ Name锛歭ayui.dragMove 鍥剧墖鏌ョ湅鍣�
+ @ Author锛欶QSong
+ @ License锛歁IT 
+ */
+ 
+layui.define('layer', function(exports){ 
+  var $ = layui.$
+  ,layer = layui.layer
+  
+  //瀛楃甯搁噺
+  ,MOD_NAME = 'dragMove', ELEM = '.layui-dragMove'
+  
+  //澶栭儴鎺ュ彛
+  ,dragMove = {
+    index: layui.dragMove ? (layui.dragMove.index + 10000) : 0
+    
+    //璁剧疆鍏ㄥ眬椤�
+    ,set: function(options){
+      var that = this;
+      that.config = $.extend({}, that.config, options);
+      return that;
+    }
+    
+    //浜嬩欢鐩戝惉
+    ,on: function(events, callback){
+      return layui.onevent.call(this, MOD_NAME, events, callback);
+    }
+  }
+    
+  //鏋勯�犲櫒
+  ,Class = function(options){
+    var that = this;
+    that.index = ++dragMove.index;
+    that.config = $.extend({}, that.config, dragMove.config, options);
+    that.render();
+  };
+  
+  //榛樿閰嶇疆
+  Class.prototype.config = {
+    layerArea: ["960px","720px"],
+    layerShade: 0.6,
+    layerMove: 0,
+    maxZoom: 1
+  };
+  
+  //娓叉煋瑙嗗浘
+  Class.prototype.render = function(){
+    var that = this
+    ,options = that.config
+    ,dragMoveView = "<div class='layui-dragMove'>"
+    + "<div class='dragMove-img'>"
+    +   "<span class='layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop'></span>"
+    + "</div>"
+    + "<div class='dragMove-btn'>"
+    +   "<button type='button' class='layui-btn layui-btn-sm' data-method='default'>榛樿澶у皬</button>"
+    +   "<button type='button' class='layui-btn layui-btn-sm' data-method='real'>瀹為檯澶у皬</button>"
+    +   "<button type='button' class='layui-btn layui-btn-sm' data-method='zoomin'>鏀惧ぇ</button>"
+    +   "<button type='button' class='layui-btn layui-btn-sm' data-method='zoomout'>缂╁皬</button>"
+    + "</div>"
+    + "</div>";
+
+    options.elem = $(options.elem);
+
+    options.elem.on("click","img",function(e){
+      let imgObj =  $(this),
+      imgSrc = imgObj.attr("src"),
+      imgTitle = imgObj.attr("alt") || imgSrc.replace(/(.*\/)*([^.]+).*/ig,"$2");
+      
+      layer.open({
+        type: 1,
+        resize: 0,
+        btn: 0,
+        skin: "dragMove-skin",
+        move: options.layerMove,
+        area: options.layerArea,
+        shade: options.layerShade,
+        title: imgTitle,
+        content: dragMoveView,
+        success: function(layero){
+          var imgbox = layero.find(".dragMove-img");
+          options.imgboxWidth = imgbox.innerWidth();
+          options.imgboxHeight = imgbox.innerHeight();
+
+          var nImg = new Image();
+          nImg.src = imgSrc;
+          if (nImg.complete) { 
+            imgbox.empty().append(nImg);
+            that.init(nImg)
+          } else {
+            nImg.onload = function () {
+              imgbox.empty().append(nImg);
+              that.init(nImg)
+            }
+          }
+        }
+      });
+    });    
+  }
+
+  //
+  Class.prototype.init = function(img){
+    var that = this
+    ,options = that.config;
+
+    let $img = $(img),
+    parent = $img.closest(".layui-dragMove"),
+    zoomData = {};
+
+    zoomData.img = img;
+    zoomData.imgWidth = img.width;
+    zoomData.imgHeight = img.height;
+
+    zoomData.zoomSize = Math.min(Math.min(options.imgboxWidth / zoomData.imgWidth, options.imgboxHeight / zoomData.imgHeight), 1);
+    zoomData.left = (options.imgboxWidth - zoomData.imgWidth * zoomData.zoomSize) / 2;
+    zoomData.top = (options.imgboxHeight - zoomData.imgHeight * zoomData.zoomSize) / 2;
+    zoomData.defaultZoom = zoomData.zoomSize;
+
+    that.zoomData = zoomData;
+    $img.css({ "transform-origin": "0 0", "transform": "matrix(" + zoomData.zoomSize + ",0,0," + zoomData.zoomSize + "," + zoomData.left + "," + zoomData.top + ")" });
+
+    $img.on("mousedown", function (e) {
+      e.preventDefault();      
+      let currentX = e.clientX,
+      currentY = e.clientY;
+      $img.removeClass("transitioning").css({"cursor": "grabbing"});
+
+      $(document).on("mousemove", function (even) {
+        let moveX = even.clientX - currentX,
+        moveY = even.clientY - currentY;
+        $img.css({ "transform": "matrix(" + zoomData.zoomSize + ",0,0," + zoomData.zoomSize + "," + (zoomData.left + moveX) + "," + (zoomData.top + moveY) + ")" });
+      });
+      $(document).on("mouseup", function (even) {
+        var matrix = $img.css("transform").slice(7, -1).split(','),
+        center = that.getCenter(parseFloat(matrix[4]), parseFloat(matrix[5]), zoomData);
+
+        zoomData.left = center.left;
+        zoomData.top = center.top;
+
+        $img.addClass("transitioning").css({
+          "transform": "matrix(" + zoomData.zoomSize + ",0,0," + zoomData.zoomSize + "," + zoomData.left + "," + zoomData.top + ")",
+          "cursor": "grab"
+        });
+
+        $(document).off("mousemove");
+        $(document).off("mouseup");
+      });
+    });
+
+    parent.on("click", "button", function (e) {
+      e.preventDefault();
+      var method = $(this).attr("data-method"),
+      scaleSize = 0;
+      switch (method) {
+        case "default":
+          scaleSize = zoomData.defaultZoom;
+          break;
+        case "real":
+          scaleSize = 1;
+          break;
+        case "zoomin":
+          scaleSize = zoomData.zoomSize * 1.2;
+          scaleSize = scaleSize > options.maxZoom ? options.maxZoom : scaleSize;
+          break;
+        case "zoomout":
+          scaleSize = zoomData.zoomSize / 1.2;
+          scaleSize = scaleSize < zoomData.defaultZoom ? zoomData.defaultZoom : scaleSize;
+          break;
+      
+        default:
+          break;
+      }
+      scaleSize && that.scaleZoom(scaleSize);
+    });
+    
+    //榧犳爣婊氳疆
+    parent.on("mousewheel", function (e) {
+      e.preventDefault();
+      let scaleSize = 0;
+      if (e.originalEvent.wheelDelta > 0) {
+        scaleSize = zoomData.zoomSize * 1.2;
+      } else {
+        scaleSize = zoomData.zoomSize / 1.2;
+      }
+      scaleSize = Math.min(Math.max(scaleSize, zoomData.defaultZoom),options.maxZoom);
+      that.scaleZoom(scaleSize);
+    });
+
+    $img.on("transitionend webkitTransitionend", function () {
+      $(this).removeClass("transitioning")
+    });
+
+  };
+
+  Class.prototype.scaleZoom = function(index){
+    var that = this
+    ,options = that.config
+    ,zoomData = that.zoomData;
+    
+    zoomData.left = zoomData.left - zoomData.imgWidth * (index - zoomData.zoomSize) / 2;
+    zoomData.top = zoomData.top -  zoomData.imgHeight * (index - zoomData.zoomSize) / 2;
+    zoomData.zoomSize = index;   
+
+    var center = that.getCenter(zoomData.left,zoomData.top,zoomData);
+    zoomData.left = center.left;
+    zoomData.top = center.top;
+     
+    $(zoomData.img).addClass("transitioning").css({          
+      "transform":"matrix("+ zoomData.zoomSize +",0,0," + zoomData.zoomSize +","+zoomData.left+","+zoomData.top+")"
+    });  
+  };
+
+  Class.prototype.getCenter = function(x,y,zoomData){
+    var that = this
+    ,options = that.config
+    ,zoomData = that.zoomData;
+    
+    let newleft,newtop;
+    newleft = (function(){
+      var left;
+      if(zoomData.imgWidth * zoomData.zoomSize < options.imgboxWidth){
+        left = (options.imgboxWidth - zoomData.imgWidth * zoomData.zoomSize) / 2;
+      }else{
+        left = Math.max(Math.min(0,x), options.imgboxWidth - zoomData.imgWidth * zoomData.zoomSize);
+      }
+      return left;
+    })();
+    newtop = (function(){
+      var top;
+      if(zoomData.imgHeight * zoomData.zoomSize < options.imgboxHeight){
+        top = (options.imgboxHeight - zoomData.imgHeight * zoomData.zoomSize) / 2;
+      }else{
+        top = Math.max(Math.min(0, y), options.imgboxHeight - zoomData.imgHeight * zoomData.zoomSize);
+      }
+      return top;
+    })();
+    return {left:newleft,top:newtop} 
+  };
+
+  Class.prototype.decimal = function(num){
+    var result = parseFloat(num);
+    if (isNaN(result)) {
+      return false;
+    }
+    result = Math.round(num * 100) / 100;
+    return result;
+  };
+
+  //鏍稿績鍏ュ彛
+  dragMove.render = function(options){
+    var ins = new Class(options);
+    return ins;
+  };
+  
+  //鍔犺浇缁勪欢鎵�闇�鏍峰紡
+  layui.link(layui.cache.base + 'dragMove/dragMove.css', function(){
+    //鏍峰紡鍔犺浇瀹屾瘯鐨勫洖璋�
+  }, MOD_NAME); 
+  
+  exports(MOD_NAME, dragMove);
+});
\ No newline at end of file
diff --git a/HTML/views/HouseWithinSetting/StockCheck.html b/HTML/views/HouseWithinSetting/StockCheck.html
index 7adf894..e6dfbd0 100644
--- a/HTML/views/HouseWithinSetting/StockCheck.html
+++ b/HTML/views/HouseWithinSetting/StockCheck.html
@@ -188,7 +188,20 @@
 						}}
 						 
 					</script>
-
+				<script type="text/html" id="table-content-list2">
+						{{# 
+								var html = ''; 
+								
+                                if(d.Status >= 1){
+                                    html += `<a class="layui-btn layui-btn-danger layui-btn-xs delClass" lay-event="viewPicture"> 
+                                                <i class="layui-icon layui-icon-ok"></i>鏌ョ湅鍥剧墖
+                                            </a>`;
+                                }
+								return html;
+							
+						}}
+						 
+					</script>
 				<script type="text/html" id="toolbarDemo">
 
 						<button class="layui-btn layuiadmin-btn-list layui-btn-sm  addClass" lay-event="add">
@@ -401,6 +414,7 @@
 					{ field: 'CreateTime', title: '鍒涘缓鏃堕棿', align: 'center', width: 160, templet: '#CreateTimeButton', },
 					{ field: 'UpdateUserName', title: '淇敼浜�', align: 'center', width: 120, hide: true },
 					{ field: 'UpdateTime', title: '淇敼鏃堕棿', align: 'center', width: 160, hide: true, templet: '#UpdateTimeButton', },
+					{ field: 'caozuo', title: '鎿嶄綔', fixed: 'right', align: 'center', toolbar: '#table-content-list2', width: 100 }
 				]];
 			var TotalColsSysArrm = encodeURIComponent(encodeURIComponent(JSON.stringify(TotalColsArrm)))//灏嗚〃澶存暟鎹繘琛寀rl缂栫爜
 			refreshTable();
@@ -783,7 +797,7 @@
 						}
 					});
 				} else if (obj.event === 'vision') {
-					
+
 					layer.confirm('纭畾瑙嗚鐩樼偣', function () {
 						if (isChongFu == true) {
 							isChongFu = false;
@@ -860,7 +874,24 @@
 					});
 				}
 			});
-
+			table.on('tool(LAY-app-content-list2)', function (obj) {
+				var data = obj.data;
+				if (obj.event === 'viewPicture') {//鏌ョ湅鍥剧墖
+					debugger;
+					layer.open({
+						type: 2,
+						title: '鏌ョ湅鍥剧墖',
+						content: 'ViewPicture.html',
+						maxmin: true,
+						area: ['100%', '100%'],
+						success: function (layero, index) {
+							var body = layer.getChildFrame('body', index);
+							body.find('#CrNo').val(data.CrNo);
+							body.find('#PalletNo').val(data.PalletNo);
+						}
+					});
+				}
+			});
 			var $ = layui.$,
 				active = {
 					customCols: function () {
diff --git a/HTML/views/HouseWithinSetting/ViewPicture.html b/HTML/views/HouseWithinSetting/ViewPicture.html
new file mode 100644
index 0000000..c188431
--- /dev/null
+++ b/HTML/views/HouseWithinSetting/ViewPicture.html
@@ -0,0 +1,104 @@
+<!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">
+</head>
+
+<body>
+    <input type="hidden" id="CrNo" name="CrNo">
+    <input type="hidden" id="PalletNo" name="PalletNo">
+    <div class="layui-bg-gray" style="padding: 16px;" id="imgDragmove">
+        <div class="layui-row layui-col-space15">
+          <div class="layui-col-md2">
+            <div class="layui-card">
+              <div class="layui-card-header">0100101绠�</div>
+              <div class="layui-card-body">
+                <img src="images/1920x1080.jpg" height="200" width="100%" alt="0100101绠�">
+              </div>
+            </div>
+          </div>
+          <div class="layui-col-md2">
+            <div class="layui-card">
+              <div class="layui-card-header">0100102绠�</div>
+              <div class="layui-card-body">
+                <img src="images/1920x400.jpg" height="200" width="100%" alt="0100102绠�">
+              </div>
+            </div>
+          </div>
+          <div class="layui-col-md2">
+            <div class="layui-card">
+              <div class="layui-card-header">0100103绠�</div>
+              <div class="layui-card-body">
+                <img src="images/400x400.jpg" height="200" width="100%" alt="0100103绠�">
+              </div>
+            </div>
+          </div>
+          <div class="layui-col-md2">
+            <div class="layui-card">
+              <div class="layui-card-header">0100104绠�</div>
+              <div class="layui-card-body">
+                <img src="images/400x400.jpg" height="200" width="100%" alt="0100104绠�">
+              </div>
+            </div>
+          </div>
+          <div class="layui-col-md2">
+            <div class="layui-card">
+              <div class="layui-card-header">0100105绠�</div>
+              <div class="layui-card-body">
+                <img src="images/400x400.jpg" height="200" width="100%" alt="0100105绠�">
+              </div>
+            </div>
+          </div>
+          <div class="layui-col-md2">
+            <div class="layui-card">
+              <div class="layui-card-header">0100106绠�</div>
+              <div class="layui-card-body">
+                <img src="images/400x400.jpg" height="200" width="100%" alt="0100106绠�">
+              </div>
+            </div>
+          </div>
+          <div class="layui-col-md2">
+            <div class="layui-card">
+              <div class="layui-card-header">0100107绠�</div>
+              <div class="layui-card-body">
+                <img src="images/400x400.jpg" height="200" width="100%" alt="0100107绠�">
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+
+    <script src="../../layuiadmin/layui/layui.js"></script>
+    <script src="../../js/jquery-3.5.1.min.js"></script>
+    <script src="../../js/jquery.cookie.js"></script>
+    <script src="../../js/public.js"></script>
+    <script>
+        layui.config({
+            base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+        }).extend({
+            index: 'lib/index', //涓诲叆鍙fā鍧�
+            dragMove: 'dragMove/dragMove'
+        }).use(['dragMove'], function () {
+            var $ = layui.$;
+            var dragMove = layui.dragMove;
+            //鎵ц绀轰緥
+            dragMove.render({
+                elem: "#imgDragmove", //鎸囧悜鍥剧墖鐨勭埗瀹瑰櫒
+                layerArea: ["960px", "720px"], //寮圭獥鐨勫楂橈紝鍚宭ayer鐨刟rea锛岄粯璁"960px","720px"]
+                layerShade: 0.6, //閬僵鐨勯�忔槑搴︼紝鍚宭ayer鐨剆hade锛岄粯璁�0.6
+                layerMove: false, //瑙﹀彂鎷栧姩鐨勫厓绱狅紝鍚宭ayer鐨刴ove锛岃繖閲岄粯璁ょ姝紝鍙缃负'.layui-layer-title'
+                maxZoom: 1 //鍥剧墖鑳芥斁澶х殑鏈�澶у�嶆暟锛岄粯璁�1鍊�
+            });
+        })
+    </script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/HTML/views/HouseWithinSetting/images/1920x1080.jpg b/HTML/views/HouseWithinSetting/images/1920x1080.jpg
new file mode 100644
index 0000000..6d249ba
--- /dev/null
+++ b/HTML/views/HouseWithinSetting/images/1920x1080.jpg
Binary files differ
diff --git a/HTML/views/HouseWithinSetting/images/1920x400.jpg b/HTML/views/HouseWithinSetting/images/1920x400.jpg
new file mode 100644
index 0000000..5644449
--- /dev/null
+++ b/HTML/views/HouseWithinSetting/images/1920x400.jpg
Binary files differ
diff --git a/HTML/views/HouseWithinSetting/images/400x400.jpg b/HTML/views/HouseWithinSetting/images/400x400.jpg
new file mode 100644
index 0000000..e8d4564
--- /dev/null
+++ b/HTML/views/HouseWithinSetting/images/400x400.jpg
Binary files differ
diff --git a/HTML/views/HouseWithinSetting/images/400x900.jpg b/HTML/views/HouseWithinSetting/images/400x900.jpg
new file mode 100644
index 0000000..24dc8dc
--- /dev/null
+++ b/HTML/views/HouseWithinSetting/images/400x900.jpg
Binary files differ
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/HTML/views/SystemSettings/PrintModule.html b/HTML/views/SystemSettings/PrintModule.html
new file mode 100644
index 0000000..5298460
--- /dev/null
+++ b/HTML/views/SystemSettings/PrintModule.html
@@ -0,0 +1,153 @@
+<!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" type="text/css" href="../../js/HiPrint/css/hiprint.css?t=' + Math.random() + '" />
+	<link rel="stylesheet" type="text/css" href="../../js/HiPrint/css/print-lock.css" />
+	<link rel="stylesheet" media="print" href="../../js/HiPrint/css/print-lock.css" />
+	<!-- <link rel="stylesheet" type="text/css" href="../../js/HiPrint/css/bootstrap.min.css" > -->
+	<style>
+		.layui-form-label {
+			padding: 5px 1px;
+			text-align: center;
+		}
+
+		div {
+			font-size: inherit;
+		}
+	</style>
+</head>
+
+<body>
+	<div class="layui-card">
+		<input type="hidden" id="printData" name="printData">
+		<input type="hidden" id="printType" name="printType">
+		<div class="row">
+
+			<!--宸︿晶div-->
+			<div class="layui-col-xs2" style="padding-right:0px;max-height:250mm;">
+				<div class="small-printElement-types hiprintEpContainer">
+				</div>
+			</div>
+			<!--鎵撳嵃閮ㄥ垎-->
+			<div class="layui-col-xs6" style="margin-right: 50px;margin-left: 30px;">
+				<!--鎵撳嵃澶撮儴鍒�-->
+				<div class="hiprint-toolbar" style="margin-top:15px;">
+					<ul>
+						<li><a class="hiprint-toolbar-item"><input type="number" id="customWidth"
+									style="width: 50px;height: 19px;border: 0px;" placeholder="瀹�/mm" /></a></li>
+						<li><a class="hiprint-toolbar-item"><input type="number" id="customHeight"
+									style="width: 50px;height: 19px;border: 0px;" placeholder="楂�/mm" /></a></li>
+						<li><a class="hiprint-tizee-btn" onclick="clearTemplate()">娓呯┖</a></li>
+						<!-- <li> <a class="btn hiprint-toolbar-item "
+								style="color: #fff;background-color: #d9534f;border-color: #d43f3a;"
+								id="preview">蹇�熼瑙�</a> </li> -->
+						<li> <a id="directPrint" class="btn hiprint-toolbar-item "
+								style="color: #fff;background-color: #d9534f; border-color: #d43f3a;">鎵撳嵃</a>
+						</li>
+						<!-- <li>
+							<a class="btn hiprint-toolbar-item"
+								style="color: #fff;background-color: #d9534f; border-color: #d43f3a;"
+								id="A4_getJson_toTextarea" onclick="BtnSubmit_Click()">淇濆瓨</a>
+						</li> -->
+					</ul>
+					<div style="clear:both;"></div>
+				</div>
+				<!--鎵撳嵃涓讳綋閮ㄥ垎-->
+				<div id="hiprint-printTemplate" class="hiprint-printTemplate" style="margin-top:20px;">
+
+				</div>
+				<textarea class="form-control" rows="10" id="A4_textarea_json" style="display: none;"></textarea>
+			</div>
+			<!--鍙充晶div-->
+			<div class="layui-col-xs2" style="margin-left: 6%;max-height:260mm; overflow-y: scroll;">
+				<div id="PrintElementOptionSetting" style="margin-top: 10px;"></div>
+			</div>
+		</div>
+	</div>
+
+	<script src="../../js/jquery-3.5.1.min.js"></script>
+	<script src="../../js/jquery.cookie.js"></script>
+	<script src="../../js/hiprint/content/bootstrap.min.js"></script>
+	<script src="../../js/HiPrint/polyfill.min.js"></script>
+	<script src="../../js/HiPrint/plugins/jquery.minicolors.min.js"></script>
+	<script src="../../js/HiPrint/plugins/JsBarcode.all.min.js"></script>
+	<script src="../../js/HiPrint/plugins/qrcode.js"></script>
+	<script src="../../js/HiPrint/hiprint.bundle.js"></script>
+	<script src="../../js/HiPrint/plugins/jquery.hiwprint.js"></script>
+	<!-- <script src="../../js/HiPrint/plugins/socket.io.js"></script> -->
+	<script src="../../js/HiPrint/plugins/config-etype-provider.js"></script>
+	<script src="../../js/HiPrint/plugins/jspdf/canvas2image.js"></script>
+	<script src="../../js/HiPrint/plugins/jspdf/canvg.min.js"></script>
+	<script src="../../js/HiPrint/plugins/jspdf/html2canvas.min.js"></script>
+	<script src="../../js/HiPrint/plugins/jspdf/jspdf.min.js"></script>
+	<script src="../../js/HiPrint/plugins/print-data-list.js"></script>
+	<script src="../../js/HiPrint/hiprint.config.js"></script>
+	<script src="../../layuiadmin/layui/layui.js"></script>
+	<script src="../../js/public.js"></script>
+	<script>
+		var configPrintJson;
+		var datalist = [];
+		//鍒濆鍖栨墦鍗版彃浠舵覆鏌�
+		$(".hiprintEpContainer").html(""); //娓呴櫎div鍐呭
+
+
+
+		var hiprintTemplate;
+		// var JsonData = JSON.parse('{"panels":[{"index":0,"height":50,"width":50,"paperHeader":0,"paperFooter":141.73228346456693,"printElements":[{"tid":"configModule.SkuName","options":{"left":9,"top":12,"height":9.75,"width":120}},{"tid":"configModule.SkuNo","options":{"left":9,"top":37.5,"height":78,"width":120,"textType":"qrcode"}}],"paperNumberLeft":178.5,"paperNumberTop":123}]}')
+		var JsonData = {};
+		setTimeout(function () {
+			var printType = $("#printType").val();
+			datalist = getPrintDataList()(printType);
+			synData(IP + "/sys/GetDefaultPrintTemplate?Type=" + printType, {}, 'get', function (res) {
+				if (res.code == 0) { //鎴愬姛
+					hiprint.init({
+						providers: [new configElementTypeProvider()]
+					});
+					//璁剧疆宸︿晶鎷栨嫿浜嬩欢
+					hiprint.PrintElementTypeManager.build('.hiprintEpContainer', 'testModule');
+					JsonData = JSON.parse(res.data.PositionJson);
+					$("#customWidth").val(JsonData.panels[0].width);
+					$("#customHeight").val(JsonData.panels[0].height);
+					hiprintTemplate = new hiprint.PrintTemplate({
+						template: JsonData,//妯℃澘JSON
+						settingContainer: '#PrintElementOptionSetting',
+						paginationContainer: '.hiprint-printPagination'
+					});
+
+					//鎵撳嵃璁捐
+					hiprintTemplate.design('#hiprint-printTemplate');
+
+					//鎵撳嵃
+					//杩欓噷鑾峰彇涓婄骇椤甸潰鐨刾rintData鏁版嵁鎵撳嵃
+					// var printData = deepClone(parent.printData);
+					var printData = JSON.parse($("#printData").val());
+					hiprintTemplate.print(printData, '鎵撳嵃');
+					parent.layer.closeAll();
+				}
+				else //涓嶆垚鍔�
+				{
+					layer.msg(res.msg, {
+						icon: 2,
+						time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+					}, function () { parent.layer.closeAll(); });
+				}
+			});
+		}, 100);
+
+
+
+		$('#directPrint').click(function () {
+			hiprintTemplate.print(printData);
+		});
+	</script>
+</body>
+
+</html>
\ No newline at end of file
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/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index e746979..f2f8ea3 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -4380,7 +4380,7 @@
 
                 var exAllotList = new List<BllExportAllot>();
                 var assign = new AllotSku();
-                var specialSku = new List<string>();//鐗规畩鐗╂枡闆嗗悎锛屾棤闇�鎵樼洏涓婂叏閮ㄥ垎閰嶇殑
+                var specialSku = new List<string>();//鐗规畩鐗╂枡闆嗗悎锛� 鏃犻渶鎵樼洏涓婂叏閮ㄥ垎閰嶇殑
                 Db.BeginTran();
                 try
                 {
@@ -4458,7 +4458,7 @@
                         }
                         else
                         {
-                            qty += assign.AllotPallets(stockDetail, needQty, pNum, bNum, stockQtyDic);
+                            qty += assign.AllotPallets(stockDetail, needQty, pNum, bNum, stockQtyDic, detail.LotNo, detail.IsMixBox);
                         }
                         
                         foreach (var sc in stockQtyDic)
diff --git a/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs b/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs
index 88419dd..393fd6d 100644
--- a/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/WaveMageServer.cs
@@ -480,7 +480,7 @@
                         Dictionary<string, int> zxQtyDic = new Dictionary<string, int>();//鎵樺嚭鏁寸鏁�
                         //鍒嗛厤璐х墿
                         //assign.AllocatePallets(stocks, pNum, bNum, needQty, stockQtyDic, zxQtyDic);
-                        var qty = assign.AllotPallets(stockDetail, decimal.Parse(needQty.ToString()), pNum, bNum, stockQtyDic);
+                        var qty = assign.AllotPallets(stockDetail, decimal.Parse(needQty.ToString()), pNum, bNum, stockQtyDic, detail.LotNo, detail.IsMixBox);
                        
                         foreach (var sc in stockQtyDic)
                         {
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.BLL/Logic/AllotSku.cs b/Wms/WMS.BLL/Logic/AllotSku.cs
index a995732..50235b8 100644
--- a/Wms/WMS.BLL/Logic/AllotSku.cs
+++ b/Wms/WMS.BLL/Logic/AllotSku.cs
@@ -20,8 +20,10 @@
         /// <param name="fullPalletQty">婊℃墭鏁伴噺</param>
         /// <param name="fullBoxQty">婊$鏁伴噺</param>
         /// <param name="stockQtyDic">鎵樺嚭搴撶墿鍝佹暟 key:搴撳瓨鎵樼洏琛ㄧ殑ID銆乿al:鎵樼洏涓婄殑鏁伴噺</param>
+        /// <param name="lotNo">鎵规</param>
+        /// <param name="isMixBox">鏄惁鎺ュ彈鎷肩 0锛氬惁  1锛氭槸</param>
         /// <returns></returns>
-        public decimal AllotPallets(List<DataStockDetail> palletList, decimal needQty, int fullPalletQty, int fullBoxQty, Dictionary<int, decimal> stockQtyDic)
+        public decimal AllotPallets(List<DataStockDetail> palletList, decimal needQty, int fullPalletQty, int fullBoxQty, Dictionary<int, decimal> stockQtyDic,string lotNo,string isMixBox)
         {
             //浼樺厛鍏堣繘鍏堝嚭锛堝揩杩囨湡鐨勫厛鍑猴級
             //浼樺厛闆剁銆侀浂鎵橈紙鍑哄畬闆剁鍑烘暣绠憋級
@@ -84,8 +86,6 @@
                 {
                     var ztNum = needQty / fullPalletQty;//闇�瑕佹暣鎵樻暟
 
-                   
-
                     var zps = list.Where(s => s.Qty >= fullPalletQty).ToList();//鏁存墭
                     var sps = list.Where(s => s.Qty < fullPalletQty).ToList();//鏁f墭(鏈夊彲鑳芥槸琚攣瀹氫簡鏁伴噺鐨�) 
 
@@ -96,7 +96,14 @@
                                                                                                                           //鏁f墭
                         foreach (var s in st)
                         {
-                            var detailQty = decimal.Parse((s.Qty - s.LockQty - s.FrozenQty).ToString());
+                            decimal otherLotQty = 0;//娣风涓叾浠栨壒娆℃暟閲�
+                            //涓嶆帴鍙楁嫾绠�
+                            if (isMixBox == "0")
+                            {
+                                //鏌ユ壘鍑烘贩绠遍泦鍚�
+                                otherLotQty = GetMixBoxQty(s.Id, lotNo);
+                            }
+                            var detailQty = decimal.Parse((s.Qty - s.LockQty - s.FrozenQty - otherLotQty).ToString());
                             if (needQty - qty < detailQty)
                             {
                                 var num = needQty - qty;
@@ -119,7 +126,14 @@
                             var zt = zps.OrderBy(s => s.ExpirationTime).ToList();//鎵�鏈夋湭浣跨敤鐨勬墭鐩橈紙鏈鍒嗛厤鐨勶級
                             foreach (var ss in zt)
                             {
-                                var detailQty = decimal.Parse((ss.Qty - ss.LockQty - ss.FrozenQty).ToString());
+                                decimal otherLotQty = 0;//娣风涓叾浠栨壒娆℃暟閲�
+                                //涓嶆帴鍙楁嫾绠�
+                                if (isMixBox == "0")
+                                {
+                                    //鏌ユ壘鍑烘贩绠遍泦鍚�
+                                    otherLotQty = GetMixBoxQty(ss.Id, lotNo);
+                                }
+                                var detailQty = decimal.Parse((ss.Qty - ss.LockQty - ss.FrozenQty - otherLotQty).ToString());
                                 if (needQty - qty < detailQty)
                                 {
                                     var num = needQty - qty;
@@ -135,10 +149,7 @@
                                     break;
                                 }
                             }
-
-
                         }
-
                     }
                     else if (allotSet == 1)//浼樺厛鏁存墭锛堝垎閰嶅悎閫傜殑鏁存墭鏁伴噺锛�
                     {
@@ -153,7 +164,14 @@
                             var zt = zps.OrderBy(s => s.ExpirationTime).ToList();//鎵�鏈夋湭浣跨敤鐨勬墭鐩橈紙鏈鍒嗛厤鐨勶級
                             foreach (var ss in zt)
                             {
-                                var detailQty = decimal.Parse((ss.Qty - ss.LockQty - ss.FrozenQty).ToString());
+                                decimal otherLotQty = 0;//娣风涓叾浠栨壒娆℃暟閲�
+                                //涓嶆帴鍙楁嫾绠�
+                                if (isMixBox == "0")
+                                {
+                                    //鏌ユ壘鍑烘贩绠遍泦鍚�
+                                    otherLotQty = GetMixBoxQty(ss.Id, lotNo);
+                                }
+                                var detailQty = decimal.Parse((ss.Qty - ss.LockQty - ss.FrozenQty - otherLotQty).ToString());
                                 if (needQty - qty < detailQty)
                                 {
                                     break;
@@ -174,7 +192,14 @@
 
                             foreach (var ss in zt)
                             {
-                                var detailQty = decimal.Parse((ss.Qty - ss.LockQty - ss.FrozenQty).ToString());
+                                decimal otherLotQty = 0;//娣风涓叾浠栨壒娆℃暟閲�
+                                //涓嶆帴鍙楁嫾绠�
+                                if (isMixBox == "0")
+                                {
+                                    //鏌ユ壘鍑烘贩绠遍泦鍚�
+                                    otherLotQty = GetMixBoxQty(ss.Id, lotNo);
+                                }
+                                var detailQty = decimal.Parse((ss.Qty - ss.LockQty - ss.FrozenQty - otherLotQty).ToString());
                                 if (needQty - qty < detailQty)
                                 {
                                     var num = needQty - qty;
@@ -197,7 +222,14 @@
                             var zt = zps.Where(s => !sIds.Contains(s.Id)).OrderBy(s => s.ExpirationTime).ThenBy(m => m.Qty - m.LockQty - m.FrozenQty).ToList();//鎵�鏈夋湭浣跨敤锛堟湭琚垎閰嶇殑锛�
                             foreach (var ss in zt)
                             {
-                                var detailQty = decimal.Parse((ss.Qty - ss.LockQty - ss.FrozenQty).ToString());
+                                decimal otherLotQty = 0;//娣风涓叾浠栨壒娆℃暟閲�
+                                //涓嶆帴鍙楁嫾绠�
+                                if (isMixBox == "0")
+                                {
+                                    //鏌ユ壘鍑烘贩绠遍泦鍚�
+                                    otherLotQty = GetMixBoxQty(ss.Id, lotNo);
+                                }
+                                var detailQty = decimal.Parse((ss.Qty - ss.LockQty - ss.FrozenQty - otherLotQty).ToString());
                                 if (needQty - qty < detailQty)
                                 {
                                     var num = needQty - qty;
@@ -213,7 +245,6 @@
                                 }
                             }
                         }
-
                     }
                 }
                 
@@ -230,6 +261,28 @@
             }
 
         }
+        /// <summary>
+        /// 鏌ユ壘鍑烘贩绠变腑鍏朵粬鎵规鎬绘暟閲�
+        /// </summary>
+        /// <param name="stockDetailId"></param>
+        /// <param name="lotNo"></param>
+        /// <returns></returns>
+        private decimal GetMixBoxQty(int stockDetailId,string lotNo)
+        {
+            var contextDb = DataContext.Db;
+            //鏌ユ壘鍑烘贩绠遍泦鍚�
+            List<string> mixBoxList = contextDb.Queryable<DataBoxInfo>()
+                .Where(w => w.IsDel == "0" && w.StockDetailId == stockDetailId)
+                .GroupBy(g => g.LotNo)
+                .Having(h => SqlFunc.AggregateCount(h.LotNo) > 1)
+                .Select(s => s.BoxNo).ToList();
+
+            decimal otherLotQty = contextDb.Queryable<DataBoxInfo>()
+                .Where(w => w.IsDel == "0" && w.StockDetailId == stockDetailId && mixBoxList.Contains(w.BoxNo) && w.LotNo != lotNo)
+                .Sum(s => s.Qty);
+
+            return otherLotQty;
+        }
 
         /// <summary>
         /// JC23棰嗘枡鍑哄簱鍒嗛厤璐х墿锛堝垎閰嶆墭鐩樹笂鍏ㄩ儴鐗╂枡锛岄槻姝㈠洓妤间笉鍚屾姇鏂欏彛鍒嗛厤鍚屼竴鎵樼洏鐗╂枡鍐茬獊锛�
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