From 35592940d7f7d0cce32fe7fbb0fc0c661ba5d292 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 06 三月 2024 16:21:27 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/liudongl/jc24-wms

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |   68 ++++++++++++++++++++++++---------
 1 files changed, 49 insertions(+), 19 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index d8a85e7..f959f68 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -2404,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();
@@ -2439,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);
@@ -2556,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;
@@ -2564,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