From 260d6082a7e53e0f040365a763da9bcf952118bd Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期三, 04 九月 2024 16:51:46 +0800
Subject: [PATCH] 修改平库出库页面单据加载托盘位置功能

---
 Wms/Model/ModelDto/PdaDto/PdaSoDto.cs   |    2 
 Wms/Wms/Controllers/PdaSoController.cs  |   14 +++
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs |   58 +++++++++++---
 Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs |    9 ++
 Pda/View/SoSetting/pingKuOut.html       |  100 +++++++++++++++++++++---
 5 files changed, 154 insertions(+), 29 deletions(-)

diff --git a/Pda/View/SoSetting/pingKuOut.html b/Pda/View/SoSetting/pingKuOut.html
index 92a28f8..8ce06bf 100644
--- a/Pda/View/SoSetting/pingKuOut.html
+++ b/Pda/View/SoSetting/pingKuOut.html
@@ -84,6 +84,15 @@
 							<img src="/assets/down_arraw.png">
 						</div>
 					</div>
+					<div class="layui-form-item layout-dropdownlist" style="margin-top: 10px;">
+						<label class="layui-form-label">鐗╂枡-鎵规锛�</label>
+						<div class="layui-input-block" id="goodDiv">
+							<select id="goodSelect" lay-filter="goodSelect" lay-search>    
+								<option value=""></option>
+							</select>
+							<img src="/assets/down_arraw.png">
+						</div>
+					</div>
 					<!-- <div id="" class="layui-form-item layout-input">
 							<label class="layui-form-label" lang>搴撲綅鍦板潃锛�</label>
 							<div class="layui-input-block">
@@ -115,17 +124,21 @@
 				<table id="tableBoxList" class="tbl-box-list" border="" cellspacing="" cellpadding="">
 					<tr>
 						<th lang>鎵樼洏鐮�</th>
-						<th lang>鐗╂枡鍙�</th>
+						<!-- <th lang>鐗╂枡鍙�</th>
 						<th lang>鐗╂枡鍚嶇О</th>
-						<th lang>鎵规鍙�</th>
+						<th lang>鎵规鍙�</th> -->
+						<th lang>鎵�灞炰粨搴�</th>
+						<th lang>鎵�灞炲尯鍩�</th>
 						<th lang>搴撲綅鍦板潃</th>
 						
 					</tr>
 					<tr id="boxCell" style="display: none">
 						<td name="PalletNo">鎵樼洏鐮�</td>
-						<td name="SkuNo">鐗╂枡鍙�</td>
+						<td name="WareHouseName">鎵�灞炰粨搴�</td>
+						<td name="AreaName">鎵�灞炲尯鍩�</td>
+						<!-- <td name="SkuNo">鐗╂枡鍙�</td>
 						<td name="SkuName">鐗╂枡鍚嶇О</td>
-						<td name="LotNo">鎵规鍙�</td>
+						<td name="LotNo">鎵规鍙�</td> -->
 						<td name="LocatNo">搴撲綅鍦板潃</td>
 						<!-- <td name="del">
 								<div id="" class="tbl-btn-del" lang>
