From f47a54d7072572a816056283c9e5c2c5aec365fc Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 9 Oct 2024 14:48:19 +0800 Subject: [PATCH] =?UTF-8?q?pda=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 | Bin 275060 -> 275696 bytes .../Controllers/InventoryController.cs | 46 ++++ src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 21 ++ src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 200 ++++++++++++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 24 +++ .../Inventory/GetPagedListBoxByBoxRequest.cs | 21 ++ .../Inventory/GetPagedListBoxByBoxResponse.cs | 51 +++++ .../GetPagedListBoxByMaterialRequest.cs | 21 ++ .../GetPagedListBoxByMaterialResponse.cs | 55 +++++ .../GetPagedListBoxBySubStockRequest.cs | 21 ++ .../GetPagedListBoxBySubStockResponse.cs | 51 +++++ .../IBoxInventoryRepositories.cs | 21 ++ .../BoxInventoryRepositories.cs | 148 ++++++++++++- 13 files changed, 679 insertions(+), 1 deletion(-) create mode 100644 src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByBoxRequest.cs create mode 100644 src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByBoxResponse.cs create mode 100644 src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByMaterialRequest.cs create mode 100644 src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByMaterialResponse.cs create mode 100644 src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxBySubStockRequest.cs create mode 100644 src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxBySubStockResponse.cs diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index b5b2967df6b7043613213b59f0fd863ac97558ff..7928d256c699d32e06cc1a35f10f9b4e1676ba2e 100644 GIT binary patch literal 275696 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 literal 275060 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

Ef-&0pd!JEvm@rvM)3;i*%@=w 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 diff --git a/src/WMS.Web.Api/Controllers/InventoryController.cs b/src/WMS.Web.Api/Controllers/InventoryController.cs index 53037b2c..ea892d02 100644 --- a/src/WMS.Web.Api/Controllers/InventoryController.cs +++ b/src/WMS.Web.Api/Controllers/InventoryController.cs @@ -191,5 +191,51 @@ namespace WMS.Web.Api.Controllers result.BoxBillNo = boxBillNo; return Result .ReSuccess(result); } + + ///

