wxw
2024-08-13 8419cb523a107c6b865628db4cdf8ef5d32b40f7
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)