diff --git a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs index af5fda5..8f4742b 100644 --- a/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs +++ b/Pilot_KD_Parino/Sal_Order/PushSaleBillPlugIn.cs @@ -7,6 +7,7 @@ using Kingdee.BOS.Core.DynamicForm.Operation; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.Globalization.Tax; +using Kingdee.BOS.Core.Import; using Kingdee.BOS.Core.List; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Core.Metadata.ConvertElement; @@ -16,8 +17,11 @@ using Kingdee.BOS.Core.Metadata.Util; using Kingdee.BOS.Log; using Kingdee.BOS.Orm; using Kingdee.BOS.Orm.DataEntity; +using Kingdee.BOS.Orm.Metadata.DataEntity; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; +using Kingdee.K3.Core.MFG.EntityHelper; +using Kingdee.K3.MFG.App.Util; using Pilot_KD_Parino.Common; using System; using System.ComponentModel; @@ -55,12 +59,12 @@ namespace Pilot_KD_Parino.Sal_Order int stockId = 0; - //IOperationResult result = Invoke("SAL_SaleOrder", "d124a6be-5f97-4d1f-b5fd-e20e53e0ed2a", id.ToString(), "83d822ca3e374b4ab01e5dd46a0062bd", ref stockId); - //IOperationResult result = Invoke("SAL_SaleOrder", "PUR_PurchaseOrder", id.ToString(), "83d822ca3e374b4ab01e5dd46a0062bd", ref stockId, FEntity, null); - //var sheet = result.SuccessDataEnity.FirstOrDefault(); - - var result = Invoke("SAL_SaleOrder", "SAL_SaleOrder", id.ToString(), "eacb50844fc84a10b03d7b841f3a6278", ref stockId, null, FEntity); + IOperationResult result = Invoke("SAL_SaleOrder", "PUR_PurchaseOrder", id.ToString(), "83d822ca3e374b4ab01e5dd46a0062bd", ref stockId, FEntity, null); + //var sheet = result.SuccessDataEnity.FirstOrDefault(); + + + result = Invoke("SAL_SaleOrder", "SAL_SaleOrder", id.ToString(), "eacb50844fc84a10b03d7b841f3a6278", ref stockId, null, FEntity); //sheet = result.SuccessDataEnity.FirstOrDefault(); //result = Invoke("SAL_DELIVERYNOTICE", "SAL_OUTSTOCK", sheet["id"].ToString(), "ad0779a4685a43a08f08d2e42d7bf3e9", ref stockId); @@ -210,7 +214,8 @@ namespace Pilot_KD_Parino.Sal_Order } }); - + + } //this.View.ShowMessage($@"{beiHuoName3}备货组织跨组织下推订单完成"); @@ -245,36 +250,10 @@ namespace Pilot_KD_Parino.Sal_Order { var beiHuoName3 = beiHuoName2[0]["Name"].ToString(); - //未知原因导致自动保存失败原因:字段“销售员”是必填项; 字段“结算币别”是必填项; - //第1行分录,交货明细的数量与订单明细的数量不一致,请检查.; 第2行分录,交货明细的数量与订单明细的数量不一致,请检查.; - //第3行分录,交货明细的数量与订单明细的数量不一致,请检查.; 整单收款计划应收金额合计不等于整单价税合计,不允许保存。 + //未知原因导致自动保存失败原因:字段“销售员”是必填项; 字段“结算币别”是必填项; - //orderSheet["SaleOrderFinance"] = FEntity2["SaleOrderFinance"]; - //orderSheet["ExchangeTypeId_Id"] = FEntity2["ExchangeTypeId_Id"]; - //orderSheet["ExchangeTypeId"] = FEntity2["ExchangeTypeId"]; - //orderSheet["SaleOrderPlan"] = FEntity2["SaleOrderPlan"]; orderSheet["F_SFHW"] = "2"; - var entryDetailList = (orderSheet["SaleOrderEntry"] as DynamicObjectCollection).ToList(); - entryDetailList.ForEach(t => - { - t["SettleOrgId"] = orderSheet["SaleOrgId"]; - t["SettleOrgId_Id"] = orderSheet["SaleOrgId_Id"]; - }); - var SaleOrderFinanceList = (orderSheet["SaleOrderFinance"] as DynamicObjectCollection).ToList(); - var SaleOrderFinanceList2 = (FEntity2["SaleOrderFinance"] as DynamicObjectCollection).ToList(); - SaleOrderFinanceList.ForEach(t => - { - var tempOne1 = SaleOrderFinanceList2.FirstOrDefault(); - //t["SettleOrgId"] = orderSheet["SaleOrgId"]; - //t["SettleOrgId_Id"] = orderSheet["SaleOrgId_Id"]; - t["ExchangeTypeId_Id"] = tempOne1["ExchangeTypeId_Id"]; - t["ExchangeTypeId"] = tempOne1["ExchangeTypeId"]; - t["SettleCurrId_Id"] = tempOne1["SettleCurrId_Id"]; - t["SettleCurrId"] = tempOne1["SettleCurrId"]; - }); - - this.View.ShowMessage("更新了1"); string sqltemp1 = $@"/*dialect*/ SELECT FUseOrgId,a.FNUMBER,b.FNAME,a.FCUSTID FROM T_BD_CUSTOMER a @@ -405,8 +384,8 @@ namespace Pilot_KD_Parino.Sal_Order ////目标单元数据 FormMetadata destFormMetadata = ServiceHelper.GetService().Load(this.Context, target, orderSheet["id"].ToString(),true) as FormMetadata; - - //sdsas = JsonHelper.ToJson(destObjs); + + sdsas = JsonHelper.ToJson(destObjs); //Logger.Error("目标单据数据集合3", sdsas, new Exception()); //destFormMetadata.BusinessInfo.Entrys.ForEach(t => ); if (target == "PUR_PurchaseOrder") @@ -420,8 +399,9 @@ namespace Pilot_KD_Parino.Sal_Order //var ddsdsdsds= BusinessDataServiceHelper.LoadSingle(this.Context, SupplierId_Id, (destFormMetadata.BusinessInfo.GetField("FCustId") as BaseDataField).RefFormDynamicObjectType); //destObjs[0]["SaleOrgId"] = BusinessDataServiceHelper.LoadSingle(this.Context, FEntity2["SaleOrgId_Id"].ToString(), (destFormMetadata.BusinessInfo.GetField("FSaleOrgId") as BaseDataField).RefFormDynamicObjectType); + //客户资料 destObjs[0]["CustId"] = BusinessDataServiceHelper.LoadSingle(this.Context, SupplierId_Id, (destFormMetadata.BusinessInfo.GetField("FCustId") as BaseDataField).RefFormDynamicObjectType); - + //销售员 orderSheet["SalerId"] = FEntity2["SalerId"]; var xiaoShouName1 = FEntity2["SalerId"] as DynamicObject; if (xiaoShouName1 != null) @@ -442,8 +422,61 @@ namespace Pilot_KD_Parino.Sal_Order } } } + + //收款计划 + var planList = FEntity2["SaleOrderPlan"] as DynamicObjectCollection; + //var planIds = planList.Select(t => t["id"]).ToArray(); + //destObjs[0]["SaleOrderPlan"] = BusinessDataServiceHelper.Load(this.Context, planIds, (destFormMetadata.BusinessInfo.GetField("FSalerId") as DynamicObjectType); + //var planList = destObjs[0]["SaleOrderPlan"] as DynamicObjectCollection; + int kk = 0; + var planList2 = destObjs[0]["SaleOrderPlan"] as DynamicObjectCollection; + foreach (var plan in planList) + { + planList2[kk] = plan.Clone() as DynamicObject; + var temp1 = planList2[kk]; + //temp1["id"] = 0; + //temp1["FromDatabase"] = false; + //temp1["DirtyFlags"] = 0; + kk++; + } + kk = 0; + var entryDetailList = (orderSheet["SaleOrderEntry"] as DynamicObjectCollection).ToList(); + var entryDetailList2 = (FEntity2["SaleOrderEntry"] as DynamicObjectCollection).ToList(); + + + + entryDetailList.ForEach(t => + { + var tempOne1 = entryDetailList2[kk] as DynamicObject; + t["SettleOrgId"] = orderSheet["SaleOrgId"]; + t["SettleOrgId_Id"] = orderSheet["SaleOrgId_Id"]; + t["AllAmount_LC"] = tempOne1["AllAmount_LC"]; + t["Amount_LC"] = tempOne1["Amount_LC"]; + t["TaxAmount_LC"] = tempOne1["TaxAmount_LC"]; + t["RemainOutQty"] = t["Qty"]; + kk++; + }); + var SaleOrderFinanceList = (orderSheet["SaleOrderFinance"] as DynamicObjectCollection).ToList(); + var SaleOrderFinanceList2 = (FEntity2["SaleOrderFinance"] as DynamicObjectCollection).ToList(); + kk = 0; + SaleOrderFinanceList.ForEach(t => + { + //t = SaleOrderFinanceList2[kk].Clone() as DynamicObject; + kk++; + var tempOne1 = SaleOrderFinanceList2.FirstOrDefault(); + t["ExchangeTypeId_Id"] = tempOne1["ExchangeTypeId_Id"]; + t["ExchangeTypeId"] = tempOne1["ExchangeTypeId"]; + t["SettleCurrId_Id"] = tempOne1["SettleCurrId_Id"]; + t["SettleCurrId"] = tempOne1["SettleCurrId"]; + t["BillAllAmount"]= tempOne1["BillAllAmount"]; + t["BillAllAmount_LC"] = tempOne1["BillAllAmount_LC"]; + + + }); + orderSheet["F_Amountstar"] = FEntity2["F_Amountstar"]; } - //Logger.Error("目标单据数据集合3", sdsas, new Exception()); + sdsas = JsonHelper.ToJson(destObjs); + Logger.Error("目标单据数据集合4", sdsas, new Exception()); IOperationResult saveResult2 = BusinessDataServiceHelper.Draft(this.Context, destFormMetadata.BusinessInfo, destObjs, OperateOption.Create()); //var ddd = (from p in destObjs select p[0]).ToArray(); diff --git a/组织间单据自动生成流程图.vsdx b/组织间单据自动生成流程图.vsdx index cc180c5..720a006 100644 Binary files a/组织间单据自动生成流程图.vsdx and b/组织间单据自动生成流程图.vsdx differ