diff --git a/BasicData/Tnb.BasicData/BasMaterialService.cs b/BasicData/Tnb.BasicData/BasMaterialService.cs index f4174821..6a42d2b8 100644 --- a/BasicData/Tnb.BasicData/BasMaterialService.cs +++ b/BasicData/Tnb.BasicData/BasMaterialService.cs @@ -84,7 +84,7 @@ namespace Tnb.BasicData public async Task GetMaterialSelectInfo(MaterialSelectQueryInput queryInput) { var db = _repository.AsSugarClient(); - List ids = await GetAllChildrenMaterialId(queryInput.ebom_id); + List ids = await GetAllChildrenMaterialId(queryInput.ebom_id,0); BasEbomH ebom = await db.Queryable().Where(x => x.id == queryInput.ebom_id).SingleAsync(); ids.Add(ebom.material_id); var result = await db.Queryable() @@ -109,10 +109,11 @@ namespace Tnb.BasicData /// 获取物料清单下所子集物料id /// /// - private async Task> GetAllChildrenMaterialId(string ebomId) + private async Task> GetAllChildrenMaterialId(string ebomId,int index) { if (string.IsNullOrEmpty(ebomId)) return new List(); List ids = new List(); + if (index++ > 10) return ids; var list = await _repository.AsSugarClient().Queryable().Where(x => x.ebom_id == ebomId) .Select(x => x.material_id).ToListAsync(); if (list != null && list.Count > 0) @@ -121,7 +122,7 @@ namespace Tnb.BasicData { //获取最新创建的物料清单 var ebom = await _repository.AsSugarClient().Queryable().Where(x=>x.material_id==id).OrderByDescending(x=>x.create_time).FirstAsync(); - ids.AddRange(await GetAllChildrenMaterialId(ebom?.id)); + ids.AddRange(await GetAllChildrenMaterialId(ebom?.id,index)); } ids.AddRange(list); }