Browse Source

bom添加获取parentid方法

dev_DY_CC
lvzb 1 year ago
parent
commit
b04c1f14aa
  1. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs
  2. 7
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/BomManager.cs
  3. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/IBomManager.cs

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Boms/BomAppService.cs

@ -108,7 +108,7 @@ public class BomAppService :
[HttpGet("get-bom-tree-by-code")] [HttpGet("get-bom-tree-by-code")]
public virtual async Task<List<BomDTO>> GetBomTreeByCodeAsync(string productCode) public virtual async Task<List<BomDTO>> GetBomTreeByCodeAsync(string productCode)
{ {
var entities = await _bomManager.GetAllItemByCode(productCode).ConfigureAwait(false); var entities = await _bomManager.GetAllItemByCode(productCode,GuidGenerator.Create()).ConfigureAwait(false);
var dtos = ObjectMapper.Map<List<Bom>, List<BomDTO>>(entities); var dtos = ObjectMapper.Map<List<Bom>, List<BomDTO>>(entities);

7
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/BomManager.cs

@ -379,16 +379,15 @@ public class BomManager : DomainService, IBomManager
/// </summary> /// </summary>
/// <param name="productCode"></param> /// <param name="productCode"></param>
/// <returns></returns> /// <returns></returns>
public virtual async Task<List<Bom>> GetAllItemByCode(string productCode) public virtual async Task<List<Bom>> GetAllItemByCode(string productCode,Guid id)
{ {
List<Bom> boms = new List<Bom>(); List<Bom> boms = new List<Bom>();
var lst = await _repository.GetListAsync(p => p.Product == productCode).ConfigureAwait(false); var lst = await _repository.GetListAsync(p => p.Product == productCode).ConfigureAwait(false);
var parentitem = await _repository.FindAsync(p => p.Component == productCode).ConfigureAwait(false);
foreach (var bom in lst) foreach (var bom in lst)
{ {
bom.Remark = parentitem?.Id.ToString(); bom.Remark = id.ToString();
boms.Add(bom); boms.Add(bom);
var results= await GetAllItemByCode(bom.Component).ConfigureAwait(false); var results= await GetAllItemByCode(bom.Component,bom.Id).ConfigureAwait(false);
boms.AddRange(results); boms.AddRange(results);
} }
return boms; return boms;

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/Boms/IBomManager.cs

@ -42,7 +42,7 @@ public interface IBomManager : IDomainService, IBulkImportService<Bom>
/// <param name="productNum">总成数量</param> /// <param name="productNum">总成数量</param>
/// <returns></returns> /// <returns></returns>
Task<List<Bom>> GetMaterialTotalQtyAsync(string productCode, int productNum); Task<List<Bom>> GetMaterialTotalQtyAsync(string productCode, int productNum);
Task<List<Bom>> GetAllItemByCode(string productCode);
Task<List<BomComponent>> GetSubcomponentsRecursiveList(List<BomComponent> p_lst, EnumBomSelectedType p_type); Task<List<BomComponent>> GetSubcomponentsRecursiveList(List<BomComponent> p_lst, EnumBomSelectedType p_type);
Task<List<Bom>> GetAllItemByCode(string productCode, Guid id);
} }

Loading…
Cancel
Save