107 lines
4.9 KiB
C#
107 lines
4.9 KiB
C#
using GZ_KD_Parino.SQL;
|
|
using Kingdee.BOS;
|
|
using Kingdee.BOS.App;
|
|
using Kingdee.BOS.Contracts;
|
|
using Kingdee.BOS.Core;
|
|
using Kingdee.BOS.Core.Bill;
|
|
using Kingdee.BOS.Core.DynamicForm;
|
|
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
|
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
|
|
using Kingdee.BOS.Core.Interaction;
|
|
using Kingdee.BOS.Core.Metadata;
|
|
using Kingdee.BOS.Core.Metadata.FieldElement;
|
|
using Kingdee.BOS.Core.Metadata.FormElement;
|
|
using Kingdee.BOS.Orm;
|
|
using Kingdee.BOS.Orm.DataEntity;
|
|
using Kingdee.BOS.ServiceHelper;
|
|
using Kingdee.BOS.Util;
|
|
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace GZ_KD_Parino.Sal_Order
|
|
{
|
|
[HotUpdate]
|
|
[Description("销售订单--提交创建PMS htbaseinfo 对象")]
|
|
public class OrderSubmitCreatePms : 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 Resultstring = "";
|
|
|
|
var key = SqlManage.SetDockingPLMLog(this.Context, "提交创建PMS htbaseinfo 对象", Convert.ToInt32(Billobj["Id"]));
|
|
try
|
|
{
|
|
if (Convert.ToString(SaleOrgId["Number"]) == "PL")
|
|
{
|
|
//获取单据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(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合同基本信息", "插件日志");
|
|
}
|
|
|
|
}
|
|
}
|
|
public override void OnPreparePropertys(PreparePropertysEventArgs e)
|
|
{
|
|
base.OnPreparePropertys(e);
|
|
//添加日期
|
|
e.FieldKeys.Add("FDate");
|
|
//添加日期
|
|
e.FieldKeys.Add("F_Ordercategory");
|
|
//销售组织
|
|
e.FieldKeys.Add("FSaleOrgId");
|
|
}
|
|
}
|
|
}
|