From 7f8d455428beb73694baf000f692e2183b239239 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 06 三月 2024 16:45:31 +0800
Subject: [PATCH] 出库单页面修改

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |  139 +++++++++++++++++++++++++++++----------------
 1 files changed, 89 insertions(+), 50 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 59a7019..f959f68 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -1426,43 +1426,52 @@
                         string toLocation = string.Empty;//鐩爣浣嶇疆
                         string unstackingMode2 = unstackingMode;//鎷嗗灈鏂瑰紡锛�0:鏈哄櫒浜烘媶鍨� 1:PDA鎷嗗灈
                         #region 鍒ゆ柇鏄惁闇�瑕佹媶绠�
-                        string isChai = "0";//鏄惁闇�瑕佹媶绠憋紝0:鍚� 1:鏄�
-                        var skuInfo = skuList.First(w => w.SkuNo == item.SkuNo);
-                        if (skuInfo == null)
+                        if (notice.Type == "0")//鎴愬搧鍑哄簱
                         {
-                            throw new Exception("鐗╂枡淇℃伅涓嶅瓨鍦紒");
-                        }
-                        var packagInfo = packagList.First(w => w.PackagNo == skuInfo.PackagNo);
-                        if (packagInfo == null)
-                        {
-                            throw new Exception("鍖呰淇℃伅涓嶅瓨鍦紒");
-                        }
-                        if (packagInfo.L2Name == "绠�")
-                        {
-                            if (item.Qty % (decimal)packagInfo.L2Num != 0)//鑳芥暣闄よ鏄庝笉鐢ㄦ媶绠憋紝涓嶈兘鏁撮櫎璇存槑闇�瑕佹媶绠�
+                            string isChai = "0";//鏄惁闇�瑕佹媶绠憋紝0:鍚� 1:鏄�
+                            var skuInfo = skuList.First(w => w.SkuNo == item.SkuNo);
+                            if (skuInfo == null)
                             {
-                                isChai = "1";
-                                unstackingMode2 = "1";//闇�瑕佹媶绠遍渶璧癙DA鎷嗗灈
+                                throw new Exception("鐗╂枡淇℃伅涓嶅瓨鍦紒");
+                            }
+                            var packagInfo = packagList.First(w => w.PackagNo == skuInfo.PackagNo);
+                            if (packagInfo == null)
+                            {
+                                throw new Exception("鍖呰淇℃伅涓嶅瓨鍦紒");
+                            }
+                            if (packagInfo.L2Name == "绠�")
+                            {
+                                if (item.Qty % (decimal)packagInfo.L2Num != 0)//鑳芥暣闄よ鏄庝笉鐢ㄦ媶绠憋紝涓嶈兘鏁撮櫎璇存槑闇�瑕佹媶绠�
+                                {
+                                    isChai = "1";
+                                    unstackingMode2 = "1";//闇�瑕佹媶绠遍渶璧癙DA鎷嗗灈
+                                }
+                            }
+                            if (isChai == "0")
+                            {
+                                var boxInfo = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.PalletNo == item.PalletNo && w.BitBoxMark == "1").ToList();
+                                if (boxInfo != null)//鎵樼洏涓婃湁闆剁闇�瑕佹媶绠�
+                                {
+                                    isChai = "1";
+                                    unstackingMode2 = "1";//闇�瑕佹媶绠遍渶璧癙DA鎷嗗灈
+                                }
+                            }
+
+                            if (unstackingMode2 == "0")//鏈哄櫒浜烘媶鍨�
+                            {
+                                toLocation = loadingAddre;//瑁呰溅鍙�
+                            }
+                            else //PDA鎷嗗灈
+                            {
+                                toLocation = outMode;//鍑哄簱鍙�
                             }
                         }
-                        if (isChai == "0")
+                        else 
                         {
-                            var boxInfo = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.PalletNo == item.PalletNo && w.BitBoxMark == "1").ToList();
-                            if (boxInfo != null)//鎵樼洏涓婃湁闆剁闇�瑕佹媶绠�
-                            {
-                                isChai = "1";
-                                unstackingMode2 = "1";//闇�瑕佹媶绠遍渶璧癙DA鎷嗗灈
-                            }
-                        }
-                        #endregion
-                        if (unstackingMode2 == "0")//鏈哄櫒浜烘媶鍨�
-                        {
-                            toLocation = loadingAddre;//瑁呰溅鍙�
-                        }
-                        else //PDA鎷嗗灈
-                        {
+                            unstackingMode2 = "1";//闈炴垚鍝佸嚭搴撹蛋PDA鎷嗗灈
                             toLocation = outMode;//鍑哄簱鍙�
-                        }
+                        }                        
+                        #endregion
 
                         // 鍌ㄤ綅鍙�
                         var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo).LocatNo;
@@ -2395,7 +2404,7 @@
                 }
                 if (notice.Status != "0" && notice.Status != "1")
                 {
-                    throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负绛夊緟鎵ц鎴栭儴鍒嗗垎閰嶆垨鏉ユ簮鏄惁鏄疻MS");
+                    throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负绛夊緟鎵ц鎴栭儴鍒嗗垎閰�;");
                 }
                 //鍑哄簱鍗曟槑缁�
                 var detailList = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == soNo && (m.AllotQty - m.Qty) <= 0).ToList();
