This commit is contained in:
DEVICE8\12494
2023-05-17 13:59:04 +08:00

View File

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