1
dengjunjie
2025-09-29 d9c99e0480b4910cdb134778dd5c314b35ec4cf2
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Base/StockViewService.cs
@@ -177,8 +177,11 @@
                ISugarQueryable<Dt_LocationInfo> sugarQueryable = _dbBase.Queryable<Dt_LocationInfo>();
                List<Dt_LocationInfo> dt_LocationInfos = sugarQueryable.ToList();
                ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Where(x => dt_LocationInfos.Select(x => x.LocationCode).ToList().Contains(x.LocationCode)).Includes(x => x.Details);
                List<Dt_StockInfo> StockInfos = sugarQueryable1.OrderBy(x => x.InDate).ToList();
                //ISugarQueryable<Dt_StockInfo> sugarQueryable1 = _dbBase.Queryable<Dt_StockInfo>().Where(x => dt_LocationInfos.Select(x => x.LocationCode).ToList().Contains(x.LocationCode)).Includes(x => x.Details);
                //List<Dt_StockInfo> StockInfos = sugarQueryable1.OrderBy(x => x.InDate).ToList();
                ISugarQueryable<Dt_InventoryInfo> sugarQueryable1 = _dbBase.Queryable<Dt_InventoryInfo>().Where(x => dt_LocationInfos.Select(x => x.LocationCode).ToList().Contains(x.LocationCode));
                List<Dt_InventoryInfo> StockInfos = sugarQueryable1.OrderBy(x => x.InDate).ToList();
                foreach (var dt_LocationInfo in dt_LocationInfos)
                {
                    LocationStockView locationStockView = new LocationStockView()
@@ -195,22 +198,24 @@
                        RoadwayNo = dt_LocationInfo.RoadwayNo,
                        Row = dt_LocationInfo.Row
                    };
                    List<Dt_StockInfo> dt_StockInfos = StockInfos.Where(x => x.LocationCode == dt_LocationInfo.LocationCode).ToList();
                    List<Dt_StockInfoDetail> Details = new List<Dt_StockInfoDetail>();
                    foreach (var item in dt_StockInfos)
                    {
                        Details.AddRange(item.Details);
                    }
                    var BatchNo = string.Join(",", Details.GroupBy(x => x.BatchNo).Select(x => x.Key).ToList());
                    List<Dt_InventoryInfo> dt_StockInfos = StockInfos.Where(x => x.LocationCode == dt_LocationInfo.LocationCode).ToList();
                    //List<Dt_StockInfoDetail> Details = new List<Dt_StockInfoDetail>();
                    //foreach (var item in dt_StockInfos)
                    //{
                    //    Details.AddRange(item.Details);
                    //}
                    //var BatchNo = string.Join(",", Details.GroupBy(x => x.BatchNo).Select(x => x.Key).ToList());
                    if (dt_StockInfos.Count > 0 && dt_StockInfos != null)
                    {
                        locationStockView.BatchNo = BatchNo;
                        locationStockView.BatchNo = dt_StockInfos.First().BatchNo;
                        locationStockView.InDate = dt_StockInfos.OrderByDescending(x => x.InDate).First().InDate;
                        locationStockView.MaterielCode = dt_StockInfos.First().Details.First().MaterielCode;
                        locationStockView.MaterielName = dt_StockInfos.First().Details.First().MaterielName;
                        locationStockView.OrderNo = dt_StockInfos.First().Details.First().OrderNo;
                        locationStockView.MaterielCode = dt_StockInfos.First().MaterielCode;
                        locationStockView.MaterielName = dt_StockInfos.First().MaterielName;
                        //locationStockView.OrderNo = dt_StockInfos.First().OrderNo;
                        locationStockView.PalletCode = string.Join(",", dt_StockInfos.Select(x => x.PalletCode).ToList());
                        locationStockView.Quantity = dt_StockInfos.Count;
                        locationStockView.BoxQty = dt_StockInfos.Select(x => x.BoxQuantity).Sum();
                        locationStockView.StockQuantity = dt_StockInfos.Select(x => x.StockQuantity).Sum();
                    }
                    locationStockViews.Add(locationStockView);
                }