From edfda0c2ac6e83a28b6e222a41178d0ab9ebae97 Mon Sep 17 00:00:00 2001 From: liqionghai <1> Date: Fri, 19 Sep 2025 17:05:27 +0800 Subject: [PATCH] 1 --- GZ_KD_Parino/GZ_KD_Parino.csproj | 3 + GZ_KD_Parino/SQL/SqlManage.cs | 13 + GZ_KD_Parino/Sal_Order/RePushInterface.cs | 427 ++++++++++++++++++++++ 3 files changed, 443 insertions(+) create mode 100644 GZ_KD_Parino/Sal_Order/RePushInterface.cs diff --git a/GZ_KD_Parino/GZ_KD_Parino.csproj b/GZ_KD_Parino/GZ_KD_Parino.csproj index 0ab0959..4242f38 100644 --- a/GZ_KD_Parino/GZ_KD_Parino.csproj +++ b/GZ_KD_Parino/GZ_KD_Parino.csproj @@ -46,6 +46,8 @@ False dll\Aspose.Cells.dll + + packages\DocumentFormat.OpenXml.3.1.1\lib\net40\DocumentFormat.OpenXml.dll @@ -242,6 +244,7 @@ + diff --git a/GZ_KD_Parino/SQL/SqlManage.cs b/GZ_KD_Parino/SQL/SqlManage.cs index ac3871f..3dd25ea 100644 --- a/GZ_KD_Parino/SQL/SqlManage.cs +++ b/GZ_KD_Parino/SQL/SqlManage.cs @@ -532,5 +532,18 @@ namespace GZ_KD_Parino.SQL var n = DBServiceHelper.Execute(ctx, sql.ToString(), param.ToList()); } + /// + /// 获取销保订单中的辅助资料代码 + /// + /// + public static DynamicObjectCollection GetSalOrderSub(Context ctx, string FID) + { + //定义SQL,调用物料视图 + string sql = string.Format(@"/*dialect*/ + SELECT * FROM v_SalOrderSub WHERE FId = '{0}' ", FID); + //执行SQL + return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection; + } + } } diff --git a/GZ_KD_Parino/Sal_Order/RePushInterface.cs b/GZ_KD_Parino/Sal_Order/RePushInterface.cs new file mode 100644 index 0000000..ef2a1fc --- /dev/null +++ b/GZ_KD_Parino/Sal_Order/RePushInterface.cs @@ -0,0 +1,427 @@ +using GZ_KD_Parino.SQL; +using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; +using Kingdee.BOS.Core.Report; +using Kingdee.BOS.Core.Report.PlugIn; +using Kingdee.BOS.Log; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; + +namespace GZ_KD_Parino.Sal_Order +{ + [Description("重推接口功能插件")] + public class RePushInterface : AbstractSysReportPlugIn + { + public override void BarItemClick(BarItemClickEventArgs e) + { + base.BarItemClick(e); + string text = e.BarItemKey.ToUpperInvariant(); + if (text != null) + { + if ((text == "TBNPUSHAGAIN"))//tbnPushAgain 结果查询 + { + SetRePushInterface(); + } + } + } + private void SetRePushInterface() + { + try + { + //SelectRows = this.View.SelectedDataRows; + var view = this.View as ISQLReportView; + if (view.SelectedDataRows != null && view.SelectedDataRows.Length > 0) + { + // 获取选中行数据 + DataRow[] selectedRows = view.SelectedDataRows; + // 遍历选中行 + foreach (DataRow row in selectedRows) + { + // 获取指定列的值 + //var sbillId = row["单据主键ID"]; + var sType = row["方法"]; + //状态 + var sStatus = row["状态"]; + + if (!sStatus.Equals("成功")) //失败就需要重新推送 + { + //销售订单--审核发送URL,改变商机PMS阶段 + if (sType.Equals("销售订单--审核发送URL,改变商机PMS阶段")) + { + GetPMSInterface(row); + } + //销售订单--提交创建PMS htbaseinfo 对象 + if (sType.Equals("提交创建PMS htbaseinfo 对象")) + { + GetHtbaseinfoInterface(row); + } + //销售订单--审核创建待分配项目 + if (sType.Equals("销售订单--审核创建待分配项目")) + { + GetCreateItemInterface(row); + } + //销售订单--审核创建文档云文件夹 + if (sType.Equals("销售订单--审核创建文档云文件夹")) + { + GetCreateFolderInterface(row); + } + //销售订单--审核创建BPM流程发起 + if (sType.Equals("销售订单--审核创建BPM流程发起")) + { + GetCreateBPMInterface(row); + } + } + } + } + } + catch (Exception ex) + { + Logger.Error("重载接口完成", "重载接口 error:" + ex.Message + ex.StackTrace, ex); + throw ex; + } + } + //销售订单--审核发送URL,改变商机PMS阶段 + private void GetPMSInterface(DataRow dyObject) + { + //var key = SqlManage.SetDockingPLMLog(this.Context, "销售订单--审核发送URL改变商机PMS阶段", Convert.ToInt32(dyObject["单据主键ID"])); + var key = Guid.Parse(Convert.ToString(dyObject["主键"])); + try + { + ////获取单据FID + //var SaleOrgId = dyObject["saleOrgId"] as DynamicObject; + //根据销售订单的FID,获取商机字段CRMID + var data = SQL.SqlManage.GetF_BOMCRMID(this.Context, Convert.ToString(dyObject["单据主键ID"])); + + string Token = ""; + if (data.Count > 0) + { + /*API名称 Opportunity + * 接口:update + * 修改字段:id 为销售订单上商机档案的商机id, + * jieduan= '5-商机赢单' , + * jdnew='5-商机赢单' + */ + var json = new + { + id = data[0]["F_CRMID"],//销售订单上,商机名称的CRMID字段 + jieduan = "5-商机赢单", + jdnew = "5-商机赢单" + }; + //调用PMS接口 + Token = Common.CommonHelper.PMSLogin(data, this.Context, JsonConvert.SerializeObject(json), "Opportunity", Convert.ToInt32(dyObject["单据主键ID"])); + if (Token != "") + { + //发送修改请求,更改PMS商机阶段 + var Resultstring = Common.CommonHelper.UpdateF_BOM(data, this.Context, JsonConvert.SerializeObject(json), "Opportunity", Token, Convert.ToInt32(dyObject["单据主键ID"])); + SQL.SqlManage.UpdateAuditF_VRYF_CheckBox_apv(this.Context, Convert.ToString(dyObject["单据主键ID"])); + } + } + //修改日志为成功 + SqlManage.UpdateDockingPLMLog(this.Context, key, "100", "", Token, Convert.ToString(dyObject["单据主键ID"]), "更改PMS商机阶段", "插件日志"); + //} + } + catch (Exception ex) + { + //修改日志为异常 + SqlManage.UpdateDockingPLMLog(this.Context, key, "4", ex.Message, "", Convert.ToString(dyObject["单据主键ID"]), "更改PMS商机阶段", "插件日志"); + } + } + //销售订单--提交创建PMS htbaseinfo 对象 + private void GetHtbaseinfoInterface(DataRow Billobj) + { + string Resultstring = ""; + var key = Guid.Parse(Convert.ToString(Billobj["主键"])); + //var key = SqlManage.SetDockingPLMLog(this.Context, "提交创建PMS htbaseinfo对象", Convert.ToInt32(Billobj["单据主键ID"])); + try + { + if (Convert.ToInt64(Billobj["销售组织"]) == 100302)//100302 + { + //获取销售订单数据 + var data = SqlManage.GetSaleOrderData3(this.Context, Convert.ToString(Billobj["单据主键ID"])); + if (data.Count > 0) + { + var Json = new + { + name = data[0]["纸质合同号"],// 销售订单纸质合同号 + khmc = data[0]["客户名称"],// 销售订单客户名称 + ddbh = data[0]["单据编号"],//销售订单单据编号 + xmmc = data[0]["工程项目名称"],// 销售订单工程项目名称 + ywy = data[0]["业务员"], //销售订单销售业务员名称 + sj = data[0]["商机"],//销售订单商机FID + htje = data[0]["金额"],//销售订单财务明细的价税合计(本位币) + sjid = data[0]["商机ID"],//销售订单上商机的值 + zzbm = data[0]["组织编码"] //销售订单销售组织的组织编码 + }; + //调用PMS接口 + var Token = Common.CommonHelper.PMSLogin(data, this.Context, JsonConvert.SerializeObject(Json), "htbaseinfo", Convert.ToInt32(Billobj["单据主键ID"])); + if (Token != "") + { + Resultstring = Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "htbaseinfo", Token, Convert.ToInt32(Billobj["单据主键ID"])); + //预防二次提交 + SqlManage.UpdateSubmitF_VRYF_CheckBox_re5(this.Context, Convert.ToString(Billobj["单据主键ID"])); + } + } + } + //修改日志为成功 + SqlManage.UpdateDockingPLMLog(this.Context, key, "100", "", Resultstring, Convert.ToString(Billobj["单据主键ID"]), "PMS合同基本信息", "插件日志"); + } + catch (Exception ex) + { + //修改日志为异常 + SqlManage.UpdateDockingPLMLog(this.Context, key, "4", ex.Message, "", Convert.ToString(Billobj["单据主键ID"]), "PMS合同基本信息", "插件日志"); + } + //} + } + //销售订单--审核创建待分配项目 + private void GetCreateItemInterface(DataRow Billobj) + { + var key = Guid.Parse(Convert.ToString(Billobj["主键"])); + //var key = SqlManage.SetDockingPLMLog(this.Context, "销售订单--审核创建待分配项目", Convert.ToInt32(Billobj["单据主键ID"])); + try + { + //if (Convert.ToString(SaleOrgId["Number"]) == "PL") + if (Convert.ToInt64(Billobj["销售组织"]) == 100302)//100302 + { + //var key = SqlManage.SetDockingPLMLog(this.Context, "销售订单--审核创建待分配项目", Convert.ToInt32(Billobj["Id"])); + List FOrdercategoryList = new List() { "SX", "CS", "W", "CW", "CY" }; + string sOrdercategory = "";//获取订单类型编码 + var dt = SqlManage.GetSalOrderSub(this.Context, Convert.ToString(Billobj["单据主键ID"])); + if (dt.Count > 0) + { + foreach (var item in dt) + { + //获取订单类型编码 + sOrdercategory = Convert.ToString(item["FNumber"]); + } + } + ////获取单据FID + //var Billno = Convert.ToString(Billobj["Billno"]); + ////获取日期 + //var FDate = Convert.ToDateTime(Billobj["Date"]); + ////FID + //var FID = Convert.ToString(Billobj["id"]); + //获取订单类型编码 + //DynamicObject F_Ordercategory = Billobj["F_Ordercategory"] as DynamicObject; + //获取销售订单数据 + var data = SqlManage.GetSaleOrderData3_LTH(this.Context, Convert.ToString(Billobj["单据主键ID"])); + string Token = ""; + if (data.Count > 0) + { + var Json = new + { + sj = data[0]["商机ID"],// 销售订单商机对应到基础档案的crm商机ID 值 + bumen = data[0]["部门名称"],// 销售订单销售部门名称 + sjname = data[0]["工程项目名称"],//销售订单工程项目名称 + xsrymc = data[0]["业务员"],//销售订单 业务员名称 + htcjrzh = data[0]["Bpm账号"],//商务人员bpm账号 + yflxr = data[0]["业务员"],//销售订单 业务员名称 + htmc = data[0]["工程项目名称"],//销售订单工程项目名称 + khmcname = data[0]["客户名称"],//销售订单客户名称 + htbh = data[0]["纸质合同号"],//纸质合同号 + htcjsj = data[0]["日期"],//销售订单业务日期 + htje = data[0]["价税合计"],//销售订单价税合计 + xmzlcfdz = data[0]["项目盒子路径值"],//销售订单项目盒子路径值 + //xmzlcfdz = "",//销售订单项目盒子路径值 + sfjc = data[0]["是否集采项目"]//是否集采项目 + }; + try + { + Token = Common.CommonHelper.PMSLogin(data, this.Context, JsonConvert.SerializeObject(Json), "xmfpb", Convert.ToInt32(Billobj["单据主键ID"])); + var Resultstring = Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "xmfpb", Token, Convert.ToInt32(Billobj["单据主键ID"])); + var Result = (JObject)JsonConvert.DeserializeObject(Resultstring);//获取binding + if (Convert.ToString(Result["returnCode"]) == "-2") + { + Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "xmfpb", Token, Convert.ToInt32(Billobj["单据主键ID"])); + //预防二次提交 + SqlManage.UpdateSubmitF_XMYSB(this.Context, Convert.ToString(Billobj["单据主键ID"])); + } + } + catch (Exception ex) + { + Logger.Error("报错", ex.Message, ex); + } + } + if (FOrdercategoryList.Contains(sOrdercategory)) + { + if (data.Count > 0) + { + var Json = new + { + sfdr = data[0]["是否导入"],// 是否导入 + htqdrq = data[0]["日期"],// 销售订单业务日期 + htbh = data[0]["纸质合同号"],//销售订单纸质合同号 + xmmc = data[0]["工程项目名称"],// 销售订单工程项目名称 + htje = data[0]["价税合计"],// 销售订单价税合计 + htjf = data[0]["业务员"],// 销售订单客户名称 + name = data[0]["客户名称"],//销售订单工程项目名称 + htlxr = data[0]["利润率"],// 销售订单利润率 + createbyid = data[0]["createbyid"],//"005201301273691NMUvx" 固定值 + ownerid = data[0]["ownerid"],//"005201301273691NMUvx" 固定值 + }; + try + { + Token = Common.CommonHelper.PMSLogin(data, this.Context, JsonConvert.SerializeObject(Json), "otherItem", Convert.ToInt32(Billobj["单据主键ID"])); + var Resultstring = Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "otherItem", Token, Convert.ToInt32(Billobj["单据主键ID"])); + var Result = (JObject)JsonConvert.DeserializeObject(Resultstring);//获取binding + if (Convert.ToString(Result["returnCode"]) == "-2") + { + Common.CommonHelper.PushPMSItem(data, this.Context, JsonConvert.SerializeObject(Json), "otherItem", Token, Convert.ToInt32(Billobj["单据主键ID"])); + } + } + catch (Exception ex) + { + Logger.Error("报错", ex.Message, ex); + } + } + } + } + //修改日志为成功 + SqlManage.UpdateDockingPLMLog(this.Context, key, "100", "", "", Convert.ToString(Billobj["单据主键ID"]), "PMS项目分配表,PMS系统项目资料检索表", "插件日志"); + } + catch (Exception ex) + { + //修改日志为异常 + SqlManage.UpdateDockingPLMLog(this.Context, key, "4", ex.Message, "", Convert.ToString(Billobj["单据主键ID"]), "PMS项目分配表,PMS系统项目资料检索表", "插件日志"); + } + } + //销售订单--审核创建文档云文件夹 + private void GetCreateFolderInterface(DataRow Billobj) + { + var FOrderTypeList = new List() { "CS", "CW", "CY", "W", "S", "SX", "ES" }; + string sOrdercategory = "";//获取订单类型编码 + var key = Guid.Parse(Convert.ToString(Billobj["主键"])); + //var key = SqlManage.SetDockingPLMLog(this.Context, "审核创建文档云文件夹", Convert.ToInt32(Billobj["单据主键ID"])); + try + { + //if (Convert.ToString(SaleOrgId["Number"]) == "PL") + if (Convert.ToInt64(Billobj["销售组织"]) == 100302)//100302 + { + var dt = SqlManage.GetSalOrderSub(this.Context, Convert.ToString(Billobj["单据主键ID"])); + if (dt.Count > 0) + { + foreach (var item in dt) + { + //获取订单类型编码 + sOrdercategory = Convert.ToString(item["FNumber"]); + } + } + if (FOrderTypeList.Contains(sOrdercategory)) + { + //获取单据FID + var Billno = Convert.ToString(Billobj["Billno"]); + //获取日期 + var FDate = Convert.ToDateTime(Billobj["Date"]); + //FID + var FID = Convert.ToString(Billobj["id"]); + //文件名 + string FolderName = "AAA"; + //获取FolderName + FolderName = SQL.SqlManage.GetFolderName(this.Context, FID); + var Token = Common.CommonHelper.UserLogin(this.Context, string.Format(@"D:\Api日志\{3}\创建文件夹\{0}\{1}\获取Token\{2}.txt", + Billno, FolderName, DateTime.Now.ToString("yyyyMMddHHmmss"), this.Context.DataCenterName), Convert.ToInt32(Billobj["单据主键ID"])); + if (Token != "") + { + //获取文件夹 + var FolderId = Common.CommonHelper.GetFolderInfoByNamePath(Token, string.Format(@"1\珠海派诺科技股份有限公司\001-派诺科技项目资料\{0}年项目\", FDate.Year), + string.Format(@"D:\Api日志\{3}\创建文件夹\{0}\{1}\获取文件夹Id\{2}.txt", + Billno, FolderName, DateTime.Now.ToString("yyyyMMddHHmmssfff"), this.Context.DataCenterName), this.Context, Convert.ToInt32(Billobj["单据主键ID"])); + //父项文件夹不存在 + if (FolderId == "") + { + //获取文件夹 + FolderId = Common.CommonHelper.GetFolderInfoByNamePath(Token, string.Format(@"1\珠海派诺科技股份有限公司\001-派诺科技项目资料\"), + string.Format(@"D:\Api日志\{3}\创建文件夹\{0}\{1}\获取文件夹Id\{2}.txt", + Billno, FolderName, DateTime.Now.ToString("yyyyMMddHHmmssfff"), this.Context.DataCenterName), this.Context, Convert.ToInt32(Billobj["单据主键ID"])); + //创建父项文件夹 + FolderId = Common.CommonHelper.CreateFolder(Token, FolderId, string.Format("{0}年项目", FDate.Year), string.Format(@"D:\Api日志\{3}\创建文件夹\{0}\{1}\创建文件夹\{2}.txt", + Billno, FolderName, DateTime.Now.ToString("yyyyMMddHHmmssfff"), this.Context.DataCenterName), this.Context, Convert.ToInt32(Billobj["单据主键ID"])); + } + // string FolderId2 = ""; + // //获取文件夹 + // FolderId2 = Common.CommonHelper.GetFolderInfoByNamePath(Token, string.Format(@"1\珠海派诺科技股份有限公司\001-派诺科技项目资料\{0}年项目\{1}\", FDate.Year, FolderName), + // string.Format(@"D:\Api日志\{3}\创建文件夹\{0}\{1}\获取文件夹Id\{2}.txt", + //Billno, FolderName, DateTime.Now.ToString("yyyyMMddHHmmssfff"), this.Context.DataCenterName), this.Context); + //创建文件夹 + string FolderId2 = Common.CommonHelper.CreateFolder(Token, FolderId, FolderName, string.Format(@"D:\Api日志\{3}\创建文件夹\{0}\{1}\创建文件夹\{2}.txt", + Billno, FolderName, DateTime.Now.ToString("yyyyMMddHHmmssfff"), this.Context.DataCenterName), this.Context, Convert.ToInt32(Billobj["单据主键ID"])); + + //声明明细文件夹字段 + Dictionary> DIC = new Dictionary>(); + DIC.Add("A-商机至合同阶段", new List { "A01-合同扫描件", "A02-技术方案资料", "A04-中标相关资料", "A05-其他资料" }); + DIC.Add("B-实施准备阶段", new List { "B01-项目需求分析", "B02-项目启动会议", "B03-施工组织计划", "B04-供货采购计划", "B05-成本管理计划", "B06-项目管理计划", "B07-施工方案", "B08-施工分包管理", "B09-施工布线指导", "B10-其他文件" }); + DIC.Add("C-实施执行阶段", new List { "C01-网络拓扑图", "C02-设计院成套厂图纸", "C03-机柜原理及结构图", "C04-深化施工平面图", "C05-项目设备点表", "C06-采集器配置备份", "C07-系统及数据库备份", "C08-第三方产品资料库", "C09-工程签证单", "C10-分项工程报验单", "C11-工程联络单", "C12-分包成本管理", "C13-整套竣工图纸", "C14-产品定制单", "C15-前最终施工图纸全套", "C16-报价工程量清单", "C17-项目交接单", "C18-注册码", "C19-机柜出厂测试报告", "C20-系统调试方案", "C21-项目日志", "C22-其他文件" }); + DIC.Add("D-验收交付阶段", new List { "D01-验收报告扫描件", "D02-设备调试记录报告", "D03-发货单(签字回单)", "D04-试运行或真实运行报告", "D05-审计结算资料", "D06-项目总结报告", "D07-遗留问题清单", "D08-说明书或操作手册", "D09-现场照片或界面截图", "D10-移交甲方的资料", "D11-其他文件" }); + DIC.Add("E-验收后运维阶段", new List { "E01-用户证明和客户评价文件", "E02-巡检报告", "E03-售后满意度调查表", "E04-现场更新资料备份", "E05-其他文件" }); + if (FolderId2 != "") + { + //创建明细文件夹 + foreach (var item in DIC) + { + //创建文件夹 + string FolderId3 = Common.CommonHelper.CreateFolder(Token, FolderId2, item.Key, string.Format(@"D:\Api日志\{3}\创建文件夹\{0}\{1}\创建文件夹\{2}.txt", + Billno, FolderName, DateTime.Now.ToString("yyyyMMddHHmmssfff"), this.Context.DataCenterName), this.Context, Convert.ToInt32(Billobj["单据主键ID"])); + foreach (var item2 in item.Value) + { + //创建文件夹 + Common.CommonHelper.CreateFolder(Token, FolderId3, item2, string.Format(@"D:\Api日志\{3}\创建文件夹\{0}\{1}\创建文件夹\{2}.txt", + Billno, FolderName, DateTime.Now.ToString("yyyyMMddHHmmssfff"), this.Context.DataCenterName), this.Context, Convert.ToInt32(Billobj["单据主键ID"])); + } + } + //更新销售订单 + SqlManage.UpdateSaleOrderisdoccreate(this.Context, FID, string.Format(@"http://doc.pmac.com.cn/index.html#doc/enterprise/{0}", FolderId2)); + } + } + } + } + //修改日志为成功 + SqlManage.UpdateDockingPLMLog(this.Context, key, "100", "", "", Convert.ToString(Billobj["单据主键ID"]), "文档云产生项目盒子", "插件日志"); + } + catch (Exception ex) + { + //修改日志为异常 + SqlManage.UpdateDockingPLMLog(this.Context, key, "4", ex.Message, "", Convert.ToString(Billobj["单据主键ID"]), "文档云产生项目盒子", "插件日志"); + } + } + //销售订单--审核创建BPM流程发起 + private void GetCreateBPMInterface(DataRow Billobj) + { + //if (Convert.ToString(SaleOrgId["Number"]) == "PL" || Convert.ToString(SaleOrgId["Number"]) == "WH") + if (Convert.ToInt64(Billobj["销售组织"]) == 100302 || Convert.ToInt64(Billobj["销售组织"]) == 100305) + { + var key = Guid.Parse(Convert.ToString(Billobj["主键"])); + //var key = SqlManage.SetDockingPLMLog(this.Context, "审核创建BPM流程发起", Convert.ToInt32(Billobj["单据主键ID"])); + try + { + //获取销售订单数据 + var Result = SqlManage.GetSaleOrderData(this.Context, Convert.ToString(Billobj["单据主键ID"])); + string sn = ""; + if (Result.Count > 0) + { + //调用接口,获取SN数据 + sn = Common.CommonHelper.CreateDocument(Result, this.Context, Convert.ToInt32(Billobj["单据主键ID"])); + } + //获取销售订单数据,是否预置 + var Result2 = SqlManage.GetSaleOrderData2(this.Context, Convert.ToString(Billobj["单据主键ID"])); + if (Result2.Count > 0) + { + //调用接口,获取SN数据 + sn = Common.CommonHelper.CreateDocument2(Result2, this.Context, Convert.ToInt32(Billobj["单据主键ID"])); + } + //更新销售订单的SN数据 + SqlManage.UpdateBMPSN(this.Context, Convert.ToString(Billobj["单据主键ID"]), sn); + + //修改日志为成功 + SqlManage.UpdateDockingPLMLog(this.Context, key, "100", "", sn, Convert.ToString(Billobj["单据主键ID"]), "产品生产出货预置单,BPM产品定制再次出货确认单", "插件日志"); + } + catch (Exception ex) + { + //修改日志为异常 + SqlManage.UpdateDockingPLMLog(this.Context, key, "4", ex.Message, "", Convert.ToString(Billobj["单据主键ID"]), "产品生产出货预置单,BPM产品定制再次出货确认单", "插件日志"); + } + } + } + } +}