From 0d0ab647110b34bbe002db2c749f7cf5ab9d73ee Mon Sep 17 00:00:00 2001
From: yuyou_x <2336760928@qq.com>
Date: 星期五, 02 二月 2024 15:04:34 +0800
Subject: [PATCH] 1

---
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs |  112 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 63 insertions(+), 49 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index b3b186d..f691ddc 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -1638,7 +1638,7 @@
                         PalletNo = model.PalletNo,
                         PalletNo2 = "",
                         PalletNo3 = "",
-                        Qty = 0,
+                        Qty = model.SkuQty,
                         FullQty = pNum,
                         Status = "0",
                         Type = "0",
@@ -1666,69 +1666,75 @@
                 #region 绠辩爜淇℃伅
                 var msgStr = $"绠卞彿涓簕model.BoxNo}";
                 var boxInfoList = new List<BllBoxInfo>();
-                //棣栫
-                var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo && m.Status == "0").ToList();
-                if (boxInfo.Count == 0)
+                if (model.SkuQty == 0)
                 {
-                    throw new Exception("-1:绠辩爜淇℃伅涓嶅瓨鍦�!");
-                }
-                boxInfoList.AddRange(boxInfo);
-                //鏄惁杩炵画缁勬墭
-                if (model.IsContinue == "1")
-                {
-                    //灏剧
-                    var boxInfo2 = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo && m.Status == "0").ToList();
-                    if (boxInfo2.Count == 0)
+                    //棣栫
+                    var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo && m.Status == "0").ToList();
+                    if (boxInfo.Count == 0)
                     {
-                        throw new Exception("-1:灏剧鐮佷俊鎭笉瀛樺湪!");
+                        throw new Exception("-1:绠辩爜淇℃伅涓嶅瓨鍦�!");
                     }
-                    boxInfoList.AddRange(boxInfo2);
-                    var sql = $"select * from BllBoxInfo where IsDel = '0' and Status = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}'; ";
-                    var list = Db.Ado.SqlQuery<BllBoxInfo>(sql);
-                    boxInfoList.AddRange(list);
-                    msgStr += $"灏剧鍙蜂负{model.TailBoxNo}";
+                    boxInfoList.AddRange(boxInfo);
+                    //鏄惁杩炵画缁勬墭
+                    if (model.IsContinue == "1")
+                    {
+                        //灏剧
+                        var boxInfo2 = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo && m.Status == "0").ToList();
+                        if (boxInfo2.Count == 0)
+                        {
+                            throw new Exception("-1:灏剧鐮佷俊鎭笉瀛樺湪!");
+                        }
+                        boxInfoList.AddRange(boxInfo2);
+                        var sql = $"select * from BllBoxInfo where IsDel = '0' and Status = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}'; ";
+                        var list = Db.Ado.SqlQuery<BllBoxInfo>(sql);
+                        boxInfoList.AddRange(list);
+                        msgStr += $"灏剧鍙蜂负{model.TailBoxNo}";
+                    }
                 }
                 #endregion
 
                 // 鏇存敼绠辨敮鍏崇郴琛�
                 decimal factQty = 0.00m;//鎵樼洏鎬绘暟閲�
-                var boxGroup = boxInfoList.GroupBy(m => m.BoxNo).ToList();
-                foreach (var g in boxGroup)
+                if (model.SkuQty == 0)
                 {
-                    var boxFullQty = 0;//绠卞唴鎬绘暟閲�
-                    foreach (var box in g)
+                    var boxGroup = boxInfoList.GroupBy(m => m.BoxNo).ToList();
+                    foreach (var g in boxGroup)
                     {
-                        if (box.BindNo != null && box.BindNo != 0)
+                        var boxFullQty = 0;//绠卞唴鎬绘暟閲�
+                        foreach (var box in g)
                         {
-                            continue;
+                            if (box.BindNo != null && box.BindNo != 0)
+                            {
+                                continue;
+                            }
+                            //绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎
+                            if (box.SkuNo != detail.SkuNo || box.LotNo != detail.LotNo)
+                            {
+                                throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!");
+                            }
+
+                            box.ASNNo = model.AsnNo;
+                            box.ASNDetailNo = model.AsnDetailId;
+                            box.BindNo = bindId;
+                            box.PalletNo = model.PalletNo;
+                            box.Status = "1";
+                            box.CompleteTime = DateTime.Now;
+                            box.UpdateTime = DateTime.Now;
+                            box.UpdateUser = userId;
+
+                            factQty += box.Qty;
+                            boxFullQty += box.Qty;
                         }
-                        //绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎
-                        if (box.SkuNo != detail.SkuNo || box.LotNo != detail.LotNo)
+                        if (boxFullQty > bNum)
                         {
-                            throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!");
+                            throw new Exception($"缁戝畾澶辫触锛寋g.Key}绠辩爜缁戝畾鏁伴噺澶т簬璇ョ墿鍝佸寘瑁呮暟閲忥紒");
                         }
-
-                        box.ASNNo = model.AsnNo;
-                        box.ASNDetailNo = model.AsnDetailId;
-                        box.BindNo = bindId;
-                        box.PalletNo = model.PalletNo;
-                        box.Status = "1";
-                        box.CompleteTime = DateTime.Now;
-                        box.UpdateTime = DateTime.Now;
-                        box.UpdateUser = userId;
-
-                        factQty += box.Qty;
-                        boxFullQty += box.Qty;
                     }
-                    if (boxFullQty > bNum)
-                    {
-                        throw new Exception($"缁戝畾澶辫触锛寋g.Key}绠辩爜缁戝畾鏁伴噺澶т簬璇ョ墿鍝佸寘瑁呮暟閲忥紒");
-                    }
+                    Db.Updateable(boxInfoList).ExecuteCommand();
+
+                    // 鏇存柊鎵樼洏缁戝畾琛�
+                    bind.Qty += factQty;
                 }
-                Db.Updateable(boxInfoList).ExecuteCommand();
-
-                // 鏇存柊鎵樼洏缁戝畾琛�
-                bind.Qty += factQty;
                 if (bind.FullQty < bind.Qty)
                 {
                     throw new Exception("鎵樼洏缁戝畾鏁伴噺宸茶秴鍑鸿鐗╂枡鍖呰鏁伴噺");
@@ -1742,7 +1748,15 @@
 
                 // 鏇存敼鍏ュ簱鍗曟槑缁嗗凡缁勬暟閲�
                 var sqlString = string.Empty;
-                sqlString += $"update BllArrivalNoticeDetail set FactQty = FactQty + '{factQty}' where id = '{model.AsnDetailId}';";
+                if (factQty == 0)
+                {
+                    sqlString += $"update BllArrivalNoticeDetail set FactQty = FactQty + '{bind.Qty}' where id = '{model.AsnDetailId}';";
+                }
+                else
+                {
+                    sqlString += $"update BllArrivalNoticeDetail set FactQty = FactQty + '{factQty}' where id = '{model.AsnDetailId}';";
+                }
+
                 Db.Ado.ExecuteCommand(sqlString);
 
                 // 鏇存敼鍏ュ簱鍗曞強鍏ュ簱鏄庣粏鐘舵��

--
Gitblit v1.8.0