From 28e3d62189b7509d0fcc1528a1c3e9b8be44cd24 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期二, 13 八月 2024 16:10:12 +0800
Subject: [PATCH] 修改测试问题

---
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs |   54 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 7c124fd..3b1572c 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -3527,12 +3527,12 @@
                     boxInfoList.AddRange(list);
                     msgStr += $"灏剧鍙蜂负{model.TailBoxNo}";
                 }
+                //缁戝畾绠辨�绘暟閲�
+                //model.SkuQty = boxInfoList.Sum(s => s.Qty);
                 //鍜岄�夋嫨鐨勬壒娆″悓鎵规鐨勭鐮佷俊鎭�
                 var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo).ToList();
                 //鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜淇℃伅锛堟嫾绠辨壒娆★級
                 var notBoxInfoList = boxInfoList.Where(w => w.LotNo != model.LotNo).ToList();
-                //鎷肩鏁伴噺(鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜鏁伴噺)
-                decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty);
                 #endregion
 
                 if (sameBoxInfoList.Count <= 0)
@@ -3553,7 +3553,7 @@
                             PalletNo = model.PalletNo,
                             PalletNo2 = "",
                             PalletNo3 = "",
-                            Qty = model.SkuQty - pinBoxQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺
+                            Qty = model.SkuQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺
                             FullQty = pNum,
                             Status = "2",//鍏ュ簱瀹屾垚
                             Type = "0",
@@ -3576,10 +3576,10 @@
                         bindId = bind.Id;
                         bind.Qty += model.SkuQty;
                     }
-                    if (bind.Qty < 0)
+                    /*if (bind.Qty < 0)
                     {
                         throw new Exception("缁勭洏鏁伴噺涓嶈兘灏忎簬0");
-                    }
+                    }*/
                     #endregion
 
                     #region 搴撳瓨鏄庣粏鍜岃川妫�淇℃伅
@@ -3917,6 +3917,8 @@
                     }
                     var pinBoxNo = notBoxInfoList[0].BoxNo;//鎷肩绠辩爜
                     var pinBoxLotNo = notBoxInfoList[0].LotNo;//鎷肩鎵规鍙�
+                    //鎷肩鏁伴噺(鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜鏁伴噺)
+                    decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty);
 
                     var dataBoxList = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo == pinBoxNo && w.LotNo == pinBoxLotNo).ToList();
                     if (dataBoxList.Count > 0)//宸叉湁搴撳瓨
@@ -3925,6 +3927,8 @@
                         var oldPalletBind = Db.Queryable<BllPalletBind>().First(w => w.Id == notBoxInfoList[0].BindNo);
                         //鍘熷叆搴撳崟鏄庣粏
                         var oldAsnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(w => w.Id == oldPalletBind.ASNDetailNo);
+                        //鍘熷叆搴撳崟
+                        var oldAsnNotice = Db.Queryable<BllArrivalNotice>().First(w => w.ASNNo == oldAsnDetail.ASNNo);
                         #region 鎵樼洏缁戝畾淇℃伅
                         var bind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNDetailNo == oldAsnDetail.Id && m.PalletNo == model.PalletNo);
                         var bindId = 0;
@@ -3937,7 +3941,7 @@
                                 PalletNo = model.PalletNo,
                                 PalletNo2 = "",
                                 PalletNo3 = "",
-                                Qty = pinBoxQty,
+                                Qty = 0,
                                 FullQty = pNum,
                                 Status = "2",//鍏ュ簱瀹屾垚
                                 Type = "0",
@@ -3967,7 +3971,7 @@
                         // 鎻掑叆搴撳瓨鏄庣粏鏁版嵁
                         var sd1 = new DataStockDetail()
                         {
-                            LotNo = pinBoxNo,
+                            LotNo = pinBoxLotNo,
                             LotText = notBoxInfoList[0].LotText,
                             SupplierLot = notBoxInfoList[0].SupplierLot,
                             SkuNo = sku.SkuNo,
@@ -3983,9 +3987,9 @@
                             RoadwayNo = "",//鎵�灞炲贩閬�
                             AreaNo = "",//鎵�灞炲尯鍩�
                             LocatNo = "",//鍌ㄤ綅鍦板潃
-                            PalletNo = oldPalletBind.PalletNo,
-                            PalletNo2 = oldPalletBind.PalletNo2,
-                            PalletNo3 = oldPalletBind.PalletNo3,
+                            PalletNo = bind.PalletNo,
+                            PalletNo2 = bind.PalletNo2,
+                            PalletNo3 = bind.PalletNo3,
                             PalletTags = "0",
                             CompleteTime = comTime,
                             ProductionTime = oldPalletBind.ProductionTime,
@@ -4002,6 +4006,17 @@
                             CreateUser = 0,
                             CreateTime = comTime
                         };