@@ -173,11 +186,23 @@
 			}
 
 			form.on('select(getbar)', function (data) {
-				console.log();
+				//console.log();
 				if (data.value == "") {
 					return;
 				}
 				GetBoxInfo();
+			});
+
+			form.on('select(goodSelect)', function (data) {
+				console.log($("#goodSelect").val());
+				if (data.value == "") {
+					return;
+				}
+				var skuno = $("#goodSelect").val().substring(0,6);
+				var lotNo = $("#goodSelect").val().substring(12);
+				console.log("skuno:"+skuno);
+				console.log("lotNo:" + lotNo);
+				loadlocatinfo(skuno, lotNo);
 			});
 
 			$("#selectDiv").click(function () {
@@ -195,14 +220,13 @@
 				var val = input.val()
 				$("#bar").empty()
 				$("#bar").append('<option value =>' + '</option>');
-				form.render('select');
 				var PalletNo =  $("#PalletNo").val();
 				if(PalletNo.length != 8){ //涓嬫媺妗嗚幏鍙栧钩搴撳嚭搴撳崟
 					var param = {
 						Type: "1",
 					};
 					synData(IP + "/PdaSo/GetRunNoticeList", param,'post', function (res) {
-						console.log(res);
+						//console.log(res);
 						if (res.code == 0) { //鎴愬姛
 							for (var i = 0; i < res.data.length; i++) {
 								$("#bar").append('<option value =' + res.data[i] + '>' + res.data[i]
@@ -264,9 +288,10 @@
 				}
 				synData(IP + "/PdaSo/GetPingKuInfoByPallet", param2, 'get', function (res) {
 					if (res.code == 0) {
-						tableData = deepCopy(res.data)
-
-						refreshTable(tableData)
+						updateGoodList(res.data);//鐗╂枡鎵规淇℃伅
+						var skuno = res.data[0].SkuNo;
+						var lotNo = res.data[0].LotNo;
+						loadlocatinfo(skuno, lotNo);//鑾峰彇鎵樼洏浣嶇疆淇℃伅
 					} else {
 						layer.msg(res.msg, {
 							icon: 2,
@@ -274,6 +299,50 @@
 						}, function () { });
 					}
 				});
+			}
+
+			//鑾峰彇鎵樼洏浣嶇疆淇℃伅骞舵洿鏂拌〃鍗�
+			function loadlocatinfo(skuno, lotNo){
+				let param3 = {
+					"SoNo": $("#bar").val(),
+					"SkuNo": skuno,
+					"LotNo": lotNo
+				}
+				synData(IP + "/PdaSo/GetPingKuLocationInfo", param3, 'get', function (res) {//鑾峰彇鎵樼洏鏄庣粏
+					if (res.code == 0) {
+						tableData = deepCopy(res.data)
+						refreshTable(tableData)
+					} else {
+						layer.msg(res.msg, {
+							icon: 2,
+							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+						}, function () { });
+					}
+				})
+			}
+
+			  /* 鐗╂枡鍙婃壒娆′笅鎷夋 */
+			function updateGoodList(data) {
+				var input = $('select[id="goodSelect"]').next().find('.layui-select-title input')
+				var val = input.val()
+				$("#goodSelect").empty()
+				$("#goodSelect").append('<option value =>' + '</option>');
+
+				for (var i = 0; i < data.length; i++) {
+					
+					if (data[i].LotNo == '' || data[i].LotNo == null) {
+						$("#goodSelect").append('<option value =' + data[i].SkuNo + ' selected>' + data[i]
+							.SkuName +
+							'</option>');
+					} else {
+						$("#goodSelect").append('<option value =' + data[i].SkuNo  + data[i].SkuName + "-" + 
+						data[i].LotNo + ' selected>' + data[i]
+							.SkuNo + data[i].SkuName + "-" + data[i].LotNo +
+							'</option>');
+					}
+				}
+				form.render('select');
+				
 			}
 
 			function clearTable() {
@@ -299,7 +368,6 @@
 				var arrTrs = new Array()
 				let idx = 0
 				for (var i in list) {
-					console.log("list[i].LocatN:"+list[i].LocatNo);
 					// list[i].BoxCode
 					var tr = $("#boxCell").eq(0).clone();
 					tr.appendTo("#tableBoxList");
@@ -307,9 +375,11 @@
 					idx++;
 					tr.attr('index', idx)
 					tr.find("td[name='PalletNo']").html(list[i].PalletNo);
-					tr.find("td[name='SkuNo']").html(list[i].SkuNo);
-					tr.find("td[name='SkuName']").html(list[i].SkuName);
-					tr.find("td[name='LotNo']").html(list[i].LotNo);
+					//tr.find("td[name='SkuNo']").html(list[i].SkuNo);
+					//tr.find("td[name='SkuName']").html(list[i].SkuName);
+					//tr.find("td[name='LotNo']").html(list[i].LotNo);
+					tr.find("td[name='WareHouseName']").html(list[i].WareHouseName);
+					tr.find("td[name='AreaName']").html(list[i].AreaName);
 					tr.find("td[name='LocatNo']").html(list[i].LocatNo);
 					// var code = list[i].BoxCode
 					// //console.log("code is "+code)
@@ -331,7 +401,7 @@
 					"PalletNo": $("#PalletNo").val()
 				}
 				synData(IP + "/PdaSo/IsEnableOkPalletNo", param, 'post', function (res) {
-					console.log(res);
+					
 
 					if (res.code == 0) { //鎴愬姛 
 						updateBillList();
diff --git a/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs b/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
index 5eed2ee..00dab95 100644
--- a/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
+++ b/Wms/Model/ModelDto/PdaDto/PdaSoDto.cs
@@ -24,6 +24,8 @@
         public string LotNo { get; set; }                   // 鎵规 
         public string LocatNo { get; set; }
         public decimal? PickedQty { get; set; }                       // 绠卞唴宸叉嫞鏁伴噺
+        public string WareHouseName { get; set; }
+        public string AreaName { get; set; }
     }
     public class DetailIdSkuLotNo
     {
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 4c54ba8..2c65e4c 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -1198,6 +1198,17 @@
             var info = Db.Queryable<BllExportAllot>()
                 .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
                 .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo)
+                .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo}).Select((a,b) => new BoxInfo()
+                {
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    LotNo = a.LotNo
+                }).ToListAsync();
+            var data = await info;
+
+            /*v var info = Db.Queryable<BllExportAllot>()
+                .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
+                .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo)
                 .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo()
                 {
                     PalletNo = a.PalletNo,
@@ -1206,22 +1217,41 @@
                     LotNo = a.LotNo,
                     LocatNo =  b.LocatNo
                 }).ToListAsync();
+            var data = await info;*/
+
+            return data;
+        }
+
+        //鑾峰彇骞冲簱鍗曟嵁涓墭鐩樹綅缃俊鎭�
+        public async Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string skuno,string lotno)
+        {
+
+            var info = Db.Queryable<BllExportAllot>()
+                .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
+                .LeftJoin<SysWareHouse>((a,b,c)=>b.WareHouseNo == c.WareHouseNo)
+                .LeftJoin<SysStorageArea>((a,b,c,d)=>b.AreaNo == d.AreaNo)
+                .Where(a => a.IsDel == "0" && (a.Status == "0" || a.Status == "1") && a.SONo == soNo && a.SkuNo == skuno && a.LotNo == lotno)
+                .GroupBy((a, b,c,d) => new { a.PalletNo, b.LocatNo,c.WareHouseName,d.AreaName }).Select((a, b,c,d) => new BoxInfo()
+                {
+                    PalletNo = a.PalletNo,
+                    LocatNo = b.LocatNo,
+                    WareHouseName = c.WareHouseName,
+                    AreaName = d.AreaName
+                }).ToListAsync();
             var data = await info;
 
-            /*var a = info.First().LocatNo;
-                
-            if (await info.CountAsync() == 0)
-            {
-                throw Oops.Bah("鏈煡璇㈠埌鎵樼洏鍒嗛厤涓嬪彂鐨勪俊鎭�");
-            }
-
-            var data = await info.GroupBy(a => new { a.SkuNo, a.SkuName, a.LotNo,a.PalletNo }).Select(a => new BoxInfo()
-            {
-                PalletNo = a.PalletNo,
-                SkuNo = a.SkuNo,
-                SkuName = a.SkuName,
-                LotNo = a.LotNo
-            }).ToListAsync();*/
+            /*v var info = Db.Queryable<BllExportAllot>()
+                .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
+                .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo)
+                .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo()
+                {
+                    PalletNo = a.PalletNo,
+                    SkuNo = a.SkuNo,
+                    SkuName = a.SkuName,
+                    LotNo = a.LotNo,
+                    LocatNo =  b.LocatNo
+                }).ToListAsync();
+            var data = await info;*/
 
             return data;
         }
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
index 7d5b452..d0d59f4 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
@@ -114,6 +114,15 @@
         Task<List<BoxInfo>> GetPingKuInfoByPallet(string soNo, string palletNo);
 
         /// <summary>
+        /// 鑾峰彇骞冲簱鎵樼洏浣嶇疆淇℃伅
+        /// </summary>
+        /// <param name="soNo">鍑哄簱鍗曞彿</param>
+        ///  <param name="SkuNo">鐗╂枡缂栫爜</param>
+        ///  <param name="LotNo">鎵规</param>
+        /// <returns></returns>
+        Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string SkuNo,string LotNo);
+
+        /// <summary>
         /// 骞冲簱鍑哄簱瀹屾垚
         /// </summary>
         /// <param name="soNo">鍑哄簱鍗曞彿</param>
diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs
index 3702a21..7e4d432 100644
--- a/Wms/Wms/Controllers/PdaSoController.cs
+++ b/Wms/Wms/Controllers/PdaSoController.cs
@@ -175,6 +175,20 @@
         }
 
         /// <summary>
+        /// 鑾峰彇骞冲簱鎵樼洏浣嶇疆淇℃伅
+        /// </summary>
+        /// <param name="soNo">鍑哄簱鍗曞彿</param>
+        ///  <param name="SkuNo">鐗╂枡缂栫爜</param>
+        ///  <param name="LotNo">鎵规</param>
+        /// <returns></returns>
+        [HttpGet]
+        public async Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string SkuNo,string LotNo)
+        {
+            return await _pdaSoSvc.GetPingKuLocationInfo(soNo, SkuNo, LotNo);
+        }
+
+
+        /// <summary>
         /// 骞冲簱鍑哄簱
         /// </summary>
         /// <param name="soNo">鍑哄簱鍗曞彿</param>

--
Gitblit v1.8.0