From 8419cb523a107c6b865628db4cdf8ef5d32b40f7 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期二, 13 八月 2024 10:28:46 +0800
Subject: [PATCH] 拼箱功能开发

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 154a06f..f2f8ea3 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -430,6 +430,7 @@
                                 IsWave = "0",
                                 WaveNo = "",
                                 IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo) ? "0" : "1",
+                                IsMixBox = d.IsMixBox,
 
                                 OrderDetailCode = d.OrderDetailCode,
 
@@ -540,7 +541,7 @@
                                 var item = new BllExportNoticeDetail()
                                 {
                                     SONo = billNo,
-                                    OrderDetailCode=d.OrderDetailCode,
+                                    OrderDetailCode = d.OrderDetailCode,
                                     SkuNo = sku.SkuNo,
                                     SkuName = sku.SkuName,
                                     Standard = sku.Standard,
@@ -559,6 +560,7 @@
                                     IsWave = "0",
                                     WaveNo = "",
                                     IsIssueLotNo = string.IsNullOrWhiteSpace(d.LotNo) ? "0" : "1",
+                                    IsMixBox = d.IsMixBox,
 
                                     CreateUser = 0,
                                 };
@@ -4307,6 +4309,8 @@
                 var noticeDetail = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == soNo).ToList();
                 //搴撳瓨鎬昏〃淇℃伅
                 var data = Db.Queryable<DataStock>().Where(m => m.IsDel == "0").ToList();
+                //搴撳瓨鏄庣粏涓楠屽悎鏍兼壒娆¢泦鍚�
+                var dataDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.InspectStatus == "1").GroupBy(g => g.LotNo).Select(s => s.LotNo).ToList();
                 //搴撳瓨鏄庣粏琛ㄤ俊鎭�
                 var dataBoxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0").ToList();
 
@@ -4316,7 +4320,7 @@
                 {
                     //楠岃瘉鍏堣繘鍏堝嚭鍘熷垯
                     
-                    var forData = data.Where(m => m.SkuNo == item.SkuNo && m.LotNo != item.LotNo && (m.Qty - m.FrozenQty - m.LockQty) > 0 ).Select(m=>m.LotNo).ToList(); //鑾峰彇褰撳墠鐗╂枡鐨勬墍鏈夋壒娆′俊鎭�(鎺掗櫎鍗曟嵁鐨勬壒娆★紝闃叉鍗曟嵁鎵�鍦ㄦ壒娆¢攣瀹氭暟閲忓悗楠岃瘉灏忎簬绛変簬0)
+                    var forData = data.Where(m => m.SkuNo == item.SkuNo && m.LotNo != item.LotNo && (m.Qty - m.FrozenQty - m.LockQty) > 0 && dataDetail.Contains(m.LotNo)).Select(m=>m.LotNo).ToList(); //鑾峰彇褰撳墠鐗╂枡鐨勬墍鏈夋壒娆′俊鎭�(鎺掗櫎鍗曟嵁鐨勬壒娆★紝闃叉鍗曟嵁鎵�鍦ㄦ壒娆¢攣瀹氭暟閲忓悗楠岃瘉灏忎簬绛変簬0)
 
                     forData.Add(item.LotNo);  //闆嗗悎娣诲姞鍗曟嵁鐨勬壒娆�
                     //鑾峰彇鎺掑簭鍚庣殑绗竴涓壒娆�
@@ -4376,7 +4380,7 @@
 
                 var exAllotList = new List<BllExportAllot>();
                 var assign = new AllotSku();
-                var specialSku = new List<string>();//鐗规畩鐗╂枡闆嗗悎锛屾棤闇�鎵樼洏涓婂叏閮ㄥ垎閰嶇殑
+                var specialSku = new List<string>();//鐗规畩鐗╂枡闆嗗悎锛� 鏃犻渶鎵樼洏涓婂叏閮ㄥ垎閰嶇殑
                 Db.BeginTran();
                 try
                 {
@@ -4454,7 +4458,7 @@
                         }
                         else
                         {
-                            qty += assign.AllotPallets(stockDetail, needQty, pNum, bNum, stockQtyDic);
+                            qty += assign.AllotPallets(stockDetail, needQty, pNum, bNum, stockQtyDic, detail.LotNo, detail.IsMixBox);
                         }
                         
                         foreach (var sc in stockQtyDic)

--
Gitblit v1.8.0