|
|
@@ -2246,7 +2246,7 @@ namespace Business.ResourceExamineManagement
|
|
|
//获取工艺路线数据:product_code=物料编码
|
|
|
List<RoutingOpDetail> allRoutings = _routingOpDetail.Select(p => morders.Select(m => m.product_code).Contains(p.RoutingCode)).Result;
|
|
|
//获取标准BOM数据
|
|
|
- List<ProductStructureMaster> productStructures = GetProductStructure(morders);
|
|
|
+ List<ProductStructureMaster> productStructures = GetProductStructure(morders.Select(p => p.product_code).ToList());
|
|
|
//工单主表
|
|
|
List<WorkOrdMaster> workOrds = new List<WorkOrdMaster>();
|
|
|
WorkOrdMaster workOrd;
|
|
|
@@ -2315,25 +2315,25 @@ namespace Business.ResourceExamineManagement
|
|
|
/// <summary>
|
|
|
/// 获取标准工艺路线数据--TODO:存在循环查询数据库问题,后续调整
|
|
|
/// </summary>
|
|
|
- /// <param name="morders"></param>
|
|
|
+ /// <param name="itenNums">产品物料编码</param>
|
|
|
/// <returns></returns>
|
|
|
- public List<ProductStructureMaster> GetProductStructure(List<mo_mes_morder> morders)
|
|
|
+ public List<ProductStructureMaster> GetProductStructure(List<string> itenNums)
|
|
|
{
|
|
|
List<ProductStructureMaster> rtnStructures = new List<ProductStructureMaster>();
|
|
|
//根据itemNum获取bom数据
|
|
|
- var productStructures = _productStructureMaster.Select(p => morders.Select(m => m.product_code).Contains(p.ParentItem) && p.Domain =="1001" && p.IsActive).Result;
|
|
|
+ var productStructures = _productStructureMaster.Select(p => itenNums.Contains(p.ParentItem) && p.Domain =="1001" && p.IsActive).Result;
|
|
|
//添加非虚拟件
|
|
|
rtnStructures.AddRange(productStructures.Where(p=>p.StructureType != "X").ToList());
|
|
|
- foreach (var item in morders)
|
|
|
+ foreach (var item in itenNums)
|
|
|
{
|
|
|
//获取当前产品的虚拟件
|
|
|
- var curPhantoms = productStructures.Where(p => p.ParentItem == item.product_code && p.StructureType == "X").ToList();
|
|
|
+ var curPhantoms = productStructures.Where(p => p.ParentItem == item && p.StructureType == "X").ToList();
|
|
|
if (curPhantoms.Count() == 0)
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
//递归获取所有虚拟件对应的子物料
|
|
|
- RecursionProductStructure(item.product_code, curPhantoms, rtnStructures);
|
|
|
+ RecursionProductStructure(item, curPhantoms, rtnStructures);
|
|
|
}
|
|
|
return rtnStructures;
|
|
|
}
|