wxw
2024-07-17 f10e29b77659f6b7db1cf8d0e0fc5387b958e2c5
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);  //集合添加单据的批次
                    //获取排序后的第一个批次