+                        //缁存姢搴撳瓨鏄庣粏璐т富/渚涘簲鍟嗕俊鎭�
+                        if (oldAsnNotice.Type == "0" || oldAsnNotice.Type == "2" || oldAsnNotice.Type == "4" || oldAsnNotice.Type == "6" || oldAsnNotice.Type == "7")//0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱
+                        {
+                            sd1.OwnerNo = oldAsnNotice.CustomerNo;//璐т富缂栫爜
+                            sd1.OwnerName = oldAsnNotice.CustomerName;//璐т富鍚嶇О
+                        }
+                        else if (oldAsnNotice.Type == "1" || oldAsnNotice.Type == "5")//1:閲囪喘鍏ュ簱,2:鍏跺畠鍏ュ簱
+                        {
+                            sd1.SupplierNo = oldAsnNotice.CustomerNo;//渚涘簲鍟嗙紪鐮�
+                            sd1.SupplierName = oldAsnNotice.CustomerName;//渚涘簲鍟嗗悕绉�
+                        }
                         //娣诲姞搴撳瓨鏄庣粏
                         var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
                         foreach (var item in dataBoxList)
@@ -4029,7 +4044,7 @@
                         string sql = $@"SELECT detail.* FROM BllArrivalNoticeDetail as detail
                                         JOIN BllArrivalNotice as notice ON detail.ASNNo=notice.ASNNo
                                         WHERE notice.IsDel='0'
-                                        AND notice.Status='1'
+                                        AND ( notice.Status=0 or notice.Status=1 )
                                         AND detail.IsDel='0' 
                                         AND detail.LotNo='{pinBoxLotNo}' 
                                         AND detail.SkuNo='{sku.SkuNo}'
@@ -4041,7 +4056,7 @@
                             throw new Exception("鎷肩鍐呯墿鏂欐墍灞炲叆搴撳崟鏄庣粏涓嶅瓨鍦�!");
                         }
                         //鎵惧埌鎷肩鍐呭叾浠栨壒娆℃墍灞炲叆搴撳崟
-                        var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo && w.Status == "1");
+                        var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo);
                         if (arrNotice == null)
                         {
                             throw new Exception("鎷肩鍐呯墿鏂欐墍灞炲叆搴撳崟涓嶅瓨鍦�!");
@@ -4058,7 +4073,7 @@
                                 PalletNo = model.PalletNo,
                                 PalletNo2 = "",
                                 PalletNo3 = "",
-                                Qty = pinBoxQty,
+                                Qty = 0,
                                 FullQty = pNum,
                                 Status = "2",//鍏ュ簱瀹屾垚
                                 Type = "0",
@@ -4079,9 +4094,6 @@
                         else
                         {
                             bindId = bind.Id;
-                            bind.Qty += pinBoxQty;
-
-                            Db.Updateable(bind).ExecuteCommand();
                         }
                         #endregion
 
@@ -4110,7 +4122,7 @@
                         {
                             sdId1 = sd1.Id;
                             // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
-                            sd1.Qty = pinBoxQty;
+                            sd1.Qty = bind.Qty;
                             sd1.CompleteTime = comTime;
                             sd1.UpdateUser = userId;
                             sd1.UpdateTime = comTime;
@@ -4128,7 +4140,7 @@
                                 SkuNo = sku.SkuNo,
                                 SkuName = sku.SkuName,
                                 Standard = sku.Standard,
-                                Qty = pinBoxQty,
+                                Qty = bind.Qty,
                                 LockQty = 0,
                                 FrozenQty = 0,
                                 InspectQty = 0,
@@ -4149,7 +4161,7 @@
                                 InspectMark = bind.InspectMark,
                                 InspectStatus = sku.IsInspect,
                                 BitPalletMark = bind.BitPalletMark,
-                                PackagNo = detail.PackagNo,                    //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�       
+                                PackagNo = arrDetail.PackagNo,                    //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�       
                                 IsBale = bind.IsBale,
                                 IsBelt = bind.IsBelt,
 
@@ -4208,7 +4220,7 @@
                                     continue;
                                 }
                                 //绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎
-                                if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo)
+                                if (box.SkuNo != arrDetail.SkuNo || box.LotNo != arrDetail.LotNo)
                                 {
                                     throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!");
                                 }
@@ -4309,7 +4321,7 @@
                             arrDetail.IsSampling = "1";
                         }
                         arrDetail.Status = "1";//0锛氱瓑寰呮墽琛� 1锛氭鍦ㄦ墽琛� 2锛氭墽琛屽畬鎴�
-                        if (arrDetail.CompleteQty >= detail.Qty)
+                        if (arrDetail.CompleteQty >= arrDetail.Qty)
                         {
                             arrDetail.Status = "2";
                             arrDetail.CompleteTime = comTime;

--
Gitblit v1.8.0