95 lines
4.7 KiB
C#
95 lines
4.7 KiB
C#
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商机阶段", "插件日志");
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|