tangdi 2 лет назад
Родитель
Сommit
e2bc3dabc5

+ 22 - 14
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -3570,20 +3570,28 @@ namespace Business.ResourceExamineManagement
                 List<ProductStructureMaster> curStructures = GetProductStructure(item.product_code, workOrd.QtyOrded, item.factory_id.ToString());
                 foreach (var structure in curStructures)
                 {
-                    //添加工单的物料信息
-                    woDetail = new WorkOrdDetail();
-                    woDetail.Domain = item.factory_id.ToString();
-                    woDetail.WorkOrd = item.morder_no;
-                    woDetail.Op = structure.Op;
-                    woDetail.ItemNum = structure.ComponentItem;
-                    woDetail.QtyRequired = structure.Qty;
-                    woDetail.QtyPosted = 0m;
-                    woDetail.QtyReturned = 0m;
-                    woDetail.FrozenBOMQty = structure.Qty;
-                    woDetail.Status = "";
-                    woDetail.IsActive = true;
-                    woDetail.CreateTime = DateTime.Now;
-                    workOrdDetails.Add(woDetail);
+                    woDetail = workOrdDetails.Find(s => s.ItemNum == structure.ComponentItem);
+                    if (woDetail == null)
+                    {
+                        //添加工单的物料信息
+                        woDetail = new WorkOrdDetail();
+                        woDetail.Domain = item.factory_id.ToString();
+                        woDetail.WorkOrd = item.morder_no;
+                        woDetail.Op = structure.Op;
+                        woDetail.ItemNum = structure.ComponentItem;
+                        woDetail.QtyRequired = structure.Qty;
+                        woDetail.QtyPosted = 0m;
+                        woDetail.QtyReturned = 0m;
+                        woDetail.FrozenBOMQty = structure.Qty;
+                        woDetail.Status = "";
+                        woDetail.IsActive = true;
+                        woDetail.CreateTime = DateTime.Now;
+                        workOrdDetails.Add(woDetail);
+                    }
+                    else {
+                        woDetail.QtyRequired += structure.Qty;
+                        woDetail.FrozenBOMQty += structure.Qty;
+                    }
                 }
             }
         }