diff --git a/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs b/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs index 798a3f0..916df15 100644 --- a/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs +++ b/Pilot_KD_Parino/Sal_Order/PushSaleOutBillPlugIn.cs @@ -568,43 +568,68 @@ namespace Pilot_KD_Parino.Sal_Order temStockId = stockList.Select(t => int.Parse(t["FSTOCKID"].ToString())).FirstOrDefault(); stockId = temStockId; } - var stocks333 = stocks3[pur]; - var stocks = stocks333 as DynamicObjectCollection; - var stock0 = stocks.ToList(); + //var stocks333 = stocks3[pur]; + //var stocks = stocks333 as DynamicObjectCollection; + //var stock0 = stocks.ToList(); //拆分下推情况下匹配物料自动删减数量或删减行 List deleteItem = new List(); - stock0.ForEach(t => - { - t["StockID_Id"] = temStockId; + //stock0.ForEach(t => + //{ + // t["StockID_Id"] = temStockId; - var Material = t["MaterialID"] as DynamicObject; + // var Material = t["MaterialID"] as DynamicObject; + // if (Material != null) + // { + // string code2 = (Material["Number"].ToString()); + // decimal qty = decimal.Parse(t["ActReceiveQty"].ToString()); + // if (MaterialCode.ContainsKey(code2)) + // { + // if (MaterialCode[code2] != qty) + // { + // t["ActReceiveQty"] = MaterialCode[code2]; + // t["StockQty"] = MaterialCode[code2]; + // } + // } + // else + // { + // deleteItem.Add(t); + // } + // } + //}); + var stock0 = stocks3[pur] as DynamicObjectCollection; + + foreach(var item in stock0) + { + item["StockID_Id"] = temStockId; + var Material = item["MaterialID"] as DynamicObject; if (Material != null) { string code2 = (Material["Number"].ToString()); - decimal qty = decimal.Parse(t["ActReceiveQty"].ToString()); + decimal qty = decimal.Parse(item["ActReceiveQty"].ToString()); if (MaterialCode.ContainsKey(code2)) { if (MaterialCode[code2] != qty) { - t["ActReceiveQty"] = MaterialCode[code2]; - t["StockQty"] = MaterialCode[code2]; + item["ActReceiveQty"] = MaterialCode[code2]; + item["StockQty"] = MaterialCode[code2]; } } else { - deleteItem.Add(t); + deleteItem.Add(item); } } - }); + } + if (deleteItem.Count > 0) { - //Logger.Error("BeforeData",JsonHelper.ToJson(stock0), new Exception()); + Logger.Error("BeforeData", JsonHelper.ToJson(destObjs), new Exception()); deleteItem.ForEach(t => { stock0.Remove(t); }); - Logger.Error("deleteItem", JsonHelper.ToJson(deleteItem), new Exception()); + Logger.Error("AfterData", JsonHelper.ToJson(destObjs), new Exception()); } ServiceHelper.GetService().Save(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create()); //调用FActReceiveQty字段值更新服务