qinchulong
2025-05-27 c020f31a67fc5aa5644511bddff075f7ecc85234
代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs
@@ -44,14 +44,6 @@
            if (stockInfo.Id == 0)
            {
                BaseDal.Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand();
                //stockQuantityChangeRecords = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(stockInfo.Details);
                //stockQuantityChangeRecords.ForEach(x =>
                //{
                //    x.PalleCode = stockInfo.PalletCode;
                //    x.BeforeQuantity = 0;
                //    x.ChangeQuantity = x.AfterQuantity - x.BeforeQuantity;
                //    x.ChangeType = StockChangeType.MaterielGroup.ObjToInt();
                //});
                details = stockInfo.Details;
            }
            else
@@ -67,21 +59,9 @@
                }
                //stockQuantityChangeRecords = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(stockInfo.Details);
                //int index = 0;
                //stockQuantityChangeRecords.ForEach(x =>
                //{
                //    x.PalleCode = stockInfo.PalletCode;
                //    x.BeforeQuantity = 0;
                //    x.ChangeQuantity = x.AfterQuantity - x.BeforeQuantity;
                //    x.ChangeType = StockChangeType.MaterielGroup.ObjToInt();
                //    x.StockDetailId =
                //    index++;
                //});
            }
            //_stockQuantityChangeRecordRepository.AddData(stockQuantityChangeRecords);
            stockInfo.Details = details;
            _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.MaterielGroup);
            _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.MaterielGroup,0);
        }
        public List<Dt_StockInfo> GetUseableStocks(string materielCode)
@@ -96,7 +76,6 @@
            return BaseDal.GetStockInfos(materielCode, locationCodes);
        }
        public List<StockSelectViewDTO> GetStockSelectViews(string materielCode)
        {
            List<string> roadways = _basicRepository.RoadwayInfoRepository.CanOutRoadwayNos;
@@ -106,6 +85,7 @@
            List<int> areaIds = _basicRepository.AreaInfoRepository.GetEnableAreaIds(warehouseIds);
            List<string> locationCodes = _basicRepository.LocationInfoRepository.GetCanOutLocationCodes(roadways, areaIds);
            return BaseDal.QueryTabs<Dt_StockInfo, Dt_StockInfoDetail, StockSelectViewDTO>((a, b) => a.Id == b.StockId, (a, b) => new StockSelectViewDTO
            {
@@ -134,6 +114,7 @@
                int index = 0;
                while (needQuantity > 0)
                {
                    Dt_StockInfo stockInfo = stockInfos[index];
                    decimal useableStockQuantity = stockInfo.Details.Where(x => x.MaterielCode == materielCode).Sum(x => x.StockQuantity - x.OutboundQuantity);
                    if (useableStockQuantity < needQuantity)