2025-10-13 11:31:17 +08:00

95 lines
4.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using GZ_KD_Parino.SQL;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace GZ_KD_Parino.Sal_Order
{
[Description("服务插件:销售订单--审核发送URL改变商机PMS阶段"), HotUpdate]
public class AuditF_BOM : AbstractOperationServicePlugIn
{
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{
base.AfterExecuteOperationTransaction(e);
foreach (var rows in e.SelectedRows)
{
var Billobj = rows.DataEntity;
//获取单据FID
var SaleOrgId = Billobj["saleOrgId"] as DynamicObject;
//获取纸质合同号#
string F_contractnumber = Convert.ToString(Billobj["F_contractnumber"]); //DocumentStatus
string DocumentStatus = Convert.ToString(Billobj["DocumentStatus"]);
if (DocumentStatus != "C")
return;
if (F_contractnumber.IndexOf("CYJS") >= 0)
{
var key2= SqlManage.SetDockingPLMLog(this.Context, "销售订单--审核发送URL改变商机PMS阶段", Convert.ToInt32(Billobj["Id"]), "GZ_KD_Parino.Sal_Order.AuditF_BOM");
//修改日志为成功
SqlManage.UpdateDockingPLMLog(this.Context, key2, "100", "", "因合同号包含CYJS判断为样机,不进行对接", Convert.ToString(Billobj["Id"]), "更改PMS商机阶段", "插件日志");
return;
}
//根据销售订单的FID获取商机字段CRMID
var data = SQL.SqlManage.GetF_BOMCRMID(this.Context, Convert.ToString(Billobj["Id"]));
string Token = "";
var key = SqlManage.SetDockingPLMLog(this.Context, "销售订单--审核发送URL改变商机PMS阶段", Convert.ToInt32(Billobj["Id"]), "GZ_KD_Parino.Sal_Order.AuditF_BOM");
try
{
string Resultstring = "";
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(Billobj["Id"]));
if (Token != "")
{
//发送修改请求更改PMS商机阶段
Resultstring = Common.CommonHelper.UpdateF_BOM(data, this.Context, JsonConvert.SerializeObject(json), "Opportunity", Token, Convert.ToInt32(Billobj["Id"]));
SQL.SqlManage.UpdateAuditF_VRYF_CheckBox_apv(this.Context, Convert.ToString(Billobj["Id"]));
//修改日志为成功
SqlManage.UpdateDockingPLMLog(this.Context, key, "100", "", Resultstring, Convert.ToString(Billobj["Id"]), "更改PMS商机阶段", "插件日志");
}
else
{
//修改日志为成功
SqlManage.UpdateDockingPLMLog(this.Context, key, "4", "", Token, Convert.ToString(Billobj["Id"]), "更改PMS商机阶段", "插件日志");
}
}
else
{
//修改日志为成功
SqlManage.UpdateDockingPLMLog(this.Context, key, "4", "", "销售订单数据找不到", Convert.ToString(Billobj["Id"]), "更改PMS商机阶段", "插件日志");
}
}
catch (Exception ex)
{
//修改日志为异常
SqlManage.UpdateDockingPLMLog(this.Context, key, "4", ex.Message, "", Convert.ToString(Billobj["Id"]), "更改PMS商机阶段", "插件日志");
}
}
}
}
}