Browse Source

生成工单

heteng 3 years ago
parent
commit
9d3351927e

+ 7 - 7
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -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;
         }