@@ -2430,32 +2439,46 @@
                         //鍒ゆ柇鍗曞彿鏄惁鎸囧畾鎵规
                         if (!string.IsNullOrWhiteSpace(detail.LotNo))
                         {
-                            stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && m.LotNo == detail.LotNo && m.IsDel == "0").ToList();
+                            if (detail.LotNo.Contains(";"))
+                            {
+                                var lotNoList = detail.LotNo.Split(";");
+                                var lotNoList2 = new List<string>();
+
+                                foreach (var lotNoItem in lotNoList)
+                                {
+                                    lotNoList2.Add(lotNoItem);
+                                }
+                                stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && lotNoList2.Contains(m.LotNo) && m.IsDel == "0").ToList();
+                            }
+                            else
+                            {
+                                stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && m.LotNo == detail.LotNo && m.IsDel == "0").ToList();
+                            }
+                            
                         }
                         else
                         {
-                            stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo && string.IsNullOrWhiteSpace(m.LotNo) && m.IsDel == "0").ToList();
+                            stockDetail = stockDetail.Where(m => m.SkuNo == detail.SkuNo  && m.IsDel == "0").ToList(); //&& string.IsNullOrWhiteSpace(m.LotNo)
                         }
 
                         if (stockDetail.Count < 1)
                         {
                             throw new Exception("搴撳瓨涓嶈冻,鏃犲彲鍑哄簱搴撳瓨");
                         }
-
-                        //if (notice.Type == "0" || notice.Type == "1")//鎴愬搧銆佸師杈呮枡鍑哄簱
-                        //{
-                        stockDetail = stockDetail.Where(m => m.InspectStatus == "1").ToList();
-                        //}
-                        //else if (notice.Type == "2" || notice.Type == "3")//鎴愬搧銆佸師杈呮枡鍑哄簱(涓嶅悎鏍�)
-                        //{
-                        //    stockDetail = stockDetail.Where(m => m.InspectStatus == "2").ToList();
-                        //}
-                        //else if (notice.Type == "4")//鍙栨牱鍑哄簱
-                        //{
-                        //    stockDetail = stockDetail.Where(m => m.InspectStatus == "0").ToList();
-                        //}
-                        //灏嗗簱瀛樻槑缁嗘寜娣卞害杩涜鎺掑簭 娣卞害1鍦ㄥ墠 娣卞害2鍦ㄥ悗
-                        //stockDetail = stockDetail.OrderBy(d => int.Parse(d.LocatNo.Substring(6, 2))).ToList();
+                        //0:鎴愬搧鍑哄簱銆�1:棰嗘枡鍑哄簱銆�2:鎶芥鍑哄簱銆�3锛氱墿鏂欏彇鏍峰嚭搴撱��4:涓嶅悎鏍煎搧鍑哄簱銆�5:涓棿鍝佸嚭搴撱��6:浠e偍鍑哄簱銆�7:鍏朵粬鍑哄簱銆�8:瀵勫瓨鍑哄簱
+                        if (notice.Type == "0" || notice.Type == "1" || notice.Type == "2" || notice.Type == "5")//鎴愬搧銆佸師杈呮枡鍑哄簱
+                        {
+                            stockDetail = stockDetail.Where(m => m.InspectStatus == "1").ToList();
+                        }
+                        else if (notice.Type == "3" || notice.Type == "6" || notice.Type == "7" || notice.Type == "8")//鍙栨牱鍑哄簱
+                        {
+                            stockDetail = stockDetail.Where(m => m.InspectStatus == "0").ToList();
+                        }
+                        else if (notice.Type == "4")//涓嶅悎鏍煎嚭搴�
+                        {
+                            stockDetail = stockDetail.Where(m => m.InspectStatus == "2").ToList();
+                        }
+                       
                         #region 鍖呰淇℃伅
 
                         var pack = packList.FirstOrDefault(p => p.PackagNo == detail.PackagNo);
@@ -2547,6 +2570,22 @@
                             }
 
                             var sd = Db.Updateable(s).UpdateColumns(it => new { it.LockQty, it.Status }).ExecuteCommand();
+                            if (notice.Type == "1" || notice.Type == "5" || notice.Type == "6" || notice.Type == "7" || notice.Type == "8")//1锛氶鏂欏嚭搴撱��
+                            {
+                                if (string.IsNullOrWhiteSpace(detail.LotNo))
+                                {
+                                    detail.LotNo = s.LotNo;
+                                    
+                                }
+                                else
+                                {
+                                    if (!detail.LotNo.Contains(s.LotNo))
+                                    {
+                                        detail.LotNo += ";" + s.LotNo; 
+                                    }
+                                }
+                            }
+                            
                         }
                         detail.AllotQty += qty;
                         detail.UpdateUser = userId;
@@ -2555,7 +2594,7 @@
                         {
                             detail.Status = "1";
                         }
-
+                        
                         //搴撳瓨鎬昏〃
                         //var stock = Db.Queryable<DataStock>().First(d => d.IsDel == "0" && d.SkuNo == detail.SkuNo && d.LotNo == detail.LotNo);
                         //stock.LockQty += qty;

--
Gitblit v1.8.0