This commit is contained in:
liqionghai
2025-07-25 09:26:09 +08:00
parent e156d61d46
commit 0684ac277a

View File

@@ -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<DynamicObject> deleteItem = new List<DynamicObject>();
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<ISaveService>().Save(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create());
//调用FActReceiveQty字段值更新服务