+ /// PDA-库存查询(物料) + /// + /// + /// + [HttpPost] + [Route("GetPagedListBoxByMaterial")] + public async Task> GetPagedListBoxByMaterial([FromBody] GetPagedListBoxByMaterialRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + var response = await _boxInventoryRepositories.GetPagedListBoxByMaterial(dto, loginInfo.UserInfo.CompanyId); + return Result.ReSuccess(response); + } + /// + /// PDA-库存查询(箱号) + /// + /// + /// + [HttpPost] + [Route("GetPagedListBoxByBox")] + public async Task> GetPagedListBoxByBox([FromBody] GetPagedListBoxByBoxRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + var response = await _boxInventoryRepositories.GetPagedListBoxByBox(dto, loginInfo.UserInfo.CompanyId); + return Result.ReSuccess(response); + } + /// + /// PDA-库存查询(仓位) + /// + /// + /// + [HttpPost] + [Route("GetPagedListBoxBySubStock")] + public async Task> GetPagedListBoxBySubStock([FromBody] GetPagedListBoxBySubStockRequest dto) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + var response = await _boxInventoryRepositories.GetPagedListBoxBySubStock(dto, loginInfo.UserInfo.CompanyId); + return Result.ReSuccess(response); + } } } diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index f453c529..a2895eec 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -380,6 +380,27 @@ + + + PDA-库存查询(物料) + + + + + + + PDA-库存查询(箱号) + + + + + + + PDA-库存查询(仓位) + + + + 登录接口 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index ddca8f09..f39b9f45 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -3699,6 +3699,206 @@ 序列号集 + + + PDA库存查询-箱号 + + + + + 仓库编码 + + + + + 箱号 + + + + + PDA库存查询-箱号 + + + + + 仓位名称 + + + + + 箱号 + + + + + 总数量 + + + + + 总条数 + + + + + 明细 + + + + + 明细 + + + + + 仓位名称 + + + + + 物料规格型号 + + + + + 数量 + + + + + PDA库存查询-物料 + + + + + 仓库编码 + + + + + 物料 + + + + + PDA库存查询-物料 + + + + + 物料名称 + + + + + 物料编码 + + + + + 物料规格型号 + + + + + 总数量 + + + + + 总条数 + + + + + 明细 + + + + + 明细 + + + + + 箱号 + + + + + 仓位名称 + + + + + 数量 + + + + + PDA库存查询-仓位 + + + + + 仓库编码 + + + + + 仓位名称 + + + + + PDA库存查询-仓位 + + + + + 仓位名称 + + + + + 总数量 + + + + + 总条数 + + + + + 明细 + + + + + 明细 + + + + + 仓位名称 + + + + + 箱号 + + + + + 物料规格型号 + + + + + 数量 + + 即时库存明细:生成dto diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 9b37c924..a9e9a599 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -2809,6 +2809,30 @@ + + + PDA库存查询-物料 + + + + + + + + PDA库存查询-箱号 + + + + + + + + PDA库存查询-仓位 + + + + + 箱唛-仓储接口 diff --git a/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByBoxRequest.cs b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByBoxRequest.cs new file mode 100644 index 00000000..4f0706ec --- /dev/null +++ b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByBoxRequest.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Inventory +{ + /// + /// PDA库存查询-箱号 + /// + public class GetPagedListBoxByBoxRequest : PaginationBaseRequestDto + { + /// + /// 仓库编码 + /// + public string StockCode { get; set; } + /// + /// 箱号 + /// + public string BoxBillNo { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByBoxResponse.cs b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByBoxResponse.cs new file mode 100644 index 00000000..9d3c4a28 --- /dev/null +++ b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByBoxResponse.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Inventory +{ + /// + /// PDA库存查询-箱号 + /// + public class GetPagedListBoxByBoxResponse + { + /// + /// 仓位名称 + /// + public string SubStock { get; set; } + /// + /// 箱号 + /// + public string BoxBillNo { get; set; } + /// + /// 总数量 + /// + public decimal TotalQty { get; set; } + /// + /// 总条数 + /// + public int TotalCount { get; set; } = 0; + /// + /// 明细 + /// + public List Details { get; set; } + } + /// + /// 明细 + /// + public class GetPagedListBoxByBoxDetailsResponse + { + /// + /// 仓位名称 + /// + public string SubStock { get; set; } + /// + /// 物料规格型号 + /// + public string Specifications { get; set; } + /// + /// 数量 + /// + public decimal Qty { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByMaterialRequest.cs b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByMaterialRequest.cs new file mode 100644 index 00000000..89cf7b10 --- /dev/null +++ b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByMaterialRequest.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Inventory +{ + /// + /// PDA库存查询-物料 + /// + public class GetPagedListBoxByMaterialRequest : PaginationBaseRequestDto + { + /// + /// 仓库编码 + /// + public string StockCode { get; set; } + /// + /// 物料 + /// + public string MaterialNumber { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByMaterialResponse.cs b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByMaterialResponse.cs new file mode 100644 index 00000000..9f31f78a --- /dev/null +++ b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxByMaterialResponse.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Inventory +{ + /// + /// PDA库存查询-物料 + /// + public class GetPagedListBoxByMaterialResponse + { + /// + /// 物料名称 + /// + public string MaterialName { get; set; } + /// + /// 物料编码 + /// + public string MaterialNumber { get; set; } + /// + /// 物料规格型号 + /// + public string Specifications { get; set; } + /// + /// 总数量 + /// + public decimal TotalQty { get; set; } + /// + /// 总条数 + /// + public int TotalCount { get; set; } = 0; + /// + /// 明细 + /// + public List Details { get; set; } + } + /// + /// 明细 + /// + public class GetPagedListBoxByMaterialDetailsResponse + { + /// + /// 箱号 + /// + public string BoxBillNo { get; set; } + /// + /// 仓位名称 + /// + public string SubStock { get; set; } + /// + /// 数量 + /// + public decimal Qty { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxBySubStockRequest.cs b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxBySubStockRequest.cs new file mode 100644 index 00000000..e4909d1e --- /dev/null +++ b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxBySubStockRequest.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Inventory +{ + /// + /// PDA库存查询-仓位 + /// + public class GetPagedListBoxBySubStockRequest : PaginationBaseRequestDto + { + /// + /// 仓库编码 + /// + public string StockCode { get; set; } + /// + /// 仓位名称 + /// + public string SubStock { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxBySubStockResponse.cs b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxBySubStockResponse.cs new file mode 100644 index 00000000..30ba5439 --- /dev/null +++ b/src/WMS.Web.Core/Dto/Inventory/GetPagedListBoxBySubStockResponse.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Inventory +{ + /// + /// PDA库存查询-仓位 + /// + public class GetPagedListBoxBySubStockResponse + { + /// + /// 仓位名称 + /// + public string SubStock { get; set; } + /// + /// 总数量 + /// + public decimal TotalQty { get; set; } + /// + /// 总条数 + /// + public int TotalCount { get; set; } = 0; + /// + /// 明细 + /// + public List Details { get; set; } + } + /// + /// 明细 + /// + public class GetPagedListBoxBySubStockDetailsResponse + { + /// + /// 仓位名称 + /// + public string SubStock { get; set; } + /// + /// 箱号 + /// + public string BoxBillNo { get; set; } + /// + /// 物料规格型号 + /// + public string Specifications { get; set; } + /// + /// 数量 + /// + public decimal Qty { get; set; } + } +} diff --git a/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs index f9b3465a..96710dd9 100644 --- a/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs +++ b/src/WMS.Web.Domain/Infrastructure/IBoxInventoryRepositories.cs @@ -73,5 +73,26 @@ namespace WMS.Web.Domain.Infrastructure /// /// Task DeleteRange(List ids, bool isTransaction = true); + /// + /// PDA库存查询-物料 + /// + /// + /// + /// + Task GetPagedListBoxByMaterial(GetPagedListBoxByMaterialRequest dto, int companyId); + /// + /// PDA库存查询-箱号 + /// + /// + /// + /// + Task GetPagedListBoxByBox(GetPagedListBoxByBoxRequest dto, int companyId); + /// + /// PDA库存查询-仓位 + /// + /// + /// + /// + Task GetPagedListBoxBySubStock(GetPagedListBoxBySubStockRequest dto, int companyId); } } diff --git a/src/WMS.Web.Repositories/BoxInventoryRepositories.cs b/src/WMS.Web.Repositories/BoxInventoryRepositories.cs index 1526dc57..ac7f2423 100644 --- a/src/WMS.Web.Repositories/BoxInventoryRepositories.cs +++ b/src/WMS.Web.Repositories/BoxInventoryRepositories.cs @@ -10,11 +10,13 @@ using System.Threading.Tasks; using WMS.Web.Core.Dto.Erp; using WMS.Web.Core.Dto.Erp.Org; using WMS.Web.Core.Dto.Inventory; +using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Infrastructure; using WMS.Web.Domain.IService.Public; using WMS.Web.Domain.Mappers; +using WMS.Web.Domain.Values; using WMS.Web.Domain.Values.Single; using WMS.Web.Repositories.Configuration; @@ -33,7 +35,7 @@ namespace WMS.Web.Repositories private readonly IErpService _erpService; private ILogger _logger; private readonly IErpBasicDataExtendService _erpBasicDataExtendService; - + private readonly IBasicsRepositories _basicsRepositories; public BoxInventoryRepositories(RepositoryDbContext context, IMapper mapper, @@ -42,6 +44,7 @@ namespace WMS.Web.Repositories ILoginRepositories loginRepositories, IServiceProvider serviceProvider, ISingleDataService singleDataService, + IBasicsRepositories basicsRepositories, IErpBasicDataExtendService erpBasicDataExtendService) { _context = context; @@ -52,6 +55,7 @@ namespace WMS.Web.Repositories _serviceProvider = serviceProvider; _loginRepositories = loginRepositories; _singleDataService = singleDataService; + _basicsRepositories = basicsRepositories; } /// @@ -321,5 +325,147 @@ namespace WMS.Web.Repositories { return await GetPagedList(dto, companyId); } + /// + /// PDA库存查询-物料 + /// + /// + /// + /// + public async Task GetPagedListBoxByMaterial(GetPagedListBoxByMaterialRequest dto, int companyId) + { + //1.获取物料集合和组织集合 + var materials = new List(); + var materials_result = await _erpService.BillQueryForMaterial(); + if (materials_result.IsSuccess) + materials = materials_result.Data.ToList(); + + ErpMaterialDto material = null; + //物料集合;模糊查询后的物料集合 + if (!string.IsNullOrEmpty(dto.MaterialNumber)) + { + if (materials.Count != 0) + { + material = materials.FirstOrDefault(w => w.MaterialNumber.Equals(dto.MaterialNumber) + || w.MaterialName.Equals(dto.MaterialNumber) + || w.Specifications.Equals(dto.MaterialNumber) + ); + if (material == null) return new GetPagedListBoxByMaterialResponse(); + } + } + + var query = _context.BoxInventoryDetails + .GroupJoin(_context.BoxInventory, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) + .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) + .GroupJoin(_context.Box, p => p.order.BoxId, t => t.Id, (p, ts) => new { p.detail, p.order, ts }) + .SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.detail, p.order, box }) + .Where(adv => 1 == 1 && adv.detail.MaterialNumber.Equals(material.MaterialNumber)); + + if (!string.IsNullOrEmpty(dto.StockCode)) + { + var splitStrs = dto.StockCode.Split("_$"); + query = query.Where(w => w.order.StockCode == splitStrs[0] && w.order.OrgCode == splitStrs[1]); + } + GetPagedListBoxByMaterialResponse response = new GetPagedListBoxByMaterialResponse(); + response.Specifications = material.Specifications; + response.MaterialNumber = material.MaterialNumber; + response.MaterialName = material.MaterialName; + + response.TotalCount = await query.CountAsync(); + response.Details = await query.Select(s => new GetPagedListBoxByMaterialDetailsResponse() + { + BoxBillNo = s.box.BoxBillNo, + SubStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, companyId, s.order.SubStockCode + s.order.StockCode + s.order.OrgCode), + Qty = s.detail.Qty, + }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); + response.TotalQty = response.Details.Sum(s => s.Qty); + + return response; + } + /// + /// PDA库存查询-箱号 + /// + /// + /// + /// + /// + public async Task GetPagedListBoxByBox(GetPagedListBoxByBoxRequest dto, int companyId) + { + //1.获取物料集合和组织集合 + var materials = new List(); + var materials_result = await _erpService.BillQueryForMaterial(); + if (materials_result.IsSuccess) + materials = materials_result.Data.ToList(); + + var query = _context.BoxInventoryDetails + .GroupJoin(_context.BoxInventory, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) + .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) + .GroupJoin(_context.Box, p => p.order.BoxId, t => t.Id, (p, ts) => new { p.detail, p.order, ts }) + .SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.detail, p.order, box }) + .Where(adv => 1 == 1 && adv.box.BoxBillNo.Equals(dto.BoxBillNo)); + + if (!string.IsNullOrEmpty(dto.StockCode)) + { + var splitStrs = dto.StockCode.Split("_$"); + query = query.Where(w => w.order.StockCode == splitStrs[0] && w.order.OrgCode == splitStrs[1]); + } + GetPagedListBoxByBoxResponse response = new GetPagedListBoxByBoxResponse(); + response.BoxBillNo = dto.BoxBillNo; + + response.TotalCount = await query.CountAsync(); + response.Details = await query.Select(s => new GetPagedListBoxByBoxDetailsResponse() + { + Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber), + SubStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, companyId, s.order.SubStockCode + s.order.StockCode + s.order.OrgCode), + Qty = s.detail.Qty, + }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); + response.TotalQty = response.Details.Sum(s => s.Qty); + if (response.Details.Count > 0) response.SubStock = response.Details.First().SubStock; + return response; + } + /// + /// PDA库存查询-仓位 + /// + /// + /// + /// + /// + public async Task GetPagedListBoxBySubStock(GetPagedListBoxBySubStockRequest dto, int companyId) + { + //1.获取物料集合和组织集合 + var materials = new List(); + var materials_result = await _erpService.BillQueryForMaterial(); + if (materials_result.IsSuccess) + materials = materials_result.Data.ToList(); + + var r = await _basicsRepositories.GetSubUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), dto.SubStock, companyId); + var subStock = r.FirstOrDefault(f => f.Name.Equals(dto.StockCode)); + if (subStock == null) return new GetPagedListBoxBySubStockResponse(); + + var query = _context.BoxInventoryDetails + .GroupJoin(_context.BoxInventory, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders }) + .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order }) + .GroupJoin(_context.Box, p => p.order.BoxId, t => t.Id, (p, ts) => new { p.detail, p.order, ts }) + .SelectMany(x => x.ts.DefaultIfEmpty(), (p, box) => new { p.detail, p.order, box }) + .Where(adv => 1 == 1 && adv.order.SubStockCode.Equals(subStock.Code)); + + if (!string.IsNullOrEmpty(dto.StockCode)) + { + var splitStrs = dto.StockCode.Split("_$"); + query = query.Where(w => w.order.StockCode == splitStrs[0] && w.order.OrgCode == splitStrs[1]); + } + GetPagedListBoxBySubStockResponse response = new GetPagedListBoxBySubStockResponse(); + + response.TotalCount = await query.CountAsync(); + response.Details = await query.Select(s => new GetPagedListBoxBySubStockDetailsResponse() + { + BoxBillNo = s.box.BoxBillNo, + Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialNumber), + SubStock = _singleDataService.GetSingleData(SingleAction.SubStocksJoinOrgCode, companyId, s.order.SubStockCode + s.order.StockCode + s.order.OrgCode), + Qty = s.detail.Qty, + }).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync(); + response.TotalQty = response.Details.Sum(s => s.Qty); + if (response.Details.Count > 0) response.SubStock = response.Details.First().SubStock; + return response; + } } }