bklLiudl
2024-08-22 23721918cac512373cf7ef7954ceae387900af24
Wms/WMS.BLL/Logic/AllotSku.cs
@@ -922,12 +922,13 @@
                //立库内托盘
                var detail3 = list.Where(m => m.WareHouseNo == "W01").ToList();
                foreach (var item in detail2)
                {
                    var dept = item.LocatNo.Substring(5,2);
                // 平库储位编码规则确认后,根据实际规则取深度
                //foreach (var item in detail2)
                //{
                //    var dept = item.LocatNo.Substring(5,2);
                    item.Dept = int.Parse(dept);
                }
                //    item.Dept = int.Parse(dept);
                //}
                foreach (var item in detail3)
                {
                    var dept = item.LocatNo.Substring(6, 2);
@@ -935,27 +936,27 @@
                    item.Dept = int.Parse(dept);
                }
                //平库
                var locate1 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W02");
                var data2 = new List<StockDetailDto>();
                foreach (var pingku in detail2.OrderByDescending(a => a.PalletTags).ThenBy(m => m.Dept).ToList())
                {
                    if (data2.Contains(pingku))
                    {
                        continue;
                    }
                //var locate1 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W02");
                //var data2 = new List<StockDetailDto>();
                //foreach (var pingku in detail2.OrderByDescending(a => a.PalletTags).ThenBy(m => m.Dept).ToList())
                //{
                //    if (data2.Contains(pingku))
                //    {
                //        continue;
                //    }
                    
                    var currentLocate = locate1.First(m => m.LocatNo == pingku.LocatNo);
                    var locateAfter = locate1.Where(m => m.AreaNo == currentLocate.AreaNo && m.Layer == currentLocate.Layer && m.Row == currentLocate.Row && int.Parse(m.Depth) < int.Parse(currentLocate.Depth)).OrderBy(m => m.Depth).ToList();
                    foreach (var locat in locateAfter)
                    {
                        if (detail2.Any(m => m.LocatNo == locat.LocatNo) && !data2.Contains(detail2.First(m => m.LocatNo == locat.LocatNo)))
                        {
                            data2.Add(detail2.First(m => m.LocatNo == locat.LocatNo));
                        }
                //    var currentLocate = locate1.First(m => m.LocatNo == pingku.LocatNo);
                //    var locateAfter = locate1.Where(m => m.AreaNo == currentLocate.AreaNo && m.Layer == currentLocate.Layer && m.Row == currentLocate.Row && int.Parse(m.Depth) < int.Parse(currentLocate.Depth)).OrderBy(m => m.Depth).ToList();
                //    foreach (var locat in locateAfter)
                //    {
                //        if (detail2.Any(m => m.LocatNo == locat.LocatNo) && !data2.Contains(detail2.First(m => m.LocatNo == locat.LocatNo)))
                //        {
                //            data2.Add(detail2.First(m => m.LocatNo == locat.LocatNo));
                //        }
                    }
                    data2.Add(pingku);
                }
                //    }
                //    data2.Add(pingku);
                //}
                //立库
                var locate2 = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W01").ToList();
@@ -981,9 +982,9 @@
                }
                data.AddRange(detail1);
                data.AddRange(data2);
                data.AddRange(data3);
                data.AddRange(detail1);             // 库外
                data.AddRange(detail2);             // 平库
                data.AddRange(data3);               // 立库
                return data;
            }