From c32b4de8d50baf1a9aab7138fb9846b3cf99795d Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期四, 07 三月 2024 11:49:27 +0800
Subject: [PATCH] PDA标签拣货出库修改

---
 Pda/View/SoSetting/productOut.html       |   26 +++++++++++++
 Wms/Wms/Controllers/PdaSoController.cs   |    2 
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs  |   51 ++++++++++++++++++++++---
 Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs  |    2 
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs |    2 
 5 files changed, 74 insertions(+), 9 deletions(-)

diff --git a/Pda/View/SoSetting/productOut.html b/Pda/View/SoSetting/productOut.html
index 78e1a8b..0e49687 100644
--- a/Pda/View/SoSetting/productOut.html
+++ b/Pda/View/SoSetting/productOut.html
@@ -295,6 +295,17 @@
 											</div>
 										</div>
 									</td>
+								</tr>
+								<tr class="divPickQty1">
+									<td>
+										<div class="layui-form-item layout-input" style="margin-top: 6px;">
+											<label class="layui-form-label lableWidth">鎷h揣鏁伴噺锛�</label>
+											<div class="layui-input-block">
+												<input id="pickQty1" type="number" placeholder="璇疯緭鍏ユ嫞璐ф暟閲�"autocomplete="off" 
+													class="layui-input" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')">
+											</div>
+										</div>
+									</td>
 								</tr>						
 							</table>						
 						</div>
@@ -943,6 +954,20 @@
 						});
 						return;
 					}
+					if(($('#boxNo3').val() != "" && ($('#pickQty1').val() != "" || $('#pickQty1').val() != 0))){
+						layer.msg("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏ワ紒", {
+							icon: 2,
+							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+						});
+						return;
+					}
+					if($('#pickQty1').val() != "" && $('#pickQty1').val()>parseInt($('#pickQty').val())){
+						layer.msg("鎷h揣鏁伴噺涓嶈兘澶т簬寰呮嫞鏁伴噺锛�", {
+							icon: 2,
+							time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+						});
+						return;
+					}
 				}				
 				// let boxQty = parseInt($('#boxQty').val())
 				// let qty = parseInt($('#qty').val()) 
@@ -976,6 +1001,7 @@
 					"PalletNo": $('#palletNo').val(),
 					"BoxNo": $('#boxNo').val(),
 					"BoxNo3": $('#boxNo3').val(),
+					"PickQty":$('#pickQty1').val()
 				}
 				sendData(IP + "/PdaSo/SoSetPick", param, 'post', function (res) {
 					//console.log(res);
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 1e4095d..1d8d751 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -1894,7 +1894,7 @@
                     throw new Exception("璇ユ墭鐩樻湭鍦ㄥ簱澶栵紝璇锋牳瀹烇紒");
                 }
                 // 楠岃瘉鍏ュ簱鍗曟槑缁嗘槸鍚﹀瓨鍦�
-                var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && model.LotNo.Contains(m.LotNo));
+                var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo));
                 if (detail == null)
                 {
                     throw new Exception("-1:褰撳墠鐗╂枡鍙婃壒娆′笌鍗曟嵁鏃犲叧鑱旓紝璇锋牳瀹�!");
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index a2bdd98..80ea062 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -345,7 +345,7 @@
         }
 
         //鍑哄簱pda鎷h揣
-        public void SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, int userId)
+        public void SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, int userId)
         {
             Db.BeginTran();
             try
@@ -363,6 +363,10 @@
                 if (string.IsNullOrWhiteSpace(palletNo))
                 {
                     throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�");
+                }
+                if (!string.IsNullOrEmpty(boxNo3) && (!string.IsNullOrEmpty(pickQty1) || int.Parse(pickQty1) > 0))
+                {
+                    throw new Exception("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�");
                 }
 
                 //鍑哄簱鍗�
@@ -503,7 +507,7 @@
                 }
                 else
                 {
-                    var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐�
+                    var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐с��2锛氭暟閲忔嫞璐�
                     List<DataBoxInfo> boxInfos;
                     var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo);
                     if (boxInfo.Count() == 0)
@@ -536,6 +540,24 @@
 
                         biaoShi = "1";
                     }
+                    else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣
+                    {
+                        if (boxInfo.Count() > 1)
+                        {
+                            throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣");
+                        }
+                        int boxQty = boxInfo.First().Qty;
+                        if (Convert.ToInt32(pickQty1) > boxQty)
+                        {
+                            throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
+                        }
+                        if (Convert.ToInt32(pickQty1) > needQty)
+                        {
+                            throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
+                        }
+
+                        biaoShi = "2";
+                    }
                     else //鏁寸鎷h揣
                     {
                         if (boxInfo.Count() == 0)
@@ -557,7 +579,7 @@
                     var comList = new List<BllCompleteDetail>();
                     foreach (var item in boxInfos)
                     {
-                        if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
+                        if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
                         {
                             throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
                         }
@@ -579,14 +601,31 @@
                             SkuName = allot.SkuName,
                             Standard = allot.Standard,
                             PalletNo = palletNo,
-                            CompleteQty = item.Qty,
+                            CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
 
                             CreateUser = userId
                         };
                         comList.Add(completeDetail);
 
-                        //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
-                        Db.Deleteable(item).ExecuteCommand();
+                        if (biaoShi != "2")
+                        {
+                            //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
+                            Db.Deleteable(item).ExecuteCommand();                            
+                        }
+                        else//鏁伴噺鎷h揣
+                        {
+                            if (int.Parse(pickQty1) == item.Qty)
+                            {
+                                //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
+                                Db.Deleteable(item).ExecuteCommand();
+                            }
+                            else
+                            {
+                                item.Qty -= int.Parse(pickQty1);
+                                item.BitBoxMark = "1";//闆剁鏍囪瘑
+                                Db.Updateable(item).ExecuteCommand();
+                            }
+                        }
                         pickQty += item.Qty;
                     }
                     //鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅
diff --git a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
index 62a070b..fd73bd2 100644
--- a/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
+++ b/Wms/WMS.IBLL/IPdaServer/IPdaSoServer.cs
@@ -75,7 +75,7 @@
         /// <param name="boxNo2">鐩掔爜</param>
         /// <param name="boxNo3">鏀�/琚嬬爜</param>
         /// <param name="userId">鎿嶄綔浜�</param>
-        void SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, int userId);
+        void SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string PickQty, int userId);
 
         /// <summary>
         /// 鍑哄簱pda鎷h揣
diff --git a/Wms/Wms/Controllers/PdaSoController.cs b/Wms/Wms/Controllers/PdaSoController.cs
index de7edbc..cc41c9c 100644
--- a/Wms/Wms/Controllers/PdaSoController.cs
+++ b/Wms/Wms/Controllers/PdaSoController.cs
@@ -203,7 +203,7 @@
                     return Ok(new { code = 1, msg = "鏈幏鍙栧埌褰撳墠鎿嶄綔浜轰俊鎭�" });
                 }
 
-                _pdaSoSvc.SoSetPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3, int.Parse(userId));
+                _pdaSoSvc.SoSetPick(model.SoNo, model.SoDetailId, model.PalletNo, model.BoxNo, model.BoxNo3,model.PickQty ,int.Parse(userId));
 
                 return Ok(new { code = 0, msg = "鎷h揣瀹屾垚", data = "" });
             }

--
Gitblit v1.8.0