| | |
| | | } |
| | | } |
| | | { |
| | | SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfo.WarehouseId).FirstLetterToLower()); |
| | | SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.WarehouseCode).FirstLetterToLower()); |
| | | if (searchParameters != null) |
| | | { |
| | | sugarQueryable = sugarQueryable.Where(x => x.WarehouseId.Equals(searchParameters.Value)); |
| | | } |
| | | } |
| | | { |
| | | SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfo.StockStatus).FirstLetterToLower()); |
| | | if (searchParameters != null) |
| | | { |
| | | sugarQueryable = sugarQueryable.Where(x => x.StockStatus.Equals(searchParameters.Value)); |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.WarehouseCode.Contains(searchParameters.Value)); |
| | | } |
| | | } |
| | | { |
| | | SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.MaterielName).FirstLetterToLower()); |
| | | if (searchParameters != null) |
| | | { |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.MaterielName.Contains(searchParameters.Value)); |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.MaterielName.Equals(searchParameters.Value)); |
| | | } |
| | | } |
| | | { |
| | | SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.BatchNo).FirstLetterToLower()); |
| | | if (searchParameters != null) |
| | | { |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.BatchNo.Equals(searchParameters.Value)); |
| | | } |
| | | } |
| | | { |
| | | SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_StockInfoDetail.SupplyCode).FirstLetterToLower()); |
| | | if (searchParameters != null) |
| | | { |
| | | sugarQueryable1 = sugarQueryable1.Where(x => x.SupplyCode.Contains(searchParameters.Value)); |
| | | } |
| | | } |
| | | |
| | |
| | | var groupedData = new Dictionary<string, StockDetailByMateriel>(); |
| | | foreach (var item in allData) |
| | | { |
| | | |
| | | string groupKey = $"{item.MaterielCode}|{item.SupplyCode}|{item.BatchNo}|{item.WarehouseCode}"; |
| | | |
| | | // 纭繚鍒濆鍊间负decimal绫诲瀷 |
| | | if (groupedData.ContainsKey(item.MaterielCode)) |
| | | if (groupedData.ContainsKey(groupKey)) |
| | | { |
| | | groupedData[item.MaterielCode].StockQuantity += Convert.ToDecimal(item.StockQuantity); |
| | | groupedData[item.MaterielCode].OutboundQuantity += Convert.ToDecimal(item.OutboundQuantity); |
| | | groupedData[groupKey].StockQuantity += Convert.ToDecimal(item.StockQuantity); |
| | | groupedData[groupKey].OutboundQuantity += Convert.ToDecimal(item.OutboundQuantity); |
| | | } |
| | | else |
| | | { |
| | | groupedData[item.MaterielCode] = new StockDetailByMateriel |
| | | groupedData[groupKey] = new StockDetailByMateriel |
| | | { |
| | | StockId = item.StockId, |
| | | MaterielCode = item.MaterielCode, |